一般的アーキテクチャ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/10 21:16 UTC 版)
文書への文字列挿入などの基本的な編集操作を含むEmacsの機能はほとんど全て、LISPの方言で書かれた関数で行える。GNU Emacsで使われるLISP方言はEmacs Lisp (ELisp) として知られている。ELisp層はCで書かれた基本的なサービスとプラットフォームを抽象化した概念の、安定したコアの頂点に位置している。LISP環境の変数と関数は、Emacsのリコンパイルや再起動をせずとも一時的に修正できる。 Emacsは追加属性を持つテキストを含んだバッファと呼ばれるデータ構造上で動作する。全てのバッファはその固有のポイント(カーソル位置)とマーク(ポイントと併せて、選択されたリージョンを区切るためのもう1つの位置)、(適用可能な場合)バッファが訪問しているファイル名、そして変数で編集や振る舞いを制御する現在のモードのセット(正確には1つの「主モード」[要説明]と複数の「副モード」[要説明]からなる)を保存している。Elispコードはコマンドと名付けられ、インタラクティブに実行できる。コマンドはキープレスにバインドでき、さらに名前でアクセスすることもできる。コマンドの中にはバッファから任意のElispコードを評価するもの(例としてはeval-regionやeval-bufferなど)もある。 バッファはウィンドウ内に表示される。ウィンドウは端末画面やGUIウィンドウのタイリングされた部分である(その部分はEmacs用語でフレームと呼ばれ、複数のフレームが可能)。特に設定されていない場合、ウィンドウにはスクロールバー、行番号、一番上にあるヘッダ行(通常この行にはバッファタイトルやファイル名が表示される)、そして一番下にあるモード行(通常この行には現在のモードとバッファにおけるポイントの位置のリストが表示される)が含まれる。 同じバッファ上で複数ウィンドウを開くことができるため、例えば1つの長いテキストから異なるパートを見ることができる。さらに複数バッファで同じテキストを共有できるので、例えば言語が混在したファイルで異なる主モードを利用することができる。M-x
※この「一般的アーキテクチャ」の解説は、「Emacs」の解説の一部です。
「一般的アーキテクチャ」を含む「Emacs」の記事については、「Emacs」の概要を参照ください。
- 一般的アーキテクチャのページへのリンク