1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
prezto/modules/directory/init.zsh

47 lines
1.4 KiB

#
# Sets directory options and defines directory aliases.
#
# Authors:
# James Cox <james@imaj.es>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
#
# Options
#
setopt AUTO_CD # Auto changes to a directory without typing cd.
setopt AUTO_PUSHD # Push the old directory onto the stack on cd.
setopt PUSHD_IGNORE_DUPS # Do not store duplicates in the stack.
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
setopt PUSHD_TO_HOME # Push to home directory when no argument is given.
setopt CDABLE_VARS # Change directory to a path stored in a variable.
setopt AUTO_NAME_DIRS # Auto add variable-stored paths to ~ list.
setopt MULTIOS # Write to multiple descriptors.
setopt EXTENDED_GLOB # Use extended globbing syntax.
unsetopt CLOBBER # Do not overwrite existing files with > and >>.
# Use >! and >>! to bypass.
#
# Aliases
#
alias d='dirs -v'
for index ({1..9}) alias "$index"="cd +${index}"; unset index
if (is-at-least 4.1) \
&& zstyle -t ':prezto:module:directory' persist-dirstack
then
if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]]; then
echo "\n" >> ~/.zdirs
dirstack=( ${(uf)"$(< ~/.zdirs)"//"$HOME"[[:space:]]/} )
fi
function _persist_dirstack {
dirs -pl >! ~/.zdirs
}
autoload -Uz add-zsh-hook
add-zsh-hook chpwd _persist_dirstack
fi