整合VIM和Graphviz,并且使用本办法实现实时预览
在编程或是整理知识的时候一直苦于没有一款可以帮助理清思路的工具。
在网上苦寻良久,终于找到了一款可心可意的小软件 —— Graphviz。
折腾了一番,终于可以凑合着用了。
现将折腾的成果记录于此以作备忘,当然如果能够抛砖引玉那就再好不过了。
因为本人主要使用 Windows 以下将用 Windows 环境为例进行介绍。
First
- 于此处下载需要的版本:http://www.graphviz.org/Download..php
- 将下载好的 msi 文件或 zip 文件安装或解压,记下安装路径。
- 将安装目录中的 bin 文件夹放入 path。
Sencond
- 于此处下载可以自动刷新的看图软件 JPEGView:https://sourceforge.net/projects/jpegview/
- 解压后把它放到你想放的地方
Third
- 你应该已经安装 VIM 了吧,如果没有就去这里下载安装:http://www.vim.org/
- 现在找到你的 .vimrc 文件,在其中添加如下内容:
autocmd BufWritePost *.dot :silent !dot -Tpng -o %<.png % autocmd BufWinEnter *.dot nno <leader>g :!start “JPEGView 主程序的路径” %:p:r.png<cr>
第一行里的 % 代表当前编辑文件的文件名而 %< 则表示去掉了扩展名的文件名,加上 .png 就构成了输出图像的文件名。所以这一句的意思是在保存当前 .dot 文件的时候同时生成相应的 .png 文件以方便查看。
第二行的意思是当用户按下 <leader>g 的时候用 JPEGView 打开上一步中生成的图片文件。其中 %:p:r 表示图片文件的绝对路径(不知为什么用 %<.png 的时候对在第二个标签页里打开的 .dot 文件不起作用。),:p 表示当前文件的路径,:r 表示去除扩展名,详情可在 VIM 中使用 filename-modifiers 进行查看。
现在就可以在 VIM 中编辑 .dot 文件并实时查看了。
就像这样:
另外 VIM 有个 wmgraphviz 插件可以提供一些与 Graphviz 相关的功能,其中有个 GraphvizInteractive 命令按照官方的说法也可以实现实时预览,不过可能并不支持在 Windows 下使用。如果你感兴趣可以点击这个链接:https://github.com/wannesm/wmgraphviz.vim