centos7 python3.7+vim8

安装python3.7
https://www.python.org/downloads/
centos7 python3.7+vim8_第1张图片
centos7 python3.7+vim8_第2张图片
https://www.python.org/downloads/release/python-372/
centos7 python3.7+vim8_第3张图片
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

安装Python3.7.2

安装Python所需依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel python-devel

解压tar
tar -xvzf Python-3.7.2.tgz
配置
cd Python3.7.2
make clean
./configure --prefix=/usr/local/python3.7
make
make install
删除旧版本python链接
rm /usr/bin/python
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python
查看是否安装成功
python -V
注:centos7 默认python 2.7.5
如:/usr/bin/firewall-cmd、/usr/bin/yum使用的是python2请自行修改为#!/usr/bin/python2

安装vim8.1

源码包下载:
https://github.com/vim/vim
centos7 python3.7+vim8_第4张图片

下载vim8.1:
https://github.com/vim/vim/archive/v8.1.0888.tar.gz
wget https://github.com/vim/vim/archive/v8.1.0888.tar.gz
卸载旧版本
yum remove vim*
解压tar
tar -xzvf v8.1.0888.tar.gz
cd vim-8.1.0888
--with-features=huge:支持最大特性
--enable-rubyinterp:打开对ruby编写的插件的支持
--enable-pythoninterp:打开对python编写的插件的支持
--enable-python3interp:打开对python3编写的插件的支持
--enable-luainterp:打开对lua编写的插件的支持
--enable-perlinterp:打开对perl编写的插件的支持
--enable-multibyte:打开多字节支持,可以在Vim中输入中文
--enable-cscope:打开对cscope的支持
--enable-fontset 字体设置
--with-python-config-dir=/usr/lib64/python2.7/config #指定python2路径
--with-python-config-dir=/usr/local/lib/python3.7/config-3.7m-x86_64-linux-gnu #指定python3路径
--prefix=/usr/local/vim:指定将要安装到的路径

查找python3配置文件路径
注意:如果您使用的是Python,则您的config目录可能具有特定于计算机的名称(例如config-3.5m-x86_64-linux-gnu) 查找ptyhonn.o文件路径
因为后续还要安装YouCompleteMe插件,YCM插件需要vim支持python2,所以这里python2和python3都有配置。
./configure --with-features=huge \
--enable-multibyte \
--enable-cscope \
--enable-pythoninterp=yes \
--enable-python3interp=yes \
--with-python-config-dir=/usr/lib64/python2.7/config \
--with-python-config-dir=/usr/local/python3.7/lib/python3.7/config-3.7m-x86_64-linux-gnu \
--prefix=/usr/local/vim

安装
make
make install
创建链接
ln -s /usr/local/vim/bin/vim /usr/bin/vim
vim ~/.bashrc
alias vi='vim'

配置vim环境支持python3
Vundle是Vim的插件管理工具
mkdir -p ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

添加插件
注:在call vundle#begin()......call vundle#end()之间,打开vim插入模式 :PluginInstall

vim ~/.vimrc
"Vundle
"去除VI一致性
set nocompatible
filetype off
"设置Vundle的运行路径
set rtp+=~/.vim/bundle/Vundle.vim
"设置插件的安装路径,vundle插件起始标志
call vundle#begin()
"让vundle管理插件版本
Plugin 'VundleVim/Vundle.vim'
"设置插件的安装路径,vundle插件结束标志
call vundle#end()
"加载vim自带和插件相应的语法和文件类型相关脚本
filetype plugin indent on

set encoding=utf-8 "设置utf-8编码
set number "显示行号
syntax on "开启语法高亮
set background=dark "设置背景色
set showmatch "显示匹配的括号
set backspace=2 "可以删除任意值
set scrolloff=5 "距离顶部和底部5行
set laststatus=2 "命令行为两行
set fenc=utf-8 "文件编码

"Python
set filetype=python
au BufNewFile,BufRead .py,.pyw setf python
set autoindent "设置自动缩进
set smartindent "自动下一行缩进
set textwidth=79 "行最大宽度
set expandtab "tab替换为空格键
set tabstop=4 "设置table长度
set softtabstop=4 "软制表符宽度为4
set shiftwidth=4 "设置缩进的空格数为4
set fileformat=unix "设置以unix的格式保存文件
set foldmethod=indent "自动折叠
set foldlevel=79 "最多79个字符

"vim中F5直接调试
map :call RunPython()
func! RunPython()
exec "w"
if &filetype == 'python' "第一行#!/bin/python 运行python编译器
exec "!time python %"
elseif &filetype == 'sh' "第一行#!/bin/bash 运行shell编译器
:!time bash %
endif
endfunc