搜索" bar"在使用规范时!在Vim

时间:2017-07-29 12:28:50

标签: vim replace

我的文字看起来像这样:

foo x1
ddd
ggg
...
bar

我想在foo之后把这个词拉出来,去吧线是吧,用txt替换吧,然后粘贴这个被拉出来的单词。

我需要在此代码中替换" j"用搜索" bar"

的东西
:/^foo/norm! wywj0rtlrxlrt"0p

现在我得到了这个结果:

foo x1
txtx1. 
ggg
...
bar

谢谢!

1 个答案:

答案 0 :(得分:1)

也许您只需将动作j替换为/bar

要告诉:normal您要点击Enter并验证搜索,可以按C-v然后Enter在命令行上插入文字回车符,它会给出这个命令:

:norm! wyw/bar^M0rtlrxlrt"0p

^M是字面回车的插入符号。

或者你可以将整个命令包装在非文字字符串中(用双引号括起来),在其中你可以用符号\<cr>\r表示回车符,并执行内容:execute的字符串。它会给:

:exe "/^foo/norm! wyw/bar\r0rtlrxlrt\"0p"

这里,\r代表验证搜索所需的回车,由于字符串必须使用双引号,因此必须转义复制寄存器("0)的双引号。