• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            chaosuper85

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              118 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

            學(xué)習(xí)站點  http://doc.linuxpk.com/type1091.html 

            Emacs 的命令通常包括控制鍵(就是上面標(biāo)有 Ctrl或Ctl的那個)或者是META鍵(上面標(biāo)有EDIT或ALT)。為了方便起見我們將用下面的縮寫來代替這些鍵的全稱:

            C- 意思是當(dāng)敲入字符 時同時按住控制鍵,因此,C-f表 示:按住控制鍵并且按 f 。 M- 表示當(dāng)鍵入 時按住META或ALT或EDIT鍵。如果沒有META 或ALT或EDIT鍵,則用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)這些字母很容易記?。篜 代表上面的(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)回移動到下一屏的中間,這叫做“滾屏 (scrolling)”。它使得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有三個原因。第一,它們能在所有類型的終端上工作。第二,你獲得了使用Emacs的鍛煉,你將會發(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ù)。


            如果錯誤的輸入了一個 ,你能用C-g消掉它。
            * 禁止命令(DISABLED COMMAND)
            ----------------------------------------------------
            一些Emacs命令是“禁止”的,所以新手不會因偶然而執(zhí)行它。
            如果你鍵入了一個禁止命令,Emacs會顯示一條消息說明這條命令是干什么的,并且問你是否需要執(zhí)行它。
            如果你真的想要執(zhí)行,敲空格鍵繼續(xù)。通常,如果你不想執(zhí)行禁止命令,用“n”來回答。

            >> 輸入 :(一條禁止命令),然后用n來回答。

            * 窗口(WINDOWS)
            -----------------------------
            Emacs 能有好幾個窗口,每一個顯示自己的文本。我們將在后面解釋怎樣對多窗口操作?,F(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 會立即把它們插入。鍵入 (回車鍵)插入一個換行符。
            你能用 刪除你輸入的最后一個字符。 就是鍵盤上標(biāo)著“Del”的鍵。在某些情況下,“Backspace”鍵作用和 一樣,但不總是這樣!


            通常, 立即刪除光標(biāo)前面的那個字符。


            >> 輸入幾個字符,然后用 刪除它們。不必?fù)?dān)心這個文件回被改變;你不會 替換主教程。這只是你的個人拷貝。

            當(dāng)一行文本太長而超過屏幕寬度時,這一行會在屏幕的下一行被“繼續(xù)”。文本的右邊會有一個反斜杠“”表示它被繼續(xù)。
            >> 插入文本直到最右邊,然后再插入。你將看到一個繼續(xù)了的行。
            >> 使用 刪除文本直到行的長度在屏幕的寬度以內(nèi)。繼續(xù)的行將會消失。

            你能像刪除其他任何字符一樣刪除換行符。刪除兩個行間的換行符會使它們合并為一行。如果這一行很長屏幕顯示不下的話,將會用一個繼續(xù)的行來表示。
            >> 把光標(biāo)移動到一行的開頭按 這將使本行和上一行合為一行。
            >> 按 重新插入你刪除的換行符。

            記住大多數(shù)的Emacs命令能接收一個重復(fù)次數(shù)。這包括文本字符,把一個文本字符重復(fù)的插入幾次。
            >> 鍵入這個-- C-u 8 * 來插入 ********

            你現(xiàn)在已經(jīng)學(xué)習(xí)了Emacs的大多數(shù)輸入和排錯的方法。你也能一樣的刪除單詞或行。這是刪除操作的摘要:
            刪除光標(biāo)前面的字符
            C-d 刪除光標(biāo)后面的字符
            M- 除去光標(biāo)前面的單詞
            M-d 除去光標(biāo)后面的單詞
            C-k 除去從光標(biāo)位置到行尾的內(nèi)容
            M-k 除去到當(dāng)前句子的末尾
            注意比較 ,C-d與M ,M-d和C-f,M-f( 不是一個控制字符,但不用擔(dān)心)。C-k和M-k就象C-e,M-e。
            當(dāng)你一次除去不止一個字符時,Emacs將保存著這些文本,所以你可以恢復(fù)它們?;謴?fù)那些被除去的文本稱作“拉(yanking)”。你能在除去文本的同一地方拉回它們,或是在文本的其他地方。你能對文本拉上幾次以產(chǎn)生它們的多個拷貝,拉的命令是 C-y。
            注意“除去(killing)”與“刪除(Deleting)”之間的區(qū)別,被除去的東西能被拉回來,而被刪除的不能。通常除去能除去很多的文本屏保存,而刪除只能除去一個字符,或是空行或空格,并且不保存。


            >> 把光標(biāo)移到一個空行的開頭,鍵入C-k除去這一行。
            >> 按第二次C-k,你將看到剩下的空行也被除去了。



            注意單個的C-k除去行的內(nèi)容,第二個C-k除去行本身,并且使后面的所有行上移。特別要注意數(shù)字參數(shù):它除去很多行和它們的內(nèi)容,這不僅僅是重復(fù)。C-u 2 C-k 除去兩行和它們剩下的空行;而按兩次C-k并不會這樣做。


            要在當(dāng)前光標(biāo)處找回上次被除去的文本;按C-y


            >> 試一試,用C-y把文本拉回來。



            把C-y考慮為你把某人從你這里拿走的東西再拿回來。注意你如果在一行上按了幾次 C-y,所有被除去的文本是存在一起的,所以按一次C-y將拉回全部的行。


            >> 現(xiàn)在就試一下,按幾次C-k。 現(xiàn)在找回被除去的文本;


            >> 按C-y。然后把光標(biāo)下移幾行再按一次C-y,你現(xiàn)在會看到怎樣拷貝這些文本。



            當(dāng)你要拉回一些被除去的文本該怎樣做呢?C-y只能拉回最近被除去的文本。但以前的文本并沒有消失。你能用M-y來恢復(fù)它。當(dāng)你用C-y拉回最近被除去的文本后,換成 M-y可以拉回以前被除去的文本。鍵入一次又一次的M-y可以拉回更早以前被除去的文本。當(dāng)你找到要尋找的文本,不必做任何事來保持它,只須離開拉文本的地方繼續(xù)你的編輯。


            如果你M-y了足夠多的次數(shù),你會回到開始點(最近被除去的)。


            >> 除掉一行,移開,再除掉另一行。 然后用C-y拉回第二行。 然后換成M-y拉回被除掉的第一行。 再按一次M-y看看得到了什么。繼續(xù)按直到拉回被除去的第二行;然后再做幾次。 如果原意的話,你可以給M-y加正的或負(fù)的數(shù)字參數(shù)。





            * 撤銷(UNDO)
            --------------------



            如果你對文本作了一些改動,然后又發(fā)現(xiàn)這樣做是錯誤的,你能用撤銷命令,C-x u 撤銷這些改變。


            通常,一次C-x u撤銷一個改變;如果你在一行上重復(fù)幾次C-x u,就會重復(fù)幾次撤銷操作。


            但有兩個例外:不改變文本的操作(包括光標(biāo)移動和滾屏命令)不算在內(nèi);只能處理20 次。


            >> 用C-k除去這一行,然后按C-x u 它將重現(xiàn)出來。



            C-_是一個可選擇的撤銷命令;它所作的工作和C-x u 完全一樣,只是更容易輸入。 C-_的缺點是有些鍵盤上沒有它,這就是為什么還提供C-x u的原因。在某些終端上你可以按住CTRL的時候再敲/來輸入C-_。C-_或C-x u把數(shù)參數(shù)字當(dāng)作重復(fù)次數(shù)。


            * 文件(FILES)
            -------------------

            為了永久保存你編輯的文本,你必須把它放到一個文件里。否則當(dāng)你退出Emacs的時候它就會消失。你通過“查找(finding)”文件,把你編輯的內(nèi)容放到文件里。(也稱為 “訪問(visiting)文件”)。


            (譯注:為了保持與原文的一致性,把find譯為“查找”,但是這里和后面出現(xiàn)的 “查找文件”指的都是打開文件的意思。)


            查找(finding)一個文件意味著你在Emacs里看文件的內(nèi)容,在多數(shù)情況下,也就是你在編輯它。但是,你用Emacs對它作的改變并不是永久行的,除非你“保存(saving)” 它。所以你可以避免把一個改了一半的文件留在系統(tǒng)上。甚至你保存了文件,Emacs也會把原始文件換個名字保留下來,以防過后你發(fā)現(xiàn)對文件的改動是錯誤的。


            如果你觀察屏幕的你將看見一個開始和結(jié)尾都是破折號的行,并且以“--:**-- TUTORIAL”或之類的東西開始。屏幕的這部分通常顯示你正在訪問的文件的名字。現(xiàn)在,一個叫做“TUTORAL”的文件,它是你的Emacs教程的個人拷貝。當(dāng)你用Emacs 查找一個文件,文件名會出現(xiàn)在同樣的位置。


            查找和保存文件命令不像前面學(xué)的那些命令。它們都以字符Control-x開始。以 Control-x起頭的是一個完整的命令系列;它們中的許多都是對文件,緩沖,和相關(guān)的東西進(jìn)行操作的。這些命令有兩個,三個或四個字符長。


            關(guān)于查找文件命令的另一件事是你必須給出你需要的文件的文件名。我們說這個命令 “從終端讀取一個參數(shù)”。(在這種情況下,參數(shù)是文件的名字);當(dāng)你鍵入命令C-x C-f后,Emacs會提示你輸入文件的名字。你輸入的文件名會出現(xiàn)在屏幕底部的行上。這個底部的行稱為微型緩沖(minibuffer)用于這類較短的輸入。你能用Emacs本身的編輯命令來編輯文件名。


            當(dāng)你正在輸入文件名(或其他任何微型緩沖區(qū)輸入),你能用命令C-g來取消。


            >> 鍵入命令C-x C-f,然后輸入C-g。這將取消微型緩沖,也取消了C-x C-f命令所使 用的微型緩沖,所以你不查找任何文件。



            當(dāng)你輸完文件名后用 來結(jié)束。然后C-x C-f開始工作,并開始尋找你所選擇的文件。當(dāng)C-x C-f命令結(jié)束后微型緩沖區(qū)也消失了。


            過一小會兒文件的內(nèi)容就會顯示在屏幕上,然后你就能對它進(jìn)行編輯了。當(dāng)想永久保留你的改動時用命令:


            C-x C-s 保存文件(save the file)。


            這個操作會把Emacs里的文本拷貝到文件里。在你第一次作的時候,Emacs把原始文 件改為一個新名字以使它不至于丟失。新名字是在原來名字的后面加一個“~”。


            保存結(jié)束后,Emacs打印出被寫的文件的文件名。你應(yīng)當(dāng)經(jīng)常的保存,萬一系統(tǒng)崩潰 的話你不至于丟失太多的工作。


            >> 鍵入C-x C-s來保存你的教程的拷貝。屏幕的底部會打印出“Wrote.....TUTORIAL”。



            注意:在某些系統(tǒng)上,輸入C-x C-s 會把屏幕凍結(jié)住使你從Emacs看不到更多的輸出。這 表示這個操作系統(tǒng)的“特性”叫做“控制流程”,它攔截了C-x不讓它到達(dá)Emacs那里。 要使屏幕解凍,輸入C-q,然后看Emacs手冊里的“Spontaneous Entry to Incremental Search”一節(jié),按上面的建議來對付這種“特性”。


            你能查找一個已存在的文件,來查看它或編輯它。你也可以查找一個尚未存在的文件。這是 Emacs:里創(chuàng)建文件的方法:查找文件,將會出現(xiàn)一個空白,然后插入文件的文本。當(dāng)你 “保存(saving)”的時候,Emacs將會用你插入的文本創(chuàng)建文件。從那時候起,你可以認(rèn)為你在編輯一個存在的文件了。




            * (緩沖)BUFFERS
            --------------------------



            如果你用C-x C-f查找第二個文件,第一個文件仍然留在Emacs里。你可以再用C-x C-f查找一次來切換回去。用這種方法你在Emacs里有很多文件。


            >> 輸入C-x C-f foo 來建立一個名為foo的文件。然后插入一些文本,編輯它,并 用C-x C-s來保存“foo”。 最后輸入C-x C-f TUTORIAL 以回到本教程。




            Emacs把每個文件的文本都保存在一個叫“緩沖(buffer)”的東西里。查找(打開)一個文件就會在Emacs里產(chǎn)生一個新的緩沖。要看你當(dāng)前運行的Emacs里存在的緩沖列表,輸入:


            C-x C-b 列出緩沖(list buffers)


            >> 輸入 C-x C-b



            觀察每個緩沖都有一個名字,它可能也有一個它所保存的文件的文件名。一些緩沖不對應(yīng)文件。比如,叫“*Buffers List*”的緩沖沒有任何文件。這個緩沖只包含由C-x C-b產(chǎn)生的緩沖列表。你在Emacs窗口里看到的任何文本都是某個緩沖的一部分。


            >> 輸入 C-x 1 消除緩沖列表。



            如果你對一個文件的文本作了改動,然后查找另一個文件,第一個文件并不保存。它的改變保存在Emacs里,在那個文件的緩沖里。被建立或編輯的第二個文件的緩沖并不影響第一個的。這一點很有用,但這也意味著要有一個便捷的方法來保存第一個文件的緩沖。如果要用 C-x C-f切換回去只是為了按C-x C-s保存它將會是一件令人討厭的事。所以我們用


            C-x s 保存緩沖(save the buffer)


            C-x s 向你詢問每個改動過但未存盤的緩沖,對每個這樣的緩沖都詢問是否保存。


            >> 插入一行文本,然后按C-x s。 將會問你是否保存叫TUTORIAL的緩沖。 輸入“y”來回答是。





            * 擴(kuò)展命令集(EXTENDING THE COMMAND SET)
            -----------------------------------------------------------------------



            有太多的Emacs命令,大大超過了Contorl和meta加上字符所能表示的數(shù)量。Emacs用X(擴(kuò)展 eXtand)命令來解決這個問題。有兩種風(fēng)格:


            C-x 字符擴(kuò)展,后跟一個字符。
            M-x 名字命令擴(kuò)展,后跟一個長名字。


            這些命令通常有用,但不如你已經(jīng)學(xué)過的那些命令使用的頻繁。你已經(jīng)見過了它們中的兩個:文件命令C-x C-f 用于查找和C-x C-s用于保存。


            另一個例子是結(jié)束Emacs的命令C-x C-c(不必?fù)?dān)心你所作的改動會丟失,在退出Emacs 之前,C-x C-c會提示你保存每一個改動過的文件)。


            C-z命令用于*臨時*退出Emacs,所以你能回到原來運行的Emacs里。在允許這樣做的系統(tǒng)上,C-z把Emacs“掛起”;就是說回到外殼(shell)下,但并不破壞運行的Emacs。在大多數(shù)外殼上,你能用‘fg'命令或‘%emacs'來繼續(xù)Emacs。


            在不支持掛起的系統(tǒng)上,C-z建立一個子外殼(subshell)運行于Emacs下以使你能運行其他程序然后回到Emacs;這并不是真正的“退出”Emacs。在這種情況下,通常從子外殼回到Emacs的外殼命令是‘exit'。 有很多C-x 命令,這是已學(xué)過的一個列表:


            C-x C-f 查找文件
            C-x C-s 保存文件
            C-x C-b 緩沖列表
            C-x C-c 退出Emacs


            C-x u 撤銷操作


            被稱作擴(kuò)展命令的命令的使用頻率都不太高?;蛘呤侵辉谀承┠J较率褂谩R粋€例子是替換字符串的命令,它在全文里把字符串替換為其他的。當(dāng)你鍵入M-x, Emacs會在屏幕的底部提示你輸入命令;在這種情況下,是“replace-string”。比如輸入“repl s ”, Emacs會把命令補(bǔ)全。用 來結(jié)束命令。


            替換字符串命令要求兩個參數(shù)--要被替換的字符串和用來替換的字符串。你必須用 來結(jié)束兩個參數(shù)。


            >> 把光標(biāo)移上兩行,然后輸入M-x repl s changed altered 。 注意現(xiàn)在這一行改變了:你把光標(biāo)初始位置后的所有單詞c-h-a-n-g-e-d替換為了 “altered”





            * 自動保存(AUTO SAVE)
            ------------------------------------



            當(dāng)你改動了一個文件還未存盤的話,所作的改動也許會由于系統(tǒng)崩潰而丟失。為防止這種情況發(fā)生,Emacs在編輯時為每個文件提供了“自動保存(auto save)”。自動保存的文件的文件名前后都有一個#號;例如,如果你編輯的文件名叫“hello.c”,自動保存的文件的文件名就叫“#hello.c#”。當(dāng)你正常的保存了文件后,Emacs會刪除這個自動保存的文件。如果遇到死機(jī),你能打開那個文件后按M-x recover file 來恢復(fù)你的編輯,(是你編輯的文件而不是自動保存的文件)。當(dāng)提示確認(rèn)時,輸入yes 來繼續(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 mode),文本模式(text mode)等等。在任何時候有且只能有一種主模式被激活。并且它的名字會出現(xiàn)在現(xiàn)在顯示“Fundamental”的位置上。


            每一個主模式都有些自己的命令。就象不同的編程語言的注釋看起來不同一樣。每種主模式插入的注釋也不同??梢杂脭U(kuò)展命令切換進(jìn)某種主模式。例如,M-x fundamental-mode 是切換進(jìn)基本模式。


            >> 輸入 M-x text-mode



            不必?fù)?dān)心,沒有命令會給Emacs帶來很大改變。但是你可以看到現(xiàn)在M-f和M-b把省略號當(dāng)作單詞的一部分。而先前,在基本模式里,M-f 和M-b把省略號當(dāng)成當(dāng)成分隔符。


            主模式通常作諸如此類微小的變化:大多數(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)。當(dāng)這個模式打開的時候,當(dāng)輸入的文本過寬的時候就會自動折行。


            你能用M-x auto-fill-mode 來打開自動填充模式。如果此模式已經(jīng)打開M-x auto- fill-mode 則把它關(guān)閉。我們把這叫做切換開關(guān)。


            >> 輸入M-x auto-fill-mode 。然后插入一些“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)生了改變,自動填充模式將不會重新填充。要想重新填充段落,當(dāng)光標(biāo)在段落里的時候按M-q。


            >> 把光標(biāo)移到上一段按 M-q。

            * 搜索(SEARCHING)
            -----------------------------

            Emacs 能朝前和朝后搜索字符串(指相鄰的一些字符或單詞)。搜索是一個移動光標(biāo)的操作,它把光標(biāo)移動到字符串出現(xiàn)的下一個地方。


            Emacs 的搜索命令和其他大多數(shù)編輯器不同,它是“增量式(incremental)”的,這意味著搜索在你鍵入字符串時就開始了。


            開始一個向前搜索的命令是C-s,C-r是往回搜索。但等等,先別忙。


            當(dāng)你輸入C-s是你將注意到在回顯區(qū)域會出現(xiàn)一個字符串“I-search”。這告訴你Emacs開始了一個增量搜索,并在等待你輸入要搜索的東西。 結(jié)束查詢。


            >> 現(xiàn)在鍵入C-s開始一個搜索。慢慢的輸入單詞‘cousor',在輸入每一個字母的時候停頓一 下,注意看光標(biāo)發(fā)生了什么。
            >> 再輸入一次C-s,來搜索“cursor”出現(xiàn)的下一個地方。
            >> 現(xiàn)在輸入 四次看看光標(biāo)移到了哪里。
            >> 輸入 結(jié)束搜索。


            看到發(fā)生什么了嗎?在Emacs的增量搜索里,你輸入多少字符串它就試著搜索這些字符出現(xiàn)的地方。到字符串出現(xiàn)的下一個地方,只須再按一次C-s。要搜索的字符串不存在的話,Emacs 會發(fā)出蜂鳴并告訴你當(dāng)前的搜索“失敗(failing)”,按 C-g 也是終止搜索。


            注意:在某些系統(tǒng)上,輸入 C-s 會把屏幕凍結(jié)住使你從Emacs看不到更多的輸出。這 表示這個操作系統(tǒng)的“特性”叫做“控制流程”,它攔截了C-s不讓它到達(dá)Emacs那里。 要使屏幕解凍,輸入C-q,然后看Emacs手冊里的“Spontaneous Entry to Incremental Search”一節(jié),按上面的建議來對付這種“特性”。
            如果你在搜索的過程里按了 ,你將注意到要搜索的字符串的最后一個字符會被刪除并且光標(biāo)會回到上一個被搜索到的地方。比如,假設(shè)你鍵入了“c”,將會搜索“c”第一次出現(xiàn)的地方。然后如果你鍵入“u”,光標(biāo)將移到“ cu”第一次出現(xiàn)的地方?,F(xiàn)在鍵入 。這將從搜索的字符串里把“u”刪掉,這時光標(biāo)回到“c”第一次出現(xiàn)的地方。


            如果你在搜索時按了Control或meta鍵加字符(少數(shù)幾個少數(shù)命令例外,如C-s和C-r),搜索將被終止。


            C-s向當(dāng)前光標(biāo)的后面搜索字符串出現(xiàn)的地方。如果你需要搜索前面文本里的東西,用C-r來代替。我們所介紹的C-s的每個特性C-r也支持,除了方向相反。


            * 多窗口(MULTIPLE WINDOWS)
            ------------------------------------------------


            Emacs有一個非常好的特性是能同時在屏幕上顯示不止一個的窗口。


            >> 把光標(biāo)移到本行上按C-u 0 C-l。


            >> 現(xiàn)在按C-x 2,它把屏幕分裂成兩個窗口,每個窗口都顯示本教程。光標(biāo)在上面的窗口里。


            >> 按C-M-v 滾動到下面的窗口里。(如果你沒有一個真正的Meta鍵,那么按ESC C-v)

            >> 按 C-x o (“o” 指 “其他(other)”) 把光標(biāo)移到到下面的窗口里。
            >> 用 C-v 和 M-v 滾動下面窗口里的文本。 在上面的窗口里看本教程。


            >> 再次按 C-x o 使光標(biāo)回到上面的窗口里。 現(xiàn)在光標(biāo)象以前一樣在上面的窗口里了。



            你能一直用C-x o在窗口間切換。每個窗口都有它自己的光標(biāo)位置,但僅有一個窗口能顯示活動的光標(biāo)。所有的編輯命令都發(fā)生在那個顯示光標(biāo)的窗口上。我們把這個窗口叫做“選中窗口( selected window)”。


            當(dāng)你在一個窗口里編輯文本,而用另一個窗口作參考時命令C-M-v非常有用。你總是能把光標(biāo)留在所編輯的地方,而用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,然后用 結(jié)束。會看到指定的文件出現(xiàn)在下面 的窗口里。光標(biāo)也在那里面。


            >> 鍵入C-x o 回到上面的窗口,然后輸入C-x 1刪掉下面的窗口。



            * 遞歸編輯層(RECURSIVE EDITING LEVELS)
            ----------------------------------------------------------------

            有時候你會進(jìn)入“遞歸編輯層(recursive editing level)”。由模式行上的方括號指示。它在主模式名的括號外面。例如你也許會看到(Fundamental)變成了[(Fundamental)]。


            要退出遞歸編輯層,按ESC ESC ESC。這是一個通用的退出命令,你也可以用它除去額外的窗口,或者退出微型緩沖。


            >> 輸入 M-x 進(jìn)入一個微型緩沖; 然后用 ESC ESC ESC 離開。

            你不能用C-g來退出遞歸編輯層。這是因為C-g只能取消在遞歸編輯層里面的命令。


            * 獲取更多的幫助(GETTING MORE HELP)
            --------------------------------------------------------------

            在本教程里我們試著為你開始使用Emacs提供了足夠多的信息。但是有關(guān)Emacs的信息實在是太多以至于不能全部都在這里說明。但是,你還應(yīng)該學(xué)習(xí)更多有關(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的功能擴(kuò)充和定制。但因為功能的名字指出了命令的用途,所以最好不要改動它。


            C-h c后面可跟多字符命令,比如 C-x C-s 和 (如果你沒有 META 或者 EDIT 或者 ALT 鍵) v 。


            要獲取有關(guān)命令的更多信息,用C-h k 代替 C-h c。


            >> 輸入 C-h k Control-p.



            這將在一個Emacs窗口里顯示命令的文檔。當(dāng)你讀完后可以用C-x 1除去幫助文本。如果不想馬上離開,你可以一邊編輯一邊參考幫助文本,然后再按C-x 1。


            這是一些有用的 C-h 選項:


            C-h f 描述一個功能,在你輸入了這個功能的名字后。

            >> 輸入 C-h f previous-line 。 將打印出C-p命令所實現(xiàn)的所有功能。



            C-h a 命令查找。輸入一個關(guān)鍵字,Emacs將列出所有名字里有這個關(guān)鍵字的命令。 包括所有以Meta-x開始的命令。對有些命令,C-h a 也將列出實現(xiàn)同一功能的 幾個命令序列。


            >> 輸入 C-h a file .




            這將在窗口里顯示所有名字里有單詞“file”的M-x命令。


            >> 輸入 C-M-v 來滾動幫助窗口,做上幾次。


            >> 輸入 C-x 1 來刪除幫助窗口。





            * 總結(jié)(CONCLUSION)
            --------------------------------

            記住,永遠(yuǎn)都用C-x C-c來退出Emacs。用C-z來退到一個臨時的外殼里,以使你過后還能回到 Emacs。
            本教程盡量讓所有的初學(xué)者都能理解,如果你發(fā)現(xiàn)有些東西不清楚的話,別責(zé)備你自己-抱怨吧!

            posted on 2009-08-04 09:02 chaosuper 閱讀(342) 評論(0)  編輯 收藏 引用
            99久久国产宗和精品1上映| 国产综合免费精品久久久| 久久精品亚洲福利| 青草影院天堂男人久久| 国产精品99久久免费观看| 国产∨亚洲V天堂无码久久久| 亚洲中文久久精品无码ww16| 天天爽天天狠久久久综合麻豆| 色天使久久综合网天天| 偷窥少妇久久久久久久久| 久久久久亚洲av成人网人人软件| 亚洲国产综合久久天堂| 久久精品成人欧美大片| 久久综合亚洲欧美成人| 国产精品久久久久久久久| 9久久9久久精品| 久久强奷乱码老熟女网站| 日韩久久无码免费毛片软件| 久久精品国产亚洲AV香蕉| 亚洲色婷婷综合久久| 久久r热这里有精品视频| 久久精品无码一区二区app| 日本WV一本一道久久香蕉| 亚洲av伊人久久综合密臀性色| 国产精品久久久久天天影视| 久久99精品久久久久久齐齐 | 久久久久人妻一区精品色| 国产99久久久国产精免费| 国内精品伊人久久久久妇| 99久久婷婷免费国产综合精品| 久久se精品一区二区影院 | 久久精品国产99国产精品亚洲| 精品久久久噜噜噜久久久| 亚洲国产成人久久综合区| 国产精品99久久99久久久| 性高湖久久久久久久久AAAAA| 久久精品国产亚洲精品2020| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 成人国内精品久久久久影院| 欧美性大战久久久久久| 99热成人精品热久久669|