【问题标题】:'k' keybinding in ruby-mode in EmacsEmacs 中 ruby​​ 模式中的“k”键绑定
【发布时间】:2011-12-06 00:20:09
【问题描述】:

我正在学习 emacs,并已开始将它用于 ruby​​ 编程。作为 emacs 的新手,我根据 bbatsov (https://github.com/bbatsov/emacs-prelude) 的 Prelude 包对其进行了配置,总的来说它很棒。我正在使用来自http://emacsformacosx.com/builds 的 Mac Emacs 24 预测试包。

我遇到的问题可能与此无关 - 不确定这是否是 ruby​​-mode 包中的错误。

当我处于 ruby​​ 模式并按下“k”键时,就像键入“knackered”一样,“k”键充当前缀键(“k”未插入缓冲区但显示在迷你缓冲区中)。我可以在 ruby​​ 模式下插入“k”字符的唯一方法是 C-q k,这真的很烦人。

我浏览了所有关于键盘映射的文档,并浏览了所有配置文件(ELPA、模块、自定义、init 等),但找不到任何可以打开它的东西,包括在 ruby​​ 模式配置文件中。我很困惑,也有点沮丧。任何人都可以对此有所了解吗?

【问题讨论】:

    标签: ruby emacs


    【解决方案1】:

    我不知道是什么打开了它,但你应该能够使用类似的东西来覆盖它:

    (local-set-key (kbd "k") 'self-insert-command)
    

    您可以使用 M-: 运行它。您也可以将此行放在 ruby​​ 模式挂钩中。

    【讨论】:

    • 优秀 - 完成这项工作。谢谢。
    • @haircode 您应该找到重新映射您的“k”键的包的底部。这可能是更大问题的征兆。
    【解决方案2】:

    所以,我自己是一个 emacs 菜鸟,我也遇到了同样的问题。我发现我创建了一个自定义的 yasn-p,并且在自动生成的模板中有一个指令将 sn-p 绑定到一个键:binding: "keybinding"。一旦我删除它,问题就消失了。

    TL;DR

    我之所以找到它,是因为当我键入 C-h m 列出活动模式时,我看到了一些关于 K E Y B I N D I N Prefix Command 的奇怪内容。在我看到之后,我点击了C-h k keybinding(以显示绑定到那组击键的命令),它提出了一些错误消息,其中还包括我记得大约一天前写的 sn-p。我去了yasn-p目录并编辑了sn-p,我的问题就消失了。

    我知道您已经解决了您的问题,但是对于可能遇到此问题但不想只是覆盖“k”键以按预期工作的其他任何人,您可以尝试寻找 sn-p带有binding: "keybinding" 指令。

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多