2012-02-27 5 views
2

でコマンド - 私はそれをn回のコピー数が、(上記1)の整数をインクリメントしたいvimのマクロは、私は次のようなテキスト何かのブロック持って最後

blah blah 1 blah blah 
blah 1 blah 1 blah 

を私は貼り付けるたびに。ような何か -

blah blah 1 blah blah 
blah 1 blah 1 blah 

blah blah 2 blah blah 
blah 2 blah 2 blah 

blah blah 3 blah blah 
blah 3 blah 3 blah 

私はブロックの先頭にカーソルを置くと 'QA' とタイプして、REG Aのマクロの記録を開始「y2jp ^A J0 ^A^Aワット k0 'である。英語で - ブロックをコピー&ペーストし、各番号をインクリメントし、新たに貼り付けられたブロックの先頭に戻ってマクロを再実行できるようにします。

最後に 'k0'部分を除いてすべてうまく動作し、カーソルを新しく貼り付けたブロックの先頭に移動しません。誰かが間違っていることを指摘できますか?

編集

私はあなたが提案したマクロを実行すると、私は、次の取得@sehe -

何とか何とか何とか何とか1 何とか1何とか1何とか 何とか何とか何とか1 blahj0.w.yk0 blah 1 blah 1 blah

vimが^ Aの後にまだ挿入モードにあるように見えます。
: -/

答えて

4

私はあなたが何をしているかを達成するためのより良い方法があると思うし、私は実際に間違っているあなたのために何が起こっているかの詳細を見ていないが、ちょうどここに私の作品のマクロです。

2Yjp ^A j0.w.yk0

私は(先頭に挿入する?)あなたは逆で物事をやっていたと思う - 問題カーソルcouldnことだったかもしれませんbefoを上げる最初の行(?テストしていない)。

blah blah 1 blah blah 
blah 1 blah 1 blah 
blah blah 2 blah blah 
blah 2 blah 2 blah 
blah blah 3 blah blah 
blah 3 blah 3 blah 
blah blah 4 blah blah 
blah 4 blah 4 blah 
blah blah 5 blah blah 
blah 5 blah 5 blah 
blah blah 6 blah blah 
blah 6 blah 6 blah 
blah blah 7 blah blah 
blah 7 blah 7 blah 
blah blah 8 blah blah 
blah 8 blah 8 blah 
blah blah 9 blah blah 
blah 9 blah 9 blah 
blah blah 10 blah blah 
blah 10 blah 10 blah 
blah blah 11 blah blah 
blah 11 blah 11 blah 
blah blah 12 blah blah 
blah 12 blah 12 blah 
blah blah 13 blah blah 
blah 13 blah 13 blah 
blah blah 14 blah blah 
blah 14 blah 14 blah 
blah blah 15 blah blah 
blah 15 blah 15 blah 
blah blah 16 blah blah 
blah 16 blah 16 blah 
blah blah 17 blah blah 
blah 17 blah 17 blah 
blah blah 18 blah blah 
blah 18 blah 18 blah 
blah blah 19 blah blah 
blah 19 blah 19 blah 
blah blah 20 blah blah 
blah 20 blah 20 blah 
blah blah 21 blah blah 
blah 21 blah 21 blah 
2

私はあなたがそれが簡単に使用することを見つけることが、k0の使用と間違って何が起こっているかわからないんだけど、戻ってカーソルを取得するには:[email protected]後に私が手とにかく

、代わりにマーク。たとえば、次のように

2Yjpma ^A J0 ^A^Aワット `

+0

テキストj0^AW^A'aは、貼り付けテキストの最初の行の後に表示されます。 – Raminder

+0

@Raminder:マクロをコピー/貼り付けしていて、Ctrl-aの代わりに「^」と「A」を別々の文字にすることはできますか?その後、 "A"を押すと挿入モードになります。 – kyoto

+0

あなたの権利があった。できます :) – Raminder

0

なぜ:

p 
:,+2s/\d\+/\=1+submatch(0)/g "replaces digits by 1+value on all occurences till line + 2 
:-2,y "yanks from line - 2 till current line (=last line with replacement) 

関連する問題