1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2025-07-01 15:09:25 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
f5f295cc99 Simplify the use of ZDOTDIR 2013-11-29 20:53:56 -05:00
19 changed files with 91 additions and 109 deletions

View File

@ -9,34 +9,40 @@ 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. version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to
non-standard core utilities.
1. Launch Zsh: 1. Launch Zsh:
zsh zsh
2. Clone the repository: 2. Set the path to the Prezto installation directory:
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" ZDOTDIR="${ZDOTDIR:-$HOME}"
PREZTO="$ZDOTDIR/.zprezto"
3. Create a new Zsh configuration by copying the Zsh configuration files 3. Clone the repository:
git clone --recursive https://github.com/sorin-ionescu/prezto.git "$PREZTO"
4. Create a new Zsh configuration by copying the Zsh configuration files
provided: provided:
setopt EXTENDED_GLOB setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do for rcfile in "$PREZTO/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" ln -s "$rcfile" "${ZDOTDIR}/.${rcfile:t}"
done done
4. Set Zsh as your default shell: 5. Set Zsh as your default shell:
chsh -s /bin/zsh chsh -s /bin/zsh
5. Open a new Zsh terminal window or tab. 6. Open a new Zsh terminal window or tab.
### 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 *~/.zprofile* then open a new Zsh terminal modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
window or tab. window or tab.
Updating Updating
@ -85,8 +91,7 @@ License
(The MIT License) (The MIT License)
Copyright (c) 2009-2011 Robby Russell and contributors. Copyright (c) 2009-2014 Sorin Ionescu 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,4 +119,5 @@ 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

View File

