轉自:http://www.ibm.com/developerworks/cn/aix/lp/emacsnew.html
熟悉窗體佈局,重點:模式行、迷你緩衝區(minibuffer)。
熟悉如何鍵入組合鍵:C-x代表按住Ctrl,再按下x。
常用的缺省Emacs按鍵前綴
C-c |
當前編輯模式特有的命令 |
C-x |
文件和緩衝區命令 |
C-h |
幫助命令 |
M-x |
函數名 |
常用的Emacs緩衝區和文件函數
C-x C-s |
save-buffer |
將當前的緩衝區保存到磁盤。 |
C-x s |
save-some-buffers |
要求將所有未保存的緩衝區保存到磁盤。 |
C-x C-c |
save-buffers-kill-emacs |
要求將所有未保存的緩衝區保存到磁盤,並退出 Emacs。 |
C-x C-z |
suspend-emacs |
掛起 Emacs 並使之成爲一個後臺進程。 |
C-x C-b |
list-buffers |
列出所有緩衝區。 |
C-x k |
kill-buffer |
殺死一個緩衝區(缺省情況下爲當前的緩衝區)。 |
C-x C-q |
vc-toggle-read-only |
切換當前緩衝區的可讀狀態(如果適用還可以執行版本控制)。 |
C-x i |
insert-file |
在插入點插入某個文件的內容。 |
有用的Emacs鍵盤輸入(移動和導航)
C-p ,UpArrow |
previous-line |
將插入點向上移動到上一行。 |
C-n , DownArrow |
next-line |
將插入點向下移動到下一行。 |
C-f , RightArrow |
forward-char |
將插入點移動到下一個字符。 |
C-b , LeftArrow |
back-char |
將插入點移動到上一個字符。 |
M-f |
forward-word |
將插入點移動到下一個單詞。 |
M-b |
backward-word |
將插入點移動到上一個單詞。 |
C-v , PgDn |
scroll-up |
將文本向上滾動一屏。 |
M-v , PgUp |
scroll-down |
將文本向下滾動一屏。 |
Home |
beginning-of-buffer |
將插入點移到緩衝區的開始處。(在某些版本中,這個鍵被缺省定義爲移動到當前行的開始處。) |
End |
end-of-buffer |
將插入點移到緩衝區的末尾。(在某些版本中,這個鍵被缺省定義爲移動到當前行的末尾。) |
C-a |
beginning-of-line |
將插入點移到本行的開始處。 |
C-e |
end-of-line |
將插入點移到本行的結尾。 |
M-a |
beginning-of-sentence |
將插入點移到句子的開始處。 |
M-e |
end-of-sentence |
將插入點移到句子的結尾處。 |
C-{ |
beginning-of-paragraph |
將插入點移到段落的開始處。 |
C-} |
end-of-paragraph |
將插入點移到段落的結尾處。 |
常用Emacs編輯命令
Ins | overwrite-mode |
切換改寫模式(缺省爲關閉)。 |
BackspaceDel |
delete-backward-char |
刪除插入點前的字符。 |
C-d |
delete-char |
刪除插入點處的字符。 |
M-d |
kill-word |
從插入點開始向前刪除字符,直到單詞末尾。 |
M-Backspace ,M-Del |
backward-kill-word |
從插入點開始向回刪除字符,直至單詞的開始處。 |
C-_ |
undo |
撤消您的上一次鍵入或操作 |
C-q 字符 或 XXX |
quoted-insert |
在插入點插入按鍵本身代表的字符或由八進制數字(XXX)表示的字符。 |
C-u 次數 命令 |
universal-argument |
按總的次數(缺省爲 4 次)連續執行命令。 |
用來標記和刪除文本的Emacs函數
C-Space |
set-mark-command |
在插入點設置標記。 |
C-k |
kill-line |
刪除從插入點到行末的所有文本。 |
C-w |
kill-region |
刪除區域。 |
M-w |
kill-ring-save |
將區域保存在 kill ring 中,但不刪除它。 |
C-y |
yank |
恢復來自 kill ring 的文本。 |
Emacs中的鼠標操作
B1 |
這一命令將設置插入點位置;拖動鼠標左鍵以設置區域。 |
B1-B1 |
這一命令標記一個單詞。 |
B1-B1-B1 |
這一命令標記一行。 |
B2 |
這一命令插入最近被殺死的內容,並把光標移動到插入內容的末尾。 |
B3 |
這一命令會設置並突出顯示區域,然後無需刪除就將其放在 kill 緩衝區中。如果某個區域已經被突出顯示並設置,該區域的末尾將移動到您單擊的位置。 |
B3-B3 |
這個命令將突出顯示區域,然後刪除它。如果某個區域已經被突出顯示並設置,該區域的末尾將移動到您單擊的位置,此後該區域將被刪除。 |
熟悉不同編輯模式,C-h m獲得當前模式描述。
常用的Emacs模式
Fundamental | fundamental-mode |
主要模式 | 這一模式是缺省的 Emacs 模式,擁有最少設置和綁定。 |
Text | text-mode |
主要模式 | 這一模式是編輯文本的基本模式。 |
Abbrev | abbrev-mode |
次要模式 | 這一模式用於生成和使用縮寫(請參見 Abbrev 模式)。 |
Auto Fill | auto-fill-mode |
次要模式 | 這一模式用於自動文字迴繞、填充較長的行和段落。 |
Overwrite | overwrite-mode |
次要模式 | 這一模式用於覆蓋緩衝區中任何現有的文本,而不是在當前位置插入文本。在缺省情況下,它與 Ins 鍵綁定。 |
C | c-mode |
主要模式 | 這一模式用於編輯 C 程序源代碼。 |
Line Number | line-number-mode |
次要模式 | 這一模式用於顯示當前行號。 |
Lisp Interaction | lisp-interaction |
主要模式 | 這一模式用於編輯和編譯 Lisp 代碼。 |
Paragraph-Indent Text | paragraph-indent-text-mode |
主要模式 | 這一模式是 Text 模式的一種特殊變體,其中的段落移動命令可用於首行縮進的段落,而不僅僅是由空行隔開的段落。 |
TeX | tex-mode |
主要模式 | 這一模式用於編輯 TeX 文檔。 |
WordStar | wordstar-mode |
主要模式 | 這一特殊模式提供了 WordStar 編輯器的鍵綁定。 |
Text模式鍵綁定
Esc | 作爲 mode-specific 命令的前綴 |
Esc Tab、M-Tab | ispell-complete-word |
Esc S、M-S | center-paragraph |
Esc s、M-s | center-line |
Abbrev模式(一種次要模式)使得您可以對較長的字符串或者短語進行速記,但是您可能還會想到一些其他的使用方式。
添加縮寫:C-x a i g,運行 inverse-add-global-abbrev 函數。
打開模式:M-x,abbrev-mode。
刪除縮寫:M-x,kill-all-abbrevs。
Emacs文本操作命令
C-x C-i 、C-x Tab |
indent-rigidly |
這一命令對區域中的(或光標所在的)行進行縮進。 |
fill-region |
這一命令填充區域裏的所有段落。 | |
M-q |
fill-paragraph |
這一命令填充光標所在的單個段落。 |
M-\ |
delete-horizontal-space |
這一命令刪除光標左右的任何水平間距。 |
C-o |
open-line |
這一命令以垂直間距在光標下方打開一個新行,而不移動光標。 |
C-t |
transpose-chars |
這一命令調換光標左右的單個字符。 |
M-t |
transpose-words |
這一命令調換光標左右的單個單詞。 |
C-x C-t |
transpose-lines |
這一命令調換光標所在的行與光標前面的行。 |
M-^ |
delete-indentation |
這一命令將光標所在的行和前面的行連接起來。以 C-1 作爲開始,以連接光標所在的行和下一 行。 |
M-u |
uppercase-word |
這一命令將光標處到其所在詞的詞尾之間的文本轉換爲大寫字母。 |
M-l |
downcase-word |
這一命令將光標處其所在詞的詞尾之間的文本轉換爲小寫字母。 |
C-x C-l |
downcase-region |
這一命令將區域中的內容轉換爲小寫字母。 |
C-x C-u |
upcase-region |
這一命令將區域中的內容轉換爲大寫字母。 |