主要为大家介绍一下vim的安装、配置及python3开发环境配置,由于本人也是小白学生,第一次研究这些东西,大部分东西来源自网上,还有一些应个人习惯改动的地方,希望对广大像我一样的新手有一定的帮助。

首先为大家介绍一下系统情况:
Ubuntu 18.04
python3.5

1.安装VIM

  1.1 在shell下输入命令vim --version,会显示出版本号和支持的特性,你需要在里面检查一下有没有+python3字样,如果vim版本过低或是不支持python,你就需要重新安装vim了。

vim 中使用python vim-python_vim


  1.2 卸载VIM:

sudo apt remove vim

  1.3 安装VIM:

sudo apt install vim-nox

2.安装VIM插件管理器
  2.1 这里再往上大部分都是用Vundle来管理,我选择了Vim-plug,安装方法:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

更加详细的操作可以参考 https://linux.cn/article-9751-1.html   2.2 首先要在你的主目录下新建一个名为.vimrc的vim配置文件。在shell中运行以下命令:

cd ~
touch .vimrc
ls

这样.vimrc文件就新建好了,此时打开.vimrc文件里面是空的。
然后将下面的配置添加到.vimrc文件的顶部:

call plug#begin('~/.vim/plugged')
Plug 'itchyny/lightline.vim'  #这行是测试vim-plug是否正常,随便下载的一个插件
call plug#end()

3.安装YouCompleteMe插件
  3.1 YouCompleteMe(YCM)是一个功能非常强大的代码补全工具,可说是python开发的最佳搭档。

在安装YCM前,还需要先安装一些必须的软件:

sudo apt install python-dev python3-dev cmake

接着在~/.vimrc中添加YCM配置:

Plug 'Valloric/YouCompleteMe'

例:

call plug#begin('~/.vim/plugged')

Plug 'Valloric/YouCompleteMe' #把想用的插件写在begin和end之间

call plug#end()

然后运行vim在normal模式下运行:PluginInstall,系统即会将YouCompleteMe(YCM)安装到~/.vim/plugged/目录下。

vim 中使用python vim-python_vim_02


这里需要特别提醒大家的是YCM的体积比较大,等待的时间会比较长,在等待结束后再次进入VIM,会提示你The ycmd server SHUT DOWN (restart with ‘:YcmRestartServer’).错误。可执行一下操作:

1).重装YouCompleteMe

python3 install.py --clang-completer --racer-completer #支持C语言

(先进入ycm文件~/.vim/plugged/YouCompleteMe),在对其中的install.py进行此命令操作。
2).安装YouCompleteMe过程提示cargo异常
ERROR:cargo is required for the Rust completer
如果提示cargo异常,需要安装cargo,命令如下:

curl https://sh.rustup.rs -sSf | sh

cargo安装成功后再重试上述步骤1
3).重新编译YouCompleteMe

./install.py --clang-completer  ## 进入YouCompleteMe目录后执行

4).完成后效果如下

vim 中使用python vim-python_python_03


4.安装NERDTree插件

使用NERDTree插件可以在Vim窗口中显示一个文件树。

~/.vimrc文件中添加

Plugin 'scrooloose/nerdtree'

运行Vim在normal模式下运行:PluginInstall

5.python自动补全插件:pydiction
Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件。
它和ycm同时使用并不冲突,我个人感觉很好用
Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件。
详细可以看这个网站:
http://rkulla.github.io/pydiction/

  5.1 下载Pydiction:

mkdir ~/.vim           #已有则不用创建
mkdir ~/.vim/tools/pydiction
cd ~/.vim/
#这里我们也可以自己下载好上传到linux系统中
git clone https://github.com/rkulla/pydiction.git

  5.2配置Pydiction:

cp -r ~/.vim/pydiction/after ~/.vim
cp ~/.vim/pydiction/complete-dict ~/.vim/tools/pydiction

在~/.vimrc文件尾添加:

filetype plugin on 
let g:pydiction_location = ‘~/.vim/tools/pydiction/complete-dict’
let g:pydiction_menu_height = 5

到此已经可以使用Tab键自动补全python代码了

vim 中使用python vim-python_python_04


5.配置VIM环境

Vim下的插件非常之多,在这里就简要给大家介绍了以上几个,你可以上网去搜索更多你感兴趣的插件,安装完插件后我们就要来对Vim进行配置,使其更符合我们的工作习惯。以下是我的个人配置,提供给大家参考:

call plug#begin('~/.vim/plugged')
Plug 'Valloric/YouCompleteMe'
Plug 'scrooloose/nerdtree'
call plug#end()

filetype plugin on
let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
let g:pydiction_menu_height = 5

set completeopt-=preview
let g:SimpyIFold_docstring_preview=1
let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree

"显示相关
"set shortmess=atI  "不显示帮助乌干达的提示
set mouse=a "支持鼠标
set ruler "显示当前光标行列位置
set nu "显示行数
set tabstop=4  "Tab键的宽度设为4
set softtabstop=4
set shiftwidth=4  "统一缩进为4
set list listchars=tab:>-,trail:-,eol:$  "设定tab键显示为>-,每行行尾显示$
set autoindent  "开启自动缩进,保持缩进值与上一行相等
"映射以F5打开NERDTree
nnoremap <silent> <F5> :NERDTree<CR>
"映射自动补全括号
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap " ""<ESC>i
inoremap ' ''<ESC>i
"python运行配置
map <F6> :w<cr>:!python3 %<cr>:q<cr>  "按F6键进行python调试

最后欢迎各位大佬鞭策!