@ -25,13 +25,13 @@ 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[@]")
# Add functions to $fpath. # Add functions to $fpath.
fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath) fpath=(${pmodules:+$PREZTO/modules/${^pmodules}/functions(/FN)} $fpath)
function { function {
local pfunction local pfunction
@ -40,7 +40,7 @@ function pmodload {
setopt LOCAL_OPTIONS EXTENDED_GLOB setopt LOCAL_OPTIONS EXTENDED_GLOB
# Load Prezto functions. # Load Prezto functions.
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do for pfunction in $PREZTO/modules/${^pmodules}/functions/$~pfunction_glob; do
autoload -Uz "$pfunction" autoload -Uz "$pfunction"
done done
} }
@ -49,19 +49,19 @@ function pmodload {
for pmodule in "$pmodules[@]"; do for pmodule in "$pmodules[@]"; do
if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
continue continue
elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then elif [[ ! -d "$PREZTO/modules/$pmodule" ]]; then
print "$0: no such module: $pmodule" >&2 print "$0: no such module: $pmodule" >&2
continue continue
else else
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then if [[ -s "$PREZTO/modules/$pmodule/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" source "$PREZTO/modules/$pmodule/init.zsh"
fi fi
if (( $? == 0 )); then if (( $? == 0 )); then
zstyle ":prezto:module:$pmodule" loaded 'yes' zstyle ":prezto:module:$pmodule" loaded 'yes'
else else
# Remove the $fpath entry. # Remove the $fpath entry.
fpath[(r)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=() fpath[(r)$PREZTO/modules/${pmodule}/functions]=()
function { function {
local pfunction local pfunction
@ -71,7 +71,7 @@ function pmodload {
setopt LOCAL_OPTIONS EXTENDED_GLOB setopt LOCAL_OPTIONS EXTENDED_GLOB
# Unload Prezto functions. # Unload Prezto functions.
for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/functions/$~pfunction_glob; do for pfunction in $PREZTO/modules/$pmodule/functions/$~pfunction_glob; do
unfunction "$pfunction" unfunction "$pfunction"
done done
} }
@ -87,8 +87,8 @@ function pmodload {
# #
# Source the Prezto configuration file. # Source the Prezto configuration file.
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then if [[ -s "$ZDOTDIR/.zpreztorc" ]]; then
source "${ZDOTDIR:-$HOME}/.zpreztorc" source "$ZDOTDIR/.zpreztorc"
fi fi
# Disable color and theme in dumb terminals. # Disable color and theme in dumb terminals.

View File

@ -36,7 +36,7 @@ unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor.
# Use caching to make completion for cammands such as dpkg and apt usable. # Use caching to make completion for cammands such as dpkg and apt usable.
zstyle ':completion::complete:*' use-cache on zstyle ':completion::complete:*' use-cache on
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache" zstyle ':completion::complete:*' cache-path "$ZDOTDIR/.zcompcache"
# Case-insensitive (all), partial-word, and then substring completion. # Case-insensitive (all), partial-word, and then substring completion.
if zstyle -t ':prezto:module:completion:*' case-sensitive; then if zstyle -t ':prezto:module:completion:*' case-sensitive; then

View File

@ -22,11 +22,7 @@ Aliases
------- -------
- `d` prints the contents of the directory stack. - `d` prints the contents of the directory stack.
- `1 ... 9` changes the directory to the **n** previous one.
Functions
---------
- `command_not_found_handler` changes the directory to the **n** previous one.
Authors Authors
------- -------

View File

@ -1,13 +0,0 @@
#
# Changes the directory to the n previous one.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if [[ "$1" == [[:digit:]]## ]]; then
builtin cd "+$1"
else
return 127
fi

View File

@ -27,4 +27,5 @@ unsetopt CLOBBER # Do not overwrite existing files with > and >>.
# #
alias d='dirs -v' alias d='dirs -v'
for index ({1..9}) alias "$index"="cd +${index}"; unset index

View File

@ -107,39 +107,30 @@ function editor-info {
} }
zle -N editor-info zle -N editor-info
# Updates editor information when the keymap changes. # Ensures that $terminfo values are valid and updates editor information when
function zle-keymap-select { # the keymap changes.
function zle-keymap-select zle-line-init zle-line-finish {
# The terminal must be in application mode when ZLE is active for $terminfo
# values to be valid.
if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
case "$0" in
(zle-line-init)
# Enable terminal application mode.
echoti smkx
;;
(zle-line-finish)
# Disable terminal application mode.
echoti rmkx
;;
esac
fi
# Update editor information.
zle editor-info zle editor-info
} }
zle -N zle-keymap-select 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
# values to be valid.
if (( $+terminfo[smkx] )); then
# Enable terminal application mode.
echoti smkx
fi
# Update editor information.
zle editor-info
}
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 zle -N zle-line-finish
zle -N zle-line-init
# Toggles emacs overwrite mode and updates editor information. # Toggles emacs overwrite mode and updates editor information.
function overwrite-mode { function overwrite-mode {

View File

@ -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:-/tmp}/gpg-agent.env" _gpg_agent_env="$TMPDIR/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

View File

@ -10,7 +10,7 @@
# Variables # Variables
# #
HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file. HISTFILE="$ZDOTDIR/.zhistory" # The path to the history file.
HISTSIZE=10000 # The maximum number of events to save in the internal history. HISTSIZE=10000 # The maximum number of events to save in the internal history.
SAVEHIST=10000 # The maximum number of events to save in the history file. SAVEHIST=10000 # The maximum number of events to save in the history file.

View File

@ -6,7 +6,7 @@
# Sorin Ionescu <sorin.ionescu@gmail.com> # Sorin Ionescu <sorin.ionescu@gmail.com>
# #
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$" local tmp="$TMPDIR/pacman-disowned-$UID-$$"
local db="$tmp/db" local db="$tmp/db"
local fs="$tmp/fs" local fs="$tmp/fs"

View File

@ -27,8 +27,6 @@ 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_sudo='sudo '
fi fi
# #
@ -36,49 +34,49 @@ fi
# #
# Pacman. # Pacman.
alias pac= "${_pacman_frontend}" alias pac='pacman'
# Installs packages from repositories. # Installs packages from repositories.
alias paci="${_pacman_sudo}${_pacman_frontend} --sync" alias paci='sudo pacman --sync'
# Installs packages from files. # Installs packages from files.
alias pacI="${_pacman_sudo}${_pacman_frontend} --upgrade" alias pacI='sudo pacman --upgrade'
# Removes packages and unneeded dependencies. # Removes packages and unneeded dependencies.
alias pacx="${_pacman_sudo}${_pacman_frontend} --remove" alias pacx='sudo pacman --remove'
# Removes packages, their configuration, and unneeded dependencies. # Removes packages, their configuration, and unneeded dependencies.
alias pacX="${_pacman_sudo}${_pacman_frontend} --remove --nosave --recursive" alias pacX='sudo pacman --remove --nosave --recursive'
# Displays information about a package from the repositories. # Displays information about a package from the repositories.
alias pacq="${_pacman_frontend} --sync --info" alias pacq='pacman --sync --info'
# Displays information about a package from the local database. # Displays information about a package from the local database.
alias pacQ="${_pacman_frontend} --query --info" alias pacQ='pacman --query --info'
# Searches for packages in the repositories. # Searches for packages in the repositories.
alias pacs="${_pacman_frontend} --sync --search" alias pacs='pacman --sync --search'
# Searches for packages in the local database. # Searches for packages in the local database.
alias pacS="${_pacman_frontend} --query --search" alias pacS='pacman --query --search'
# Lists orphan packages. # Lists orphan packages.
alias pacman-list-orphans="${_pacman_sudo}${_pacman_frontend} --query --deps --unrequired" alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
# Removes orphan packages. # Removes orphan packages.
alias pacman-remove-orphans="${_pacman_sudo}${_pacman_frontend} --remove --recursive \$(${_pacman_frontend} --quiet --query --deps --unrequired)" alias pacman-remove-orphans='sudo pacman --remove --recursive $(pacman --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="${_pacman_sudo}${_pacman_frontend} --sync --refresh && ${_pacman_sudo}abs" alias pacu='sudo pacman --sync --refresh && sudo abs'
else else
alias pacu="${_pacman_sudo}${_pacman_frontend} --sync --refresh" alias pacu='sudo pacman --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="${_pacman_sudo}${_pacman_frontend} --sync --refresh --sysupgrade" alias pacU='sudo pacman --sync --refresh --sysupgrade'
unset _pacman_{frontend,sudo} unset _pacman_frontend

View File

@ -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='yaourt --nocolor' alias pacman='pacman --nocolor'
fi fi
# Manages .pac* files. # Manages .pac* files.
alias pacc='yaourt -C' alias pacc='pacman -C'

View File

@ -43,14 +43,14 @@ alias rb='ruby'
# Bundler # Bundler
if (( $+commands[bundle] )); then if (( $+commands[bundle] )); then
alias rbb='bundle' alias rbb='bundle'
alias rbbe='bundle exec' alias rbbe='rbb exec'
alias rbbi='bundle install --path vendor/bundle' alias rbbi='rbb install'
alias rbbl='bundle list' alias rbbl='rbb list'
alias rbbo='bundle open' alias rbbo='rbb open'
alias rbbp='bundle package' alias rbbp='rbb package'
alias rbbu='bundle update' alias rbbu='rbb update'
alias rbbI='rbbi \ alias rbbI='rbbi \
&& bundle package \ && rbb package \
&& print .bundle >>! .gitignore \ && print .bundle >>! .gitignore \
&& print vendor/assets >>! .gitignore \ && print vendor/assets >>! .gitignore \
&& print vendor/bundle >>! .gitignore \ && print vendor/bundle >>! .gitignore \

View File

@ -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:-/tmp}/ssh-agent.env}" _ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}"
# Set the path to the persistent authentication socket. # Set the path to the persistent authentication socket.
_ssh_agent_sock="${TMPDIR:-/tmp}/ssh-agent.sock" _ssh_agent_sock="$TMPDIR/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

View File

@ -6,7 +6,7 @@
# #
# Return if requirements are not found. # Return if requirements are not found.
if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then if [[ "$TERM" == 'dumb' ]]; then
return 1 return 1
fi fi

View File

@ -104,10 +104,6 @@ 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'

View File

@ -8,7 +8,7 @@
# Execute code that does not affect the current session in the background. # Execute code that does not affect the current session in the background.
{ {
# Compile the completion dump to increase startup speed. # Compile the completion dump to increase startup speed.
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump" zcompdump="$ZDOTDIR/.zcompdump"
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
zcompile "$zcompdump" zcompile "$zcompdump"
fi fi

View File

@ -6,7 +6,14 @@
# #
# 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 && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then if [[ "$SHLVL" -eq 1 && ! -o LOGIN ]]; then
source "${ZDOTDIR:-$HOME}/.zprofile" source "${ZDOTDIR:-$HOME}/.zprofile"
fi fi
#
# Zsh
#
ZDOTDIR="${ZDOTDIR:-$HOME}"
PREZTO="$ZDOTDIR/.zprezto"

View File

@ -6,8 +6,8 @@
# #
# Source Prezto. # Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then if [[ -s "$PREZTO/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" source "$PREZTO/init.zsh"
fi fi
# Customize to your needs... # Customize to your needs...