我可以使用ECB(或其他一些项目感知的内容,例如eproject,ibuffer等)来增强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?
答案 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)
答案 2 :(得分:2)
看看find-file-in-project。在我看来,你正在寻找类似的东西。
答案 3 :(得分:2)
我编写了一个包find-file-in-tags,使您可以在TAGS文件中打开文件,而无需指定文件的路径。如果有多个文件与您输入的内容相匹配,系统会提示您优化您的选择(或全部打开)。
此外,如果同一个项目有多个工作区,find-file-in-tags
对所有这些工作区使用单个TAGS文件,但在与您调用的缓冲区相同的工作区中打开该文件{ {1}}。