vim --version
apt-get remove vim
apt-get install gcc make python-dev libncurses5-dev libncursesw5-dev
从vim官网下载vim8.0源码并解压:
wget ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2
tar -xvf vim-8.0.tar.bz2 && cd vim80/
./configure --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu ( /usr/lib/python2.7/config-x86_64-linux-gnu 换成自己的python lib的路径)
make && make install
update-alternatives --install /usr/bin/vim vim /usr/local/bin/vim 1000
此时使用vim --version能看到vim已对python提供支持
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
set nocompatible " 去除对vi的兼容
filetype off " 关闭文件类型检测
set rtp+=~/.vim/bundle/Vundle.vim " 设置vundle路径
call vundle#begin() " 插件管理函数开始
Plugin 'VundleVim/Vundle.vim'
" 在此添加需要安装的插件列表,格式 Plugin 'git用户/git仓库' 或者 Plugin '协议://git url'
" 例如:
" Plugin 'https://github.com/davidhalter/jedi-vim.git'
" Plugin 'rstacruz/sparkup'
call vundle#end() " 插件管理函数结束
filetype plugin indent on " 必须,作用未知
至此准备工作全部完毕,后续统一使用vundle来安装所需插件
call vundle#begin()
...
Plugin 'https://github.com/scrooloose/nerdtree.git'
...
call vundle#end()
2.打开vim,键入vim命令 :BundleInstall
"NERDTree config
map <F4> :NERDTreeToggle<CR> " F4一键开关目录树
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif " 当目录树窗口为最后一个窗口时自动退出vim
omnifunc
来匹配,因此同样支持
php
,
ruby
等语言。但YCM的安装十分困难和折腾,他并不是一个简单的.vim文件, 而是需要编译成可执行文件后再安装,并且整合了多种vim插件。我花了一天时间终于找到了一个靠谱的安装路线(redhat,debian主流版本测试均通过):
sudo apt-get install build-essential cmake python-dev python3-dev
Plugin 'https://github.com/Valloric/YouCompleteMe.git'
3.同上一步,打开vim,键入 :BundleInstall
cd ~/.vim/bundle/YouCompleteMe
chmod a+x install.sh && ./install.sh (此处若要YCM支持C,C++补全,添加安装参数 ./install.sh --clang-completer 此时会调clang自动安装)
"ycm
set completeopt=longest,menu " 取消补全后的弹窗
highlight Pmenu ctermfg=15 ctermbg=0 guifg=#000000 guibg=#111100 " 把补全背景色换成当前vim的背景色
此时效果如下
map <F6> :YcmCompleter GoTo<CR>
此时按下F6后可直接跳转到定义. 跳转至定义后如何跳转回去? ctrl+o
Plugin 'https://github.com/brookhong/DBGPavim.git'
打开vim,键入 :BundleInstall等待安装完成,安装完毕后在~/.vimrc中增加如下配置:
let g:dbgPavimPort = 9009
这里的Port就是DBGPavim要监视的端口,要与调试器的端口一致,默认是9000。
tar -zxvf Komodo-PythonRemoteDebugging-11.0.1-90797-linux-x86_64.tar.gz && cd Komodo-PythonRemoteDebugging-11.0.1-90797-linux-x86_64
结果如下:
cp pydbgp pythonlib/
最后把pydbgp加入环境变量,方便vim调用。(若觉得该调试功能好用,可把该环境变量永久生效)
export PATH=$PATH:~/Komodo-PythonRemoteDebugging-11.0.1-90797-linux-x86_64/pythonlib
F5 启动调试监听
F6 停止调试监听
F1 打开或关闭帮助窗口
F2 单步进入
F3 单步跳过
F4 单步退出
F5 继续执行直到下一个断点,如果后续没有断点就退出调试模式。
F9 最大化某个子窗口,或者重置窗口布局。
F11 查看当前执行环境下的所有变量的值,在不同的堆栈层次,会有不同的结果。
F12 查看光标下的变量的值。
'-isystem',
'/usr/include',
'-isystem',
'/usr/include/c++/4.9.2',
'-isystem',
'/usr/include',
'/usr/include/x86_64-linux-gnu/c++',
最后在~/.vimrc中添加一行
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
重新打开vim,问题解决
本文来自网易实践者社区,经作者鲁子银授权发布