summaryrefslogtreecommitdiff
path: root/plugins/dirhistory/dirhistory.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dirhistory/dirhistory.plugin.zsh')
-rw-r--r--plugins/dirhistory/dirhistory.plugin.zsh41
1 files changed, 26 insertions, 15 deletions
diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh
index 35c43d76a..cbac84600 100644
--- a/plugins/dirhistory/dirhistory.plugin.zsh
+++ b/plugins/dirhistory/dirhistory.plugin.zsh
@@ -2,7 +2,7 @@
# 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.
#
-# Navigate directory hierarchy using ALT-UP and ALT-DOWN. (mac keybindings not yet implemented)
+# Navigate directory hierarchy using ALT-UP and ALT-DOWN.
# ALT-UP moves to higher hierarchy (cd ..)
# ALT-DOWN moves into the first directory found in alphabetical order
#
@@ -108,26 +108,30 @@ function dirhistory_forward() {
# Bind keys to history navigation
function dirhistory_zle_dirhistory_back() {
# Erase current line in buffer
- zle kill-buffer
- dirhistory_back
- zle accept-line
+ zle .kill-buffer
+ dirhistory_back
+ zle .accept-line
}
function dirhistory_zle_dirhistory_future() {
# Erase current line in buffer
- zle kill-buffer
+ zle .kill-buffer
dirhistory_forward
- zle accept-line
+ zle .accept-line
}
zle -N dirhistory_zle_dirhistory_back
# xterm in normal mode
bindkey "\e[3D" dirhistory_zle_dirhistory_back
bindkey "\e[1;3D" dirhistory_zle_dirhistory_back
-# Mac teminal (alt+left/right)
+# Terminal.app
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then
bindkey "^[b" dirhistory_zle_dirhistory_back
fi
+# iTerm2
+if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
+ bindkey "^[^[[D" dirhistory_zle_dirhistory_back
+fi
# Putty:
bindkey "\e\e[D" dirhistory_zle_dirhistory_back
# GNU screen:
@@ -136,9 +140,14 @@ bindkey "\eO3D" dirhistory_zle_dirhistory_back
zle -N dirhistory_zle_dirhistory_future
bindkey "\e[3C" dirhistory_zle_dirhistory_future
bindkey "\e[1;3C" dirhistory_zle_dirhistory_future
+# Terminal.app
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then
bindkey "^[f" dirhistory_zle_dirhistory_future
fi
+# iTerm2
+if [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
+ bindkey "^[^[[C" dirhistory_zle_dirhistory_future
+fi
bindkey "\e\e[C" dirhistory_zle_dirhistory_future
bindkey "\eO3C" dirhistory_zle_dirhistory_future
@@ -160,23 +169,24 @@ function dirhistory_down() {
# Bind keys to hierarchy navigation
function dirhistory_zle_dirhistory_up() {
- zle kill-buffer # Erase current line in buffer
+ zle .kill-buffer # Erase current line in buffer
dirhistory_up
- zle accept-line
+ zle .accept-line
}
function dirhistory_zle_dirhistory_down() {
- zle kill-buffer # Erase current line in buffer
+ zle .kill-buffer # Erase current line in buffer
dirhistory_down
- zle accept-line
+ 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
+if [[ "$TERM_PROGRAM" == "Apple_Terminal" || "$TERM_PROGRAM" == "iTerm.app" ]]; then
+ bindkey "^[[A" dirhistory_zle_dirhistory_up
+fi
# Putty:
bindkey "\e\e[A" dirhistory_zle_dirhistory_up
# GNU screen:
@@ -185,7 +195,8 @@ 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
+if [[ "$TERM_PROGRAM" == "Apple_Terminal" || "$TERM_PROGRAM" == "iTerm.app" ]]; then
+ bindkey "^[[B" dirhistory_zle_dirhistory_down
+fi
bindkey "\e\e[B" dirhistory_zle_dirhistory_down
bindkey "\eO3B" dirhistory_zle_dirhistory_down