如何将普通模式映射应用于所有搜索模式命中?

时间:2014-10-25 13:06:46

标签: vim

假设我的.vimrc

中有以下常规模式映射

nnoremap <Leader>Sc ciw{{c1::<C-r>"}}<Esc>

基本上,这会围绕一个带括号和前缀的单词。

如何将此映射应用于所有搜索结果? E.g。

PATTERN is in a line that can contain many PATTERN,
and another PATTERN here

会将映射<Leader>Sc应用于所有PATTERN

我得到的最近的是:g//normal n\ScPATTERN在我的搜索“缓冲区”中,我的领导者是\

1 个答案:

答案 0 :(得分:4)

:g可让您对匹配的执行某些操作。没有发生。因此,如果您要在所有PATTERN上应用映射,则可以使用/ or ?n记录宏以导航到下一个匹配项。

实际上,我认为您的映射可能在您打字或处理一些案例时很方便。如果要对整个缓冲区进行转换,为什么不使用:s命令? E.g。

:%s/\<PATTERN\>/{{c1::&}}/g

非常简单明了,不是吗?如果你需要更多,你可以做一个映射或写一个小功能来做到这一点。