Vimは行単位で編集する場合に非常に強力です。検索/置換ツールは行単位で動作するようにモデル化されています。
しかし、特定の列をすべての行にわたって変更したい場合はどうなりますか?たとえば、ファイルの80番目の列を#
に簡単に変更するにはどうすればよいですか?
substitution を使用できます。 パターンは特定の列に一致します (\%c
):
:%s/\%80c/#/<CR>
または、 block-wise visual モードを使用できます:
gg8|CTRL+vGr#
「 virtualedit
」オプションを使用すると、実際の文字がない位置にカーソルを配置できます。
:set virtualedit
列を編集するには、次の手順を実行します。
人々(私)は時々列編集キーをマップすると思います Ctrl+Q そのため、視覚的な選択線(V)やテキストとして貼り付けても、テキストとは衝突しません。
... sa125(facepalm)の手順に従うことができなかったので、どこか他の場所を探して、いくつかの方が簡単であることがわかりました: https://blog.pivotal.io/labs/labs/column-edit-mode -in-vi
* !!注意「何でも書いてください...」の場合、最初の行だけが変更されるという事実に落胆しないでください!!
それが役に立てば幸い!
ここではまったく話題にならないかもしれませんが、長い行を避けたいという考えなら、vim 7.3の colorcolumn オプションを見ることができます。