emacs的簡單使用和配置

emacs的使用

Ted posted @ 2008年9月16日 22:35 in emacs with tags emacs , 5455 閱讀html

1、emacs編輯器簡介

     emacs編輯器是由C語言和LISP語言編寫的。LISP(鏈表處理語言)是由約翰·麥卡錫在1960年左右創造的一種基於λ演算的函數式編程語言。 咱們可使用LISP來擴展emacs,從而爲emacs添加更多的命令。(補:emacs -nw:以命令行的方式來運行emacs,而不啓動GUI界面)git



* 自動保存功能

      若是你已經修改了一個文件,可是還沒來得及存盤你的計算機就罷工了,那麼你所作的修改就極可能會丟失。爲了不這樣的不幸發生,Emacs 會按期將正在編輯的文件寫入一個「自動保存」文件中。自動保存文件的文件名的頭尾各有一個「#」字符,好比你正在編輯的文件叫「hello.c」,那麼它 的自動保存文件就叫「#hello.c#」。這個文件會在正常存盤以後被 Emacs 刪除。
      因此,假如不幸真的發生了,你大能夠從容地打開原來的文件(注意不是自動保存文件)而後輸入 M-x recover file<Return> 來恢復你的自動保存文件。在提示確認的時候,輸入 yes<Return>。github


* 其餘shell

  1. 當emacs失去響應時,C-g命令可用來結束紙條命令的執行。其功能至關於Shell中的Ctrl+C編程

  2. 有一些 Emacs 命令被「禁用」了,以免初學者在不瞭解其確切功能的狀況下誤用而形成麻煩。若是你用到了一個被禁用的命令,Emacs 會顯示一個提示消息,告訴你這個命令究竟是幹什麼的,詢問你是否要繼續,並在獲得你的確定以後再執行這命令ubuntu



2、emacs編輯器的界面

1. 編輯區
    用來進行文本編輯的區域。c#


2. 回顯區

      若是 Emacs 發現你輸入多字符命令的節奏很慢,它會在窗格的下方稱爲「回顯區」的地方給你提示。回顯區位於屏幕的最下面一行。windows



3. 狀態欄網絡

  1. 位於回顯區正上方的一行被稱爲「狀態欄」。狀態欄最開頭的星號(*)表示你已經對文字作過改動。剛剛打開的文件確定沒有被改動過,因此狀態欄上顯示的不是星號而是短線(-)。編程語言

  2. 狀態欄中的小括號用來指明當前使用的編輯模式,默認是fundamental(主模式),emacs的主模式包括了文本模式以及編輯程序源碼的Lisp模式等。



3、emacs所能提供的工做環境

  1. emacs能夠執行Shell命令

  2. emacs能夠做爲Directory Editor(Dired)

  3. emacs能夠編輯、編譯以及調試程序

  4. emacs能夠編輯其它主機上的文檔

  5. emacs能夠打印文件

  6. emacs具備年曆(Calendar)以及日記功能

  7. emacs能夠用來閱讀man page和info文檔

  8. emacs能夠收發電子郵件

  9. emacs能夠閱讀網絡上的電子布告欄(GNUS)

  10. emacs具備版本控制的功能(CVS)

  11. emacs能夠提供娛樂環境(遊戲功能)

    emacs所提供的這些功能,都是先喚起表明此功能的模式(mode)。emacs的模式,分紅主要模式(major mode)與次要模式(minor mode)。每一次只能使用一個主模式,並且主模式是必需要的。在一個主模式下,俄能夠搭配一個以上的次要模式。使用次要模式至關於啓用了該次要模式所對應的插件。



4、emacs命令

  1. emacs中的每個命令都有一個命令名,命令名就是該命令所對應的LISP函數的函數名。在emacs中,咱們能夠爲這些命令配置快捷鍵,從而達到快速調用命令的目的。

  2. .使用emacs來執行命令的方法有兩種:(1).使用Ctrl鍵 (2).使用Meta鍵。全部emacs命令均可以用Meta鍵表示出來,鍵盤上若是沒有Meta鍵,則能夠用Alt鍵或ESC鍵來代替。經常使用的emacs命令一般會有一個快捷鍵與之相連。快捷鍵一般是以Ctrl來開頭(C-x C-c)。若是要使用Meta鍵來表達與「Ctrl-x Ctrl-c」相同的效果,則使用「M-x save-buffers-kill-emacs」。使用Meta鍵,能夠利用emacs的completion功能。使用emacs的completion功能的方法是將部分字符串鍵入後,再按下TAB、SPACE或?鍵便可。
       (1).TAB鍵:儘量將其的字填滿。
       (2).SPACE鍵:將分隔符(-)以前的字填滿。
       (3).?:將全部可能的completion選擇都列出來。

  3. 因爲emacs中全部的命令都有一個命令名(LISP函數的函數名),所以,咱們可使用「M-x 命令名」來調用emacs中的全部的命令。


