2017-07-29 1 views
2

に私はこのようになりますテキストを持っている:ノルムを使用している間に「バー」を検索してください! Vimの

foo x1 
ddd 
ggg 
... 
bar 

私がfooの後に単語をヤンクしたい、ラインに行くバーでは、TXTとバーを交換し、ヤンク単語を貼り付けました。

私はこのコードでは「バー」を検索し、何かで「J」を交換する必要が

:/^foo/norm! wywj0rtlrxlrt"0p 

私はこの結果を得る:

foo x1 
txtx1. 
ggg 
... 
bar 

ありがとうございました!

答えて

1

おそらく、jモーションを/barに置き換えることができます。あなたがEnterを押すと検索を検証すること:normalを伝えるために

、あなたがEnterその後、C-vを押すことにより、コマンドライン上のリテラル改行を挿入することができ、そしてそれは、このコマンドを与える:

:norm! wyw/bar^M0rtlrxlrt"0p 

^Mは、リテラルキャリッジリターンのキャレット表記です。

それとも、あなたが表記\<cr>または\rとキャリッジリターンを発現し、:executeと文字列の内容を実行することが可能な(二重引用符で囲まれた)非リテラル文字列、内部のコマンド全体を包むことができます。それは与えるだろう。ここでは

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

は、\r検索を検証するために必要なキャリッジリターンを意味し、文字列は二重引用符を使用しなければならないので、コピー・レジスタ("0)の二重引用符をエスケープする必要があります。

関連する問題