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

标签 git go vim file-format

情况

我正在 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 不会在 checkout 时将 lf 更改为 crlf 或提示行尾。

vi

_vimrc

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

fileformat=unix 似乎让 vim 免于提示非平台原生的行结尾。


脚注

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

关于git - 在 MS-Windows 上使用 vim 和 git 的 go 语言源文件中的行结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44044556/

相关文章:

git:具有提交限制的累积差异

git - shell脚本的版本控制

vim - vim 如何将一个单词移动到句子的开头

vim - 我可以让Vim忽略文件顶部的许可证 block 吗?

git - 如何在 git 中跟踪 .lnk 文件?

git - opendiff 或其他 merge 工具通过 ssh 与远程机器的 Git 对话

google-app-engine - 如何打开本地主机 :8080 in Cloud9 IDE?

performance - 如何在基准测试中击败Go优化器?

go - 无法将 txdb 与 Gormigrate 一起使用

vim - 是否可以使用VIM格式化C++代码?