配置基于python的VIM环境
安装插件管理工具
为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle。vundle本身的github软件已经有相关的中文文档,地址如下:
复制其配置,set nocompatible " 去除VI一致性,必须filetype off " 必须" 设置包括vundle和初始化相关的runtime pathset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" 另一种选择, 指定一个vundle安装插件的路径"call vundle#begin('~/some/path/here')" 让vundle管理插件版本,必须Plugin 'VundleVim/Vundle.vim'" 你的所有插件需要在下面这行之前call vundle#end() " 必须filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本" 忽视插件改变缩进,可以使用以下替代:"filetype plugin on
” 将你自己对非插件片段放在这行之后
call vundle#begin()
与call vundle#end()
加入你要安装的插件 如果是安装github上的插件使用 Plugin '用户名/仓库名'
即可 在本地等的插件安装请查看官方文档 在VIMRC中加入语句后,在VIM中运行PluginInstall即可 vimrc的基本配置
缩进
根据PEP 8[1],Python文件中建议用空格代替Tab,且缩进应为四个空格。要自动实现此功能,可加入:
filetype plugin indent onautocmd FileType python setlocal et sta sw=4 sts=4
与TAB相关的变量表
变量名 | 缩写 | 含义 |
---|---|---|
tabstop=X | ts | 编辑时一个TAB字符占多少个空格的位置。 |
shiftwidth=X | sw | 使用每层缩进的空格数。 |
(no)expandtab | (no)et | 是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V |
softtabstop=X | sts | 方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格 |
(no)smarttab | (no)sta | 开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。 |
代码折叠
以缩进作为依据对python的代码进行折叠
autocmd FileType python setlocal foldmethod=indent"默认展开所有代码set foldlevel=99
安装python相关插件
flake8
flake8是代码错误检查插件Pyflake和检查代码是否符合标PEP8准插件的结合
第12行中插入了flake8的github地址 之后在vim中运行PluginInstall即安装成功 F7运行 使用Bundle安装PEP8后按F7我出现了找不到FLAKE8的错误 我使用pip安装FLAKE8后依然的不到解决 在查找stackoverflow的相关社区后使用包管理安装sudo pip install python-flake8
问题得到了解决 Pydiction
Pydiction相比YCM的安装编译简单的太多了,YCM我查找了多个资料最终才得以成功。使用Vundle安装
在你的.vimrc中加入如下配置filetype plugin on
let g:pydiction_location = '/home/user/.vim/bundle/pydiction/complete-dict'
请根据你的安装路径修改pydiction的路径 如果要更改补全出现的行数 let g:pydiction_menu_height = 3
保存后打开py文件就有了自动补全功能 YouCompleteMe
YouComPlete的安装比较复杂,即使安装之后仍然需要编译 你要安装它之前,确保你已经安装了以下必备软件 build-essential cmake python-dev python3-dev 如果没有请使用包管理进行安装
sudo apt-get install build-essential cmake
sudo apt-get install python-dev python3-dev
由于使用Plugin方式出现了错误,我直接在cd ~/.vim/bundle
后clone了它的仓库 git clone https://github.com/Valloric/YouCompleteMe ~/.vom/bundle/YouComPleteMe
使用git submodule update --init --recursive
对插件进行更新 如果不需要对C类语言(C# C++等)的支持,直接使用以下语句 cd ~/.vim/bundle/YouCompleteMe./install.py
即可
如果还需要对C类语言的支持cd ~/.vim/bundle/YouCompleteMe./install.py --clang-completer
需要已经安装了Clang
之后,还要对YCM进行配置 具体的配置可以参考下面的网址