Emacs入門指南(3)

來源:互聯網
上載者:User

  通過前兩篇文章的學習,您已經可以把Emacs當作一個Better-Notepad來使用了。今天我們要學習的是Emacs中強大的搜尋功能。
  預設情況下,Emacs採用了一種很待殊的"增量搜尋"的功能,雖然它與我們常用的搜尋方法在操作習慣上有很大的不同,但習慣後確實是十分的方便。
  要讓Emacs開始執行搜尋,可以按C-s或C-r,前者是從游標位置往後尋找,後者則是往前尋找。我們以C-s為例。按動C-s後,Emacs在Minibuffer中提示: I-Search:,這時您便可以輸入要搜尋的關鍵字了,現在學習實驗的階段建議您輸入時手腳慢一點,看看Emacs是如何來執行您的搜尋請求的。
  比如,要搜尋“search”一詞,您輸入s,這時Emacs會把游標移動到最近一個s字母上,這裡如果您暫停輸入一會兒,Emacs就會把所有的s字母進行高亮。您繼續輸入e,這時Emacs就找到了最近的se字母組合。一直輸入下去,直到Emacs找到您要找的內容,這時按斷行符號鍵即可結束尋找。
  在尋找過程中,您可以反覆按動C-s或C-r來執行向後或向前的尋找。如果您已經找到一了一個匹配的內容,並且按了斷行符號鍵結束了尋找,這時如要繼續尋找這個內容,您只需按兩次C-s或C-r即可,第一次按動用於啟用尋找功能,而第二次按動則表示要繼續尋找。
  在輸入尋找關鍵字時,如果不小心輸錯了,可以按動<DEL>鍵來清除前一個字元,請注意,在Emacs術語中,<DEL>鍵是指我們通常所說的<BackSpace>鍵,而<DELETE>鍵才表示我們鍵盤上的<Delete>或<Del>鍵。
  輸入關鍵詞時也有一個細節的問題,如果您輸入的關鍵字全部是英文小字母,則Emacs會進行不區分大小寫尋找。但如果輸入的關鍵字中包含有大寫字母,Emacs就會進行區分大小寫尋找。另外在尋找的過程中,可以通過M-c快速鍵來切換區分大小字模式,可以用它來強行指定是否區分大小寫。
  如果不想用Emacs的增量搜尋功能,也可以讓Emacs進行傳統的搜尋,在按下C-s或C-r後,直接打一個斷行符號鍵,這時Emacs就將進行非增量搜尋,您可以輸入你的關鍵字,再按斷行符號鍵來執行搜尋。
  下面要介紹的是更為強大的Regex搜尋功能。您可以通過按動C-M-s或C-M-r來啟動正向或反向的Regex搜尋功能,Emacs會在Minibuffer中提示Regexp I-search:,這時您便可以輸入正要匹配的Regex了。
  在Regex中可以使用很多的控制符號,這裡我挑選幾個常用的作一個簡單的介紹,更全面複雜的解釋可以在Emacs的手冊中查到。
  '.' (句號): Regex的中句號可以用於匹配一個任意的字元。比如正則式'a.b'就可以匹配abb,acb,adb。。。等等以a開頭以b結尾的三個字元的字串。
  '*': Regex中的*號可以用於表示把它前面的字元重複0次或多次。比如'ff*'可以匹配一個或多個相連的f的字串。
  '+': Regex中的+號與*號的作用基本相同,區別在於它表示把它前面的字元重複1次或多次,所以可知正則式'ff*'等價與'f+'。
  Emacs的Regex文法十分複雜與強大,請您閱讀Emacs手冊來對它們進行全面的學習,一定會給您的工作帶來巨大的便捷,作為一篇入門教程,這裡我就不再作更全面的敘述了。

-----------

  附註,我要被這篇文章整死了,先是怎麼也貼不上文章,系統非說我的文章中出現禁止的詞語,不予接受,好不容易查出來了,是文末的“巨大(的)便捷”這個詞搞鬼,我一開始沒寫那“的”字。
  好不容易貼上了,得,<DELETE>這個詞給我變成刪除線了,要知道我可是已經把大於小於符號改成相應的HTML編碼了,沒辦法呀,又改了一次,這篇文章真是貼了不知多少遍才貼上呀。太辛苦了!

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.