日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Emacs 简介

發布時間:2023/12/31 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Emacs 简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 Emacs是什么?

Emacs是一種功能超強的文本處理程序,或者文本編輯器。作者Richard Stallman(主
頁:http://stallman.org/)。基礎部分是使用C語言編寫的,其他部分是用Emacs Lisp編寫的。深層次的話,C語言構成了emacs的底層,包括Emacs Lisp的解釋器。而Emacs Lisp則是負責了Emacs Lisp的建筑物上層,也就是包括我們平時用的擴展、界面等。

Emacs只是一文本編輯器,這和Windows上的Visual Studio等等不同的是,VS集成的是完整的開發功能,包括編譯器、編輯器、調試器等等。而Emacs只是一個文本編輯器,當然不要因此而是否定Emacs的強大。Emacs可以做的:

  • 收發電子郵件、通過FTP/TRAMP編輯遠程檔案、通過Telnet登錄主機、上新聞組、登陸IRC和朋友交流

  • 查看日歷、撰寫文章大綱
      

  • 對多種編程語言的編輯、調試程序,結合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等
      

  • 玩游戲、計算器、記日記
      

  • 煮咖啡、管理日程,Task,ToDo,約會等、個人信息管理、目錄管理

  • 文件比較、閱讀info和man文檔、瀏覽網站

他確實只是一個文本處理器,你可以將之視為偽編輯器的操作系統。而這是因為其與unix/Linux系統的整合程度而起的,換句說,如果Richard Stallman可以早點開發出內核,而不是等到Linux的話。Linux/Unix的設計思想之一就是:簡單,使用足夠的小程序來支撐起這世界,而是Emacs所做的就是利用這些工具,來打造自己,完成自己的系統。因而,Emacs強大的另一點是,有足夠的擴展,無論是過去的auto-complete或者是現在的Android-mode等等。故而,我們可以在《架構之美》之中看到關于其的介紹,而是他的特性也是如此,滋長的特性是其優勢。

也因些,Emacs是Unix世界的兩大神器之一,另外一個是Vim/Vi。

2 Emacs是什么樣的?

Emacs的設計預想是需要時只需要啟動一次,然后一直運行著。我們可以對窗口進行分割,打開多個文件進行編輯。Emacs的三種基本對象是:幀(frame)、窗口(window)、緩沖區(buffer)。

3 Emacs 的基本概念

3.1 frame

Emacs中的frame就是操作系統中的窗口.

buffer是文件的內存表示, windows則是顯示buffer的區域, 一個frame中可以有多個window, Emacs則可以有多個frame.

3.2 window

窗口. 由于Emacs很早就誕生了, 它的窗口概念和現在基于窗口的操作系統中的窗口概念不是一樣的. Emacs中的窗口是用來顯示buffer的一個區域. 它并不像操作系統中的窗口擁有自己的標題欄,系統菜單欄.

3.3buffer

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

3.4 Emacs Lisp

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

3.5 mode

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

3.6 命令

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

3.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中的快捷鍵按起來非常的方便。

3.8 keymap

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

參考資料
Emacs入門系列:嘗試定制神器
Emacs 入門指引(一) Emacs簡介
Emacs基礎知識簡介

總結

以上是生活随笔為你收集整理的Emacs 简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。