Heim > Fragen und Antworten > Hauptteil
Um dem youcompleteme-Plug-in zu folgen, benötigen Sie Unterstützung für die Version vim7.3.584, und meine Gvim-Version ist 7.3.547
Beim Upgrade habe ich auf dieses Tutorial verwiesen: http://www.cnblogs.com/scue/p/3234102.html
sudo apt-get install -y hgsvn libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial cscope exuberant-ctagssudo apt-get remove vim vim-runtime gvim #这一步可以不做
cd ~
hg clone https://code.google.com/p/vim/
cd vim
./configure --with-features=huge \
--enable-rubyinterp \
--enable-pythoninterp \
--enable-perlinterp \
--enable-gui=gtk2 --enable-cscope --prefix=/usr
make VIMRUNTIMEDIR=/usr/share/vim/vim73
sudo make install
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vim
Aber nach dem Upgrade ist die Version von gvim immer noch 7.3.547, während die Version von vim 7.4.265 ist
Ich möchte das youcompleteme-Plugin in gvim verwenden, nicht in vim.
Das Problem hat sich von selbst gelöst, bitte klicken Sie auf die Lösung:
Install the needed dependencies:
$ sudo apt-get install ncurses-dev build-essential mercurial
Clone the sources of Vim 7.4:
$ hg clone https://vim.googlecode.com/hg/ vim
Build Vim from sources:
$ cd vim/src
$ make distclean
$ ./configure --with-features=huge --enable-pythoninterp --enable-rubyinterp
$ make
$ sudo make install
Adjust the PATH:
$ export PATH=/usr/local/bin:$PATH
Jetzt ist die gvim-Version dieselbe Version wie vim.
Es ist jedoch nicht ganz klar, ob die oben genannten Befehle hauptsächlich dazu dienen, die Konfigurationsinformationen von gvim so zu ändern, dass vim direkt aufgerufen werden kann.
phpcn_u15822017-05-16 16:43:10
不过有点不是很清楚,以上的几条命令,是否主要是修改gvim的配置信息,从而可以直接调用vim?
不。你的行为是重新编译了 vim。这样, gvim 和 vim 当然就是同一个版本了
过去多啦不再A梦2017-05-16 16:43:10
嗯, 本人认为是这样的, vim的源码中本身就有对gui的支持, 所以在你执行
$ ./configure --with-features=huge --enable-pythoninterp --enable-rubyinterp
这条命令的时候就已经给vim编译进了gui的支持, 然后后面那一步
$ export PATH=/usr/local/bin:$PATH
这一行的作用仅仅是把默认的安装位置(/usr/local下的路径)加到$PATH变量之前, 让新安装的vim优先于包管理安装在/usr中的vim被搜索到, 这样你的vim和gvim都是同一个源码编译安装的当然就是相同版本了~
你可以which vim
还有which gvim
看看它们都在哪里, 都是什么文件, 也许这样就能更清楚上面的操作都发生了什么~
阿神2017-05-16 16:43:10
前半部分,你只更新了 vim,没有更新 gvim,当然 gvim 还是旧的了:
>>> ll /usr/bin/gvim
lrwxrwxrwx 1 root root 22 3月 1 21:39 gvim -> /etc/alternatives/gvim
>>> ll /etc/alternatives/gvim
lrwxrwxrwx 1 root root 16 3月 1 21:39 /etc/alternatives/gvim -> /usr/bin/vim.gtk
这部分是系统管理的。
按理来说,make install
之后,gvim
会链接到 vim
的,可能是你的 update-alternatives
命令更新了它。
后半部分,你(按照正常情况)把 vim(以及 gvim 链接)安装到了 /usr/local
下。这里是用户/系统管理员自个儿的地方,系统软件包管理器不会插手的,所以就会挺正常地安装好了。(所以我不知道上边你那乱七八糟的安装法是从哪个犄角旮旯里学来的。)