`
abruzzi
  • 浏览: 454371 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使用vim开发python及graphviz绘图

 
阅读更多

基本需求

使用vim中的autocmd命令可以很容易的将正在编辑的文件与外部的程序关联起来,从而使得开发效率更高。比如经常会用到这样的功能:

  1. 编写一段python脚本,需要快速的查看该脚本的运行结果(最好是能做到一键完成)
  2. 使用dot脚本绘制系统的模块关系等,需要即时预览结果(比如调整色彩,模块间的连线等)

autocmd命令简介

通过vim的autocmd可以很容易的做到这点,比如按F5键,如果该文件是python脚本的话(以py结尾),就尝先将文件保存,然后调用系统中的python来执行当前脚本。

autocmd的命令格式为:

autocmd [group] {event} {pattern} [nested] {cmd}
 
group及nested均为可选参数,详情请参考:help autocmd. 意思是,当发生event时,对符合pattern的对象执行cmd命令。

示例及解释

比如自动调用python解释器来解释当前编辑的python脚本:

autocmd BufRead *.py nmap <F5> :w<CR>:!python %<CR><CR>
 
上边这条命令是指,当发生BufRead事件时,对匹配模式(*.py)的缓冲区,执行命令:

nmap <F5> :w<CR>:!python %<CR><CR>
 
而命令nmap <F5> :w<CR>:!python %<CR><CR>表示:在normal模式下,将F5键映射为:

:w<CR>:!python %<CR><CR>
 
其中<CR>模拟用户输入回车,!表示执行操作系统中的命令(因此,你需要将python的解释器放入PATH环境变量中,%表示当前的文件名。

BufRead事件发生在"开始编辑新缓冲区,读入文件后",即当vim加载文件完成之后,相当于注册了一个回调函数。因此上边的命令翻译过来就是:

当读入文件内容后,如果文件是是python脚本,就映射键F5为保存并执行。这样,当按F5键时,vim会自动保存文件,并将文件名作为python解释器的参数传递给python,启动一个shell来执行。

效果如下:


 
可以将上边这个脚本放入.vimrc或者_vimrc(windows下)。

同样,如果想在编辑dot脚本的时候,让vim帮你自动完成调用外部程序(dot)的话,可以这样:

autocmd BufRead *.dot nmap <F8> :w<CR>:!dot -Tpng -o %<.png % && start %<.png<CR><CR>
 
将F8映射为,先执行:

dot -Tpng -o result.png source.dot
然后在启动的shell中,执行start result.png, start是windows下command.exe的命令,用于重新启动一个shell,如果后边的文件有关联(我的系统中是picasa3),则使用该关联程序打开此文件,也就有了下面的这张图:


 

如果你有其他好用的工具,如unxutil的windows版本,也可以很容易的使用autocmd命令与vim绑起来,使得开发效率得到极大的提升。

  • 大小: 439.6 KB
  • 大小: 274.8 KB
分享到:
评论
1 楼 oldrev 2012-02-27  
vim 配色不错

相关推荐

    mac下vim之python配置步骤

    Python 是一种广泛使用的编程语言,广泛应用于人工智能、数据分析、Web 开发等领域。下面我们将介绍如何在 Mac 下配置 Vim,以便更好地支持 Python 开发。 语法高亮 语法高亮是 Vim 的一大特点,它可以根据不同的...

    Python-Pythonmode将Vim变成PythonIDE的一款多合一插件

    Python-mode是针对Vim文本编辑器的一个强大插件,它将Vim转换为一个功能丰富的Python集成开发环境(IDE)。这个插件集成了多种实用功能,以提高Python开发者在Vim中的工作效率。以下是对该插件及其功能的详细说明: ...

    Python-使用更高效的Vim进行开发

    本文将深入探讨如何利用Vim提升Python开发的效率。 首先,让我们理解为什么Vim是Python开发者的选择。Vim拥有强大的插件系统,使得它能支持代码高亮、自动补全、语法检查等功能,这些都是编写Python代码所必需的。...

    Python-一个基于Vim的python可视化开发工具

    **Python编程环境构建:Vim与可视化开发** 在Python编程世界中,Vim作为一个高度可配置的文本编辑器,深受许多开发者喜爱。它的强大在于其灵活性和可扩展性,允许用户通过安装各种插件来定制自己的开发环境。针对...

    vim的python调试器.doc

    ### vim的Python调试器知识点详解 #### 一、引言 在进行Python开发时,调试是必不可少的一个环节。为了提高效率,很多开发者会...本文详细介绍了如何在Vim中配置和使用Python调试器,希望能对您的开发工作有所帮助。

    Python-为vim配置python自动补全和tab缩进自动转换为空格等功能

    本教程将详细介绍如何为Vim配置Python相关的自动化功能,包括Python自动补全、Tab缩进自动转换为空格等,让你的Python开发工作流程更加顺畅。 首先,我们需要安装Vim的Python支持。在大多数Linux发行版中,Vim已经...

    python写vim script 之 山寨版 dbext

    Python写vim script之山寨版dbext,这个主题主要围绕如何使用Python语言来编写Vim插件,特别是构建一个类似于dbext的功能。dbext是Vim中一个非常实用的数据库扩展,它允许用户在Vim环境下直接操作数据库,执行SQL...

    vim 的 python插件

    vim 的 python插件,很实用

    Python-一个适用于python开发的轻量级的干净的vim配置

    **Python开发与Vim编辑器** 在编程世界中,Vim是一个备受推崇的文本编辑器,因其高效、可高度自定义以及对键盘操作的优化而闻名。尤其在Python开发领域,许多开发者选择Vim作为他们的首选编辑器。本文将深入探讨...

    vim+python实现的workspace插件

    《vim+python实现的workspace插件详解》 在IT领域,高效的代码编辑工具是程序员的得力助手。Vim作为一款历史悠久且功能强大的文本编辑器,因其高度可定制性和丰富的扩展性深受程序员喜爱。而Python作为一门通用性极...

    Python-Jedivim绑定Vim和Jedi自动补全库对Python进行自动补全

    Jedi-vim就是这样一个强大的工具,它将流行的文本编辑器Vim与强大的Jedi库结合,为Python开发提供了智能的自动补全功能。本篇文章将深入探讨Jedi-vim的安装、配置以及其在Python开发中的应用。 首先,让我们了解...

    python+vim+win

    然后,下载并安装Vim,推荐使用预装了众多Python开发插件的预配置版本,如`NeoVim`或`SpaceVim`。接着,根据个人喜好配置Vimrc文件,引入必要的Python开发插件。对于Pythonwin,可以在安装Python时选择包含它,或者...

    Python-一个Vim配色方案colorscheme

    本主题将深入探讨“Python-一个Vim配色方案colorscheme”,这是一个专为Python开发优化的Vim颜色主题。 首先,让我们来理解什么是Vim的颜色方案(color scheme)。Vim的颜色方案是编辑器界面的视觉风格,它定义了代码...

    将vim打造成python编译利器(win32)

    将vim配置为python的开发平台,本文件自带插件,其中 .vim文件夹下的目录直接拷贝到&lt;vim安装路径&gt;\&lt;vim版本号&gt;下,例如在我的电脑上,就将.vim下的所有目录拷贝至:C:\Program Files\Vim\vim73 即可。 .vimrc文件...

    ubuntu中配置vim 打造Python IDE

    ubuntu中配置vim 打造Python IDE

    Python-Syntastic是Vim的一个语法检查插件

    **Python-Syntastic:Vim的语法检查利器** 在编程世界中,代码质量是至关重要的,而良好的语法是保证代码质量的基础。Python-Syntastic是针对Vim编辑器的一个强大插件,它旨在帮助开发者实时检测Python代码的语法...

    vim plugin (python)

    包中包括: python.vim pythoncomplete.vim nerdtree.zip vim-autocomplpop.zip 四个插件及vim官网中对应的说明。 送给那些不能上官网的青年。

    centos 7+ vim8.0+ python3

    centos7 上编译安装 vim8.0 使其支持Python3,通过自定义vim以及安装插件。打造适合自己的vim

    ubuntu16.04制作vim和python3的开发环境

    在本文中,我们将探讨如何在Ubuntu 16.04系统上构建一个以Vim为文本编辑器、Python3为开发语言的高效开发环境。Vim是一种高度可定制的文本编辑器,深受许多程序员的喜欢,而Python3是一种广泛使用的、具有简洁语法和...

Global site tag (gtag.js) - Google Analytics