资讯专栏INFORMATION COLUMN

在 Vim 中使用 graphviz.vim 画图

Tamic / 2172人阅读

摘要:官方有很多示例,使用时也可以参考一些其他的优秀案例,比如本文并不会对本身做太多介绍,而是分享如何在中使用插件方便画图。对于可选项,我采用了传入参数进行调控。用于编译当前文件,可以指定编译程序和扩展名,默认是。

本文主要介绍 graphviz.vim, fork 自 wmgraphviz.vim,但是除了复用补全数据,我几乎重写了所有内容,并做了很多改进。

可能很多人没用过 graphviz,它是一个开源的图可视化工具,使用 DOT 语言进行绘制,优点是可以自动布局,尤其适用于复杂的流程图,结构图等等。官方有很多示例,使用时也可以参考一些其他的优秀案例,比如:

本文并不会对 graphviz 本身做太多介绍,而是分享如何在 Vim 中使用 graphviz.vim 插件方便画图。

wmgraphviz.vim 是 graphviz.vim 的前身,提供了一些补全,一键编译,查看编译后文件等功能。但是使用起来感觉不是那么 fashion,很久以来也几乎没怎么更新,比如依然在于 ! 进行外部调用。

graphviz.vim 整个插件非常简单,本质上就是封装了一些编译,一键查看的命令而已,主要改进包括:

命令更少,配置项更简单。

只有 :Graphviz:GraphvizCompile 两个命令,:Graphviz 用于打开编译后的文件,:GraphvizCompile 用于编译当前文件。如果 :Graphviz! 则相当于 :GraphvizCompile | Graphviz。对于可选项,我采用了传入参数进行调控。

支持 ncm2 和 coc.nvim。

这个很简单,只是简单封装了下 Omni 补全以适应 ncm2 和 coc.nvim。

安装

使用 vim-plug 进行安装:

Plug "liuchengxu/graphviz.vim"
用法

:Graphviz 打开编译后的文件,文件名取自当前文件,辅以不同后缀。默认是打开 pdf 类型,比如当前打开的文件叫 foo.dot,那么 :Graphviz 是尝试打开 foo.pdf 的文件,可以传入扩展名进行指定。

" 默认打开 pdf 文件
" 可选项: "ps", "pdf", "png", "jpg", "gif", "svg"
:Graphviz

" 打开 png 文件
:Graphviz png

:Graphviz! 会在目标文件不存在的情况下,尝试调用 :GraphvizCompile 进行编译然后再打开,相当于 :GraphvizCompile | Graphviz

:GraphvizCompile 用于编译当前文件,可以指定编译程序和扩展名,默认是 dot pdf

" :GraphvizCompile [exe] [format]

" 默认是用 dot 编译成 pdf
" :GraphvizCompile dot pdf
:GraphvizCompile

" 指定编译成 png 格式
:GraphvizCompile png

" 指定用 dot 编译成 gif 格式,实际上我没用过除 dot 的其他编译项:(
:GraphvizCompile dot gif

其他一些可选配置项:

" 指定打开文件的命令。默认会根据平台自动选择
" macOS 使用 open, Linux 使用 xdg-open 等
let g:graphviz_viewer = "open"

" 默认编译生成 pdf 格式,如果想要其他格式,将 pdf 换成其他格式即可
let g:graphviz_output_format = "pdf"

我基本只用 macOS, 所以 Windows 或者 Linux 没怎么测试过,如果遇到问题,可以到 graphviz.vim 提 issue,我会尽量解决 :(。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25078.html

相关文章

  • Nginx状态图形化监控工具

    摘要:是官方推荐的一款监控工具,利用可以很方便的生成图表,便于我们查看。编辑配置文件多个虚拟主机,可以中空格分开,前部分为的地址,后面为被监控主机的域名。注意,虚拟主机中,需要已经加入设置定时收集数据重启后生效。 Nginx-rrd 是 Nginx 官方推荐的一款 Nginx 监控工具,利用 Nginx-rrd 可以很方便的生成图表,便于我们查看。 配置过程比较简单,首先安装 rrdtool...

    IamDLY 评论0 收藏0
  • 项目引入特殊字体【小程序、h5】包括canvas画图

    摘要:小程序和的页面展示特殊字体有一个网站,叫有字库。这就是直接再页面上显示文字的办法这个在和小程序上面都可以使用的,非常方便。接下来就是画图了。引入就是用小程序的引入字体方法啦。 请看清楚我虚线下面所有的话。横线上的废话随便你看不看。说实话这个字体已经把我折腾的死去活来了一段时间,而且我们项目还经常要画分享图去刷朋友圈,默认字体没办法达到设计的那种效果,查了不少资料,也自己摸索了半天,最后...

    gotham 评论0 收藏0
  • 项目引入特殊字体【小程序、h5】包括canvas画图

    摘要:小程序和的页面展示特殊字体有一个网站,叫有字库。这就是直接再页面上显示文字的办法这个在和小程序上面都可以使用的,非常方便。接下来就是画图了。引入就是用小程序的引入字体方法啦。 请看清楚我虚线下面所有的话。横线上的废话随便你看不看。说实话这个字体已经把我折腾的死去活来了一段时间,而且我们项目还经常要画分享图去刷朋友圈,默认字体没办法达到设计的那种效果,查了不少资料,也自己摸索了半天,最后...

    pcChao 评论0 收藏0
  • 如何提高还用window系统的编码硬效率

    摘要:买和,但作为一名收入还不是很稳定的前端,公司又不标配这些,又不想用自己的办公。工作难免会用系统,那就学点,效率贼。把键当键用但是如果是用编辑器。单行可省略比如当你的正常运行你编写的代码时。 myHotKey github 地址 我只想看看还有多少人用 window 系统办公,像我一样在太阳下低头。 工欲善其事,必先利其器。买 mac 和 HHKB,但作为一名收入还不是很稳定的前端,公司...

    sevi_stuo 评论0 收藏0

发表评论

0条评论

Tamic

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<