nvim-配置
前言
在配置nvim插件的时候遇到了很多的问题,现在记录下来防止以后重复工作,整个配置放在了BUAA-makima/nvim (github.com),其中大部分是根据彭启阳同学在OS课程分享的配置更改的。
1. nvim-treesitter
nvim-treesitter是一款具有代码高亮,增量选择,代码格式化以及折叠代码块的功能,后面三个我暂时还没用上。
在安装语言解析器(parser)的时候,对于yaml
和html
两种语言的时候一直出现错误,报错信息大概是Impossible to load parser for html: Failed to load parser
。
后面在issue里面找到了相似的问题,原因就是这两种语言在解析器里会使用c++,需要c的标准库,然后nvim自带的libstdc-6.dll和gcc的冲突,解决方法就是改变编译器,zig
或者clang
都可以。
1 | require('nvim-treesitter.install').compilers = {"zig", "gcc", "clang"} |
2. 内置终端
在Windows下nvim的内置终端选择的是cmd,用着很不舒服,可以通过以下命令将其改成powershell。
1 | shell = vim.fn.executable "pwsh" == 1 and "pwsh" or "powershell", |
3. nvim-tree
nvim-tree是一款文件管理的插件,可以显示git等信息。
但是在文件排序的时候默认会根据字典序排,如果遇到数字的话就会出现1,10,2
这样的顺序,根据issue配置就可以解决这个问题了。
4. code_runner
code_runner是一款快速运行文件或者项目的插件,通过参数设置可以配置对应文件或者项目的运行命令。
1 | filetype = { |
我目前只需要单文件的运行,所以并不是很复杂,其中带$
的参数都是code_runner的内置变量,dir
代表打开文件的目录,fileName
代表文件名,file
代表文件路径,fileNameWithoutExt
代表没有后缀的文件名。%
等是vim的内置变量,详见vim 文档。需要注意的是如果不使用code_runner的内置变量那么命令最后会自己加上文件名。