Skip to content

Latest commit

 

History

History
61 lines (39 loc) · 1.19 KB

06_zsh03.md

File metadata and controls

61 lines (39 loc) · 1.19 KB

zsh 3

zsh 自定义快捷键

BindKey

在 zsh 中,一个快捷键对应一个 widget

  • bindkey: 可以看到目前所有的快捷键以及对应的 widget
  • bindkey <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>: 删除一个快捷键

keymaps

zsh 中存在这几种模式:

  • emacs: emacs 模拟
  • viins: vi mode -> insert mode
  • vicmd: vi mode -> normal mode
  • viopp: vi mode -> operation-pending mode
  • visual: vi mode -> visual mode

widgets

  • zel -la: 查看所有的 widgets
  • zle -N <widget-name>: 新加一个 widget
  • zle -u <content>: 输入内容
  • man-preview zshzle: 查看说明文档

自定义一个 widget:

# in your ~/.zshrc
function custom_widget() {
  ls
}

zle -N custom_widget