相当于Emacs CLI中的GUI“快速打开”?
标题可能没有足够好地描述这个问题。 许多基于GUI的编辑器允许您按下组合键,然后开始输入文件名(在任何目录中的任意位置),并且在您输入时,会实时筛选与该模式匹配的所有文件。 如果您按回车键,当前突出显示的文件将被打开,或者如果您点击向上或向下箭头,您可以更改选择。 例如,在TextMate和Sublime Text 2(在OS X上),这是通过点击CMD + T来实现的。
现在我知道Emacs中的find-dired
和find-grep
,但是还有其他什么可用的更快一点? 与dired恼人的事情是,你必须按回车键并执行搜索,以查看文件名是否正确。 如果你知道文件名,这是可以的,但是当你根据受过教育的猜测进行时不会那么好。 这似乎是emacs可能适合的东西。 将目录设置为索引(仅一次),然后在搜索时使用基数树搜索或某些类似过滤索引,使用拆分窗口显示文件并响应向上和向下箭头以调整选择。
那里有什么? :)
ido模式对此非常完美。 它有无数有用的应用程序,包括模糊文件名匹配,如您在图片中演示的。
在我的emacs中运行的ido模式http://img694.imageshack.us/img694/8519/bildschirmfoto20110911uyu.png
有些事情要开始:
Anything.el可以做到这一点,它可以做更多的事情。 这里有一个很好的介绍如何使用它。
ido-mode本身很棒,但是你可能会发现Find File In Project这样的更好的选项,可以在目录树中的任何位置匹配文件名模式。
Mx find-file-in-project
RET自动选择目录树的根目录(基于目录本地变量文件)。
我现在才注意到,我也有可用的Mx ffip-find-file-in-dirtree
RET(它可以在任意指定的目录树上工作,不管项目文件如何)实际上都是由nfhtml包含的ffip.el提供的。
后者也看起来像它在启用时支持ido。 (实际上,有一个错误,但在(defun ffip-find-file-in-project (file) ...)
(if (memq ido-mode (list 'file 'both))
中将(defun ffip-find-file-in-project (file) ...)
(if (memq ido-mode '(file 'both))
更改为(if (memq ido-mode (list 'file 'both))
(defun ffip-find-file-in-project (file) ...)
无疑会有各种类似的可用选项。
链接地址: http://www.djcxy.com/p/62177.html