首页 > 解决方案 > 如何在vim中可靠地禁用ZZ映射

问题描述

我正在尝试禁用ZZvim中的映射,因为我发现自己在尝试使用时意外退出vim太多>>(我使用西班牙语键盘)。

我的尝试很明显:

nnoremap ZZ <Nop>

虽然它适用于我的用例,但我发现这样做Z<wait 1 second>Z仍然会触发“保存并退出”行为。

据我了解,Vim 会等待timeoutlen几毫秒,如果时间过去了,地图不会触发,Vim 会使用默认ZZ行为。

ZZ我的问题是,即使timeoutlen通过而不更改超时配置,我如何才能可靠地禁用?

标签: vim

解决方案


在写这个问题时,我开始修改一个想法,最后得出这个结论:

nnoremap Z <Nop>
nnoremap ZZ <Nop>

无论您如何按,这始终有效ZZ;如果你按下它并等待,第一张地图就会触发并清除Z,如果你不等待第二张地图就会触发。

我希望这对其他人有用。


推荐阅读