将 \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
我有这样一个文件:
$ 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