整合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
整合VIM和Graphviz,并且使用本办法实现实时预览的更多相关文章
- ubuntu vim markdown 实时预览
vim-instant-markdown插件 该插件支持vim编辑markdown文件时实时预览,不需要手动做任何事情! 使用vim打开一个xxx.md文件,浏览器会自动打开一个预览网页,在编辑这个文 ...
- Vim安装插件支持 MarkDown 语法、实时预览等
使用 markdown-preview.vim 插件可以实时通过浏览器预览 markdown 文件 使用该插件需要 vim 支持py2/py3 安装 使用 vim-plug: 在 .vimrc 或 i ...
- Linux环境下shell和vim中乱码原因及消除办法
shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些 ...
- Windows 10 技术预览版9926 “未知源”引起系统休眠后自启的解决办法
问题的由来: 自从安装上了最新发布的Windows 10 ,使用起来有诸多的改进:无论是重绘的图标还是通知消息中心的整合还是更智能的OneDrive客户端都使得工作起来非常愉悦. 不过笔者这两天频繁遇 ...
- 关于confluence上传文件附件预览查看时出现乱码的问题解决办法
在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...
- 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法
如下代码: private void stopPreview() { Log.w(TAG, "stopPreview(), _isPreviewing = " + _isPrevi ...
- Android Studio 无法预览xml布局视图的解决办法
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lvyoujt/article/details/73283762 提示:failed to load ...
- 关于云平台中OFFICE预览与视频预览的解决办法
最近,随着firefox x64的升级,出现flash插件完全被禁止的现象,html5替换是大势所趋,原来我们在云平台中有多处使用flash的地方,比如OFFICE预览,视频播放,游戏等,现对于OFF ...
- 关于Windows 10上MarkdownPad2无法预览的解决办法
升级win10后,发现一直可以用的MarkdownPad2预览功能不可以用了.于是在网上搜索了一下,刚开始没有解决.不过现在可以了.现在把解决方案记录下来.Windows10上使用MarkdownPa ...
随机推荐
- MySQL之mysql命令使用详解
MySQL Name mysql - the MySQL command-line tool Synopsis mysql [options] db_name Description mysql is ...
- AngularJS 的常用特性(四)
11.使用 Module(模块) 组织依赖关系 Angular 里面的模板,提供了一种方法,可以用来组织应用中一块功能区域的依赖关系:同时还提供了一种机制,可以自动解析依赖关系(又叫依赖注入),一般来 ...
- SVN相关命令
从http://subversion.tigris.org获取subversion for windows的版本,安装之后就有了svn.exe这个基于命令行的客户端工具.当然服务器端的程序也有了,这里 ...
- code EINTEGRITY,npm安装时候报错
解决方法: 1.如果有package-lock.json文件,就删掉 2.管理员权限进入cmd 3.执行npm cache clean --force 4.之后再npm install 有时候网不好也 ...
- Golang报错mixture of field:value and value initializers
Golang 在使用匿名成员初始化时,如果出现 mixture of field:value and value initializers 是因为初始化的方式不对,见代码: package main ...
- Vim 技巧
:r 文件名 导入另一文件到当前文件中 :! 命令 可以不退出当前编辑的文本而能执行系统的命令 自定义快捷键 注意这里的^P这个是ctrl + V + P :map ^P I//<ESC> ...
- JSONObject与null
前言 今天在写代码的时候发现在 JSON 中 由于put了key对应的value为null,结果这个JSON键值对没有输出 org.json.JSONObject 在orgJSON 中,如果直接put ...
- 记录一次使用terminal进行git管理与提交到Github的过程
1.环境的构建: 使用Mac系统自带的Git进行版本管理存在,Git是系统的Xcode集成的 查看版本的命令: $ git --version git version (Apple Git-) 查看g ...
- Chromium base库分割字符串SplitString
前一段时间在工作过程中遇到一个场景需要将http response中的request header中的cookie字段取出并进行解析,但是手头没有解析cookie的工具类,同时cookie的表现就是个 ...
- jQuery UI简单的讲解
我们先进入一下问答时间,你都知道多少呢? (1)什么是jQuery UI 呢? 解答:jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互. ...