是否有任何ECB(或其他)增强的查找文件mojo?

时间:2010-08-13 23:45:56

标签: emacs ido emacs-ecb

我可以使用ECB(或其他一些项目感知的内容,例如eprojectibuffer等)来增强emacs的find-file善良吗?

想象一下这个场景:我在ecb-source-path中指定了几个项目/目录,让我们称之为Project1和Project2,它们看起来像这样:

Project1
  foo.c
  bar.c

Project2
  foo.c
  baz.c

我希望find-file(或其他命令)能够找到并跳转到那里的文件,而无需导航到ecb目录缓冲区,或者已经打开缓冲区。

我想我理想的使用场景是这样的:

我想C-x C-f baz(或其他特殊命令)打开Project2/baz.c。更进一步,如果我可以使用类似ido的弹性匹配来获得p2foo开放Project2/foo.c,我会很高兴。

¿C'est posible?

4 个答案:

答案 0 :(得分:2)

如果在你的例子中你在project1 foo.c中,并且你想进入project1 bar.c,我想大多数项目工具如ede,eproject,gnu global,idutils integration等都有“跳转到文件”类型命令。当然,我推荐CEDET / EDE和ECB组合。键绑定为C-c . f,即ede-find-file

设置CEDET和EDE非常简单,但EDE只知道少数不同的项目类型,您可能需要手动为项目配置它,这不太容易。

如果你想进入project1 / foo.c并跳转到project2 / baz.c,你只需要使用locate:

M-x locate RET baz.c RET

现在从列表中选择。

答案 1 :(得分:2)

您可以使用filecache包来索引所需的目录,然后使用ido从缓存中选择文件名。 Here就是一个例子;您可以使用其他Google实现。

答案 2 :(得分:2)

看看find-file-in-project。在我看来,你正在寻找类似的东西。

答案 3 :(得分:2)

我编写了一个包find-file-in-tags,使您可以在TAGS文件中打开文件,而无需指定文件的路径。如果有多个文件与您输入的内容相匹配,系统会提示您优化您的选择(或全部打开)。

此外,如果同一个项目有多个工作区,find-file-in-tags对所有这些工作区使用单个TAGS文件,但在与您调用的缓冲区相同的工作区中打开该文件{ {1}}。