ivaneeo's blog

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

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

          常用鏈接

          留言簿(34)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          你可以用 <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 on 2005-11-08 13:54 ivaneeo 閱讀(288) 評論(0)  編輯  收藏 所屬分類: emacs-牛露鋒芒
          主站蜘蛛池模板: 香港| 苍溪县| 静宁县| 巩义市| 弥渡县| 大庆市| 昭通市| 固安县| 九江市| 仙桃市| 宁蒗| 莎车县| 孝义市| 吉林市| 道真| 宣汉县| 通许县| 柘荣县| 元氏县| 布拖县| 阳新县| 文登市| 七台河市| 久治县| 荆州市| 北川| 凤冈县| 广灵县| 德兴市| 奇台县| 怀集县| 永清县| 上犹县| 儋州市| 陇南市| 永年县| 中阳县| 汾阳市| 综艺| 辽宁省| 云南省|