回車和換行在計(jì)算機(jī)世界我們經(jīng)常容易弄混淆腐晾,通過查看一下資料終于搞明白了,下面分享給大家丐一。
回車和換行的來歷
在計(jì)算機(jī)還沒有出現(xiàn)之前藻糖,有一種叫做電傳打字機(jī)(Teletype Model 33)的玩意,每秒鐘可以打10個字符库车。但是它有一個問題巨柒,就是打完一行換行的時候,要用去0.2秒柠衍,正好可以打兩個字符洋满。要是在這0.2秒里面,又有新的字符傳過來珍坊,那么這個字符將丟失牺勾。
于是,研制人員想了個辦法解決這個問題阵漏,就是在每行后面加兩個表示結(jié)束的字符驻民。一個叫做"回車",告訴打字機(jī)把打印頭定位在左邊界履怯;另一個叫做"換行"回还,告訴打字機(jī)把紙向下移一行。這就是"換行"和"回車"的來歷叹洲,從它們的英語名字上也可以看出一二柠硕。
后來,計(jì)算機(jī)發(fā)明了疹味,這兩個概念也就被般到了計(jì)算機(jī)上仅叫。那時,存儲器很貴糙捺,一些科學(xué)家認(rèn)為在每行結(jié)尾加兩個字符太浪費(fèi)了诫咱,加一個就可以。于是洪灯,就出現(xiàn)了分歧坎缭。
Unix系統(tǒng)里竟痰,每行結(jié)尾只有"<換行>",即"\n"掏呼;Windows系統(tǒng)里面唇牧,每行結(jié)尾是"<回車><換行>",即"\r\n"眠寿;Mac系統(tǒng)里躬柬,每行結(jié)尾是"<回車>"。一個直接后果是拾给,Unix/Mac系統(tǒng)下的文件在Windows里打開的話祥得,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話蒋得,在每行的結(jié)尾可能會多出一個^M符號级及。
回車和換行常遇到的問題
linux中打開windows下編輯的文件
當(dāng)在linux中打開windows下編輯的文件時,我們會發(fā)現(xiàn)每行的末尾會多出M這個符號额衙,一般人看著這個可能會覺得不舒服饮焦,于是就想去掉這個字符,當(dāng)然我們是可以去掉的窍侧,在vim中編輯就可以去掉了县踢,:%s/M$//g,命令詳解如下:
vim切換到命令模式,然后
: %s/^M$//g
- %指匹配整個文件
- s是置換的意思
- ^M要用ctrl+v+m 組合鍵敲入
- $表示匹配行尾的內(nèi)容
- g表示每行中匹配到的內(nèi)容都要置換