外部コマンドで視覚的に選択されたブロックを変更する方法は?


9

2つの垂直部分で構成されるファイルがあります。左側では、データは既にフォーマットされており、変更したくありません。右側のデータのみをフォーマットします。次のような行があるファイルがあるとします

foo=bar baz     # Neato       Junk
quux=xyzzy      # Bilbo Baggins Ring

そのような多くの行で。「#」文字の右側のテキストのみを変更したい。次の式で必要なテキストを選択しました。

gg
/#
ctrl-v
G
$

しかし、それを(たとえばで:'<,'>!column -t)変更しようとすると、実際にはすべての行全体が変更されます。視覚的に選択された部分のみを変更するために使用する正しい式は何ですか?


2
Dr. Chipのvisプラグインまたは私のNrrwRgnプラグインを試すことができます。どちらも問題なく処理できます。
クリスチャンブラバンド2016年

回答:


6

あなたも試すことができます:

gg
^V
G
t#
d
:%!column -t
gg
P

から:h :visual_example

現在、「:」コマンドは行全体でのみ機能します。行の一部を選択する場合、「:! date」のようなことを行うと行全体が置き換えられます。行の一部だけを置き換えたい場合は、そのマッピングを作成する必要があります。将来のリリースでは、「:」は部分的な行で機能する可能性があります。

詳細についても参照:h visual-operatorsしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.