我正在尝试将通用缓冲区的内容添加到每行的末尾。我确信这很简单,但是,一小时的谷歌搜索让我无处可去。
这就是我的文件
::带来野营的东西
--matches
--tent
- 睡袋 - 充气床
--firewood
- 营地炉 --skillet
我想在每一行的末尾添加“::带来露营的东西”。
到目前为止,我已经想到了这一点。
我的问题在于第3步。如何告诉“搜索和替换命令”使用“ p ”(通用缓冲区的内容)而不是“ p “角色
非常感谢你的帮助。
答案 0 :(得分:0)
只是一个建议:如果您尝试使用宏,您将能够使用'p'添加常规缓冲区的内容。
答案 1 :(得分:0)
对于第三步,而不是\ p,你应该使用ctrl-R-a。按住控制键并键入大写“R”,继续按住控件,然后键入小写“a”。
对于包含多个单词的行,请使用ctrl-R-“而不是。
答案 2 :(得分:0)
抱歉,我不得不进入vim并找出答案。
在命令模式下复制整行的方法是:
^ r“
(那是CTRL和r,然后是“)
这应该粘贴您搜索并替换命令
的整行答案 3 :(得分:0)
我同意使用宏 - 它们非常强大。 在这种情况下,我拿了你的列表示例并将其定位在第一个冒号。 我使用y $来获取缓冲区中剩余的行。 然后我录制了宏 - 我选择了1。 Q1 Ĵ$ PQ
然后,您可以为列表中的任意行调用它。例如。 10 @ 1
答案 4 :(得分:0)
了解了解决这个问题的一些事情......
:%s/$/\=getreg()/
\ =后面是要计算的表达式,getreg()调用获取寄存器的内容,默认情况下是vi调用的“常规缓冲区”。