mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-23 16:52:57 +08:00
5fe22fcbc6
This change follows this proposed behaviour: Ctrl+Shift+Left: move to last visited directory Ctrl+Shift+Right: move to next visited directory an alternative behaviour would be: Ctrl+Shift+Left: move directory to the left in `dirs` output Ctrl+Shift+Right: move directory to the right in `dirs` output It also introduces `setopt nopushdminus` as a way to standardise pushd syntax. It's value wasn't clear before, which has been the cause of so many pull requests regarding this plugin not working in some environments.
28 lines
640 B
Bash
28 lines
640 B
Bash
# enables cycling through the directory stack using
|
|
# Ctrl+Shift+Left/Right
|
|
#
|
|
# left/right direction follows the order in which directories
|
|
# were visited, like left/right arrows do in a browser
|
|
|
|
# NO_PUSHD_MINUS syntax:
|
|
# pushd +N: start counting from left of `dirs' output
|
|
# pushd -N: start counting from right of `dirs' output
|
|
setopt nopushdminus
|
|
|
|
insert-cycledleft () {
|
|
zle push-line
|
|
LBUFFER='pushd -q +1'
|
|
zle accept-line
|
|
}
|
|
zle -N insert-cycledleft
|
|
|
|
insert-cycledright () {
|
|
zle push-line
|
|
LBUFFER='pushd -q -0'
|
|
zle accept-line
|
|
}
|
|
zle -N insert-cycledright
|
|
|
|
bindkey "\e[1;6D" insert-cycledleft
|
|
bindkey "\e[1;6C" insert-cycledright
|