在编程或是整理知识的时候一直苦于没有一款可以帮助理清思路的工具。

在网上苦寻良久,终于找到了一款可心可意的小软件 —— Graphviz。

折腾了一番,终于可以凑合着用了。

现将折腾的成果记录于此以作备忘,当然如果能够抛砖引玉那就再好不过了。

因为本人主要使用 Windows 以下将用 Windows 环境为例进行介绍。

First

  1. 于此处下载需要的版本:http://www.graphviz.org/Download..php
  2. 将下载好的 msi 文件或 zip 文件安装或解压,记下安装路径。
  3. 将安装目录中的 bin 文件夹放入 path。

Sencond

  1. 于此处下载可以自动刷新的看图软件 JPEGView:https://sourceforge.net/projects/jpegview/
  2. 解压后把它放到你想放的地方

Third

  1. 你应该已经安装 VIM 了吧,如果没有就去这里下载安装:http://www.vim.org/
  2. 现在找到你的 .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

整合VIM和Graphviz,并且使用本办法实现实时预览的更多相关文章

  1. ubuntu vim markdown 实时预览

    vim-instant-markdown插件 该插件支持vim编辑markdown文件时实时预览,不需要手动做任何事情! 使用vim打开一个xxx.md文件,浏览器会自动打开一个预览网页,在编辑这个文 ...

  2. Vim安装插件支持 MarkDown 语法、实时预览等

    使用 markdown-preview.vim 插件可以实时通过浏览器预览 markdown 文件 使用该插件需要 vim 支持py2/py3 安装 使用 vim-plug: 在 .vimrc 或 i ...

  3. Linux环境下shell和vim中乱码原因及消除办法

    shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些 ...

  4. Windows 10 技术预览版9926 “未知源”引起系统休眠后自启的解决办法

    问题的由来: 自从安装上了最新发布的Windows 10 ,使用起来有诸多的改进:无论是重绘的图标还是通知消息中心的整合还是更智能的OneDrive客户端都使得工作起来非常愉悦. 不过笔者这两天频繁遇 ...

  5. 关于confluence上传文件附件预览查看时出现乱码的问题解决办法

    在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...

  6. 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法

    如下代码: private void stopPreview() { Log.w(TAG, "stopPreview(), _isPreviewing = " + _isPrevi ...

  7. Android Studio 无法预览xml布局视图的解决办法

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lvyoujt/article/details/73283762 提示:failed to load ...

  8. 关于云平台中OFFICE预览与视频预览的解决办法

    最近,随着firefox x64的升级,出现flash插件完全被禁止的现象,html5替换是大势所趋,原来我们在云平台中有多处使用flash的地方,比如OFFICE预览,视频播放,游戏等,现对于OFF ...

  9. 关于Windows 10上MarkdownPad2无法预览的解决办法

    升级win10后,发现一直可以用的MarkdownPad2预览功能不可以用了.于是在网上搜索了一下,刚开始没有解决.不过现在可以了.现在把解决方案记录下来.Windows10上使用MarkdownPa ...

随机推荐

  1. 快速排序分析及实现(C++)

    目录 快速排序算法分析及实现(C++) 算法思想 快速排序步骤 优点分析 C++语言实现 快速排序算法分析及实现(C++) 算法思想 ​ 把n个元素划分为三段:左端Left,中间段middle和右端r ...

  2. leetcode简单题目两道(2)

    Problem Given an integer, write a function to determine if it is a power of three. Follow up: Could ...

  3. vue2.0读书笔记1-基础

    一.概述 二.模版语法 三.计算属性 四.class与style绑定 五.条件渲染 六.列表渲染 七.事件处理器 八.表单控件绑定 九.组件 一.概述     在底层的实现上, Vue 将模板编译成虚 ...

  4. 【LeetCode题解】7_反转整数

    目录 [LeetCode题解]7_反转整数 描述 方法一 思路 Java 实现 类似的 Java 实现 Python 实现 方法二:转化为求字符串的倒序 Java 实现 Python 实现 [Leet ...

  5. Android OpenGL教程-第六课【转】

    第六课 纹理映射: 在这一课里,我将教会你如何把纹理映射到立方体的六个面. 激动的时刻来了,加载图片了. 复习一下android加载图片的知识.放一个png到drawable里面. (图片文件名:ne ...

  6. Visual Studio、.net framework、CLR与JDK、JRE、JVM、Eclipse

    .net平台                                        java平台 开发工具                   Visual Studio            ...

  7. js文件加载太慢,JavaScript文件加载加速

    原文出自:https://blog.csdn.net/seesun2012 js脚本加载太慢,JavaScript脚本加载加速(亲测有效) 测试背景: JS文件大小:6.1kB 传统形式加载js文件: ...

  8. php中类和对象的操作

    在类中用$this指代对象本身. 用self::指代类本身. $p1 = new Person('michael');//向Person类的构造函数__construct中传名字 echo($p1-& ...

  9. 第9天:原型、继承、函数使用推荐以及this的指向

    原型 javascript原型指向改变如何添加方法和访问 <!DOCTYPE html> <html lang="en"> <head> < ...

  10. 计算细胞数【BFS】

    问题描述 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数. 输入格式 2行:第1行为两个整数 mm, nn, 代表矩阵 ...