Léo*_* 준영 247 regex vim replace match
我想*
在Vim中添加到每一行的末尾.
我尝试了代码失败了
:%s/\n/*\n/g
Run Code Online (Sandbox Code Playgroud)
Cyb*_*ira 332
甚至比:search命令更短:
:%norm A*
Run Code Online (Sandbox Code Playgroud)
这就是它的含义:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
Run Code Online (Sandbox Code Playgroud)
Bri*_*per 42
也:
:g/$/norm A*
Run Code Online (Sandbox Code Playgroud)
也:
gg<Ctrl-v>G$A*<Esc>
Run Code Online (Sandbox Code Playgroud)
小智 32
我认为使用视觉块模式是一种更好,更通用的方法来处理这类事物.这是一个例子:
这是第一行.
这是第二个.
第三.
插入"Hello world".(空格+剪贴板)在每一行的末尾:
结果是:
这是第一行.你好,世界.
这是第二个.你好,世界.
第三.你好,世界.
(例如来自http://vim.wikia.com/wiki/Inserting_text_in_multiple_lines)
小智 10
如果你想在每一行的末尾添加Hello world:
:%s/$/HelloWorld/
Run Code Online (Sandbox Code Playgroud)
如果你想对特定的行数说,从20到30使用:
:20,30s/$/HelloWorld/
Run Code Online (Sandbox Code Playgroud)
如果你想在每一行的开头做这个,那么使用:
:20,30s/^/HelloWorld/
Run Code Online (Sandbox Code Playgroud)
小智 5
你真的不需要g
最后的.所以它变成:
:%s/$/*
Run Code Online (Sandbox Code Playgroud)
或者,如果你只是想要*
结束,请说第14-18行:
:14,18s/$/*
Run Code Online (Sandbox Code Playgroud)
要么
:14,18norm A*
Run Code Online (Sandbox Code Playgroud)