VNote是一款跨平臺的開源 Markdown 筆記軟件(項目地址 )。不像其他多數(shù)宣稱跨平臺的軟件,VNote 將 Linux 和 Windows 都作為主要支持平臺,在 Linux 上提供非常優(yōu)秀的體驗。VNote 的目標(biāo)是做一個帶有舒適 Markdown 編輯體驗的筆記軟件,或者帶有強大文件管理功能的 Markdown 編輯器。VNote 借鑒了程序員日常使用的代碼編輯器的很多優(yōu)點,特別是 Vim 的很多優(yōu)秀思想,努力成為一款更懂程序員和 Markdown 的筆記軟件。
需要強調(diào)的是,VNote 是一款筆記軟件,而不是一款 Markdown 編輯器。所以,對比的應(yīng)該是為知筆記或 VSCode 或 Vim 等筆記軟件,而不是 Typora 等編輯器。
第一印象

VNote 界面的設(shè)計原則是盡量利用所有空間,因此沒有當(dāng)前流行的大額頭或者側(cè)邊欄大按鈕,占據(jù)主要空間的就是編輯區(qū)域。
- 左側(cè)是導(dǎo)航欄,支持筆記本導(dǎo)航、歷史文件、瀏覽外部文件系統(tǒng)以及標(biāo)簽導(dǎo)航;
- 中間是編輯區(qū)域,支持多個標(biāo)簽;
- 右側(cè)是工具欄,包括大綱、片段以及小推車;
- 右下角是全文搜索,支持針對當(dāng)前已打開文件、當(dāng)前文件夾、當(dāng)前筆記文本以及所有筆記本的搜索,包括文件名、內(nèi)容、標(biāo)簽以及大綱搜索;
- 底部是狀態(tài)欄,包括 Vim 狀態(tài)欄、標(biāo)簽欄、編輯器狀態(tài)欄以及字?jǐn)?shù)統(tǒng)計;
- 頂部是工具欄,其中包括附件、通用入口、靈犀頁等常用功能;
左右兩側(cè)的欄目都可以通過一個快捷鍵隱藏或顯示,從而可以將編輯區(qū)域最大化。VNote 使用筆記本-文件夾-筆記的層級結(jié)構(gòu)來維護數(shù)據(jù),所有數(shù)據(jù)都是開放的純文本,因此可以使用其他任意標(biāo)準(zhǔn)工具來編輯或閱讀 VNote 的筆記。VNote 不提供數(shù)據(jù)同步功能,用戶需要自己使用第三方的同步軟件將數(shù)據(jù)同步到其他 PC 上,然后重新導(dǎo)入到 VNote 中。
舒適的 Markdown 體驗
Markdown 有著天生的編輯和閱讀的割裂感。當(dāng)前主流的處理方式主要有三種:
- 單純按純文本處理,代表軟件是為知筆記,其缺點是只有黑壓壓的文字;
- 雙邊實時預(yù)覽,左側(cè)編輯模式,右側(cè)實時預(yù)覽閱讀效果,代表軟件就很多了,其缺點是仍然割裂,而且浪費空間。現(xiàn)在如果一個軟件還采用雙邊實時預(yù)覽來編輯 Markdown,那基本是拿不出手了;
- 類富文本實時渲染模式,代表軟件是 Typora,其缺點是矯枉過正,和 Markdown 的設(shè)計理念背道而馳;
VNote 采用的是一種折中的方案——語法高亮和原地預(yù)覽。通過精心的語法高亮以及圖片原地預(yù)覽,希望能在保證 Markdown 簡潔的前提下,盡可能幫助用戶掌握文章信息和脈絡(luò)。

