說明
jmacs(1) 是 joe(1) 編輯器的 Emacs 模擬模式,旨在讓 JOE 的操作行為與快捷鍵更貼近經典的 Emacs。
核心定位
在現代開發環境中,jmacs 扮演著以下角色:
- 純文字界面的程式碼編輯器:專為命令列環境打造。
- 資源受限環境下的 Emacs 替代方案:免去繁瑣的設定檔折騰,開箱即可獲得約 80% 的 Emacs 操作體驗。
- 輕量且功能完備:通常內建語法高亮(Syntax Highlighting)等現代特性,在程式碼編輯上比
nano(1)更為友善。 - 實用工具定位:多數系統預設並未安裝此套件。建議行有餘力時,仍應掌握
vi(1)的基本操作以備不時之需。
學習心態
如同學習多數 Unix 命令列工具一樣,您不需要記熟所有熱鍵才開始使用 jmacs。
最有效率的學習路徑是:先掌握最核心的幾組快捷鍵,並直接在實際工作中開始使用。隨著使用頻率與時間的累積,其餘的熱鍵自然會融入您的肌肉記憶中。
安裝
Ubuntu / Linux Mint / Debian
$ sudo apt install joe
RHEL / Fedora / Rocky / Alma
$ sudo dnf install joe
SLES / openSUSE
$ sudo zypper install joe
核心概念與架構
jmacs 繼承了 Emacs 的核心哲學,與 vi 著名的「模態切換(Modal Editing)」不同,jmacs 沒有模式的概念。它完全依賴 Ctrl、Meta (Alt) 等組合鍵來觸發各項編輯指令。
與正統 Emacs 最大的不同在於:
- 免除 Lisp 負擔:JOE 編輯器不使用複雜的 Emacs Lisp 作為設定檔語言。
- 隨開即用(Out of the Box):在絕大多數場景下,您完全不需要任何前置設定即可流暢操作。
- 純文字組態:若有客製化需求,只需修改簡單的純文字設定檔即可,極具輕量化優勢。
基本求生指令
當您首次進入 jmacs 的世界,掌握以下幾組核心指令即可確保基本的編輯與操作流程。
開啟檔案
在終端機輸入以下命令,即可進入 jmacs 的互動式編輯界面並開始編寫程式碼:
$ jmacs path/to/source.c
離開編輯器 (Ctrl-x Ctrl-c)
按下 Ctrl-x 接著按下 Ctrl-c 即可退出。若檔案在編輯過程中曾有變更,系統會主動詢問您是否需要存檔。
儲存檔案 (Ctrl-x Ctrl-s)
按下 Ctrl-x 接著按下 Ctrl-s,即可將當前的編輯內容寫入硬碟。
中止當前指令 (Ctrl-g)
如果您不小心按錯快捷鍵,或是處於不明的指令輸入狀態,隨時按下 Ctrl-g 即可撤銷當前操作,安全回到預設的編輯狀態。
線上熱鍵指南 (Ctrl-x Ctrl-h)
按下 Ctrl-x 接著按下 Ctrl-h,畫面上方會跳出內建的快捷鍵導覽(再次輸入相同快捷鍵即可關閉)。
💡 快捷鍵符號解讀提示
由於內建的導覽介面較為精簡,初學者往往不易閱讀。以下為您整理核心的符號對應規律:
^符號:代表Ctrl鍵(例如:^X即為Ctrl-x)。^[符號:代表Meta鍵(在現代鍵盤上通常為Alt或Option鍵)。- 大小寫符號:導覽中的大寫字母(如
^X),在實際操作時輸入小寫字母即可。 - 組合鍵拆解:部分看似雙鍵的指令,實務上需要搭配
Shift鍵。例如導覽顯示^_,在標準鍵盤上其實是按下Ctrl + Shift + -(因為Shift + -才會觸發下底線_)。
移動游標
| 動作 | 前進 | 後退 |
|---|---|---|
| 水平移動游標 | Ctrl-f |
Ctrl-b |
| 垂直移動游標 | Ctrl-n |
Ctrl-p |
| 移動一個字 | Meta-f |
Meta-b |
| 移動整行 | Ctrl-e |
Ctrl-a |
| 捲動整頁 | Ctrl-v |
Meta-v |
搜尋文字
| 動作 | 前進 | 後退 |
|---|---|---|
| 搜尋 | Ctrl-s |
Ctrl-r |
排除環境熱鍵衝突
在終端機環境下使用 jmacs 時,有時會遇到按了快捷鍵卻毫無反應的情況。這通常是因為桌面環境(Desktop Environment)或終端機模擬器(Terminal Emulator)的系統熱鍵與編輯器產生了衝突。
當熱鍵被上層系統攔截時,jmacs 就無法接收到對應的指令。
常見衝突與解決方案
Alt鍵衝突:許多 Linux 桌面環境預設將Alt鍵用於視窗操作(如移動視窗、選單快捷鍵)。- 排除方式:為了維持流暢的編輯體驗,建議前往系統的「鍵盤快捷鍵」設定中,將相衝突的環境熱鍵停用,或將其改綁定為
Super(Windows 鍵),以確保jmacs能夠如預期般正常運作。