zsh 自定义快捷键
在 zsh 中,一个快捷键对应一个 widget
bindkey
: 可以看到目前所有的快捷键以及对应的 widgetbindkey <keystroke>
: 指定快捷键的 widget
cat -v
: 可以查看特殊字符的表示
ctrl:
^
:^a
-> ctrl + a
alt:
\e
:\eb
-> alt + b
bindkey <keystroke> <widget>
: 将一个快捷键绑定到已有的 widget 中bindkey -s <keystroke> <keystroke>
: 将一个快捷键绑定到另一个快捷键上bindkey -M <keymap> <keystroke>
: 绑定到具体的模式bindkey -M vicmd "\eb" end_of_line
bindkey -r <keystroke>
: 删除一个快捷键
zsh 中存在这几种模式:
emacs
: emacs 模拟viins
: vi mode -> insert modevicmd
: vi mode -> normal modeviopp
: vi mode -> operation-pending modevisual
: vi mode -> visual mode
zel -la
: 查看所有的 widgetszle -N <widget-name>
: 新加一个 widgetzle -u <content>
: 输入内容man-preview zshzle
: 查看说明文档
自定义一个 widget:
# in your ~/.zshrc
function custom_widget() {
ls
}
zle -N custom_widget