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 ...
随机推荐
- 【转】RadControls for Silverlight(学习1-GridView)
引用:Telerik(官 网:http://www.telerik.com/)是保加利亚的一个软件公司,专注于微软.Net平台的表示层与内容管理控件.我们提供高度稳定性和丰富性能的组件产品,并可应用在 ...
- multipath tcp experiment
git clone https://github.com/Neohapsis/mptcp-abuse.git sudo apt-get install python-pip sudo pip inst ...
- Android Full Screen
http://talentprince.github.io/blog/2015/01/07/android-activity-quan-ping-fang-fa-zong-jie/
- Axis2测试webservice server以及client
一.环境搭建 下载axis2-1.6.2-war.zip/axis2-1.6.2-bin.zip等. 参考axis2-1.6.2-war\README.txt以及axis2-1.6.2-war\axi ...
- 学习SVG系列(1):SVG基础
什么是SVG? 1.指可伸缩矢量图形 2.用来定义用于网络的基于矢量的图形 3.使用XML格式定义图形 4.图像在放大或改变尺寸的情况下其图形不会有所损失 5.万维网联盟的标准, 用于描述二维矢量图形 ...
- windows核心编程---第八章 使用内核对象进行线程同步
使用内核对象进行线程同步. 前面我们介绍了用户模式下线程同步的几种方式.在用户模式下进行线程同步的最大好处就是速度非常快.因此当需要使用线程同步时用户模式下的线程同步是首选. 但是用户模式下的线程同步 ...
- OpenCV阶段总结扩充。
Mat类型简单介绍 /* cv::Mat类是用于保存图像以及其他矩阵的数据结构.默认情况下,其尺寸为0,我们也可以设置其初始尺寸,比如定义一个Mat类的对象,就要写cv::Mat pic(320,64 ...
- nodejs渲染模板
为什么要用nodejs来渲染? 之前前端的任务就是用HTML+CSS 来高保真的还原UI所设计原图,偶尔会使用少量的jq来对页面添加一些特效,页面还要交付给后端开发人员进行数据填充(php jsp)等 ...
- [转]使用scrapy进行大规模抓取
原文:http://www.yakergong.net/blog/archives/500 使用scrapy有大概半年了,算是有些经验吧,在这里跟大家讨论一下使用scrapy作为爬虫进行大规模抓取可能 ...
- js判断是否存在指定变量或函数
//是否存在指定变量 function isExitsVariable(variableName) { try { if (typeof(eval(variableName)) == "un ...