翻頁命令

  C-v:向前移動一屏

  M-v:向後移動一屏

  C-l:重繪屏幕,並將光標所在行置於屏幕的中央

 

光標控制

  C-n:移動到下一行(next)

  C-p:移動到上一行(previous)

  C-f:向右移動一個字符(forward)

  C-b:向左移動一個字符(backward)

 

  M-f:向右移動一個詞【對中文是移動到下一個標點符號】

  M-b:向左移動一個詞【對中文是移動到上一個標點符號】

 

  C-a:移動到行首

  C-e:移動到行尾

  M-a:移動到句首

  M-e:移動到句尾

 

  M-<:移動到所有文字的最開頭

  M->:移動到所有文字的最末尾

在大部分鍵盤上,大於號、小於號需要用 Shift 來輸入。

 

數字參數

  C-u n cmd:命令 cmd 重複執行 n 次。

例如:C-u 8 C-f 會向前移動 8 個字符。

 

終止命令

  C-g:可以終止一條執行過久的命令,也可以取消數字參數和只輸入到一半的命令。

 

關掉其他窗格

  C-x 1:關掉其它所有窗格

有一系列命令是以 C-x 開始,這些命令許多都跟“窗格、文件、緩衝區(buffer)”等等有關。

 

插入和刪除

  <Delback>:刪除光標前的一個字符

  C-d:刪除光標後的一個字符

 

  M-<Delback>:移除光標前的一個詞

  M-d:移除光標後的一個詞

 

  C-k:移除從光標到“行尾”間的字符

  M-k:移除從光標到“句尾”間的字符

在 Windows 鍵盤中,Backspace 鍵就是 <Delback>。


移除緩衝區裏的任何一部分

  先將光標移到想移除區域的一端,按 C-@,再將光標移到另一端,按 C-w 就可以把兩點間的文字移除

 

召回移除的文字

  C-y:在光標處插入最後移除的內容

連續按 C-y,可以連續召回最後移除的文字,這實際上實現了複製的功能。

 

  M-y:在光標處插入前一次移除的內容

連續按 M-y,可以召回更前一次被移除的內容。

 

撤銷

  C-x u:消除一個命令所造成的所有改變

 

文件

  C-x C-f:尋找一個文件

  C-x C-s:儲存這個文件

如果尋找不存在的文件,就會創建新文件。不過只有在存盤時,Emacs才會真正創建文件。

可以用 C-x C-f 打開多個文件,要切回第一個文件,同樣可以用 C-x C-f。

 

緩衝區

Emacs 把每個編輯中的文件都放在一個稱為“緩衝區(buffer)”的地方。每尋找到一個文件,Emacs 就在其內部開闢一個緩衝區。

  C-x C-b:列出當前所有的緩衝區

  C-x b:切換緩衝區

  C-x s:保存多個緩衝區

緩衝區和文件是對應的,所以也可以用 C-x C-f 切換緩衝區。

不過,緩衝區未必都有對應文件:比如 “*Messages*” 緩衝區就沒有對應文件,它存放的都是在 Emacs 底部出現的消息。

 

命令集擴展

C-x:字符擴展(C-x 之後輸入另一個字符或者組合鍵)

M-x:命令名擴展(M-x 之後輸入一個命令名)

C-x 的擴展命令有很多,上面已經學過 C-x C-f、C-x C-s 等等。再比如:

  C-x C-c:離開 Emacs

命令名擴展比如:

  M-x replace-string:在全文範圍內把一個字符串替換成另一個

 

自動保存

Emacs 會定期將正在編輯的文件寫入一個“自動保存”文件中,文件名是在原有文件名的頭尾各加一個 “#” 字符。該文件會在正常存盤後被刪除。

  M-x recover file<Return>:恢復文件

 

切換主模式

  M-x text mode<Return>:切換到text模式(當然也可以切換到 Fundamental 等其他模式)

  C-h m:查看當前主模式的文檔

 

輔模式

輔模式提供一些輔助的功能。每個輔模式都可以獨立地開啓和關閉,跟其它輔模式無關,跟主模式也無關。如:

  M-x auto fill mode<Return>:啓動/關閉“自動折行模式”

  C-u 80 C-x f:將每行最大字符數設置為 80

  M-q:手動折行(光標必須位於需要折行的那一段)

 

搜索

  C-s:向下搜索

  C-r:向上搜索

Emacs是漸進式(incremental)搜索,意思是搜索與輸入同時進行。

再按一次 C-s,搜索下一個出現的位置。按 <Return> 可以結束搜索。

 

多窗格

  C-x 2:將屏幕劃分成兩個窗格,光標停留在上方的窗格里

  C-M-v:向下滾動下方的窗格(在一個窗格中編輯,用另一個窗格作為參考時很有用)

  C-M-S-v:向上滾動下方的窗格(同時按住 CONTROL、META 和 SHIFT 再按 v)

  C-x o:將光標轉移到其他窗格

  C-x 4 C-f:尋找的文件出現在下方的窗格中,同時光標也跳到那裏

 

獲得更多幫助

Emacs 提供了一些命令來查看命令文檔,這些命令都以 Ctrl-h 開頭。

  C-h ?:Emacs會列出它能提供哪些幫助

  C-h c C-p:Emacs 會給出這個命令(C-p)的簡要説明

  C-h k C-p:新打開一個窗格以顯示函數的名稱及其文檔

  C-h f previous-line<Return>:解釋一個函數(previous-line)

  C-h v:顯示 Emacs 變量的文檔(變量可以被用來“定製 Emacs 的行為”)

  C-h a:相關命令搜索(輸入一個關鍵詞後,Emacs會列出所有命令名中包含此關鍵詞的 M-x 命令列表)

  C-h i:閲讀聯機手冊(也就是通常講的 Info)

C-h i 命令會打開一個稱為 “*info*” 的特殊緩衝區,在那裏可以閲讀軟件使用手冊。按 m emacs <Return> 可以閲讀 Emacs 的使用手冊。按“?”會進入 Info 的使用指南。Emacs Info 會是我們主要的參考文檔。