* 基本光標控制

  1. C-v:向下翻屏,與PageDown效果相同(v-> vertical)

  2. M-v:向上翻屏,與PageUp效果相同

  3. C-l:重繪屏幕,並將光標所在行置於屏幕的中央

  4. C-b:光標向前移動一格(b->backward)

  5. C-f:光標向後移動一格(f->forward)

  6. C-p:光標向前移動一行(p->previous)

  7. C-n:光標向後移動一行(n->next)

  8. M-b:光標向前移動一個單詞

  9. M-f:光標向後移動一個單詞

  10. C-a:光標移動到行首

  11. C-e:光標移動到行尾

  12. M-<:光標移動到文章的開頭(注意:「<」的輸入要shift鍵,實際爲Alt+Shift+<)

  13. M->:光標移動到文章的結尾

  14. C-u:給命令傳遞參數。例如:「C-u 2 C-d」表示刪除兩個字符

  15. M-x goto-line n RET:調到第n行


* 編輯命令

  1. C-d:刪除光標後的一個字符

  2. C-k:刪除從光標到行尾的字符(k->killl)

  3. C-x u:Undo(想要redo,隨便輸入一個字符,在Undo)

  4. C-SPC、C-@、M-x set-mark-command:設置mark

  5. C-x h:將整個緩衝區設置爲區域

  6. C-w:將區域的文本刪除,並放入yanking ring中。區域指的是從mark到point(光標所處的位置稱爲point)之間的文本

  7. M-w:複製區域到yanking ring中

  8. C-y:將yanking ring中最後一個區域插入當前緩衝區

  9. M-j:回車而且到下一行產生適當的縮進

  10. M-m:將光標移動到當前行的第一個非空白字符上

  11. M-;:產生通用註釋

  12. M-x comment-region:把塊註釋掉

  13. M-x kill-comment:消除註釋


* 查找與替換

  1. C-s:向後搜索,光標將停在第一個匹配的字符串處。再按一次C-s將繼續搜索下一個匹配的字符串。若是要中止搜索,則使用C-g,此時光標將會回到搜索開始的位置

  2. C-r:向前搜索

  3. M-x replace-string:替換


* 文件操做

  1. C-x c-f:打開文件,若是文件不存在則建立

  2. C-x C-s:保存文件。第一次存盤時,emacs會將文件重命名來備份。重命令的規則一般是在原文件名後加上一個「~」字符。若是要關閉emacs的自動備份功能,使用 M-x customize-variable <Return> make-backup-files <Return>

  3. C-x C-w:將文件「另存爲」

  4. C-x C-v:打開一個新文件,並關閉當前緩衝區

  5. C-x C-r:以只讀的方式打開文件

  6. C-x i:將文件插入光標當前位置


* 緩衝區

  1. Emacs 把每一個編輯中的文件都放在一個稱爲「緩衝區(buffer)」的地方。每打開一個文件,Emacs 就在其內部開闢一個緩衝區用來保存打開的文件的數據。ESC ESC ESC命令能夠用來退出打開的小緩衝區,好比:命令提示窗格等

  2. C-x C-b   列出當前全部的緩衝區(b->buffer)

  3. C-x b 緩衝區名:切換到指定的緩衝區(例如:C-x b M<tab>:切換到以M開頭的緩衝區)

  4. C-x s:保存emacs中全部的緩衝區(s->save)

  5. C-x right:切換到下一個緩衝區

  6. C-x left:切換到前一個緩衝區

  7. C-x C-c:退出emacs,並詢問用戶是否保存

  8. C-x k:關閉緩衝區

  9. C-z:將emacs掛起,而後回到Shell中,並不退出emacs。以後,咱們可使用%emacs或fg命令來回到emacs



* 窗口

Emacs 能夠有多個窗格,每一個窗格顯示不一樣的文字。

  1. C-x 0:關閉光標所在的窗口

  2. C-x 1:保留光標所在的窗格,並將其擴大到整個屏幕,同時關掉全部其它的窗格

  3. C-x 2:水平分割當前窗口

  4. C-x 3:垂直分割當前窗口

  5. C-x o:在emacs的窗格中進行切換(o->other)

  6. C-M-v:滾動下方的窗格。通常在咱們使用下方的窗格進行參考,而又不想將光標切換到下一個窗格時使用



* 使用幫助

  1. C-h c 快捷鍵:顯示快捷鍵的簡要說明

  2. C-h k 快捷鍵:顯示快捷鍵所對應的命令名及其詳細說明

  3. C-h a 關鍵字:顯示包含有指定關鍵字的命令

  4. C-h i:查看Info文檔



