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