viこのパターンでファイルを作成する必要があります。最初の行を使用してこれらの行を自動生成する方法はありますか
run 1 end
run 2 end
run 3 end
run 4 end
run 5 end
run 6 end
私はいつでもこれをExcelで実行してからテキストファイルに変換してからに切り替えることができますが、Excelに戻す必要がないようにそれviを行う方法があるかどうか知りたいと思っていました.vi
:help ctrl-a
^a は、マクロで使用できるカーソル位置の数値をインクリメントします。あなたの場合、最初の行があり、カーソルがその上にあると仮定します:
qaYpw^aq4@a
トリックを行う必要があります。これは、ヘルプ ページで概説されている手法でありw、カーソルを番号に移動するように変更されています。それを分解する:
qaレジスタにマクロの記録を開始するaY現在の行をヤンクするpヤンク バッファを現在の位置の下に置き、新しい行の列 1 に移動しますw1 単語進む (数字まで)^a数を増やすqマクロの記録を停止する<count>@aマクロを <count> 回適用する
もう 1 つの手法は、外部ツールを使用することです。たとえば、すでに行があり、カーソルがその上にある場合:
!!awk '1;{for(i=0;i<5;i++){$2+=1; print}}'
:put!=map(range(1,6),'\"run \".v:val.\" end\"')
ウィリアムの答えはとてもいいです。別の解決策を投稿します(もう少し複雑です)。最初の行が既にあるとします
Y6P
:let g:I=1
:%g/\d/s/\d/\=g:I/|let g:I=g:I+1
:help sub-replace-\=)