目录
这篇随笔主要是对Linux和Windows下gvim8.0(python支持)的安装笔记,并且安装YCM插件.
Linux
1.scientific_linux 下安装Vim8并支持Python3
(1)安装依赖项
sudo yum install ncurses-develsudo yum install libXt-develsudo yum install gnome-software-devel.x86_64 sudo yum install gnome-desktop3-devel.x86_64 sudo yum install libgnomeui-devel.x86_64 sudo yum install libgnome-devel.i686sudo yum install ruby-devel.x86_64 sudo yum install lua-devel.x86_64
(2)从github下载vim
新建一个文件夹存放clone下来的vim,然后在该文件夹下打开终端执行命令:
git clone https://github.com/vim/vim.git
(3)删除系统中vim
sudo yum remove vim-* -y
删除原有的vim同时, 会删除sudo命令, 所以必须重新安装sudo, 此时会安装一个最小版本的vim即vi
sudo yum install sudo
(4)./configure 配置 vim
进入下载的VIM目录,执行下面的操作:
注意,有的文章中这里同时配置了python2和python3,此时只有python2生效,如果想让vim8支持python3,则只需要配置python3即可,不要配置python2: 支持python3:sudo ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp=yes \ --enable-python3interp=yes \ --with-python3-config-dir=/usr/local/python3/lib/python3.6/config-3.6m-x86_64-linux-gnu \ --enable-perlinterp=yes \ --enable-luainterp=yes \ --enable-gui=gtk3 --enable-cscope --prefix=/usr/local/vim
如果想让vim8支持python2,执行下面的操作:
sudo ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp=yes \ --enable-pythoninterp=yes \ --with-python-config-dir=/usr/lib/python2.7/config \ --enable-perlinterp=yes \ --enable-luainterp=yes \ --enable-gui=gtk3 --enable-cscope --prefix=/usr
注意: --with-python-config-dir=
后面必须是python2.7的config
(5)执行make安装
sudo makesudo make install
(6)查看结果
vim --version
2.使用bundle管理插件
安装见网址:
https://github.com/gmarik/vundle.git
在vimrc文件中添加如下内容来启用vundle管理vim插件的功能:
见vimrc配置文件.3.scientific_linux 下安装 YouCompleteMe
1.需要提前安装的软件.
git
sudo yum install build-essential git
也可以自己下在源文件编译安装.
cmake:sudo yum install build-essential cmake
2.安装YouCompleteMe
为了方便维护,统一使用指定路径的方式安装:
在vimrc第一行添加:set runtimepath+=~/.vim/bundle/YouCompleteMe
(1)下载YouCompleteMe安装包
使用git:
git clone --recursive https://github.com/Valloric/YouCompleteMe.git
确认仓库的完整性:
git submodule update --init --recursive
将YouCompleteMe放到~/.vim/bundle/
下.
(2)编译安装YouCompleteMe
64位系统:
YouCompleteMe 自带64位的clang库cd ~/.vim/bundle/YouCompleteMesudo ./install.sh --clang-completer
注意: 必须要联网, 会自动下载clang的lib
(3)编译错误的解决办法
1.可以先查看一下含python-devel的包
yum search python | grep python-devel
2.64位安装python-devel.x86_64,32位安装python-devel.i686,我这里安装:
sudo yum install python-devel.x86_64
3后续配置
C/c++
1.在vimrc中添加:
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
2.修改.ycm_extra_conf.py文件, 添加自己系统的头文件路径.
3.完善YouCompleteMe 配置: 在vimrc中添加:"禁止YCM 自动弹出函数原型预览窗口set completeopt=menu,menuonelet g:ycm_add_preview_to_completeopt = 0" 补全功能在注释中同样有效 let g:ycm_complete_in_comments=1 " 语法关键字补全 let g:ycm_seed_identifiers_with_syntax=1 "输入1个字符-->自动弹出补全.let g:ycm_semantic_triggers = { \ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'], \ 'cs,lua,javascript': ['re!\w{2}'], \ }"set YouCompleteMe白名单, please delete "(),keep \ ,when you use itlet g:ycm_filetype_whitelist = { \ 'cpp' : 1, \ 'python' : 1, \ 'css' : 1, \ 'c' : 1, \ 'h' : 1, \ 'hpp' :1, \ 'objc' :1, \}"let g:ycm_key_list_select_completion = ['', ' ']let g:ycm_key_list_previous_completion = [' ', ' ']"屏蔽 YCM 的诊断信息"let g:ycm_show_diagnostics_ui = 0
注: 其他细节可以参考博文:
http://www.cnblogs.com/yongjiuzhizhen/p/4793498.htmlWindows
1.Windows 添加vim至右键菜单(windows)
(1)添加edit with vim选项,每个文件打开一个新窗口。
新建reg文件:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\Shell\edit with vim]@="edit with vim"[HKEY_CLASSES_ROOT\*\Shell\edit with vim\command]@="\"D:\\Program Files\\Vim\\vim80\\gvim.exe\" -p --remote-tab-silent \"%1\""
(2)为vim选项加入图标。
新建reg文件:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\edit with vim]"Icon"="D:\\Program Files\\Vim\\vim80\\gvim.exe"
注意:要将上面的reg代码做相应的修改(将键值的目录改成你自己的VIM安装目录)
2.用vundle管理vim插件
安装vundle (保证git.exe在你的环境变量中.)
git clone https://github.com/gmarik/vundle "D:\Program Files (x86)\vim\vimfiles\bundle\vundle"
在_vimrc文件中添加如下内容来启用vundle管理vim插件的功能:
见_vimrc配置文件.
通过vundle安装vim 插件, 在gvim内执行:
BundleInstall
3.Windows下安装YCM插件
我用的是知乎大神编译的现成文件,贴地址:
https://www.zhihu.com/question/25437050
以及YCM中的相关配置:
https://zhuanlan.zhihu.com/p/33046090