成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Emacs基礎(chǔ)知識簡介

運維 系統(tǒng)運維
學(xué)習(xí)過Emacs對Emacs有點經(jīng)驗用戶都知道, 隨著對Emacs的了解的不斷深入, 越來越覺得Emacs是一款非常值得學(xué)習(xí)的軟件。為了便于Emacs初學(xué)者的學(xué)習(xí),本文介紹了Emacs軟件的基本概念、學(xué)會看Emacs的文檔以及會一些Emacs軟件簡單的配置等內(nèi)容,希望能夠?qū)ψx者有所幫助。

學(xué)習(xí)過Emacs對Emacs有點經(jīng)驗用戶都知道, 隨著對Emacs的了解的不斷深入, 越來越覺得Emacs是一款非常值得學(xué)習(xí)的軟件. 所以有不少用戶向自己的朋友推薦Emacs. 而對于Emacs初學(xué)者來說. 好多初學(xué)者都沒有好好的學(xué)過Emacs, 也有可能是Emacs的資料不是很多, 好資料更少, 他們沒有找到好的學(xué)習(xí)方法吧. 所以, 我想就我所了解的, 寫一些初學(xué)者應(yīng)該知道的東西, 或者說, 初學(xué)者掌握了這些知識和方法后, 學(xué)習(xí)Emacs起來更加容易吧. 另外, 初學(xué)者如果有興趣的話, 可以看看本人另外一篇拙作《Emacs初學(xué)者必看》, 希望能對你們有所幫助.

知道Emacs的基本概念

1.buffer

緩沖區(qū). Emacs并不直接對文件進行操作, 它是把文件加載進buffer, 用戶直接操作buffer, 只有當(dāng)用戶確定把buffer中所做的修改寫人文件時, Emacs才把buffer中的內(nèi)容寫入文件. buffer實際上就是一個內(nèi)存緩沖區(qū), 這和一般編輯器中都一樣, 應(yīng)該很好理解.

2.window

窗口. 由于Emacs很早就誕生了, 它的窗口概念和現(xiàn)在基于窗口的操作系統(tǒng)中的窗口概念不是一樣的. Emacs中的窗口是用來顯示buffer的一個區(qū)域. 它并不像操作系統(tǒng)中的窗口擁有自己的標(biāo)題欄,系統(tǒng)菜單欄.

3.frame

Emacs中的frame就是操作系統(tǒng)中的窗口.

buffer是文件的內(nèi)存表示, windows則是顯示buffer的區(qū)域, 一個frame中可以有多個window, Emacs則可以有多個frame.

4.Emacs Lisp

Emacs最基礎(chǔ)的部分是用c寫的,其他部分都是用Emacs Lisp語言寫的,Emacs Lisp語言是基于lisp語言的. lisp是LISt Processor的縮寫, 即鏈表處理語言, 所以lisp語言的操作都是基于鏈表的, 它的語法也是鏈表結(jié)構(gòu), 鏈表***個元素表示函數(shù)名, 其他元素是參數(shù), 比如通常語言中的a+b, 在lisp就是(+ a b)

5.mode

mode有major mode和minor mode之分, 每個緩沖區(qū)對應(yīng)一個major mode, 也只有一個major mode, 但是可以有多個minor mode. Emacs對每一種文件都有一個mode.

6.命令

你對Emacs所有的操作都是對Emacs的命令的調(diào)用。比如,你在text-mode里,當(dāng)你按下任何字母鍵進行編輯的時候,實際上是調(diào)用的emacs的命令self-insert-command.

7.快捷鍵

Emacs中Control鍵用C表示,Alt鍵用M表示, 即: C-c表示Control C, M-x表示Alt x.

除掉以Alt鍵開頭的,比如Alt a,Emacs中的快捷鍵基本上都有一個前綴,Emacs中最多的快捷鍵前綴就是C-x,C-c,前綴表示,你不必要一起按下前綴和后綴,可以先按下前綴,Emacs會等待你按下剩余的快捷鍵,這樣Emacs中的快捷鍵按起來非常的方便。

8.keymap

鍵盤映射. Emacs的快捷鍵是通過keymap來控制的. 有全局和局部的keymap. 每個mode都會有一個自己的局部的keymap, 局部的keymap會覆蓋全局的keymap, 另外如果對應(yīng)的major mode有開啟的minor mode, 而且這個minor mode有keymap的話, 這個minor mode的keymap會覆蓋major mode的keymap.

學(xué)會看文檔

Emacs的文檔非常豐富, 有Elisp自己的自文檔, 還有更詳細的info. Elisp中的變量, 函數(shù)都有文檔. 對于大多數(shù)情況都夠用了.

1.查看變量的值和文檔

  1. C-h v (describe-variable) 

2.查看函數(shù)的文檔

  1. C-h f (describe-function)  

3.查看face的文檔

  1. M-x describe-face  

4.查看某個mode的文檔

  1. C-h m (describe-mode) 

剛開始學(xué)習(xí)某個mode的時候, 可以用C-h m看看當(dāng)前buffer對應(yīng)的主mode和副mode的文檔, 這個文檔一般都會包括mode中的命令和快捷鍵列表.

5.查看Emacs中某個快捷鍵對應(yīng)的命令

  1. C-h k (describe-key)  

6.查看某個命令對應(yīng)的快捷鍵

  1. C-h w (where-is)  

7.查看當(dāng)前buffer所有的快捷鍵列表

  1. C-h b (describe-bindings)  

