情况
我正在Windows 10上编写go语言应用程序。我使用 vim 来编辑我的源文件。我使用 git 进行版本控制。
go语言对源文件格式有一些异常严格的规定。我已经决定,如果我同意这一点,我的生活会更轻松。
问题所在
go fmt
命令对于对导入进行排序、排列列和其他内容非常有用。我倾向于在入住前和其他时间使用它。
go fmt
命令将行尾更改为lf
。这会导致git
和vim
发出警告。
我的解决方案?
3 个月后移至"答案",因为没有出现其他答案,对于有类似问题的其他人来说,最好在搜索结果中看到这个问题有 1 个答案而不是 0 个答案
我的问题。
我的行尾解决方案是最佳的,还是我错过了以后可能会咬我的东西?
我的解决方案。
为了消除警告,我将 vim 和 git 配置为按照 golang 喜欢的方式工作。
吉特
以下命令阻止 git 尝试执行通常正确的操作:存储库中的标准行尾,每个开发人员工作目录上的平台行尾,根据需要进行转换。
git config core.autocrlf false
现在 git 不会在结账时lf
更改为crlf
或对行尾咩咩叫。
维姆
在_vimrc
au FileType go setl ts=3 sw=3 nowrap nu syntax=go ruler fileformat=unix
fileformat=unix
似乎使 vim 对非平台原生的行尾无抱怨。
脚注
发布上述问题 3 个月后,我没有遇到任何缺点或问题 - 至少不是我使用go
、vim
和git
的方式。