Centos7.3 的自带vim版本为7.4,只支持python2不支持python3,故升级为vim8
1、卸载原vim安装8.0的vim
1.yum -y remove vim
或(第二种会导致没有sudo命令,建议先别尝试)
rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
rpm --import http://mirror.ghettoforge.org/distributions/gf/RPM-GPG-KEY-gf.el7
yum -y remove vim-minimal vim-common vim-enhanced sudo
yum -y --enablerepo=gf-plus install vim-enhanced sudo
2、安装dirccolors
git clone https://github.com/seebi/dircolors-solarized.git
cd dircolors-solarized/
mv dircolors.ansi-dark ~/.dircolors
#配置环境变量
vim /etc/profile
export TERM=xterm-256color
if [ -x /usr/bin/dircolors ]; then
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias tree='tree -C'
fi
3、安装依赖
yum -y install python-devel ruby ruby-devel perl perl-devel perl-ExtUtils-Embed
yum install ncurses-devel
yum install ctags
yum -y install libXt-devel gtk2-devel
4安装Python3.6
1)前往用户根目录
>: cd ~
2)下载 Python3.6
下载3.6.8
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
3)解压安装包
>:tar xJf Python-3.6.8.tar.xz
4)进入目标文件
>:cd Python-3.6.8
5)配置安装路径:/usr/local/python3
>:./configure --prefix=/usr/local/python3
6)编译并安装
>: make && sudo make install
7)建立软连接:终端命令 python3,pip3
>: ln -s /usr/local/python3/bin/python3 /usr/bin/python3
>: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
5\配置pip源:
1)创建pip配置路径
>: mkdir ~/.pip
2)进入目录编辑配置文件:填入下方内容
cd ~/.pip && vim pip.conf
[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
6\安装vendle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
touch ~/.vimrc
touch ~/.vimrc.bundles
if &compatible
set nocompatible
end
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Plugin 'VundleVim/Vundle.vim'
Plugin 'altercation/vim-colors-solarized'
Plugin 'tomasr/molokai'
Plugin 'vim-scripts/phd'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'octol/vim-cpp-enhanced-highlight'
Plugin 'derekwyatt/vim-fswitch'
Plugin 'vim-scripts/a.vim'
Plugin 'kshenoy/vim-signature'
Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines'
Plugin 'majutsushi/tagbar'
Plugin 'vim-scripts/indexer.tar.gz'
Plugin 'vim-scripts/DfrankUtil'
Plugin 'vim-scripts/vimprj'
Plugin 'dyng/ctrlsf.vim'
Plugin 'scrooloose/nerdcommenter'
Plugin 'vim-scripts/DrawIt'
Plugin 'SirVer/ultisnips'
Plugin 'Valloric/YouCompleteMe'
Plugin 'rdnetto/YCM-Generator'
Plugin 'derekwyatt/vim-protodef'
Plugin 'scrooloose/nerdtree'
Plugin 'gcmt/wildfire.vim'
Plugin 'sjl/gundo.vim'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'suan/vim-instant-markdown'
Plugin 'qpkorr/vim-bufkill'
Plugin 'skywind3000/asyncrun.vim'
if filereadable(expand("~/.vimrc.bundles.local"))
source ~/.vimrc.bundles.local
endif
filetype on
# 备份,非此次操作所需
if &compatible
set nocompatible
end
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" Let Vundle manage Vundle
Bundle 'gmarik/vundle'
" Define bundles via Github repos
" 标签导航
Bundle 'majutsushi/tagbar'
Bundle 'vim-scripts/ctags.vim'
" 静态代码分析
Bundle 'scrooloose/syntastic'
" 文件搜索
Bundle 'kien/ctrlp.vim'
" 目录树导航
Bundle "scrooloose/nerdtree"
" 美化状态栏
Bundle "Lokaltog/vim-powerline"
" 主题风格
Bundle "altercation/vim-colors-solarized"
" python自动补全
Bundle 'davidhalter/jedi-vim'
Bundle "klen/python-mode"
" 括号匹配高亮
Bundle 'kien/rainbow_parentheses.vim'
" 可视化缩进
Bundle 'nathanaelkane/vim-indent-guides'
if filereadable(expand("~/.vimrc.bundles.local"))
source ~/.vimrc.bundles.local
endif
filetype on
7、下载编译ycm
git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive
报错
无法克隆 'https://go.googlesource.com/tools' 到子模组路径 'third_party/go/src/golang.org/x/tools'
解决:
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x
git clone https://github.com/golang/tools.git
#回到 YouComplateMe 目录继续安装其他子模块
cd ~/.vim/bundle/YouCompleteMe
# 继续子模块的安装
git submodule update --init --recursive
8\在vundel中安装插件
Plugin 'gmarik/Vundle.vim'
Plugin 'Valloric/YouCompleteMe’
9\
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
#报错
ERROR: Unable to find executable 'cmake'. CMake is required to build ycmd
#解决
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
tar xvf cmake-3.6.2.tar.gz && cd cmake-3.6.2/
./bootstrap
gmake
gmake install
10\ycm进行nodejs和golang的补全
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer --gocode-completer --tern-completer
# 1.在根目录下创建.vimrc文件,
vim .vimrc
# github官网安装命令
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
#copy 官方案例
官方案例只需保留以下两行,写到 .vimrc文件,准备在这两行之间安装‘’需要的插件‘’
" Specify a directory for plugins
" - For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
call plug#begin('~/.vim/plugged')
" Initialize plugin system
call plug#end()
# 插件1,开屏插件 vim-startify
https://github.com/mhinz/vim-startify
# 插件名,写在.vimrc文件plug内
Plug 'mhinz/vim-startify'
# 按esc,输入:
:source ~/.vimrc
# 按回车,再输入
:PlugInstall
步骤图1
[外链图片转存失败(img-6IrqUquK-1568016673102)(/Users/bobwang/Library/Application Support/typora-user-images/image-20190907184715608.png)]
步骤图2
[外链图片转存失败(img-9v8CkvDV-1568016673103)(/Users/bobwang/Library/Application Support/typora-user-images/image-20190907185028493.png)]
:qa
再输入vim,发现有如下开机显示
[外链图片转存失败(img-kj6gvMmh-1568016673104)(/Users/bobwang/Library/Application Support/typora-user-images/image-20190907185524039.png)]
https://vimawesome.com/
#1、修改状态栏
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
#2 缩进线
Plug 'yggdroot/indentline'
#3、配色
Plug 'w0ng/vim-hybrid'
:colorscheme hybrid 按回车
# 如果安装失败试下一种方式
git clone https://github.com/w0ng/vim-hybrid.git
# 移动文件到.vim/colors/,没有就先创建
mkdir .vim/colors
cp vim-hybrid/colors/hybrid.vim ./.vim/colors/
# 配色持久化
set background=dark
colorscheme hybrid
#4、目录树
Plug 'scrooloose/nerdtree'
autocmd vimenter * NERDTree 自动开启目录
#5 模糊搜索器
Plug 'ctrlpvim/ctrlp.vim'
// 按下ctrl+p 开启模糊搜索文件
#6、快速定位插件easymotion
Plug 'easymotion/vim-easymotion'
# 设置映射
nmap ss <Plug>(easymotion-s2)
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' }
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
Plug 'deoplete-plugins/deoplete-jedi'
let g:deoplete#enable_at_startup = 1
set completeopt-=preview
bug:
vim-hug-neovim-rpc] Vim(pythonx):ModuleNotFoundError: No module named ‘neovim’
#解决
pip3 install pynvim
set nu
set background=dark
colorscheme murphy
set nocompatible
set encoding=utf-8
set showmatch
call plug#begin('~/.vim/plugged')
Plug 'mhinz/vim-startify'
Plug 'yggdroot/indentline'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'w0ng/vim-hybrid'
Plug 'scrooloose/nerdtree'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'easymotion/vim-easymotion'
Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' }
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
Plug 'deoplete-plugins/deoplete-jedi'
call plug#end()
let g:pymode_python = 'python3'
let g:pymode_trim_whitespaces = 1
let g:pymode_doc = 1
let g:pymode_doc_bind = 'K'
let g:pymode_rope_goto_definition_bind = ""
let g:pymode_lint = 1
let g:pymode_lint_checkers = ['pyflakes', 'pep8', 'pylink']
let g:pymode_options_max_line_length = 120
let g:deoplete#enable_at_startup = 1
set completeopt-=preview