mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-25 15:20:08 +00:00
On branch fzuviria.plugin.dirhistory.new-feature.navigate-history
Changes to be committed: modified: dirhistory/dirhistory.plugin.zsh New Feature: Navigate directory hierarchy using ALT-UP and ALT-DOWN. (mac keybindings not yet implemented) ALT-UP moves to higher hierarchy (cd ..) ALT-DOWN moves into the first directory found in alphabetical order
This commit is contained in:
parent
604f580f05
commit
7bb7ce62d3
1 changed files with 50 additions and 0 deletions
|
@ -2,6 +2,10 @@
|
||||||
# Navigate directory history using ALT-LEFT and ALT-RIGHT. ALT-LEFT moves back to directories
|
# Navigate directory history using ALT-LEFT and ALT-RIGHT. ALT-LEFT moves back to directories
|
||||||
# that the user has changed to in the past, and ALT-RIGHT undoes ALT-LEFT.
|
# that the user has changed to in the past, and ALT-RIGHT undoes ALT-LEFT.
|
||||||
#
|
#
|
||||||
|
# Navigate directory hierarchy using ALT-UP and ALT-DOWN. (mac keybindings not yet implemented)
|
||||||
|
# ALT-UP moves to higher hierarchy (cd ..)
|
||||||
|
# ALT-DOWN moves into the first directory found in alphabetical order
|
||||||
|
#
|
||||||
|
|
||||||
dirhistory_past=($PWD)
|
dirhistory_past=($PWD)
|
||||||
dirhistory_future=()
|
dirhistory_future=()
|
||||||
|
@ -134,3 +138,49 @@ bindkey "\e\e[C" dirhistory_zle_dirhistory_future
|
||||||
bindkey "\eO3C" dirhistory_zle_dirhistory_future
|
bindkey "\eO3C" dirhistory_zle_dirhistory_future
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# HIERARCHY Implemented in this section, in case someone wants to split it to another plugin if it clashes bindings
|
||||||
|
#
|
||||||
|
|
||||||
|
# Move up in hierarchy
|
||||||
|
function dirhistory_up() {
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
# Move down in hierarchy
|
||||||
|
function dirhistory_down() {
|
||||||
|
cd "`find . -mindepth 1 -maxdepth 1 -type d | sort -n | head -n 1`"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Bind keys to hierarchy navigation
|
||||||
|
function dirhistory_zle_dirhistory_up() {
|
||||||
|
zle kill-buffer # Erase current line in buffer
|
||||||
|
dirhistory_up
|
||||||
|
zle accept-line
|
||||||
|
}
|
||||||
|
|
||||||
|
function dirhistory_zle_dirhistory_down() {
|
||||||
|
zle kill-buffer # Erase current line in buffer
|
||||||
|
dirhistory_down
|
||||||
|
zle accept-line
|
||||||
|
}
|
||||||
|
|
||||||
|
zle -N dirhistory_zle_dirhistory_up
|
||||||
|
# xterm in normal mode
|
||||||
|
bindkey "\e[3A" dirhistory_zle_dirhistory_up
|
||||||
|
bindkey "\e[1;3A" dirhistory_zle_dirhistory_up
|
||||||
|
# Mac teminal (alt+up)
|
||||||
|
#bindkey "^[?" dirhistory_zle_dirhistory_up #dont know it
|
||||||
|
# Putty:
|
||||||
|
bindkey "\e\e[A" dirhistory_zle_dirhistory_up
|
||||||
|
# GNU screen:
|
||||||
|
bindkey "\eO3A" dirhistory_zle_dirhistory_up
|
||||||
|
|
||||||
|
zle -N dirhistory_zle_dirhistory_down
|
||||||
|
bindkey "\e[3B" dirhistory_zle_dirhistory_down
|
||||||
|
bindkey "\e[1;3B" dirhistory_zle_dirhistory_down
|
||||||
|
# Mac teminal (alt+down)
|
||||||
|
#bindkey "^[?" dirhistory_zle_dirhistory_down #dont know it
|
||||||
|
bindkey "\e\e[B" dirhistory_zle_dirhistory_down
|
||||||
|
bindkey "\eO3B" dirhistory_zle_dirhistory_down
|
||||||
|
|
Loading…
Reference in a new issue