創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2023年3月26日 星期日

安裝Leo Editor

概要

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。

※所以要先把 gitpipenv 裝好。若對 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

疑難雜症

目前發現有幾個小問題:

  1. 無法使用中文輸入法,有幾種變通方式:
    1. 如果是Vim用戶,可使用vim-anywhere
    2. 調整使用其他編輯器來編輯節點。這點可參考Leo自帶的Help選單中, Open Tutorial Outlines --> Open Quickstart-Leo,其中的
      • Configuration (enabling plugins etc.)
        • Using your favorite editor to edit nodes
    3. 先在其他文字編輯器上輸入中文,再複製/貼上到Leo
  2. 有些文件在viewrendered pane無法正確渲染效果。

如果對此不滿意的話,也可以考慮其他類似的Leo實現,像LeoInteg [4]或 leojs [5],不同的是裝在VS Code上,而且操作與功能上會有些差異。

結語

用了Leo一陣子漸漸感受到其強大的功能與設計,雖然好用,但想立刻上手對於一般用戶可能不是那麼容易,尤其安裝工作可能就會嚇退一堆人。如果已有 gitpipenv ,採用本文建議的安裝方式就顯得容易許多,同時還有幾項優點,像不干擾到系統環境,還有升級新版容易。

最後,額外幾點給初接觸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 也有說明文字。

參考與連結

  1. https://en.wikipedia.org/wiki/Leo_(text_editor)
  2. https://en.wikipedia.org/wiki/Outliner
  3. https://en.wikipedia.org/wiki/Literate_programming
  4. https://github.com/boltex/leointeg/blob/master/CONTRIBUTING.md
  5. https://github.com/boltex/leojs

沒有留言:

張貼留言