Henry Henry
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)

Henry

小学生中的前端大佬
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)
  • 说明
  • Vim

  • VSCode

  • Chrome

  • iTerm

    • iTerm-说明
    • iTerm-01-导航
    • iTerm-02-初识 zellij
    • iTerm-03-zellij 高级使用技巧
    • iTerm-复习 -1
    • iTerm-04-初始 zsh-vi-mode
    • iTerm05-zsh-vi-mode 高级使用技巧
    • iTerm-06-zsh 常用插件
    • iTerm-07-zsh 自定义快捷键
      • 任务点
        • widgets
        • bindkey
        • 帮助手册
      • 社群讨论
    • iTerm-复习 -2
  • mac

  • Obsidian

  • lazygit

  • 学习双拼
  • Vim 技巧

  • 键盘侠
  • iTerm
Henry
2022-07-24
目录

iTerm-07-zsh 自定义快捷键

# 任务点

# widgets

  • zle -la: 查看内置的 widgets
  • zle -N <widget name>: 自定义 widgets

比如清空窗口:

function clear_screen() {
  # do something
  zle clear-session
  # do something
}

zle -N clear_screen

bindkey '\eg' clear_screen
1
2
3
4
5
6
7
8
9

或者:

bindkey '\eg' clear-screen
1

# bindkey

  • bindkey: 可以查看所有的 widgets
  • bindkey <keystroke>: 基于按键查看 widgets
  • bindkey <keystroke> <widget>: 绑定到已经有的 widgets 里面
  • bindkey -s <keystroke> <keystroke>: 把 a 绑定到 b 快捷键上
  • bindkey -M <keymap> <keystroke>: 绑定到具体模式
  • bindkey -r <keystroke>: 删除
  • bindkey -M <keymap> -r <keystroke>: 删除

绑定的按键都是临时的,关闭 iTerm 之后就失效了

keystroke:

  • ^: ctrl
  • \e: opt

keymap:

  • emacs: Emacs emulation
  • viins: Vi mode - INSERT mode
  • vicmd: Vi mode - NORMAL mode (also confusingly called COMMAND mode)
  • viopp: Vi mode - OPERATOR-PENDING mode
  • visual: Vi mode - VISUAL m

# 帮助手册

  • man zshzle
  • man-preview zshzle
  • cat -v: 获取你输入的是什么字

# 社群讨论

option + 键盘会输出字符怎么解

为什么要解?你设置成快捷键 会优先触发快捷键的

我设了快捷键,他还是输出字符

那设置的有问题 你换成 cmd 试试会触发嘛

可以试下把 iterm2 这里的设置改一下

在 iterm2 的话 需要这么设置一下。上下文的重要性     说在 iterm2 中的话会很快定位到


受 zvm 那个 bug 的影响,source zshrc 之后快捷键也会失效

有错误提示吗

没有任何错误提示

那这种 bug 最难找,现在是确定 zvm 这块插件造成的?

有人提过 issue,https://github.com/jeffreytse/zsh-vi-mode/issues/169

编辑 (opens new window)
上次更新: 5/27/2023, 1:02:05 PM
iTerm-06-zsh 常用插件
iTerm-复习 -2

← iTerm-06-zsh 常用插件 iTerm-复习 -2→

最近更新
01
version 1.15
07-01
02
version 1.14
06-27
03
version 1.13
06-27
更多文章>
Theme by Vdoing | Copyright © 2017-2023 HenryTSZ | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式