如何在一列之前换行?

发布于 2024-12-09 08:24:17 字数 184 浏览 0 评论 0原文

我想在多行的一列之前插入 return,所以我在正常模式下使用 Ctrl+V 选择这一列的字符,然后输入 I,Vim 进入插入模式。输入Enter键后,按Esc键,只有一行被断开。有什么办法可以实现这个功能吗?谢谢。

I want to insert return before one column of multiple lines, so I select the characters of this column with Ctrl+V in normal mode, then type I, Vim enters insert mode. After typing Enter key, and press key Esc, only one line is broken. Is there any way to perform this function? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

稳稳的幸福 2024-12-16 08:24:17

要在特定列之前换行,请使用 \%v 搜索模式原子
以零宽度匹配给定位置(请参阅 :help /\%v)。这
以下示例命令在第七个和
第八列。

:%s/\%8v/\r/

这个想法可以扩展到使用光标所在的列号
目前位于。

:exe'%s/\%'.virtcol('.').'v/\r/'

上面的命令不需要选择这两列。
但是,如果您更容易使用 blockwise 指定拆分列
可视模式,在选定区域内使用 \%V 零宽度原子匹配(请参阅
<代码>:帮助\%V)。

:'<,'>s/\%V/\r/

To break lines just before a particular column, use \%v search pattern atom
that matches in a given position with zero-width (see :help /\%v). The
following example command inserts new line character between the seventh and
the eighth columns.

:%s/\%8v/\r/

This idea could be extended to use the number of the column where the cursor
is currently located.

:exe'%s/\%'.virtcol('.').'v/\r/'

The commands above does not require neither of those columns to be selected.
However, if it is easier for you to specify the split column with blockwise
Visual mode, use \%V zero-width atom matching inside the selected area (see
:help \%V).

:'<,'>s/\%V/\r/
莫相离 2024-12-16 08:24:17

快速而肮脏的解决方案 - 首先,插入一些不在列中的字符(例如 #),然后插入 gv,然后插入 '<,'>s/#/\r/ g

如果有人提供更聪明的解决方案,我会很高兴。

quick and dirty solution - first, insert some character which is not in column (say, #) , then, gv, then '<,'>s/#/\r/g.

will be glad if one provide more clever solution.

岁月蹉跎了容颜 2024-12-16 08:24:17

选择所需的行后,要在第三列上中断:(

:'<,'>g/./norm! 3|a^M

通过按 <插入^M CR>)

,类似于 查找每第三个值并插入 cr 或VIM 中的换行符

After selecting the desired lines, to break on third column:

:'<,'>g/./norm! 3|a^M

(^M inserted by pressing <c-v><CR> or <c-q><CR>)

, similar to answer on Find every third value and insert cr or newline in VIM

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文