回车和换行的历史

"回车" 和 "换行" 均是来源机械英文打字机,是两个独立的过程。

回车

回车的英文是:Carriage Return,回车的意思是回到一行的开头,但并不会换到下一行,只是回到了一行的开头。

回车中的"车"指的是纸车,带着纸一起左右移动的模块,当开始打第一个字之前,要把纸车拉到最右边,弹簧处于拉伸状态,随着打字弹簧会把纸车往左边拉,每当打完一行后,纸车就完全收回去了, 当打下一行之前需要重新把纸车拉到最右边,使得指针指向行的开头,所以叫回车。

换行

换行的英文是:Line Feed,换行的意思是换到下一行,但并不会回到行的开头,只是换到了下一行的同一位置。

机械英文打字机左边有个"把手",往下扳动一下,纸会上移一行,所以叫换行。

回车换行在现代计算机中的表示

不同操作系统对行分隔符的不同实现

行分隔符,Line Separator,不同操作系统对行分隔符的实现是不同的。

显示文本文件中的行分隔符

在 macOS 终端中,要正确显示文件中的回车换行字符,可以使用如下命令:

cat -e filename

这个命令会将文件的内容显示在终端上,并以可见的方式显示回车换行字符。回车字符会显示为^M,换行字符会显示为$。

也可以使用 od 命令,将文件的内容以十六进制形式显示,并显示特殊字符的表示。以下是一个示例命令:

od -c filename

这将会以十六进制和字符形式显示文件内容,可以在输出中找到回车换行字符(\r 和 \n)。

常用文本编辑器和 IDE 中行分隔符的设置

一般文本编辑器都可以选择使用不同的行分隔符。

View -> Line Endings

110302

Settings -> Editor -> Code Style -> Line separator

110945

reference