一步一步把vim打造成IDE
转载:https://www.cnblogs.com/awakenedy/articles/9876817.html
仅供个人学习使用
vim高度的可扩展性,使其能通过插件和配置文件的相互组合,实现IDE的诸多功能:如代码补全,函数定义跳转,文件目录树,源码的结构化浏览等。


      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
                   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  " 当目录树窗口为最后一个窗口时自动退出vimt 在新 书签 中打开选中文件,并跳到新 书签
T 在新 书签 中打开选中文件,但不跳到新 书签
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,问题解决

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号