使用 ALE 替换 vim-go 插件

发布时间: 2022-09-21 20:22:27 作者: 大象笔记

我目前 NeoVim 里安装了两个 go 相关的插件:

今天在保存代码修改时,一如既往的卡顿了10几秒,这种情况在1分钟之后就会消失。

可是,我安装的 ALE 号称是异步的啊。。。要不我安装他干啥。。。

我突然感觉可能问题出在了 vim-go 上,除了 gd 快速查看定义,似乎我也没有用过其他功能。 而且我担心 vim-go 和 ALE 都带了 gofmt,会不会保存时调用两次,造成冲突。 于是,干脆把 vim-go 卸载了。

卸载之后果然如预期的一般丝滑。。。再也不会卡顿了。

修改配置

" ALE plugin
let g:ale_fixers = {
\   '*': ['remove_trailing_lines', 'trim_whitespace'],
\   'javascript': ['eslint'],
\   'go': ['gofmt'],
\}

let g:ale_linters = {
\   'go': ['gofmt', 'gopls', 'govet'],
\}

" Remap gd to use ALEGoToDefinition and open in a new tab
map gd :ALEGoToDefinition -tab<CR>

注:ctrl+o 返回上一级 buffer 实在记不住,还是新 tab 中打开比较好。

但是在 gopls 分析完之前,跳转指令是没有响应的,得等一会才能看到新 tab。

参考

我是一名山东烟台的开发者,联系作者