Linux Vim代碼格式化/美化插件vim-autoformat安裝
vim-autoformat是Vim的一款代碼自動化格式插件,vim-autoformat會根據文件的后綴,自動調用相應的相應命令進行代碼格式化。所以,安裝vim-autoformat的同時,還需要安裝相應代碼語言的格式化工具,才能保證vim-autoformat的正常運行。
添加好並保存后,重新運行vim命令,在vim中運行:PluginInstall命令即可完成vim-autoformat插件的安裝。
也可以通過下面方式,設置保存時自動對指定格式代碼進行格式化,或對所有格式進行格式化。
還可以對指定后綴的文件名,使用指定的格式化話工具。如下為html文件指定格式化工具和參數:
一、安裝vim插件管理器:
為了方便插件安裝,我們需要先安裝vim插件管理器。這里我們使用"Vundle"作為vim的 插件管理器,安裝 方法這里不再做介紹,請參考: Linux Vim插件管理器Vundle安裝和使用二、安裝vim-autoformat插件:
1、安裝vim-autoformat:
安裝好Vundle插件管理器后,我們就能非常方便的安裝插件了。在~/.vimrc文件"call vundle#begin()" 到 "call vundle#end()"件的范圍內,添加一行"Plugin 'Chiel92/vim-autoformat'",如下所示:
1
2
3
4
5
6
7
8
|
call vundle
#begin()
" Vundle 本身就是一個插件
Plugin
'gmarik/Vundle.vim'
Plugin
'Chiel92/vim-autoformat'
"所有插件都應該在這一行之前
call vundle
#end()
|
2、配置vim-autoformat插件:
在~/.vimrc文件末尾添加下面內容,將F3鍵設置為代碼格式話鍵。
1
2
3
|
"F3自動格式化代碼
noremap <F3> :Autoformat<CR>
let
g:autoformat_verbosemode=1
|
1
2
3
4
|
"保存時自動格式化代碼,針對所有支持的文件
au BufWrite * :Autoformat
"保存時自動格式化PHP代碼
"au BufWrite *.php :Autoformat
|
還可以對指定后綴的文件名,使用指定的格式化話工具。如下為html文件指定格式化工具和參數:
1
2
3
|
<!-- 指定html格式化工具,並設置縮進為兩個空格 -->
let g:formatdef_my_html = '"html-beautify -s 2"'
let g:formatters_html = ['my_html']
|
三、安裝各語言格式化支持工具:
1、html、Javascript/JSON、css:
htm、js、css 格式化命令分別為html-beautify、js-beautify、css-beautify:
1
2
3
4
5
6
|
yum -y
install
epel-release
yum -y
install
npm
npm -g
install
js-beautify
npm -g
install
html-beautify
npm -g
install
css-beautify
#注意:在高版本,html-beautify、css-beautify,集中在js-beautify里面了,只要安裝js-beautify就行。
|
2、ruby語言:
1
2
3
|
#rbeautify for Ruby. It is shipped with ruby-beautify
yum -y
install
gem
gem
install
ruby-beautify
|
3、 C, C++, Objective-C:
C, C++, Objective-C等語言進行格式化,可以使用 clang-format,而clang-format包含在clang包中:
1
2
|
#clang-format for C, C++, Objective-C
yum -y
install
clang
|
4、Java和C#, C++, C 等:
1
2
3
4
5
6
|
# astyle for C#, C++, C and Java:
wget https:
//sourceforge
.net
/projects/astyle/files/astyle/astyle
%203.0
/astyle_3
.0_linux.
tar
.gz
/download
-O astyle_3.0_linux.
tar
.gz
tar
-zxvf astyle_3.0_linux.
tar
.gz
cd
astyle
/build/gcc
yum
install
gcc-c++
make
&&
make
install
|