在 Vim 中使用 graphviz.vim 畫圖

本文主要介紹 graphviz.vim, fork 自 wmgraphviz.vim爹谭,但是除了復(fù)用補(bǔ)全數(shù)據(jù)戏自,我?guī)缀踔貙懥怂袃?nèi)容灌旧,并做了很多改進(jìn)帝际。

可能很多人沒用過 graphviz蟋软,它是一個開源的圖可視化工具分飞,使用 DOT 語言進(jìn)行繪制寞冯,優(yōu)點(diǎn)是可以自動布局体斩,尤其適用于復(fù)雜的流程圖遵堵,結(jié)構(gòu)圖等等箱玷。官方有很多示例,使用時(shí)也可以參考一些其他的優(yōu)秀案例陌宿,比如:

From Milo Yip

本文并不會對 graphviz 本身做太多介紹锡足,而是分享如何在 Vim 中使用 graphviz.vim 插件方便畫圖。

wmgraphviz.vimgraphviz.vim 的前身壳坪,提供了一些補(bǔ)全舶得,一鍵編譯,查看編譯后文件等功能爽蝴。但是使用起來感覺不是那么 fashion沐批,很久以來也幾乎沒怎么更新,比如依然在于 ! 進(jìn)行外部調(diào)用蝎亚。

graphviz.vim 整個插件非常簡單九孩,本質(zhì)上就是封裝了一些編譯,一鍵查看的命令而已发框,主要改進(jìn)包括:

  • 命令更少躺彬,配置項(xiàng)更簡單。

    只有 :Graphviz:GraphvizCompile 兩個命令梅惯,:Graphviz 用于打開編譯后的文件宪拥,:GraphvizCompile 用于編譯當(dāng)前文件。如果 :Graphviz! 則相當(dāng)于 :GraphvizCompile | Graphviz个唧。對于可選項(xiàng)江解,我采用了傳入?yún)?shù)進(jìn)行調(diào)控。

  • 支持 ncm2coc.nvim徙歼。

    這個很簡單犁河,只是簡單封裝了下 Omni 補(bǔ)全以適應(yīng) ncm2 和 coc.nvim鳖枕。

安裝

使用 vim-plug 進(jìn)行安裝:

Plug 'liuchengxu/graphviz.vim'

用法

:Graphviz 打開編譯后的文件,文件名取自當(dāng)前文件桨螺,輔以不同后綴宾符。默認(rèn)是打開 pdf 類型,比如當(dāng)前打開的文件叫 foo.dot灭翔,那么 :Graphviz 是嘗試打開 foo.pdf 的文件魏烫,可以傳入擴(kuò)展名進(jìn)行指定。

" 默認(rèn)打開 pdf 文件
" 可選項(xiàng): 'ps', 'pdf', 'png', 'jpg', 'gif', 'svg'
:Graphviz

" 打開 png 文件
:Graphviz png

:Graphviz! 會在目標(biāo)文件不存在的情況下肝箱,嘗試調(diào)用 :GraphvizCompile 進(jìn)行編譯然后再打開哄褒,相當(dāng)于 :GraphvizCompile | Graphviz

:GraphvizCompile 用于編譯當(dāng)前文件煌张,可以指定編譯程序和擴(kuò)展名呐赡,默認(rèn)是 dot pdf

" :GraphvizCompile [exe] [format]

" 默認(rèn)是用 dot 編譯成 pdf
" :GraphvizCompile dot pdf
:GraphvizCompile

" 指定編譯成 png 格式
:GraphvizCompile png

" 指定用 dot 編譯成 gif 格式骏融,實(shí)際上我沒用過除 dot 的其他編譯項(xiàng):(
:GraphvizCompile dot gif

其他一些可選配置項(xiàng):

" 指定打開文件的命令链嘀。默認(rèn)會根據(jù)平臺自動選擇
" macOS 使用 open, Linux 使用 xdg-open 等
let g:graphviz_viewer = 'open'

" 默認(rèn)編譯生成 pdf 格式,如果想要其他格式档玻,將 pdf 換成其他格式即可
let g:graphviz_output_format = 'pdf'

我基本只用 macOS, 所以 Windows 或者 Linux 沒怎么測試過怀泊,如果遇到問題,可以到 graphviz.vim 提 issue误趴,我會盡量解決 :(霹琼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市冤留,隨后出現(xiàn)的幾起案子碧囊,更是在濱河造成了極大的恐慌树灶,老刑警劉巖纤怒,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異天通,居然都是意外死亡泊窘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門像寒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烘豹,“玉大人,你說我怎么就攤上這事诺祸⌒酰” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵筷笨,是天一觀的道長憔鬼。 經(jīng)常有香客問我龟劲,道長,這世上最難降的妖魔是什么轴或? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任昌跌,我火速辦了婚禮,結(jié)果婚禮上照雁,老公的妹妹穿的比我還像新娘蚕愤。我一直安慰自己,他們只是感情好饺蚊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布萍诱。 她就那樣靜靜地躺著,像睡著了一般污呼。 火紅的嫁衣襯著肌膚如雪砂沛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天曙求,我揣著相機(jī)與錄音碍庵,去河邊找鬼。 笑死悟狱,一個胖子當(dāng)著我的面吹牛静浴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挤渐,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苹享,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浴麻?” 一聲冷哼從身側(cè)響起得问,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎软免,沒想到半個月后宫纬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膏萧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年漓骚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榛泛。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝌蹂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出曹锨,到底是詐尸還是另有隱情孤个,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布沛简,位于F島的核電站齐鲤,受9級特大地震影響硅急,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜佳遂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一营袜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丑罪,春花似錦荚板、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至煤搜,卻和暖如春免绿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背擦盾。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工嘲驾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人迹卢。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓辽故,卻偏偏與公主長得像,于是被迫代替她去往敵國和親腐碱。 傳聞我的和親對象是個殘疾皇子誊垢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第一章:編譯和安裝SCons第二章:簡單編譯第三章:編譯相關(guān)的一些事情第四章:編譯和鏈接庫文件第五章:節(jié)點(diǎn)對象第六...
    仙靈兒閱讀 11,799評論 0 3
  • 這篇文章是手冊的中文譯版整理而來(英文看著太慢了,感謝前人鋪路Orz...)症见,vim的markdown插件和實(shí)時(shí)預(yù)...
    Himryang閱讀 7,003評論 0 20
  • feisky云計(jì)算喂走、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,849評論 0 5
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,745評論 0 10
  • 作為漫威的收官之作谋作,《復(fù)仇者聯(lián)盟3無限戰(zhàn)爭》無疑是部史詩級電影芋肠。 史無前例的英雄陣容,最強(qiáng)反派滅霸的登場瓷们,...
    楓小茗閱讀 393評論 3 3