前言
记录一下搭建Linux下使用Vim写python
一.升级自带Python2为Python3
编译安装python3,进行升级
1.安装python3依赖包
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib-devel ncurses-devel tk-devel libffi-devel gcc make
2.下载安装python3
使用wget http://npm.taobao.org/mirrors/python/3.8.8/Python-3.8.8.tar.xz
下载pytho3.8.8的安装包,如果没有wget可以yum install wget安装一个或者下载到自己本地的windows然后使用winscp上传到linux对应的目录
使用 tar -xf Python-3.8.8.tar.xz
解压,解压完毕可以看见Python-3.8.8的目录
进入目录创建要安装Pyhton3的目录,然后编译安装指定目录
创建目录
mkdir /usr/local/python3
指定安装位置(需要进入解压的Python文件夹执行)
./configure -prefix=/usr/local/python3
编译且安装
make && make install
如果报错,可根据报错使用yum,安装提示缺少的包
3.创建建软连接使用
创建Pyhotn3的软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
创建pip3的软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
更改PIP源,在家目录下创建隐藏文件名为 .pip 输入如下
[global]
index-url = https://pypi.douban.com/simple/
trusted-host = pypi.douban.com
如果安装时报错没有trust,http改为https即可
删除软链接注意不要删除了源文件:如果这里要删除pip3软连接
使用: rm -rf /usr/bin/pip3
主要最后的‘/’,rm -rf/usr/bin/pip3/,如果加了‘/’就会把源文件删除掉
Which python可以查看python这条命令执行的路径
Whereis python 查看python的所有路径
安装完成后测试 python3 pip3可用
二、安装VIM8
安装vim8为后面安装VIM插件做准备
Github下载VIM源码安装包:
https://github.com/vim/vim/releases/
下载vim-plug包文件:
https://github.com/junegunn/vim-plug/releases/
卸载旧的VIM
yum -y remove vim*
安装VIM相关的包
yum install ruby ruby-devel lua lua-devel luajit \
luajit-devel ctags git tcl-deve \
perl perl-devel perl-Extutils-ParseXS \
perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \
perl-ExtUtils-Embed libX* ncurses-devel gtk2-devel
进入解压后的VIM目录编译配置VIM
./configure --with-features=huge \
--enable-gui=gtk2 \
--with-x \
--enable-fontset \
--enable-cscope \
--enable-multibyte \
--enable-pythoninterp \
--enable-python3interp \
--with-python3-config-dir= /usr/local/python3/ \
--enable-luainterp \
--enable-rubyinterp \
--enable-perlinterp \
--enable-multibyte \
--prefix=/usr/local/vim8 \
make && make install
如果出错,根据报错安装对应的包
创建软链接
ln -s /usr/local/vim8/bin/vim /usr/bin/vim
输入vim能看到下图安装成功
三、安装Vim-plug包管理插件
创建文件夹
mkdir ~/.vim/autoload/
把plug.vim文件复制到目录下即可
cp ~/vim-plug-0.10.0/plug.vim ~/.vim/autoload/
配置VIM安装coc.nvim补全插件
用户家目录创建.vimrc文件
touch ~/.vimrc
配置 .vimrc
syntax on
colorscheme monokai
set mouse=
set tabstop=4
"set cursorline"
set nocompatible
set backspace=indent,eol,start
set backspace=2
"set list"
"set listchars=tab:"
set wildmenu
set wildmode=longest,list,full
set undolevels=1000
call plug#begin('~/.vim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'crusoexia/vim-monokai'
call plug#end()
if has("nvim-0.5.0") || has("patch-8.1.1564")
"Recently vim can merge signcolumn and number column into one"
set signcolumn=number
else
set signcolumn=yes
endif
" Use tab for trigger completion with characters ahead and navigate.
" " NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
" " other plugin before putting this into your config.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Use <c-space> to trigger completion.
if has('nvim')
inoremap <silent><expr> <c-space> coc#refresh()
else
inoremap <silent><expr> <c-@> coc#refresh()
endif
map <F5> : cal CompilenRunGcc()<CR>
func! CompilenRunGcc()
exec"w"
if &filetype == 'sh'
:!/bin/bash %
elseif &filetype == 'python'
exec "!/usr/bin/env python3 %"
endif
endfunc
含义解释:
四、安装coc.nvim实现python补全
Github文档
https://github.com/neoclide/coc.nvim/wiki/Install-coc.nvim
在.vimrc文件中配置好了后输入PlugInstall(主要大小写)安装插件
插件目录vimrc中已经配置在 ~/.vim/plugged/下
如果报错,根据提示的报错进行安装对应的包
安装Python补全插件
同样打开vim使用 CocInstall coc-pyright
安装成功后可输入CocList extensions 可以看见插件即可
最终使用VIM编写python效果