由於 CentOS7 在默認狀況下,經過 yum 安裝的 vim-X11.x86_64 版本爲 7.x 版本,對 Youcompleteme 支持很差。故須要升級到 8.x 版本。python
如下記錄 gvim 源碼安裝過程:git
0. 卸載原始的安裝包 vim-X11github
$ sudo yum remove vim-X11.x86_64
1. 安裝必要的軟件包 (主要是爲了支持 X,首先可用 $ rpm -qa xxx 查看是否這些包已經安裝)vim
$ sudo yum install ncurses-devel.x86_64 $ sudo yum install libXt-devel.x86_64 $ sudo yum install gtk2-devel.x86_64
2. clone 源碼包ui
$ git clone https://github.com/vim/vim.git
3. 進入源碼目錄進行編譯前配置 (可用 $ ./configure --help 查看可用的編譯選項)spa
$ ./configure --prefix=/usr/local --enable-pythoninterp=yes --enable-gui=auto --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge --with-x
4. 編譯code
$ make
5. 安裝blog
$ sudo make install
6. 問題rem
github 最新的 vim8.1 可能出如今 GUI 狀況下 Ctrl + F 不能正確翻頁的問題,Linux 下解決方法以下,源碼
打開文件: /usr/local/share/vim/vim81/mswin.vim
把以下的黃色部分註釋掉便可,
if has("gui") "" CTRL-F is the search dialog "noremap <expr> <C-F> has("gui_running") ? ":promptfind\<CR>" : "/" "inoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-O>:promptfind\<CR>" : "\<C-\>\<C-O>/" "cnoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-C>:promptfind\<CR>" : "\<C-\>\<C-O>/" " CTRL-H is the replace dialog, " but in console, it might be backspace, so don't map it there nnoremap <expr> <C-H> has("gui_running") ? ":promptrepl\<CR>" : "\<C-H>" inoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-O>:promptrepl\<CR>" : "\<C-H>" cnoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-C>:promptrepl\<CR>" : "\<C-H>" endif
完。