让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


然后输入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

可以看到现在处于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

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

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

分类: Ubuntu
1
0
« 上一篇: WebComponent魔法堂:深究Custom Element 之 从过去看现在
» 下一篇: 让BASH,VIM美美的Powerline
posted @ 2016-11-12 14:34 ^_^肥仔John 阅读( 867) 评论( 0) 编辑 收藏
 
相关文章
|
6月前
|
缓存 Shell 开发工具
[oeasy]python0016_在vim中直接运行python程序
在 Vim 编辑器中,可以通过`:!`命令来执行外部程序,例如`:!python3 oeasy.py`来运行Python程序。如果想在不退出Vim的情况下运行当前编辑的Python文件,可以使用`%`符号代表当前文件名,所以`:!python3 %`同样能运行程序。此外,可以使用`|`符号连续执行命令,例如`:w|!python3 %`会先保存文件(`w`)然后运行Python程序。这样,就可以在不离开Vim的情况下完成编辑、保存和运行Python程序的流程。
48 0
|
开发工具 C语言 开发者
vim实现python函数跳转
网上很多帖子都是说通过 ctags 或者 ExuberantCtags 来实现函数跳转,如果你是 C 语言开发者,无可厚非,Python 怎么办?快来看下面操作吧!
|
API 开发工具 开发者
vim插件开发之python-helloworld插件
vim插件开发之python-helloworld插件
119 0
|
IDE 安全 前端开发
Win11系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境
众神殿内,依次坐着Editplus、Atom、Sublime、Vscode、JetBrains家族、Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一位睥睨众生的王者,那就是被称之为编辑器之神的Vim,作为一个有着30余年历史的老牌神器,没有任何编辑器可以和它媲美,其时江湖有云:神编Vim不会玩,纵称大神也枉然。Vim在 1976 年发布,奉行 Unix 传统的“Do one thing and do it well”哲学,每个程序只做一件事但求做到最好,通过程序之间的配合得到强大的功能,其两种模式(Normal/Insert) 的玄妙变换,幻
Win11系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境
|
Linux 开发工具 数据安全/隐私保护
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令3
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令3
111 0
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令3
|
Linux 开发工具 Python
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令2
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令2
165 0
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令2
|
Ubuntu Linux 开发工具
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令
145 0
【Python零基础入门之终结篇】:虚拟机Linux命令、Vim编辑器、有趣的命令
|
NoSQL JavaScript 前端开发
程序员必备手册 | Git、Vim、GDB、Shell、Python
程序员必备手册 | Git、Vim、GDB、Shell、Python
170 1
程序员必备手册 | Git、Vim、GDB、Shell、Python
|
开发工具 Python
Python vim模块的函数接口
Python vim模块的函数接口
113 0