【问题标题】:How do create a new file that matches an existing file in Emacs Prelude?如何在 Emacs Prelude 中创建与现有文件匹配的新文件?
【发布时间】:2017-02-16 17:31:12
【问题描述】:

在 Emacs Prelude 中,当存在与文件名“匹配”的文件时,我无法弄清楚如何创建新文件。

在示例屏幕截图中,我尝试在已包含名为 spawn_basic.exs 的文件的目录中创建名为 spawn.exs 的文件。当我使用 C-xC-f 创建一个新文件时,emacs 将 spawn.exsspawn_basic.exs 匹配并点击 Enter 结果打开 @987654327 @ 而不是创建spawn.exs

我尝试了一些解决方法(即使用touch 创建文件),但我正在寻找一种更简单的解决方案,只需要一个命令。如果没有执行此操作的命令,有没有办法禁用 Prelude 中的文件名匹配功能?与香草 Emacs 相比,我最喜欢 Prelude 的所有其他方面,所以我宁愿不切换回去。

【问题讨论】:

    标签: emacs emacs-prelude emacs-helm


    【解决方案1】:

    在 Prelude 中,C-x C-f 绑定到 helm-find-files。通常是 太好了,但是对于这种情况,我看不到绕过的好方法 它的匹配项(正如您所描述的)。

    不过,ido-find-file 有一个类似的友好完成系统, 然而提供了一个很好的解决方案来绕过完成。当您键入 spawn.exs,按 C-j 而不是 RET 打开。我认为头盔 也应该这样做(而不是一视同仁),所以你可能 想要提交功能请求(以匹配 Ido 的“逐字记录”)。

    Ido 作为find-file 的替代品效果很好,建议超过 像这样简单的情况下的 Helm 在Mastering Emacs。所以你可以 重新映射:

    (global-set-key (kbd "C-x C-f") 'ido-find-file)
    

    【讨论】:

    • 我在第二段中尝试了您的建议,并且使用 C-j 而不是 RET 有效!所以看起来 helm-find-files 确实尊重 C-j 的“逐字输入”。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    相关资源
    最近更新 更多