Answers:
使用gn
动作来编辑当前搜索匹配。下面的示例将当前匹配项更改为“ FooBar”:
cgnFooBar
有关此技术的重要之处在于,您可以通过重复更改.
。假设下一场比赛将以您可以.
重复使用的相同方式进行更改。或通过跳过一些匹配项n
,然后使用.
。
Vimcasts在这件事上有一个不错的插曲:使用gn进行搜索匹配
有关更多帮助,请参见:
:h gn
:%s/oldtext/newstuff/g
会改变所有的比赛oldtext
来newstuff
。
如果您已经使用/word
或搜索过单词?word
。
您可以通过将搜索字词()留空来用:%s//newword/gc
替换以前搜索的词。newword
s//..
该c
旗说,每一次变化应得到确认,按y
了是或n
否。
查看:help :s_flags
有关确认标志的更多信息。
l
,a
和q
(或<Esc>
)用于各种方式的收官确认周期。
方法1
您可以利用gn
和gN
映射来完成所需的操作。 gn
将向前搜索最后使用的搜索字词,然后直观地选择匹配项。 gN
除了向后搜索外,其他功能完全相同。当与诸如的运算符结合使用时c
,该运算符将应用于匹配,例如,如果您的最后一个搜索字符串是“ foo”,并且您键入cgn
,它将向前搜索“ foo”的下一个实例,将其删除,然后使您进入插入模式以输入替换文本。
有关这些的更多信息,请参见:help gn
和:help gN
。
方法#2
您可以将:substitute
命令与c
标志一起使用。这将要求您确认每次替换。例如,假设您要在整个文件中用bar替换foo,但要确认每次替换:
:%s/foo/bar/gc
如需更多关于这个,看到这些帮助主题::help :s_flags
,:help cmdline-ranges
,和:help :substitute
。
gn
,所以这是我刚刚发现的类似方法:c//e<CR>FooBar<Esc>//<CR>