【问题标题】:What is ^M and how is it generated?什么是^M,它是如何产生的?
【发布时间】:2020-05-21 12:37:30
【问题描述】:

最近,有人(正在使用 Windows10)问我他的 VSCode 的远程 (ssh) 连接不可用。经过大量检查,我发现他的 ~/.ssh/authorized_keys"^M" 结尾(在 Vim 中),删除该符号解决了他的问题。

修改/删除“^M”很容易。但是这次我想弄清楚什么是“^M”以及它是如何生成的?了解它是如何生成的将有助于人们避免生成“^M”和相关问题。

【问题讨论】:

标签: vim line-endings


【解决方案1】:

^M 是 Vim 对 ASCII 13 的表示(M 是字母表的第 13 个字母),回车。 ssh 假定文件将使用 Unix 行结尾,因此它将 DOS 文件中 CR/LF 对的 CR 视为常规字符,而不是将其视为行终止符。删除 ^M 实质上会将文件从 DOS 文本文件转换为 ssh 期望的 POSIX 文本文件。

【讨论】:

  • 错字:CF/LF => CR/LF
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
  • 1970-01-01
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多