在 MS-Windows 上使用 vim 和 git 的 go 语言源文件中的行尾

Line-endings in go-language source files using vim and git on MS-Windows

情况

我正在 Windows 10 上编写 go 语言应用程序。我使用 vim 编辑我的源文件。我使用 git 进行版本控制。

go 语言对源文件格式有一些异常严格的规定。我已经决定,如果我同意这一点,我的生活会更轻松。

问题

go fmt 命令对于排序导入、排列列和其他事情很有用。我倾向于在签到前和其他时间使用它。

go fmt 命令将行结尾更改为 lf。这会导致 gitvim 发出警告。

我的解决方案?

3 个月后移至“答案”,因为没有出现其他答案,对于有类似问题的其他人来说,最好在搜索结果中看到此问题有 1 个答案而不是 0 个答案答案

我的问题。

我的行结束解决方案是最优的还是我遗漏了一些以后可能会影响我的东西?

我的解决方案。

为了消除警告,我将 vim 和 git 配置为按照 golang 喜欢的方式工作。

git

以下命令阻止 git 尝试做通常正确的事情:repo 中的标准行尾,每个开发人员工作目录上的平台行尾,根据需要进行转换。

git config core.autocrlf false

现在 git 不会在结帐时将 lf 更改为 crlf 或抱怨行尾。

vim

_vimrc

au FileType go setl ts=3 sw=3 nowrap nu syntax=go ruler fileformat=unix

fileformat=unix 似乎vim 对非平台原生的行结尾没有投诉。


脚注

在发布上述问题 3 个月后,我没有遇到任何缺点或问题 - 至少不是我使用 govimgit 的方式。