2013-08-16 82 views
4

我已經閱讀了許多關於emacs項目管理的問題,雖然他們似乎沒有得到我喜歡的工作方式(可以追溯到Borland的日子)。emacs中的自定義文件層次

基本上,我想創建自己的文件層次結構,從中可以打開要編輯的文件。這與目錄結構有所不同:通常有一些文件從編輯的角度可以合理收集,但不在同一目錄中等。

此刻,我一直在與scitepm合作,這是編輯器SciTE(一種閃爍體衍生物)的側欄發射器。但在我看來,emacs必須能夠做類似的事情 - 我只是不能從各種描述的eproject,speedbar等中挑出我的具體使用案例......

任何指針?或者,我的工作流程是絕望的復古?

回答

5

香草的Emacs,開箱即用,提供了一些功能,可以幫助:

  • 文件集:持久性文件集---看(emacs) Filesets

  • Dired可以明確的組文件被打開,不管他們在什麼目錄,只是傳遞的絕對文件名作爲參數DIRNAME命令dired列表。

  • 標記文件可讓您直接或可搜索地訪問給定文件集中的「定義」。原則上,定義可以是任何東西,但它通常是一個函數,變量,類等定義(IOW,編程結構)。

Bookmark+提供了一些更多的功能,可以幫助(書籤通常peristent):

  • Dired書籤:任何一組文件和子目錄,連同插入的子目錄,設置Dired的標記,隱藏的插入子目錄以及「省略」文件和子目錄。

  • 自動配對書籤:爲任何文件添加書籤,甚至不訪問它。

  • 書籤標記:按照喜歡的方式對書籤進行分類。標籤定義了一組書籤。按標籤排序,搜索wrt標籤,...

  • 多個書籤文件:另一種定義書籤集的方法。

  • 桌面書籤:Emacs會話狀態---帶回文件集,無論在新會話中。

  • 複合或序列書籤結合了多個書籤的效果。

Icicles提供了其他的功能,可以幫助:

這裏是一個很好的切入點,其對項目的支持:Icicles - Support for Projects

  • 它可讓您輕鬆地持續(或僅限會話)save and restore sets of file names。這包括emacs文件集,但也包括更靈活的文件和目錄集。當您使用C-x C-f等時,您可以使用保存的一組文件名來完成。集合中保存的文件名可以位於文件系統(或遠程)的任何位置。

  • enhances the Bookmark+ features以各種方式。

  • 它增強了Emacs TAGS文件和代碼導航的使用。

  • enhances the use of Dired以各種方式。

  • 它提供了在一組文件或緩衝區(包括持久集)中進行搜索的功能。

1

查看www.emacswiki.org/emacs/BookmarkPlus。 它有很多選項和定製。 對你而言有趣的是你可以擁有多個書籤文件,每個書籤文件存儲多個 書籤,然後存儲它們的一個或多個主文件書籤文件, 除正常書籤之外...你得到的點:)

我主要使用書籤+,因爲它允許將功能綁定到書籤 。

+0

你詳細地有關綁定功能,書籤是非常有幫助的結束。通常,軟件包的功能列表並不關注最重要的東西:通常是最酷的/最新的東西。這就是爲什麼我必須在這裏尋找評論:謝謝。 – mdda

0

當我正在改進一種主要的語言模式時,我嘗試了幾種方法來創建項目/文件組。我已經解決的事情還沒有在這裏提到過,所以我會對此說幾句。這是EDE。它配備了CEDET,但實際上是另一回事。它有幾個現成的項目模板,專門用於Emacs Lisp,C,我認爲我最終看到了針對Android Java開發的定製。

這不同於其他解決方案,因爲您需要編寫一些Emacs Lisp代碼來定製它以執行您喜歡的操作。另一方面,它具有許多庫函數。如:它具有集中的項目管理,序列化/反序列化設置的方式,通過菜單訪問的API,通過小部件修改項目設置的API。它使用總體上非常乾淨的方法來解決這個問題。

下面是不是代碼的拋光版本,但可能給你的是什麼它可能看起來像一個想法:http://code.google.com/p/haxe-mode/source/browse/trunk/lisp/ede/haxe.el

+0

哇 - 很好的評論代碼!我相信它會幫助很多人 - 尤其是那些需要制定具有相同基本遊戲規劃的項目的人。然而,爲了我的目的(這是很多小的'草圖'項目 - 通常用不同的語言,等等),這似乎太過預先計劃 - 因爲我也試圖感受佈局的邏輯。 – mdda