第二部・基本編輯 / 2.4

復原、常用語與巨集

改壞了怎麼救、同一段字怎麼少打幾次、同一串按鍵怎麼重播。常用語與巨集在預設配置裡沒有綁按鍵,要用得先去按鍵配置編輯器指定。

閱讀時間 約 10 分鐘 對象 需要重複輸入的人 先備知識 2.2 版本 v1.0 ・ 2026-08-26
2.4.1

復原與重做

Ctrl+Z 往回、Ctrl+Y 往前,各自最多 100 步。

按鍵動作訊息列
Ctrl+Z復原已復原上次動作/沒有可復原的動作
Ctrl+Y重做已重做上次動作/沒有可重做的動作
  • 復原會連游標位置一起還原,跳回你當時在改的地方。
  • 復原之後只要沒有再打字,就可以一路 Ctrl+Y 重做回來。
  • 復原之後又輸入新內容,重做紀錄就清空了——這是所有編輯器的通例。
  • 每個頁籤各自有一份紀錄,互不影響(見 2.1.4)。
兩種情況會讓復原紀錄消失
  • 檔案被外部改掉而自動重新載入:舊步驟套不回新內容,所以整份清掉(見 2.1.7)。
  • 關掉頁籤:紀錄跟著頁籤走,重新開檔不會恢復。
Erya Classic 的重做鍵不一樣

預設配置的重做是 Ctrl+Y,但 Erya Classic 的重做是 Ctrl+R(而 Ctrl+Y 在那套裡是刪除整行)。換配置之後這一組特別容易按錯,記得看提示列(見 4.1.2)。

2.4.2

一步是多大一步

大部分情況下「一個按鍵=一步」,但有五個動作整批算一步。

一個按鍵一步

  • 打一個字
  • 刪一個字(Backspace / Delete)
  • 按一次 Enter
  • 剪一行、刪一行
  • 貼上一次

所以 100 步大約就是打 100 個字。連續打了一大段之後想全部退掉,用復原不是好方法。

整批算一步

  • 全部取代(F6)——不管換掉幾百處
  • 格式化文件(Ctrl+T)
  • 段落重新編排
  • 插入一筆常用語
  • 執行一次巨集——中間做了多少事都算一步

這五個都是「一個指令造成大範圍變動」,所以刻意合併成一步,按一次 Ctrl+Z 就整批退回。

十六進位的位元組編輯也有自己的規則

輸入一個位元組要打兩個十六進位數字(先高半位再低半位),這兩次輸入算同一步。詳見 3.3.6。

2.4.3

常用語在做什麼

把重複要打的字收起來,之後一鍵插入,而且會自動輪到下一筆。

常用語(片語)適合這些場合:公文的固定用語、程式碼樣板、常打的路徑或人名、要反覆插入的一組標籤。它的特別之處是插入之後會自動輪到下一筆——連按幾次就依序把整組貼出來。

第 1 筆 此致 敬禮 第 2 筆 承辦人: 第 3 筆 (以下空白) 插到最後一筆之後,再按一次會回到第 1 筆
圖 2.4.1 常用語是一個循環清單。每插入一次,下一次就換成下一筆;訊息列會顯示「已插入第 2/3 筆常用語」讓你知道現在輪到哪裡。
2.4.4

收錄與插入常用語

四個動作:收錄、插入、載入、儲存。

動作名稱Classic 的鍵做什麼
capture_phraseF9把選取的文字收錄成一筆常用語;沒有選取就收錄目前整行。
insert_phraseF10在游標處插入下一筆常用語;有選取範圍時會取代掉它。
load_phrasesShift+F9從 .erya-phrases.json 載入。
save_phrasesShift+F10存到 .erya-phrases.json。

訊息列的回報:

  • 收錄成功:「已收錄常用語;目前共 3 筆」
  • 收錄到重複的:「這段常用語已經存在」——同樣的內容不會收第二次
  • 要收錄的是空行:「目前沒有可收錄的常用語」
  • 還沒有任何常用語就想插入:「常用語庫是空的;請先收錄一筆常用語」
  • 插入成功:「已插入第 2/3 筆常用語」
2.4.5

常用語的存檔位置

存在目前文件所在的目錄,而且只有你主動叫它存才會寫。

收錄不等於存檔

收錄只是放進記憶體。沒有按過「儲存常用語」就離開,這些常用語就沒了。爾雅不會自動寫這個檔——這是刻意的,免得在別人的目錄裡留下不請自來的檔案。

