在前面文章中介绍的关于vim基础插件之上加上一款专门为读写python程序的插件-Python-mode. 顾名思义,就是让vim在python模式下运行。这里介绍这款插件的功能以及如何使用。

本文主要摘录Python-mode的帮助文档中个人觉得用到较多的并且比较有意义的内容。

Introduction

Python-mode: includes libraries such as pylintropepydocpyflakespep8, and mccabe。 Python-mode通过集成了多款插件来实现强大的功能。

Install

用Neobundle在vimrc中加入如下代码,或者直接下载解压.vim/plugin目录下

Bundle 'klen/python-mode'

Function

python-mode的功能和配置非常多,但大多数只需要使用默认配置即可。总结帮助文档(help pymode),可以通过介绍他的配置项可以了解它的功能:

1. Turn on the Plugin:

  let g:pymode = 1 “关闭和打开python-mode插件

2. Choose python version:

  let g:pymode_python = 'python' "or python3, disable. “选择python的版本

3. PEP8-compatible python indent:

  let g:pymode_indent = 1 ”使用缩进的风格为pep8

4. Enable pymode folding:

  let g:pymode_folding = 1 “使能折叠功能

5. Show Document:

  let g:pymode_doc = 1 " 通过命令:PymodeDoc arg查阅文档

  let g:pymode_doc_bind = 'K' "光标移到参数上面按快捷键K

6. Run code:

  let g:pymode_run = 1

  let g:pymode_run_bind = '<leader>r' ”在vim中运行

7. Add breakpoint

  let g:pymode_breakpoint_bind = '<leader>b' “自动加入断点语句

8. Code checking:

  let g:pymode_lint_on_write = 1 "修改后检查

  let g:pymode_lint_checkers = ['pyflakes', 'pep8', 'mccabe']   " choose from pylint, pep8, mccabe, pep257, pyflakes

9. Rope support (建立项目文件的数据库来索引对象):

  let g:pymode_rope_ropefolder='.ropeproject' “项目文件在的目录

  let g:pymode_rope_show_doc_bind = '<C-c>d' ”查阅帮助文档

10. Completion

语法补全命令:<C-P>/<C-N>

11. Others

  let g:pymode_trim_whitespaces = 1 "Trim unused white spaces on save

  let g:pymode_options = 1  "Setup default python options

  let g:pymode_options_max_line_length = 79 "Setup max line length

还有关于代码重铸以及虚拟环境的配置功能,因为没有用到,所以就不介绍了。 虽然配置很多,需要在vimrc中用到的也就一下几项:

423 " For python-mode
424 let g:pymode_rope_goto_definition_bind = "<C-]>"
425 let g:pymode_python = 'python' "or python3, disable
426 "let g:pymode_virtualenv_path = $VIRTUAL_ENV
427 let g:pymode_lint_on_write = 1
428 "let g:pymode_rope_goto_definition_cmd = 'new'"or vnew

最后总结一下命令使用

1).K :查阅对象文档

2).<leader>r: 运行python脚本

3). <leader>b:自动加入断点

4). <C-P>/<C-N>:自动补全

5). <C-]>: 跳转到函数定义

vim下打造python编辑器的更多相关文章

  1. Gvim打造python编辑器,附自己的配置文件

    一. Gvim简介 Gvim的G指的是GUI,也就是图形化界面.相当于在vim包了一层图形化界面,相比之下gvim拥有更丰富的颜色和字体,还有菜单和滚动条,以及更友好的鼠标操作等,除此之外和vim并无 ...

  2. Ubuntu VIM下实现python自动缩进

    1.打开vimrc文件 sudo vi /usr/share/vim/vimrc 2.添加 set filetype=python au BufNewFile,BufRead *.py,*.pyw s ...

  3. 在vim下写python 会出现python错误:unexpected unident

    需要在.vimrc  的set tabstop=4的这一行上面增加  set expandtab 否则会报unexpected unident

  4. 使用vim打造自己的python编辑器

    基础配置 vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下: cd ~ touch .vimrc 首先做些简单的配置: set nocompatible ...

  5. 转载 - Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)

    出处:http://www.cnblogs.com/ifantastic/p/3185665.html Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LT ...

  6. Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)

    Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...

  7. 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器

    原创咯- flask是一个micro framework ,伸缩性很强.可以部署到openshift 的PAAS里.这个框架上手非常快.喜欢的可以试试. 若实在MAC里,python已经默认安装了.1 ...

  8. Ubuntu下更改Vim配置文件打造C/C++风格

    转载:Ubuntu下更改Vim配置文件打造C/C++风格 Vim默认的配置使用起来还不能让人满意,还需要自己配置 默认配置文件是:/etc/vim/vimrc我们可以在家目录下建立自己的配置文件切换到 ...

  9. 一键打造vim ide 支持python golang shell等高级特性

    1.vim-for-devops github: https://github.com/yxxhero/vim_for_devops 利用vim插件打造支持python.shell.golang的id ...

随机推荐

  1. 基本矩阵运算的Java实现

      一: 矩阵的加法与减法 规则:矩阵的加法与减法要求两个矩阵的行列完全相等,方可以完成两个矩阵的之间的运算. 举例说明如下 二:矩阵的乘法 规则:矩阵的乘法要求两个矩阵符合A(mx k),  B( ...

  2. js操作dom---创建一个域来输出调试信息

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. JSP数据交互(二)和Servlet基础

    01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...

  4. Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)

        如前一篇博文所分析,我们可以使用广播的形式在快速按下两次音量下键的时候发出广播,以方便客户端进行捕捉.既然有两种方式可以实现该Issue那么哪种方式是首选呢?     我个人推荐使用启动服务的 ...

  5. Android环境虚拟WINDOWS系统

    参考文档:http://bbs.anzhi.com/thread-5120526-1-1.html 我们知道安卓手机是arm平台,windows是x86平台,指令集完全不同,但在这里要教给大家的是靠软 ...

  6. LingQ 的Distinct使用方法

    需要将对象继承 IEqualityComparer<对象类名> 接口 然后实现下面两个方法 public bool Equals(对象 x, 对象y) { return x.ID == y ...

  7. ArrayList添加新元素的覆盖问题

    首先,看一个代码段: 1. ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String&g ...

  8. 软件测试第三次作业——7.使用下面方法printPrimes()完成后面的问题(a)~(f)

    (a)控制流图如下: (b)令MAXPRIMES=4,会出现越界错误. (c)令n=1,不会经过while循环体. (d)节点覆盖:{1,2,3,4,5,6,7,8,9,10,11,12,13,14, ...

  9. MVC 知识点学习3(linq to sql)

    1.通过DbContext对象的Database.SqlQuery执行sql语句 string query = "SELECT EnrollmentDate, COUNT(*) AS Stu ...

  10. css3 TransformZ() 3D缩放

    transformZ()函数做了一个在Z轴移动的工作,3D空间中,Z轴垂直于x-y所在平面-也就是界面所在的平面,而我们的视角正好垂直于xy平面,所以进行transformZ() 3D缩放,其实在我们 ...