我想在多行的一列之前插入return,所以我在正常模式下用Ctrl+ 选择该列的字符V,然后键入I
,Vim进入插入模式.键入Enter键后,按键Esc,只有一行被打破.有没有办法执行此功能?谢谢.
要在特定列之前断开线,请使用\%v
在零宽度的给定位置匹配的搜索模式原子(请参阅参考资料:help /\%v
).以下示例命令在第七列和第八列之间插入新行字符.
:%s/\%8v/\r/
Run Code Online (Sandbox Code Playgroud)
这个想法可以扩展为使用光标当前所在列的编号.
:exe'%s/\%'.virtcol('.').'v/\r/'
Run Code Online (Sandbox Code Playgroud)
上面的命令不需要选择那些列.但是,如果您更容易使用块状可视模式指定拆分列,\%V
请在所选区域内使用零宽度原子匹配(请参阅参考资料
:help \%V
).
:'<,'>s/\%V/\r/
Run Code Online (Sandbox Code Playgroud)