emacs 編輯模式

當您啟用 emacsgmacs 選項時,便會進入 emacs 編輯模式。在這兩種模式之間僅有處理 Ctrl-T 編輯指令方式的差異。

如果要編輯,請移動游標至需要更正的指標並插入或刪除字元或字組(如果需要的話)。所有編輯指令會控制字元或是ESC序列。

編輯指令會從指令行的任何位置來操作(不只是從開始的地方)。在編輯指令之後不要按 Enter 鍵或是換行(下移鍵)鍵,除了要當作附註之外。


項目 說明
Ctrl-F 會將游標向前(右)移動一個字元。
Esc-F 會將游標向前移動一個字組(字元字串是由唯一的字母、數值或是底線所組成的)。
Ctrl-B 會將游標向後(左)移動一個字元。
Esc-B 會將游標向後移動一個字組。
Ctrl-A 會將游標向行的開頭移動。
Ctrl-E 會將游標向行的尾端移動。
Ctrl-] c 會在現行行將游標向前移動至指示的字元。
Esc-Ctrl-] c 會在現行行將游標向後移動至指示的字元。
Ctrl-X Ctrl-X 會交換游標並標記。
ERASE 會刪除上一個字元。(消除字元作為 stty 指令所定義的使用者定義,通常是 Ctrl-H 鍵順序。)
Ctrl-D 會刪除目前的字元。
Esc-D 會刪除目前的字組。
Esc-Backspace 會刪除上一個字組。
Esc-H 會刪除上一個字組。
Esc-Delete 會刪除上一個字組。如果您的岔斷字元是 Delete 鍵的話,則這個指令無效。
Ctrl-T 會在 emacs 模式中,將目前字元與下一個字元調換。在 gmacs模式中調換上兩個字元。
Ctrl-C 會使用大寫書寫目前字元。
Esc-C 會使用大寫書寫目前字組。
Esc-L 會將目前字組變更為小寫。
Ctrl-K 會從游標處向行的尾端刪除。如果之前加上數值參數,其值會小於目前游標所在的位置,則此編輯指令會從最接近游標的位置刪除。如果之前加上數值參數,其值會大於目前游標所在位置,則此編輯指令會從最接近游標的位置刪除。
Ctrl-W 會從游標處刪除至標記處。
Esc-P 會從游標處向堆疊中的標記處擴張範圍。
KILL 使用者定義的 kill 字元,如同 stty 指令所定義的, 通常是 Ctrl-G 鍵順序或是 @。會刪除目前一整行。如果連續輸入兩個刪除的字元,所有後續的刪除的字元會導致換行(在使用報表終端機時非常有用)。
Ctrl-Y 會從本行中還原最後一個移除的項目。(將這個項目拉回此行。)
Ctrl-L 會換行並列印目前這一行。
Ctrl-@ (空值字元)會設定一個標記。
Esc-space 會設定一個標記。
Ctrl-J (換行)會執行現行行。
Ctrl-M (Return)會執行現行行。
EOF 會處理檔案尾字元,一般而言只有現行行是空值時「Ctrl-D」鍵順序才能當做是檔案尾。
Ctrl-P 會提取上一個指令。每次輸入「Ctrl-P」鍵順序,上一個指令就及時向後存取。當不在多行指令的第一行時會向後移動一行。
Esc-< 會提取最少的新近(最舊的)歷程行。
Esc-> 會提取最多的新近(最初的)歷程行。
Ctrl-N 會提取下一個指令行。每次輸入「Ctrl-N」鍵順序,下一個指令行就及時向前存取。
Ctrl-R String 會針對上一個包含 String 參數所指定之字串的指令行,將其搜尋行歷程反轉。如果提供一個 0 值,則會向前搜尋。指定的字串會被 Enter 或是換行字元所終止。如果在字串之前加上 ^,則符合的行開頭必須具有 String 參數。如果省略 String 參數,則下一個包含最近 String 參數的指令行會被存取。在此情形下,0 的值會反轉搜尋的方向。
Ctrl-O (作業)會執行現行行並提取與歷程檔案中現行行相關的下一行。
Esc Digits (跳出)會定義數值參數。這個取得的數值會做為下一個指令的參數。會接受參數的指令是 Ctrl-FCtrl-BERASECtrl-CCtrl-DCtrl-KCtrl-RCtrl-PCtrl-NCtrl-]Esc-.Esc-Ctrl-]Esc-_Esc-BEsc-CEsc-DEsc-F Esc-H Esc-L 以及 Esc-Ctrl-H
Esc Letter (Soft-key) 會在別名清單中搜尋別名為 _Letter 的別名。如果搜尋的別名已定義,則它的值會放在輸入佇列之中。Letter 參數不可指定跳出函數。
Esc-[ Letter (Soft-key) 會在別名清單中搜尋別名為 __Letter(雙底線加字母)的別名。如果搜尋的別名已定義,則它的值會放在輸入佇列之中。這個指令可用來作為許多終端機上的程式功能鍵。
Esc-. 會在本行中插入上一個指令的最後一個字組。如果之前加上數值參數,則這個參數值會決定那一個字組要插入而不是插入最後一個字組。
Esc-_ Esc-. 鍵順序相同。
Esc-* 嘗試對現行字組進行檔名替代。如果字組不符合任何檔案或不包含任何特殊型樣字元,則會附加一個星號 (*)。
Esc-Esc 檔名完成。以現行字組替代所有檔名的最長共同字首,其符合具有附加星號的現行字組。如果符合的字詞是唯一的, 若檔案是目錄,會加上斜線 (/),若檔案不是目錄,則會加上空格。
Esc-= 列出符合現行字組型樣的檔案,就像有附加星號 (*) 一樣。
Ctrl-U 會將下一個指令參數乘 4。
\ 會跳出下一個字元。如果在編輯字元以及 ERASEKILLINTERRUPT(通常是刪除鍵)字元之前加上反斜線 (\), 即可在指令行或是搜尋字串中輸入它們。反斜線會移除下一個字元的編輯特性(如果有的話)。
Ctrl-V 會顯示 shell 的版本。
Esc-# 會在此行的開頭插入井字號 (#),然後執行此行。這會導致某個註解插入歷程檔案中。