Commands available for use in the line editor are referred to as widgets. The standard widgets are listed in the zshzle
manpage in the STANDARD WIDGETS
section. That manpage is also available from the zsh website
Frage
Where can I find a list of zsh
commands that I can use with bindkey
, with descriptions?
Each time that I look for name of some standard action (e.g., end-of-line
), I need to google and guess that the command found is what I look for.
Related:
Lösung 3
Andere Tipps
bindkey -l
will give you a list of existing keymap names.bindkey -M <keymap>
will list all the bindings in a given keymap.If you use the zsh command line in emacs mode, then the
emacs
keymap is likely to be most important for you.If you use it in vi mode, then you’d be interested in
viins
andvicmd
.
(See the zshzle(1)
man page for more details.)
Once you have a list of keybindings, you can search the official ZLE documentation for the name of the action (or “widget” in zsh parlance).
zle -al
lists all registered zle commands
- Zsh Line Editor Doc: https://web.cs.elte.hu/local/texinfo/zsh/zsh_10.html
- Look up system current bindkey setting:
$ bindkey
, eg($ bindkey|grep case
, looking for down-case); $ zle -al
used for list all registered zle commands;- Bind your personal key for zsh command ,
$ vim ~/.zshrc
, add
# bindkey
bindkey "^U" backward-kill-line
bindkey "^u" backward-kill-line
bindkey "^[l" down-case-word
bindkey "^[L" down-case-word
# alt+<- | alt+->
bindkey "^[f" forward-word
bindkey "^[b" backward-word
# ctrl+<- | ctrl+->
bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
- See other things: oh-my-zsh down-case-word bug: https://github.com/robbyrussell/oh-my-zsh/commit/55a9d685fd960390a4f400ac461d901049a78beb
I'm on zsh via putty. For me the bindings were different. You can find this out with CTRL+V
followed by for example the left arrow. It will display the used character sequence. So for me it was:
bindkey "^[[D" backward-word
bindkey "^[[C" forward-word
bindkey "^H" backward-kill-word
After installing oh-my-zsh
, I typed bindkey 'anything'
then press tab, then say yes
. The list of available bindkeys will be flushed out