emacs keybindings for command line

This commit is contained in:
Jie Feng 2017-03-10 19:43:10 +08:00
parent 2407f28011
commit 396eeffe0d

View File

@ -3,7 +3,51 @@
# http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Standard-Widgets
bindkey -v # Use vi key bindings
bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line.
# VI MODE KEYBINDINGS (ins mode)
bindkey -M viins '^a' beginning-of-line
bindkey -M viins '^e' end-of-line
# bindkey -M viins '^k' kill-line
bindkey -M viins '^r' history-incremental-pattern-search-backward
bindkey -M viins '^s' history-incremental-pattern-search-forward
bindkey -M viins '^p' up-line-or-history
bindkey -M viins '^n' down-line-or-history
bindkey -M viins '^y' yank
bindkey -M viins '^w' backward-kill-word
bindkey -M viins '^u' backward-kill-line
bindkey -M viins '^h' backward-delete-char
bindkey -M viins '^?' backward-delete-char
bindkey -M viins '^_' undo
bindkey -M viins '^x^r' redisplay
bindkey -M viins '\eOH' beginning-of-line # Home
bindkey -M viins '\eOF' end-of-line # End
bindkey -M viins '\e[2~' overwrite-mode # Insert
bindkey -M viins '\ef' forward-word # Alt-f
bindkey -M viins '\eb' backward-word # Alt-b
bindkey -M viins '\ed' kill-word # Alt-d
# VI MODE KEYBINDINGS (cmd mode)
bindkey -M vicmd '^a' beginning-of-line
bindkey -M vicmd '^e' end-of-line
# bindkey -M vicmd '^k' kill-line
bindkey -M vicmd '^r' history-incremental-pattern-search-backward
bindkey -M vicmd '^s' history-incremental-pattern-search-forward
bindkey -M vicmd '^p' up-line-or-history
bindkey -M vicmd '^n' down-line-or-history
bindkey -M vicmd '^y' yank
bindkey -M vicmd '^w' backward-kill-word
bindkey -M vicmd '^u' backward-kill-line
bindkey -M vicmd '/' vi-history-search-forward
bindkey -M vicmd '?' vi-history-search-backward
bindkey -M vicmd '^_' undo
bindkey -M vicmd '\ef' forward-word # Alt-f
bindkey -M vicmd '\eb' backward-word # Alt-b
bindkey -M vicmd '\ed' kill-word # Alt-d
bindkey -M vicmd '\e[5~' history-beginning-search-backward # PageUp
bindkey -M vicmd '\e[6~' history-beginning-search-forward # PageDown
# emacs style
bindkey '^a' beginning-of-line