?? emacs中文教程.txt
字號:
Emacs教程中文版
Emacs 的命令通常包括控制鍵(就是上面標(biāo)有 Ctrl或Ctl的那個)或者 是META鍵(上面標(biāo)
有EDIT或ALT)。為了方便起見我們將用下面的縮寫來 代替這些鍵的全稱:
C-<chr> 意思是當(dāng)敲入字符<chr>時同時按住控制鍵,因此,C-f表 示:按住控
制鍵并且按 f 。
M-<chr> 表示當(dāng)鍵入<chr>時按住META或ALT或EDIT鍵。如果沒有META 或ALT或
EDIT鍵,則用ESC鍵代替。<ESC>表示ESC鍵
注意:退出Emacs,按C-x C-c(兩個字符)。在文本左邊區(qū)域的“>>”符號 表示讓你試著
使用一個命令。比如:
>> 現(xiàn)在鍵入C-v(觀看下一屏)移動到下一屏。(就象前面說的,按v的同時 也按住控制鍵
)。從現(xiàn)在開始,每當(dāng)你讀完一屏的時候都可以用它來翻屏。
注意在翻屏后會保留上屏的最后一行;這是為你繼續(xù)閱讀文本提供某些連 貫性。
你所需要知道的第一件事是如何把光標(biāo)從一個地方移動到另一個地方。你 已經(jīng)知道了如
何向前翻一屏--用 C-v。要向后翻一屏,鍵入M-v。
>> 試著鍵入 M-v 和 C-v 幾次。
* 摘要(SUMMARY)
---------------------------
下面幾個命令對整屏觀看時有用:
C-v 向前翻一整屏。
M-v 向后翻一整屏。
C-l 清除屏幕并重新顯示所有的文本,然后把光標(biāo)移動到屏幕的中
央。 (注意是Control-L,而不是 Control-1)。
>> 尋找光標(biāo),并且注意它在文本里的位置。然后鍵入C-l。再尋找光標(biāo)你會 注意到光標(biāo)
現(xiàn)在會出現(xiàn)在同樣的文本附近。
* 基本光標(biāo)控制(BASIC CURSOR CONTROL)
-----------------------------------------------------------------
整屏整屏的移動是很有用的,可是如何把光標(biāo)移動到屏幕上文本里的一個指定 的地方呢
?
有好幾個方法可以實現(xiàn)。最基本的方法是用命令 C-p,C-b,C-f,和C-n。這些 命令每
個都使光標(biāo)在屏幕上往特定的方向移動一行或者一列。下面是一個圖表 顯示了這四個命
令和它們所移動的方向:
上一行,C-p
:
:
向前,C-b ...... 當(dāng)前光標(biāo)的位置 ...... 向后,C-f
:
:
下一行,C-n
>> 用C-n或C-p把光標(biāo)移動到圖表中間。然后鍵入C-l會看到整個圖表出現(xiàn)在屏 幕的中央
。
你也許會發(fā)現(xiàn)這些字母很容易記住:P 代表上面的(previous),N 代表下一個 (next),
B 代表向前(backward),F(xiàn) 代表向后(forward)。這些是基本的光標(biāo)位 置命令,你將經(jīng)
常會用到它們。所以現(xiàn)在學(xué)習(xí)它們很有好處〕
>> 用幾次 C-n 把光標(biāo)向下移動到這一行。
>> 用 C-f 把光標(biāo)移動到行里,再用C-p把光標(biāo)上移。觀察當(dāng)光標(biāo)在行的中間時 C-p做了
些什么。
每一個文本行都以一個換行符結(jié)尾,它用來當(dāng)作行與行之間的分格。你的文件的 最后一
行的尾部應(yīng)該有一個換行符(但Emacs并不要求一定要有一個)。
>> 試著在行的開頭使用C-b。它將會把光標(biāo)移到上一行的末尾。這是因為它向后 移的時
候穿過了換行符。
C-f 也能象 C-b一樣穿過換行符。
>> 使用幾次C-b,使您能知道光標(biāo)在哪。然后用C-f移動到行的末尾。然后再用 一次C-
f,使光標(biāo)移動到下一行。
當(dāng)你移動超過屏幕的頂部或底部,光標(biāo)回移動到下一屏的中間,這叫做“滾屏 (scroll
ing)”。它使得Emacs滾屏移動到文本上指定的部位而不是移出屏幕。
>> 試著用C-n把光標(biāo)移過屏幕的底部,看看回發(fā)生什么。
如果覺得一個一個字符的移動太緩慢,可以一個單詞一個單詞的移動。M-f(Meta-f) 向
前移一個單詞,M-b向后移一個單詞。
>> 鍵入幾個M-f和M-b。
當(dāng)光標(biāo)在一個單詞的中間,M-f移動到單詞的末尾。當(dāng)光標(biāo)在兩個單詞間的空白部分 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鍵用于有關(guān)語言單位(詞,句,段落) 的
操作;而控制鍵用于編輯時的基本單位(字符,行等)。
這是句與行的比較:C-a和C-e移動到一行的開頭和末尾,M-a和M-e移動到一個句子 的開
頭和末尾。
>> 鍵入一對C-a,再鍵入一對C-e。 鍵入一對M-a,再鍵入一對M-e。
你會看到重復(fù)鍵入的C-a什么也不做,而重復(fù)鍵入的M-a則會移動一個以上的句子。
光標(biāo)在文本中的位置也叫“點(point)”。在段落里,光標(biāo)標(biāo)示出了點在屏幕上文本 里
的位置。
下面是簡單的光標(biāo)移動命令的總結(jié),包括單詞和句子的移動命令:
C-f 向前移動一個字符。
C-b 向后移動一個字符。
M-f 向前移動一個單詞。
M-b 向后移動一個單詞。
C-n 移動到下一行。
C-p 移動到上一行。
C-a 移動到行首。
C-e 移動到行尾。
M-a 向前移動到句子的開頭。
M-e 向后移動到句子的末尾。
>> 試著對每一個命令都實踐幾次,它們都是經(jīng)常要用到的命令。
另外兩個重要的光標(biāo)移動命令是M-<(Meta小于),它移動光標(biāo)到整個文本的開頭,M-> (
Meta大于)它移動光標(biāo)到整個文本的末尾。
在多數(shù)終端上,“<”在逗號的上面,所以你必須用Shift鍵來輸入它。在這些終端 上,
你也必須用Shift鍵來輸入M-<;沒有Shift鍵,你可以輸入M-逗號。
>> 現(xiàn)在就試試M-<,移動到本教程的開頭,然后再用C-v移回這里。 現(xiàn)在就試試M->,移
動到本教程的末尾,然后再用M-v移回這里。
你也可以用方向鍵來移動光標(biāo),如果你的終端有方向鍵的話。我們建議學(xué)習(xí)C-b, C-f,
C-n和C-p有三個原因。第一,它們能在所有類型的終端上工作。第二,你獲得 了使用E
macs的鍛煉,你將會發(fā)現(xiàn)輸入這些CTRL加字符比按方向鍵要快(因為你不必 把你的手從
鍵盤上移開)。第三,一旦你養(yǎng)成了使用這些CTRL加字符的命令的習(xí)慣, 你就能一樣容
易的學(xué)習(xí)其他高級的光標(biāo)移動命令。
大多數(shù)Emacs命令接收一個數(shù)字參數(shù);對大多數(shù)命令來說,這表示命令重復(fù)的次數(shù)。 輸
入重復(fù)命令次數(shù)的方法是在輸入命令之前按C-u和數(shù)字。如果你有META(或EDIT或 ALT)鍵
,則有另一種方法輸入數(shù)字參數(shù):在按住META鍵的時候輸入數(shù)字,我們建議 學(xué)習(xí)C-u方
法,因為它能在任何終端上工作。
例如,C-u 8 C-f 向前移動8個字符。
>> 試著使用帶數(shù)字參數(shù)的C-n或C-p,只用一個命令就把光標(biāo)移動到與本行相鄰的 行上
。
絕大多數(shù)命令把數(shù)字參數(shù)當(dāng)作重復(fù)次數(shù),但也有幾個例外。C-v和M-v就是。當(dāng)給出 一個
參數(shù),只是上滾或下滾數(shù)字指定的行數(shù)而不是屏數(shù)。比如,C-u 4 C-v滾動4行 屏幕。
>> 現(xiàn)在試試 C-u 8 C-v。
這將使屏幕滾動8行,如果你想往回滾動的話,鍵入一個帶參數(shù)的M-v。
如果你正在使用X窗口,在Emacs窗口的左手邊有一個叫做滾動條的矩形區(qū)域。你能 通過
用鼠標(biāo)點擊滾動條來滾動文本。
>> 試著在滾動條頂部的高亮區(qū)域點擊中鍵。這將使文本滾動,滾動的位置取決于 你點
擊的長短。
>> 試著按住鼠標(biāo)中鍵上移或下移鼠標(biāo),你將看到當(dāng)你移動鼠標(biāo)時文本會上下滾動。
* 當(dāng)EMACS掛起時(WHEN EMACS IS HUNG)
------------------------------------------------------------------
當(dāng)Emacs停止響應(yīng)你的命令時,你能用C-g把它安全的停止。當(dāng)一個命令執(zhí)行了太長的 時
間時你可以用C-g把它終止。
你也可以用C-g來取消數(shù)字參數(shù)和輸入后又不想執(zhí)行的命令。
>> 鍵入C-u 100 產(chǎn)生一個值為100的數(shù)字參數(shù),然后按C-g。再按C-f。它只會移動 一個
字符,因為你用C-g取消了參數(shù)。
如果錯誤的輸入了一個<ESC>,你能用C-g消掉它。
* 禁止命令(DISABLED COMMAND)
----------------------------------------------------
一些Emacs命令是“禁止”的,所以新手不會因偶然而執(zhí)行它。
如果你鍵入了一個禁止命令,Emacs會顯示一條消息說明這條命令是干什么的,并且問
你是否需要執(zhí)行它。
如果你真的想要執(zhí)行,敲空格鍵繼續(xù)。通常,如果你不想執(zhí)行禁止命令,用“n”來回
答。
>> 輸入<ESC>一條禁止命令),然后用n來回答。
* 窗口(WINDOWS)
-----------------------------
Emacs 能有好幾個窗口,每一個顯示自己的文本。我們將在后面解釋怎樣對多窗口 操作
。現(xiàn)在我們要解釋怎樣去除多余的窗口屏回到基本的單窗口編輯狀態(tài)。 這是一個例子:
C-x 1 一個窗口(也就是除去其他所有的窗口)。
因為Control-x跟了數(shù)字1。C-x 1使包含光標(biāo)的窗口占滿整個屏幕,屏刪除其他所有 窗
口。
>> 把光標(biāo)移動本行并輸入 C-u 0 C-l。
>> 鍵入Control-h k Control-f。 看這個窗口如何縮小,并在按Control-f的時候出現(xiàn)
了一個新的文檔窗口。
>> 鍵入C-x 1 并且看到那個文檔窗口消失了。
* 插入和刪除(INSERTING AND DELETING)
---------------------------------------------------------------
如果你要插入文本,只須輸入文本。輸入的字符你能見到,比如A,7,*等等。Emacs 會
立即把它們插入。鍵入<Return>(回車鍵)插入一個換行符。
你能用<Delete>刪除你輸入的最后一個字符。<Delete>就是鍵盤上標(biāo)著“Del”的鍵。
在某些情況下,“Backspace”鍵作用和<Delete>一樣,但不總是這樣!
通常,<Delete>立即刪除光標(biāo)前面的那個字符。
>> 輸入幾個字符,然后用<Delete>刪除它們。不必?fù)?dān)心這個文件回被改變;你不會 替
換主教程。這只是你的個人拷貝。
當(dāng)一行文本太長而超過屏幕寬度時,這一行會在屏幕的下一行被“繼續(xù)”。文本的右 邊
會有一個反斜杠“\”表示它被繼續(xù)。
>> 插入文本直到最右邊,然后再插入。你將看到一個繼續(xù)了的行。
>> 使用<Delete>刪除文本直到行的長度在屏幕的寬度以內(nèi)。繼續(xù)的行將會消失。
你能像刪除其他任何字符一樣刪除換行符。刪除兩個行間的換行符會使它們合并為一 行
。如果這一行很長屏幕顯示不下的話,將會用一個繼續(xù)的行來表示。
>> 把光標(biāo)移動到一行的開頭按<Delete>這將使本行和上一行合為一行。
>> 按<Return>重新插入你刪除的換行符。
記住大多數(shù)的Emacs命令能接收一個重復(fù)次數(shù)。這包括文本字符,把一個文本字符重復(fù)
的插入幾次。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -