1

vimdiff を使用して、別のグループのファイルからの変更を自分のファイルにマージしています。すべての変更を受け入れる必要はないので、手動で行う必要があります。ただし、一度に複数の変更を受け入れるように vimdiff に指示する方法があるかどうか疑問に思っていました。つまり、次の変更のみを受け入れるのではなく、次の 10 個の変更を一度に受け入れることができるようにしたいと考えています。現在、「]c」を使用して次の変更にジャンプし、「do」を使用してその変更を受け入れています。ファイルは 250000 行で、5000 行目までしかありません...

よろしく、萩井

4

1 に答える 1

1

一言で言えば、マクロを使用して必要なことを正確に達成できます。

  1. 通常モードでは、'q' とランダムな文字を押して、'f' としましょう:これにより、レジスタ 'f' にマクロの記録が開始されます。
  2. 繰り返したいアクションを実行します:この場合は ']c' と 'do' です。
  3. マクロの記録を停止します。もう一度「q」を押します。

これで、通常モードで'@f'と入力して使用できるようになり、マクロ 'f' に記録されたアクションが再生されます。そこから、いくつかのオプションがあります。

  • 「@@」と入力すると、vim は最後のマクロを再生します。ヒント: キーボードでコンビネーションを押し続けると、1 行ずつ非常に高速に実行されます。
  • '1000@f'と入力すると、vim は最後のマクロを 1000 回再生します。
  • 入力の手間を省きたい場合は、'1000@f' を実行する 'g' などの新しいマクロを記録することができます。これにより、'@g' は '1000@f' を呼び出しますが、'@ の後に '@@' を使用するとg' 行ごとに実行します。

ここに素晴らしいチュートリアルがあります: http://www.thegeekstuff.com/2009/01/vi-and-vim-macro-tutorial-how-to-record-and-play/

于 2013-12-28T02:57:30.550 に答える