将键序列绑定到 Escape, zsh

Ale*_*ura 13 keyboard-shortcuts zsh vi-mode

我将如何映射jj到Esczsh?

我正在尝试重新创建我在 vim 中设置的键映射,我已经jj映射到ESC该映射,以便每当我双击时j,它都会<Esc>向 vim发送 an - 允许我更方便地进入正常模式。

我已经试过了bindkey 'jj' ^[,我准备试一下bindkey 'jj' ^[[,但我怀疑它会起作用。我还检查了 zsh 在正常模式下提供的命令列表,但没有看到任何包含normal或escape.

注意我的文件中
的^[字符~/.zshrc是实际的硬编码转义符;不仅仅是字符^和[。

Sté*_*las 14

您需要-s绑定实际字符串而不是小部件:

bindkey -s jj '\e'
Run Code Online (Sandbox Code Playgroud)

尽管您可能想jj在vi-cmd-mode此处映射到小部件:

bindkey jj vi-cmd-mode
Run Code Online (Sandbox Code Playgroud)

(请注意,这是在插入模式下绑定,而不是正常/命令模式)

  • **注意** 设置`KEYTIMEOUT` 似乎打破了键绑定。 (3认同)