CentOS7 升级 gvim 到 8.x 版本

由于 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

 

完。