【问题标题】:emacs ruby-mode key bindings not working (mac osx)emacs ruby​​ 模式键绑定不起作用(mac osx)
【发布时间】:2012-04-02 20:18:10
【问题描述】:

当我在旅途中时,我在 MacBook 上使用 Emacs 23.4.1 作为 ruby​​ 开发环境。尽管ruby-mode 有效,但 Emacs 似乎无法识别 ruby​​ 特定的键绑定。例如,无法识别调用C-c C-r,但通过M-x 手动调用命令ruby-send-region 将起作用。

我应该注意,在我使用 Emacs 23.4.1 的 Linux VM 上,上述键绑定有效,当我使用 M-x 手动调用命令时,Emacs 会在 minibuffer 中提醒我,我可以改用上述键绑定.对于我的 OS X 机器,我是否需要在我的 ruby​​ 配置文件中手动定义键绑定?如果是这样,是否有人好心给我一个如何做到这一点的例子?

【问题讨论】:

  • 我不知道,但你试过用 Command 代替 Control 吗?
  • Ctrl 在 Emacs 的 OSX 版本中仍然使用。我同时使用 Cocoa 和命令行版本。
  • 您是否检查过您的 Mac 安装中是否存在与该密钥冲突的命令?
  • @diedthreetimes:据我所知,C-c C-r 没有冲突的命令,因为 Emacs 无法识别该命令。或者您是在问操作系统是否使用该命令?如果是这种情况,我认为 Mac/Cocoa API 不会使用上述键绑定,因为 Mac API 命令使用苹果键而不是 Ctrl ... 对吗?

标签: ruby emacs elisp


【解决方案1】:

ruby-send-region 来自 inf-ruby。你运行的是哪个版本?那里 是各种自动加载其密钥的混蛋版本,即 Linux 上可能会发生什么。

canonical version 来自 Ruby 源代码。它不加载 键自动。但是,它确实提供的加载说明是 次优,因为每次激活 ruby-mode 时都会运行键绑定代码。 而是使用这个:

(autoload 'run-ruby "inf-ruby"
"Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby" 
"Set local key defs for inf-ruby in ruby-mode")
(eval-after-load "ruby-mode" '(inf-ruby-keys))

【讨论】:

  • 哦,回答你问题的第一部分:我的 ruby​​-mode 版本似乎是来自 subversion 存储库的最新版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-01
相关资源
最近更新 更多