在 Vim 中使用 graphviz.vim 畫圖

本文主要介紹 graphviz.vim, fork 自 wmgraphviz.vim,可是除了複用補全數據,我幾乎重寫了全部內容,並作了不少改進。git

可能不少人沒用過 graphviz,它是一個開源的圖可視化工具,使用 DOT 語言進行繪製,優勢是能夠自動佈局,尤爲適用於複雜的流程圖,結構圖等等。官方有不少示例,使用時也能夠參考一些其餘的優秀案例,好比:github

From Milo Yip

本文並不會對 graphviz 自己作太多介紹,而是分享如何在 Vim 中使用 graphviz.vim 插件方便畫圖。vim

wmgraphviz.vimgraphviz.vim 的前身,提供了一些補全,一鍵編譯,查看編譯後文件等功能。可是使用起來感受不是那麼 fashion,好久以來也幾乎沒怎麼更新,好比依然在於 ! 進行外部調用。ide

graphviz.vim 整個插件很是簡單,本質上就是封裝了一些編譯,一鍵查看的命令而已,主要改進包括:svg

  • 命令更少,配置項更簡單。

    只有 :Graphviz:GraphvizCompile 兩個命令,:Graphviz 用於打開編譯後的文件,:GraphvizCompile 用於編譯當前文件。若是 :Graphviz! 則至關於 :GraphvizCompile | Graphviz。對於可選項,我採用了傳入參數進行調控。工具

  • 支持 ncm2coc.nvim

    這個很簡單,只是簡單封裝了下 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,我會盡可能解決 :(。

相關文章
相關標籤/搜索