VIM插件:wmgraphviz

Graphviz是一个开源的“画图”工具,跟所见即所得的画图工具不同,它提供命令行的“画图”方式,在画图之前,先要把图形转换成对应的dot脚本,Graphviz会读取该脚本,解析并绘制。Graphviz适合把结构化信息表示成抽象的图表,所以在网络,软件工程等领域都有广泛的运用。

下面是官方文档的一个2叉搜索树的例子,可以一窥dot语言的简洁,和最终生成图形的优美。

//
// bs.gv
//
// Created on 24-09-2014 by root
//

digraph bs {
    node [shape = record,height=.1];
	    node0[label = "<f0> |<f1> G|<f2> "];
	    node1[label = "<f0> |<f1> E|<f2> "];
	    node2[label = "<f0> |<f1> B|<f2> "];
	    node3[label = "<f0> |<f1> F|<f2> "];
	    node4[label = "<f0> |<f1> R|<f2> "];
	    node5[label = "<f0> |<f1> H|<f2> "];
	    node6[label = "<f0> |<f1> Y|<f2> "];
	    node7[label = "<f0> |<f1> A|<f2> "];
	    node8[label = "<f0> |<f1> C|<f2> "];
	    "node0":f2 -> "node4":f1;
	    "node0":f0 -> "node1":f1;
	    "node1":f0 -> "node2":f1;
	    "node1":f2 -> "node3":f1;
	    "node2":f2 -> "node8":f1;
	    "node2":f0 -> "node7":f1;
	    "node4":f2 -> "node6":f1;
	    "node4":f0 -> "node5":f1;
} 

生成的图形:

我常用VIM来编辑文件,今天要介绍的是在VIM上编辑dot脚本的插件:wmgraphviz.vim,它提供如下的功能:

  • 语法高亮
  • 代码补全/Snippet support
  • 实时编辑查看
  • Quickfix window for errors and warnings

他的安装和使用都很简单,不需要过多的配置,具体参看这里

下面是在我电脑上实时编辑dot文件的截图:

在VIM下编辑dot文件,执行 :w 保存,左边的图表就会实时更新。



相关资源:
http://abruzzi.iteye.com/blog/433278
http://abruzzi.iteye.com/blog/429042
http://www.graphviz.org/
https://github.com/wannesm/wmgraphviz.vim

posted on 2014-09-25 00:58  rifle1206  阅读(1108)  评论(0)    收藏  举报

导航