概要
2018年曾經短暫嘗試使用Leo Editor,但當時的版本在Linux上安裝並不算很方便,再者感覺使用上有些複雜,手邊事多也就漸漸將它淡忘了。前一陣子因某些因素,開始重拾使用,逐漸體會到它的強大威力。然而,在Kubuntu 22.04上使用時有些問題,像無法使用中文輸入法,這點令人感到不方便,只好採用某種變通方法,本文後面會稍提。
在看過Leo官方網站提供的安裝說明之後,決定稍做調整,以Python虛擬環境來安裝使用應該會是較好的方式,本文以下主要記錄自己的安裝方法。對於一般用戶而言,安裝Leo並不是項容易的工作,這裡並不推薦、鼓勵一般用戶使用Leo;不過如果是進階用戶則另當別論,如果有興趣,本末的參考與連結可關注。
本文並非Leo Editor的教學文,而是在使用Leo時的一些個人記錄。
Leo Editor簡介
Leo editor(或稱為Leo)[1] 不是個簡單的編輯器,除了可當IDE, PIM,也是Outliner [2],若是能換個呈現方式,則像是心智圖(真的有人做這類轉換腳本)。千萬別僅僅當個一般“平面式”文字編輯器使用,而要有階層式、樹狀結構式的立體化思考來看待它。如果想拿它當IDE,可稍了解一下Literate programming [3]的概念。
Leo的可擴充性在某種程度上有點類似Emacs,但用Python而不是LISP。
安裝Leo Editor
除了官方網站提供的數種安裝方式,還有其他途逕,像snap,可惜安裝的是舊版,實測也無法執行。
這裡參酌了官方網頁的說明,直接從源碼倉拉源代碼回來,並以 pipenv
建立Python虛擬環境的方式來執行Leo。
※所以要先把 git
與 pipenv
裝好。若對 pipenv
使用不甚了解,可參考pipenv簡單使用。
個人認為這樣的作法會比較理想,不會干擾到系統用的Python環境,而且往後要升級源代碼也很容易。
這裡假定將Leo安裝在 ~/Apps/leo-editor/
:
cd ~/Apps/
git clone --depth=500 --no-single-branch https://github.com/leo-editor/leo-editor
cd leo-editor/
git checkout devel
pipenv --python 3.10.6 install -e .
這裡注意到,若在 leo-editor/
目錄中重複執行了 pipenv install
的動作(也就是產生了重複冗餘的同名虛擬環境),會出差錯,記得以 pipenv --venv
檢查一下虛擬環境的存放位置,再到其上層目錄看是否有他類似的重複名稱,將重複的都清除掉再重新安裝。
如果安裝順利沒問題,啟動Leo:
pipenv run ./launchLeo.py
沒問題的話,建立一個shell腳本,以方便以後啟動Leo,並掛在啟動選單上,作法像:
vim start-leo.sh
chmod +x start-leo.sh
start-leo.sh
的內容像:
#!/usr/bin/bash
cd ~/Apps/leo-editor
pipenv run ./launchLeo.py
再來把上述腳本加到啟動選單上。打開KDE選單編輯器,為Leo新增項目,名稱欄填 Leo Editor
,指令欄則指到 start-leo.sh
,完成後記得儲存。
往後若想升級Leo源代碼:
cd ~/Apps/leo-editor/
git pull
疑難雜症
目前發現有幾個小問題:
- 無法使用中文輸入法,有幾種變通方式:
- 如果是Vim用戶,可使用vim-anywhere
- 調整使用其他編輯器來編輯節點。這點可參考Leo自帶的Help選單中,
Open Tutorial Outlines
-->Open Quickstart-Leo
,其中的- Configuration (enabling plugins etc.)
- Using your favorite editor to edit nodes
- Configuration (enabling plugins etc.)
- 先在其他文字編輯器上輸入中文,再複製/貼上到Leo
- 有些文件在viewrendered pane無法正確渲染效果。
如果對此不滿意的話,也可以考慮其他類似的Leo實現,像LeoInteg [4]或 leojs [5],不同的是裝在VS Code上,而且操作與功能上會有些差異。
結語
用了Leo一陣子漸漸感受到其強大的功能與設計,雖然好用,但想立刻上手對於一般用戶可能不是那麼容易,尤其安裝工作可能就會嚇退一堆人。如果已有 git
與 pipenv
,採用本文建議的安裝方式就顯得容易許多,同時還有幾項優點,像不干擾到系統環境,還有升級新版容易。
最後,額外幾點給初接觸Leo的人參考:
- 短時間學好如何使用Leo也許不容易,官方說明文件得花點時間去消化,而Leo本身自帶的Help就有相當豐富的內容與範例,像
Quickstart.leo
。再者以上述 LeoInteg 為例,專案中的 LeoInteg.leo 就是主角(Leo文件副檔名為.leo
,儲存格式其實就是XML),專案中多數的程式與說明文件都在其中編寫,存檔時Leo就會輸出相對應的.py
,.md
,.json
……檔案。稍花點時間觀摩一下這些Leo文件,有助於在概觀上對Leo的了解。 - 初使用時也許想調整Leo使用暗主題,官方FAQ提供了方法。Leo的設置大致有幾類,換主題時只要更動Per-user settings (
myLeoSettings.leo
)即可,不知如何下手還可以從 Per-installation settings (LeoSettings.leo
)複製設置節點過來。從Leo的命令選單Settings
即可打開這兩個檔案。在LeoSettings.leo
找到@settings
節點並將其展開,第一個子節點就是主題設置,複製該節點,貼到myLeoSettings.leo
相對應的位置上,然後把原有的@string theme-name = None
改成像@string theme-name = BreezeDarkTheme
,儲存,下回開Leo會換上暗主題。其實該節點右邊的 body pane 也有說明文字。
參考與連結
- https://en.wikipedia.org/wiki/Leo_(text_editor)
- https://en.wikipedia.org/wiki/Outliner
- https://en.wikipedia.org/wiki/Literate_programming
- https://github.com/boltex/leointeg/blob/master/CONTRIBUTING.md
- https://github.com/boltex/leojs
沒有留言:
張貼留言