数学联邦政治世界观
超小超大

Zig语言之Vim编辑器的LSP环境配置 (3-1)

俗话说,工欲善其事,必先利其器。要编写大型的Zig语言的项目,如果没有LSP插件的支持,是很不好用的。所以,这篇文章就介绍Zig语言的LSP插件的配置过程。我使用的Vim编辑器,版本是9.1,所以就介绍Vim9.0以上的Zig的LSP插件的配置过程。

首先是选择VIM下LSP插件的配置方式使用哪一种,其中有CoC、YouCompleteme等,但这两个都太重量级了,特别是CoC,还需要依赖node.js,node.js占用磁盘空间和内存都多,我又不写js。所以这两个都不想安装,选来选去,看到vim-lsp挺不错的,可以简单的通过vim-plug来安装。于是就选择了vim-lsp了。

首先,我们使用如下命令来安装vim-plug,我用的是macOS,所以选用unix的方式来安装:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \

然后在.vimrc文件中加入如下的插件列表描述:

call plug#begin()

" List your plugins here

Plug 'tpope/vim-sensible'

call plug#end()

然后使用:PlugInstall命令安装插件即可。

接下来,我们安装vim-lsp相关的插件,以及自动补全相关的插件,类似vscode的浮窗插件等,主要有如下这些插件,加入到上面的plugin列表中即可:

Plug 'prabirshrestha/vim-lsp'

Plug 'prabirshrestha/asyncomplete.vim'

Plug 'prabirshrestha/asyncomplete-lsp.vim'

Plug 'mattn/vim-lsp-settings'

Plug 'SirVer/ultisnips'

Plug 'thomasfaingnaert/vim-lsp-snippets'

Plug 'thomasfaingnaert/vim-lsp-ultisnips'

使用:PlugInstall命令把这些插件都安装上,耐心等待一段时间就可完成。

这些插件安装好后,还需要在.vimrc中加一些简单的配置,主要是键映射和快捷键定义。具体配置如下

" for asyncomplete

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? "\" : "\"

inoremap pumvisible() ? asyncomplete#close_popup() : "\"

" for vim-lsp

function! s:on_lsp_buffer_enabled() abort

setlocal omnifunc=lsp#complete

setlocal signcolumn=yes

if exists('+tagfunc') | setlocal tagfunc=lsptagfunc:| endif

nmap <buffer> gd <plug>(lsp-definition)

数学联邦政治世界观提示您:看后求收藏(同人小说网http://tongren.me),接着再看更方便。

相关小说

颜狗的奇幻药铺 连载中
颜狗的奇幻药铺
小狗日记爱好者李依颜
现代少女穿越成仙侠游戏NPC,开启爆笑炼药之旅。
2.5万字9个月前
记录我的梦境 连载中
记录我的梦境
荼靡茶香
记梦到的东西
0.0万字9个月前
斗龙:黑王龙的附身 连载中
斗龙:黑王龙的附身
一只不想更新的作者
黑亡龙残留的力量,小熠变成傀儡,斗龙战士该怎么办
0.3万字9个月前
天呐,影帝把小丑怪养成了福宝宝 连载中
天呐,影帝把小丑怪养成了福宝宝
江之鱼
【已签约】这是一个双向奔赴的小故事。神兽阿狸一觉醒来,发现自己神力稀薄,天地间没有灵力,也联系不上神明,只能出去寻找。阿狸在人类的村子里,发......
9.0万字9个月前
迷你特工队(恶搞版) 连载中
迷你特工队(恶搞版)
是九祭呀
超喜欢雷,有点恶搞,人设很容易崩
1.2万字9个月前
师尊兼职当月老 连载中
师尊兼职当月老
陌惜缘
如今你年纪已经不小了,可有什么喜悦之人?为师帮你提亲!心悦之人到有,只怕师尊知道后会生气!怎么会?为师高兴还来不及呢!说吧,到底是那家姑娘让......
8.1万字9个月前