情况
我正在 Windows 10 上编写 go 语言应用程序。我使用 vim 来编辑我的源文件。我使用 git 进行版本控制。
go 语言对源文件格式有一些异常严格的规定。我决定,如果我同意这一点,我的生活会更轻松。
问题
go fmt
命令对于排序导入、排列列和其他事情很有用。我倾向于在签到之前和其他时间使用它。
go fmt
命令将行尾更改为 lf
。这会导致 git
和 vim
发出警告。
我的解决方案?
3 个月后进入“答案”状态,因为没有出现其他答案,对于有类似问题的其他人来说,最好在搜索结果中看到此问题有 1 个答案而不是 0 个答案
我的问题。
我的行结束解决方案是最优的还是我错过了一些以后可能会影响我的东西?
最佳答案
我的解决方案。
为了消除警告,我将 vim 和 git 配置为按照 golang 喜欢的方式工作。
git
以下命令阻止 git 尝试做通常正确的事情:repo 中的标准行尾,每个开发人员工作目录上的平台行尾,根据需要进行转换。
git config core.autocrlf false
现在 git 不会在 checkout 时将 lf
更改为 crlf
或提示行尾。
vi
在_vimrc
au FileType go setl ts=3 sw=3 nowrap nu syntax=go ruler fileformat=unix
fileformat=unix
似乎让 vim 免于提示非平台原生的行结尾。
脚注
在发布上述问题 3 个月后,我没有遇到任何缺点或问题 - 至少不是我使用 go
、vim
和 git 的方式
。
关于git - 在 MS-Windows 上使用 vim 和 git 的 go 语言源文件中的行结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044556/