我拒绝了Vim,但现在已经放弃了。它可以通过黄油来制作像热刀一样的大文件。
情况:我有一个大文本文件,我想在每行的开头和结尾放一个竖线字符。
问题:这些Vims和其他变体不起作用:
:%s/$/|\$|
:%s/\r/|\r|
:%s/$/|\r|
我怀疑解决这个问题很简单,但搜索Google和Stack并没有帮助。
答案 0 :(得分:6)
你几乎拥有它:
:%s/^\|$/|/g
^\|$
表示行的开头或结尾。在Vim正则表达式中,|
“或”管道被转义。接下来是/|/g
- 全局替换|
。
答案 1 :(得分:5)
就个人而言,我更喜欢'的表现力用管道字符围绕每一行:
:%s/.*/|&|
在我的大脑中,这比'替换行'的开头或结尾处的不存在的虚构角色更直观。
它还取决于较少的魔术字符(^
,$
,引用\|
,它们都是笨拙的类型和容易出错。(我的意思是,你记得引用正则表达式吗? |
?您知道$
和\_$
之间的区别吗?您是否知道其中一些(如果不是全部)依赖于vim的“魔法配置”?)。) p>
以上都没有受到影响。