gpt4 book ai didi

regex - 如何在 GVim 正则表达式的替换中添加换行符

转载 作者:行者123 更新时间:2023-12-02 09:36:13 27 4
gpt4 key购买 nike

我在 Windows 7 上使用 GVim。

我想学习如何使用正则表达式替换来放置换行符。为此,我尝试使用\r 和\n 元字符,但替换的文本不显示正常的换行符。

例如,一开始我有:

line 1
line 2

Before substitution

我使用以下替换表达式:

:%s/\n/\n\n/g

然后 GVim 生成以下文本:

line 1^@^@line 2^@^@

After substitution with \n as newline characters

相反,如果我在替换表达式中使用\r\n

:%s/\n/\r\n/g

然后 GVim 生成以下文本:

line 1
^@line 2
^@

After substitution with \r\n as newline

那些 ^@ 字符是什么?

如何在替换表达式中正确使用换行符?

最佳答案

^@ 为 nul

<小时/>

出于某种原因,vim 希望在替换文本中看到 \r 以便插入换行符。 (\n 在替换中插入一个 nul。)

因此,通过运行 /\n 成功找到换行符后,请尝试:

s//\r/

或者添加额外的换行符:

s/$/\r/

在模式方面,\r 表示实际的 (015) CR 字符,当您想要用换行符替换回车符时,会导致以下看起来奇怪的命令:

s/\r/\r/

不,这不是禁止操作。

关于regex - 如何在 GVim 正则表达式的替换中添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874552/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com