前置条件
首先确请认已安装Python3。关于安装和配置信息,请访问Python网站。
使用以下命令,安装 python3-dev、library
$ sudo apt-get install python3-dev
$ sudo apt-get install libncurses5-dev
使用以下命令,查看当前Python3安装情况:
$ which python3
/usr/bin/python3
$ whereis python3 # 查看安装目录
python3: /usr/bin/python3 /usr/bin/python3.6 /usr/bin/python3.6m /usr/bin/python3.6m-config /usr/lib/python3 /usr/lib/python3.6 /usr/local/lib/python3.6 6 /usr/share/man/man1/python3.1.gz
注意: 不要随意删除系统自带的python 至于为什么可以参考 删除系统 Python 引发的惨案
安装Vim
使用Git命令,将Vim源码复制到本地:
$ git clone https://github.com/vim/vim.git
切换到下载的Vim源码目录:
$ cd vim
$ git pull
编译安装 Vim:
$ cd src
$ sudo make distclean # 如果您以前构建Vim
$ ./configure --with-features=huge \
--enable-multibyte \
--enable-python3interp \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-fontset \
--enable-largefile \
--disable-netbeans \
--with-compiledby="xxx@email.com" \
--enable-fail-if-missing \
--prefix=/usr/local
$ sudo make
$ sudo make install
你可以通过查看 src/auto/configure 来获得特性和包的列表。 下面是我用到的。
–with-features=huge # 支持最大特性
–enable-multibyte # 打开多字节支持,可以在Vim中输入中文
–enable-pythoninterp # 打开对 Python 编写的插件支持 默认内置支持 指定 dynamic 参数则动态支持
–with-python-config-dir # 指定 Python 路径
–enable-python3interp # 打开对 Python3 编写的插件支持 默认内置支持 指定 dynamic 参数则动态支持
–with-python3-config-dir # 指定 Python3 路径
–enable-cscope # 打开对cscope的支持
–enable-gui=auto # 根据可用的GUI库自动构建
–enable-gtk2-check # 如果自动选择GUI,请检查GTK default=yes
–enable-fontset # 包括X fontset输出支持
–enable-largefile # 提供对大文件的支持
–disable-netbeans # 禁用NetBeans集成支持。
–with-compiledby # 版本消息中显示的名称
–enable-fail-if-missing # 如果依赖于其他特性,则失败
–prefix # 用于指定生成可执行文件的位置
执行以下命令将显示已使用新编译的Vim:
$ which vim
/usr/local/bin/vim
执行以下命令,将显示新编译的 Vim 已包含的 Python 特性:
$ vim --version | grep python
+comments +libcall +python/dyn +visual
+conceal +linebreak +python3/dyn +visualextra
其中,与Python相关的特性主要包括:
+python,内置支持Python 2;
+python3,内置支持Python 3;
+python/dyn,动态支持Python 2;
+python3/dyn,动态支持Python 3;
根据以上步骤,我们保持/usr/bin目录下预装的Vim不变,另外在/usr/local/bin目录下安装了自已编译的Vim。
卸载Vim
使用以下命令,可以重置编译操作:
$ sudo make distclean
使用以下命令,可以卸载Vim:
$ sudo make uninstall
参考:https://www.jianshu.com/p/aa5ea81bbc72