ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          #

          在不同的major-mode中的特殊鍵綁定。我們可以用C-h m查看詳細的情況。
          在mode中總是用C-c做前命令來指定特殊的函數。我們可以用C-c C-h來查看已經存在綁定的函數。
          posted @ 2005-11-09 14:49 ivaneeo 閱讀(252) | 評論 (0)編輯 收藏

          你光標在window里的位置叫point。而mark在buffer里的位置。
          我們可以讓emacs高亮顯示。(在.emacs里添加(transient-mark-mode t))從point到mark的區域。如下:
          best of the world
          我們還可以交換point和mark之間的位置。(C-x C-x)

          posted @ 2005-11-09 14:35 ivaneeo 閱讀(279) | 評論 (0)編輯 收藏

          1。你可以在當前目錄建一個emacs的目錄。
              $mkdir emacs
          2。把你的腳本考到那個目錄下。
              例如:$cp -v sams-lib.el ~/emacs
          3。編輯默認的腳本.emacs
              $vi ~/.emacs
          加入下面內容:
              (setq load-path (cons "~/Emacs" load-path))
              (require 'sams-lib)

          (load "refcard")
          這行確保sams-lib.el中的一個函數被載入。

          posted @ 2005-11-09 12:13 ivaneeo 閱讀(342) | 評論 (0)編輯 收藏

          在你按下 C-s 之后,你會發現回顯區里有“I-search”字樣出現,這是在提示
          你目前 Emacs 正處于“漸進搜索”狀態,正在等待你輸入搜索字串。<Return>
          會結束搜索。

          >> 輸入 C-s 開始一個搜索。注意敲慢一點,一次輸入一個字符。
             慢慢輸入“cursor”整個詞,每敲一個字就暫停一下,注意觀察光標。
             現在你應該已曾經找到“cursor”這個詞了。
          >> 再按一次 C-s,搜索下一個“cursor”出現的位置。
          >> 現在按四次退格鍵,看看光標是如何移動的。
          >> 敲 <Return> 結束搜索。

          剛才看仔細了么?在一個漸進式搜索中,Emacs 會嘗試跳到你輸入的字符串的出
          現位置。想跳到下一個搜索目標出現的位置,只要再按一次 C-s 就行了。如果找
          不到,Emacs 會發出“嗶”的一聲,告訴你搜索失敗。在整個過程中,都可以用
          C-g 來終止搜索。【你會發現 C-g 之后光標回到了搜索開始前的地方,而
          <Return> 會讓光標留在搜索結果上,這是很有用的功能。】
          --------------------------------------------------------------------------------------------------

          Emacs 的搜索命令的獨特之處在于,它是“漸進的(incremental)”,意思是搜
          索與輸入同時進行:你在這邊一個字一個字地輸入你想搜索的東西,同時 Emacs
          在那邊就替你搜索了。

          C-s 是向前搜索,C-r 是向后搜索。
          posted @ 2005-11-08 17:10 ivaneeo 閱讀(248) | 評論 (0)編輯 收藏

          如果你修改了一個文件但是還沒來得及存盤,然后你的計算機罷工了,那么你編
          輯的東西很可能就找不回來了。為了避免這樣的不幸一再發生,Emacs 會定期將
          你正在編輯的文件存入一個“自動保存”文件中。自動保存的文件名的頭尾各有
          一個“#”字符,比如你正在編輯“hello.c”,那么它的自動保存文件就叫
          “#hello.c#”。在你正常存盤之后,Emacs 會刪除自動保存文件。

          假如不幸真的發生了,你大可以從容的打開原來的文件(注意不是自動保存文件)
          然后輸入 M-x recover file<Return> 來恢復你的自動保存文件。在提示確認的
          時候,輸入 yes<Return> 就行了。
          posted @ 2005-11-08 16:10 ivaneeo 閱讀(331) | 評論 (0)編輯 收藏

          Emacs 的命令就像天上的星星,數也數不清。把它們都對應到 CONTROL 和 META
          組合鍵上顯然是不可能的事情。Emacs 用擴展(eXtend)命令來解決這個問題,
          擴展命令有兩種風格:

                  C-x     字符擴展。  C-x 之后輸入另一個字符或者組合鍵。
                  M-x     命令名擴展。M-x 之后輸入一個命令名。

          -------------------------------------------------------------------------------------------------------
          C-x 的擴展命令有很多,下面列出的是你已經學過的:

                  C-x C-f         尋找文件。
                  C-x C-s         保存文件。
                  C-x C-b         列出緩沖區。
                  C-x C-c         離開 Emacs。
                  C-x 1           關掉其它所有窗格,只保留一個。
                  C-x u           撤銷。

          用命令名擴展的命令一般都不太常用,或者只在部分模式下被用到。比如
          replace-string(字符串替換)這個命令,它會在全文范圍內把一個字符串替換
          成另一個。在你輸入 M-x 的時候,Emacs 會在屏幕底端向你詢問,然后你應該輸
          入命令名。如果你想輸入“replace-string”,其實只需要敲“repl s<TAB>”就
          行了,Emacs 會幫你自動補齊的。輸入完之后按 <Return> 。

          字符串替換命令需要兩個參數——被替換的字符串和用來替換它的字符串。每個
          參數的輸入用換行符來結束。

          >> 將光標移到本行的下兩行空白,然后輸入
             M-x repl s<Return>changed<Return>altered<Return>。

             【為了繼續練習,保留一行原文如下:
             Notice how this line has changed: you've replaced... 】

          請注意這一行是怎么改變的:在光標之后的范圍內,你已經將“changed”這個
          詞——不管它在哪里出現——全部用“altered”替換掉了。
          posted @ 2005-11-08 16:06 ivaneeo 閱讀(256) | 評論 (0)編輯 收藏

          如果你用 C-x C-f 找到第二個文件,第一個文件仍然會在 Emacs 里。要切回第
          一個文件,你可以 C-x C-f 再次尋找它。這樣,你可以在 Emacs 里同時打開很
          多文件。

          >> 用 C-x C-f foo <Return> 的方式建立一個名為“foo”的文件。
             然后敲入一些文字,再用 C-x C-s 保存文件“foo”。
             最后,輸入 C-x C-f TUTORIAL.cn <Return> 回到這里。
          -----------------------------------------------------------------------------------------------
          Emacs 把每個編輯中的文件都放在一個稱為“緩沖區(buffer)”的地方。每尋
          找到一個文件,Emacs 就在其內部開辟一個緩沖區。用下面的命令可以列出當前
          所有的緩沖區:

                  C-x C-b   列出緩沖區

          >> 現在就試一下 C-x C-b

          觀察一下緩沖區是如何命名的,它很可能跟其對應的文件同名。事實上,你在一
          個 Emacs 窗格里看到的任何文字都是某個緩沖區的一部分。

          >> 輸入 C-x 1 離開緩沖區列表

          不管存在多少緩沖區,任何時候都只能有一個是“當前”緩沖區,也就是你正在
          編輯的這個。如果你想編輯另外一個緩沖區,那么你必須“切換”過去。上面講
          過,用 C-x C-f 可以切換到某個文件對應的緩沖區。不過還有一個更簡單點的辦
          法,那就是用 C-x b。用這個命令,你必須輸入緩沖區的名稱。
          -----------------------------------------------------------------------------------------------
          C-x s   保存多個緩沖區

          C-x s 會找到所有已被修改但尚未存盤的緩沖區,然后向你逐個詢問,是否需要
          存盤?

          >> 插入一行文字,然后輸入 C-x s。
             它應該會問你,是否要儲存名為 TUTORIAL.cn 的緩沖區?
             按“y”告訴它你想存盤。
          posted @ 2005-11-08 14:51 ivaneeo 閱讀(218) | 評論 (0)編輯 收藏

          尋找文件的命令有一個特別之處,那就是你必須給出文件名。我們稱這個命令
          “從終端讀入了一個參數”(在這里,這個參數顯然就是文件名)。當你輸入了
          這個命令之后:

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

          Emacs 會提示你輸入文件名。你輸入的文件名會出現在屏幕最底端的一行,這一
          行被稱為小緩沖(minibuffer),在小緩沖里你可以使用通常的 Emacs 編輯命令
          來編輯文件名。

          在小緩沖里輸入文件名(其實輸入別的東西也一樣)時可以用 C-g 取消。

          >> 輸入 C-x C-f,然后輸入 C-g
             這會關掉小緩沖,同時也會取消使用小緩沖的 C-x C-f 命令。
             當然了,你也沒有找任何文件。

          輸入完文件名之后用 <Return> 結束,然后 C-x C-f 命令開始工作并找到你指定
          的文件。小緩沖在 C-x C-f 命令結束之后也會消失。

          眨眼間文件就會顯示在屏幕上,你可以開始編輯了。存盤用這個命令:

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

          這個命令把 Emacs 中的文字存儲到文件中。第一次存盤的時候 Emacs 會將原文
          件重命名以保留原文。重命名的規則通常是在原文件名之后添加一個“~”字符。

          存盤結束后,Emacs 會顯示寫入文件的文件名。你最好養成經常存盤的習慣,這
          樣在系統崩潰或者死機的時候你不會損失太多。
          posted @ 2005-11-08 14:40 ivaneeo 閱讀(211) | 評論 (0)編輯 收藏

          如果你修改了一段文字,又覺得改得不好,可以用 undo 命令進行撤銷:
          C-x u。

          通常 C-x u 會消除一個命令所造成的所有改變;如果你在一行中連續多次地使用
          C-x u,你會把以前的命令也依次撤銷。

          但是有兩個例外:
          1) 沒有改變文字的命令不算(包括光標移動命令和滾動命令)
          2) 從鍵盤輸入的字符以組為單位——每組 20 個字符——來進行處理。
              (這是為了減少你在撤銷“插入文字”動作時需要輸入 C-x u 的次數)

          >> 用 C-k 將這一行移除,然后輸入 C-x u ,它會再次出現。

          C-_ 也是撤銷命令;它的作用跟 C-x u 一樣,但是它比較容易多次輸入。C-_ 的
          缺點是在某些鍵盤上可能不太容易按,這也正是我們同時提供 C-x u 的原因。在
          某些終端上,你可以按住 CONTROL 再按“/”來輸入 C-_。

          數字參數對于 C-_ 和 C-x u 的意義是執行撤銷的重復次數。
          posted @ 2005-11-08 13:57 ivaneeo 閱讀(263) | 評論 (0)編輯 收藏

          你可以用 <Delback> 來刪除最后輸入的的一個字符,這個跟你在 Emacs 之外的
          用法應該一樣。一般來說 <Delback> 就是位于 <Return> 鍵上方某處的一個大號
          鍵,通常被標示為“Delete”、“Del”或者“Backspace”。


          下面是一個關于“刪除”操作的小結:

                  <Delback>    刪除光標前的一個字符
                  C-d          刪除光標后的一個字符

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

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

          【可能你已經注意到了“刪除(delete)”和“移除(kill)”的用詞區別,后
          文會有詳細說明。】
          -----------------------------------------------------------------------------------------------------
          你也可以用一種統一的辦法來刪除緩沖區里的任何一部分:首先把光標移動到你
          想要刪除的區域的一端,然后按 C-@ 或 C-SPC(任一即可,SPC指空格)【注意,
          C-SPC 往往被中文用戶設定成輸入法熱鍵,如果這樣,C-SPC 就被系統攔截而無
          法輸入給 Emacs 了,因此這里還是推薦使用C-@。】,然后再移動到另一端,再
          按 C-w 就可以把位于這兩點之間的所有文字刪除了。

          >> 移動光標到上一段開頭的“你”字。
          >> 輸入 C-@ 。Emacs 應該會在屏幕的下方顯示一個“Mark set”的消息。
          >> 移動光標到第二行中的“端”字。
          >> 輸入 C-w,就會把從“你”開始到“端”之前的文字全部刪除。

          注意,“移除(kill)”和“刪除(delete)”的不同在于被移除的東西可以找回
          來,而被刪除的就不行了。【實際上,移除掉的東西雖然看起來“消失”了,但
          實際上被 Emacs 記錄了下來,因此還可以找回來;而刪除掉的東西雖然也可能還
          在內存里,但是已經被Emacs“拋棄”了,所以就找不回來了。】重新插入被移除
          的文字稱為“召回(yank)”。一般而言,那些會去除很多文字的命令會把去除
          掉的文字儲存起來(它們被設定成了“可召回”),而那些只是去除一個字符或
          者只是去除空白的命令就不會儲存那些被去除掉的東西(因此你就無法召回)。

          -----------------------------------------------------------------------------------------------------
          >> 移動光標到一非空白行的行頭,然后輸入 C-k 移除那一行上的文字。

          >> 再次 C-k,你可以看到它移除了跟在那一行后面的換行符。

          注意,單獨的 C-k 會把一行的內容移除,而第二個 C-k 則會移除換行符,并使
          其后所有的行都向上移動。C-k 處理數字參數的方式很特別,它會把參數指定的
          那么多行連同其后的換行符一起移除,而不僅僅是重復 C-k 而已。比如 C-u 2
          C-k 會把兩行以及它們的換行符移除;而如果只是輸入 C-k 兩次顯然不是這個結
          果。
          -------------------------------------------------------------------------------------------------------
          將被移除的文字恢復的動作稱為“召回(yanking)”。(就好像你把別人從你身
          邊移走的東西又猛力地拉回來。)你可以在你刪除文字的地方召回,也可以在別
          的地方召回,還可以多次召回同樣的文字以得到它的多個拷貝。

          召回的命令是 C-y。它會在光標所在處插入你最后移除的文字。

          >> 試試看,輸入 C-y 將文字召回。

          如果你一次連按了好幾下 C-k,那么所有被移除的行會被存儲在一起,只要一個
          C-y 就可以把它們都召回。

          >> 在這里試試,連續按幾次 C-k。

          現在再來恢復剛剛被我們移除的文字:

          >> 按 C-y。然后把光標往下移動幾行,再按一次 C-y。
             現在你應該知道怎么復制文字了。

          C-y 可以把最近移除的文字召回,但如果你想召回的東西不是最近移除的,該怎
          么辦呢?它們當然沒有丟,你可以用 M-y 來召回它們。在用 C-y 召回最近移除
          的文字之后,緊接著再用 M-y 就可以召回再前一次被移除的文字,再按一次
          M-y 又可以召回再上一次的,因此只要多按幾次 M-y 就可以找到你想要召回的東
          西了。找到了之后,你什么也不用做,把它們晾在那里,繼續你的編輯就行了。

          如果你一次按 M-y 按了很多下,你可能會回到起始點,也就是最近移除的文字。
          【看得出這實際上是一個環。】

          >> 移除一行,移動一下光標,然后再移除另外一行。
             按 C-y 將第二次移除的那行召回來。
             緊接著再按 M-y,它將會被第一次移除的那行取代。
             試著再按幾下 M-y 看看會發生什么。
             再繼續,直到第二行被召回來,然后再做個幾次。
             如果你愿意,你可以試著給 M-y 指定一個正的或負的參數。
          posted @ 2005-11-08 13:54 ivaneeo 閱讀(287) | 評論 (0)編輯 收藏

          僅列出標題
          共67頁: First 上一頁 32 33 34 35 36 37 38 39 40 下一頁 Last 
          主站蜘蛛池模板: 澎湖县| 灵丘县| 独山县| 潞西市| 龙陵县| 安阳市| 正定县| 日喀则市| 佛山市| 隆子县| 乐都县| 佛学| 仙桃市| 方城县| 永靖县| 潞西市| 双柏县| 岳阳市| 洛阳市| 襄城县| 历史| 澄迈县| 铅山县| 象山县| 静海县| 六枝特区| 武城县| 西青区| 伽师县| 灵宝市| 温泉县| 万安县| 汉中市| 朝阳市| 荆门市| 砚山县| 治多县| 乌拉特前旗| 满洲里市| 南岸区| 米易县|