8.查看當(dāng)前buffer中以某個快捷鍵序列開頭的快捷鍵列表

<待查看的快捷鍵序列> C-h,比如你想查看當(dāng)前buffer中所有以C-c開頭的快捷鍵列表,按C-c C-h就可以了。

9.查看Emacs函數(shù)的代碼

  1. find-function  

10.查看變量的代碼

  1. find-variable  

11.查看face的代碼

  1. find-face-definition   
  2. M-x apropos 

查看包含某個關(guān)鍵詞的函數(shù),變量,face

會些簡單的配置

1.執(zhí)行Elisp代碼

在某條語句后面按C-x C-e (eval-last-sexp)可以執(zhí)行那條語句

M-x eval-buffer 可以執(zhí)行當(dāng)前buffer內(nèi)的Elisp代碼

選中一個region后, M-x eval-region可以執(zhí)行這個region內(nèi)的代碼

2.安裝插件

Emacs的插件一般都是一個以el為后綴名的文件, 把這個文件下載下來后放到一個目錄, 比如~/emacs/lisps, 然后執(zhí)行下面這兩條語句:

  1. list 'load-path "~/emacs/lisps" 

3.快捷鍵定制

全局綁定global-set-key, 綁定某個mode的快捷鍵用define-key. global-set-key的定義為:

比如想把C-j綁定到”到達指定行上”(goto-line), 這樣就可以了:

  1. (global-set-key (kbd "C-j") 'goto-line) 

kbd是Emacs的宏, 把快捷鍵轉(zhuǎn)換為Emacs的內(nèi)部按鍵表示. 然后執(zhí)行上面那條語句, 就會使你的配置生效. 然后你可以用C-h k檢查一下你的定制是否成功了.

如果對于比較復(fù)雜的快捷鍵, 比如Control x F3, 改怎么寫呢? 按C-h k(describe-key), 然后再按下Control x F3, Emacs會出現(xiàn)一個”C-x “, 這個就是你要寫到kbd宏里面的內(nèi)容.

如果你想對某個特定模式比如c++-mode進行快捷鍵定制, 用define-key即可, 對于上面的例子這樣寫:

 
  1. (define-key c++-mode-map (kbd "C-j") 'goto-line) 

define-key***個參數(shù)map一般為mode后面直接加”-map”

4.簡單的顏色定制

  1. (set-background-color "black") ;; 使用黑色背景  
  2.  
  3. (set-foreground-color "white") ;; 使用白色前景  
  4.  
  5. (set-face-foreground 'region "red")  ;; 區(qū)域前景顏色設(shè)為紅色  
  6.  
  7. (set-face-background 'region "blue") ;; 區(qū)域背景色設(shè)為藍色  

Emacs基礎(chǔ)知識只是先讓大家對Emacs軟件有一個基本了解,這樣在學(xué)習(xí)Emacs時能夠更加容易。而有關(guān)Emacs的知識還有待于大家在底下多搜索一些資源主動去學(xué)習(xí)和掌握,希望本文能夠?qū)Υ蠹矣兴鶐椭?/p>

責(zé)任編輯:韓亞珊 來源: 博客轉(zhuǎn)載
相關(guān)推薦

2010-06-02 13:03:20

MySQL數(shù)據(jù)庫

2011-05-31 13:50:11

路由器CiscoIOS

2011-05-31 13:15:03

路由器CiscoIOS

2011-05-31 13:50:17

CiscoIOS

2011-05-31 13:15:05

路由器IOSCisco

2011-05-31 13:50:14

CiscoIOS

2011-05-31 13:52:22

口令CiscoIOS

2015-05-28 15:16:19

交換機

2014-06-17 16:17:58

Docker 1.0Docker

2023-05-12 16:04:10

2010-07-16 10:53:30

Perl基礎(chǔ)

2009-04-17 14:22:40

XPathXML基礎(chǔ)

2009-09-23 11:07:11

Hibernate基礎(chǔ)

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2009-04-10 09:35:00

WCDMA基礎(chǔ)無線網(wǎng)絡(luò)

2010-07-16 11:22:31

Perl

2011-03-29 14:11:20

Cacti基礎(chǔ)知識

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型

2014-08-20 10:15:45

2010-08-16 09:42:23

無線局域網(wǎng)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品国产精品国自产在线 | 野狼在线社区2017入口 | 国产毛片视频 | 日韩精品一区二区三区免费视频 | 二区成人| 一区二区三区四区av | av黄色免费| 欧美在线播放一区 | 国产精品国产精品国产专区不卡 | 一区天堂| 一区二区三区四区在线播放 | 国产成人精品免费视频大全最热 | 大久 | 亚洲综合色视频在线观看 | 国产成人精品一区二区三区网站观看 | 天天看逼 | 国产精品婷婷 | 久久性| 99国产精品99久久久久久 | 999久久久久久久久 国产欧美在线观看 | 成人免费在线视频 | 性一交一乱一伦视频免费观看 | 成人精品免费 | www.887色视频免费 | 国产精品成人品 | 成人国产精品一级毛片视频毛片 | 亚洲午夜在线 | aaaaaa大片免费看最大的 | 黑人精品 | 久久久高清 | 精品亚洲一区二区 | 国产成人精品一区二区三区四区 | 中文字幕亚洲一区二区三区 | 国产中文字幕在线 | 国产精品免费观看 | 天天综合干 | 国产精品一二三区 | 色www精品视频在线观看 | 欧美一区二区三区久久精品视 | 国产精品一二三区 | 亚洲综合三区 |