emacs 編輯模式
當您啟用 emacs 或 gmacs 選項時,便會進入 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-F、Ctrl-B、ERASE、Ctrl-C、Ctrl-D、Ctrl-K、Ctrl-R、Ctrl-P、Ctrl-N、Ctrl-]、Esc-.、Esc-Ctrl-]、Esc-_、Esc-B、Esc-C、 Esc-D、Esc-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。 |
\ | 會跳出下一個字元。如果在編輯字元以及 ERASE、KILL 和
INTERRUPT(通常是刪除鍵)字元之前加上反斜線 (\ ),
即可在指令行或是搜尋字串中輸入它們。反斜線會移除下一個字元的編輯特性(如果有的話)。 |
Ctrl-V | 會顯示 shell 的版本。 |
Esc-# | 會在此行的開頭插入井字號 (# ),然後執行此行。這會導致某個註解插入歷程檔案中。 |