0

我在 vim 中使用突出显示的搜索。因此,当我搜索一个词时,该词的所有出现都会突出显示。完成后,我想删除突出显示。
根据Vim Documentation:let @/=""清除最后搜索的模式并删除突出显示。

所以我试图映射Ctrl+/:let @/="".

我已将以下行添加到我的 .vimrc

nnoremap <C-/> :let @/=""<CR>

但它不起作用。Ctrl+/不清除搜索模式。另一方面,如果我手动输入:let @/="",它工作正常。

我究竟做错了什么?

4

2 回答 2

1

我在我的 vimrc 中使用它:

nnoremap <Esc> :noh<CR>

将其映射到Esc对我来说似乎很自然。

于 2013-09-11T18:46:01.280 回答
0

由于键盘输入在内部处理的方式,不幸的是,这在今天通常是不可能的,即使在 GVIM 中也是如此。某些组合键,如Ctrl+ 非字母无法映射,Ctrl+ 字母与Ctrl+ Shift+ 字母无法区分。(除非您的终端为它发送一个不同的termcap代码,而大多数人不会。)在插入或命令行模式下,尝试键入组合键。如果没有任何反应/插入,则不能使用该组合键。这也适用于<Tab>/ <C-I>, <CR>/ <C-M>/ <Esc>/<C-[>等(唯一的例外是<BS>/ <C-H>。)这是一个已知的痛点,也是 vim_dev 和 #vim IRC 频道上各种讨论的主题。

一些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(即使是支持这个的终端中的控制台 Vim),并提出了各种建议,cp。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但是截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在未来的 Vim 8 主要版本中拥有它。

于 2013-09-12T06:55:17.837 回答