?? emacs中文教程.txt
字號:
n> 來繼續(xù)恢復(fù)自動保存的數(shù)據(jù)。
* 回顯區(qū)域(ECHO AREA)
------------------------------------
如果Emacs發(fā)現(xiàn)你輸入命令的速度很慢的話它會在屏幕底部為你顯示出來,這個區(qū)域叫
“回顯區(qū)域”。
* 模式行(MODE LINE)
---------------------------------
回顯區(qū)域上面的一行稱為“模式行(mode line)”。模式行顯示與下面類似的東西:
--**-Emacs: TUTORIAL (Fundamental)--L670--58%----------------
這一行給出了有關(guān)你在編輯的文件和Emacs狀態(tài)的有用信息。
你已經(jīng)知道了文件名意味著什么。--NN%--指出你現(xiàn)在在文本里的位置;它意味著上面還
有NN%的文本。如果是在文件的開頭,會用--Top-- 來代替--0%--。如果是在行的末尾
, 會顯示--Bot--。如果你正在看的文本內(nèi)容很少,可以全部顯示在屏幕上,模式行會
說 --All--。
前面的星號表示你已經(jīng)改動過文本了。一旦你保存了文件或打開了一個新文件,模式行
的 這部分就不是星號而是破折號了。
模式行上括號里的部分是現(xiàn)在的編輯模式。現(xiàn)在是缺省的基本(Fundamental)模式。它是
“主模式(major mode)”的一種。
Emacs有很多不同的主模式。有些意味著不同的語言或不同的文本。如Lisp模式(Lisp m
ode), 文本模式(text mode)等等。在任何時候有且只能有一種主模式被激活。并且它
的名字會出 現(xiàn)在現(xiàn)在顯示“Fundamental”的位置上。
每一個主模式都有些自己的命令。就象不同的編程語言的注釋看起來不同一樣。每種主
模式 插入的注釋也不同。可以用擴展命令切換進某種主模式。例如,M-x fundamental
-mode 是切 換進基本模式。
>> 輸入 M-x text-mode<Return>
不必擔心,沒有命令會給Emacs帶來很大改變。但是你可以看到現(xiàn)在M-f和M-b把省略號當
作 單詞的一部分。而先前,在基本模式里,M-f 和M-b把省略號當成當成分隔符。
主模式通常作諸如此類微小的變化:大多數(shù)命令在每個主模式里作“同樣的工作”,但
又有 些微小的不同。
要觀看關(guān)于你現(xiàn)在的主模式的文檔,按C-h m。
>> 鍵入C-u C-v一次和多次使本行接近屏幕的頂端。
>> 輸入C-h m ,看看文本模式和基本模式有些什么不同。
>> 按C-x 1 從屏幕上關(guān)掉這個文檔。
主模式之所以叫做主模式是因為也存在從模式,從模式與主模式完全不同。每個從模式
可以自 己打開或者關(guān)閉,獨立于所有其他從模式,也獨立于你的主模式。所以你可以不
用從模式或者 同時用很多種從模式。
有一種從模式很有用,特別是在編輯英文文本時。它是自動填充模式(auto fill mode)
。當這個 模式打開的時候,當輸入的文本過寬的時候就會自動折行。
你能用M-x auto-fill-mode<Return>來打開自動填充模式。如果此模式已經(jīng)打開M-x au
to- fill-mode<Return>則把它關(guān)閉。我們把這叫做切換開關(guān)。
>> 輸入M-x auto-fill-mode<Return>。然后插入一些“asdf”直到看到這行被分為兩行
。你 必須在中間放一些空格,只有到空格的時候才會換行。
通常邊界寬度是70,但你能用帶數(shù)字參數(shù)的C-x f 命令來改變它。
>> 鍵入帶參數(shù)20的C-x。(C-u 20 C-x f) 然后輸入一些文本看現(xiàn)在每行只有20個字符了
。然后用C-x f把它改回70。
如果你在一個段落的中間產(chǎn)生了改變,自動填充模式將不會重新填充。要想重新填充段
落, 當光標在段落里的時候按M-q。
>> 把光標移到上一段按 M-q。
* 搜索(SEARCHING)
-----------------------------
Emacs 能朝前和朝后搜索字符串(指相鄰的一些字符或單詞)。搜索是一個移動光標的操
作, 它把光標移動到字符串出現(xiàn)的下一個地方。
Emacs 的搜索命令和其他大多數(shù)編輯器不同,它是“增量式(incremental)”的,這意味
著搜索在你鍵入字符串時就開始了。
開始一個向前搜索的命令是C-s,C-r是往回搜索。但等等,先別忙。
當你輸入C-s是你將注意到在回顯區(qū)域會出現(xiàn)一個字符串“I-search”。這告訴你Emacs
開始 了一個增量搜索,并在等待你輸入要搜索的東西。<RET>結(jié)束查詢。
>> 現(xiàn)在鍵入C-s開始一個搜索。慢慢的輸入單詞‘cousor’,在輸入每一個字母的時候
停頓一 下,注意看光標發(fā)生了什么。
>> 再輸入一次C-s,來搜索“cursor”出現(xiàn)的下一個地方。
>> 現(xiàn)在輸入<Delete>四次看看光標移到了哪里。
>> 輸入<RET>結(jié)束搜索。
看到發(fā)生什么了嗎?在Emacs的增量搜索里,你輸入多少字符串它就試著搜索這些字符出
現(xiàn)的 地方。到字符串出現(xiàn)的下一個地方,只須再按一次C-s。要搜索的字符串不存在的
話,Emacs 會發(fā)出蜂鳴并告訴你當前的搜索“失敗(failing)”,按 C-g 也是終止搜索
。
注意:在某些系統(tǒng)上,輸入 C-s 會把屏幕凍結(jié)住使你從Emacs看不到更多的輸出。這 表
示這個操作系統(tǒng)的“特性”叫做“控制流程”,它攔截了C-s不讓它到達Emacs那里。 要
使屏幕解凍,輸入C-q,然后看Emacs手冊里的“Spontaneous Entry to Incremental S
earch”一節(jié),按上面的建議來對付這種“特性”。
如果你在搜索的過程里按了<Delete>,你將注意到要搜索的字符串的最后一個字符會被
刪除 并且光標會回到上一個被搜索到的地方。比如,假設(shè)你鍵入了“c”,將會搜索“
c”第一次出 現(xiàn)的地方。然后如果你鍵入“u”,光標將移到“ cu”第一次出現(xiàn)的地方
。現(xiàn)在鍵入<Delete>。 這將從搜索的字符串里把“u”刪掉,這時光標回到“c”第一次
出現(xiàn)的地方。
如果你在搜索時按了Control或meta鍵加字符(少數(shù)幾個少數(shù)命令例外,如C-s和C-r),搜
索將被 終止。
C-s向當前光標的后面搜索字符串出現(xiàn)的地方。如果你需要搜索前面文本里的東西,用C
-r來代替。 我們所介紹的C-s的每個特性C-r也支持,除了方向相反。
* 多窗口(MULTIPLE WINDOWS)
------------------------------------------------
Emacs有一個非常好的特性是能同時在屏幕上顯示不止一個的窗口。
>> 把光標移到本行上按C-u 0 C-l。
>> 現(xiàn)在按C-x 2,它把屏幕分裂成兩個窗口,每個窗口都顯示本教程。光標在上面的窗
口里。
>> 按C-M-v 滾動到下面的窗口里。(如果你沒有一個真正的Meta鍵,那么按ESC C-v)
>> 按 C-x o (“o” 指 “其他(other)”) 把光標移到到下面的窗口里。
>> 用 C-v 和 M-v 滾動下面窗口里的文本。 在上面的窗口里看本教程。
>> 再次按 C-x o 使光標回到上面的窗口里。 現(xiàn)在光標象以前一樣在上面的窗口里了。
你能一直用C-x o在窗口間切換。每個窗口都有它自己的光標位置,但僅有一個窗口能顯
示活動 的光標。所有的編輯命令都發(fā)生在那個顯示光標的窗口上。我們把這個窗口叫做
“選中窗口( selected window)”。
當你在一個窗口里編輯文本,而用另一個窗口作參考時命令C-M-v非常有用。你總是能把
光標留 在所編輯的地方,而用C-M-v來翻閱另一窗口。
C-M-v 是 CONTROL-META 加字符的一個例子。 如果你有一個真正的META 鍵,你能同時
按住 CTRL 和 META 再按“v”來輸入C-M-v。CTRL 和 META 誰先按誰后按無所謂。
如果你沒有一個真正的META 鍵, 你可以用 ESC 來代替。這時候次序是有關(guān)系的: 你
必須讓 ESC 跟在 CTRL-v后面; 否則 CTRL-ESC v 將不工作。 這是因為 ESC 是一個有
意義的字符而不 是一個修飾字符。
>> 輸入 C-x 1 (在上面的窗口里) 以消除下面的窗口。
(如果你在下面的窗口里鍵入C-x 1,將會把上面的窗口去掉。可以把這個命令看作是“
只保留你 現(xiàn)在在的那個窗口。)
你不必一定要在兩個窗口里顯示同樣的緩沖。如果你在一個窗口里鍵入C-x C-f查找文件
,另一個 窗口的內(nèi)容不會改變。你能獨立的在每個窗口里查找文件。
這是讓兩個窗口顯示不同內(nèi)容的另一種方法:
>> 在你輸入的文件名后再輸入C-x 4 C-f,然后用<Return>結(jié)束。會看到指定的文件出
現(xiàn)在下面 的窗口里。光標也在那里面。
>> 鍵入C-x o 回到上面的窗口,然后輸入C-x 1刪掉下面的窗口。
* 遞歸編輯層(RECURSIVE EDITING LEVELS)
----------------------------------------------------------------
有時候你會進入“遞歸編輯層(recursive editing level)”。由模式行上的方括號指示
。它在主模式 名的括號外面。例如你也許會看到(Fundamental)變成了[(Fundamental)
]。
要退出遞歸編輯層,按ESC ESC ESC。這是一個通用的退出命令,你也可以用它除去額外
的窗 口,或者退出微型緩沖。
>> 輸入 M-x 進入一個微型緩沖; 然后用 ESC ESC ESC 離開。
你不能用C-g來退出遞歸編輯層。這是因為C-g只能取消在遞歸編輯層里面的命令。
* 獲取更多的幫助(GETTING MORE HELP)
--------------------------------------------------------------
在本教程里我們試著為你開始使用Emacs提供了足夠多的信息。但是有關(guān)Emacs的信息實
在是太 多以至于不能全部都在這里說明。但是,你還應(yīng)該學習更多有關(guān)Emacs的東西,
因為它另外還有 很多有用的特性。Emacs提供了很多讀取有關(guān)命令的文檔的命令。這些
“幫助”命令都以 Control-h開頭,叫做“幫助字符”。
為了使用幫助特性,輸入字符C-h,然后再輸入一個字符來說明你需要哪種幫助。如果你
真的不知 道,輸入C-h ? 然后 Emacs會告訴你它能給你什么樣的幫助。如果你輸入了C
-h 又覺得不需要任 何幫助,你可以用C-g來取消它。
(在有的地方,C-h的作用被改變了。如果按C-h在屏幕的底部沒有出現(xiàn)有關(guān)幫助的信息的
話,試試 用F1和M-x help RET來代替。)
最基本的幫助特性是C-h c。輸入C-h,然后是字符 c,然后輸入一個命令字符和序列;
然后 Emacs 會顯示這個命令的簡潔的描述。
>> 輸入 C-h c Control-p.
顯示的消息看起來會象這樣:
C-p runs the command previous-line
這告訴你“功能的名字”。功能的名字主要用于對Emacs的功能擴充和定制。但因為功能
的名字 指出了命令的用途,所以最好不要改動它。
C-h c后面可跟多字符命令,比如 C-x C-s 和 (如果你沒有 META 或者 EDIT 或者 ALT
鍵) <ESC>v 。
要獲取有關(guān)命令的更多信息,用C-h k 代替 C-h c。
>> 輸入 C-h k Control-p.
這將在一個Emacs窗口里顯示命令的文檔。當你讀完后可以用C-x 1除去幫助文本。如果
不想馬上 離開,你可以一邊編輯一邊參考幫助文本,然后再按C-x 1。
這是一些有用的 C-h 選項:
C-h f 描述一個功能,在你輸入了這個功能的名字后。
>> 輸入 C-h f previous-line<Return>。 將打印出C-p命令所實現(xiàn)的所有功能。
C-h a 命令查找。輸入一個關(guān)鍵字,Emacs將列出所有名字里有這個關(guān)
鍵字的命令。 包括所有以Meta-x開始的命令。對有些命令,C-h a 也將列出實現(xiàn)同一功
能的 幾個命令序列。
>> 輸入 C-h a file<Return>.
這將在窗口里顯示所有名字里有單詞“file”的M-x命令。
>> 輸入 C-M-v 來滾動幫助窗口,做上幾次。
>> 輸入 C-x 1 來刪除幫助窗口。
* 總結(jié)(CONCLUSION)
--------------------------------
記住,永遠都用C-x C-c來退出Emacs。用C-z來退到一個臨時的外殼里,以使你過后還能
回到 Emacs。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -