Vim 有很多代码格式化插件,比如auto-format和neoformat。但它们都需要运行某个命令或: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。