整合VIM和Graphviz,並且使用本辦法實現實時預覽

来源:http://www.cnblogs.com/vash0/archive/2017/06/18/7044217.html
-Advertisement-
Play Games

在編程或是整理知識的時候一直苦於沒有一款可以幫助理清思路的工具。 在網上苦尋良久,終於找到了一款可心可意的小軟體 —— Graphviz。 折騰了一番,終於可以湊合著用了。 現將折騰的成果記錄於此以作備忘,當然如果能夠拋磚引玉那就再好不過了。 因為本人主要使用 Windows 以下將用 Window ...


在編程或是整理知識的時候一直苦於沒有一款可以幫助理清思路的工具。

在網上苦尋良久,終於找到了一款可心可意的小軟體 —— Graphviz。

 

折騰了一番,終於可以湊合著用了。

現將折騰的成果記錄於此以作備忘,當然如果能夠拋磚引玉那就再好不過了。

因為本人主要使用 Windows 以下將用 Windows 環境為例進行介紹。

 

First

  1. 於此處下載需要的版本:http://www.graphviz.org/Download..php
  2. 將下載好的 msi 文件或 zip 文件安裝或解壓,記下安裝路徑。
  3. 將安裝目錄中的 bin 文件夾放入 path。

Sencond

  1. 於此處下載可以自動刷新的看圖軟體 JPEGView:https://sourceforge.net/projects/jpegview/
  2. 解壓後把它放到你想放的地方

Third

  1. 你應該已經安裝 VIM 了吧,如果沒有就去這裡下載安裝:http://www.vim.org/
  2. 現在找到你的 .vimrc 文件,在其中添加如下內容:  
1 autocmd BufWritePost *.dot :silent !dot -Tpng -o %<.png %
2 
3 autocmd BufWinEnter *.dot nno <leader>g :!start “JPEGView 主程式的路徑” %:p:r.png<cr>

第一行里的 % 代表當前編輯文件的文件名而 %< 則表示去掉了擴展名的文件名,加上 .png 就構成了輸出圖像的文件名。所以這一句的意思是在保存當前 .dot 文件的時候同時生成相應的 .png 文件以方便查看。

第二行的意思是當用戶按下 <leader>g 的時候用 JPEGView 打開上一步中生成的圖片文件。其中 %:p:r 表示圖片文件的絕對路徑(不知為什麼用 %<.png 的時候對在第二個標簽頁里打開的 .dot 文件不起作用。),:p 表示當前文件的路徑,:r 表示去除擴展名,詳情可在 VIM 中使用 filename-modifiers 進行查看。

 

現在就可以在 VIM 中編輯 .dot 文件並實時查看了。

就像這樣:

 

另外 VIM 有個 wmgraphviz 插件可以提供一些與 Graphviz 相關的功能,其中有個 GraphvizInteractive 命令按照官方的說法也可以實現實時預覽,不過可能並不支持在 Windows 下使用。如果你感興趣可以點擊這個鏈接:https://github.com/wannesm/wmgraphviz.vim


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近遇到一個 SQL Server 排序的問題,以前也沒瞭解過,然後這次碰到了。 才發現 SQL Server 排序的問題,在指定的排序列中 null 值會預設排在最前面,因為在 SQL Server 中 null 值預設為最小值。 後來問了一下萬能的百度,找到了下麵一種比較簡單的處理方法。 首先建 ...
  • Sql Server 2008 MSDN下載地址: http://www.msdn.hk/7/176/ 下載完成後的iso文件目錄結構如下,點擊安裝程式: 點擊安裝全新的sql server: 必備檢測項,下一步: 這裏會自動填充產品密鑰: 一直往下,選擇功能也全部選擇,下一步: 選擇默認數據庫實例 ...
  • 原文出處:Increased SOS_SCHEDULER_YIELD waits on virtual machines 註: 原文的用詞是Increased,想譯作增強(增長),或者加強,這麼譯起來是褒義詞,而原文要表達的Increased並沒有褒義的含義,最起碼是一個中性的含義,想來想起用一個“ ...
  • could not start the service MySQL .error 0 安裝時無法啟動服務 在MySQL資料庫卸載後重裝時,一定要將MySQL的相關服務,文件夾,註冊表刪除徹底 1.打開service.msc關閉MySQL服務 2.控制面板 -> 程式和功能 -> MYSQL 雙擊卸載 ...
  • 我們以Oracle自帶的表來做例子 主要兩張表:dept、emp 一個是部門,一個是員工表結構如下: emp name null? Type Empno not null number(4) ename varchar2(10) job varchar2(9) mgr number(4) hired ...
  • MySQL授權命令grant的使用方法:grant 許可權 on 資料庫對象 to 用戶 ...
  • 我們使用資料庫的時候,如果查詢條件太複雜,則會涉及到很多問題 1、無法維護,各種嵌套查詢,各種複雜的查詢,想要優化都無從下手 2、效率低下,一般語句複雜了之後,比如使用or,like %,,%查詢之後資料庫的索引就沒有辦法利用到了,這個時候的搜索就會全表掃描,數據量少的時候可能性能還能接受,但是數據 ...
  • 1.安裝好jdk。 2.打開終端。 3.sudo到root帳戶,輸入 vi /etc/profile ,打開全局配置文件。 4.在profile中添加如下配置 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...