在OSX系统VSCode中如何将文本/Markdown里的\n显示为换行?
问题解析与解决
核心原因
你保存到文本文件里的\n是字面量字符——也就是实际存储的是\和n两个独立的普通文本字符,而不是OSX系统用来表示换行的LF控制字符(也就是我们常说的\n控制符)。VSCode会把它们当成普通文本显示,自然不会触发换行。
为什么手动替换/Notepad++能生效?
- 手动替换时,你是主动把「
\+n」这两个字符换成了编辑器的换行操作,本质是将字面量转成了换行控制符。 - Notepad++里替换
\n为\n时,是因为开启了「扩展模式」:查找框里的\n会被解析成字面量字符串,替换框里的\n则被解析为换行控制符,自动完成了转义转换。
VSCode内快速解决步骤
不用切换到其他工具,直接在VSCode里搞定:
- 打开目标文本文件,按
Cmd+F调出查找框,点击右侧的「正则表达式」按钮(图标是.*)。 - 查找栏输入:
\\n(两个反斜杠用来匹配字面量的\,加上n就能精准匹配所有\n字面量)。 - 替换栏输入:
\n(正则模式下,这个会被解析成实际的换行控制符)。 - 点击「全部替换」,所有字面量
\n就会变成真正的换行。
从源头避免问题
如果这些带\n的内容是你自己的程序输出的,可以修改程序逻辑,让输出直接输出换行控制符,而不是把换行转成\n字面量字符串,这样保存到文件时就不用再手动替换了。
内容的提问来源于stack exchange,提问作者echo
相关产品推荐
相关产品推荐

