在使用tmux时,当使用zsh vi-mode的“插入模式”时,如何退出?

3
我正在使用 zsh 和其插件 vi-modvi-mode。我选择使用键盘组合键 jk 来退出插入模式。起初,我发现在输入 j 后加上 k 的时间太短了。我在我的 .zsh 文件中设置了 export KEYTIMEOUT="30" 来解决这个问题。
不幸的是,我在使用 tmux 时遇到了同样的问题:敲击键盘 j 后,加上 k 的时间太短了。我在一些论坛上看到了选项set -s escape-time NUMBER,但似乎并不适用,即使使用 NUMBER=0NUMBER=500,我仍然觉得时间太短了。
你有什么想法吗?感谢您的阅读!
(顺便说一下,我正在使用 Debian Buster 操作系统)
2个回答

2

我遇到了类似的问题(我也使用vi模式),我用bindkey解决了它。

如果你运行这个命令,它会列出很多你可能不期望的不寻常绑定。你可能会找到一个与你正在使用的按键相关的绑定。

我的问题/延迟与搜索有关,所以解决方案是在我的.zshrc文件中添加这一行(删除):

bindkey -r '\e/'

有趣,我这周会看一下并告诉你它的工作原理,谢谢! - user8622655

0

当你将KEYTIMEOUT设置得太小,例如KEYTIMEOUT=1时,会引入其他问题,否则你需要继续容忍按键延迟。

虽然你可以通过删除前缀键(即bindkey -r '\e/')来暂时解决这个问题,但你也许知道这种解决方案并不完美。

但如果你不介意使用插件,我认为下面这个插件可以完美地帮助你,还有更好的vi模式等额外优点。

zsh-vi-mode:ZSH的更好和友好的vi(vim)模式插件。
https://github.com/jeffreytse/zsh-vi-mode

这个插件解决了你的问题,并具有以下功能:

  • 更接近本地化的vi(vim)模式,提供更好的使用体验。
  • 更低的延迟和更好的响应(模式切换、小部件调用)。
  • 不同光标样式指示模式。
  • 光标移动(导航)。
  • 插入和替换(插入模式)。
  • 文本对象(单词、内部单词等)。
  • 搜索历史记录。
  • 撤销、重做、剪切、复制、粘贴和删除。
  • 更好的环绕功能(添加、替换、删除、移动和突出显示)。
  • 切换关键字(增加/减少数字、布尔值、星期几、月份等)。
  • ...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接