譯者: con Copyright (c) 1985 Free Software Foundation, Inc; See end for conditions.
You are looking at the Emacs tutorial.
Emacs 的命令通常包括控制鍵(就是上面標有 Ctrl或Ctl的那個)或者是META鍵(上面標有ED99v或ALT)。為了方便起見我們將用下面的縮寫來代替這些鍵的全稱:
C- 意思是當敲入字符 時同時按住控制鍵,因此,C-f表 示:按住控制鍵並且按 f 。 M- 表示當鍵入 時按住META或ALT或ED99v鍵。如果沒有META 或ALT或ED99v鍵,則用ESC鍵代替。 表示ESC鍵
注意:退出Emacs,按C-x C-c(兩個字符)。在文本左邊區域的“>>”符號表示讓你試著使用一個命令。比如:
>> 現在鍵入C-v(觀看下一屏)移動到下一屏。(就象前面說的,按v的同時也按住控制鍵)。從現在開始,每當你讀完一屏的時候都可以用它來翻屏。
注意在翻屏後會保留上屏的最後一行;這是為你繼續閱讀文本提供某些連貫性。
你所需要知道的第一件事是如何把光標從一個地方移動到另一個地方。你已經知道了如何向前翻一屏--用 C-v。要向後翻一屏,鍵入M-v。
>> 試著鍵入 M-v 和 C-v 幾次。
* 摘要(SUMMARY)
---------------------------
下面幾個命令對整屏觀看時有用:
C-v 向前翻一整屏。
M-v 向後翻一整屏。
C-l 清除屏幕並重新顯示所有的文本,然後把光標移動到屏幕的中央。 (注意是Control-L,而不是 Control-1)。
>> 尋找光標,並且注意它在文本裡的位置。然後鍵入C-l。再尋找光標你會注意到光標現在會出現在同樣的文本附近。
* 基本光標控制(BASIC CURSOR CONTROL)
-----------------------------------------------------------------
整屏整屏的移動是很有用的,可是如何把光標移動到屏幕上文本裡的一個指定的地方呢?
有好幾個方法可以實現。最基本的方法是用命令 C-p,C-b,C-f,和C-n。這些命令每個都使光標在屏幕上往特定的方向移動一行或者一列。下面是一個圖表顯示了這四個命令和它們所移動的方向:
上一行,C-p
:
:
向前,C-b ...... 當前光標的位置 ...... 向後,C-f
:
:
下一行,C-n
>> 用C-n或C-p把光標移動到圖表中間。然後鍵入C-l會看到整個圖表出現在屏幕的中央。
你也許會發現這些字母很容易記住:P 代表上面的(previous),N 代表下一個 (next),B 代表向前(backward),F 代表向後(forward)。這些是基本的光標位置命令,你將經常會用到它們。所以現在學習它們很有好處。
>> 用幾次 C-n 把光標向下移動到這一行。
>> 用 C-f 把光標移動到行裡,再用C-p把光標上移。觀察當光標在行的中間時 C-p做了些什麼。
每一個文本行都以一個換行符結尾,它用來當作行與行之間的分格。你的文件的最後一行的尾部應該有一個換行符(但Emacs並不要求一定要有一個)。
>> 試著在行的開頭使用C-b。它將會把光標移到上一行的末尾。這是因為它向後移的時候穿過了換行符。
C-f 也能象 C-b一樣穿過換行符。
>> 使用幾次C-b,使您能知道光標在哪。然後用C-f移動到行的末尾。然後再用一次C-f,使光標移動到下一行。
當你移動超過屏幕的頂部或底部,光標回移動到下一屏的中間,這叫做“滾屏 (scrolling)”。它使得Emacs滾屏移動到文本上指定的部位而不是移出屏幕。
>> 試著用C-n把光標移過屏幕的底部,看看回發生什麼。
如果覺得一個一個字符的移動太緩慢,可以一個單詞一個單詞的移動。M-f(Meta-f) 向前移一個單詞,M-b向後移一個單詞。
>> 鍵入幾個M-f和M-b。
當光標在一個單詞的中間,M-f移動到單詞的末尾。當光標在兩個單詞間的空白部分 M-f移動到後一個單詞的末尾。M-b與M-f一樣,只是移動的方向相反。
>> 鍵入M-f和M-b幾次,中間穿插一些C-f和C-b以使你能觀察到M-f和M-b在單詞中和單詞間的不同行為。
注意比較C-f,C-b與M-f,M-b。通常情況下Meta鍵用於有關語言單位(詞,句,段落) 的操作;而控制鍵用於編輯時的基本單位(字符,行等)。
這是句與行的比較:C-a和C-e移動到一行的開頭和末尾,M-a和M-e移動到一個句子的開頭和末尾。
>> 鍵入一對C-a,再鍵入一對C-e。 鍵入一對M-a,再鍵入一對M-e。
你會看到重復鍵入的C-a什麼也不做,而重復鍵入的M-a則會移動一個以上的句子。
光標在文本中的位置也叫“點(point)”。在段落裡,光標標示出了點在屏幕上文本裡的位置。
下面是簡單的光標移動命令的總結,包括單詞和句子的移動命令:
C-f 向前移動一個字符。
C-b 向後移動一個字符。
M-f 向前移動一個單詞。
M-b 向後移動一個單詞。
C-n 移動到下一行。
C-p 移動到上一行。
C-a 移動到行首。
C-e 移動到行尾。
M-a 向前移動到句子的開頭。
M-e 向後移動到句子的末尾。
>> 試著對每一個命令都實踐幾次,它們都是經常要用到的命令。
另外兩個重要的光標移動命令是M-<(Meta小於),它移動光標到整個文本的開頭,M-> (Meta大於)它移動光標到整個文本的末尾。
在多數終端上,“<”在逗號的上面,所以你必須用Shift鍵來輸入它。在這些終端上,你也必須用Shift鍵來輸入M-<;沒有Shift鍵,你可以輸入M-逗號。
>> 現在就試試M-<,移動到本教程的開頭,然後再用C-v移回這裡。 現在就試試M->,移動到本教程的末尾,然後再用M-v移回這裡。
你也可以用方向鍵來移動光標,如果你的終端有方向鍵的話。我們建議學習C-b, C-f,C-n和C-p有三個原因。第一,它們能在所有類型的終端上工作。第二,你獲得了使用Emacs的鍛煉,你將會發現輸入這些CTRL加字符比按方向鍵要快(因為你不必把你的手從鍵盤上移開)。第三,一旦你養成了使用這些CTRL加字符的命令的習慣,你就能一樣容易的學習其他高級的光標移動命令。
大多數Emacs命令接收一個數字參數;對大多數命令來說,這表示命令重復的次數。輸入重復命令次數的方法是在輸入命令之前按C-u和數字。如果你有META(或ED99v或 ALT)鍵,則有另一種方法輸入數字參數:在按住META鍵的時候輸入數字,我們建議學習C-u方法,因為它能在任何終端上工作。
例如,C-u 8 C-f 向前移動8個字符。
>> 試著使用帶數字參數的C-n或C-p,只用一個命令就把光標移動到與本行相鄰的 行上。
絕大多數命令把數字參數當作重復次數,但也有幾個例外。C-v和M-v就是。當給出一個參數,只是上滾或下滾數字指定的行數而不是屏數。比如,C-u 4 C-v滾動4行屏幕。
>> 現在試試 C-u 8 C-v。
這將使屏幕滾動8行,如果你想往回滾動的話,鍵入一個帶參數的M-v。
如果你正在使用X窗口,在Emacs窗口的左手邊有一個叫做滾動條的矩形區域。你能通過用鼠標點擊滾動條來滾動文本。
>> 試著在滾動條頂部的高亮區域點擊中鍵。這將使文本滾動,滾動的位置取決於 你點擊的長短。
>> 試著按住鼠標中鍵上移或下移鼠標,你將看到當你移動鼠標時文本會上下滾動。
* 當EMACS掛起時(WHEN EMACS IS HUNG)
------------------------------------------------------------------
當Emacs停止響應你的命令時,你能用C-g把它安全的停止。當一個命令執行了太長的時間時你可以用C-g把它終止。
你也可以用C-g來取消數字參數和輸入後又不想執行的命令。
>> 鍵入C-u 100 產生一個值為100的數字參數,然後按C-g。再按C-f。它只會移動 一個字符,因為你用C-g取消了參數。
如果錯誤的輸入了一個 ,你能用C-g消掉它。
* 禁止命令(DISABLED COMMAND)
----------------------------------------------------
一些Emacs命令是“禁止”的,所以新手不會因偶然而執行它。
如果你鍵入了一個禁止命令,Emacs會顯示一條消息說明這條命令是干什麼的,並且問你是否需要執行它。
如果你真的想要執行,敲空格鍵繼續。通常,如果你不想執行禁止命令,用“n”來回答。
>> 輸入 :(一條禁止命令),然後用n來回答。
* 窗口(WINDOWS)
-----------------------------
Emacs 能有好幾個窗口,每一個顯示自己的文本。我們將在後面解釋怎樣對多窗口操作。現在我們要解釋怎樣去除多余的窗口屏回到基本的單窗口編輯狀態。這是一個例子:
C-x 1 一個窗口(也就是除去其他所有的窗口)。
因為Control-x跟了數字1。C-x 1使包含光標的窗口占滿整個屏幕,屏刪除其他所有窗口。
>> 把光標移動本行並輸入 C-u 0 C-l。
>> 鍵入Control-h k Control-f。 看這個窗口如何縮小,並在按Control-f的時候出現了一個新的文檔窗口。
>> 鍵入C-x 1 並且看到那個文檔窗口消失了。
* 插入和刪除(INSERTING AND DELETING)
---------------------------------------------------------------
如果你要插入文本,只須輸入文本。輸入的字符你能見到,比如A,7,*等等。Emacs 會立即把它們插入。鍵入 (回車鍵)插入一個換行符。
-----------------------------
Emacs 能有好幾個窗口,每一個顯示自己的文本。我們將在後面解釋怎樣對多窗口操作。現在我們要解釋怎樣去除多余的窗口屏回到基本的單窗口編輯狀態。這是一個例子:
C-x 1 一個窗口(也就是除去其他所有的窗口)。
因為Control-x跟了數字1。C-x 1使包含光標的窗口占滿整個屏幕,屏刪除其他所有窗口。
>> 把光標移動本行並輸入 C-u 0 C-l。
>> 鍵入Control-h k Control-f。 看這個窗口如何縮小,並在按Control-f的時候出現了一個新的文檔窗口。
>> 鍵入C-x 1 並且看到那個文檔窗口消失了。
* 插入和刪除(INSERTING AND DELETING)
---------------------------------------------------------------
如果你要插入文本,只須輸入文本。輸入的字符你能見到,比如A,7,*等等。Emacs 會立即把它們插入。鍵入 (回車鍵)插入一個換行符。