如何在 vim 中的特定行插入文本?
how to insert text at specific lines in vim?
我想将光标放在特定的行上:
AAA
BBB
CCC
我知道如何使用 CTRL_V
和 SHIFT_I
编辑这三行,但我的问题是如何编辑第一行和最后一行并省略第二行,即:
test_AAA
BBB
test_CCC
提前致谢。
Vim 没有 built-in“多光标”功能。如果您想以普通方式进行操作,可以使用 :help .
:
" cursor is on first A
> AAA
BBB
CCC
" do itest_<Esc>
> test_AAA
BBB
CCC
" move the cursor to CCC
test_AAA
BBB
> CCC
" press .
test_AAA
BBB
> test_CCC
还是万能的:help :global
,也就是de-facto操作non-contiguous行的方法:
:g/^AA|^CC/s/^/test_
还有很多其他方法。
或者您可以要求您最喜欢的引擎帮助您找到复制该功能的几个插件:“vim 多个游标”。
您可以使用反向全局命令:
:v/^BBB/norm Itest_
说明:
普通全局命令使用“g”而不是“v”来反转搜索,因此,对于不以 BBB 开头的每一行,使用普通命令“I”(插入)
我想将光标放在特定的行上:
AAA
BBB
CCC
我知道如何使用 CTRL_V
和 SHIFT_I
编辑这三行,但我的问题是如何编辑第一行和最后一行并省略第二行,即:
test_AAA
BBB
test_CCC
提前致谢。
Vim 没有 built-in“多光标”功能。如果您想以普通方式进行操作,可以使用 :help .
:
" cursor is on first A
> AAA
BBB
CCC
" do itest_<Esc>
> test_AAA
BBB
CCC
" move the cursor to CCC
test_AAA
BBB
> CCC
" press .
test_AAA
BBB
> test_CCC
还是万能的:help :global
,也就是de-facto操作non-contiguous行的方法:
:g/^AA|^CC/s/^/test_
还有很多其他方法。
或者您可以要求您最喜欢的引擎帮助您找到复制该功能的几个插件:“vim 多个游标”。
您可以使用反向全局命令:
:v/^BBB/norm Itest_
说明:
普通全局命令使用“g”而不是“v”来反转搜索,因此,对于不以 BBB 开头的每一行,使用普通命令“I”(插入)