VSCode git Warning LF will be replaced by CRLF

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

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

点开后,我们可以到,有两种模式可选,LFCRLF

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

在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 CodeSublime TextNotepadd++,而且默认的编码格式是UTF-8,所以,大家在Windows下写Linux脚本,或打开Linux下的文件,可以用上面的编辑器,而不要用Windows自带的记事本。

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

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

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

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

 

posted on 2018-10-30 15:42  freeliver54  阅读(775)  评论(0编辑  收藏  举报

导航