【发布时间】:2015-08-11 10:49:33
【问题描述】:
我在 VIM 中编辑的大多数文件都有回车符,所以我经常看到每一行末尾都有一个 ^M。我以前做的一件事是用+e ff=dos 之类的命令替换它们,但是当我使用 git 提交时,它认为我已经更改了整个文件。所以,我只是想知道是否有办法让这里的每个人都开心,是改变一些 VIM 设置,改变我编辑的方式,还是改变一些 git 配置?
【问题讨论】:
我在 VIM 中编辑的大多数文件都有回车符,所以我经常看到每一行末尾都有一个 ^M。我以前做的一件事是用+e ff=dos 之类的命令替换它们,但是当我使用 git 提交时,它认为我已经更改了整个文件。所以,我只是想知道是否有办法让这里的每个人都开心,是改变一些 VIM 设置,改变我编辑的方式,还是改变一些 git 配置?
【问题讨论】:
您可以设置 Git 来转换行尾。也就是说,当您从 Git 存储库中检出文件时,它可以在 Unix 上转换为 LF,在 Windows 上可以转换为 CRLF。这样一来,您的平台就会有正确的行尾(其他人也一样)。
如果您使用的是 Unix,请将 core.autocrlf 选项设置为 input;在 Windows 上,将其设置为 true。
更多信息请见here。
【讨论】:
你可以:
:hi! link SpecialKey Ignore
这将隐藏它们。它们仍会出现在您的文本中,并且可以 相应地删除,但至少它们在视觉上没有干扰。
另一方面,因为其他人的编辑都如此粗鲁 弄乱行尾(或至少无法正确嗅探它们 并采取相应的行动),您可以回报并规范化 它们都在加载,所以当你把它们保存回来时,它们都在 至少采用相同的格式。类似于 autocmd 的东西
:%s/\r//g
:w! ++ff=dos
或类似的东西。
【讨论】: