vim下打造python编辑器
在前面文章中介绍的关于vim基础插件之上加上一款专门为读写python程序的插件-Python-mode. 顾名思义,就是让vim在python模式下运行。这里介绍这款插件的功能以及如何使用。
本文主要摘录Python-mode的帮助文档中个人觉得用到较多的并且比较有意义的内容。
Introduction
Python-mode: includes libraries such as pylint, rope, pydoc, pyflakes, pep8, 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编辑器的更多相关文章
- Gvim打造python编辑器,附自己的配置文件
一. Gvim简介 Gvim的G指的是GUI,也就是图形化界面.相当于在vim包了一层图形化界面,相比之下gvim拥有更丰富的颜色和字体,还有菜单和滚动条,以及更友好的鼠标操作等,除此之外和vim并无 ...
- Ubuntu VIM下实现python自动缩进
1.打开vimrc文件 sudo vi /usr/share/vim/vimrc 2.添加 set filetype=python au BufNewFile,BufRead *.py,*.pyw s ...
- 在vim下写python 会出现python错误:unexpected unident
需要在.vimrc 的set tabstop=4的这一行上面增加 set expandtab 否则会报unexpected unident
- 使用vim打造自己的python编辑器
基础配置 vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的,如果没有的话,需要自己新建一下: cd ~ touch .vimrc 首先做些简单的配置: set nocompatible ...
- 转载 - Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LTS)
出处:http://www.cnblogs.com/ifantastic/p/3185665.html Vim 的 Python 编辑器详细配置过程 (Based on Ubuntu 12.04 LT ...
- Vi (Unix及Linux系统下标准的编辑器)VIM (Unix及类Unix系统文本编辑器)
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下 ...
- 在MAC OS 下配置python + Flask ,并支持pyCharm编辑器
原创咯- flask是一个micro framework ,伸缩性很强.可以部署到openshift 的PAAS里.这个框架上手非常快.喜欢的可以试试. 若实在MAC里,python已经默认安装了.1 ...
- Ubuntu下更改Vim配置文件打造C/C++风格
转载:Ubuntu下更改Vim配置文件打造C/C++风格 Vim默认的配置使用起来还不能让人满意,还需要自己配置 默认配置文件是:/etc/vim/vimrc我们可以在家目录下建立自己的配置文件切换到 ...
- 一键打造vim ide 支持python golang shell等高级特性
1.vim-for-devops github: https://github.com/yxxhero/vim_for_devops 利用vim插件打造支持python.shell.golang的id ...
随机推荐
- 基本矩阵运算的Java实现
一: 矩阵的加法与减法 规则:矩阵的加法与减法要求两个矩阵的行列完全相等,方可以完成两个矩阵的之间的运算. 举例说明如下 二:矩阵的乘法 规则:矩阵的乘法要求两个矩阵符合A(mx k), B( ...
- js操作dom---创建一个域来输出调试信息
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- JSP数据交互(二)和Servlet基础
01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...
- Android锁屏或灭屏状态下,快速按两次音量下键实现抓拍功能(1.2Framework层使用startService形式实现)
如前一篇博文所分析,我们可以使用广播的形式在快速按下两次音量下键的时候发出广播,以方便客户端进行捕捉.既然有两种方式可以实现该Issue那么哪种方式是首选呢? 我个人推荐使用启动服务的 ...
- Android环境虚拟WINDOWS系统
参考文档:http://bbs.anzhi.com/thread-5120526-1-1.html 我们知道安卓手机是arm平台,windows是x86平台,指令集完全不同,但在这里要教给大家的是靠软 ...
- LingQ 的Distinct使用方法
需要将对象继承 IEqualityComparer<对象类名> 接口 然后实现下面两个方法 public bool Equals(对象 x, 对象y) { return x.ID == y ...
- ArrayList添加新元素的覆盖问题
首先,看一个代码段: 1. ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String&g ...
- 软件测试第三次作业——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, ...
- MVC 知识点学习3(linq to sql)
1.通过DbContext对象的Database.SqlQuery执行sql语句 string query = "SELECT EnrollmentDate, COUNT(*) AS Stu ...
- css3 TransformZ() 3D缩放
transformZ()函数做了一个在Z轴移动的工作,3D空间中,Z轴垂直于x-y所在平面-也就是界面所在的平面,而我们的视角正好垂直于xy平面,所以进行transformZ() 3D缩放,其实在我们 ...