vscode 中的LF CRLF

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vscode 中的LF CRLF相关的知识,希望对你有一定的参考价值。

参考技术A \n 、\r\n 换行还是回车换行

本文参考自:  http://www.yulongjun.com/linux/20170518-08-lf-cr/

我们打开Visual Studio Code编辑器,可以看到右下角有这个LF,这是VS Code的默认行尾序列的符号:

点开后,我们可以到,有两种模式可选,LF,CRLF:

为什么是这样呢,这两种模式有什么区别呢?

在Linux下,默认换行的话,是LF模式,见下图两个红框部分:

Linux下创建的LinuxFIle文件,用Linux的编辑器在里面写了三行文本。然后我用Python显示出转义符,可以看到是\n,这里的\n就是指的是 换行符(LF)

然后我们在Windows下用记事本,写一个文件WindowsFile.txt,然后上转到Linux上去同样的方法查看。可以看到是\r\n,\r指的就是 回车(CR) ,\r\n连起来就是 回车换行(CRLF)

也就是说:在Linux里编辑文件,一行结束后跟的是\n;在Windows里用自带的记事本编辑文件,一行结束后跟的是\r\n

tips:在Windows下有很多编辑器,是默认支持LF的方式,如Visual Studio Code、Sublime Text、Notepadd++,而且默认的编码格式是UTF-8,所以,大家在Windows下写Linux脚本,或打开Linux下的文件,可以用上面的编辑器,而不要用Windows自带的记事本。

CR和LF是缩写,其实他们的全称分别是:Carriage-Return和Line-Feed。追本溯源的说,CR(Carriage-Return)和LF(Line-Feed)这两个词来源于打字机的发明和使用。

打字机的纸张向下卷动一行,就是 换行(LF, Line-Feed)

将打印头从最右边归位到最左边,就是 回车(CR, Carriage-Return)

如果把一个Windows记事本建立的文档,放到Linux里用的话,要用dos2unix来转换一下后,再使用。当然最好的方法还是用专门的编辑器,不要用记事本。

warning: LF will be replaced by CRLF 问题解决

window7下使用git


新项目

git init

git add .


系统会出现大批:warning: LF will be replaced by CRLF in xxxxx


就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。

这两个ACSII字符不会在屏幕有任何输出,但在Windows中广泛使用来标识一行的结束。而在Linux/UNIX系统中只有换行符。

也就是说在windows中的换行符为 CRLF, 而在linux下的换行符为:LF

使用git来生成一个工程后,文件中的换行符为LF, 当执行git add .时,系统提示:LF 将被转换成 CRLF


解决

rm -rf .git

git config --global core.autocrlf false 


世界就清静了

以上是关于vscode 中的LF CRLF的主要内容,如果未能解决你的问题,请参考以下文章

Git将图像中的CRLF转换为LF

eslint 关于CRLF或者LF报错

Git中CRLF与LF的转换

notepad++替换CRLF为LF

Git:warning: LF will be replaced by CRLF

Git中出现 "LF will be replaced by CRLF" 警告