配置基于python的VIM环境
配置基于python的VIM环境
安装插件管理工具
为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle。vundle本身的github软件已经有相关的中文文档,地址如下:
vundle官方中文文档
复制其配置,
set nocompatible " 去除VI一致性,必须
filetype off " 必须
" 设置包括vundle和初始化相关的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call 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 on
autocmd 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准插件的结合
Flake8的github地址
第12行中插入了flake8的github地址
之后在vim中运行PluginInstall即安装成功
F7运行
使用Bundle安装PEP8后按F7我出现了找不到FLAKE8的错误
我使用pip安装FLAKE8后依然的不到解决
在查找stackoverflow的相关社区后使用包管理安装
sudo pip install python-flake8
问题得到了解决
Pydiction
Pydiction相比YCM的安装编译简单的太多了,YCM我查找了多个资料最终才得以成功。使用Vundle安装Pydiction
在你的.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的github地址
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进行配置
具体的配置可以参考下面的网址
VIM智能补全插件YCM
配置基于python的VIM环境的更多相关文章
- 基于Python的Appium环境搭建合集
自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...
- 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)
环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...
- 通过nginx搭建基于python的web环境
前言: 在搭建开始前,我们先来梳理下web服务工作流程,先看下图: 1.用户(PC)向web服务器发起http请求 2.web服务器判断用户请求文件是否为静态文件,是则直接读取静态文件并返回给用户,不 ...
- 基于python的scrapy环境搭建
0.1安装python软件 32位机的电脑安装python-3.6.3.exe 64位机的电脑安装python-3.6.3-amd64.exe 0.1.1 python环境搭建 执行安装程序 选择Ad ...
- MAC平台基于Python的Appium环境搭建
前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...
- centos6.5下Python IDE开发环境搭建
自由不是想做什么就做什么,而是想不做什么就不做什么. ---摘抄于2016/11/30晚 之前学习了一段时间的Python,但所有部署都在windows上.正赶上最近在学习liux,以后 ...
- 配置基于Vim的Python开发环境
配置基于Vim的Python开发环境插件 Vundle YouCompleteMe NERDTree Vim-Jinja2-Syntax set nocompatible " be iMpr ...
- 【vim环境配置】详细实录
[写在前面] 以下的所有内容主要参照: https://github.com/yangyangwithgnu/use_vim_as_ide . 原blog作者写的非常用心,建议大家都去看看.(个人觉得 ...
- Vim配置及说明——IDE编程环境
Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...
随机推荐
- for循环(foreach型)语法
- device tree DTB DTC 相互转换
DTB --> DTS ./dtc -I dtb -O dts *.dtb -o *.dts DTS -> DTB ./dtc -I dts -O dtb -o test.dtb test ...
- go语言从例子开始之Example18_1.结构体中定义方法
Go 支持在结构体类型中定义方法 . Example: package main import "fmt" type product struct{ name string num ...
- change all column to char
http://bluefrog-oracle.blogspot.com/2011/09/script-submitted-to-otn-to-altter.html Script to Alter v ...
- mysql limit 数据重复及遗漏
某天写了一段CRUD,提测给QA,后来想起来忘记按规则排序了,然后修改了代码提交,这个时候QA扔给我一条狗,不,是一个BUG. 内心一片忧伤,CRUD也有BUG啊,怎么办怎么办,赶紧看看去. BUG描 ...
- SessionFactory是线程安全的吗?Session是线程安全的吗?两个线程能共享一个Session吗?
(1)SessionFactory对应Hibernate的一个数据存储的概念,它是线程安全的,可以被多个线程并发访问.SessionFactory一般只会在启动的时候构建.对于应用程序,最好将Sess ...
- win10 + VS2015 编译 ARPACK
step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...
- 【架构】Linux的架构(architecture)
最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看邮件,一个计算流体模型等等.硬件是物质基础,而应用提供服务.但在两者之间,还要经过一番周折. 还记得Linux启 ...
- MySQL主从同步(binlog方式)
原文:https://blog.csdn.net/demonson/article/details/80526533
- 工程师技术(三):独立Web站点的快速部署、虚拟Web主机的部署、配置网页内容访问、使用自定Web根目录、配置安全Web服务、部署并测试WSGI站点
一.独立Web站点的快速部署 目标: 本例要求为 http://server0.example.com 配置Web站点,要求如下: 1> 从http://classroom/pub/materi ...