* 在emacs中運行shell命令

  1. M-! cmd RET:打開一個名爲「*Shell Command Output*「的窗口,並把該命令的執行結果顯示在其中。按下」C-x 1「組合鍵能夠關閉這個窗口。因爲Shell命令的輸出是在一個編輯緩衝區裏,所以咱們能夠對它進行編輯、保存等操做。

  2. M-| cmd RET:運行Shell命令,並使用編輯窗口中選定的區域做爲該Shell命令的輸入,而後能夠選擇是否用該Shell命令的輸出來替換編輯窗口中選中的區域。

  3. C-u M-! cmd RET:執行一條Shell命令,並將其輸出放到編輯區中光標所在的位置處,而不將其輸出到」Shell Command Output「窗口。

  4. M-x shell:運行一個子Shell,該子Shell對應於emacs中的一個名爲」*Shell*"的緩衝區,此後,咱們就能夠交互式的運行Shell命令了。

  5. M-x term:運行一個子Shell,該子Shell對應於emacs中的一個名爲「*Terminal*」的緩衝區。使用該命令得到的子Shell是一個完整的Shell的模擬,與咱們直接在Shell中操做沒有什麼差異。

  6. M-x eshell:運行emacs shell。該Shell爲emacs本身實現的一個shell,而前面運行的shell都爲系統中的shell程序(例如:/bin/csh等)。咱們能夠經過設置變量shell-file-name來設置emacs所使用的默認shell


* Dired功能

  1. emacs的Dired(Directory Editor)功能使emacs緩衝區可以用來顯示目錄列表,並能夠用來進入目錄的子目錄。Dired緩衝區是隻讀的,不可以被修改。

  2. C-x d:進入Dired



* emacs配置文件

    emacs配置文件一般位於計算機的 $HOME 目錄,若是是 MS Windows (Windows 2000, Windows XP以上),默認是 c:\Documents and Settings\username\Application Data\,這個適用於 Emacs22 以上的版本。Emacs21 默認的 $HOME 目錄在 C:\ 。固然也能夠經過環境變量 $HOME 從新設置,總之在比較大衆化的操做系統中,你均可以經過C-x C-f ~/.emacs 來編輯您的個性化配置文件。

;;顯示時間

(display-time)

;;顯示行號

(column-number-mode t)

(show-paren-mode t)

;;設置TAB寬度爲4

(setq default-tab-width 4) 

;;如下設置縮進 

(setq c-indent-level 4)

(setq c-continued-statement-offset 4)

(setq c-brace-offset -4)

(setq c-argdecl-indent 4)

(setq c-label-offset -4)

(setq c-basic-offset 4)

(global-set-key "\C-m" 'reindent-then-newline-and-indent)

(setq indent-tabs-mode nil)

(setq standard-indent 4)

;;開啓語法高亮。

(global-font-lock-mode 1) 

;;設置默認工做目錄

(setq default-directory "/home/test/source/") 

;; 去掉滾動條

(set-scroll-bar-mode nil)

;;關閉開啓畫面

(setq inhibit-startup-message t) 

(setq indent-tabs-mode t)

;;不產生備份文件

(setq make-backup-files nil) 

;;設置自定義變量

(custom-set-variables

'(column-number-mode t)

'(current-language-environment "UTF-8")

'(display-time-mode t)

'(ecb-options-version "2.32")

'(mouse-1-click-in-non-selected-windows t)

'(mouse-drag-copy-region t)

'(mouse-yank-at-point t)

'(save-place t nil (saveplace))

'(show-paren-mode t)

'(transient-mark-mode t))

(custom-set-faces

;;選擇小工具欄圖標

(tool-bar-mode -1)



///////////////////////////////////////

 另外附上  emacs lisp的簡明教程, 水木清華出品,,嘖嘖

http://smacs.github.io/elisp/


////////////////////////////////////////

原本使用emacs主要是做爲在ubuntu或者debian下的c 學習工具, 找到一個簡單好用的emacs配置的插件,

http://emacs-ide.tuxfamily.org

Emacs-IDE


安裝到emacs中也很簡單

  • 點擊下載到本機 : eide-2.1.0.tar

  • 進入到emacs中而且運行命令:

    M-x package-install-file RET eide-2.1.0.tar

  • 在您的 ~/.emacs文件中添加以下2行

    (package-initialize)
    (eide-start)

  • 重啓emacs就能夠了

////////////////////////////////////////

另一個比較好的emacs作C的IDE的教程

http://tuhdo.github.io/c-ide.html以及配置

相關文章
相關標籤/搜索