neovim配置formatters
最近再搞vue3,使用了element plus admin这个模版库,没想到一直报错
后来经过排查发现是这个模板库使用了prettier这位lint的配置项,简单来说就是如果不符合他的格式就会报错,
而我的neovim是使用的volar这个lsp作为格式化话的后端,想要保存自动安装prettier的格式格式化,需要额外加一些配置
本来是想打算用null-ls,因为更符合哲学的,其实就是将一些formatter作为neovim原生的lspinject进去
不过这个项目目前停更了,而且我也只是想保存的时候格式化就行了,所以就选择了另一个插件formatter.nvim
安装
安装prettier
在mason中找到prettier安装就行
不过这个地方比较有意思,mason其实是安装了prettier的,按时我在终端中缺无法使用,后来发现mason安装的工具其实是在~/.local/share/nvim/mason/bin/里面,然后在放到neovim内置的环境变量中是,在neovim的命令模式执行:!env就可以看到
安装formatter.nvim
1 | { |
这里需要注意的点是
- formatter并没用给默认的格式化配置,所以没中文件都要配置
- 配置想要写到
lazyvim的config选项中,不然会提示找不到formatter.filetypes.vue
保存自动格式化
1 | vim.api.nvim_create_autocmd({"BufWritePost"},{pattern = {"*"},command = "FormatWrite"}) |
原理
formatter.nvim相当于一个接口,然后自己配置格式化命令,当执行格式化命令时,会调用你配置的格式化命令,如果不配置就是使用默认的,想上面的vue执行格式化的时候其实就是在执行默认的格式化,约等于下面的伪代码:
1 | prettier --stdin-filepath % |
neovim配置formatters
https://fingergohappy.github.io/2023/11/01/neovim-config-formatter/

