Vim 技巧:實時格式化你的代碼
Vim 有很多代碼格式化插件,比如auto-format和neoformat。但它們都需要運行某個命令或:w用于觸發(fā)格式化。
是否可以實時查看立即格式化的代碼?如果是這樣,那多方便。
現(xiàn)在好了,有一個小插件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”觸發(fā)。
" 將此設置為 1 以使用`CTRL+ENTER`,并保持
" 默認的“ENTER”行為不變。
let g:rtf_ctrl_enter = 0
" 離開 INSERT 模式的時候再格式化一次
let g:rtf_on_insert_leave = 1
為當前緩沖區(qū)啟用插件:
:RTFormatEnable
一切準備就緒,重新啟動 vim,編輯一些文件,然后您將度過美好的一天。
順便說一句:目前,它支持的語言包括 Python、Lua、Ruby 和 Javascript。