nvim代码格式化插件formatter.nvim

大部分lsp都自带代码格式化功能,有少部分是不带的。比如:lua-language-server 就不带格式化功能。平时写lua我就手动格式化代码,或者选择代码后,按=号格式化。虽然也不影响使用,但是总没有自动格式化来的爽快。写代码就是要爽才行。

项目地址:
https://github.com/mhartington/formatter.nvim

安装

根据自己使用的插件管理器,自行调整。

" vim-plug
Plug 'mhartington/formatter.nvim'
" 配置格式化快捷键
nnoremap <silent> <leader>f :Format<CR>

配置

默认安装后是无法使用的,要进行一些配置。我这里以lua语言为例,其他的语言请参照:
https://github.com/mhartington/formatter.nvim/blob/master/CONFIG.md

安装lua-fmt

lua-fmt提供了一个接口来格式化符合单一和一致标准的 Lua 代码。
项目主页:https://github.com/trixnz/lua-fmt

npm i -g lua-fmt

配置formatter.nvim

创建配置文件~/.config/nvim/after/plugin/formatter.lua 我的内容如下:

local status, formatter = pcall(require, "formatter")
if (not status) then
  return
end
formatter.setup(
  {
    filetype = {
      lua = {
        -- luafmt
        function()
          return {
            exe = "luafmt",
            args = {"--indent-count", 2, "--stdin"},
            stdin = true
          }
        end
      }
    }
  }
)

--配置保存文件自动格式化代码
vim.api.nvim_exec(
  [[
augroup FormatAutogroup
  autocmd!
  autocmd BufWritePost *.rs,*.lua FormatWrite
augroup END
]],
  true
)


总结

简单方便,实用!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值