换行符

1. 基本概念

有如下两种

换行符 英文名称 中文(仅供参考)
\r CR (Carrage Return) 回车
\n LF (Line Feed) 换行

操作系统

Windows Linux/Unix Mac
\r\n \n \r
CRLF LF CR

现状

  • Unix/Mac 系统的文本文件,在 Windows 中显示成一行。

  • Windows 系统的文本文件,在 Unix/Mac 中行尾会多一个 ^M 符号

2. Vim

# 转换为 Linux/Unix 系统换行符
set ff=unix 

# 转换为 Windows 系统换行符
set ff=dos 
1
2
3
4
5

3. Git

Git 通过 core.autocrlf 参数对换行符进行配置处理。它有三个值,对应如下:

说明
true 文本文件 checkout 到本地,全部转换为 CRLF。提交到服务器,全部转换为 LF
false 文本文件 checkout 与提交都不做任何转换。
input 文件文件 checkout 不做转换,提交则全部转换为 LF
  • Windows 版本的 Git, 安装的默认值为 true

  • 通过项目根目录的 .gitattributes 配置指定文件、文件类型的换行符类型。如:

    *.sh eol=lf
    
    1

    表示所有的 .sh 文件,检入、检出都是以 LF 格式换行。

最近更新: 10/7/2018, 7:49:52 PM