プロジェクトごとに1つのウィンドウ


9

現在、いくつかのプロジェクトに取り組んでいます。私が欲しい単一それらすべてを処理するためのEmacsのインスタンスを。私が欲しいのは、(Emacsの意味での)すべての「ウィンドウ」が、そのプロジェクトに関連するファイルのバッファーを含むプロジェクトに対応するtmuxのような動作です。複数のウィンドウがあり、それぞれがプロジェクトに対応しており、それらを切り替えることができるはずです(に似ていますC-b w

この機能はすでに何らかの形で存在していますか?他のオプションは次のいずれかなので、私はそれがクールだと思います:

  • Emacsのインスタンスをいくつか開いておきます。
  • すべてのプロジェクトのすべてのファイルを単一のインスタンスに含めると、バッファの切り替えが困難になります。

2
プロジェクト管理について、パースペクティブを試しましたか?
cutejumper 2016年

高度なターミナルマルチプレクサーとしてEmacsに関するこのブログ投稿を試してください。Tmuxのような動作が得られます。私はそれにつまずいた、それを機能させて、それが宣伝することをする。さらにace-jump-mode、それ自体が、バッファ内でカーソルを使ってすばやくジャンプするためのクールなソリューションです(まだ持っていない場合)。

プロジェクトの条件を定義するために初期設定時間を費やすことをいとわない場合は、プロジェクトをそれぞれ1つのフレームに割り当てて、を使用できますframe-bufsファイルを開く前にインターセプトする方法と、ターゲットフレームにバッファーを表示するためにどのフレームstackoverflow.com/questions/18346785/…)を決定するかを参照してくださいframe-buffs--add-buffer。組み合わせて使用して、フレームを関連付けることができます。バッファと結婚frame-bufstabbar、バッファを動的に関連付け/削除できます: emacs.stackexchange.com/a/10112/2287
lawlist

frame-bufsバッファを特定のフレームに関連付けるためのリンクは次のとおり
lawlist

@cutejumperパースペクティブは完璧です。あなたが答えとしてそれを書くことができたので、私はそれを正しくチェックできました。
sudeepdino008 2016年

回答:


7

パースペクティブを使用してプロジェクトを管理できます。READMEから:

perspective.elは、Emacsフレームごとに複数のワークスペース(または「パースペクティブ」)を提供します。これにより、すべてのバッファで迷子になることなく、多くの個別のプロジェクトで簡単に作業できます。

各パースペクティブは、ウィンドウ構成と一連のバッファーで構成されています。パースペクティブに切り替えると、そのウィンドウ構成がアクティブになり、パースペクティブでは、デフォルトではそのバッファーのみが使用可能です。

元のバージョンとは少し異なる別のバージョンpersp-modeもあります。パースペクティブはフレーム間で共有され、状態をディスクに保存できます。

発射物を使用している場合は、パースペクティブの統合もあります。


5

複数の(おそらく複雑な)ウィンドウレイアウトを管理するモードを試すことができます。C-c C-w 1およびなどのキーストロークを使用して、ウィンドウ構成を切り替えることができますC-c C-w 2


1
眉毛はワークスペース間でバッファを共有します。それは望ましくないかもしれません
sudeepdino008 2016年

2

"barebones"ソリューションはC-x r w、現在のウィンドウの状態を記録C-x r jし、以前のウィンドウの状態に戻すために使用する場合があります。


2

いくつかの異なるパッケージを組み合わせて使用​​しています。

最も重要なのは、「プロジェクト」とあいまい検索ファイルの作業にProjectileを使用することです。私は現在取り組んでいるプロジェクトごとに1つずつ、複数のフレームを使用しています。あなたは本当に唯一知っている必要がありますC-x 5 2し、C-x 5 0フレームを殺す/作成します。プロジェクト間の切り替えを管理し、ウィンドウ構成/スプリットの状態を保存するために、Windows用のワークグループ(emacs用)を使用します

あるパッケージを別のパッケージにスワップアウトできる可能性があるため、このセットアップが好きです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.