让VIM支持Python2 by update-alternatives

简介:
+关注继续查看

前言

 Ubuntu 16+中$ sudo apt install vim所安装的vim只支持Python3,但很多插件如YCM和powerline均需要Python2,那就来场“生命贵在折腾”吧!

自检

 在shell中输入以下命令,若出现-python则表示不支持Python2,+python则表示支持;-python3表示不支持Python3,+python3则表示支持。

$ vim --version | grep python

安装

1.安装

$ sudo apt install vim-nox-py2

除了vim-nox-py2,还可以选择安装vim-gtk-py2等。
2.重置vim符号链接

$ sudo update-alternatives --config vim

347002-20161112143144405-1468150115.png
然后输入0按回车。现在输入$ vim,打开的就是/usr/bin/vim.nox-py2这个vim版本了!

八一八update-alternatives

 在Debian系统中(含Ubuntu)我们可能会安装很多功能相似的程序,如emacs和vim,甚至同一个程序安装多个版本,如vim-nox和vim-nox-py2。但在一般使用场景下我们仅使用固定某个或某版本的程序,那么通过update-alternatives命令来管理系统命令符号链接,我们就能轻松完成如将vim从指向vim-nox切换为指向vim-nox-py2,甚至一次性将javajavac从指向1.4切换为指向1.8,而不是到/usr/bin/中逐个符号链接修改那么蛋碎。

组成

link,符号链接绝对路径,如/usr/bin/vim;
name, 位于/etc/alternative/下的文件名称,作为update-alternatives命令中使用的命令标识;
path, 实际程序的执行路径, 如/usr/bin/vim.nox-py2.
priority, 若处于auto mode,那么priority值高的将作为符号链接的默认目标值.
其中前三者的关系是:

$ ln -s /usr/bin/vim.nox-py2 /etc/alternative/vim 
$ ln -s /etc/alternative/vim /usr/bin/vim

命令API

1.查看命令符号链接组信息, update-alternatives --display <name>
示例:update-alternatives --display vim
347002-20161112143157124-137777501.png
可以看到现在处于manual mode,若处于auto mode,那么priority值高的将作为符号链接的目标值。
上图中/usr/bin/vim.gtk的priority值最高,因此若处于auto mode时,应该为ln -s /usr/bin/vim.gtk /etc/alternative/vim。但由于现在处理manual mode,因此可以看到这个提示:

link best version is /usr/bin/vim.gtk
link currently points to /usr/bin/vim.gtk-py2

2.选择符号链接的目标值, update-alternatives --config <name>
示例:sudo update-alternatives --config vim
347002-20161112143206842-1619828392.png

3.新增替换的记录, update-alternatives --install <link> <name> <path> <priority> [--slave <link> <name> <path>] ...
示例:

$ sudo update-alternatives --install /usr/bin/java java /usr/local/jre1.6.0_20/bin/java 100 –slave /usr/bin/javac javac /usr/local/jre1.6.0_20/bin/javac

4.删除替换组的记录, update-alternatives --remove <name> <path>
示例:

$ sudo update-alternatives --remove vim /usr/bin/vim.gtk-py2

5.删除替换组的记录, update-alternatives --remove-all <name>
6.切换模式, update-alternatives --auto <name>
而当通过update-alternatives --config <name>设置默认目标后,该替换组的模式即会变为manual mode。

总结

 尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/6056651.html ^_^肥仔John

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!

posted @ 2016-11-12 14:34 ^_^肥仔John 阅读(867) 评论(0) 编辑 收藏
 

公告

 

本文转自^_^肥仔John博客园博客,原文链接:http://www.cnblogs.com/fsjohnhuang/p/6056651.html,如需转载请自行联系原作者

相关文章
|
1月前
|
数据格式
Python--配置文件优化
Python--配置文件优化
10 0
|
1月前
|
关系型数据库 MySQL 数据库
Python--py配置文件
Python--py配置文件
17 0
|
1月前
|
关系型数据库 MySQL 数据库
Python--ini配置文件
Python--ini配置文件
23 0
|
9月前
|
Python
python--实现Lorenz 63模式
python--实现Lorenz 63模式
python--实现Lorenz 63模式
|
11月前
|
开发工具 Python
Python vim模块的函数接口
Python vim模块的函数接口
55 0
|
Linux 开发工具 Python
vim关于python的自动补全插件
一、克隆代码mkdir -p ~/.vim/toolscd ~/.vim/toolsgit clone https://github.com/rkulla/pydiction.git二、配置Pydiction - UNIX/LINUX/OSX: Put python_pydiction.
1489 0
|
开发工具 Python Shell
vim python一键执行、高亮等一键安装
wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x
1150 0
|
Web App开发 Java Go
vim设置一键执行python代码
根据系统将下面代码复制到vim配置文件vimrc中,即可在vim中一键【F5】运行.py文件。 Windows下的gvim "一键运行代码 function CheckPythonSyntax() let mp = &makeprg let ef = ...
2481 0
相关产品
云迁移中心
推荐文章
更多