spa*_*sue 4 emacs replace selection evil-mode
默认情况下,它:s/[search-term]/[replace-term]适用于整行而不是视觉选择.例如,如果您在c和e之间进行选择,则:
a b |c d e| f g
Run Code Online (Sandbox Code Playgroud)
而且:s/ //g,结果是:
abcdefg
Run Code Online (Sandbox Code Playgroud)
而不是
a b cde f g
Run Code Online (Sandbox Code Playgroud)
同样,在视觉块选择中:
a b |c d e| f g
0 1 |2 3 4| 5 6
Run Code Online (Sandbox Code Playgroud)
:s/ //g 产量
abcdefg
0123456
Run Code Online (Sandbox Code Playgroud)
而不是
a b cde f g
0 1 234 5 6
Run Code Online (Sandbox Code Playgroud)
有没有人有办法让邪恶模式的:s/工作只在选择上(最好是默认情况下,或者像vim这样的关键字\%V)?
(:s/\%V //g在这种情况下似乎不起作用;它会导致0场比赛.)
先谢谢.
您可以通过指定范围在视觉选择中进行替换.'<,'>适用于选择的最后一行的第一行,并`<,`>处理第一个字符到最后一个字符.所以在你的第一个例子中
a b |c d e| f g`,
Run Code Online (Sandbox Code Playgroud)
使用:`<,`>s/ //g会给你
a b cde f g
Run Code Online (Sandbox Code Playgroud)
不幸的是,Evil目前似乎不支持Visual Block中的替换,因此没有简单的方法来替换它.