本文记录的是在当前账户无权限使用sudo apt install vim
的情况下安装自己需要版本的vim并且安装YouCompleteMe
插件的过程。
安装vim
由于YouCompleteMe
插件对vim
版本的最低要求是v8.1.2269
,所以本文以vim82
为例:
-
从
vim
的ftp服务器上下载相应的压缩包并解压:wget ftp://ftp.vim.org/pub/vim/unix/vim-8.2.tar.bz2 tar -jxvf vim-8.2.tar.bz2
-
下载
vim
依赖的ncurses
源码并解压:wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.1.tar.gz tar -xzvf ncurses-6.1.tar.gz
-
编译、安装
ncurses
:cd ncurses-6.1 ./configure --prefix=/path/to/your/home_dir/ncurses-6.1 make make install
这里值得注意的是我们需要通过
--prefix
参数指定安装位置,由于没有sudo
权限,所以最好将路径设置为自己的home
目录下的子目录,比如:/home/johnson/tools/ncurses-6.1
。 -
编译、安装
vim
:cd vim82 ./configure --prefix=/path/to/your/home_dir/vim82 \ LDFLAGS=-L/path/to/your/home_dir/ncurses-6.1/lib \ CPPFLAGS=-I/path/to/your/home_dir/ncurses-6.1/include \ --enable-pythoninterp=yes \ --enable-cscope \ --enable-fontset \ --with-python3-config-dir=/path/to/your/python/lib/python3.6/config-3.6m-x86_64-linux-gnu \ --enable-python3interp=yes \ --with-python3-command=python3.6 make make install
这里值得注意的参数有:
--prefix
:由于指定你希望安装vim
到的位置LDFLAGS
:这里填的是之前ncurses
安装目录下的lib
子目录CPPFLAGS
:这里填的是之前ncurses
安装目录下的include
子目录后面的参数都是为了利用
python
编译vim
,这样才能使用YouCompleteMe
-
--with-python3-config-dir
:填写的是当前python配置目录,可以用下面的方式确认:which python #将会得到当前python的目录,比如:/path/to/your/python/bin/python #将上面的路径中的bin/python替换为lib/python/config即可,比如加入是python3.6那么将会是 #/path/to/your/python/lib/python3.6/config-3.6m-x86_64-linux-gnu
--with-python3-command
:填写相应的python版本即可
-
在
~/.bashrc
中添加别名,方便使用:alias vim='/path/to/your/home_dir/vim82'
至此,vim82
的安装已经完成。
安装YouCompleteMe
插件
-
安装
vim-plug
插件管理器:mkdir -p ~/.vim/autoload
下载
plug.vim
,放置在~/.vim/autoload
目录下-
修改
~/.vimrc
,添加:call plug#begin('~/.vim/plugged') Plug 'Valloric/YouCompleteMe' call plug#end()
-
安装
YouCompleteMe
- 方案一:在线安装(简单,但是由于网速原因可能比较慢且容易失败):
- 打开
vim
- 输入
:PlugInstall
,等待并按照提示做出选择即可
- 打开
- 方案二:离线安装(较为繁琐,但是成功率高)
- 下载
YouCompleteMe
压缩包(提取码:rpf7) - 将压缩包解压至
~/.vim/plugged
目录下,如果没有该目录,可以自行创建。 - 请确保服务器已经安装
cmake
,gcc
和g++
等基本开发工具 cd YouCompleteMe/ && python install.py
- 下载
- 方案一:在线安装(简单,但是由于网速原因可能比较慢且容易失败):
配置
vim
可参考我之前的文章无sudo权限时利用vimplus的配置文件配置vim