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