当前位置:  开发笔记 > 编程语言 > 正文

如何在Vim中每行的末尾添加一个字符串?

如何解决《如何在Vim中每行的末尾添加一个字符串?》经验,为你挑选了8个好方法。

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

我尝试了代码失败了

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

dirkgently.. 339

:%s/$/\*/g

应该管用.因此,应该:%s/$/*/g为MrWiggles正确地指出.



1> dirkgently..:

:%s/$/\*/g

应该管用.因此,应该:%s/$/*/g为MrWiggles正确地指出.


+1.没有必要在替换tho中逃避星号
每行只有1个EOL,因此不需要`g`标志.
对.但是,一个人对我来说更具可读性.

2> Cyber Olivei..:

甚至比:search命令更短:

:%norm A*

这就是它的含义:

 %       = for every line
 norm    = type the following commands
 A*      = append '*' to the end of current line


男人,没有vi或vim线程,我从中没有学到什么东西.今天我学习了规范.正如他们在干杯中所说,"常态!"
_另外一个提示:_这也适用于范围.只需在视觉模式中突出显示这些线条并按下`:`,这将使用`:'<,'>`预先填充命令,然后您可以将其命名为`:'<,'> norm A*`
作为[VimGolfer](http://vimgolf.com),我忍不住补充一点,使用`I*`而不是`0i*`将为您节省一次击键.
对于前置,使用"I"代替 - ":%norm I*`
对于前置,你只需使用0i*,0带你到行的开头,i用于插入模式,*用于*.d:

3> Brian Carper..:

也:

:g/$/norm A*

也:

ggG$A*



4> 小智..:

我认为使用视觉块模式是一种更好,更通用的方法来处理这类事物.这是一个例子:

这是第一行.
这是第二个.
第三.

插入"Hello world".(空格+剪贴板)在每一行的末尾:

在第一行中的字符上,按Ctrl-V(如果Ctrl-V为粘贴,则按Ctrl-Q).

按jj将视觉块扩展到三行.

按$将可视块扩展到每行的末尾.按A然后按空格键,然后键入Hello world.+然后Esc.

结果是:

这是第一行.你好,世界.
这是第二个.你好,世界.
第三.你好,世界.

(例如来自http://vim.wikia.com/wiki/Inserting_text_in_multiple_lines)


不是按下`jj`,而是可以点击`G`移动到最后一行.这在大型文件中非常有用,其中按下`j`直到你到达最后一行是不切实际的.

5> 小智..:

如果你想在每一行的末尾添加Hello world:

:%s/$/HelloWorld/

如果你想对特定的行数说,从20到30使用:

:20,30s/$/HelloWorld/

如果你想在每一行的开头做这个,那么使用:

:20,30s/^/HelloWorld/



6> paxdiablo..:

一种选择是:

:g/$/s//*

这将找到每条线的末端锚点并用代替*。我说“替代”,但实际上,它更多地是附加内容,因为锚是特殊的东西,而不是常规字符。有关更多信息,请参见g的幂-示例。



7> JohnnyCoder..:

...并在每行前加上(添加开头),

%s/^/*/g



8> 小智..:

你真的不需要g最后的.所以它变成:

:%s/$/*

或者,如果你只是想要*结束,请说第14-18行:

:14,18s/$/*

要么

:14,18norm A*

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有