たとえば、VIMにテキストがある場合
http://a.com
http://b.com
すべての行(全行)を見つけて前後に出る行に置き換えることは可能ですか?たとえば、次のようになります。
<a href="http://a.com">http://a.com</a>
<a href="http://b.com">http://b.com</a>
各行に対してテキストが繰り返されます。 hrefについては一度、テキストについては一度。
答え1
:%s:.*:<a href="&">&</a>:
ed/sed/perlと同じです...
あまり似ていませex
んが、より類似した別のvim
アプローチは次のとおりです。 1行に1回行う方法がわかっている場合は、マクロとして記録してからそこからマクロを実行してください:%normal @m
。m
類似(通常モード):qmS<a href="<Ctrl-R>""><Ctrl-R>"</a><Esc>q
マクロを記録します。
答え2
なぜパイプを使用しているのですか?
:%s/.*/\<a href=\"&\"\>&\<\/a\>/g
(すべてのコマンド文字列を\で表示)