[input] add double-dot expansion option

Closes #49
This commit is contained in:
Matt Hamilton 2016-05-20 20:25:01 -07:00 committed by Adam Goldsmith
parent c9de5c5bd2
commit 3f4a38b5b5
3 changed files with 23 additions and 0 deletions

View File

@ -5,3 +5,6 @@ Applies correct bindkeys for input events.
Without this module, you may experience oddities in how Zsh interprets input.
For example, using the UP key, then using the back arrow and pressing DELETE may capatalize characters rather than delete them.
This module also provides double-dot parent directory expansion.
It can be enabled by uncommenting `zdouble_dot_expansion='true'` in your .zimrc

View File

@ -65,6 +65,18 @@ if [[ -n "${key_info[Insert]}" ]]; then
bindkey "${key_info[Insert]}" overwrite-mode
fi
if [[ ${zdouble_dot_expand} ]]; then
double-dot-expand() {
if [[ ${LBUFFER} == *.. ]]; then
LBUFFER+='/..'
else
LBUFFER+='.'
fi
}
zle -N double-dot-expand
bindkey "." double-dot-expand
fi
bindkey "${key_info[Delete]}" delete-char
bindkey "${key_info[Backspace]}" backward-delete-char

View File

@ -42,6 +42,14 @@ zprompt_theme='steeef'
# See: http://zsh.sourceforge.net/Doc/Release/Options.html#Input_002fOutput
#zcorrection='true'
#
# Input
#
# Uncomment to enable double-dot expansion.
# This appends '../' to your input for each '.' you type after an initial '..'
#zdouble_dot_expand='true'
#
# Syntax-Highlighting
#