雖然說 emacs 並非 SVR4 或是 Solaris 2。0 的一部份,但幾乎所有的 UNIX 系統上都可以看到它的蹤跡,常有人拿它來代替 vi,版本也相當的多。本書著墨者是 GNU 的 emacs,由 Free Software Foundation 出版。若要更詳細的解說,請參考 "Learning GNU Emacs" 一書。
你可以用下列指令啟動 emacs:
  emacs [file]
有些系統上的 gnu emacs 是用 gmacs 而不是 emacs。
p7-2
列表說明事項
Emacs 常用兩個按鍵,Control 和 Meta ( 通常是 Escape 鍵 )。本章中以 C- 表示按著 CTRL 鍵不放然後按下後面的鍵。M- 則表示用 Meta 鍵,但按後面的鍵時不需按著 Meta 鍵。
下列表中,第一欄是按鍵,最後一欄是說明,若有中間欄時,則為指令說明。這個指令名稱可以用 M-x 後打入指令名稱使用。若對完整名稱不確定,也可只打入幾個字,然後按空白或是 enter,emacs 就會列出所有可能的指令名稱。
因為 emacs 是個相當複雜的編輯器,有上百個指令,在此只列出了一部份供速查。若要瀏覽所有的指令,可打入 C-h ( 輔助說明 ) 或是 M-x ( 可看指令名稱 )。
------------------------------------------------------------------------
基本指令
若是一開始使用 emacs,下列為一些絕對必要的指令 :
C-h                             進入線上輔助說明系統
C-x C-s               存檔
C-x C-c               跳出 emacs
C-x u               恢復前一次的動作 ( 可重複使用 )
C-g                             跳出目前的指令
C-p                             上下前後一行或一個字
C-n
C-f
C-b
C-v                             前後一頁
M-v
C-s                             尋找字串
C-d                             刪除一個字元
emacs               指令分類
p7-3
以群組的方式列出指令
注意 : 下面列出的是按鍵,名稱和說明,C- 是 Control 鍵, M- 是 Meta 鍵。
------------------------------------------------------------------------
檔案指令
C-x C-f              find-file                             找出檔案並讀入
C-x C-v              find-alternate-file               找出另一個檔案並取代用 C-x C-f 讀入者
C-x i              insert-file                             插入指令
C-x C-s              save-buffer                             存檔 ( 可能會造成終端機當機 ; 用 C-q 重開 )
C-x C-w              write-file                             將暫存區的資料寫入檔案
C-x C-c              save-buffers-kill-emacs               跳出 emacs
C-z              suspend-emacs                             暫停 emacs,用 fg 或是 exit 來重開
------------------------------------------------------------------------
游標指令
C-f              forward-char                             向右 ( forward ) 移動一格
C-b              backward-char                             向左 ( backward ) 移動一格
C-p              previous-line                             向上 ( previous ) 移動一行
C-n              next-line                                            向下 ( next ) 移動一行
M-f              forward-word                             向右 ( forward ) 移動一個單字
M-b              backward-word                             向左 ( backward ) 移動一個單字
C-a              beginning-of-line               到行頭
C-e              end-of-line                                            到行尾 ( end )
M-a              backward-sentence               向前移動一句
M-e              forward-sentence               向後移動一句
M-[              backward-paragraph               向上移動一段
M-]              forward-paragraph               向下移動一段
C-v              scroll-up                             向上一個畫面
M-v              scroll-down                             向下一個畫面
C-x[              backward-page                             向上一頁
C-x]              forward-page                             向下一頁
M->              end-of-buffer                             到檔尾
M-<              beginning-of-buffer               到檔頭
(none)              goto-line                             到第 n 行
(none)              goto-char                             到第 n 個字元
C-l              recenter                             將目前行放到畫面中央
M-n              digit-argument                             將下一個指令重複 n 次
C-u n              universal-argument               將下一個指令重複 n 次
p7-4
------------------------------------------------------------------------
刪除指令
DEL              backward-delete-char               刪除前一個字元
C-d              delete-char                             刪除目前字元
M-d              kill-word                             刪除目前單字
C-k              kill-line                             刪除目前位置到行尾
M-k              kill-sentence                             刪除目前句
C-x DEL              backward-kill-sentence               刪除前一句
C-y              yank                                            恢復刪除
C-w              kill-region                             將標記的段落刪除 ( 見下一節 )
(none)              backward-kill-paragraph               刪除前一段
(none)              kill-paragraph                             從目前位置刪除至段尾
------------------------------------------------------------------------
段落指令
C-@              set-mark-command               標記區塊起點終點
C-SPACE              (same as above)               同上
C-x C-p              mark-page                             標記一頁
C-x C-x              exchange-point-and-mark               將目前游標位置和標記位置對調
C-x h              mark-whole-buffer               標記暫存區
M-q              fill-paragraph                             重新將段落格式化
M-g              fill-region                             重新將區塊內的每個段落分別格式化
M-h              mark-paragraph                             標記段落
------------------------------------------------------------------------
停止和恢復指令
C-g              keyboard-quit                             停止目前指令
C-x u              advertised-undo                             恢復前一個指令 ( 可重複進行 )
(none)              revert-buffer                             將暫存區恢復到前一次存檔時的狀態
------------------------------------------------------------------------
調換指令
C-t              transpose-chars                             對調兩字元
M-t              transpose-words                             對調兩單字
C-x C-t              transpose-lines                             對調兩行
(none)              transpose-sentences               對調兩句
(none)              transpose-paragraphs               對調兩段
p7-5
------------------------------------------------------------------------
大小寫指令
M-c              capitalize-word                             將字的第一個字母改為大寫
M-u              upcase-word                             將單字改為大寫
M-l              downcase-word                             將單字改為小寫
M--M-c              negative-argument;capitalize-word               將前一個單字第一個字母改為大寫
M--M-u              negative-argument;upcase-word               將前一個單字改為大寫
M--M-l              negative-argument;downcase-word               將前一個單字改為小寫
(none)              capitalize-region               將區塊中的每個單字的第一個字母改為大寫
C-x C-u              upcase-region                             將區塊中的每個單字改為大寫
C-x C-l              downcase-region                             將區塊中的每個單字改為小寫
------------------------------------------------------------------------
漸進搜尋指令
C-s              isearch-forward                             向後搜尋
C-r              isearch-backward               向前搜尋
Meta              (none)                                           跳出搜尋
C-g              keyboard-quit                             停止搜尋 ; 回到出發點
DEL              (none)                                           將搜尋字串中不正確的字元刪除
------------------------------------------------------------------------
縮寫指令
(none)              abbrev-mode                             進出縮寫模式
C-x -              inverse-add-global-abbrev               先打入全域縮寫然後打入定義
C-x C-h              inverse-add-local-abbrev               先打入區域縮寫然後打入定義
(none)              unexpand-abbrev                             取消前一次的縮寫展開
(none)              write-abbrev-file               寫入縮寫檔
(none)              edit-abbrev                             編輯縮寫
(none)              list-abbrev                             列出縮寫
(none)              kill-abbrev                             刪除本次 emacs 中的縮寫
------------------------------------------------------------------------
暫存區指令
C-x b              switch-to-buffer               跳到指定的暫存區去
C-x C-b              list-buffer                             列出暫存區
C-x k              kill-buffer                             刪除指定的暫存區
(none)              kill-some-buffers               對每個暫存區都詢問是否刪除
(none)              rename-buffer                             將暫存區重新命名
C-x s              save-some-buffers               對每個暫存區都詢問是否儲存
------------------------------------------------------------------------
p7-6
視窗指令
C-x 2              split-window-horizontally               水平分割視窗
C-x 5              split-window-vertically                             垂直分割視窗
C-x >              scroll-right                             將視窗向右捲動
C-x <              scroll-left                             將視窗向左捲動
C-x o              other-window                             切換至另一視窗
C-x 0              delete-window                             關閉目前視窗
C-x 1              delete-other-window               關閉其他視窗,僅留目前視窗
(none)              delete-windows-on               將指定暫存區的所有視窗關閉
C-x ^              enlarge-window                             將視窗上下拉長
(none)              shrink-window                             將視窗上下縮小
C-x }              enlarge-window-horizontally                             將視窗左右變寬
C-x {              shrink-window-horizontally                             將視窗左右變窄
M-C-v              scroll-other-window               捲動另一視窗
C-x 4 f              find-file-other-window               在另一視窗中尋找檔案
C-x 4 b              switch-to-buffer-other-window               在另一視窗中切換到另一個暫存區
(none)              compare-windows                             比較兩個暫存區 ; 列出第一個找到的不同之處
------------------------------------------------------------------------
特殊 shell 字元
C-c C-c interrupt-shell-subjob               結束目前的 job
C-c C-d              shell-send-eof                             檔尾字元
C-c C-u              kill-shell-input               刪除目前行 
C-c C-w              backward-kill-word               刪除前一個單字
C-c C-z              stop-shell-subjob               暫停目前的 job
------------------------------------------------------------------------
縮排指令
C-x              .              set-fill-prefix                             將行首到目前游標所在列設定為縮排字串,並將每段的第一行首插入此字串。若在第一列執行此指令則取消此功能。
(none)              indented-text-mode               主要模式 : 每按一次 tab 就指定接下來的縮排距離。
(none)              text-mode                             離開縮排模式,回到 text 模式。
M-C-\              indent-region                             將整個區塊的每一行縮排設定和第一行一樣
M-m              back-to-indentation               將游標移到該行第一個字元
M-C-o              split-line                             將游標所在位置分成兩行 ; 縮排至游標所在列。
(none)              fill-individual-paragraphs               將縮排的段落重新格式化,保留縮排。
p7-7
------------------------------------------------------------------------
對中指令
M-s              center-line                             將游標所在之行放至螢幕中央
(none)              center-paragraph               將游標所在之段落放至螢幕中央
(none)              center-region                             將目前標定之區塊放至螢幕中央
------------------------------------------------------------------------
巨集指令
C-x(              start-kbd-macro                             開始定義巨集
C-x)              end-kbd-macro                             結束巨集定義
C-x e              call-last-kbd-macro               執行上一個定義的巨集
M-n C-x e              digit-argument-and-call-last-kbd-macro               將上一個定義的巨集執行 n 次
C-u C-x (              start-kbd-macro               執行上一個定義的巨集,然後加上另一些按鍵
(none)              name-last-kbd-macro               將上一個定義的巨集存檔之前予以命名
(none)              insert-last-keyboard-macro               將命名過的巨集插入檔案
(none)              load-file                             將儲存的巨集檔載入
(none)              macroname                             執行儲存過的巨集
C-x q              kbd-macro-query                             將巨集定義中插入查詢
C-u C-x q              (none)                             將巨集定義中插入遞迴編輯
M-C-c              exit-recuresive-edit               跳出遞迴編輯
------------------------------------------------------------------------
基本縮排指令
M-C-\              indent-region                             將整個區塊的每一行縮排設定和第一行一樣
M-m              back-to-indentation               將游標移到該行第一個字元
M-^              delete-indentation               將此行併入上一行
------------------------------------------------------------------------
查詢功能指令
C-h a              command-apropos                             以功能查詢相關指令
(none)              apropos                                           以功能查尋相關函式與變數
C-h c              describe-key-briefly               以按鍵查詢指令
C-h b              describe-bindings               查詢此暫存區的相關按鍵
C-h k              describe-key                             以按鍵查詢指令及其功能
C-h l              view-lossage                             查詢前 100 個輸入過的字元               
C-h w              where-is                             查詢此指令的按鍵
C-h f              describe-function               查詢函式功能
C-h v              describe-variable               查詢變數功能
C-h m              describe-mode                             查詢目前暫存區所處的模式
C-h s              describe-syntax                             查詢目前暫存區的語法表
------------------------------------------------------------------------
p7-8
線上輔助說明指令
C-h t              help-with-tutorial               執行 emacs 的教學程式
C-h i              info                                           啟動說明文件
C-h n              view-emacs-news                             顯示 emacs 的功能更新說明
C-h C-c              describe-copying               顯示 emacs 的 General Public License
C-h C-d              describe-distribution               顯示如何由 FSF 取得 emacs
C-h C-w              describe-no-warranty               顯示 emacs 的保固文件
以按鍵分類列出 emacs 指令
---------------------------------------------------------------------------
Control鍵相關指令
C-@                            set-mark-command              標記區塊起點終點
C-SPACE              (same as above)                             同上
C-]                            (none)                                                        離開遞迴編輯或離開替換查詢
C-a              beginning-of-line               到行頭
C-b              backward-char                             向左 ( backward ) 移動一格
C-c C-c interrupt-shell-subjob               結束目前的 job
C-c C-d              shell-send-eof                             檔尾字元
C-c C-u              kill-shell-input               刪除目前行 
C-c C-w              backward-kill-word               刪除前一個單字
C-c C-z              stop-shell-subjob               暫停目前的 job
C-d                             delete-char                                          刪除一個字元
C-e                            end-of-line                                          到行尾 ( end )
C-f                            forward-char                             向右 ( forward ) 移動一格
C-g                             跳出目前的指令
C-h                             進入線上輔助說明系統
C-h a              command-apropos                             以功能查詢相關指令
C-h b              describe-bindings               查詢此暫存區的相關按鍵
C-h C-c              describe-copying               顯示 emacs 的 General Public License
C-h C-d              describe-destribution               顯示如何由 FSF 取得 emacs
C-h C-w              describe-no-warranty               顯示 emacs 的保固文件
C-h c              describe-key-briefly               以按鍵查詢指令
C-h f              describe-function               查詢函式功能
C-h i              info                                           啟動說明文件
C-h k              describe-key                             以按鍵查詢指令及其功能
C-h l              view-lossage                             查詢前 100 個輸入過的字元               
C-h m              describe-mode                             查詢目前暫存區所處的模式
C-h n              view-emacs-news                             顯示 emacs 的功能更新說明
C-h s              describe-syntax                             查詢目前暫存區的語法表
C-h t              help-with-tutorial               執行 emacs 的教學程式
C-h v              describe-variable               查詢變數功能
C-h w              where-is                             查詢此指令的按鍵
C-k                            kill-line                             刪除目前位置到行尾
C-l                            recenter                             將目前行放到畫面中央
C-n                            next-line                              向下 ( next ) 移動一行
C-p                            previous-line               向上 ( previous ) 移動一行
C-r              Meta              (none)                             啟動非漸進式搜尋:向前
C-r                            (none)                                           重複非漸進式搜尋:向前
C-r     (none)                                           進入遞迴編輯模式(在進行替換功能時)
C-r                            isearch-backward               向前搜尋
C-s              Meta              (none)                             啟動非漸進式搜尋:向後
C-s                            (none)                                           重複非漸進式搜尋:向後
C-r                            isearch-forward               向後搜尋
C-t                            transpost-chars                             對調兩字元
C-u n              universal-argument               將下一個指令重複 n 次
C-u C-x (              start-kbd-macro               執行上一個定義的巨集,然後加上另一些按鍵
C-u C-x q              (none)                             將巨集定義中插入遞迴編輯
C-v                             scroll-up                            前後一頁
C-w                            kill-region                             將標記的段落刪除 ( 見下一節 )
C-x(              start-kbd-macro                             開始定義巨集
C-x)              end-kbd-macro                             結束巨集定義
C-x[              backward-page                             向上一頁
C-x]              forward-page                             向下一頁
C-x >              scroll-right                             將視窗向右捲動
C-x <              scroll-left                             將視窗向左捲動
C-x -              inverse-add-global-abbrev               先打入全域縮寫然後打入定義
C-x              .set-fill-prefix                             將行首到目前游標所在列設定為縮排字串,並將每段的第一行首插入此字串。若在第一列執行此指令則取消此功能。
C-x 0              delete-window                             關閉目前視窗
C-x 1              delete-other-window               關閉其他視窗,僅留目前視窗
C-x 2              split-window-horizontally               水平分割視窗
C-x 4 f              find-file-other-window               在另一視窗中尋找檔案
C-x 4 b              switch-to-buffer-other-window               在另一視窗中切換到另一個暫存區
C-x 5              split-window-vertically                             垂直分割視窗
C-x b              switch-to-buffer               跳到指定的暫存區去
C-x C-b              list-buffer                             列出暫存區
C-x C-c               跳出 emacs
C-x C-f              find-file                             找出檔案並讀入
C-x C-h              inverse-add-local-abbrev               先打入區域縮寫然後打入定義
C-x C-l              downcase-region                             將區塊中的每個單字改為小寫
C-x C-p              mark-page                             標記一頁
C-x C-q              (none)                                          切換暫存區的唯讀狀態
C-x C-s              save-buffer                             存檔 ( 可能會造成終端機當機 ; 用 C-q 重開 )
C-x C-t              transpost-lines                             對調兩行
C-x C-u              upcase-region                             將區塊中的每個單字改為大寫
C-x C-v              find-alternate-file               找出另一個檔案並取代用 C-x C-f 讀入者
C-x C-w              write-file                             將暫存區的資料寫入檔案
C-x C-x              exchange-point-and-mark               將目前游標位置和標記位置對調
C-x DEL              backward-kill-sentence               刪除前一句
C-x e              call-last-kbd-macro               執行上一個定義的巨集
C-x h              mark-whole-buffer               標記暫存區
C-x i              insert-file                             插入指令
C-x k              kill-buffer                             刪除指定的暫存區
C-x o              other-window                             切換至另一視窗
C-x q              kbd-macro-query                             將巨集定義中插入查詢
C-x s              save-some-buffers               對每個暫存區都詢問是否儲存
C-x u              恢復前一次的動作 ( 可重複使用 )
C-y                            yank                                            恢復刪除
C-z              suspend-emacs                             暫停 emacs,用 fg 或是 exit 來重開
--------------------------------------------------------------------
Meta鍵相關指令
Meta              (none)                                           跳出搜尋
M--M-c              negative-argument;capitalize-word               將前一個單字第一個字母改為大寫
M--M-l              negative-argument;downcase-word               將前一個單字改為小寫
M--M-u              negative-argument;upcase-word               將前一個單字改為大寫
M-$                            spell-word                            對游標後的字作拼字檢查
M->                            end-of-buffer                             到檔尾
M-<                            beginning-of-buffer               到檔頭
M-[                            backward-paragraph               向上移動一段
M-]                            forward-paragraph               向下移動一段
M-^                            delete-indentation               將此行併入上一行
M-n              digit-argument                             將下一個指令重複 n 次
M-n C-x e              digit-argument-and-call-last-kbd-macro               將上一個定義的巨集執行 n 次
M-a              backward-sentence               向前移動一句
M-b              backward-word                             向左 ( backward ) 移動一個單字
M-C-\              indent-region                             將整個區塊的每一行縮排設定和第一行一樣
M-C-c              exit-recuresive-edit               跳出遞迴編輯
M-C-o              split-line                             將游標所在位置分成兩行 ; 縮排至游標所在列。
M-C-v              scroll-other-window               捲動另一視窗
M-c                            capitalize-word                             將字的第一個字母改為大寫
M-d                            kill-word                             刪除目前單字
M-DEL              backward-kill-word               刪除前一個單字
M-e                            forward-sentence               向後移動一句
M-f                            forward-word                             向右 ( forward ) 移動一個單字
M-g                            fill-region                                           重新將區塊內的每個段落分別格式化
M-h                            mark-paragraph                             標記段落
M-k                            kill-sentence                             刪除目前句
M-l                            downcase-word                             將單字改為小寫
M-m                            back-to-indentation               將游標移到該行第一個字元
M-q                            fill-paragraph                             重新將段落格式化
M-s                            center-line                                            將游標所在之行放至螢幕中央
M-t                            transpost-words                             對調兩單字
M-u                            upcase-word                                            將單字改為大寫
M-v                            scroll-down                                            向下一個畫面
M-x                            (none)                                                         取得指令按鍵的文字說明
以名稱分類列出 emacs 指令
macroname                                           (none)               執行儲存過的巨集
abbrev-mode                                          (none)               進出縮寫模式
advertised-undo                            C-x u               恢復前一個指令 ( 可重複進行 )
command-apropos                            C-h a               以功能查詢相關指令
back-to-indentation              M-m              將游標移到該行第一個字元
backward-char                            C-b                             向左 ( backward ) 移動一格
backward-delete-char              DEL                             刪除前一個字元
backward-kill-paragraph              (none)               刪除前一段
backward-kill-sentence              C-x DEL               刪除前一句
backward-kill-word              C-c C-w                             刪除前一個單字
backward-kill-word              M-DEL               刪除前一個單字
beginning-of-buffer              M-<                             到檔頭
beginning-of-line              C-a                             到行頭
call-last-kbd-macro              C-x e               執行上一個定義的巨集
capitalize-region              (none)               將區塊中的每個單字的第一個字母改為大寫
capitalize-word                            M-c                             將字的第一個字母改為大寫
center-line                                           M-s                            將游標所在之行放至螢幕中央
center-paragraph              (none)               將游標所在之段落放至螢幕中央
center-region                            (none)               將目前標定之區塊放至螢幕中央
command-apropos                            C-h a               以功能查詢相關指令
compare-windows                            (none)               比較兩個暫存區 ; 列出第一個找到的不同之處
delete-char                                           C-d                             刪除目前字元
delete-indentation              M-^                             將此行併入上一行
delete-other-window              C-x 1               關閉其他視窗,僅留目前視窗
delete-window                            C-x 0               關閉目前視窗
delete-windows-on              (none)               將指定暫存區的所有視窗關閉
describe-bindings              C-h b               查詢此暫存區的相關按鍵
describe-copying              C-h C-c               顯示 emacs 的 General Public License
describe-distribution              C-h C-d                             顯示如何由 FSF 取得 emacs
describe-function              C-h f               查詢函式功能
describe-key                            C-h k               以按鍵查詢指令及其功能
describe-key-briefly              C-h c               以按鍵查詢指令
describe-mode                            C-h m               查詢目前暫存區所處的模式
describe-no-warranty              C-h C-w               顯示 emacs 的保固文件
describe-syntax                            C-h s               查詢目前暫存區的語法表
describe-variable              C-h v               查詢變數功能
digit-argument                            M-n                             將下一個指令重複 n 次
call-last-kbd-macro              C-x e               執行上一個定義的巨集
digit-argument                            M-n                             將下一個指令重複 n 次
downcase-word                            M-l                             將單字改為小寫
downcase-region                            C-x C-l               將區塊中的每個單字改為小寫
edit-abbrev                                          (none)               編輯縮寫
end-kbd-macro                            C-x)               結束巨集定義
end-of-buffer                            M->                             到檔尾
end-of-line                                          C-e                              到行尾 ( end )
enlarge-window                            C-x ^               將視窗上下拉長
exchange-point-and-mark              C-x C-x               將目前游標位置和標記位置對調
exit-recuresive-edit              M-C-c               跳出遞迴編輯
fill-paragraph                            M-q                                           重新將段落格式化
fill-region                                          M-g                                           重新將區塊內的每個段落分別格式化
find-alternate-file              C-x C-v                             找出另一個檔案並取代用 C-x C-f 讀入者
find-file                                          C-x C-f                             找出檔案並讀入
find-file-other-window              C-x 4 f               在另一視窗中尋找檔案
forward-char                            C-f                                           向右 ( forward ) 移動一格
forward-sentence              M-e                                           向後移動一句
forward-page                            C-x]                             向下一頁
forward-paragraph              M-]                                           向下移動一段
forward-word                            M-f                                           向右 ( forward ) 移動一個單字
goto-char                                           (none)                             到第 n 個字元
goto-line                                          (none)                             到第 n 行
help-command                            C-h                                           進入線上輔助說明系統
help-with-tutorial              C-h t                             執行 emacs 的教學程式
indent-region                            M-C-\                             將整個區塊的每一行縮排設定和第一行一樣
indented-text-mode              (none)                             主要模式 : 每按一次 tab 就指定接下來的縮排距離。
info                                                         C-h i                             啟動說明文件
insert-file                                          C-x i                             插入指令
insert-last-keyboard-macro              (none)               將命名過的巨集插入檔案
interrupt-shell-subjob              C-c C-c               結束目前的 job
inverse-add-global-abbrev              C-x -               先打入全域縮寫然後打入定義
inverse-add-local-abbrev              C-x C-h               先打入區域縮寫然後打入定義
isearch-backward                            C-r                             向前搜尋
isearch-backward-regexp              C-r                             同上,但是搜尋常規表示式              
isearch-forward                                          C-s                             向後搜尋
isearch-forward-regexp  C-s      同上,但是搜尋常規表示式
kbd-macro-query                                          C-x q               將巨集定義中插入查詢
keyboard-quit                                          C-g                             停止目前指令
kill-buffer                                                        C-x k               刪除指定的暫存區
kill-line                                                        C-k                             刪除目前位置到行尾
kill-region                                                        C-w                             將標記的段落刪除 ( 見下一節 )
kill-sentence                                           M-k                             刪除目前句
kill-some-buffers                            (none)               對每個暫存區都詢問是否刪除
kill-shell-input                             C-c C-u               刪除目前行 
kill-word                                                        M-d                             刪除目前單字
list-abbrev                                                        (none)               列出縮寫
list-buffer                                                        C-x C-b               列出暫存區
load-file                                                        (none)               將儲存的巨集檔載入
mark-page                                                        C-x C-p               標記一頁
mark-whole-buffer                            C-x h               標記暫存區
mark-paragraph                                          M-h                             標記段落
name-last-kbd-macro                            (none)               將上一個定義的巨集存檔之前予以命名
negative-argument;capitalize-word              M--M-c               將前一個單字第一個字母改為大寫
negative-argument;upcase-word                            M--M-u               將前一個單字改為大寫
negative-argument;downcase-word                            M--M-l               將前一個單字改為小寫
next-line                                                        C-n                              向下 ( next ) 移動一行
other-window                                          C-x o               切換至另一視窗
previous-line                                          C-p                             向上 ( previous ) 移動一行
query-replace-regexp              (none)                查詢/替換一個正規表示式              
recenter                                                        C-l                             將目前行放到畫面中央
rename-buffer                                          (none)               將暫存區重新命名
replace-regexp                                          (none)   無條件地替換正規表示式
re-search-backward                            (none)               簡單的正規表示式搜尋:向前
re-search-forward                            (none)               簡單的正規表示式搜尋:向後
revert-buffer                                          (none)               將暫存區恢復到前一次存檔時的狀態
save-buffer                                                        C-x C-s               存檔 ( 可能會造成終端機當機 ; 用 C-q 重開 )
save-buffers-kill-emacs              C-x C-c               跳出 emacs
save-some-buffers                            C-x s               對每個暫存區都詢問是否儲存
scroll-down                                                        M-v                             向下一個畫面
scroll-left                                                        C-x <               將視窗向左捲動
scroll-other-window                            M-C-v               捲動另一視窗
scroll-right                                          C-x >               將視窗向右捲動
scroll-up                                                        C-v                             向上一個畫面
set-mark-command                            C-@                             標記區塊起點終點
(same as above)                                           C-SPACE  同上
set-fill-prefix                                          C-x.               將行首到目前游標所在列設定為縮排字串,並將每段的第一行首插入此字串。若在第一列執行此指令則取消此功能。
shell-send-eof                                          C-c C-d               檔尾字元
shrink-window                                          (none)               將視窗上下縮小
shrink-window-horizontally              C-x {              將視窗左右變窄
spell-buffer                                          (none)               對目前的暫存區作拼字檢查
spell-region                                          (none)               對目前的區域作拼字檢查              
spell-string                                          (none)               對目前的字串作拼字檢查
spell-word                                                        M-$                             對游標後的字作拼字檢查
split-line                                                        M-C-o               將游標所在位置分成兩行 ; 縮排至游標所在列。
split-window-horizontally              C-x 2               水平分割視窗
split-window-vertically                            C-x 5               垂直分割視窗
start-kbd-macro                                          C-x (               開始定義巨集
start-kbd-macro                                          C-u C-x (               執行上一個定義的巨集,然後加上另一些按鍵
stop-shell-subjob                            C-c C-z               暫停目前的 job
suspend-emacs                                          C-z                             暫停 emacs,用 fg 或是 exit 來重開
switch-to-buffer                             C-x b               跳到指定的暫存區去
switch-to-buffer-other-window              C-x 4 b               在另一視窗中切換到另一個暫存區
text-mode                                                        (none)               離開縮排模式,回到 text 模式。
transpose-chars                                           C-t                             對調兩字元
transpose-lines                                          C-x C-t               對調兩行
transpose-paragraphs              (none)               對調兩段
transpose-sentences                             (none)               對調兩句
transpose-words                                          M-t                             對調兩單字
unexpand-abbrev                                          (none)               取消前一次的縮寫展開
universal-argument                             C-u n               將下一個指令重複 n 次
upcase-region                                          C-x C-u               將區塊中的每個單字改為大寫
upcase-word                                                        M-u                             將單字改為大寫
view-emacs-news                                          C-h n               顯示 emacs 的功能更新說明
view-lossage                                          C-h l               查詢前 100 個輸入過的字元               
where-is                                                        C-h w               查詢此指令的按鍵
write-abbrev-file                             (none)               寫入縮寫檔
write-file                                                        C-x C-w               將暫存區的資料寫入檔案
yank                                                                      C-y                              恢復刪除
 
沒有留言:
張貼留言