本文主要介紹 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,我會盡可能解決 :(。