我的配置文件中有这个
{{1}}
并在可视模式下按a需要2秒钟来进行操作
为什么会这样?这是不好的做法吗?
答案 0 :(得分:6)
此问题是由以下事实引起的:您映射了以开头的 else (在可视模式或所有模式下)。
想象一下,我在.vimrc中映射了2个不同的命令(或您所称的配置文件)
vnoremap a A
vnoremap ab D
在这里,当我在可视模式下按'a'时,我希望它附加文本。 当我按'ab'时,我希望它为我删除一行。
我现在伸到键盘上,然后按“ ab”。 vim如何知道我要删除一行,而不仅仅是在文本后附加字母“ b”?两者都需要相同的按键。
所以要说出区别,当我按下“ a”键时,vim会等待一秒钟以查看我选择哪个命令。如果我快速按下“ b”键,它将意识到这实际上是指令'ab'表示'D'表示删除。
如果我按下'a'并等待一秒钟,vim将接受我正在发出指令'a'的意思是'A'的意思是追加。然后,我点击“ b”,并将字母“ b”附加到文本之后。
如果要使其停止,则必须遍历.vimrc并将映射更改为尽可能不重叠(以相同字母开头),或者您可以键入
:h leader
在vim中了解mapleaders,这将使您更轻松地规划地图。我让我的地图负责人设置了个人空间,但很多人也喜欢使用逗号或其他选择的键。
tldr:Vim等待一秒钟,看看您是否要按另一个键并发出不同的命令