(PS:由于这个问题,我无法使用YCM (YouCompleteMe)插件。)
我按照以下命令安装了Vim 8.0。
我正在使用Ubuntu 16.04(Xenial Xerus)。
如何解决此问题?
sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim
#1 楼
pi-rho / dev PPA现在支持Vim 8,并且像往常一样支持Python / Python3:$ vim --version | grep python
+cryptv +linebreak +python/dyn +vreplace
+cscope +lispindent +python3/dyn +wildignore
$ apt-cache policy vim
vim:
Installed: 2:8.0.0134-1ubuntu1~ppa1~x
Candidate: 2:8.0.0134-1ubuntu1~ppa1~x
Version table:
*** 2:8.0.0134-1ubuntu1~ppa1~x 500
500 http://ppa.launchpad.net/pi-rho/dev/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
2:7.4.1689-3ubuntu1.2 500
最近,
pi-rho/dev
PPA还没有。更新了Vim版本。我现在使用jonathonf/backports
PPA:$ vim --version | grep python
+comments +libcall -python +vreplace
+conceal +linebreak +python3 +wildignore
$ apt-cache policy vim-gnome
vim-gnome:
Installed: 2:8.0.1542-0york1~16.04
Candidate: 2:8.0.1542-0york1~16.04
Version table:
*** 2:8.0.1542-0york1~16.04 500
500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main amd64 Packages
500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main i386 Packages
100 /var/lib/dpkg/status
2:7.4.1689-3ubuntu1.2 500
500 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
2:7.4.1689-3ubuntu1 500
500 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
PPA还包含其他几个软件包的较新版本。
评论
♦谢谢,我还是使用了vim-nox。我应该尝试这个。
–玄浩Ye
17年2月9日,下午1:47
如何安装vim8?我添加了PPA,但是执行sudo apt-get install vim会使我得到没有pythin的vim7
–威玛
17年6月22日在10:55
@weima在添加PPA之后,您是否进行了apt-get更新?
– AndreiBârsan
17年7月4日在8:49
jonathonf / backports不再具有vim构建
–耿鹏和
18年8月2日,下午1:54
@PengheGeng他们将其移动到单独的PPA(jonathonf / vim)
–muru
18年8月2日在1:55
#2 楼
从您的问题看来,您已经安装了vim-tiny 8.0,这是没有插件的非常小的Vim运行时。您可以使用以下命令确认这一点:dpkg -l | grep vim
您可以有多个Vim运行时,但是执行
vim
时运行的版本将是您可以看到的版本: update-alternatives --list vim
您可以检查其他版本。我的建议是,在支持GUI的完整版本之间做出选择,并可以选择
vim-gtk2/vim-gtk3
软件包或vim-nox
完整版本,但没有GUI。现在,IIRC,Vim完整版在Debian / Ubuntu中的7.x版本中没有同时提供Python 2和Python 3。我不知道Vim 8的情况如何,因为我现在使用
neovim
。如果您是这种情况,并且您将需要Vim 8支持的两个Python引擎(使用YouCompleteMe
时将不是您的情况;仅适用于Python 2支持),那么您将需要从自己的源进行编译Vim 8.0。评论
土壤谢谢,我安装了vim-nox,但是有一天我会尝试从源代码进行编译。
–玄浩Ye
17年2月9日,下午1:45
#3 楼
您应该使用sudo apt-get install vim-nox
来获取“巨大版本”。
评论
我想使用vim 8.0或更高版本。有vim.nox支持吗?
–玄浩Ye
16年11月12日,下午3:26
@HyunHoYeo看起来像Ubuntu 16.04中的vim-nox是vim 8.0(您可以在安装后通过执行vim --version进行检查,我得到了VIM-Vi IMproved 8.0(2016年9月12日,编译于2017年2月5日20:17:49)
–詹姆斯·坎贝尔
17年2月8日在4:55
@jamescampbell谢谢,我将Ubuntu升级到16.04版本并下载了它。
–玄浩Ye
17年2月9日,下午1:43
#4 楼
解决方案1:安装VIM编辑器(安装其中任何一个vim变体):
-gtk3:-该软件包包含一个用GTK3 GUI编译的vim版本,并支持使用Lua,Perl,Python,Ruby和Tcl编写脚本。为了安装该软件包:
sudo apt install vim-gtk3
vim-gtk:-该软件包包含一个用GTK2 GUI编译的vim版本,并支持使用Lua,Perl,Python,Ruby和Tcl。要安装此软件包:
sudo apt install vim-gtk
vim-nox:-增强的vi编辑器
像vim-tiny一样,vim-nox是一个最小的vim安装并支持Lua,Perl,Python,Ruby和Tcl的脚本编写,但没有GUI。它带有鼠标支持,但不支持剪贴板,IIRC。要安装此软件包:
sudo apt install vim-nox
将Vim设置为默认编辑器(假设安装的变体是vim-gtk3 )
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim.gtk3 1
sudo update-alternatives --set editor /usr/bin/vim.gtk3
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim.gtk3 1
sudo update-alternatives --set vi /usr/bin/vim.gtk3
sudo update-alternatives --install /usr/bin/vi vim /usr/bin/vim.gtk3 1
sudo update-alternatives --set vim /usr/bin/vim.gtk3
解决方案2:
否则,您可以从源代码编译Vim(假设您使用的是基于Debian系统)
准备系统
安装
sudo apt install libncurses5-dev \
libgtk2.0-dev libatk1.0-dev \
libcairo2-dev python-dev \
python3-dev git
>如果已有Vim,请删除Vim
配置并制作
sudo apt remove vim vim-runtime gvim
使用checkinstall
并安装该软件包
cd /usr && sudo git clone https://github.com/vim/vim.git && cd vim
sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \ # pay attention here check directory correct
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \ # pay attention here check directory correct
--enable-gui=gtk2 \
--enable-cscope \
--prefix=/usr/local/
sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim81
或者,如果只是使用带有checkinstall的
--install=no
选项创建程序包将Vim设置为默认编辑器
cd /usr/vim && sudo checkinstall
通过以下方法验证您正在运行新的Vim二进制文件外观
sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim
参考文献:
-从源代码构建Vim
-checkinstall
-VI M个变种
评论
+1为sudo apt install vim-nox
– Philippe Gachoud
19年4月22日在13:20
#5 楼
您应该从源代码安装vim。这样,您可以控制其中包含的内容。有关更多信息和逐步说明,请参见以下内容。比较容易。https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
https://github.com/vim/vim
评论
请避免发布仅链接的答案,因为将来可能会更改它,从而使人们无法回答他们的问题。至少包括链接页面中的基本部分。
–EvergreenTree
17年1月6日在13:27
#6 楼
刚刚检查过,PPA中提供的vim-nox(v。8.1)已使用Python 3进行了编译(如果您确实需要两者,则不能同时使用两者,我建议改用Neovim)。#7 楼
这仅适用于具有类似安全性的Windows人员:在Windows 64位上,必须安装与VIM相同的python版本。
。
32bit vim => 32bit python
64bit vim => 64bit python
否则,将不会加载python2x.dll或python3x.dll。
评论
OP使用的vim二进制文件未经Python编译。另外,他在Linux而不是Windows上使用它。
–草药
18年6月29日在20:42
@HerbWolfe是的,我知道。可能不合适,但我只将其放在此处供某些Windows专家使用,以寻求解决方案。我花了数小时来解决这个问题,并希望与其他人在这个问题上花点时间。但是,谢谢您的提醒。
–丹尼尔·利特尔
18年7月17日在21:01
评论
看起来该版本的Vim是在没有Python支持的情况下编译的。您不能为此做很多事情。如果要在Ubuntu上运行最新的Vim版本,则自己编译可能是最简单的选择。没有python,没有ruby,没有perl,没有剪贴板……这种构建几乎是无用的。如果安装vim-gtk而不是vim,会得到什么?
@Carpetsmoker我如何自己编译?您能解释一下具体内容还是给我链接?
@romainl是否有支持vim 8.0的vim-gtk?
是的,在那个ppa中。