次の行を含むファイルがあります。
aa
bb
cc
dd
これを次のように変換したい:
aa
aa
bb
bb
cc
cc
dd
dd
これはVIで可能ですか?
この単純なものを試してください:
:g/^/norm yyp
さらに別のもの(短い):
:%s/.*/&\r&
別のもの:
:%!sed p
g/^/t.
( gfor ) コマンドはglobal、パターンに一致する行を探します。
指定したパターンは で^、すべての行に一致します。
tコピーして貼り付け、最後
にdot下に貼り付けるように指示します。
私は簡潔さのために勝ちますか?
グローバル コマンド を使用gして、ファイル内のすべての行を操作します。
:g/^/norm yyp
このgコマンドは、パターンに一致するすべての行で動作します。^どの行にもマッチするパターンです。現在の行をヤンクして貼り付けるnormコマンドを実行します。も機能します。yyp:g/^/norm Yp
コマンドの詳細:help globalについては、 を参照してください。 また、 のvim wikiページも参照してくださいg。