復原與重做
Ctrl+Z 往回、Ctrl+Y 往前,各自最多 100 步。
| 按鍵 | 動作 | 訊息列 |
|---|---|---|
| Ctrl+Z | 復原 | 已復原上次動作/沒有可復原的動作 |
| Ctrl+Y | 重做 | 已重做上次動作/沒有可重做的動作 |
- 復原會連游標位置一起還原,跳回你當時在改的地方。
- 復原之後只要沒有再打字,就可以一路 Ctrl+Y 重做回來。
- 復原之後又輸入新內容,重做紀錄就清空了——這是所有編輯器的通例。
- 每個頁籤各自有一份紀錄,互不影響(見 2.1.4)。
- 檔案被外部改掉而自動重新載入:舊步驟套不回新內容,所以整份清掉(見 2.1.7)。
- 關掉頁籤:紀錄跟著頁籤走,重新開檔不會恢復。
預設配置的重做是 Ctrl+Y,但 Erya Classic 的重做是 Ctrl+R(而 Ctrl+Y 在那套裡是刪除整行)。換配置之後這一組特別容易按錯,記得看提示列(見 4.1.2)。
一步是多大一步
大部分情況下「一個按鍵=一步」,但有五個動作整批算一步。
一個按鍵一步
- 打一個字
- 刪一個字(Backspace / Delete)
- 按一次 Enter
- 剪一行、刪一行
- 貼上一次
所以 100 步大約就是打 100 個字。連續打了一大段之後想全部退掉,用復原不是好方法。
整批算一步
- 全部取代(F6)——不管換掉幾百處
- 格式化文件(Ctrl+T)
- 段落重新編排
- 插入一筆常用語
- 執行一次巨集——中間做了多少事都算一步
這五個都是「一個指令造成大範圍變動」,所以刻意合併成一步,按一次 Ctrl+Z 就整批退回。
輸入一個位元組要打兩個十六進位數字(先高半位再低半位),這兩次輸入算同一步。詳見 3.3.6。
常用語在做什麼
把重複要打的字收起來,之後一鍵插入,而且會自動輪到下一筆。
常用語(片語)適合這些場合:公文的固定用語、程式碼樣板、常打的路徑或人名、要反覆插入的一組標籤。它的特別之處是插入之後會自動輪到下一筆——連按幾次就依序把整組貼出來。
收錄與插入常用語
四個動作:收錄、插入、載入、儲存。
| 動作名稱 | Classic 的鍵 | 做什麼 |
|---|---|---|
| capture_phrase | F9 | 把選取的文字收錄成一筆常用語;沒有選取就收錄目前整行。 |
| insert_phrase | F10 | 在游標處插入下一筆常用語;有選取範圍時會取代掉它。 |
| load_phrases | Shift+F9 | 從 .erya-phrases.json 載入。 |
| save_phrases | Shift+F10 | 存到 .erya-phrases.json。 |
訊息列的回報:
- 收錄成功:「已收錄常用語;目前共 3 筆」
- 收錄到重複的:「這段常用語已經存在」——同樣的內容不會收第二次
- 要收錄的是空行:「目前沒有可收錄的常用語」
- 還沒有任何常用語就想插入:「常用語庫是空的;請先收錄一筆常用語」
- 插入成功:「已插入第 2/3 筆常用語」
常用語的存檔位置
存在目前文件所在的目錄,而且只有你主動叫它存才會寫。
收錄只是放進記憶體。沒有按過「儲存常用語」就離開,這些常用語就沒了。爾雅不會自動寫這個檔——這是刻意的,免得在別人的目錄裡留下不請自來的檔案。
| 檔案 | 放在哪裡 |
|---|---|
| .erya-phrases.json | 目前文件所在的目錄。編輯 /home/leo/docs/報告.txt 時就是 /home/leo/docs/。 |
| .erya-macro.json |
所以常用語與巨集實際上是「跟著資料夾走」的:在專案 A 的目錄存一組,在專案 B 的目錄存另一組,各用各的。想共用就把 JSON 複製過去。
常用語檔就是一個字串陣列,格式很單純。用 Ctrl+O 打開它、用 Ctrl+T 格式化(見 3.1.7),手動加幾筆再存回去,下次 load_phrases 就讀得到。
錄製與執行巨集
錄下一串按鍵,之後整串重播。
- 開始錄製。訊息列說「開始錄製巨集;再次執行錄製巨集動作即可停止」。從這一刻起你按的每一個鍵都被記下來。
- 做你要重複的事。移動、打字、刪除、搜尋都可以。巨集管理本身的按鍵不會被錄進去。
- 再按一次停止。訊息列說「巨集錄製完成,共 12 個按鍵」。
- 執行。訊息列說「已執行巨集,共 12 個按鍵」。想重複很多次就連按幾次。
| 動作名稱 | Classic 的鍵 | 做什麼 |
|---|---|---|
| toggle_macro_recording | Ctrl+F2 | 開始/停止錄製 |
| run_macro | Ctrl+F3 | 執行已錄製的巨集 |
| load_macro | Ctrl+Shift+F2 | 從 .erya-macro.json 載入 |
| save_macro | Ctrl+Shift+F3 | 存到 .erya-macro.json |
不管巨集裡做了多少事,執行一次之後按一下 Ctrl+Z 就全部退回執行前。所以放心試——效果不對就復原再改。
會被擋下來:「請先停止錄製再執行巨集」。另外,還沒錄過任何東西就執行會說「目前沒有可執行的巨集」。
巨集的存檔位置
跟常用語一樣:同目錄、要自己存。
- 檔名是 .erya-macro.json,內容是錄下來的按鍵序列。
- 載入之後會取代掉目前記憶體裡的巨集,並且自動停止錄製狀態。
- 載入/儲存失敗(權限不足、JSON 壞掉)時,訊息列顯示「常用語/巨集操作失敗:…」。
錄下來的是實體按鍵(例如 Ctrl+K),不是「剪下目前行」這個語意。所以換過按鍵配置之後,舊巨集重播出來的結果可能不一樣。要跟別人共用巨集檔的話,記得兩邊用同一套配置。
先綁按鍵才用得到
常用語與巨集這八個動作,預設配置裡全部是空的。
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)。
常見錯誤
復原、常用語與巨集最常見的六個狀況。
| 現象 | 原因與處理 |
|---|---|
| 復原按到底了還退不完 | 只保留 100 步,而且一個字算一步(2.4.2)。大範圍還原請改用未存檔的原檔:關掉頁籤不存,再重開。 |
| 復原突然全部失效 | 檔案被外部改過而自動重新載入(2.1.7)。 |
| 常用語重開就不見了 | 沒有存檔。收錄之後要執行「儲存常用語」(2.4.5)。 |
| 在別的目錄載不到常用語 | JSON 是跟著文件所在目錄走的。把檔案複製過去(2.4.5)。 |
| 巨集重播出來結果不對 | 巨集記的是按鍵,配置換過就會走樣(2.4.7)。 |
| 這些鍵按了都沒反應 | 預設沒綁鍵(2.4.8)。 |