mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 20:59:26 +00:00
Compare commits
33 Commits
revision/d
...
pull/582-t
Author | SHA1 | Date | |
---|---|---|---|
5e6adf89b9 | |||
bf9dbfd5b9 | |||
ff0dfa424d | |||
fedad8e9cf | |||
478653fab2 | |||
10cf701864 | |||
7722dd4400 | |||
240eecaddf | |||
415e4bff3d | |||
e5a0e33f1c | |||
8189577772 | |||
c74cf4b5e0 | |||
72782528aa | |||
02717cb4c1 | |||
bccfca8c10 | |||
b8bb51d7b5 | |||
00e12b7a98 | |||
232313e2a0 | |||
e48dac79f3 | |||
dbeb6d4e1a | |||
af003d83c5 | |||
839f4a7b83 | |||
c091f71283 | |||
e1974ad58d | |||
391bc405d0 | |||
80ded5e33d | |||
fa6723a5ee | |||
57b283facd | |||
aefdce3fc3 | |||
e4e4f89c9f | |||
817dd3aa3a | |||
347928193f | |||
da1a837cd4 |
@ -9,8 +9,7 @@ Installation
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
Prezto will work with any recent release of Zsh, but the minimum recommended
|
Prezto will work with any recent release of Zsh, but the minimum recommended
|
||||||
version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to
|
version is 4.3.11.
|
||||||
non-standard core utilities.
|
|
||||||
|
|
||||||
1. Launch Zsh:
|
1. Launch Zsh:
|
||||||
|
|
||||||
@ -37,7 +36,7 @@ non-standard core utilities.
|
|||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
If you are not able to find certain commands after switching to *Prezto*,
|
If you are not able to find certain commands after switching to *Prezto*,
|
||||||
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
|
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
|
||||||
window or tab.
|
window or tab.
|
||||||
|
|
||||||
Updating
|
Updating
|
||||||
@ -86,7 +85,8 @@ License
|
|||||||
|
|
||||||
(The MIT License)
|
(The MIT License)
|
||||||
|
|
||||||
Copyright (c) 2009-2014 Sorin Ionescu and contributors.
|
Copyright (c) 2009-2011 Robby Russell and contributors.
|
||||||
|
Copyright (c) 2011-2014 Sorin Ionescu and contributors.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
@ -114,5 +114,4 @@ SOFTWARE.
|
|||||||
[6]: http://gitref.org
|
[6]: http://gitref.org
|
||||||
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
|
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
|
||||||
[8]: http://grml.org/zsh/zsh-lovers.html
|
[8]: http://grml.org/zsh/zsh-lovers.html
|
||||||
[9]: http://www.cygwin.com
|
|
||||||
|
|
||||||
|
2
init.zsh
2
init.zsh
@ -25,7 +25,7 @@ unset min_zsh_version
|
|||||||
function pmodload {
|
function pmodload {
|
||||||
local -a pmodules
|
local -a pmodules
|
||||||
local pmodule
|
local pmodule
|
||||||
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(.N:t)'
|
local pfunction_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)'
|
||||||
|
|
||||||
# $argv is overridden in the anonymous function.
|
# $argv is overridden in the anonymous function.
|
||||||
pmodules=("$argv[@]")
|
pmodules=("$argv[@]")
|
||||||
|
@ -73,7 +73,7 @@ while (( $# > 0 )); do
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
(( success = $success > 0 ? $success : $? ))
|
(( success = $success > 0 ? $success : $? ))
|
||||||
(( $success == 0 && $remove_archive == 0 )) && rm "$1"
|
(( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -123,10 +123,8 @@ zstyle ':completion:*:*:kill:*' force-list always
|
|||||||
zstyle ':completion:*:*:kill:*' insert-ids single
|
zstyle ':completion:*:*:kill:*' insert-ids single
|
||||||
|
|
||||||
# Man
|
# Man
|
||||||
# zstyle ':completion:*:manuals' separate-sections true
|
zstyle ':completion:*:manuals' separate-sections true
|
||||||
# zstyle ':completion:*:manuals.(^1*)' insert-sections true
|
zstyle ':completion:*:manuals.(^1*)' insert-sections true
|
||||||
zstyle ':completion:*:manuals.*' insert-sections true
|
|
||||||
zstyle ':completion:*:man:*' menu yes select
|
|
||||||
|
|
||||||
# Media Players
|
# Media Players
|
||||||
zstyle ':completion:*:*:mpg123:*' file-patterns '*.(mp3|MP3):mp3\ files *(-/):directories'
|
zstyle ':completion:*:*:mpg123:*' file-patterns '*.(mp3|MP3):mp3\ files *(-/):directories'
|
||||||
|
@ -107,31 +107,40 @@ function editor-info {
|
|||||||
}
|
}
|
||||||
zle -N editor-info
|
zle -N editor-info
|
||||||
|
|
||||||
# Ensures that $terminfo values are valid and updates editor information when
|
# Updates editor information when the keymap changes.
|
||||||
# the keymap changes.
|
function zle-keymap-select {
|
||||||
function zle-keymap-select zle-line-init zle-line-finish {
|
zle editor-info
|
||||||
|
}
|
||||||
|
zle -N zle-keymap-select
|
||||||
|
|
||||||
|
# Enables terminal application mode and updates editor information.
|
||||||
|
function zle-line-init {
|
||||||
# The terminal must be in application mode when ZLE is active for $terminfo
|
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||||
# values to be valid.
|
# values to be valid.
|
||||||
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
|
if (( $+terminfo[smkx] )); then
|
||||||
case "$0" in
|
# Enable terminal application mode.
|
||||||
(zle-line-init)
|
echoti smkx
|
||||||
# Enable terminal application mode.
|
|
||||||
echoti smkx
|
|
||||||
;;
|
|
||||||
(zle-line-finish)
|
|
||||||
# Disable terminal application mode.
|
|
||||||
echoti rmkx
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Update editor information.
|
# Update editor information.
|
||||||
zle editor-info
|
zle editor-info
|
||||||
}
|
}
|
||||||
zle -N zle-keymap-select
|
|
||||||
zle -N zle-line-finish
|
|
||||||
zle -N zle-line-init
|
zle -N zle-line-init
|
||||||
|
|
||||||
|
# Disables terminal application mode and updates editor information.
|
||||||
|
function zle-line-finish {
|
||||||
|
# The terminal must be in application mode when ZLE is active for $terminfo
|
||||||
|
# values to be valid.
|
||||||
|
if (( $+terminfo[rmkx] )); then
|
||||||
|
# Disable terminal application mode.
|
||||||
|
echoti rmkx
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update editor information.
|
||||||
|
zle editor-info
|
||||||
|
}
|
||||||
|
zle -N zle-line-finish
|
||||||
|
|
||||||
# Toggles emacs overwrite mode and updates editor information.
|
# Toggles emacs overwrite mode and updates editor information.
|
||||||
function overwrite-mode {
|
function overwrite-mode {
|
||||||
zle .overwrite-mode
|
zle .overwrite-mode
|
||||||
|
@ -348,13 +348,13 @@ function git-info {
|
|||||||
# Format added.
|
# Format added.
|
||||||
if (( added > 0 )); then
|
if (( added > 0 )); then
|
||||||
zstyle -s ':prezto:module:git:info:added' format 'added_format'
|
zstyle -s ':prezto:module:git:info:added' format 'added_format'
|
||||||
zformat -f added_formatted "$added_format" "a:$added_format"
|
zformat -f added_formatted "$added_format" "a:$added"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format deleted.
|
# Format deleted.
|
||||||
if (( deleted > 0 )); then
|
if (( deleted > 0 )); then
|
||||||
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
|
zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
|
||||||
zformat -f deleted_formatted "$deleted_format" "d:$deleted_format"
|
zformat -f deleted_formatted "$deleted_format" "d:$deleted"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format modified.
|
# Format modified.
|
||||||
|
@ -12,7 +12,7 @@ fi
|
|||||||
|
|
||||||
# Set the default paths to gpg-agent files.
|
# Set the default paths to gpg-agent files.
|
||||||
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
|
_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf"
|
||||||
_gpg_agent_env="$TMPDIR/gpg-agent.env"
|
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
|
||||||
|
|
||||||
# Start gpg-agent if not started.
|
# Start gpg-agent if not started.
|
||||||
if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then
|
if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then
|
||||||
|
@ -12,7 +12,7 @@ function is-autoloadable {
|
|||||||
|
|
||||||
# Checks if a name is a command, function, or alias.
|
# Checks if a name is a command, function, or alias.
|
||||||
function is-callable {
|
function is-callable {
|
||||||
(( $+commands[$1] || $+functions[$1] || $+aliases[$1] ))
|
(( $+commands[$1] )) || (( $+functions[$1] )) || (( $+aliases[$1] ))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Checks a boolean variable for "true".
|
# Checks a boolean variable for "true".
|
||||||
|
@ -22,3 +22,4 @@ alias brews='brew search'
|
|||||||
alias brewu='brew upgrade'
|
alias brewu='brew upgrade'
|
||||||
alias brewU='brew update && brew upgrade'
|
alias brewU='brew update && brew upgrade'
|
||||||
alias brewx='brew remove'
|
alias brewx='brew remove'
|
||||||
|
|
||||||
|
@ -9,17 +9,20 @@ Aliases
|
|||||||
- `cdf` changes the current working director to the current _Finder_
|
- `cdf` changes the current working director to the current _Finder_
|
||||||
directory.
|
directory.
|
||||||
- `pushdf` pushes the current working directory onto the directory queue and
|
- `pushdf` pushes the current working directory onto the directory queue and
|
||||||
- `ql` quick looks at files.
|
changes the current working director to the current _Finder_ directory.
|
||||||
- `rm-osx-cruft` deletes .DS\_Store, \_\_MACOSX cruft.
|
|
||||||
|
|
||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
- `manb` opens _man_ pages in [_Bwana.app_][2].
|
- `mand` opens _man_ pages in [_Dash.app_][2].
|
||||||
- `manp` opens _man_ pages in _Preview.app_.
|
- `manp` opens _man_ pages in _Preview.app_.
|
||||||
- `pfd` prints the current _Finder_ directory.
|
- `pfd` prints the current _Finder_ directory.
|
||||||
- `pfs` prints the current _Finder_ selection.
|
- `pfs` prints the current _Finder_ selection.
|
||||||
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
|
- `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
|
||||||
|
- `ql` previews files in Quick Look.
|
||||||
|
- `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
|
||||||
|
- `osx-ls-download-history` displays the Mac OS X download history.
|
||||||
|
- `osx-rm-download-history` deletes the Mac OS X download history.
|
||||||
|
|
||||||
Authors
|
Authors
|
||||||
-------
|
-------
|
||||||
@ -29,7 +32,6 @@ Authors
|
|||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
|
|
||||||
[1]: http://www.apple.com/macosx/
|
[1]: http://www.apple.com/macosx/
|
||||||
[2]: http://bruji.com/bwana/
|
[2]: http://kapeli.com/dash
|
||||||
[3]: http://www.iterm2.com/
|
[3]: http://www.iterm2.com/
|
||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
|
[4]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#compdef manb manp
|
#compdef mand manp
|
||||||
#autoload
|
#autoload
|
||||||
|
|
||||||
#
|
#
|
||||||
# Completes manb and manp.
|
# Completes mand and manp.
|
||||||
#
|
#
|
||||||
# Authors:
|
# Authors:
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
@ -1,24 +0,0 @@
|
|||||||
#
|
|
||||||
# Opens man pages in Bwana.app.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
function manb {
|
|
||||||
local page
|
|
||||||
if (( $# > 0 )); then
|
|
||||||
for page in "$@"; do
|
|
||||||
open "man:$page" 2>/dev/null
|
|
||||||
if (( $? != 0 )); then
|
|
||||||
print "$0: Bwana is not installed" >&2
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
print 'What manual page do you want?' >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
manb "$@"
|
|
||||||
|
|
21
modules/osx/functions/mand
Normal file
21
modules/osx/functions/mand
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#
|
||||||
|
# Opens man pages in Dash.app.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
function mand {
|
||||||
|
if (( $# > 0 )); then
|
||||||
|
open "dash://manpages:$1" 2>/dev/null
|
||||||
|
if (( $? != 0 )); then
|
||||||
|
print "$0: Dash is not installed" >&2
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print 'What manual page do you want?' >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mand "$@"
|
||||||
|
|
13
modules/osx/functions/osx-ls-download-history
Normal file
13
modules/osx/functions/osx-ls-download-history
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# Displays the Mac OS X download history.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
local db
|
||||||
|
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||||
|
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||||
|
sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
|
||||||
|
fi
|
||||||
|
done
|
11
modules/osx/functions/osx-rm-dir-metadata
Normal file
11
modules/osx/functions/osx-rm-dir-metadata
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#
|
||||||
|
# Deletes .DS_Store and __MACOSX directories.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
find "${@:-$PWD}" \( \
|
||||||
|
-type f -name '.DS_Store' -o \
|
||||||
|
-type d -name '__MACOSX' \
|
||||||
|
\) -print0 | xargs -0 rm -rf
|
13
modules/osx/functions/osx-rm-download-history
Normal file
13
modules/osx/functions/osx-rm-download-history
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# Deletes the Mac OS X download history.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
local db
|
||||||
|
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||||
|
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||||
|
sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
|
||||||
|
fi
|
||||||
|
done
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
osascript 2>/dev/null <<EOF
|
osascript 2>/dev/null <<EOF
|
||||||
tell application "Finder"
|
tell application "Finder"
|
||||||
return POSIX path of (target of window 1 as alias)
|
return POSIX path of (target of first window as text)
|
||||||
end tell
|
end tell
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -5,14 +5,11 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
osascript 2>/dev/null <<EOF
|
osascript 2>&1 <<EOF
|
||||||
set output to ""
|
|
||||||
tell application "Finder" to set the_selection to selection
|
tell application "Finder" to set the_selection to selection
|
||||||
set item_count to count the_selection
|
if the_selection is not {}
|
||||||
repeat with item_index from 1 to count the_selection
|
repeat with an_item in the_selection
|
||||||
if item_index is less than item_count then set the_delimiter to "\n"
|
log POSIX path of (an_item as text)
|
||||||
if item_index is item_count then set the_delimiter to ""
|
end repeat
|
||||||
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
|
end if
|
||||||
end repeat
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
10
modules/osx/functions/ql
Normal file
10
modules/osx/functions/ql
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#
|
||||||
|
# Previews files in Quick Look.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
if (( $# > 0 )); then
|
||||||
|
qlmanage -p "$@" &> /dev/null
|
||||||
|
fi
|
@ -14,26 +14,8 @@ fi
|
|||||||
# Aliases
|
# Aliases
|
||||||
#
|
#
|
||||||
|
|
||||||
# Change directory to the current Finder directory.
|
# Changes directory to the current Finder directory.
|
||||||
alias cdf='cd "$(pfd)"'
|
alias cdf='cd "$(pfd)"'
|
||||||
|
|
||||||
# Push directory to the current Finder directory.
|
# Pushes directory to the current Finder directory.
|
||||||
alias pushdf='pushd "$(pfd)"'
|
alias pushdf='pushd "$(pfd)"'
|
||||||
|
|
||||||
#
|
|
||||||
# Functions
|
|
||||||
#
|
|
||||||
|
|
||||||
# Open files in Quick Look.
|
|
||||||
function ql {
|
|
||||||
(( $# > 0 )) && qlmanage -p "$@" &> /dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
# Delete .DS_Store and __MACOSX directories.
|
|
||||||
function rm-osx-cruft {
|
|
||||||
find "${@:-$PWD}" \( \
|
|
||||||
-type f -name '.DS_Store' -o \
|
|
||||||
-type d -name '__MACOSX' \
|
|
||||||
\) -print0 | xargs -0 rm -rf
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
local tmp="$TMPDIR/pacman-disowned-$UID-$$"
|
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
|
||||||
local db="$tmp/db"
|
local db="$tmp/db"
|
||||||
local fs="$tmp/fs"
|
local fs="$tmp/fs"
|
||||||
|
|
||||||
|
@ -27,6 +27,9 @@ if (( $+commands[$_pacman_frontend] )); then
|
|||||||
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
if [[ -s "${0:h}/${_pacman_frontend}.zsh" ]]; then
|
||||||
source "${0:h}/${_pacman_frontend}.zsh"
|
source "${0:h}/${_pacman_frontend}.zsh"
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
_pacman_frontend='pacman'
|
||||||
|
_pacman_sudo='sudo '
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -34,49 +37,49 @@ fi
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Pacman.
|
# Pacman.
|
||||||
alias pac='pacman'
|
alias pac="${_pacman_frontend}"
|
||||||
|
|
||||||
# Installs packages from repositories.
|
# Installs packages from repositories.
|
||||||
alias paci='sudo pacman --sync'
|
alias paci="${_pacman_sudo}${_pacman_frontend} --sync"
|
||||||
|
|
||||||
# Installs packages from files.
|
# Installs packages from files.
|
||||||
alias pacI='sudo pacman --upgrade'
|
alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade"
|
||||||
|
|
||||||
# Removes packages and unneeded dependencies.
|
# Removes packages and unneeded dependencies.
|
||||||
alias pacx='sudo pacman --remove'
|
alias pacx="${_pacman_sudo}${_pacman_frontend} --remove"
|
||||||
|
|
||||||
# Removes packages, their configuration, and unneeded dependencies.
|
# Removes packages, their configuration, and unneeded dependencies.
|
||||||
alias pacX='sudo pacman --remove --nosave --recursive'
|
alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive"
|
||||||
|
|
||||||
# Displays information about a package from the repositories.
|
# Displays information about a package from the repositories.
|
||||||
alias pacq='pacman --sync --info'
|
alias pacq="${_pacman_frontend} --sync --info"
|
||||||
|
|
||||||
# Displays information about a package from the local database.
|
# Displays information about a package from the local database.
|
||||||
alias pacQ='pacman --query --info'
|
alias pacQ="${_pacman_frontend} --query --info"
|
||||||
|
|
||||||
# Searches for packages in the repositories.
|
# Searches for packages in the repositories.
|
||||||
alias pacs='pacman --sync --search'
|
alias pacs="${_pacman_frontend} --sync --search"
|
||||||
|
|
||||||
# Searches for packages in the local database.
|
# Searches for packages in the local database.
|
||||||
alias pacS='pacman --query --search'
|
alias pacS="${_pacman_frontend} --query --search"
|
||||||
|
|
||||||
# Lists orphan packages.
|
# Lists orphan packages.
|
||||||
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
|
alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired"
|
||||||
|
|
||||||
# Removes orphan packages.
|
# Removes orphan packages.
|
||||||
alias pacman-remove-orphans='sudo pacman --remove --recursive $(pacman --quiet --query --deps --unrequired)'
|
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)"
|
||||||
|
|
||||||
# Synchronizes the local package and Arch Build System databases against the
|
# Synchronizes the local package and Arch Build System databases against the
|
||||||
# repositories.
|
# repositories.
|
||||||
if (( $+commands[abs] )); then
|
if (( $+commands[abs] )); then
|
||||||
alias pacu='sudo pacman --sync --refresh && sudo abs'
|
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs"
|
||||||
else
|
else
|
||||||
alias pacu='sudo pacman --sync --refresh'
|
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Synchronizes the local package database against the repositories then
|
# Synchronizes the local package database against the repositories then
|
||||||
# upgrades outdated packages.
|
# upgrades outdated packages.
|
||||||
alias pacU='sudo pacman --sync --refresh --sysupgrade'
|
alias pacU="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade"
|
||||||
|
|
||||||
unset _pacman_frontend
|
unset _pacman_{frontend,sudo}
|
||||||
|
|
||||||
|
@ -11,9 +11,9 @@
|
|||||||
|
|
||||||
# Disable color.
|
# Disable color.
|
||||||
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
|
if ! zstyle -t ':prezto:module:pacman:yaourt' color; then
|
||||||
alias pacman='pacman --nocolor'
|
alias pacman='yaourt --nocolor'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Manages .pac* files.
|
# Manages .pac* files.
|
||||||
alias pacc='pacman -C'
|
alias pacc='yaourt -C'
|
||||||
|
|
||||||
|
@ -16,9 +16,12 @@ elif (( $+commands[pyenv] )); then
|
|||||||
eval "$(pyenv init -)"
|
eval "$(pyenv init -)"
|
||||||
|
|
||||||
# Prepend PEP 370 per user site packages directory, which defaults to
|
# Prepend PEP 370 per user site packages directory, which defaults to
|
||||||
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH.
|
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. The
|
||||||
|
# path can be overridden using PYTHONUSERBASE.
|
||||||
else
|
else
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
if [[ -n "$PYTHONUSERBASE" ]]; then
|
||||||
|
path=($PYTHONUSERBASE/bin $path)
|
||||||
|
elif [[ "$OSTYPE" == darwin* ]]; then
|
||||||
path=($HOME/Library/Python/*/bin(N) $path)
|
path=($HOME/Library/Python/*/bin(N) $path)
|
||||||
else
|
else
|
||||||
# This is subject to change.
|
# This is subject to change.
|
||||||
|
@ -8,7 +8,7 @@ Local Gem Installation
|
|||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
When a Ruby version manager is not detected, local gems are installed in
|
When a Ruby version manager is not detected, local gems are installed in
|
||||||
*~/Library/Ruby/Gems/1.8* on Mac OS X.
|
*~/.gems*; otherwise, they are installed according to the manager.
|
||||||
|
|
||||||
RVM
|
RVM
|
||||||
---
|
---
|
||||||
@ -20,15 +20,33 @@ home directory.
|
|||||||
Since RVM is loaded into the shell and is known to override shell commands, it
|
Since RVM is loaded into the shell and is known to override shell commands, it
|
||||||
may conflict with shell scripts.
|
may conflict with shell scripts.
|
||||||
|
|
||||||
|
Load this module as late as possible when using RVM since RVM will complain if
|
||||||
|
it is not first in `$PATH`.
|
||||||
|
|
||||||
rbenv
|
rbenv
|
||||||
-----
|
-----
|
||||||
|
|
||||||
An alternative RVM is to use [rbenv][3], which allows for switching between multiple,
|
An alternative RVM is to use [rbenv][3], which allows for switching between
|
||||||
isolated Ruby installations in the home directory.
|
multiple, isolated Ruby installations in the home directory.
|
||||||
|
|
||||||
While it is not as feature rich as RVM, it is not loaded into the shell and is
|
While it is not as feature rich as RVM, it is not loaded into the shell and is
|
||||||
not known to cause conflicts with shell scripts.
|
not known to cause conflicts with shell scripts.
|
||||||
|
|
||||||
|
chruby
|
||||||
|
------
|
||||||
|
|
||||||
|
Yet another alternative is [chruby][6], which is simpler than both RVM and
|
||||||
|
rbenv.
|
||||||
|
|
||||||
|
### Settings
|
||||||
|
|
||||||
|
#### Auto-Switch
|
||||||
|
|
||||||
|
To enable auto switching the Ruby version on directory change based on the
|
||||||
|
.ruby-version file, add the following line to *zpreztorc*:
|
||||||
|
|
||||||
|
zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
||||||
|
|
||||||
Bundler
|
Bundler
|
||||||
-------
|
-------
|
||||||
|
|
||||||
@ -87,4 +105,4 @@ Authors
|
|||||||
[3]: https://github.com/sstephenson/rbenv
|
[3]: https://github.com/sstephenson/rbenv
|
||||||
[4]: http://gembundler.com
|
[4]: http://gembundler.com
|
||||||
[5]: https://github.com/sorin-ionescu/prezto/issues
|
[5]: https://github.com/sorin-ionescu/prezto/issues
|
||||||
|
[6]: https://github.com/postmodern/chruby
|
||||||
|
@ -18,6 +18,8 @@ if (( $+commands[rvm-prompt] )); then
|
|||||||
version="$(rvm-prompt)"
|
version="$(rvm-prompt)"
|
||||||
elif (( $+commands[rbenv] )); then
|
elif (( $+commands[rbenv] )); then
|
||||||
version="$(rbenv version-name)"
|
version="$(rbenv version-name)"
|
||||||
|
elif (( $+commands[ruby] )); then
|
||||||
|
version="${${$(ruby --version)[(w)1,(w)2]}/ /-}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Format version.
|
# Format version.
|
||||||
|
@ -23,6 +23,13 @@ elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
|
|||||||
elif (( $+commands[rbenv] )); then
|
elif (( $+commands[rbenv] )); then
|
||||||
eval "$(rbenv init - --no-rehash zsh)"
|
eval "$(rbenv init - --no-rehash zsh)"
|
||||||
|
|
||||||
|
# Load package manager installed chruby into the shell session.
|
||||||
|
elif (( $+commands[chruby-exec] )); then
|
||||||
|
source "${commands[chruby-exec]:h:h}/share/chruby/chruby.sh"
|
||||||
|
if zstyle -t ':prezto:module:ruby:chruby' auto-switch; then
|
||||||
|
source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
# Prepend local gems bin directories to PATH.
|
# Prepend local gems bin directories to PATH.
|
||||||
else
|
else
|
||||||
path=($HOME/.gem/ruby/*/bin(N) $path)
|
path=($HOME/.gem/ruby/*/bin(N) $path)
|
||||||
@ -43,14 +50,14 @@ alias rb='ruby'
|
|||||||
# Bundler
|
# Bundler
|
||||||
if (( $+commands[bundle] )); then
|
if (( $+commands[bundle] )); then
|
||||||
alias rbb='bundle'
|
alias rbb='bundle'
|
||||||
alias rbbe='rbb exec'
|
alias rbbe='bundle exec'
|
||||||
alias rbbi='rbb install'
|
alias rbbi='bundle install --path vendor/bundle'
|
||||||
alias rbbl='rbb list'
|
alias rbbl='bundle list'
|
||||||
alias rbbo='rbb open'
|
alias rbbo='bundle open'
|
||||||
alias rbbp='rbb package'
|
alias rbbp='bundle package'
|
||||||
alias rbbu='rbb update'
|
alias rbbu='bundle update'
|
||||||
alias rbbI='rbbi \
|
alias rbbI='rbbi \
|
||||||
&& rbb package \
|
&& bundle package \
|
||||||
&& print .bundle >>! .gitignore \
|
&& print .bundle >>! .gitignore \
|
||||||
&& print vendor/assets >>! .gitignore \
|
&& print vendor/assets >>! .gitignore \
|
||||||
&& print vendor/bundle >>! .gitignore \
|
&& print vendor/bundle >>! .gitignore \
|
||||||
|
@ -15,7 +15,7 @@ fi
|
|||||||
# Auto Start
|
# Auto Start
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ -z "$STY" ]] && ( \
|
if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \
|
||||||
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
|
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
|
||||||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
|
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
|
||||||
); then
|
); then
|
||||||
|
@ -57,7 +57,7 @@ FG[none]="$FX[none]"
|
|||||||
BG[none]="$FX[none]"
|
BG[none]="$FX[none]"
|
||||||
colors=(black red green yellow blue magenta cyan white)
|
colors=(black red green yellow blue magenta cyan white)
|
||||||
for color in {0..255}; do
|
for color in {0..255}; do
|
||||||
if (( $color >= 0 && $color < $#colors )); then
|
if (( $color >= 0 )) && (( $color < $#colors )); then
|
||||||
index=$(( $color + 1 ))
|
index=$(( $color + 1 ))
|
||||||
FG[$colors[$index]]="\e[38;5;${color}m"
|
FG[$colors[$index]]="\e[38;5;${color}m"
|
||||||
BG[$colors[$index]]="\e[48;5;${color}m"
|
BG[$colors[$index]]="\e[48;5;${color}m"
|
||||||
|
@ -14,10 +14,10 @@ fi
|
|||||||
_ssh_dir="$HOME/.ssh"
|
_ssh_dir="$HOME/.ssh"
|
||||||
|
|
||||||
# Set the path to the environment file if not set by another module.
|
# Set the path to the environment file if not set by another module.
|
||||||
_ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}"
|
_ssh_agent_env="${_ssh_agent_env:-${TMPDIR:-/tmp}/ssh-agent.env}"
|
||||||
|
|
||||||
# Set the path to the persistent authentication socket.
|
# Set the path to the persistent authentication socket.
|
||||||
_ssh_agent_sock="$TMPDIR/ssh-agent.sock"
|
_ssh_agent_sock="${TMPDIR:-/tmp}/ssh-agent.sock"
|
||||||
|
|
||||||
# Start ssh-agent if not started.
|
# Start ssh-agent if not started.
|
||||||
if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
|
if [[ ! -S "$SSH_AUTH_SOCK" ]]; then
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
if [[ "$TERM" == 'dumb' ]]; then
|
if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -20,12 +20,25 @@ following line to *zpreztorc*:
|
|||||||
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||||
|
|
||||||
In both cases, it will create a background session named _#Prezto_ and attach
|
In both cases the tmux server will be started and a background session
|
||||||
every new shell to it.
|
named _prezto_ will be created if a session doesn't already exist.
|
||||||
|
|
||||||
|
By default every shell shares a set of windows but has an independent
|
||||||
|
view. Detaching from one of these sessions removes the view but the
|
||||||
|
open windows persist. This is accomplished by setting the
|
||||||
|
`destroy-unattached` option to `on` for each session.
|
||||||
|
|
||||||
|
Some users prefer that all new shells share the same session so that
|
||||||
|
the view for each shell is in sync. This useful for advanced users
|
||||||
|
that create multiple sessions and want to manually navigate between
|
||||||
|
them. To accomplish this behavior set the `mode` option to `shared` in
|
||||||
|
*zpreztorc*,
|
||||||
|
|
||||||
|
zstyle ':prezto:module:tmux:auto-start' mode shared
|
||||||
|
|
||||||
|
You can customize the background session by creating a new session in
|
||||||
|
your `.tmux.conf` file.
|
||||||
|
|
||||||
To avoid keeping open sessions, this module sets `destroy-unattached off` on
|
|
||||||
the background session and `destroy-unattached on` on every other session
|
|
||||||
(global setting).
|
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
@ -41,7 +54,7 @@ connected** to be displayed, which can be fixed by installing
|
|||||||
[reattach-to-user-namespace][3], available in [Homebrew][4], and adding the
|
[reattach-to-user-namespace][3], available in [Homebrew][4], and adding the
|
||||||
following to *tmux.conf*:
|
following to *tmux.conf*:
|
||||||
|
|
||||||
set-option -g default-command "reattach-to-user-namespace -l $SHELL -l"
|
set-option -g default-command "reattach-to-user-namespace -l $SHELL -l"
|
||||||
|
|
||||||
Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion
|
Furthermore, tmux is known to cause **kernel panics** on Mac OS X. A discussion
|
||||||
about this and Prezto has already been [opened][2].
|
about this and Prezto has already been [opened][2].
|
||||||
@ -54,6 +67,7 @@ Authors
|
|||||||
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
- [Sorin Ionescu](https://github.com/sorin-ionescu)
|
||||||
- [Colin Hebert](https://github.com/ColinHebert)
|
- [Colin Hebert](https://github.com/ColinHebert)
|
||||||
- [Georges Discry](https://github.com/gdiscry)
|
- [Georges Discry](https://github.com/gdiscry)
|
||||||
|
- [Xavier Cambar](https://github.com/xcambar)
|
||||||
|
|
||||||
[1]: http://tmux.sourceforge.net
|
[1]: http://tmux.sourceforge.net
|
||||||
[2]: https://github.com/sorin-ionescu/prezto/issues/62
|
[2]: https://github.com/sorin-ionescu/prezto/issues/62
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
# Colin Hebert <hebert.colin@gmail.com>
|
# Colin Hebert <hebert.colin@gmail.com>
|
||||||
# Georges Discry <georges@discry.be>
|
# Georges Discry <georges@discry.be>
|
||||||
|
# Xavier Cambar <xcambar@gmail.com>
|
||||||
#
|
#
|
||||||
|
|
||||||
# Return if requirements are not found.
|
# Return if requirements are not found.
|
||||||
@ -16,31 +17,29 @@ fi
|
|||||||
# Auto Start
|
# Auto Start
|
||||||
#
|
#
|
||||||
|
|
||||||
if [[ -z "$TMUX" ]] && ( \
|
if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
|
||||||
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
|
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
|
||||||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
|
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
|
||||||
); then
|
); then
|
||||||
tmux_session='#Prezto'
|
tmux start-server
|
||||||
|
|
||||||
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
|
# Create a 'prezto' session if no session has been defined in tmux.conf.
|
||||||
# Ensure that tmux server is started.
|
if ! tmux has-session 2> /dev/null; then
|
||||||
tmux start-server
|
tmux \
|
||||||
|
new-session -d -s prezto \; \
|
||||||
# Disable the destruction of unattached sessions globally.
|
set-option -t prezto destroy-unattached off &> /dev/null
|
||||||
tmux set-option -g destroy-unattached off &> /dev/null
|
else
|
||||||
|
tmux_session
|
||||||
# Create a new session.
|
|
||||||
tmux new-session -d -s "$tmux_session"
|
|
||||||
|
|
||||||
# Disable the destruction of the new, unattached session.
|
|
||||||
tmux set-option -t "$tmux_session" destroy-unattached off &> /dev/null
|
|
||||||
|
|
||||||
# Enable the destruction of unattached sessions globally to prevent
|
|
||||||
# an abundance of open, detached sessions.
|
|
||||||
tmux set-option -g destroy-unattached on &> /dev/null
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec tmux new-session -t "$tmux_session"
|
if zstyle -t ':prezto:module:tmux:auto-start' mode shared; then
|
||||||
|
# Attach to the 'prezto' session or to the last session used.
|
||||||
|
exec tmux attach
|
||||||
|
else
|
||||||
|
# Find a session to share windows with.
|
||||||
|
tmux_session=`tmux list-sessions -F '#S' | head -n 1`
|
||||||
|
exec tmux new-session -t "$tmux_session"\; set-option destroy-unattached on
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -50,6 +50,7 @@ Aliases
|
|||||||
|
|
||||||
### Disabled File Globbing
|
### Disabled File Globbing
|
||||||
|
|
||||||
|
- `bower`
|
||||||
- `fc`
|
- `fc`
|
||||||
- `find`
|
- `find`
|
||||||
- `ftp`
|
- `ftp`
|
||||||
|
@ -34,6 +34,7 @@ alias mysql='nocorrect mysql'
|
|||||||
alias rm='nocorrect rm'
|
alias rm='nocorrect rm'
|
||||||
|
|
||||||
# Disable globbing.
|
# Disable globbing.
|
||||||
|
alias bower='noglob bower'
|
||||||
alias fc='noglob fc'
|
alias fc='noglob fc'
|
||||||
alias find='noglob find'
|
alias find='noglob find'
|
||||||
alias ftp='noglob ftp'
|
alias ftp='noglob ftp'
|
||||||
@ -104,6 +105,10 @@ alias sl='ls' # I often screw this up.
|
|||||||
# Mac OS X Everywhere
|
# Mac OS X Everywhere
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
alias o='open'
|
alias o='open'
|
||||||
|
elif [[ "$OSTYPE" == cygwin* ]]; then
|
||||||
|
alias o='cygstart'
|
||||||
|
alias pbcopy='tee > /dev/clipboard'
|
||||||
|
alias pbpaste='cat /dev/clipboard'
|
||||||
else
|
else
|
||||||
alias o='xdg-open'
|
alias o='xdg-open'
|
||||||
|
|
||||||
|
@ -87,6 +87,13 @@ zstyle ':prezto:module:editor' key-bindings 'emacs'
|
|||||||
# Auto set to 'off' on dumb terminals.
|
# Auto set to 'off' on dumb terminals.
|
||||||
zstyle ':prezto:module:prompt' theme 'sorin'
|
zstyle ':prezto:module:prompt' theme 'sorin'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ruby
|
||||||
|
#
|
||||||
|
|
||||||
|
# Auto switch the Ruby version on directory change.
|
||||||
|
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Screen
|
# Screen
|
||||||
#
|
#
|
||||||
@ -145,4 +152,3 @@ zstyle ':prezto:module:prompt' theme 'sorin'
|
|||||||
|
|
||||||
# Auto start a session when Zsh is launched in a SSH connection.
|
# Auto start a session when Zsh is launched in a SSH connection.
|
||||||
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Ensure that a non-login, non-interactive shell has a defined environment.
|
# Ensure that a non-login, non-interactive shell has a defined environment.
|
||||||
if [[ "$SHLVL" -eq 1 && ! -o LOGIN ]]; then
|
if [[ "$SHLVL" -eq 1 && ! -o LOGIN && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
|
||||||
source "${ZDOTDIR:-$HOME}/.zprofile"
|
source "${ZDOTDIR:-$HOME}/.zprofile"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user