25

次の行を含むファイルがあります。

aa
bb
cc
dd

これを次のように変換したい:

aa
aa
bb
bb
cc
cc
dd
dd

これはVIで可能ですか?

4

3 に答える 3

46

この単純なものを試してください:

:g/^/norm yyp

さらに別のもの(短い):

:%s/.*/&\r&

別のもの:

:%!sed p
于 2012-09-18T00:54:18.880 に答える
40

g/^/t.
( gfor ) コマンドはglobal、パターンに一致する行を探します。
指定したパターンは で^、すべての行に一致します。
tコピーして貼り付け、最後
dot下に貼り付けるように指示します。

私は簡潔さのために勝ちますか?

于 2012-09-18T01:15:39.607 に答える
11

グローバル コマンド を使用gして、ファイル内のすべての行を操作します。

:g/^/norm yyp

このgコマンドは、パターンに一致するすべての行で動作します。^どの行にもマッチするパターンです。現在の行をヤンクして貼り付けるnormコマンドを実行します。も機能します。yyp:g/^/norm Yp

コマンドの詳細:help globalについては、 を参照してください。 また、 のvim wikiページも参照してくださいg

于 2012-09-18T00:54:25.423 に答える