解决使用vim-go插件时候保存go代码导致设置好的折叠消失的问题

我之前在用vim编辑python代码的时候,折叠的功能都没啥问题

后来在编辑go代码的时候,我发现我一保存,折叠全都消失了,我很费解,就推断跟我使用的插件有关系,因为我保存的时候会触发gofmt插件格式化代码,但是当时比较懒也没继续追查下去。

今天一位同事问我vim中折叠相关的问题,我就又想起来了,然后准备彻底解决这个问题,先用中文搜索了一发,没结果,都是vim中折叠的基本使用方法。没办法只好用我蹩脚的英文去谷歌搜索了一发,果然在github上vim-go的Issues里面找到了,然后看到了作者解决这个问题的代码,再去我的fmt.vim里面去对应,找到了一个选项!

只要把这个在vimrc的配置文件中添加下面这个配置,就能正常使用折叠了。

let g:go_fmt_experimental = 1