tl;dr 回车键本意是回到该行行首,在现代计算机日常使用中,这两者的概念已趋于相同。
想象一下我们现在的打字方式:在 word 这类文档编辑器中,有一张虚拟的白纸,光标初始在纸张的左上角。我们一边打字,光标一边向右移动直到这一行写满换行,或是提前按下回车换行。这种方式和我们在纸上用笔写字差不多。然而,早年打打字机却正相反,光标是固定的,纸张反而是移动的。
早年的英文打字机「Typewriter」,在键盘前方有一个滚筒,用来固定纸张。纸通过卷在卷筒上用机械结构固定住。这个滚筒被称为字车「Carriage」。每当打字员按下一个键,就会在固定的位置,通常在中间,印上那个键相应的字符,同时将字车左移一个单位的距离。这样当打到一行结尾的时候字车此时处在最左侧的位置,需要打字员将其推回开始的位置,这个步骤就被称为「回车」。在回车结束后「换行」是另一个操作,指新起一行。理论上光标在任意位置时都可能换行从新行的任意位置开始输入,所以回车「Carriage Return」与换行「Line Feed」其实是两个操作。
中文打字机「Chinese Typewriter」,与英文按键打字不同的是这个步骤变成了「寻字」。在字板上找到想要的字再按下一个相当于确认的键,该字就会被打印在纸上。
回车「return」与确认「enter」
在键盘上,回车键上一般会同时印有 return 和 enter ,这两个词的本意是不同的,return 指回车,enter 其实指的是把当前的内容发送出去。在 Windows Cmd 中,或是 Linux Terminal 里,输入命令 cd 按下回车,此时做的操作其实是将命令发送出去,也就是 enter 的操作。另一个例子是 qq 的聊天窗口中有一个设置是调整回车键在输入时的动作。默认情况下在输入框中按回车,做的是 return 的操作即换行,按 ctrl+回车 才会将消息发送出去,该动作就是 enter。
带有数字键盘的大键盘上,小键盘的右下角有一个 enter 键。这个键和中间的那个回车键意义是不一样的。虽然在大多数应用中,这两个键的动作没什么区别,这是因为应用把这两个命令当成一个了。在 macOS 的 PS 软件里,当处在文本编辑中时,按下回车会换行,而小键盘那个 enter 键会确认输入并跳出编辑。
windows linux macOS 对换行的处理
早期的 ASCII 标准中,出现了两套标准,一套认为 CRLF 或者 CF 都可以,即新行=回车+换行或者新行=换行,另一套认为只有 CRLF 才是正确的,即新行=回车+换行。windows 采取了两边都兼容的 CRLF 方案,而 unix 采用了 LF。linux 与 macOS 都奔向了 unix ,导致 windows 反而被认为是异端。然而,真正的异端其实是 Mac OS X 以前的 Mac OS,它采用的是 CR 方案,即新行=回车。
硬回车与软回车
经常使用 word 的用户一定知道这两个的区别。硬回车是我们通常情况下按回车键产生的字符,一个横折向下的箭头,用来表示段落间的分隔。软回车是 shift+回车 产生的字符,一个向下的箭头,用来在不结束段落的同时换行。软回车换的行因为没有新开段落,不受段间距控制,在一些场景比较实用,比如写诗的时候,一句一行,但并不是一句一段。
Congratulations @pomelo! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You published your First Post
You got a First Vote
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Very interesting
Congratulations @pomelo! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Congratulations @pomelo! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!