在 Vim 编辑器中开发 Python 应用的 Vim 插件

Python-mode 是一个 Vim 插件,它使你能够在 Vim 编辑器中更快的利用包括 pylint、rope、pydoc、pyflakes、pep8、autopep8、pep257 和 mccable 在内的各种库来写 Python 代码,这些库提供了一些编码功能,比如静态分析、特征重构、折叠、补全和文档等。

推荐阅读:如何用 Bash-Support 插件将 Vim 编辑器打造成编写 Bash 脚本的 IDE

这个插件包含了所有你在 Vim 编辑器中可以用来开发 Python 应用的特性。

Python-mode 的特性

它包含下面这些值得一提的特性:

支持 Python 2.6+ 至 Python 3.2 版本

语法高亮

提供 virtualenv 支持

支持 Python 式折叠

提供增强的 Python 缩进

能够在 Vim 中运行 Python 代码

能够添加/删除断点

支持 Python 对象的 Vim 动作和操作符

能够在运行的同时检查代码(pylint、pyflakes、pylama ……)

支持自动修复 PEP8 错误

允许在 Python 文档中进行搜索

支持代码重构

支持强代码补全

支持定义跳转

在这篇教程中,我将阐述如何在 Linux 中为 Vim 安装设置 Python-mode,从而在 Vim 编辑器中开发 Python 应用。

如何在 Linux 系统中为 Vim 安装 Python-mode

首先安装 Pathogen (它使得安装插件超级简单,并且运行文件位于私有目录中),从而更加容易的安装 Python-mode

运行下面的命令来获取 pathogen.vim 文件和它需要的目录:

# mkdir -p ~/.vim/autoload ~/.vim/bundle && / # curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

然后把下面这些内容加入 ~/.vimrc 文件中:

execute pathogen#infect() syntax on filetype plugin indent on

安装好 pathogen 以后,你可以像下面这样把 Python-mode 插件放入 ~/.vim/bunble 目录中:

# cd ~/.vim/bundle # git clone https://github.com/klen/python-mode.git

然后像下面这样在 Vim 中重建 helptags :

:helptags

你需要启用 filetype-plugin (:help filetype-plugin-on)和 filetype-indent (:help filetype-indent-on)来使用 Python-mode 。

在 Debian 和 Ubuntu 中安装 Python-mode

另一种在 Debian 和 Ubuntu 中安装 Python-mode 的方法是使用 PPA,就像下面这样

$ sudo add-apt-repository https://klen.github.io/python-mode/deb main $ sudo apt-get update $ sudo apt-get install vim-python-mode

如果你遇到消息:“The following signatures couldn’t be verified because the public key is not available”,请运行下面的命令:

现在,使用 vim-addon-manager 启用 Python-mode:

$ sudo apt install vim-addon-manager $ vim-addons install python-mode

在 Linux 中定制 Python-mode

如果想覆盖默认键位绑定,可以在 .vimrc 文件中重定义它们,比如:

" Override go-to.definition key shortcut to Ctrl-] let g:pymode_rope_goto_definition_bind = "" " Override run current python file key shortcut to Ctrl-Shift-e let g:pymode_run_bind = "" " Override view python doc key shortcut to Ctrl-Shift-d let g:pymode_doc_bind = ""

注意,默认情况下, Python-mode 使用 Python 2 进行语法检查。你可以在 .vimrc 文件中加入下面这行内容从而启动 Python 3 语法检查。

let g:pymode_python = 'python3'

你可以在 Python-mode 的 GitHub 仓库找到更多的配置选项: https://github.com/python-mode/python-mode

这就是全部内容了。在本教程中,我向你们展示了如何在 Linux 中使用 Python-mode 来配置 Vim 。请记得通过下面的反馈表来和我们分享你的想法。

作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,他喜欢和电脑一起工作,坚信共享知识。

via: https://www.tecmint.com/python-mode-a-vim-editor-plugin/

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文来自企鹅号 - linuxprobe媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏杂谈

修复android下webView控件的总结

游戏中有一个收集玩家问题反馈的网页,很早之前就有同事反映说android在游戏无法上传附件,在浏览器中是可以正常使用的。最近能腾出手来的时候,就仔细看了一下这个...

1242
来自专栏Nian糕的私人厨房

从零开始构建你的 Gulp

本篇博文的内容根据 Introduction to Gulp.js 系列文章 拓展而来,其代码、依赖包及目录结构部分均有所更改,更多详细内容,敬请参考原文及作者...

1154
来自专栏CRPER折腾记

Angular 2 + 折腾记 :(4)初步了解路由及使用

路由就是控制视图与视图之间的跳转,之间还可以传递参数什么的,路由的退后及前进不会完整的请求整个页面,还可以完全不请求(在生命周期里面控制);

832
来自专栏美丽应用

给安卓Chrome加入主页按钮

5772
来自专栏刺客博客

基于宝塔Linux面板的shadowsocks可视化管理插件

今天发现个好东西,基于宝塔面板的ss插件,具体原理就是 php install shadowsoks之后制作的可视化工具,嗯,意思就是可以从宝塔面板创建需要的s...

1.2K4
来自专栏AhDung

【手记】让Fiddler抓取入站请求,或者叫用Fiddler做反向代理

最近在弄公众号开发,除了主动去调公众号接口,还存在公众号后台要反过来调你的情形,攻受转换一线间。对于回调的情况,想要知道对方是怎样来请求的很有必要。此前经常用F...

1373
来自专栏小尘哥的专栏

前后端分离Nuxt.js解决SEO问题

背景:由于后端程序猿通常对CSS 、JS掌握不是特别好,通常的开发模式,UI把静态html做好交给程序猿,程序猿开发,把静态html变成动态的时候经常会有各种样...

2644
来自专栏偏前端工程师的驿站

打造高效前端工作环境 - tmux

打造高效前端工作环境 - tmux 前言  现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gul...

2336
来自专栏企鹅号快讯

加速 Webpack

作者:吴浩麟 https://www.ibm.com/developerworks/cn/web/wa-lo-expedite-webpack/index.ht...

2755
来自专栏九彩拼盘的叨叨叨

减少网站响应时间概要

853

扫码关注云+社区