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.
47 lines
1.4 KiB
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
|