本文主要介绍 graphviz.vim, fork 自 wmgraphviz.vim,可是除了复用补全数据,我几乎重写了全部内容,并作了不少改进。git
可能不少人没用过 graphviz,它是一个开源的图可视化工具,使用 DOT 语言进行绘制,优势是能够自动布局,尤为适用于复杂的流程图,结构图等等。官方有不少示例,使用时也能够参考一些其余的优秀案例,好比:github
本文并不会对 graphviz 自己作太多介绍,而是分享如何在 Vim 中使用 graphviz.vim 插件方便画图。vim
wmgraphviz.vim 是 graphviz.vim 的前身,提供了一些补全,一键编译,查看编译后文件等功能。可是使用起来感受不是那么 fashion,好久以来也几乎没怎么更新,好比依然在于 !
进行外部调用。ide
graphviz.vim 整个插件很是简单,本质上就是封装了一些编译,一键查看的命令而已,主要改进包括:svg
只有 :Graphviz
和 :GraphvizCompile
两个命令,:Graphviz
用于打开编译后的文件,:GraphvizCompile
用于编译当前文件。若是 :Graphviz!
则至关于 :GraphvizCompile | Graphviz
。对于可选项,我采用了传入参数进行调控。工具
这个很简单,只是简单封装了下 Omni 补全以适应 ncm2 和 coc.nvim。布局
使用 vim-plug 进行安装:测试
Plug 'liuchengxu/graphviz.vim'
:Graphviz
打开编译后的文件,文件名取自当前文件,辅以不一样后缀。默认是打开 pdf
类型,好比当前打开的文件叫 foo.dot
,那么 :Graphviz
是尝试打开 foo.pdf
的文件,能够传入扩展名进行指定。spa
" 默认打开 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,我会尽可能解决 :(。