我想在Vim中每一行的末尾添加*。

我尝试了该代码,但没有成功

:%s/\n/*\n/g

当前回答

另外:

:g/$/norm A*

另外:

gg<Ctrl-v>G$A*<Esc>

其他回答

:%s/$/\*/g

应该工作,所以应该:%s/$/*/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)

甚至比:search命令还短:

:%norm A*

它的意思是:

 %       = for every line
 norm    = type the following commands
 A*      = append '*' to the end of current line
%s/\s*$/\*/g

这将达到目的,并确保前面的空格被忽略。

...在每一行的开头加上*,

%s/^/*/g