如何用外部命令修改视觉选择的块?


9

我有一个由两个垂直部分组成的文件。在左侧,数据已经被格式化,我不想更改它。我只想在右侧格式化数据。说我有一个像这样的文件

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

还有更多类似的内容 我只想修改“#”字符右侧的文本。我使用以下表达式选择了所需的文本:

gg
/#
ctrl-v
G
$

但是,如果我随后尝试对其进行修改(例如使用:'<,'>!column -t),则实际上它会修改每一行的整体。仅用于修改视觉选择的零件的正确表达是什么?


2
您可以尝试Dr. Chip 的vis插件或我的NrrwRgn插件。两者都应该处理得很好。
Christian Brabandt

Answers:


6

您也可以尝试:

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

来自:h :visual_example

当前,“:”命令仅适用于整行。当选择一行的一部分时,执行诸如“:!date”之类的操作将替换整行。如果只希望替换部分行,则必须为其进行映射。在将来的版本中,“:”可能会在部分行上起作用。

另请参见:h visual-operators

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.