我有一个这样的文件:
$ cat t.py
'a\nb\n'
在文件中,将光标定位在第一行,我想使用 :s/
到达
'a\n'
'b\n'
我怎样才能做到这一点?我已经尝试过了
:s/\\n/\n''
但最终结果是
'a^@''b^@'''
最佳答案
您可以在 vim
中使用此替换:
:%s/\(\\n\)\([^']\)/\1'\r'\2/g
说明:
%s/
:替换开始\(\\n\)
:匹配文字\n
并在组 #1 中捕获\([^']\)
:匹配非'
的字符并在组 #2 中捕获/\1'\r'\2/
:用反向引用 #1 +'
+ 换行符 +'
替换+ 反向引用#2
替换结果:
'a\n'
'b\n'
或者您可以在 vim
中使用非常神奇正则表达式并避免所有转义:
%s/\v(\\n)([^'])/\1'\r'\2/g
关于regex - 将\n 替换为\n' ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66917057/