我发现substitue在Vim有一个范围参数:如何用Vim中的视觉选择替代?
:[range]s/pattern/sring/[c]/[g]/[e]/[i]/[I]/[p]
但我知道这将是得心应手,让替代仅发生在视觉选择。
任何人都知道该怎么做?
我发现substitue在Vim有一个范围参数:如何用Vim中的视觉选择替代?
:[range]s/pattern/sring/[c]/[g]/[e]/[i]/[I]/[p]
但我知道这将是得心应手,让替代仅发生在视觉选择。
任何人都知道该怎么做?
是的,你可以做到这一点。
经过视觉选择后,按:
会给你:'<,'>
,'<,'>
是[range]
的一部分。
然后做这样的替代品:
:'<,'>s/foo/bar/g
要的范围限定于视觉线,在'<,'>
范围内做这项工作。尽管如此,对于字符或分段选择来说,这还不够。您需要修改正则表达式或使用vis.vim插件;否则,选择外的字符(但在行内)也会受到影响。
查找Vim的提示维基完整的讨论:http://vim.wikia.com/wiki/Applying_substitutes_to_a_visual_block
+1供参考,谢谢 – mko
+1功效神奇! – mko
什么是正常范围参数? '2,5s/foo/bar/g'是否意味着从第2行到第5行? – mko
你说得对。请参阅':help range'。 – romainl