配置參考
vim中代碼格式化工具
- vim-autoformat
- 通過配置格式化文件,可以做到自動(dòng)格式化代碼的目的
- 也可以手動(dòng)執(zhí)行一些命令格式化代碼
- 格式化操作包括:
- 自動(dòng)縮進(jìn)
gg=G - 重新制表符
:retab - 移除尾部空格
:RemoveTrailingSpaces
- 自動(dòng)縮進(jìn)
安裝
前提
- 首先確定已經(jīng)安裝了python2或者python3,在vim命令狀態(tài)下輸入如下命令驗(yàn)證,如果得到1表示已經(jīng)安裝了。
:echo has("python3")
:echo has("python2").
- 沒安裝則安裝如下安裝
先 install pynvim
python3 -m pip install pynvim
在 .vimrc中添加python3的執(zhí)行文件路徑
let g:python3_host_prog="/path/to/python/executable/"
通過Vundle安裝
- 在
.vimrc中添加插件信息,然后重啟vim并執(zhí)行:PluginInstall命令
Plugin 'Chiel92/vim-autoformat'
使用
配置格式化程序
你可以下載一個(gè)針對(duì)某個(gè)編程語言的格式化程序,比如clang-format。
如果不指定特定語言的格式化程序,則使用默認(rèn)的格式化程序。
格式化程序可以通過以下幾種方式自動(dòng)被vim檢測(cè)到
- 通過包管理工具下載的格式程序
- 通過在
.vimrc中配置let g:formatterpath參數(shù)指向包含格式化程序的目錄,如下所示
- 通過在
let g:formatterpath = ['/some/path/to/a/folder', '/home/superman/formatters']
使用
- 配置完成后,在vim中通過下面命令使用
:Autoformat
# 指定文件類型格式化
:Autoformat json
# 只格式化當(dāng)前行
:AutoformatLine
- 在
.vimrc配置每次保存文件時(shí),自動(dòng)格式化
au BufWrite * :Autoformat
clang-format配置
- 下載
# fedora
sudo yum install clang
- 配置路徑: 在clang-format二進(jìn)制所在的目錄下,執(zhí)行:
clang-format -dump-config -style=Google > .clang-format
會(huì)生成一個(gè).clang-format文件,這個(gè)文件在.vimrc中可以配置為使用的格式:
let g:clang_format#command = 'clang-format'
nmap <F4> :ClangFormat<cr>
autocmd FileType c ClangFormatAutoEnable
let g:clang_format#detect_style_file = 1
- 驗(yàn)證配置成功與否
用vim打開任一文件,執(zhí)行:echo executable('clang-format')看看輸出是否為1,若是則代表clang-format在vim中是可執(zhí)行的。
可以打開任一C/C++文件,直接按F4執(zhí)行clang-format了。
批量格式化目錄下的文件
經(jīng)常需要對(duì)一個(gè)目錄下所有指定后綴的文件做批量格式化處理,指令如下:
clang-format -style=file -i `find . -type f -regex ".*\.\(cpp\|h\)"`