相当于GUI" Quick Open"在CLI上的Emacs?

时间:2011-09-11 13:33:55

标签: emacs

标题可能不能很好地描述这个问题。许多基于GUI的编辑器允许您按下组合键,然后开始键入文件名(在任何目录中,在任何目录中),当您键入时,列表将实时过滤掉与该模式匹配的所有文件。如果按Enter键,将打开当前突出显示的文件,或者如果按下向上或向下箭头,则可以更改选择。例如,在TextMate和Sublime Text 2(在OS X上),这可以通过点击CMD + T来实现。

enter image description here

现在我知道Emacs中的find-diredfind-grep,但还有其他任何可用的内容吗? dired的烦人之处在于你必须按Enter键并执行搜索才能查看文件名是否正确。如果您知道文件名,这是可以的,但是当你基于有根据的猜测时,这不是很好。似乎emacs可能适合。将目录设置为索引(只需一次),然后在搜索时使用基数树搜索过滤索引等,使用拆分窗口显示文件并响应向上和向下箭头以调整选择。

还有什么吗? :)

6 个答案:

答案 0 :(得分:7)

ido-mode非常适合这种情况。它有无数有用的应用程序,包括您在图片中演示的模糊文件名匹配。

ido-mode running in my emacs http://img694.imageshack.us/img694/8519/bildschirmfoto20110911uyu.png

要开始的一些事情:

答案 1 :(得分:1)

Anything.el使用文件执行此操作,它可以执行更多操作。关于如何使用它的Here's a good introduction

答案 2 :(得分:0)

ido-mode本身很棒,但您可能会发现Find File In Project之类的更好的选项可以在目录树中的任何位置匹配文件名模式。

M-x find-file-in-project RET 自动选择目录树的根目录(基于目录本地变量文件)。

我现在才注意到 Mx ffip-find-file-in-dirtree RET 我也可以使用(并且适用于任意指定的目录树,无论项目如何文件)实际上是由nxhtml附带的ffip.el提供的。

后者在启用时看起来也支持ido。 (实际上,有一个错误,但在(if (memq ido-mode '(file 'both))

中将(if (memq ido-mode (list 'file 'both))更改为(defun ffip-find-file-in-project (file) ...)

毫无疑问会有各种类似的选择。

答案 3 :(得分:0)

peepopen也提供此功能

答案 4 :(得分:0)

不幸的是,这些都没有同样的方式:D ...... 我已经使用了“Sublime text 2”很长一段时间了......昨天决定尝试使用“emacs”(“vim”非常不舒服)。所以,我想要这个功能:

  1. 您指向项目的根文件夹。
  2. 瞧 - 你有“快速查找”功能。

    但......没有这样的功能:( ...

    (例如 - “find-file-in-project” - 它要求你在项目的根目录中设置“一个文件”,这样就知道它是你项目的根目录......但如果我必须同时处理几个项目呢?...其中一些 - 使用git,其中一些 - SVN,其中一些 - 没有一个......:D ...“Sublime text”处理这个即时的情况...但emacs和vim - 没有:( ...)

    仍在等待答案......

答案 5 :(得分:0)

我找到了我不想要的地方:( ...

一个名为“Control-P”的插件 - 提供与问题作者正在寻找的完全相同的功能。

例如 - 在这个视频 - http://www.youtube.com/watch?v=YhqsjUUHj6g - 转到26:55,在那里你会找到一个快速而干净的例子。所以,用一个命令指向doc-root,之后 - 你很高兴去...... :)