我的文字看起来像这样:
foo x1
ddd
ggg
...
bar
我想在foo之后把这个词拉出来,去吧线是吧,用txt替换吧,然后粘贴这个被拉出来的单词。
我需要在此代码中替换" j"用搜索" bar"
的东西:/^foo/norm! wywj0rtlrxlrt"0p
现在我得到了这个结果:
foo x1
txtx1.
ggg
...
bar
谢谢!
答案 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
)的双引号。