diff --git a/README.md b/README.md index 32b3498e..d076cc89 100644 --- a/README.md +++ b/README.md @@ -63,9 +63,10 @@ accompanying README files to learn of what is available. Customization ------------- -The project is managed via [Git][3]. It is highly recommend that you commit -your changes and push them to [GitHub][4] to not lose them. If you do not know -how to use Git, follow this [tutorial][5] and bookmark this [reference][6]. +The project is managed via [Git][3]. It is highly recommended that you fork this +project; so, that you can commit your changes and push them to [GitHub][4] to +not lose them. If you do not know how to use Git, follow this [tutorial][5] and +bookmark this [reference][6]. Resources --------- diff --git a/modules/README.md b/modules/README.md index ccb1bd9d..2fa1a4bc 100644 --- a/modules/README.md +++ b/modules/README.md @@ -71,6 +71,11 @@ History Sets history options and defines history aliases. +Homebrew +-------- + +Defines Homebrew aliases. + Macports -------- diff --git a/modules/dpkg/README.md b/modules/dpkg/README.md index d871f599..98af6c38 100644 --- a/modules/dpkg/README.md +++ b/modules/dpkg/README.md @@ -7,16 +7,16 @@ Aliases ------- - `debc` cleans the cache. -- `debf` displays a file's packake. +- `debf` displays a file's package. - `debi` installs packages from repositories. - `debI` installs packages from files. - `debq` displays package information. -- `debu` updates the packages lists. +- `debu` updates the package lists. - `debU` upgrades outdated packages. - `debx` removes packages. - `debX` removes packages, their configuration, and unneeded dependencies. - `debs` searches for packages. -- `deb-build` creates a basic .deb package. +- `deb-build` creates a basic deb package. - `deb-kclean` removes all kernel images and headers, except for the ones in use. diff --git a/modules/dpkg/init.zsh b/modules/dpkg/init.zsh index 939e9100..fbbc8bc5 100644 --- a/modules/dpkg/init.zsh +++ b/modules/dpkg/init.zsh @@ -19,7 +19,7 @@ fi # Cleans the cache. alias debc='sudo apt-get clean && sudo apt-get autoclean' -# Displays a file's packake. +# Displays a file's package. alias debf='apt-file search --regexp' # Installs packages from repositories. @@ -31,7 +31,7 @@ alias debI='sudo dpkg -i' # Displays package information. alias debq='apt-cache show' -# Updates the packages lists. +# Updates the package lists. alias debu='sudo apt-get update' # Upgrades outdated packages. @@ -50,7 +50,7 @@ else alias debs='apt-cache search' fi -# Creates a basic .deb package. +# Creates a basic deb package. alias deb-build='time dpkg-buildpackage -rfakeroot -us -uc' # Removes all kernel images and headers, except for the ones in use. diff --git a/modules/editor/README.md b/modules/editor/README.md index 03bc02f2..d989e35c 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -8,10 +8,10 @@ Settings ### Key bindings -To enable key bindings, add the following to *zpreztorc*, and replace 'map' with -'emacs' or 'vi'. +To enable key bindings, add the following to *zpreztorc*, and replace 'bindings' +with 'emacs' or 'vi'. - zstyle ':prezto:module:editor' keymap 'map' + zstyle ':prezto:module:editor' key-bindings 'bindings' ### Dot Expansion diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index 98ecb7c0..aa867ff5 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -306,14 +306,14 @@ fi # # Set the key layout. -zstyle -s ':prezto:module:editor' keymap 'keymap' -if [[ "$keymap" == (emacs|) ]]; then +zstyle -s ':prezto:module:editor' key-bindings 'key_bindings' +if [[ "$key_bindings" == (emacs|) ]]; then bindkey -e -elif [[ "$keymap" == vi ]]; then +elif [[ "$key_bindings" == vi ]]; then bindkey -v else - print "prezto: invalid keymap: $keymap" >&2 + print "prezto: editor: invalid key bindings: $key_bindings" >&2 fi -unset key{map,} +unset key{,map,bindings} diff --git a/modules/emacs/init.zsh b/modules/emacs/init.zsh index cce9e1e9..3acc965c 100644 --- a/modules/emacs/init.zsh +++ b/modules/emacs/init.zsh @@ -5,21 +5,21 @@ # # Return if requirements are not found. -if [[ ! -d "$HOME/.carton" ]]; then +if [[ ! -d "$HOME/.cask" ]]; then return 1 fi -# Prepend Carton bin directory. -path=($HOME/.carton/bin $path) +# Prepend Cask bin directory. +path=($HOME/.cask/bin $path) # Load Carton completion -source "$HOME/.carton/etc/carton_completion.zsh" 2> /dev/null +source "$HOME/.cask/etc/cask_completion.zsh" 2> /dev/null # # Aliases # -alias cai='carton install' -alias cau='carton update' -alias caI='carton init' -alias cae='carton exec' +alias cai='cask install' +alias cau='cask update' +alias caI='cask init' +alias cae='cask exec' diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md new file mode 100644 index 00000000..c8e6d4e2 --- /dev/null +++ b/modules/homebrew/README.md @@ -0,0 +1,26 @@ +Homebrew +======== + +Defines Homebrew aliases. + +Aliases +------- + + - `brewc` cleans outdated brews and their cached archives. + - `brewC` cleans outdated brews, including keg-only, and their cached archives. + - `brewi` installs a formula. + - `brewl` lists installed formulae. + - `brews` searches for a formula. + - `brewU` upgrades Homebrew and outdated brews. + - `brewu` upgrades Homebrew. + - `brewx` uninstalls a formula. + +Authors +------- + +*The authors of this module should be contacted via the [issue tracker][1].* + + - [Sorin Ionescu](https://github.com/sorin-ionescu) + +[1]: https://github.com/sorin-ionescu/prezto/issues + diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh new file mode 100644 index 00000000..6f0299af --- /dev/null +++ b/modules/homebrew/init.zsh @@ -0,0 +1,25 @@ +# +# Defines Homebrew aliases. +# +# Authors: +# Sorin Ionescu +# + +# Return if requirements are not found. +if [[ "$OSTYPE" != darwin* ]]; then + return 1 +fi + +# +# Aliases +# + +alias brewc='brew cleanup' +alias brewC='brew cleanup --force' +alias brewi='brew install' +alias brewl='brew list' +alias brews='brew search' +alias brewu='brew upgrade' +alias brewU='brew update && brew upgrade' +alias brewx='brew remove' + diff --git a/modules/python/README.md b/modules/python/README.md index c48f4ea3..8e8c8f01 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -6,15 +6,15 @@ Enables local Python and local Python package installation. Local Python Installation ------------------------- -[pythonz][4] builds and installs multiple Python versions locally in the home +[pyenv][4] builds and installs multiple Python versions locally in the home directory. -This module prepends the pythonz directory to the path variable to enable the -execution of `pythonz`. +This module prepends the pyenv directory to the path variable to enable the +execution of `pyenv`. ### Usage -Install Python versions with `pythonz install` into *~/.pythonz/pythons*. +Install Python versions with `pyenv install` into *~/.pyenv/versions*. Local Package Installation -------------------------- @@ -66,16 +66,6 @@ Aliases - `py` is short for `python`. -### Pythonz - - - `pyz` is short for `pythonz`. - - `pyzc` removes stale source folders and archives. - - `pyzi` installs Python versions. - - `pyzl` lists installed Python versions. - - `pyzL` lists available Python versions. - - `pyzu` updates itself to the latest version. - - `pyzx` uninstalls Python versions. - Functions --------- @@ -105,6 +95,6 @@ Authors [1]: http://www.python.org/dev/peps/pep-0370/ [2]: http://www.doughellmann.com/projects/virtualenvwrapper/ [3]: http://pypi.python.org/pypi/virtualenv -[4]: http://saghul.github.com/pythonz/ +[4]: https://github.com/yyuu/pyenv [5]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/python/init.zsh b/modules/python/init.zsh index a72f01f9..fa9175e5 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -6,29 +6,35 @@ # Sebastian Wiesner # -# Load pythonz into the shell session. -if [[ -s $HOME/.pythonz/bin/pythonz ]]; then - path=($HOME/.pythonz/bin $path) -fi +# Load manually installed pyenv into the shell session. +if [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then + path=("$HOME/.pyenv/bin" $path) + eval "$(pyenv init -)" -# Return if requirements are not found. -if (( ! $+commands[python] && ! $+commands[pythonz] )); then - return 1 -fi +# Load package manager installed pyenv into the shell session. +elif (( $+commands[pyenv] )); then + eval "$(pyenv init -)" # Prepend PEP 370 per user site packages directory, which defaults to # ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH. -if [[ "$OSTYPE" == darwin* ]]; then - path=($HOME/Library/Python/*/bin(N) $path) else - # This is subject to change. - path=($HOME/.local/bin $path) + if [[ "$OSTYPE" == darwin* ]]; then + path=($HOME/Library/Python/*/bin(N) $path) + else + # This is subject to change. + path=($HOME/.local/bin $path) + fi +fi + +# Return if requirements are not found. +if (( ! $+commands[python] && ! $+commands[pyenv] )); then + return 1 fi # Load virtualenvwrapper into the shell session. if (( $+commands[virtualenvwrapper_lazy.sh] )); then # Set the directory where virtual environments are stored. - export WORKON_HOME=$HOME/.virtualenvs + export WORKON_HOME="$HOME/.virtualenvs" # Disable the virtualenv prompt. VIRTUAL_ENV_DISABLE_PROMPT=1 @@ -42,14 +48,3 @@ fi alias py='python' -# pythonz -if (( $+commands[pythonz] )); then - alias pyz='pythonz' - alias pyzc='pythonz cleanup' - alias pyzi='pythonz install' - alias pyzl='pythonz list' - alias pyzL='pythonz list -a' - alias pyzu='pythonz update' - alias pyzx='pythonz uninstall' -fi - diff --git a/modules/screen/README.md b/modules/screen/README.md index 976b483a..8e93fe2d 100644 --- a/modules/screen/README.md +++ b/modules/screen/README.md @@ -10,9 +10,15 @@ Settings Starts a GNU Screen session automatically when Zsh is launched. -To enable this feature, add the following line to *zpreztorc*: +To enable this feature when launching Zsh in a local terminal, add the +following line to *zpreztorc*: - zstyle ':prezto:module:screen' auto-start 'yes' + zstyle ':prezto:module:screen:auto-start' local 'yes' + +To enable this feature when launching Zsh in a SSH connection, add the +following line to *zpreztorc*: + + zstyle ':prezto:module:screen:auto-start' remote 'yes' Aliases ------- @@ -28,6 +34,7 @@ Authors *The authors of this module should be contacted via the [issue tracker][2].* - [Sorin Ionescu](https://github.com/sorin-ionescu) + - [Georges Discry](https://github.com/gdiscry) [1]: http://www.gnu.org/software/screen/ [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/screen/init.zsh b/modules/screen/init.zsh index 424f6584..f10efb73 100644 --- a/modules/screen/init.zsh +++ b/modules/screen/init.zsh @@ -3,6 +3,7 @@ # # Authors: # Sorin Ionescu +# Georges Discry # # Return if requirements are not found. @@ -14,7 +15,10 @@ fi # Auto Start # -if [[ -z "$STY" ]] && zstyle -t ':prezto:module:screen' auto-start; then +if [[ -z "$STY" ]] && ( \ + ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) || + ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \ +); then session="$( screen -list 2> /dev/null \ | sed '1d;$d' \ diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh index 447846f5..320f7635 100644 --- a/modules/ssh/init.zsh +++ b/modules/ssh/init.zsh @@ -27,22 +27,22 @@ else source "$_ssh_agent_env" 2> /dev/null fi -# Load identities. -if ssh-add -l 2>&1 | grep 'The agent has no identities'; then - zstyle -a ':prezto:module:ssh:load' identities '_ssh_identities' - if (( ${#identities} > 0 )); then - ssh-add "$_ssh_dir/${^_ssh_identities[@]}" - else - ssh-add - fi -fi - # Create a persistent SSH authentication socket. if [[ -S "$SSH_AUTH_SOCK" && "$SSH_AUTH_SOCK" != "$_ssh_agent_sock" ]]; then ln -sf "$SSH_AUTH_SOCK" "$_ssh_agent_sock" export SSH_AUTH_SOCK="$_ssh_agent_sock" fi +# Load identities. +if ssh-add -l 2>&1 | grep -q 'The agent has no identities'; then + zstyle -a ':prezto:module:ssh:load' identities '_ssh_identities' + if (( ${#_ssh_identities} > 0 )); then + ssh-add "$_ssh_dir/${^_ssh_identities[@]}" 2> /dev/null + else + ssh-add 2> /dev/null + fi +fi + # Clean up. unset _ssh_{dir,identities} _ssh_agent_{env,sock} diff --git a/modules/tmux/README.md b/modules/tmux/README.md index b5e1011a..68ba9d06 100644 --- a/modules/tmux/README.md +++ b/modules/tmux/README.md @@ -10,12 +10,18 @@ Settings Starts a tmux session automatically when Zsh is launched. -To enable this feature, add the following line to *zpreztorc*: +To enable this feature when launching Zsh in a local terminal, add the +following line to *zpreztorc*: - zstyle ':prezto:module:tmux' auto-start 'yes' + zstyle ':prezto:module:tmux:auto-start' local 'yes' -It will create a background session named _#Prezto_ and attach every new shell -to it. +To enable this feature when launching Zsh in a SSH connection, add the +following line to *zpreztorc*: + + zstyle ':prezto:module:tmux:auto-start' remote 'yes' + +In both cases, it will create a background session named _#Prezto_ and attach +every new shell to it. To avoid keeping open sessions, this module sets `destroy-unattached off` on the background session and `destroy-unattached on` on every other session @@ -47,6 +53,7 @@ Authors - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Colin Hebert](https://github.com/ColinHebert) + - [Georges Discry](https://github.com/gdiscry) [1]: http://tmux.sourceforge.net [2]: https://github.com/sorin-ionescu/prezto/issues/62 diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 01732750..a59b259a 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -4,6 +4,7 @@ # Authors: # Sorin Ionescu # Colin Hebert +# Georges Discry # # Return if requirements are not found. @@ -15,7 +16,10 @@ fi # Auto Start # -if [[ -z "$TMUX" ]] && zstyle -t ':prezto:module:tmux' auto-start; then +if [[ -z "$TMUX" ]] && ( \ + ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || + ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ +); then tmux_session='#Prezto' if ! tmux has-session -t "$tmux_session" 2> /dev/null; then diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 525ad780..60acc87e 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -104,17 +104,17 @@ alias sl='ls' # I often screw this up. # Mac OS X Everywhere if [[ "$OSTYPE" == darwin* ]]; then alias o='open' - alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time' +elif [[ "$OSTYPE" == cygwin* ]]; then + alias o='cygstart' + alias pbcopy='tee > /dev/clipboard' + alias pbpaste='cat /dev/clipboard' else alias o='xdg-open' - alias get='wget --continue --progress=bar --timestamping' if (( $+commands[xclip] )); then alias pbcopy='xclip -selection clipboard -in' alias pbpaste='xclip -selection clipboard -out' - fi - - if (( $+commands[xsel] )); then + elif (( $+commands[xsel] )); then alias pbcopy='xsel --clipboard --input' alias pbpaste='xsel --clipboard --output' fi @@ -123,6 +123,13 @@ fi alias pbc='pbcopy' alias pbp='pbpaste' +# File Download +if (( $+commands[curl] )); then + alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time' +elif (( $+commands[wget] )); then + alias get='wget --continue --progress=bar --timestamping' +fi + # Resource Usage alias df='df -kh' alias du='du -kh' diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index 5eca1a0d..ee5aa0d3 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -39,7 +39,7 @@ zstyle ':prezto:load' pmodule \ # # Set the key mapping style to 'emacs' or 'vi'. -zstyle ':prezto:module:editor' keymap 'emacs' +zstyle ':prezto:module:editor' key-bindings 'emacs' # Auto convert .... to ../.. # zstyle ':prezto:module:editor' dot-expansion 'yes' @@ -91,8 +91,11 @@ zstyle ':prezto:module:prompt' theme 'sorin' # Screen # -# Auto start a session when Zsh is launched. -# zstyle ':prezto:module:screen' auto-start 'yes' +# Auto start a session when Zsh is launched in a local terminal. +# zstyle ':prezto:module:screen:auto-start' local 'yes' + +# Auto start a session when Zsh is launched in a SSH connection. +# zstyle ':prezto:module:screen:auto-start' remote 'yes' # # SSH @@ -132,6 +135,9 @@ zstyle ':prezto:module:terminal' auto-title 'yes' # Tmux # -# Auto start a session when Zsh is launched. -# zstyle ':prezto:module:tmux' auto-start 'yes' +# Auto start a session when Zsh is launched in a local terminal. +# zstyle ':prezto:module:tmux:auto-start' local 'yes' + +# Auto start a session when Zsh is launched in a SSH connection. +# zstyle ':prezto:module:tmux:auto-start' remote 'yes'