我是emacs的新手。我观看了一个视频,其中显示emacs中的ido与textmate中的命令-t类似:
(视频为:http://vimeo.com/1013263)
问题是当我使用ido模式的emacs时,我没有得到这种行为。这是我的init.el
:
(require 'ido)
(ido-mode t)
(setq ido-enable-flex-matching t)
我不知道t
意味着什么,这正是我在网上找到的。
当我搜索文件(C-x C-f)时,它找不到子目录中的文件。因此,如果我有一个文件test/core.clj
并且我搜索tc
(对于测试核心),它就没有匹配。
关于我注意到的事情是他在截图中有'项目文件:',在那里我得到'查找文件:'。我安装了'find-file-in-project'来查看这是否是缺少的行为,但它也不起作用。它只匹配文件名,而不是包含文件的目录。
答案 0 :(得分:2)
ido'了解'您访问过的文件并维护历史记录缓存。我相信这就是您在上面的屏幕截图中看到的内容。(有时您会想要使用ido-wash-history
清除缓存。)
通常,一旦你在项目中工作了一段时间,它就会按照你期望的方式工作。
如果您是emacs的新用户,则自定义是尝试各种功能的最佳方式。例如您可以M-x customize-group <RET> ido <RET>
查看ido的所有选项
还有其他选项,例如find-file-in-project
,您确定要实际调用它吗?仅仅安装它是不够的,不会为您重新绑定C-x C-f
。
尝试M-x find-file-in-project
,看看这是否是您想要的行为。
如果你总是在源控制的目录中工作,那么还有find-file-in-repository
。
('t'表示真btw。)
答案 1 :(得分:1)
我会看看find-file-in-project.el
。
http://www.emacswiki.org/cgi-bin/wiki/FindFileInProject
它将搜索.git
树中的所有文件。我把它映射到C-c f
。
答案 2 :(得分:0)
“t”只表示非零或真。你可以使用“a”,“w”或“t”,这意味着同样的事情。人们只是按惯例使用t。
如果您想启用.emacs (ido-mode t)
如果您想禁用.emacs (ido-mode nil)