我想在Vim中每一行的末尾添加*。
我尝试了该代码,但没有成功
:%s/\n/*\n/g
我想在Vim中每一行的末尾添加*。
我尝试了该代码,但没有成功
:%s/\n/*\n/g
当前回答
我认为使用可视块模式是处理这类事情的更好、更通用的方法。这里有一个例子:
This is the First line.
This is the second.
The third.
插入“Hello world”。(空格+剪贴板)在每一行的末尾:
在第一行的字符上,按Ctrl-V(如果按Ctrl-V,则按Ctrl-Q) 是粘贴)。 按jj将可视块扩展到三行。 按$将可视块扩展到每行的末尾。按下一个 然后空格,然后输入Hello world。+然后Esc。
结果是:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(例子来自Vim.Wikia.com)
其他回答
你不需要在最后加上g。所以它变成:
:%s/$/*
或者如果你只想在后面加*,就写14-18行:
:14,18s/$/*
or
:14,18norm A*
:%s/$/\*/g
应该工作,所以应该:%s/$/*/g。
如果你想在每一行的末尾添加Hello world:
:%s/$/HelloWorld/
如果你想这样做的具体行数说,从20到30使用:
:20,30s/$/HelloWorld/
如果你想在每一行的开头这样做,那么使用:
:20,30s/^/HelloWorld/
我认为使用可视块模式是处理这类事情的更好、更通用的方法。这里有一个例子:
This is the First line.
This is the second.
The third.
插入“Hello world”。(空格+剪贴板)在每一行的末尾:
在第一行的字符上,按Ctrl-V(如果按Ctrl-V,则按Ctrl-Q) 是粘贴)。 按jj将可视块扩展到三行。 按$将可视块扩展到每行的末尾。按下一个 然后空格,然后输入Hello world。+然后Esc。
结果是:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(例子来自Vim.Wikia.com)
一种选择是:
美元:g / s / / *
这将找到每一行结束锚,并将其替换为*。我说“替代”,但实际上,它更像是一个追加,因为锚是一个特殊的东西,而不是一个常规字符。有关更多信息,请参见g的力量-示例。