kcd*_*gon 5 emacs emacs-prelude emacs-helm
在 Emacs Prelude 中,当存在与文件名“匹配”的文件时,我无法弄清楚如何创建新文件。
在示例屏幕截图中,我尝试spawn.exs在已包含名为 的文件的目录中创建一个名为 的文件spawn_basic.exs。当我用来C-xC-f创建新文件时,emacs 在打开时匹配spawn.exs并spawn_basic.exs命中Enter结果,spawn_basic.exs而不是创建spawn.exs.
我尝试了一些解决方法(即使用touch创建文件),但我正在寻找一种更简单的解决方案,只需要一个命令。如果没有命令可以执行此操作,是否有办法禁用 Prelude 中的文件名匹配功能?与普通的 Emacs 相比,我最喜欢 Prelude 的其他所有内容,所以我不想再切换回来。
在前奏中,C-x C-f必然是helm-find-files。它通常很棒,但对于这种情况,我没有看到绕过其匹配的良好解决方法(正如您所描述的)。
然而,ido-find-file有一个类似友好的完成系统,但提供了一个很好的解决方案来绕过完成。键入时
spawn.exs,按C-j而不是按 打开RET。我认为 Helm 也应该这样做(而不是对它们一视同仁),因此您可能需要提交一个功能请求(以匹配 Ido 的“逐字输入”)。
Ido 作为替代品效果很好,对于像掌握 Emacsfind-file中这样的简单情况,建议使用 Ido 而不是 Helm 。所以你可以用以下命令重新映射它:
(global-set-key (kbd "C-x C-f") 'ido-find-file)
Run Code Online (Sandbox Code Playgroud)