VNote:一個更懂程式設計師和 Markdown 的筆記軟體
VNote 是一款跨平臺的開源 Markdown 筆記軟體(專案地址 )。不像其他多數宣稱跨平臺的軟體,VNote 將 Linux 和 Windows 都作為主要支援平臺,在 Linux 上提供非常優秀的體驗。VNote 的目標是做一個帶有舒適 Markdown 編輯體驗的筆記軟體,或者帶有強大檔案管理功能的 Markdown 編輯器。VNote 借鑑了程式設計師日常使用的程式碼編輯器的很多優點,特別是 Vim 的很多優秀思想,盡力成為一款更懂程式設計師和 Markdown 的筆記軟體。
需要強調的是,VNote 是一款 筆記軟體,而不是一款 Markdown 編輯器。所以,對比的應該是為知筆記或 VSCode 或 Vim 等支援筆記的軟體,而不是 Typora 等編輯器。
第一印象
VNote 介面的設計原則是儘量利用所有空間,因此沒有當前流行的大額頭或者側邊欄大按鈕,佔據主要空間的就是編輯區域。
- 左側是導航欄,支援筆記本導航、歷史檔案、瀏覽外部檔案系統以及標籤導航;
- 中間是編輯區域,支援多個標籤;
- 右側是工具欄,包括大綱、片段以及小推車;
- 右下角是全文搜尋,支援針對當前已開啟檔案、當前資料夾、當前筆記文字以及所有筆記本的搜尋,包括檔名、內容、標籤以及大綱搜尋;
- 底部是狀態列,包括 Vim 狀態列、標籤欄、編輯器狀態列以及字數統計;
- 頂部是工具欄,其中包括附件、通用入口、靈犀頁等常用功能;
左右兩側的欄目都可以透過一個快捷鍵隱藏或顯示,從而可以將編輯區域最大化。VNote 使用“筆記本-資料夾-筆記”的層級結構來維護資料,所有資料都是開放的純文字,因此可以使用其他任意標準工具來編輯或閱讀 VNote 的筆記。VNote 不提供資料同步功能,使用者需要自己使用第三方的同步軟體將資料同步到其他 PC 上,然後重新匯入到 VNote 中。
舒適的 Markdown 體驗
Markdown 有著天生的編輯和閱讀的割裂感。當前主流的處理方式主要有三種:
- 單純按純文字處理,代表軟體是為知筆記,其缺點是隻有黑壓壓的文字;
- 雙邊實時預覽,左側編輯模式,右側實時預覽閱讀效果,代表軟體就很多了,其缺點是仍然割裂,而且浪費空間。現在如果一個軟體還採用雙邊實時預覽來編輯 Markdown,那基本是拿不出手了;
- 類富文字實時渲染模式,代表軟體是 Typora,其缺點是矯枉過正,和 Markdown 的設計理念背道而馳;
VNote 採用的是一種折中的方案——語法高亮和原地預覽。透過精心的語法高亮以及圖片原地預覽,希望能在保證 Markdown 簡潔的前提下,儘可能幫助使用者掌握文章資訊和脈絡。
VNote 區分編輯和閱讀模式,這是 VNote 編輯模式的一個介面。該介面展示了 VNote 支援的主要 Markdown 元素:
- 所有文字都沒有隱藏,而且可以直接訪問;
- 語法高亮標題、粗體、斜體;
- 程式碼塊語法高亮;
- 公式、圖片原地預覽,支援 PlantUML、Flowchart 等圖表增強;
- 行號,包括相對行號或絕對行號;
剛從雙邊實時預覽的軟體遷移到 VNote 時,可能會覺得不太習慣,但隨著對 Markdown 的熟悉,對閱讀的效果會越來越有信心,基本能做到在編輯模式下看到的是什麼效果,在閱讀模式就是這樣的效果。如果是剛從 Typora 遷移過來,則很多人可能都會寫錯語法,因為使用 Typora 基本不用關注 Markdown 的語法,這算是 Typora 的利弊吧。
隨心所欲的圖片支援
VNote 支援直接貼上插入圖片,包括下載並插入網路圖片。VNote 會將圖片儲存到與筆記檔案同資料夾下面的一個資料夾,所以用其他編輯器開啟 VNote 的筆記,一般都是可以正常顯示圖片的。另外,VNote 還會管理插入的圖片,將不再需要的圖片自動清理。
Markdown 與富文字的互動
VNote 支援直接貼上複製的富文字(如網頁),VNote 會將富文字解析為 Markdown,並自動下載圖片到本地。另外,VNote 也支援將 Markdown 文字複製為富文字,包括微信公眾號、Word 或 OneNote 等。
通用入口,讓一切觸手可達
VNote 借鑑了程式碼編輯器裡面的模糊搜尋功能,提供了“通用入口”功能。透過一個簡單的快捷鍵即可喚出一個輸入框,輸入內容,即可實現全文搜尋、大綱搜尋等功能。
在當前所有開啟檔案中搜尋 Markdown:
在當前所有開啟檔案的大綱中搜尋 vnote:
在 VNote 中,我基本很少使用工具欄那個傳統的全文搜尋了。要開啟一個檔案?通用入口!要查詢一個關鍵字?通用入口!搜尋所有大綱?通用入口!列出指定標籤的檔案?通用入口!全程快捷鍵高速操作,C++ 實現的全文搜尋引擎即刻為你呈現所有結果!
Vim 的瘋狂
VNote 名字的由來是: “A Vim-inspired note-taking application”,後面有 Emacs 使用者抱怨所以才慢慢把這個標語去掉了,但 Vim 思想對 VNote 的影響可以說得上是瘋狂。
VNote 編輯器是自己實現了一個簡單的 Vim 模式,基本的操作都支援,標記、暫存器等也有支援,唯一可惜的是還沒有支援.
操作。
VNote 對 Vim 的瘋狂可以體現在:
- 所有列表都支援
Ctrl+J/K
上下導航; - 所有編輯框都支援
Ctrl+U/W/H
向前刪除; - 借鑑 Vim 的前導鍵,引入“艦長模式”,基本主要快捷鍵都透過
Ctrl+E
前導鍵開始,避免和其他軟體的衝突; - 借鑑 Vim 的
easy-motion
外掛,引入“導航模式”,所有部件都能透過快捷鍵來獲取焦點。
細節周到,驚喜不斷
由於是個人作品,因此 VNote 能非常靈活地提供一些非常有趣的巧妙的小功能,例如:
- 靈犀頁:一個可以用快捷鍵開啟的臨時的頁面;
- 快速訪問:可以設定一個筆記透過快捷鍵開啟;
- 小推車:任意多選筆記,然後統一處理,例如匯出;
- 片段:透過快捷鍵插入常用文字;
- 幻詞:快速插入當前日期等資訊,支援編輯器以及新建筆記等輸入框;
- 高亮游標行,鎖定游標行到編輯區域中央;
- 編輯 PlantUML 圖表時,能雙向同步編輯與預覽;
VNote 還有很多貼心和強大的功能,有興趣的可以下載嘗試。VNote 提供了 AppImage 格式打包的檔案,直接下載執行即可。希望這款基於 Qt 框架開發的筆記軟體,能給你帶來有別於一眾基於 Electron 開發的其他編輯器的全新體驗!
最後,歡迎大家提出各種功能請求和 bug 報告,本專案的作者 tamlok 也歡迎更多開源愛好者和使用者參與到本專案的開發當中。
相關文章
- 最適合程式設計師的筆記軟體程式設計師筆記
- 一個程式設計師的讀書筆記:程式設計的反思程式設計師筆記
- 一個程式設計師的讀書筆記——關於程式設計的反思程式設計師筆記
- 沒人比程式設計師更討厭軟體程式設計師
- ArkUI框架,更懂程式設計師的UI資訊語法UI框架程式設計師
- 分享一款 程式設計師秒懂 很優雅的翻譯軟體程式設計師
- 硬體程式設計師和軟體開發程式設計師相比,哪一個就業發展前景比較好呢?程式設計師就業
- 《設計師要懂心理學》讀書筆記筆記
- 一個C++程式設計師的Delphi學習筆記 (轉)C++程式設計師筆記
- Falcon(三欄 Markdown 筆記軟體)筆記
- “有能力”的程式設計師和“熟練”的程式設計師誰更牛?程式設計師
- 餘晟:做個懂產品的程式設計師程式設計師
- 程式設計師該懂一點兒KPI程式設計師KPI
- 從一個程式設計師笑話看軟體開發管理程式設計師
- 一個程式設計師眼中的北京和上海程式設計師
- 軟體測試員一定需要懂程式設計程式碼嗎?程式設計
- 40個只有程式設計師才看得懂的段子程式設計師
- 記:那一個臭不要臉的程式設計師程式設計師
- 高效程式設計師的45個習慣 讀書筆記程式設計師筆記
- 優秀程式設計師不一定是優秀的軟體設計師程式設計師
- [軟體人生]程式設計師的壽命和工作(一句話回答)程式設計師
- 中國的頂級軟體程式設計工程師和歐美的頂級軟體程式設計工程師差距有多大?程式設計工程師
- 軟體開發的22條法則 ——《程式設計師修煉之道》讀書筆記程式設計師筆記
- python的GUI程式設計和tkinter學習筆記——第一個GUI程式PythonGUI程式設計筆記
- 一個程式設計師的自白程式設計師
- 一個程式設計師的困惑?程式設計師
- 一個女程式設計師的心酸和無奈程式設計師
- 一位準程式設計師對軟體行業的8個問題程式設計師行業
- 【軟考中級筆記】軟體設計師易混知識點歸納筆記
- 程式設計師筆記(知識)管理的一點經驗程式設計師筆記
- <<軟體設計學習筆記>> (轉)筆記
- 一個外國程式設計師12小時的程式設計生活的記錄程式設計師
- 程式設計師修煉之道-筆記程式設計師筆記
- 程式設計師寫作的必備技能 Markdown程式設計師
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- Java 程式設計師都該懂的 HashMapJava程式設計師HashMap
- Git 筆記 - 程式設計師都要掌握的 GitGit筆記程式設計師
- 《程式設計師的吶喊》讀書筆記程式設計師筆記