5

假设我们有一些不错的文本:

Hello world

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

:'<,'>!echo foobar

但是,这会将整行foobar替换为world. 为什么会这样,我们如何才能替换world

4

1 回答 1

8

:!filter 命令始终适用于整行(这与原始vi一样古老,嵌入以 开头的Ex 命令:),并且'<,'>范围也仅指定lines

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

:'<,'>B !echo foobar

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

于 2013-04-24T16:13:04.507 回答