Vim 有很多代码格式化插件,比如auto-formatneoformat。但它们都需要运行某个命令或:w用于触发格式化。

是否可以实时查看立即格式化的代码?如果是这样,那多方便。

现在好了,有一个小插件vim-rt-format,它可以在按下 ENTER 后立即在 INSERT 模式下格式化当前行:

当你专注于编辑时,一切都是在不需要额外注意的情况下完成的。无需停止您的工作来运行额外的命令,例如gq:Neoformat

准备好试试了吗?首先,+python3必须在您的 vim 中启用功能,通过以下方式检查:

:echo has('python3')

如果您当前的 vim 版本支持 python ,它将返回1。如下图。

如果没有,请安装一个具有+python3功能的新 vim ,例如在 ubuntu/debian 中:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get install vim-nox

其次,需要一个名为的python模块autopep8

linuxmi@linuxmi:~/www.linuxmi.com$ sudo pip install autopep8

然后在您的.vimrc

" 使用 vim-plug 安装插件:
Plug 'skywind3000/vim-rt-format'

" 默认情况下,它将在插入模式下由“ENTER”触发。
" 将此设置为 1 以使用`CTRL+ENTER`,并保持
" 默认的“ENTER”行为不变。
let g:rtf_ctrl_enter = 0

" 离开 INSERT 模式的时候再格式化一次
let g:rtf_on_insert_leave = 1

为当前缓冲区启用插件:

:RTFormatEnable

一切准备就绪,重新启动 vim,编辑一些文件,然后您将度过美好的一天。

顺便说一句:目前,它支持的语言包括 Python、Lua、Ruby 和 Javascript。

发表评论