如何在一列之前打破线?

fei*_*ang 3 unix vim

我想在多行的一列之前插入return,所以我在正常模式下用Ctrl+ 选择该列的字符V,然后键入I,Vim进入插入模式.键入Enter键后,按键Esc,只有一行被打破.有没有办法执行此功能?谢谢.

ib.*_*ib. 6

要在特定列之前断开线,请使用\%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)