檔案放在哪裡
.erya-phrases.json目前文件所在的目錄。編輯 /home/leo/docs/報告.txt 時就是 /home/leo/docs/。
.erya-macro.json

所以常用語與巨集實際上是「跟著資料夾走」的:在專案 A 的目錄存一組,在專案 B 的目錄存另一組,各用各的。想共用就把 JSON 複製過去。

JSON 可以直接用爾雅編輯

常用語檔就是一個字串陣列,格式很單純。用 Ctrl+O 打開它、用 Ctrl+T 格式化(見 3.1.7),手動加幾筆再存回去,下次 load_phrases 就讀得到。

2.4.6

錄製與執行巨集

錄下一串按鍵,之後整串重播。

  1. 開始錄製。訊息列說「開始錄製巨集;再次執行錄製巨集動作即可停止」。從這一刻起你按的每一個鍵都被記下來。
  2. 做你要重複的事。移動、打字、刪除、搜尋都可以。巨集管理本身的按鍵不會被錄進去。
  3. 再按一次停止。訊息列說「巨集錄製完成,共 12 個按鍵」。
  4. 執行。訊息列說「已執行巨集,共 12 個按鍵」。想重複很多次就連按幾次。
動作名稱Classic 的鍵做什麼
toggle_macro_recordingCtrl+F2開始/停止錄製
run_macroCtrl+F3執行已錄製的巨集
load_macroCtrl+Shift+F2從 .erya-macro.json 載入
save_macroCtrl+Shift+F3存到 .erya-macro.json
整段巨集只算一步復原

不管巨集裡做了多少事,執行一次之後按一下 Ctrl+Z 就全部退回執行前。所以放心試——效果不對就復原再改。

錄製中不能執行巨集

會被擋下來:「請先停止錄製再執行巨集」。另外,還沒錄過任何東西就執行會說「目前沒有可執行的巨集」。

2.4.7

巨集的存檔位置

跟常用語一樣:同目錄、要自己存。

  • 檔名是 .erya-macro.json,內容是錄下來的按鍵序列。
  • 載入之後會取代掉目前記憶體裡的巨集,並且自動停止錄製狀態。
  • 載入/儲存失敗(權限不足、JSON 壞掉)時,訊息列顯示「常用語/巨集操作失敗:…」。
巨集記的是按鍵,不是動作

錄下來的是實體按鍵(例如 Ctrl+K),不是「剪下目前行」這個語意。所以換過按鍵配置之後,舊巨集重播出來的結果可能不一樣。要跟別人共用巨集檔的話,記得兩邊用同一套配置。

2.4.8

先綁按鍵才用得到

常用語與巨集這八個動作,預設配置裡全部是空的。

按了沒反應是正常的

Erya Terminal Safe 為了在各種終端機上都按得動,把八個常用語/巨集動作與五個矩形進階動作全部留空(見 1.3.9)。在 F1 按鍵說明裡,這些動作的按鍵欄會是空白,代表「功能在,但沒有鍵可以叫它」。

兩條路可以用起來:

① 換成 Erya Classic

按 F2 → 用 ← → 選到 Erya Classic → Enter。

八個動作立刻有鍵可用(F9、F10、Ctrl+F2…),代價是其他快捷鍵也一起換成舊的那一套。

② 只綁你要的那幾個

按 F2 → 在「按鍵配置」項目上按 E 進編輯器 → 找到動作按 Enter 輸入按鍵 → 按 S 另存成自己的 TOML。

保留預設配置的其他部分,只補上你會用到的(見 4.1.4)。

2.4.9

常見錯誤

復原、常用語與巨集最常見的六個狀況。

現象原因與處理
復原按到底了還退不完只保留 100 步,而且一個字算一步(2.4.2)。大範圍還原請改用未存檔的原檔:關掉頁籤不存,再重開。
復原突然全部失效檔案被外部改過而自動重新載入(2.1.7)。
常用語重開就不見了沒有存檔。收錄之後要執行「儲存常用語」(2.4.5)。
在別的目錄載不到常用語JSON 是跟著文件所在目錄走的。把檔案複製過去(2.4.5)。
巨集重播出來結果不對巨集記的是按鍵,配置換過就會走樣(2.4.7)。
這些鍵按了都沒反應預設沒綁鍵(2.4.8)。