《Emacs 編輯環境》學習筆記

轉自: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 切換改寫模式(缺省爲關閉)。
Backspace
Del
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-iC-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 這一命令將區域中的內容轉換爲大寫字母。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章