Emacs会话/项目/窗口管理

我大部分时间都在使用Ruby on Rails项目,所以我需要一种方法来保存项目和我正在处理的缓冲区/窗口的状态,主要是因为我经常发现自己切换到不同的项目几分钟然后回到我正在研究的项目。 Desktop.el似乎非常接近,除了窗口配置保存。

对于那些熟悉TextMate的人,我正在寻找像你可以打开的textmate项目文件这样的东西,他们打开一个不同的编辑器实例,只打开该项目中的文件。

谢谢,Cezar

我试着把自己放在鞋子里,让我想起我喜欢的Emacs解决方案。 我能想到的最好的是,我偶尔会进入一种模式,我不想通过处理Emacs中断来破坏我的窗口,这需要不同的Emacs资源(缓冲区/窗口)。 比方说,我有一个ediff正在进行,我想要去临时缓冲区来测试一个想法,而不用我的ediff透视图,借用Eclipse概念。 在这种情况下,我通常会使用Cx 5 2来调出新帧。 如果我已经在显示器上安装了多个帧,我将使用Cx 5 f来选择一个命名帧。

在您的情况下,您可能有一组带有“proj-x”前缀的帧,另一组带有“proj-y”前缀。 在这种情况下, Cx f proj-x-foo提供了一个快速切换来处理你的中断Cx f proj-y-fee切换。 在大多数情况下,我认为你在谈论两个框架,这更容易: Cx fo在两个框架之间切换。

我认为,对于Emacs,人们可以“放弃”你正在做的事情,而不需要关闭任何东西,做一些其他事情然后回到你原来的环境,没有什么大惊小怪。 这是Emacs可以同时打开数百个文件的概念的必然结果,即您不需要关闭文件然后再打开另一个文件。 打开他们所有人并拥有一个球。 :-)当你接受这种风格时, Cx s就是你的朋友。

我喜欢窗口配置到寄存器( Cx rw ),用于类似于您所描述的情况。 将窗口配置保存到寄存器后,只需Cx rj 即可返回保存的配置。

也许你正试图让emacs像IDE一样工作,但事实并非如此。 我经常在emacs中打开多个项目,从不关闭emacs,而不是几周。 这是我几年前在emacs上结束的主要原因之一。 在我目前的项目中,我在java,ruby和Lisp之间切换。 我还需要编辑jsp,erb,html和css的function,我还没有解决的唯一问题是javascript。 除了完全自定义我的环境的能力,这是emacs的强大function。

我一直都在使用ECB,通常当我移动文件时,它跟着我,我不是从’windows’的角度来看,而是从’Im here’的角度来看。 打开或不打开的特定缓冲区实际上并不重要。 我也使用IDO,因此切换缓冲区非常简单直观。 我通常有两个缓冲区显示最大(但可能很多打开)。 MX也可用于确保您已保存,因为它将枚举所有未保存的缓冲区并提示您。

当我必须关闭emacs时,我通常会通过cd到该文件夹​​并输入emacs app / controllers / my_controller.rb来快速回到我所在的位置。 从那里导轨导航非常有帮助。 M-Shift-down箭头,我们关闭……

http://www.emacswiki.org/emacs/WindowsMo​​de – 保存和恢复窗口配置。

eproject有eproject-open-all-project-files ,它确保打开当前项目中的所有文件(或使用前缀arg调用它来选择任意项目)和eproject-kill-project-buffers来关闭所有文件目前的项目。 这使您可以轻松开始使用项目,并在完成后让您清理。

IciclesBookmark +可以通过多种方式帮助您使用项目。