複数の行にまたがる変数の割り当てを調整するのに役立つマップされたvimコマンドを作成したいと思います。ファイルに次のテキストがあるとします。
foo = 1;
barbar = 2;
asdfasd = 3;
jjkjfh = 4;
baz = 5;
複数の行を選択して以下の正規表現を使用すると、列10がすべての行の空白にあることに注意してください。列10の後の空白は、等号まで削除されます。
:'<,'>s/^\(.\{10}\)\s*\(=.*\)$/\1\2/g
結果は次のとおりです。
foo = 1;
barbar = 2;
asdfasd = 3;
jjkjfh = 4;
baz = 5;
視覚的なブロック選択の実行中に現在のカーソル位置(具体的には列の位置)を取得し、その列を正規表現で使用する方法はありますか?
または、選択した行の等号の最大列を見つけて空白を挿入し、すべての等号が列ごとに整列するようにすることが可能な場合は、前の問題を解決するよりも優先されます。すばやく変換することを想像してみてください。
foo = 1;
barbar = 2;
asdfasd = 3;
jjkjfh = 4;
baz = 5;
に:
foo = 1;
barbar = 2;
asdfasd = 3;
jjkjfh = 4;
baz = 5;
ブロック選択とキーコンボを使用します。