配置基于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=Xts编辑时一个TAB字符占多少个空格的位置。
shiftwidth=Xsw使用每层缩进的空格数。
(no)expandtab(no)et是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V
softtabstop=Xsts方便在开启了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地址
VIM安装的配置
第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

转载于:https://www.cnblogs.com/lynsyklate/p/6443411.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Npgsql 6.0.2 发布,赶紧升级!!!

❝PostgreSQL 是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的 POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES 的许多领先概念只是在比较迟的时候才出现在商业网站数…

Android之中获取应用程序(包)的信息-----PackageManager的使用(一)

转载:http://blog.csdn.net/qinjuning/article/details/6867806 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename、label、icon、占用大小等。具体分为两个 部分,计划如下: 第一部分: 获取应用程…

dnf公共频道服务器不稳定已从初始化状态,DNF公共频道跨区列表 组队连不上必看...

DNF公共频道组队连接不上?在大转移版本之后很多玩家表示DNF公共频道不能组队,实际上这个和大家所在的DNF公共频道跨区有关,位于同一个跨区的玩家之间才能够组队,这里是一份DNF公共频道跨区列表,除此之外还有公共频道的…

JDK中DNS缓存的分析

在JAVA中使用InetAddress.getByName(String host) 方法来获取给定hostname的IP地址。为了减少DNS解析的请求次数,提高解析效率,InetAddress中提供cache来缓存解析结果。 下面就此cache进行简单的分析: 该缓存实现比较简单,巧妙的利…

了解开源文化

开放源码软件运动是计算机科学领域的一种文化现象,源自***对智慧成果共享、自由的追求。开源运动发展到现在,这种能够积极促进人类文明发展的文化已经***到信息、教育、健康等领域,融入了哲学范畴。开放源码运动的史前史包括了整个Unix&#…

jquery验证手机号码和邮箱地址例子

为什么80%的码农都做不了架构师?>>> //jquery验证邮箱 function checkSubmitEmail(){ if($("#email").val()""){ $("#confirmMsg").html("邮箱地址不能为空!"); $("#email").focus()…

.NET 6新特性试用 | 可写JSON DOM API

前言我们常用JSON的方式&#xff0c;是将类对象序列化/反序列化:var user new User { Name "My IO" }; var json JsonSerializer.Serialize(user); var newUser JsonSerializer.Deserialize<User>(json);而通过System.Text.Json提供的可写JSON DOM API&…

网页设计的css样式,网页设计引入CSS样式的五种方式_css

一、使用STYLE属性将STYLE属性直接加在个别的元件标签里&#xff0c;&#xff1c;元件(标签) STYLE”性质(属性)1: 设定值1; 性质(属性)2: 设定值2; …}例如&#xff1a;&#xff1c;TD STYLE”COLOR:BLUE; font-size:9pt; font-family:”标楷体”; line-height:150%&#xff1…

C#薪水和前途

这1&#xff0c;2年有更新简历&#xff0c;一直在看市场行情&#xff0c;最近这么多年在聊C#的薪水&#xff0c;我也说说我看到的情况&#xff0c;只限上海&#xff1b; 仅供大家参考&#xff1b; 高端职位&#xff1a; 纯技术&#xff0c;不谈管理&#xff0c; 一般是架构师职…

Heritrix 3.1.0 源码解析(十一)

上文分析了Heritrix3.1.0系统是怎么添加CrawlURI curi对象的&#xff0c;那么在系统初始化的时候&#xff0c;是怎么载入CrawlURI curi种子的呢&#xff1f; 我们回顾前面的文章&#xff0c;在我们执行采集任务的launch指令的时候&#xff0c;实际会调用CrawlController对象的v…

令人难忘的初吻描写......

1 我可以把你删了吗&#xff0c;我没有内存了&#xff08;via.豆瓣陈皮&#xff0c;侵删&#xff09;▼2 黑社会平时都在干些什么&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 老师头秃是有原因的▼4 是谁炸了珍珠港&#xff1f;&#xff08;素材来源网络&…

Android之获取应用程序(包)的大小-----PackageManager的使用(二)

http://blog.csdn.net/qinjuning/article/details/6892054 通过第一部分 << Android中获取应用程序(包)的信息-----PackageManager的使用(一) >>的介绍&#xff0c;对PackageManager以及 AndroidManife.xml定义的节点信息类XXXInfo类都有了一定的认识。 本部分的内…

eclipse创建maven多模块项目(单个类似)

2019独角兽企业重金招聘Python工程师标准>>> 1、下载安装maven 1.1、下载 注意&#xff1a;maven的版本&#xff0c;要根据你的jdk版本来下载。要不会安装失败&#xff0c;提示版本问题哦 Jdk 对应的maven版本如图:&#xff08;官网地址&#xff1a;http://maven.ap…

如何通过 C# 判断一个 路径 是本机还是远程 ?

咨询区 David Boike请问在 C# 中是否有好的方式判断 path 是在本地还是在远程,我想到了用 UNC 属性来判断&#xff0c;比如下面的代码&#xff1a;new Uri(path).IsUnc但这代码也有一定的问题,它会误判下面的 path 格式。\\machinename\sharename\directory \\10.12.34.56\shar…

交换系统接媒体服务器,基于软交换的媒体服务器的设计与实现

摘要&#xff1a;随着VoIP(Voice over Internet Protocol,俗称网络电话)的迅速发展,单纯的语音业务已经无法满足用户和市场的需求,因此一种具有多媒体业务的VoIP的方案——IP媒体服务器因此产生了。它可以提供更具个性化和差异性的增值业务,而且可以为提供商带来更高的利润。国…

Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)

http://www.cnblogs.com/salam/archive/2010/11/30/1892143.html转载于:https://www.cnblogs.com/cliffhuang/p/3708696.html

web服务器的基本应用

WEB服务器也称为WWW(WORLD WIDE WEB)即是所谓的万维网服务器&#xff0c;主要功能是提供网上信息浏览服务。 最常用的大型Web服务器是Apache和微软的Internet信息服务器&#xff08;Internet Information Server&#xff0c;所谓的IIS服务器&#xff09;、IBM WebSphere以及BE…

Android 之PackageManager框架

http://blog.csdn.net/stonecao/article/details/6591454 1.接着前面讲的ActivityManager框架&#xff0c;继续说一下系统另一个重要的框架&#xff0c;PackagerManager 同样先看一下静态类结构图&#xff1a; 大部分情况我们是在Activity中使用getPackageManager方法获取一个…

有一个会泰勒级数的八岁表妹是怎样一种体验?

全世界只有3.14 % 的人关注了爆炸吧知识上一篇文章超模君给大家介绍了欧拉公式&#xff0c;很多粉丝问我&#xff1a;八岁表妹明明还是小学生&#xff0c;是怎么知道泰勒级数的意思的?答案其实很简单&#xff0c;这当然和我们全家优秀的基因...不&#xff01;优良的家教有关&a…