将 \n 替换为 \n' '

Replace \n with \n' '

我有这样一个文件:

$ cat t.py 
'a\nb\n'

在文件中,光标位于第一行,我想使用 :s/ 到达

'a\n'
'b\n'

我该怎么做?我试过了

:s/\n/\n''

但结果是

'a^@''b^@'''

您可以在 vim 中使用此替换:

:%s/\(\n\)\([^']\)/'\r'/g

解释:

  • %s/:换人开始
  • \(\n\):匹配文字 \n 并在组 #1
  • 中捕获
  • \([^']\):匹配一个非'的字符并在组#2
  • 中捕获
  • /'\r'/:替换为反向引用 #1 + ' + 换行符 + ' + 反向引用 #2

代入结果:

'a\n'
'b\n'

或者您可以在 vim 中使用 非常神奇的 正则表达式并避免所有转义:

%s/\v(\n)([^'])/'\r'/g