在文件中每行的开头和结尾添加字符

Myt*_*yth 41 regex vim replace

在每行的开头和结尾添加一些字符的最佳方法是什么?可以使用Vim或其他方式完成吗?

Ama*_*osh 67

在vim中,你可以做到

:%s/^\(.*\)$/"\1"/
Run Code Online (Sandbox Code Playgroud)
  • s/regex/replace/ 是搜索n替换的vim命令.
  • % 使其适用于整个文件
  • ^并分别$表示该行的开始和结束.
  • (.*)捕捉两者之间的一切.(并且)需要在vim正则表达式中进行转义.
  • \1 将捕获的内容放在两个引号之间.

  • @Myth在末尾添加一个`c`以提示每一行:你可以点击y/n来替换或跳过``%s /^ \(.*h)$ /"\ 1"/ c ` (5认同)
  • 老兄,非常感谢你的详细解释.我终于知道该死的%是什么,等等. (2认同)

小智 53

简单:

%s/.*/"&"

说明:默认情况下,模式被解释为最大可能匹配,因此.*被解释为整行,不需要^$.虽然\(...... \)在选择模式的一部分时很有用,但整个模式并不需要它,而&在替换中表示./除非有其他内容,否则不需要搜索或替换中的最终结果; 把它拿出去可能会被认为是懒惰.(如果是的话,我很懒.)

  • 我喜欢这个比实际标记的更多,因为它很简单,我也很懒:),5年后发表评论怎么样? (3认同)