对于使用粘贴进行常规搜索,//的映射表现得很奇怪

Vit*_*ner 8 vim

我有一个映射使用//作为项目中的全局git搜索在光标下的单词:

nmap // :let @/="...
Run Code Online (Sandbox Code Playgroud)

问题是,在我添加此映射后,当我尝试粘贴搜索词时,常规搜索表现得很奇怪.即如果我点击/然后粘贴(Mac上的Apple-v)我会得到以下内容:

/<t_<fa>X>
Run Code Online (Sandbox Code Playgroud)

更新.

什么是确切的映射并不重要.例如,只需尝试以下操作:

map // echo "test"<cr>
Run Code Online (Sandbox Code Playgroud)

现在输入//,您将test在状态栏中看到.

现在输入/并立即点击粘贴.我明白了

/<t_<fa>X>
Run Code Online (Sandbox Code Playgroud)

mb1*_*b14 0

我也有同样的行为。这似乎是 MacVim 中的一个错误,因为在终端模式下的 MacVim 中不会发生这种情况。映射(哪个键和什么)似乎没有改变任何东西。似乎每次按下时 Vim 都会等待一个键来完成映射,而不是取消映射并执行应该执行的操作,它会取消映射但发送此键。如果等到映射超时,则不会出现该问题。

您可以像这样在插入模式下重现它

:imap vv vv
Run Code Online (Sandbox Code Playgroud)

类型 v 并且在插入模式下足够快,您将拥有相同的 X>。