Vim更换换行

时间:2012-05-06 11:58:32

标签: vim

我拒绝了Vim,但现在已经放弃了。它可以通过黄油来制作像热刀一样的大文件。

情况:我有一个大文本文件,我想在每行的开头和结尾放一个竖线字符。

问题:这些Vims和其他变体不起作用:

:%s/$/|\$|
:%s/\r/|\r|
:%s/$/|\r|

我怀疑解决这个问题很简单,但搜索Google和Stack并没有帮助。

2 个答案:

答案 0 :(得分:6)

你几乎拥有它:

:%s/^\|$/|/g

^\|$表示行的开头或结尾。在Vim正则表达式中,|“或”管道被转义。接下来是/|/g - 全局替换|

答案 1 :(得分:5)

就个人而言,我更喜欢'的表现力用管道字符围绕每一行

:%s/.*/|&|

在我的大脑中,这比'替换行'的开头或结尾处的不存在的虚构角色更直观。

它还取决于较少的魔术字符(^$,引用\|,它们都是笨拙的类型和容易出错。(我的意思是,你记得引用正则表达式吗? |?您知道$\_$之间的区别吗?您是否知道其中一些(如果不是全部)依赖于vim的“魔法配置”?)。) p>

以上都没有受到影响。