如何过滤视觉选择?

时间:2013-04-24 16:01:20

标签: vim

假设我们有一些很好的文本:

Hello world

我们在视觉模式中选择world。然后我们可以使用像这样的闪亮命令过滤视觉选择:

:'<,'>!echo foobar

但是,这会用foobar而不是world替换整行。为什么会这样,我们如何才能替换world

1 个答案:

答案 0 :(得分:7)

:!过滤器命令始终适用于整行(这与原始 vi 一样旧,嵌入 Ex命令:开头,'<,'>范围也只指定

您可以使用古老的vis plugin来实现您的结果;它提供:B命令,将以下命令限制为可视选择的文本。

:'<,'>B !echo foobar

该插件适用于所有类型的Ex命令;对于选择中的:substitute,您也可以使用特殊的\%V原子。