程序員專用筆記 Quiver
什么時候需要記筆記?
很多人覺得記筆記是浪費時間,但從長遠來看實際上是為了節省時間,尤其是對程序員來說,知識點龐雜而又零散,若不及時記錄、整理,這次浪費掉的時間下次還會再浪費一次。一般來說筆記有兩種:
- 零散知識點
- 階段性總結
零散的知識點記錄是為了方便之后查閱,因此需要筆記應用有更好的整理、管理以及搜索功能,比如 Evernote 這一類;而階段性總結或者是 Blog 則更側重于方便的格式化支持以及無干擾的寫作環境,比如一般程序員最愛 .md
或 .rst
之類的簡化標記格式。我嘗試過很多方案,鮮有能夠做到二者兼顧的,直到最近用上了 Quiver: The Programmer's Notebook 。
我需要哪些功能?
- Markdown 支持
- 各種語言語法 & Highlight 支持
- LaTex 支持
- 方便整理:全文搜索、標簽管理
- 數據導出、導入、 備份
- 實時預覽、導出到 HTML/PDF 等
- 多種主題、自定義樣式
- Vim Key-binding
加粗是必備功能,其它是基本功能, 斜體 是提升效率的 Killer feature
但基本不會奢望。下面列舉一些我用過包括還在用的筆記,基本涵蓋了大部分常見類型筆記應用,它們在功能上各有側重也互有重疊,下面我就逐個分析總結一下使用體驗以及為什么我還是不滿足還要選擇一款新的應用(記住它的名字, Quiver: 顫抖 )。
我用過哪些?
1. Evernote / 馬克飛象 / Alternote
Evernote 自然是最早期的優秀先烈,我記得曾經專門寫過一篇總結 Evernote 與 OneNote 的文章,最終推薦馬克飛象+Evernote。但是我已經卸載 Evernote 很久了,原因無非是打開越來越慢,一堆無用的功能越來越擾人。后來推出一些看起來高大上但又華而不實的商務產品,我就知道像我這種只想好好記個筆記的用戶已經不是他們的目標群體了。后來也用了一下 Alternote,有點像是簡潔優化版的 Evernote,當然從名字到刻意將筆記同步至 Evernote,都讓人感覺只是借助 Evernote 的名氣而已,不過用起來倒確實是流暢很多。據我了解,我身邊還在堅持使用 Evernote 的,要么是因為付費入坑太久,里面沉積的內容太多懶得倒騰,要么是對筆記功能需求不大只是為了方便保存個網頁什么的,真正還在認認真真用 Evernote 及其周邊產品的,少之又少,也算是跟它的衰敗互為因果吧。
2. OneNote
M$
出品,值得信賴。從最初在 Windows 上用,后來換到 Mac 依然在用,到現在還是使用頻率最高的。沒有別的原因,OneNote 就是在電腦上用起來最像真實“紙質筆記本”的筆記應用,沒有之一。當然是不考慮 Markdown 的前提下,畢竟你在本子上涂鴉筆記不會考慮格式化問題。OneNote 也有剪切網頁的 Chrome 插件,但是 M$
的同步速度確實是令人憂傷。另外上面說到之前的文章最終沒有推薦 OneNote 是因為太太太占內存了,當時我覺得靠 M$
改善的速度還比不上我換新電腦的速度,果然換了新電腦之后,感覺好多了 :D
。
3. Leanote / Wiz / Ulysses
為了 Markdown ,嘗試了一些。我記得 Leanote 好像是國內獨立開發者開發出來的一全套,網頁端+客戶端+Blog 托管,很厲害!遺憾的是無論在網頁端還是客戶端,響應速度上并不盡如人意。為知筆記,視網膜屏上的界面全是像素鋸齒,怎么下得去手?網頁版幾乎是所有應用的通病(包括 Evernote 和馬克飛象),卡頓和離線處理,這是瀏覽器的先天缺陷怪不得他們,但是使用體驗確實差。最后試用了一段時間備受推崇的獨立離線編輯器 Ulysses,似乎是很多作家的最愛,因為可以非常方便地導出漂亮的 PDF 及其他格式,但我實在是用不習慣它的 Markdown 編輯功能,尤其是對代碼塊的支持簡直反人類,另外它的導入導出庫的功能也是一怪,如果還沒出手買入的建議不要買了,283 的價格完全比不上 68的(前段時間優惠只要12塊!) Quiver:再次顫抖吧 。
4. Typora / Vim / Atom
前面列舉的一些比較適合多筆記整理和管理的,單獨的 Markdown 編輯器,現在還在用的Typora 就非常清新感人,對 Markdown 的立即渲染以及指定語言的代碼塊支持和 LaTex
的可視化編輯,一款免費應用可以做到這樣已經非常了不起了。只不過現在還不是特別穩定,有一些小 BUG,作者更新也很及時。Typora 出毛病的時候只能用 Vim 或者 Atom,Markdown 用久了實時預覽的功能其實很少會用,單純為了碼字用最重要的還是手不離鍵盤,這也是 Markdown 如此受程序員歡迎的原因之一。
5. Jupyter
上一篇:Jupyter上的Lua與torch7 對 Jupyter 的介紹已經很清楚了,它本身對 Markdown 的支持就很好,加上不同語言的 Kernel 可以直接內嵌代碼執行結果,用于演示和可視化最方便不過。只不過要自己搭建稍微麻煩一些,另外導出到其它格式也是很麻煩的一件事。可喜的是 Quiver 繼承了 Jupyter 里面 Cell 的概念(我猜是 Jupyter 在先吧,未考證),所以開始用 Quiver 的時候不但不會覺得別扭,反而非常熟悉親切。
Quiver!Quiver!Quiver!
1. Text, Markdown, Code, LaTex, Diagram - Cell
Quiver 里面的 Cell 共有這5類可選,當然你也可以全篇用一整個 Markdown Cell:
區分不同的 Cell 可以讓筆記更加條理清晰,而且可以設定語言,幾乎涵蓋了所有編程語言:
2. 備份
Quiver 的全部內容保存在由 JSON 文件構成的 *.qvlibrary
中,可以無痛打包、切換、備份:
設置 Library 位置到自己的網盤,可以隨時備份:
3. 標簽管理與全文搜索
4. 預覽 & 導出 & 3欄式布局
包括純編輯、實時預覽與結果預覽3種模式,與 Ulysses 同樣的3欄式布局,支持導出到 MD/TXT/HTML/PDF/JSON
:
5. 主題 & 樣式
軟件界面的配色主題可以自行編輯(或去 GitHub 下載):
編輯器內以及預覽的樣式可以用 CSS
編輯:
6. Killer-feature: Vim Key binding
前方高能預警!
所有的 Cell 都可以設定 Vim 鍵盤映射(為了避免圣戰,甚至還支持 Emacs 映射)!單獨這一條,各位不停跳票不停吵鬧 最好用
的可以撤離戰場了:
7. Bug Report
當然 Quiver 也不是完美無缺的,我在使用過程中遇到以下一些問題,希望后續更新可以改善:
- Vim 輸入模式下面新建 Cell ,無法立即輸入,需要切換一下 VIEW 模式;
- Vim 的 VIEW 模式光標只覆蓋半個中文,這個是通病;
- 沒有打字機模式,也就是當前輸入行無法聚焦在屏幕中央位置,Vim 下對應的
zz
指令也無效,當然可以通過輸入一堆回車鍵頂上去,但終究不是很方便; - 還有一個最大的 BUG 我沒弄清楚原因,可能是網盤同步的時候我正在編輯文檔,導致一部分正在輸入的內容無法存檔,也無法 Copy 出來,可能導致內容丟失,所以在編輯的時候最好暫停網盤同步。
</ol> </div>
來自: http://blog.rainy.im/2016/01/19/quiver-programmers-notebook/