VNote 區(qū)分編輯和閱讀模式,這是 VNote 編輯模式的一個界面。該界面展示了 VNote 支持的主要 Markdown 元素:
- 所有文本都沒有隱藏,而且可以直接訪問;
- 語法高亮標(biāo)題、粗體、斜體;
- 代碼塊語法高亮;
- 公式、圖片原地預(yù)覽,支持 PlantUML、Flowchart 等圖表增強;
- 行號,包括相對行號或絕對行號;
剛從雙邊實時預(yù)覽的軟件遷移到 VNote 時,可能會覺得不太習(xí)慣,但隨著對 Markdown 的熟悉,對閱讀的效果會越來越有信心,基本能做到在編輯模式下看到的是什么效果,在閱讀模式就是這樣的效果。如果是剛從 Typora 遷移過來,則很多人可能都會寫錯語法,因為使用 Typora 基本不用關(guān)注 Markdown 的語法,這算是 Typora 的利弊吧。
隨心所欲的圖片支持
VNote 支持直接粘貼插入圖片,包括下載并插入網(wǎng)絡(luò)圖片。VNote 會將圖片保存到與筆記文件同文件夾下面的一個文件夾,所以用其他編輯器打開 VNote 的筆記,一般都是可以正常顯示圖片的。另外,VNote 還會管理插入的圖片,將不再需要的圖片自動清理。

Markdown 與富文本的交互
VNote 支持直接粘貼復(fù)制的富文本(如網(wǎng)頁),VNote 會將富文本解析為 Markdown,并自動下載圖片到本地。另外,VNote 也支持將 Markdown 文本復(fù)制為富文本,包括微信公眾號、Word 或 OneNote 等。

通用入口,讓一切觸手可達(dá)
VNote 借鑒了代碼編輯器里面的模糊搜索功能,提供了通用入口功能。通過一個簡單的快捷鍵即可喚出一個輸入框,輸入內(nèi)容,即可實現(xiàn)全文搜索、大綱搜索等功能。

在當(dāng)前所有打開文件中搜索markdown:

在當(dāng)前所有打開文件的大綱中搜索vnote:

在 VNote 中,我基本很少使用工具欄那個傳統(tǒng)的全文搜索了。要打開一個文件?通用入口!要查找一個關(guān)鍵字?通用入口!搜索所有大綱?通用入口!列出指定標(biāo)簽的文件?通用入口!全程快捷鍵高速操作,C++實現(xiàn)的全文搜索引擎即刻為你呈現(xiàn)所有結(jié)果!
Vim 的瘋狂
VNote 名字的由來是: “ A Vim-inspired note-taking application ”,后面有 EMACS 用戶抱怨所以才慢慢把這個標(biāo)語去掉了,但 Vim 思想對 VNote 的影響可以說得上是瘋狂。
VNote 編輯器是自己實現(xiàn)了一個簡單的 Vim 模式,基本的操作都支持,標(biāo)記、寄存器等也有支持,唯一可惜的是還沒有支持.操作。
VNote 對 Vim 的瘋狂可以體現(xiàn)在:
- 所有列表都支持
Ctrl+J/K上下導(dǎo)航; - 所有編輯框都支持
Ctrl+U/W/H向前刪除; - 借鑒 Vim 的前導(dǎo)鍵,引入
艦長模式,基本主要快捷鍵都通過Ctrl+E前導(dǎo)鍵開始,避免和其他軟件的沖突; - 借鑒 Vim 的
easy-motion插件,引入導(dǎo)航模式,所有部件都能通過快捷鍵來獲取焦點。

細(xì)節(jié)周到,驚喜不斷
由于是個人作品,因此 VNote 能非常靈活地提供一些非常有趣的巧妙的小功能,例如:
- 靈犀頁:一個可以用快捷鍵打開的臨時的頁面;
- 快速訪問:可以設(shè)置一個筆記通過快捷鍵打開;
- 小推車:任意多選筆記,然后統(tǒng)一處理,例如導(dǎo)出;
- 片段:通過快捷鍵插入常用文本;
- 幻詞:快速插入當(dāng)前日期等信息,支持編輯器以及新建筆記等輸入框;
- 高亮光標(biāo)行,鎖定光標(biāo)行到編輯區(qū)域中央;
- 編輯 PlantUML 圖表時,能雙向同步編輯與預(yù)覽;
VNote 還有很多貼心和強大的功能,有興趣的可以下載嘗試。VNote 提供了 AppImage 格式打包的文件,直接下載運行即可。希望這款基于 Qt 框架開發(fā)的筆記軟件,能給你帶來有別于一眾基于 Electron 開發(fā)的其他編輯器的全新體驗!