全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码
Vim
Vim, 即 Vi IMproved 的缩写,是一个可配置的文本编辑器,通常用作 Python 的开发环境。Vim 用户通常使用大量的插件、Vim 脚本和逻辑命令语言来扩展 Vim 功能。
为什么 Vim 适合用作 Python 开发环境
Vim 的哲学是:当开发人员的手不离开键盘时,工作效率会更高。代码应该从开发人员的头脑自然地流经键盘,再到达屏幕。使用鼠标等外设会降低开发者的思想与代码的转换速率。
Vim 内含一种逻辑结构化的命令语言。当开始学习时,我们会觉得理解全部的命令是不可能的。但是,这些命令是按一定逻辑组织起来的,因此,随着时间推移,这个编辑器会变得得心应手。
如果你喜欢 Vim,你应该也想了解 写代码的开发环境 和 什么使 Python 变得如些强大。
利用 Vimrc 配置 Vim
Vimrc 是 Vim 编辑器的配置文件。一个 Vimrc 文件可以是一个空文件,也可以包含成百上千行配置命令。
下面是我用于 Python 开发的一个简短的 .vimrc 示例文件,并附带注释。从中你可以感受一下它的配置语句:
- " 开启语法高亮
- syntax enable
- " 显示行号
- set number
- " 设置 tab 符为 4 个空格
- set ts=4
- " 写代码时,移到下一行时自动缩进
- set autoindent
- " 将 tab 符自动扩展成空格
- set expandtab
- " 使用 >> 和 << 命令时, 移动 4 个空格
- set shiftwidth=4
- " 在光标所在的当前行下显示一条行指示线
- set cursorline
- " 显示 [] {} 和 () 匹配的另一半符号
- set showmatch
- " 开启全部 Python 语法高亮特性
- let python_highlight_all = 1
下面的图片是我在 Mac OS X 上编辑本页 markdown 文件的截图,你可以这到这些配置选项在暗色背景后的显示效果是什么样的。
看一下另一个例子,同样的配置选项,这次使用的是浅色背景,图片是我在写 制作交互的演示文稿 项目的 Python 代码时的截图。
Vimrc 文件位于运行 Vim 的用户帐号的 home 目录下。例如,我的用户账号是 'matt', 在 Mac OS X 上,我的 Vimrc 文件可以在 /home/matt/
目录下找到。
如果 Vimrc 文件还没有创建,你只需在用户的 home 目录下创建一个即可,这样,当你下次打开 Vim 时,它就能被加载了。
Vim 教程
Vim 有难学的坏名声,但是通过这些教程,入门会变得更加容易。
Learn Vim Progressively 是一本很精彩的教程,里面提到的学习方式和我学习 Vim 时用的是一样的:先学会编辑器的基本知识就会日常使用,然后再学习更加高级的命令。
A vim Tutorial and Primer 深入研究了如何从初学者进阶到 Vim 专家。
Why Atom Can't Replace Vim 探讨了 Vim 的一个核心理念: 命令的可组合性。Vim 的内置语言能将简单的命令组合成一个更加高级的组合操作命令。例如在命令模式下,
$
的功能是移动到行尾,但当$
前加d
后,就能删除从当前位置到行尾的所有内容。随着时间的推移,这些简单的命令会变成你的直觉,而组合命令会比在下拉菜单中设置一个特定选项来删除到行尾的全部内容这样的方式更加强大。Vim as a Language 解译了其语言语法及如何通过日积月累掌握这个编辑器。
How to install and use Vim on a cloud server 和 How to use Vim for advanced editing of code on a VPS 这两份详细教程都来自 Digital Ocean,内容是如何设置和运行 Vim,无论你是在本地还是在云服务器上使用 Vim, 都值得一看。
Vim 冒险 是一款小巧好玩的浏览器游戏,通过玩这个冒险游戏能帮你学习 Vim 命令。
在 Vim: revisited 中, 作者解释了他时断时续使用 Vim 的经历。然后阐述他如何配置和使用该编辑器,并坚持以它作为主要的代码编辑工具。
关于 Vim 中我希望老早就知道的知识 讲述了一位专门使用 Vim 多年的开发人员的经验教训。他使用相对而非绝对行号,设置了大量的配置选项及通过模糊查询来快速打开其它目录下的文件而无需展开完整的路径。
Vimrc 资源
这些是学习如何组织 .vimrc
文件的资源。我建议一项项增加配置选项,每次添加一条,然后再单独测试一下,而不是一股脑儿地把你不熟悉的 Vimrc 都拷贝进来。
A Good Vimrc 是一份关于配置 Vim 的即详细又独特的指南。我极力推荐给新手和有经验的 Vim 用户。
Vim and Python 阐述了多个只针对 Python 的 .vimrc 选项。
该 代码库的 Vimrc 文件目录 下有很多配置示例,里面都有详细注释,易于学习。
对于那些入门 Vim 有困难的朋友,看下这篇文章 两个简单步骤让这位仁兄学会了 Vim。
Vim 安装指南
这些安装指南将指导你在 Mac OS X、Linux 和 Windows 上安装和运行 Vim 。
Upgrading Vim on OS X 阐述了为什么要从 Vim 7.2 升级到 7.3+,以及如何通过 Homebrew 升级。
在 Windows 7+ 上安装 Vim 的最简单方法是下载并运行 gvim74.exe 文件。
在 Linux 上应该使用
sudo apt-get install vim
来安装 vim 软件包。如果你将 PyCharm 作为你的 IDE 的话,你不需要再单独安装 Vim 文本编辑器。你可以用 PyCharm 的 IdeaVim 插件,并利用 ~/.ideavimrc 及其它的 Vim 模拟功能来实现 Vim 按键绑定、视觉/插入模式等。
将 Vim 作为 Python IDE
一旦你已熟悉 Vim 编译器,就可以用一些配置选项和插件来提高你的 Python 工作效率。到了这一步,你可以看下这些资料:
VIM and Python - a Match Made in Heaven 详细叙述了如何为 Python 的日常工作设置一个强大的 Vim 环境。
python-mode 是一个 Vim 插件项目, 具有语法高亮、断点、PEP8 代码检测、代码补全、以及其它许多你能在集成开发环境中看到的功能。
Vim as Your IDE 探讨了当你学会了 Vim 的基本用法后如果设置 Vim 以提高工作效率。
Vim as a Python IDE 讲述了将 Vim 打造成一个更加舒适的 Python 开发环境需要经历的几个必要步骤。
Setting up Vim for Python 是 Stack Overflow 上针对如何入门 Vim 的一份不错的答案。
如果你用 Vim 写 Markdown 文本,务必看下这篇 颇有见地的文章:设置 Vim 以支持 Markdown。
Vim 插件管理
Vim 插件资源
极大提升了我的工作效率的 5 个必备 Vim 插件 总结了作者对 Vundle、 NERDTree、 ctrlp、 Syntastic 和 EasyMotion 等 Vim 插件的使用心得。
Getting more from Vim with plugins 上提供了一份插件列表,并附有每个插件的使用说明。下面的评论内容也非常有趣,因此针对文章里提到的一些插件,一些人提供了类似的其他插件。
Powerline 是一个流行的 Vim 状态栏插件,兼容 Python 2 和 3 。
既然已经学了 Vim,你想用它来开发什么呢?
我已经创建了一个 Python Web 应用,那我如何部署呢?
想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.
邮件获取更新
目录
1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.
Vim
重要的更新内容会通过 Twitter 账号@fullstackpython发布。
需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。
Chapters
1. 简介2. 开发环境 » Vim 3. 核心语言4. Web 开发5. 数据6. Web APIs7. 部署8. 测试9. Meta …or view the full table of contents.
This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!
此网站由 @haiiiiiyun 和 开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目