之前使用yum在centos7安装的vim7.4,当我想使用vim作为python的编辑器时,在配置.vimrc文件时,发现很多配置并不能生效,所以我打算重新编译安装以下更高版本的vim8.1.操作系统自带的vim只开了部分特性,安装之前的不支持python3,源码安装可以自由开启和关闭需要的特性。
但安装完成后出现了以下的样式:
[root@localhost ~]# vim --version |grep python
+cryptv +linebreak +python/dyn +viminfo
+cscope +lispindent +python3/dyn +vreplace
不是+python,而是后面多了一个/dyn。
看了下vim的帮助文档,在vim中输入:
:h python-2-and-3
Vim 7.4源码可以用四种方式编译 (:version OR 命令行vim --version输出结果):
- 无 Python 支持 (-python、-python3)
- 只有 Python 2 支持 (+python 或 +python/dyn、-python3)
- 只有 Python 3 支持 (-python、+python3 或 +python3/dyn)
- Python 2 和 3 支持 (+python/dyn、+python3/dyn)
当支持Python 2和Python 3时,必须动态加载它们。
在Linux / Unix系统上执行此操作并导入global symbols时,这会导致使用第二个Python版本时发生崩溃。 所以要么加载global symbols只激活一个Python版本,要么不导入全局符号。 这会导致Python导入vim提供的全局符号的相关库的import出错。
即最好只安装支持一种python即可。
所以我为了避免麻烦,只编译安装支持python3 (按个人需求安装),在./configure 时 只选择支持python3,详细参数介绍见编译安装步骤。
//支持python2
--enable-pythoninterp --with-python-config-dir&