如何从 sublime text 3 中的文件中删除 ^M?

Ach*_*DAY 25 git sublime-text-3 ubuntu-14.04

当我在我的分支中执行 git diff 时,我看到行尾有字符 ^M:

^M 行尾

我想在提交更改之前用 Unix 行结尾替换这些。

我正在使用 Ubuntu 14.04、git 和 sublime text 3。

谢谢你的帮助。

编辑:

我正在寻找一种不使用其他实用程序或命令来更改 sublime text 3 中行尾的方法。

小智 21

这可以在没有插件的情况下通过顶部的菜单或状态栏来完成(但您需要启用该功能)。

要通过顶部的菜单更改它,请单击查看 -> 行尾 -> 选择所需的行尾类型。

要通过状态栏启用此功能:单击首选项 -> 设置然后在右侧"show_line_endings": true,{}括号之间添加某处。最后,保存您的更改。

这将启用状态栏右侧的一小部分,显示在底部。它会告诉您当前的 EOL 编码,通过单击该框并选择不同的类型,它会为您更改文件的 EOL 字符。

另一个有用的选项是文件编码,它也可以在状态栏中启用,方法是遵循上述相同的设置,但也可以"show_encoding": true,{}标记之间添加。


小智 16

您可以dos2unix在 linux (package dos2unix) 中使用命令或在菜单项View / Line Endings下的 Sublime Text 中更改行尾。


Att*_*tie 8

^M\r(Control-M,或回车)。

这可能是因为提交文件的用户正在使用 windows,它\r\n用于其行尾。Linux 仅使用\n,因此您会^M在行尾看到。

您可能想要执行以下操作之一:

  • “修复”文件以具有\n行结尾(使用诸如 之类的工具dos2unix)并提交。在这种情况下,除非您可以让他们执行以下操作,否则您将与其他用户战斗。
  • 配置您的两个 git 安装以正确处理每个环境的行尾 - 例如:https : //stackoverflow.com/questions/10418975/how-to-change-line-ending-settings
  • 配置 Sublime 以打开带有“ Windows 行结尾”的文件


小智 6

谁可能不想安装额外的插件来删除 ^M 新行,

  1. 在 sublime text 设置中,添加"trim_trailing_white_space_on_save": true,到保存时自动删除空间。(这一步可能是可选的)

  2. 在您打开的文件上,单击 sublime text 的右下角。更改WindowsUnix并保存。

  1. ^M 不见了。享受。


Ach*_*DAY 3

我发现了一个 Sublime Text插件,可以将所有打开文件中的行结尾转换为 Unix/Windows/Mac OS 9。

\n\n

安装

\n\n
    \n
  1. 打开 Sublime 并转到首选项 > 浏览包。这将打开\n窗口。
  2. \n
  3. 将此存储库的内容下载或克隆到一个名为\n的文件夹,\n该文件夹的名称与您在上一步中打开的 Packages/ 文件夹中的包名称相同:
  4. \n
\n\n

/home/YOUR_USERNAME/.config/sublime-text-3/Packages

\n\n

用法

\n\n
    \n
  1. 返回 sublime 并打开所有要转换的文件。
  2. \n
  3. 打开所有文件后,按 CTRL + SHIFT + P,搜索并选择 \xe2\x80\x9c 所有视图的行结尾:Unix\xe2\x80\x9d。
  4. \n
  5. 按 CTRL + ALT + S 保存所有打开的文件。
  6. \n
\n