假设我们有一些不错的文本:
Hello world
我们选择world
可视模式。然后我们可以使用像这样的闪亮命令过滤视觉选择:
:'<,'>!echo foobar
但是,这会将整行foobar
替换为world
. 为什么会这样,我们如何才能替换world
?
假设我们有一些不错的文本:
Hello world
我们选择world
可视模式。然后我们可以使用像这样的闪亮命令过滤视觉选择:
:'<,'>!echo foobar
但是,这会将整行foobar
替换为world
. 为什么会这样,我们如何才能替换world
?
:!
filter 命令始终适用于整行(这与原始vi一样古老,嵌入以 开头的Ex 命令:
),并且'<,'>
范围也仅指定lines。
您可以使用古老的vis 插件来实现您的结果;它提供了一个:B
命令,将以下命令限制为可视选择的文本。
:'<,'>B !echo foobar
该插件适用于所有类型的 Ex 命令;不过,:substitute
在选择范围内,您也可以使用特殊\%V
原子。