【问题标题】:ESS C-M-x (ess-eval-region-...) emacs shortcut doesn't workESS C-M-x (ess-eval-region-...) emacs 快捷方式不起作用
【发布时间】:2018-07-09 12:38:29
【问题描述】:

由于某种原因,emacs 中的以下组合键不起作用:

ess-eval-region-or-function-or-paragraph (C-M-x):发送当前选定的区域或功能或段落。

我能够从窗口菜单中成功选择它,我可以成功使用C-c C-c 和其他评估,但是这个组合没有响应。我正在使用 Ubuntu 16.04 并检查是否不应该有任何 ubuntu 快捷方式影响该快捷方式。任何想法可能是什么原因?

【问题讨论】:

  • 它对我来说很好用。以防万一,该绑定是<control>-<meta>-x 而不是大写的“m”。仔细检查C-M-x 是否确实与C-h k C-M-x 绑定到正确的功能。如果是,您可以尝试在其源代码上调用edebug-defun 并逐步查看问题所在
  • 它也适用于我的家用电脑。感谢您的好建议,似乎有些东西正在捕获组合,因为C-h k之后C-M-x没有效果,它一直在等待密钥。

标签: r emacs key-bindings ess


【解决方案1】:

试试 Control_R+Alt_R+x。如果这不起作用,另一个问题可能是你的右边 Alt 真的是 AltGr(ISO_Level3_Shift)。如果是这样,您可以按照here 的说明重新映射它。

我有同样的问题。不知道为什么,但是 Control_L+Alt_L+x 不起作用。它什么也没做。它不绑定到其他东西。在控制台中运行 xev 并推送 Control_L+Alt_L+x 不会显示 x 被推送。在没有 GUI 的 tty 中尝试过仍然没有运气。所以,现在我只怪我便宜的键盘。

【讨论】:

    【解决方案2】:

    我在 Ubuntu Emacs 27.1 (KDE) 上遇到了同样的问题。尝试“C-h k C-M-x”仍然等待输入键,就像“C-M-x”没有绑定一样。

    但是,C-M-S-x(带移位)有效。 “C-h k C-M-S-x”写道:

    C-M-x(翻译自 C-M-S-x)运行命令 eval-defun(在 emacs-lisp-mode-map),这是一个交互式编译的 Lisp 函数 在“elisp-mode.el”中。

    它绑定到 C-M-x。 ...

    我不确定为什么它不绑定到 ess-eval-region-or-function-or-paragraph。也许这是我的设置或 javekki 中的特殊绑定。

    【讨论】:

    • 这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    相关资源
    最近更新 更多