如何在zsh命令行上舒适地切换到vi命令模式?


22

在vi中,我已将'jj'映射为转义以能够切换到命令模式而无需使用烦人的转义键。现在,我想要使用vi-mode的命令行编辑具有相同的功能。我已经找到以下解决方案:

bindkey '^j' vi-cmd-mode

使您可以使用control-j更改为命令模式。仍在寻找没有修饰键的解决方案,例如'jj'或类似名称。


4
为什么不将Caps Lock重新映射为逃逸?
kyrias

Answers:


30

注意:您应该查看man zshzle有关自定义bindkey和仿真的许多优点GNU readline

这就是我映射jj到的方式Esc

bindkey -M viins 'jj' vi-cmd-mode

如果您有兴趣区分插入模式和普通模式,可以尝试akira 在这里提到的建议


是的 完美地工作。多谢!
Eman Resu

在zsh中工作之前,是否需要满足一些先决条件?还是调试键绑定的方法?插入此命令后,没有任何反应。jj仍然不起作用。
2014年

5
我将KEYTIMEOUT设置得太低,这就是原因。
UltraMaster

@Ultramaster很好。如果您已经设置了KEYTIMEOUT的速度,则建议> = 20毫秒。例如export KEYTIMEOUT=20
工艺
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.