内容简介:本文介绍在常用的 IDE 编辑器都提供一键执行代码的命令或插件 (如 Visual Studio 的 F5 快捷键,Sublime Text的在
本文介绍在 如何将Vim打造成IDE编辑器 一文的基础上,当前使用的 Vim 已经具备了 IDE 开发环境的基本功能,主要包括:语法高亮、代码自动补齐、函数跳转、目录树形展示、全局搜索、代码折叠等。新增一些适用于 Python 开发的 Vim 插件和配置,助力 Vim 成为 Python 开发工程师们的良配。
1. Vim内一键执行Python代码
常用的 IDE 编辑器都提供一键执行代码的命令或插件 (如 Visual Studio 的 F5 快捷键,Sublime Text的 command + b
组合键)。不退出 Vim 而直接执行 Vim 当前打开的 Python 文件是一个非常高效的操作方式。
在 ~/.vimrc
配置文件 中添加如下配置就可以实现在 Vim 的普通模式下按 F5 一键执行 Python 代码。
filetype plugin on " 按 F5 执行当前 Python 代码" map <F5> :call PRUN()<CR> func! PRUN() exec "w" if &filetype == 'python' exec "!python %" endif endfunc
注:上述配置使用了 Vim 加载文件类型插件功能 (即 filetype plugin on
),当检测到当前打开的文件类型是 Python 时,则会执行 !python %
命令,该命令的含义请参考《Vim内部执行 shell 命令》一文。
2. Python语言自动补齐插件jedi-vim
自动补齐几乎是任何一个 IDE 环境都需要支持的功能,Vim下 最常用也最知名的 自动补齐插件是YouCompleteMe 。但是,对于 Python 开发来说,Vim教程网(https://vimjc.com)更倾向于推荐jedi-vim插件。
jedi-vim 是 jedi 作者开源的一个基于 jedi 库实现的 Vim 插件,提供了在 Vim 下对 Python 语言的优秀的自动补全能力,几乎支持了Python的所有语法特性。( 注 :YouCompleteMe 插件实际上也是使用 jedi-vim 来实现 Python 代码的自动补全)。
默认设置下,Vim 插入模式下按 <Ctrl-Space>
就可以触发 jedi-vim 插件的自动补齐功能,输入 .
时也会自动触发自动补齐提醒。除此之外,该插件还支持:跳转到函数定义、显示 Python 文档 (Pydoc)、打开某个引用的模块等强大的功能,建议大家安装试用。
3. 模糊搜索插件ctrlp
模糊搜索某个目录下文件名为 xxx 的文件是日常开发工作中经常遇到的场景 (例如,基于记忆中的部分关键词快速打开某个 Python 函数或类的定义文件)。
Vim教程网 (https://vimjc.com)推荐使用ctrlp插件在 Vim 内直接完成这种模糊操作并在 Vim 内打开要搜索的目标文件。
ctrlp 插件使用纯 vimscript 语言实现,依赖少且配置简单,是一款功能强大且非常流行的 Vim 插件。正如插件名,Vim 普通模式下按 <Ctrl -p>
就可以使用该插件进行模糊搜索。
除了搜索文件,ctrlp 插件还可以模糊搜索Vim缓冲区内容、Vim标签等内容。推荐阅读《Vim模糊搜索插件ctrlp》一文查看该插件的详细功能介绍和使用方法。
4. Python代码缩进指示插件indentLine
Python 是一门对缩进非常敏感的语言,而缩进又是一个在 Vim 编辑器下对人眼很不友好的展示方式,因此Vim教程网(https://vimjc.com)推荐使用indentLine 插件来通过指示线的方式显式地显示 Python 代码缩进。
indentLine 插件实现的功能虽然比较单一,但是提供了较为灵活的配置功能,包括:自定义缩进指示线的颜色、修改缩进指示线的符号等。
在Vim命令行模式下可以使用 :IndentLinesToggle
命令打开或者关闭显示缩进指示线,当需要复制当前 Vim 窗口中的部分 Python 代码时,该命令非常实用 (毕竟复制代码时并不希望复制额外显式的缩进指示线)。
注:低于 7.3 版本的 Vim 或编译时未开启 conceal 功能的 Vim 均无法使用 indentLine 插件提供的功能。
5. Python代码自动格式化插件autopep8
个人觉得,对于一名有基本技术追求的 程序员 来说,满足 PEP8 规范的 Python 代码是日常编码的基本原则。
vim-autopep8是一款自动格式化代码的Vim插件,安装后在 Vim 普通模式下执行 :Autopep8
命令就可以按照 PEP8 标准规范自动格式化 Python 源代码,省去了大量的手工调整代码格式的时间。
6. Python语法检测插件vim-flake8
Vim 默认配置下对 Python 的语法支持有限,如果需要在编写代码时及时得到变量拼写错误等提示,可使用 syntastic 插件。但 syntastic 是针对所有编程语言的语法检查,可以安装 vim-flake8 插件来实现单独针对 Python 语言的语言检测。
vim-flake8 插件其实整合了 pyflakes 插件与 autopep8 插件,该插件依赖 flake8 (Python官方发布的一款辅助检测 Python 代码是否规范和正确的工具) 工具,可通过 pip3 install flake8
命令进行安装。
7. 括号/引号自动补齐插件auto-pairs
auto-pairs插件的主要功能是针对各种括号和引号提供自动补全、自动删除等,能有效提供 Vim 插入模式下的输入效率。
例如,使用 auto-pairs 插件,可以在 Vim 插入模式下,输入左大括号后自动补全右大括号;在一对括号之间按回车键,将自动分为 3 行并调整缩进和光标位置。
auto-pairs 插件的功能类似于Vim教程网(https://vimjc.com)介绍的另外一款Vim插件delimitMate,大家可根据自己的喜好决定安装哪一个。
8. 多色彩括号显示插件rainbow_parenthsis
使用 Vim 编写 Python 代码时经常会出现一行代码中有多重括号嵌套的场景,这使得阅读和分析这种连续嵌套的多重括号变得较为困难。
rainbow_parenthsis 是一个对不同层次的括号 (包括 () 、 [] 、 {} 、 <> ) 使用不同彩色进行高亮匹配显示的 Vim 插件,虽然功能较为简单,但是却十分实用。
Vim 命令行模式下使用 :RainbowParenthesesToggle
命令可打开 rainbow_parenthsis 插件的多色彩括号匹配功能,也可以通过Vim 的 autocmd 命令设置在打开 Vim 后自动启用 rainbow_parenthsis 插件。
9. 高效率代码注释插件nerdcommenter
快速注释或取消注释多行代码是编程中经常遇到的一种场景,Vim教程网(https://vimjc.com)之前有文章介绍过三种 Vim下快速注释/取消注释多行的方法 。
出于效率和可用性考虑,这里推荐 nerdcommenter 插件。nerdcommenter 插件与NERDTree 插件的作者是同一个人 (插件名都相似),支持 C、C++、 Java 、Python 等多种语言的代码注释功能 (使用了 Vim 的 commentstring 选项),为了保证 nerdcommenter 插件能识别出当前源码文件的类型,需要打开Vim 加载文件类型插件的功能。
在 Vim 的普通模式和可视化模式下,nerdcommenter 插件可以实现快速注释连续的多行代码,也可以注释掉从当前光标所在位置到行尾的剩下内容,还可以注释掉从当前光标所在位置到行尾的剩下内容。在 ~/.vimrc
文件中添加设置 map <F4> <leader>ci <CR>
可以实现按 F4 键快速注释和反注释当前行。
10. Vim内集成Git
不退出 Vim 而直接执行基本的 Git 命令是一个非常便利的设置。vim-fugitive 是一个非常优秀的、集成了各种 Git 操作的 Vim 插件。
例如,Vim 命令行模式下使用 :Gstatus
命令可以查看当前工作目录和暂存区的状态,等价于在 Shell 终端执行 git status
命令;在当前Vim窗口执行 :Gwrite
命令会将当前文件添加到 git 工作区,等价于 git add
操作;在当前窗口执行 :Gread
命令会重新检出当前文件,相当于对当前文件执行 git checkout
等。
《女程序员说》
原创不易,希望能给小女子的公众号加个关注~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 将 Vim 配置成适用于 Python 开发的 IDE 环境
- Golang适用的DTO工具
- 创业公司的经济适用架构师
- Node.js特点和适用场景
- MySQL主流存储引擎及适用场景
- 适用于所有人的领域驱动设计
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML 5 与 CSS 3 权威指南
陆凌牛 / 机械工业出版社华章公司 / 2011-4-7 / 69.00
如果你是一位有前瞻性的web前端工作者,那么你一定会从本书中受益,因为它就是专门为你打造的。 《HTML 5与CSS 3权威指南》内容系统而全面,详尽地讲解了html 5和css 3的所有新功能和新特性;技术新颖,所有知识点都紧跟html 5与css 3的最新发展动态(html 5和css 3仍在不断完善之中);实战性强(包含246个示例页面),不仅每个知识点都配有精心设计的小案例(便于动手......一起来看看 《HTML 5 与 CSS 3 权威指南》 这本书的介绍吧!