emacsでは、ファイルのセクションを別のファイルであるかのように編集します。


2

いくつかのタスクでは、プロジェクト(LaTeXレポート、中サイズのPythonスクリプトなど)を別々の小さなファイルに分割するよりも、単一の大きなファイルを好みます。より簡単な検索と検索と置換のために。しかし、編集のためには、プロジェクトの異なる部分を別々に表示して、いくつかの小さなファイルを優先することがしばしば望ましいです。

バッファをファイルの他のすべてのビューと同期させながら、ファイルの一部を別々のファイルであるかのように編集できるemacsのモード/パッケージはありますか?気がついた clone-indirect-bufferしかし、その目的の一部を達成している間は、間接バッファーをファイルの特定のセクションに限定する方法をお勧めします。例えばと思う組織モードの C-c ' しかし間接バッファで実装されています。理想的には、実装はセクションを定義するためのいくつかの構文をサポートするでしょう。

私はそれを試したことがなかったが(私のシステムでは動かなかったが)、LEOエディタは私がemacsに欲しいと思う概念に大体基づいて構築されていると思う。

回答:


1

そのような振る舞いを提供する1つのライブラリーは 狭い間接 narrow-indirect.el )それはあなたの一部の異なるビューを提供します バッファ、あるいはバッファ全体の C-x h C-x 4 n n

常に同じテキストとテキストプロパティを持ちますが、それ以外の場合は同じです。 かなり独立しています。特に、あなたは影響を与えずに間接バッファをkillできます。 そのベースバッファ。あなたはおそらく間接的なナローを殺したくなるでしょう それらを広げるのではなくて

あなたが思う以上に間接バッファを使うことができます。君は たとえば、Diredバッファーの一部から取得したクローンを使用できます。 ディレクトリ一覧に便利な(アクティブな)ビューを表示します。そこ ほんの数個のキー/コマンド(例えば g リストを更新する) 彼らは全体のビューのビューに依存しているため、それは動作しません バッファ。試してみてください、そして、あなたは間違いなく面白い新しいを見つけるでしょう 間接バッファに使用します。

Emacsのマニュアル、ノードも参照してください。 Indirect Buffers


私がほとんど求めたものに思われる。それまでの間、私はその機能が既にほとんど組み込まれていることに気づきました( clone-indirect-buffer そして narrow-to-... 関数)。私は自分自身をより一般的な地域を自動検出するためにこれを拡張することを検討しなければならないでしょう(私の質問でそれを求めるのを忘れていた)。
kdb

どういう意味 " より一般的な地域の自動検出 「?
Drew

例えば、ファイルのコンテンツタイプとは無関係にファイルセクションを宣言することを可能にする構文のサポート。例えば。現在のセクションが次の行を含むコメント行で始まる、関数 "narrow-to-section" START_SECTION または多分 <SECTION> そして、対応する終了タグを含む行で終わります。
kdb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.