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的主要内容,如果未能解决你的问题,请参考以下文章