12

私の質問は理にかなっていますか?Vim または Emacs のいずれかを使用すると、インターフェースが、バッファー内で編集しているファイルの状態のコード表現を公開することを理解するようになります。ファイルは、バッファーを埋めたり、バッファーに書き込んだりできるディスク上のストレージです。プログラマーが知っているこれらすべてのことですが、テキストを編集するだけで、なぜそれが公開されるのでしょうか? 最近のエディタは、「ここにファイルがあります。編集してください」と言うだけです。

はい、技術的な意味は理解していますが、それは私の質問ではありません。これは、それを行うのが良いかどうかの問題ではありません。Vim と Emacs は、今日一般的に使用されている 2 つの最も古いエディターであり、この動作を共有しています。私は同じことをする新しいエディタを知らない。編集者がこれをやめたのはいつですか、またその理由は?

4

7 に答える 7

30

まず第一に、Emacs はどのファイルにも関連付けられていない大量のバッファーを使用します。ディレクトリを開く、メールを読む、ターミナルを開く、プログラムをコンパイルする、インタラクティブな Python セッションを開始する、またはデータベースに接続するたびに、バッファが取得されます。したがって、Emacs の基本的な作業単位はファイルではなくバッファーであり、同じ論理が Vim にも当てはまります。

すべての画面、ウィンドウ、またはタブがファイルを直接表しているため、ファイルを編集するだけの新しいアプリケーションは区別されません。その点では、Emacs や Vim などのより有能なアプリケーションはより柔軟です。

于 2008-10-12T14:44:46.683 に答える
11

OK、これが私の奇妙な哲学的な答えです:

エディター内のバッファーと作業中の実際の具体的なものとの間の遅延バインディングにより、編集環境の柔軟性とパワーが向上するためです

これは時代遅れだと思いますか?アイデアが猛烈に戻ってきた場所の 1 つは、タブと Web ページが 1 対 1 で対応していないブラウザです。代わりに、各タブ内で複数のページ間を前後に移動できます。各ページに独自の内部ウィンドウがある Web への MDI タイプのインターフェイスを作成しようとする人は誰もいません。使用するのは非常に面倒です。スケールしません。

個人的には、最近の IDE は複雑になりすぎていると思います。その理由の 1 つは、ドキュメントとバッファー間の静的バインディングです。ブラウザのようなタブ付きバッファモデルに移行するにつれて、ある時点でブレークスルーが起こると思います。

a)同じバッファ/タブ内の複数のファイル間でハイパーリンクを設定できます(戻るボタンなどがあります)。

b) 汎用バッファーは、ソースコード、コマンドライン、動的に生成されたグラフィック出力、プロジェクトの概要など、あらゆるタイプのデータを保持できます。

言い換えれば、ブラウザが行っている発見により一致するように微調整されていることを除いて、Vim / Emacs モデルの多くです。

于 2008-10-12T16:32:09.917 に答える
6

複数のバッファが同じファイルの異なるビューを表示できるためです。他のエディタについては知りませんが、これは Emacs に当てはまります。古いとは正確にはどういう意味ですか?

于 2008-10-12T14:32:36.083 に答える
1

アプリケーションが、無関係な詳細で自分自身を悩ませたくない非オタクによって頻繁に使用されるようになったとき。

于 2008-10-12T15:55:01.427 に答える
0

私はただの古い霧のようなものだと思いますが (頑固な vim キャンプの中で)、私が使用する他の編集パッケージ (MS Word や Open Office など) は、私が編集しているファイルのコピーと最後に保存されたバージョン。これは非常に貴重です。編集者が私の最後の適切なバージョンを踏みにじる準備が整うまで、編集者に踏みにじられたくありません。実際、編集中のバッファーを使用して新しいファイルを作成する可能性は十分にあります (1000 分の 1 とします)。

一方、複数のファイル (同じファイルの複数のコピー、または複数の異なるファイルのコピー) を読み取ってファイル イメージを作成する機能も役立ちます。他の資料にもかすかに似たような施設があります。

だから、私は要点を逃している可能性があります.区別を取り除くとあなたが言及している編集者はわかりません. しかし、編集中のファイルのコピーとディスクに保存された最後のバージョンとの区別は、すべてのエディタで保持されていると思います。

于 2008-10-12T14:21:13.173 に答える
0

新しい編集者は、あなたが述べた理由でそれをやめるのだと思います.それは邪魔になる抽象化です. また、最近のほとんどのエディターには無制限の元に戻す機能があるため、「バッファー」の考え方は暗黙の了解のようなものです。

于 2008-10-12T13:36:14.403 に答える
-2

これらのエディターの開発者は、実装の詳細をユーザーから隠すことを気にしなかったためです。

于 2008-10-12T16:02:38.163 に答える