您的位置:首页 > 其它

vim插件汇总

2015-10-13 10:08 357 查看

vim 插件汇总

vundle

vundle是vim中很好的插件管理器,其安装及使用见链接[1]。

YouCompleteMe

YouCompleteMe是vim的自动补全神器,其安装比较麻烦,见如下,

1. 安装前准备

vim: 版本至少是7.3.584,可以用
:version
查看vim版本号。

python支持 :通过
echo has('python')
的结果是否为1判定。

vundle插件

2. 安装

在vim.rc中添加
Bundle 'Valloric/YouCompleteMe'
,之后在vim中执行
:BundleInstall


3. 编译前准备

cmake: ubuntu下执行
sudo apt-get install cmake
,fedora下执行
sudo rpm install cmake


python-dev/python-devel:ubuntu下执行
sudo apt-get install python-dev
,fedora下执行
sudo rpm install python-devel


clang: 版本需大于3.2,若采用下面编译方式1,则不需下载,采用方式2需下载。

4. 编译

编译方式1: 执行如下命令,YCM会自动下载clang包并完成编译。

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer


编译方式2:手动编译,下载clang,解压到ycm_temp/llvm_root_dir下,之后执行如下命令:

cd ~
mkdir ycm_build
cd ycm_build
cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
ycm_core


5. 配置
.ycm_extra_conf.py
文件

安装完ycm后,会产生默认的
.ycm_extra_conf.py
,不过还必须对此文件进行相应设置。若不设置,ycm强大的补全、语法检查功能不能完全施展。比如,将以下几行添加到该文件的flags部分(即设置c++库文件的路径),即可在c、c++程序中实现ycm的全部功能。

'-I',
'.',
'-isystem',
'../BoostParts',
'-isystem',
'/usr/include',
'-isystem',
'/usr/include/c++/',


不过,要使该文件生效,必须得在每个项目下放一个,或是在vim中进行如下配置
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' "配置默认的ycm_extra_conf.py文件路径


6. .vimrc中ycm的配置

"""""插件YouCompleteMe配置
Bundle 'Valloric/YouCompleteMe'
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' "配置默认的ycm_extra_conf.py文件路径
let mapleader = ","   " 将leader就映射为逗号“,”
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>   "按,jd 会跳转到定义
let g:ycm_confirm_extra_conf=0    "打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_collect_identifiers_from_tag_files = 1 "使用ctags生成的tags文件
let g:ycm_error_symbol = '>>'    "错误的显示符号
let g:ycm_warning_symbol = '>*'  "警告的显示符号


Syntastic

Syntastic是很好的语法检查插件,安装完后在vim中做如下配置即可

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0


Markdown插件

vim-markdown

vim-markdown是对markdown文件语法高亮的插件,安装很简单,直接在.vimrc中加上
Plugin 'plasticboy/vim-markdown'
,之后在vim中执行
:BundleInstall
即可。

vim-instant-markdown

vim-instant-markdown是通过浏览器对markdown文件进行实时预览的插件.不过此插件在安装前需安装node.js和npm.在Fedora21中直接通过以下代码安装:

sudo yum install nodejs npm


不过安装完成后执行node会找不到该命令,切换到root即可.

执行npm会出现
Cannot find module 'inherits'
,尝试了github此问题解答的所有方法后都不行,仍然出现同样错误.后在stackoverflow此问题解答中找到一个解决办法--
sudo yum install nodejs-inherits*
,采用此办法后虽然安装了模块"inherits",但又出现找不到其他模块的问题,索性将与nodejs相关联的模块一并安装--
sudo yum install nodejs*
,问题解决.

附录

YouCompleteMe与Syntastic的关系

YouCompleteMe具有语法补全,语法检查,声明跳转的三大功能,而Syntastic仅具有语法检查功能

针对语法检查功能,YouCompleteMe仅支持C语言家族,而Syntastic支持几乎所有的语言

在C文件中,两个插件因功能重和而冲突,YouCompleteMe会将Syntastic禁用掉,如下图所示.不过,因为Syntastic会默认启动,故打开C文件后,会出现两个插件共用的情况.



若仅想使用Syntastic检查c语言语法,可对YouCompleteMe进行如下配置

let g:ycm_show_diagnostics_ui = 0   "0表示禁用ycm自带的syntastic插件".


参考文章

[1]. 使用vundle管理vim插件

[2]. Vim自动补全神器:YouCompleteMe+Syntastic

[3]. Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe

[4]. Vim智能补全插件YouCompleteMe安装
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: