vim: 如何在视觉模式选择中替换文本?
vim: how to replace text in visual mode selection?
我有一个文本文件:
hello world ssh!
this is your destiny
Oh my goodness
在视觉模式下,我select从"world"到"my":我想把我的[=25=中的字母's'改成'k' ]ion.
我定义不能使用行模式,因为那样的话第 3 行的 "goodness" 会被改变。
那么如何在可视模式下进行这个替换呢?
您可以使用 \%V
将搜索限制为视觉选择:
:'<,'>s/\%Vs/k/g
见:help \%V
要在正常模式下实现同样的效果(在您做出选择并退出它之后),请在替代查询中一起使用 \%V
原子和 %
范围修饰符
:%s/\%Vs/k/g
:s/foo/bar
- 替代查询
%
- 确保它适用于文件中的所有行
\%V
- 将范围限制为最后一次视觉模式选择(即您使用 gv
获得的那个)
g
- 一个全局标志,确保所有事件都会受到影响(而不是每行中的第一个,这是默认行为)
更多信息在 http://vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection
我有一个文本文件:
hello world ssh!
this is your destiny
Oh my goodness
在视觉模式下,我select从"world"到"my":我想把我的[=25=中的字母's'改成'k' ]ion.
我定义不能使用行模式,因为那样的话第 3 行的 "goodness" 会被改变。
那么如何在可视模式下进行这个替换呢?
您可以使用 \%V
将搜索限制为视觉选择:
:'<,'>s/\%Vs/k/g
见:help \%V
要在正常模式下实现同样的效果(在您做出选择并退出它之后),请在替代查询中一起使用 \%V
原子和 %
范围修饰符
:%s/\%Vs/k/g
:s/foo/bar
- 替代查询
%
- 确保它适用于文件中的所有行
\%V
- 将范围限制为最后一次视觉模式选择(即您使用 gv
获得的那个)
g
- 一个全局标志,确保所有事件都会受到影响(而不是每行中的第一个,这是默认行为)
更多信息在 http://vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection