11

EMACS を使い始めたばかりですが、すばらしいです。

それで、この質問がありました。ウィンドウとフレームの違いは何ですか?

私の理解は次のとおりです。

  1. 「q」を押すと、ウィンドウではなくフレームを終了できます。
  2. フレームは一連のウィンドウで構成されています
  3. フレームには、すべてのバッファのサブセットが含まれます。
  4. フレームはプロジェクトの概念に似ていますが、ウィンドウは各ファイルの概念です。

フレーム間をジャンプしようとすると、まだすべてのバッファが表示されるため、3 と 4 は正しくないようです。

私の理解は正しいですか?または私は正しい方法でそれをしていませんか?

バッファーを異なるプロジェクトに編成する EMACS 用のプロジェクトのような関数があるので、バッファー間をジャンプすると、そのプロジェクトにローカライズされたバッファーのみが表示されますか?

フレームとウィンドウに関連する EMAC でのプロジェクトの概念について、誰かもっと話してもらえますか?

4

1 に答える 1

20

これは少し紛らわしいですが、それはすべて歴史によるものです。Emacs は、GUI が普及する前のテキスト端末の時代に最初に作成されました。あなたが持っていたのは、通常約 80 列 x 24 行の等幅テキストの行だけでした。Emacs には画面を複数のウィンドウに分割する機能があったため、一度に複数のファイルを表示できました。

その後、グラフィカル端末と GUI が登場し、「ウィンドウ」は GUI の多様性を意味するようになりました。しかし、Emacs には、分割画面タイプのウィンドウを扱う、名前に「window」を含む関数と変数が多数ありました。これらの関数の名前を変更すると、それらを使用するすべての Emacs Lisp コードが壊れてしまいます。したがって、Emacs が GUI インターフェースを獲得したとき、その設計者は、「GUI ウィンドウ」を意味する新しい用語を考え出す方が簡単であり、「古いスタイルの Emacs ウィンドウ」を意味する「ウィンドウ」を維持することを決定しました。彼らが思いついた新しい用語は「フレーム」でした (フレームはウィンドウを囲むものだからです)。

したがって、Emacs が「フレーム」について話すとき、それは他のプログラムが「ウィンドウ」と呼ぶのと同じことを意味します。Emacs では、フレームは基本的に、必要に応じてサイズを変更できる端末エミュレーターです。各フレームは、テキスト端末で実行されている Emacs とほとんど同じように機能します。フレームには、1 つまたは複数の古いスタイルの Emacs ウィンドウを含めることができます。

ただし、単一の Emacs プロセスのすべてのフレームはリンクされています。任意のバッファを任意のフレームの任意のウィンドウに表示でき、同じバッファを複数のウィンドウやフレームに同時に表示できます。

詳細については、Emacs マニュアルの "Frames" の章を参照してください。

したがって、(3) は正しくありません。すべてのバッファがすべてのフレームで利用可能です。(4) も正しくありません。使用するフレームやウィンドウの数は自由です。個人的には、通常は 1 フレームに 1 つまたは 2 つのウィンドウを使用します。1 つまたは 2 つの他のファイルで作業しているときに、1 つのファイルを表示するスペースを増やしたい場合は、2 番目のフレームを使用することがあります。

于 2012-04-25T05:37:24.783 に答える