次のようなテキストブロックがあるとします。
// Comment1 // Comment2 // Comment3
そして、これらの各行を、対応する3行のコードの最後に追加します。
foo = 1; バー= 2; baz = 3;
その結果、最終結果は
foo = 1; // Comment1 バー= 2; // Comment2 baz = 3; // Comment3
Vimでこれを行う簡単な方法はありますか?
次のようなテキストブロックがあるとします。
// Comment1 // Comment2 // Comment3
そして、これらの各行を、対応する3行のコードの最後に追加します。
foo = 1; バー= 2; baz = 3;
その結果、最終結果は
foo = 1; // Comment1 バー= 2; // Comment2 baz = 3; // Comment3
Vimでこれを行う簡単な方法はありますか?
回答:
視覚ブロックモード(Ctrl+ v)を使用して、1セットの行を選択してから、いずれかyまたはdそれらを選択します。
あなたがバー、FOOを選択した場合次に、バズラインは、コメント行の最初の列を選択するために、もう一度、ビジュアルブロックモードを使用して、Shift+ pそれらの場所に(またはあなたがコメント行を選択した場合、fooのバーバズの最後の列を選択します線とpそれらを配置します。
ポジショニングのコツをつかむには少し練習が必要かもしれませんが、コツをつかめば飛ぶでしょう。ブロックを選択したら、Shift+ Aを使用して、たとえばブロックにスペースを追加することもできます(追加すると、新しいテキストは最上行にのみ表示されますが、escを押すと、選択されたすべての行に表示されます) 。同様に、Shift+ iは各行の選択されたブロックの先頭で同じことを行います。
ただし、後で空の行をクリーンアップする必要があります。
これらのテクニックをより詳細に示す素晴らしいvimcastsエピソードもあります。
:set ve=all
非常に用途が広いと思います。個人的にはUnconditionalPasteプラグイン(vim.org/scripts/script.php?script_id=3355)を使用していますが、これは私のニーズに少し合っているためです。