如何在 Vim 中每行末尾的特定列添加反斜杠标记?
例如,我想要
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Ut nec orci sagittis, pharetra ex ut,
aliquet nisi.
Run Code Online (Sandbox Code Playgroud)
成为
Lorem ipsum dolor sit amet, \
consectetur adipiscing elit. \
Ut nec orci sagittis, pharetra ex ut, \
aliquet nisi. \
Run Code Online (Sandbox Code Playgroud)
在此示例中,反斜杠被插入到第 40 列。我知道如何将它们插入到每行 ( ) 的末尾%s/$/\\/g
,但不知道如何插入必要的空格以使标记对齐。
谢谢你的帮助
一种简单的方法是启用'virtualedit'
,至少暂时启用,这样您就可以导航到行尾之后的列。
:set virtualedit=all
Run Code Online (Sandbox Code Playgroud)
进入正确的列后,您可以使用 Ctrl+V 进入分块可视模式并在每一行上选择该列。
对于这个特定示例,有 4 行文本,在第 40 列上添加反斜杠,您可以使用以下序列:(40|
转到第 40 列,同时仍在第一行),<C-V>
(进入可视块模式),3j
(向下移动 3 行.)
此时,您可以使用r\
反斜杠“替换”光标下的字符。(光标下实际上没有字符,但'virtualedit'
会执行正确的操作来添加足够的空格来到达此列并让反斜杠就位。)