3

我使用 Vim 和 GIT 在 Linux/Ubuntu 机器上开发我的项目。以前我用的是windows,也就是说行尾是DOS格式的。现在搬到 Linux 之后,我总是在行尾看到 ^M 令人困惑/烦人的字符。这里有些人:

如何将 ^M 换行符转换为在 vim 中打开的文件中的“正常”换行符?

建议我应该进行查找/替换或使用 dos2unix 之类的工具。这些是很好的建议,但是对于版本控制的项目,这意味着我必须在更改后为文件添加不必要的提交,无论如何这是一项艰巨的任务,不值得花时间在上面。所以:

有没有办法让 Vim 容忍这个?也就是说,如果文件是 DOS 行结束的,它会保持这样,并使用它的格式来换行,等等。

4

3 回答 3

2

我已将此行添加到我的 .vimrc 文件中。

set fileformats=unix,mac,dos                

如果您不知道 vimrc 文件是什么,它只是配置(并允许您自定义)您的 vim 的文件。默认情况下,vim 将在用户的主文件夹中查找名为.vimrc的文件(注意开头的点)。如果找不到它,它将从/etc/vimrc获取它。

于 2011-01-08T12:54:25.867 回答
1

我找到的最佳答案是评论中的@Keith 答案:

“使用颠覆,您可以设置一个属性 svn:eol-style=native ,这将导致它自动将所有平台的行尾转换为 .. 本机类型。我不知道 git 是否具有该功能,但您可能会调查一下首先。它可能会。

这些链接可能有用的链接是如何设置:
http ://help.github.com/dealing-with-lineendings/
http://git-scm.com/docs/gitattributes

于 2011-01-12T10:37:42.417 回答
1

是的,你可以在 vim 中设置以下内容,说它是一个 dos 格式的文件:

:set ff=dos

而且,同样:

:set ff=unix
于 2011-01-08T11:11:51.030 回答