写完这些话我越来越沮丧
:%s/一些非常长的字符串/一些其他可能与第一个字符串不相关的非常长的字符串/gc
有没有办法在 ex 模式下复制/粘贴这些字符串?
答案1
您可以使用Ctrl-R在 Ex 命令行上插入寄存器的值。例如,如果您将一些文本拖入默认寄存器,则可以使用 调用它Ctrl-R"。
对于一些常见情况,也有快捷方式。你可以使用 插入光标下的当前单词Ctrl-RCtrl-W,或使用 插入当前文件名Ctrl-RCtrl-F。
请参阅以下主题以了解更多信息,其中包括更多示例:
:help c_CTRL-R
:help cmdline.txt
寄存器也值得一读:
:help registers
答案2
我几乎总是避免在替换命令中输入搜索字符串,而是先执行搜索(使用/
)或“光标下的单词搜索”(使用*
),然后执行:
:%s//other_string/gc
当搜索模式缺失时,替代命令将使用最后的搜索模式。
除了让您输入更少的字符外,第一种情况,使用 搜索/
,允许在执行替换之前先测试复杂的搜索模式。第二种情况,使用 搜索*
,允许避免插入开始/结束原子,即\<
和\>
。
--
顺便说一句,您可以g
通过添加以下行来避免该标志
set gdefault
在您的vimrc
文件中。