歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

Emacs入門

日期:2017/2/27 9:22:47   编辑:更多Linux
  Emacs本質上是個相當難用的程序.甚至很少有人能知道如何從Emacs退出, 更別說怎麼使用了.在這篇文章裡我不准備介紹設置emacs的方法,因為那是一項 我也沒能掌握的高超技術. 我假設你已經安裝了emacs.在命令提示符下,鍵入: emacs Emacs將啟動並出現scratch緩沖區,scratch緩沖區僅僅用於寫入一些不打算 保存的東西.所以我們必須在啟動emacs時從命令行給它一個文件名.要做到這一點, 我竅紉順鰁macs(當然也可以按C-x C-f,再輸入文件名,創建一個與文件相關聯 的緩沖區).按C-xC-c(按住CTRL鍵,然後按x接著按c),就可以退出了.現在,我們啟 動 emacs並帶一個文件名: emacs bork.txt 屏幕看起來是這個樣子: Buffers Files Tools Edit Search Mule Help ----:---F1 bork.txt (Text)--L1--All----------------------------------- (New file) 現在來看看位於底部的狀態欄.它顯示了我們要處理的文件名,告訴我們使用 的是Text模式(關於emacs的模式後面有更多的介紹),現在位於第恍?並且整個文件 都被顯示了.下面的例子是我屏幕上的狀態欄,看看當編輯一個有內容的文件時是 什麼樣子: ----:**-F1 emacs.Html(HTML)--L59--70%---------------------------------- 兩個*號表示,自從我上次保存,文件已被改動過了;我編輯的文件叫 emacs.html,emacs在使用其HTML模式;光標位於59行,目前位置是文件總長的 70%. 現在向空文件bork.txt輸入一些文字,注意**號及行數.現在保存你的大作!按 C-xC-s(就是按下CTRL,然後按x接著按s).這時底部會出現 Wrote /home/paul/bork.txt 你已經保存了你的作品!我們退出emacs並在重新啟動它時帶上我們的文本文件 名.你可以確認文件已經被保存.以上就是你和emacs打交道所需的最基本知識,現在 繼續前進... -------------------------------------------------------------------------------- 一些特殊模式 Emacs帶有一個內建的LISP語言解釋器,所以可以通過對emacs編程完成各種各 樣的任務.這使它能恰當地處理HTML,SGML,shell腳本,C代碼,texinfo和TeX源文件, 等等.對一個可編程計算器常做的事情就是為它們寫游戲,這也差不多就是對一個像 emacs這樣的可編程文本編輯器所要做的.emacs有一個LISP版的Eliza,這是一個經典 的仿人工智能程序.在這裡它被設計成一個心矸治黾?我們以下的內容需要一點小技 巧,因為運行這些模式的標准鍵叫"Meta"鍵.PC沒有專門的Meta鍵,所以通常被映射到 某一個ALT鍵或CTRL鍵.(按一下ESC鍵也會起到M-的作用,在我的機器上X下的emacs把 win95鍵映射成了Meta--譯者注).按M-x,先試試左右ALT鍵,然後試試左右 CTRL鍵,當 你按了正確的鍵時,底部顯示欄將出現M-x,後面是光標.現在鍵入doctor ,按enter. 你的屏幕上將出現如下文字: I am the psychotherapist. Please, describe your problems. Each time you are finished talking, type RET twice. 接下去你可以和醫生聊一會兒.還是挺有趣的... 這麼快就回來了?確實,聊上一段時間就會覺得乏味...既然你已經回來了,我們 將寫一些C代碼,來看看使用emacs的好處.我想讓你啟動emacs,編輯~/.emacs文件. 在這個文件裡寫入下面內容: (add-hook 'c-mode-common-hook '(lambda () (c-toggle-auto-state 1))) 第一眼看上去似乎不知所雲.這實際就是LISP代碼.看到它們你就會明白為什麼


有人嘲笑地說LISP的意思就是"許多惱人的,多余的括號"(Lots of Irritating Superfluous Parentheses. ).幸運的是你現在還不必學習 LISP,盡管要對emacs做 大量設置工作時你必須要學(上面這幾行的意思也很簡單,當emacs切換到C模式時, 將執行c-mode-common-hook這個hook變量所規定要執行的一系列函數,add-hook把一 個新函數加入這個hook,這樣當emacs使用C模式時,執行(c-toggle-auto-state 1), 能在你輸入程序時,把換行符自動插在括號,分號,冒號等特殊字符的後面.Emacs在 編輯以.c結尾的文件時會自動使用C模式,也可以肕-x加模式名切換到指定模式--譯 者注).保存這個文件,然後啟動emacs編輯一個叫 foo.c的文件 輸入以下內容: #include <stdio.h> main(){printf("\nHello.\n");} 和在這裡看到的不太一樣,對嗎?注意一下emacs是如何自動地在合適的位置縮進 編排代碼,並且提醒你括號的匹配.如果你不用C編程,你將體會不到這有多棒(進入C模 式後,按C-h 再按m,將出現對當前模式的描述和一系列有用的快捷鍵.您 可以發現按 C-c C-a同樣可以啟動c-toggle-auto-state,其標志就是在狀態欄中出現 (C/a)--譯 者注).相信我,如果你需要寫大量代碼,它正是你想要的! Emacs為HTML,SGML,甚至純文本都有類似的相應模式.它可以讀e-mail,news,浏覽 web.Emacs包羅萬象,各種工具一應俱全.閱讀一下文檔,使用它,逐漸地emacs就會在你 手中發揮出它的全部威力. 更多的信息: 按C-h t,閱讀emacs自帶的聯機教程 按C-h i,閱讀info文件 按C-h F,看看emacs的FAQ



按C-h F,看看emacs的FAQ



Copyright © Linux教程網 All Rights Reserved