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
|