![如何在 vim ex 模式下复制/粘贴](https://linux22.com/image/1244953/%E5%A6%82%E4%BD%95%E5%9C%A8%20vim%20ex%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E5%A4%8D%E5%88%B6%2F%E7%B2%98%E8%B4%B4.png)
写完这些话我越来越沮丧
:%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
文件中。