1、查询自用linux是否已安装vim8
1.1 已安装vim8
以下的命令适用于任何Linux。
查询已安装版本是否支持python3
vim --version|grep python3
若得到以下结果:
vim1.png
"+python3/dyn" 中的 "+" 说明vim8支持python3,可以直接进行第2步安装vundle插件管理器。
若所得到的结果是 "-python3/dyn",那就说明不支持,需要重新编译安装vim8。
1.2 未安装或已安装的vim8不支持python3
1.2.1 已安装vim8的先进行卸载
以Debian举例:
sudo apt remove vim*
1.2.2 安装编译vim所需的依赖
sudo apt install gcc make libncurses5-dev git python3-dev
1.2.3 Git下载安装最新版的vim8
cd ~
git clone https://github.com/vim/vim.git
sudo mkdir /usr/local/vim8
cd ~/vim
./configure --disable-selinux --enable-perlinterp=yes \
--enable-python3interp=yes --enable-rubyinterp=yes \
--enable-cscope --enable-gui=auto --with-features=huge \
--enable-multibyte --enable-xim --with-x --with-gnome \
--with-compiledby="thepoy" --prefix=/usr/local/vim8
make
sudo make install
一切顺利的话,vim8安装完成,并已支持python3,可以通过 1.1 的代码检查。
2、安装Vundle
2.1 Git克隆到本地
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
2.2 编辑vim配置文件.vimrc
通常此文件在~下面,刚安装时不存在,需自行创建。vim的好处就在于如果文件不存在会自动创建,所以不管它存不存在都可以直接执行:
vim .vimrc
在里面添加配置:
"去除VI一致性,必须
set nocompatible
"必须
filetype off
"设置Vundle的运行路径
set rtp+=~/.vim/bundle/Vundle.vim
"设置插件的安装路径,vundle插件起始标志
call vundle#begin()
"让vundle管理插件版本
Plugin 'VundleVim/Vundle.vim'
"你的所有插件需要在下面这行之前
call vundle#end()
"加载vim自带和插件相应的语法和文件类型相关脚本
filetype plugin indent on
进入Normal模式,输入:
:source ~/.vimrc
使配置生效
3、安装YouCompleteMe
3.1 Git克隆
国内网络最好用此法,因为隔着一道墙,Plugin安装太慢了:
git clone --recursive https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
3.2 安装YCM所需依赖
sudo apt install build-essential cmake clang
3.3 编译安装
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --clang-completer --system-libclang
clang增加c语言支持,python里有些时候可能用得到,还是在编译时安装上,以防以后用到的时候再折腾。
4 我用的 vimrc 配置模板
这也是自网络上找到的资源,进行了小小的修改,我个人不太喜欢它的主题,但是懒得改了,一直用着。此配置除了主题,对搞 python 的人来说已经很到位了。
4.1 旧模板:
cd # 回到当前用户的主目录
wget https://raw.githubusercontent.com/thep0y/vim/master/.vimrc #有的 linux 能直接覆盖,有的可能下载下来被重命名为 .vimrc.1 ,需要自己改名
接下来就是安装插件了:
vim .vimrc
# 在 Normal 模式下,输入
:PluginInstall
4.2 新模板(正在完善):
删除了一些旧模板里可能用不到的配置,精简实用一些
cd # 回到当前用户的主目录
wget https://raw.githubusercontent.com/thep0y/vim/master/新配置/.vimrc #有的 linux 能直接覆盖,有的可能下载下来被重命名为 .vimrc.1 ,需要自己改名
接下来就是安装插件了:
vim .vimrc
# 在 Normal 模式下,输入
:PluginInstall
如果插件安装有问题,重复操作,或者换网络。如果报某些其他非网络的错误,多百度或谷歌一下就能解决
附:ycmd第三方包golang.org/x/tools解决方案
vim安装YouCompleteMe插件时 , 碰到以下报错:
[gaoqilin@gqlmac /Users/gaoqilin/.vim/bundle/YouCompleteMe]$ git submodule update --init --recursive
Cloning into '/Users/gaoqilin/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools'...
fatal: unable to access ' [https://go.googlesource.com/tools/'](https://www.jishuwen.com/jump/aHR0cHM6Ly9saW5rcy5qaWFuc2h1LmNvbS9nbz90bz1odHRwcyUzQSUyRiUyRmdvLmdvb2dsZXNvdXJjZS5jb20lMkZ0b29scyUyRiUyNw==) : Failed to connect to [go.googlesource.com](https://www.jishuwen.com/jump/aHR0cHM6Ly9saW5rcy5qaWFuc2h1LmNvbS9nbz90bz1odHRwJTNBJTJGJTJGZ28uZ29vZ2xlc291cmNlLmNvbQ==) port 443: Operation timed out
fatal: clone of ' [https://go.googlesource.com/tools'](https://www.jishuwen.com/jump/aHR0cHM6Ly9saW5rcy5qaWFuc2h1LmNvbS9nbz90bz1odHRwcyUzQSUyRiUyRmdvLmdvb2dsZXNvdXJjZS5jb20lMkZ0b29scyUyNw==) into submodule path '/Users/gaoqilin/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/ [golang.org/x/tools'](https://www.jishuwen.com/jump/aHR0cHM6Ly9saW5rcy5qaWFuc2h1LmNvbS9nbz90bz1odHRwJTNBJTJGJTJGZ29sYW5nLm9yZyUyRnglMkZ0b29scyUyNw==) failed
Failed to clone 'third_party/go/src/golang.org/x/tools'. Retry scheduled
Cloning into '/Users/gaoqilin/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools'...
解决方案 :
方法一:
进入待下载库的路径:
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/go/src/golang.org/x/tools
然后在 git 中 clone:
git clone https://github.com/golang/tools.git
方法二:
第一步: 先修改 .git/config 文件
vim ~/.vim/bundle/YouCompleteMe/.git/modules/third_party/ycmd/config
找到 [submodule "third_party/go/src/golang.org/x/tools"] 替换为以下内容
[submodule "third_party/go/src/golang.org/x/tools"]
active = true
url = https://github.com/golang/tools.git
第二步:修改.gitmodules 文件
vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/.gitmodules
找到 [submodule "third_party/go/src/golang.org/x/tools"] 替换为以下内容
[submodule "third_party/go/src/golang.org/x/tools"]
path = third_party/go/src/golang.org/x/tools
url = https://github.com/golang/tools.git
ignore = dirty
第三步
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd
git submodule update --init --recursive
网友评论