资讯专栏INFORMATION COLUMN

让VIM支持Python2 by update-alternatives

honmaple / 1457人阅读

摘要:前言中所安装的只支持,但很多插件如和均需要,那就来场生命贵在折腾吧自检在中输入以下命令,若出现则表示不支持,则表示支持表示不支持,则表示支持。重置符号链接然后输入按回车。上图中的值最高,因此若处于时,应该为。

前言

 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
示例: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
示例:sudo update-alternatives --config vim

3.新增替换的记录, update-alternatives --install [--slave ] ...
示例:

$ 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
示例:

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

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

总结

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24899.html

相关文章

  • Docker部署网站之后映射域名

    摘要:中部署相信大家也都知道,不知道的可以或者一下。这里主要是为了记录在我们启动容器之后,需要直接定位到网站信息,而不是打开域名之后,还得加个后缀才能访问到我们的网站首页。 Docker中部署tomcat相信大家也都知道,不知道的可以google 或者bing 一下。这里主要是为了记录在我们启动容器之后,tomcat需要直接定位到网站信息,而不是打开域名之后,还得加个blog后缀才能访问到我...

    focusj 评论0 收藏0
  • Python版本的选择

    摘要:根据权重选择版本详细配置链接安装安装及列表项目验证切换至切换至 根据权重选择Python版本 详细:https://www.cnblogs.com/hwlon... 配置ssh链接: 安装openssh-server sudo apt-get install openssh-server 安装Python3及pip3 sudo apt-get install python3 s...

    OnlyLing 评论0 收藏0
  • Ubuntu16.04下安装Hadoop2.7.4伪分布式环境

    摘要:按打开终端窗口,执行如下命令安装并设置免密登陆注意每次配置时,需要注意当前目录为。的配置文件位于中,伪分布式需要修改个配置文件和。的配置文件是格式,每个配置以声明的和的方式来实现。 1.创建Hadoop用户三部曲:添加用户,设置密码,给该用户设置管理员权限为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题 sudo useradd -m hadoop ...

    lei___ 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<