我发现vim中的substitue有一个范围参数:
:[range]s/pattern/sring/[c]/[g]/[e]/[i]/[I]/[p]
但是我想知道让替换只在视觉选择中发生是否方便。
任何人都知道怎么做?
答案 0 :(得分:4)
是的,你可以这样做。
视觉选择后,按:
会显示:'<,'>
,'<,'>
是[range]
部分。
然后做替换,如:
:'<,'>s/foo/bar/g
答案 1 :(得分:1)
要将范围限制为可视行,'<,'>
范围可以完成工作。但是,对于字符或块状选择,这是不够的。您需要修改正则表达式或使用 vis.vim 插件;否则,选择之外的字符(但在行内)也会受到影响。
查找关于Vim Tips Wiki的完整讨论:http://vim.wikia.com/wiki/Applying_substitutes_to_a_visual_block