emacs linux 教程,Emacs基础入门教程(三)使用 Emacs 必知必会
首先我們應該知道的是,
所謂 Buffer,就是文件在內存中的表示。因為 Emacs 并不直接對文件進行操作,而是把它加載到 Buffer 中供用戶操作。只有當用戶確定要把在 Buffer 中所作的修改寫入文件時,即執行“save-buffer”命令時,Emacs 才把 Buffer 中的內容寫入文件。
所謂 Window,就是 Buffer 的顯示區域,或者說 View。可見 Emacs 也是按照Document/View 模式設計的。之所以叫 Window 而不叫 View,是因為 Emacs 誕生的很早,它的窗口概念和現代的基于窗口的操作系統中的窗口概念不是一樣的。而在那個年月能有Window 這樣的概念已經是相當先進了,而且更讓你吃驚的是,Emacs 居然支持多窗口。
Frame 就是 Emacs 在操作系統中的實際窗口了。一個 Frame 中可以包含多個 Window,每個 Window 顯示一個 Buffer 的內容。而 Emacs 還可以擁有多個 Frame。
Emacs 最基礎的部分是用 C 寫的,這個最基礎的部分就是一個 Emas Lisp 語言的解釋引擎,而其它部分就都是使用 Emacs Lisp 語言寫的了。所以 Emacs Lisp 語言就是另外一個必須要知道了。Emacs Lisp 語言是基于 Lisp 語言的。Lisp 是 LISt Processor 的縮寫,即列表處理語言。Lisp 語言的語法是由一個一個的表構成的,因此而得名。
Emacs 為了能夠處理不同的文檔,設計了 mode 機制。mode 與普通編輯器中的“代碼加亮”有些類似,有 major mode 和 minor mode 之分。每一個 buffer 對應一個 major mode,有且只能有一個 major mode,但是可以有多個 minor mode。Emacs 對每一種文件都有一個mode。比如:“*.c”文件有 c-mode、“*.cpp”文件有 c++mode、“*.java”文件有 java-mode……
通過前面的介紹,我們已經了解到 Emacs 的快捷鍵非常復雜,所以為了簡化描述,大多數資料甚至 Emacs 的官方文檔都會使用一些慣用表示法。Ctrl 鍵統一使用 C 表示,Alt 鍵用 M 表示。比如退出 Emacs 的 Ctrl+x Ctrl+c,可以使用 C-x C-c 來表示;執行命令的 Alt+x,可以使用 M-x 表示。對于 Alt 鍵,有一些系統的配置會有別的定義,這個時候可以使用“ESC”鍵來代替。但是使用“ESC”并不要求按住不放,而是按一下即可,之后再單獨按具體的后綴按鍵就能實現功能。所以我們在前面表述的時候會使用“Alt+x 或 Esc x”已表示區別。除了一些最常用的,如:移動光標、復制粘貼這樣的功能之外,Emacs 的大多數快捷鍵都是有一個前綴的,而最多的前綴就是 C-x 和 C-c。前綴表示你不必要一起按下前綴和后綴,可以先按下前綴,Emacs 會等待你按下剩余的快捷鍵,如果改變了主意,按“C-g”即可取消掉。這樣,Emacs 中的快捷鍵按起來還是很方便的。
其實 Emacs 的快捷鍵是由 Keymap 來控制的,有全局和局部之分。每一個 mode 都會有一個自己的局部 Keymap,局部的 Keymap 會覆蓋全局的 Keymap。更進一步,如果對應的major mode 有開啟的 minor mode,而這個 minor mode 又恰巧定義了 Keymap 的話,這個 minor mode 的 Keymap 會覆蓋 major mode 的 Keymap。可見,Emacs 利用 mode 機制可以實現對不同類型文檔的細微差異化處理,顯然功能可以無線放大并能恰到好處啊。
學習 Emacs 最好的辦法就是逼迫自己去使用它,而且你不用因為買不到合適的 Emacs教材而發愁。因為 Emacs 附帶了十分強大的聯機幫助。最常用的就是《Emacs 快速指南》和《Emacs Manual》。前者擁有多種語言的支持,而且包括簡體中文,使用“C-h t”即可打開。后者是最權威的 Emacs 參考資料,記錄了 Emacs 的方方面面,適用于使用 Emacs 的任何用戶,使用“C-h r”即可打開。除了這些文檔之外,Emacs 還提供很多便捷的幫助信息,比如:“C-h f”可以查看?個命令的文檔、“C-h k”可以查看?個快捷鍵對應的命令,而“C-h w”則可以查看某個命令具體綁定到了那個快捷鍵上。對于學習 Emacs 很有幫助的快捷鍵和命令見所描述的內容。
emacs 獲取幫助的命令和快捷鍵
序號
命令
快捷鍵
功能
1
describe-variable
C-h v
查看某個內置 Lisp 變量的說明文檔。
2
describe-function
C-h f
查看某個內置命令的說明文檔。
3
describe-mode
C-h m
查看當前 buffer 對應的 mode 的說明文檔。
4
describe-key
C-h k
查看某個快捷鍵對應的命令。
5
where-is
C-h w
查看某個命令綁定的快捷鍵。
6
describe-bindings C-h b
查看當前 buffer 所有的快捷鍵列表。
7
find-function
無
查看某個內置命令的 Lisp 源代碼。
8
find-variable
無
查看某個內置變量的 Lisp 源代碼。
9
apropos
無
模糊查詢內置命令或變量的說明文檔。
此外,若想查看某個快捷鍵的前綴都有那些后綴,可以使用“ C-h”來查看。比
如“C-c C-h”可以列出所以以“C-c”為前綴的快捷鍵。
原創文章,作者:犀牛前端部落,如若轉載,請注明出處:https://www.pipipi.net/898.html
總結
以上是生活随笔為你收集整理的emacs linux 教程,Emacs基础入门教程(三)使用 Emacs 必知必会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 山西万荣盛装迎新春 首届群众文化艺术节启
- 下一篇: linux内核不识别分区,ubuntu1