【问题标题】:How to remap keys when in Emacs?在 Emacs 中如何重新映射键?
【发布时间】:2010-10-05 06:21:05
【问题描述】:

当我在 emacs 窗口中时,我正在寻找一种方法来切换我的控制键和大写锁定键,但是当我进入任何其他程序(如 Firefox)时,我希望能够使用正常的控制按钮用于新窗口、标签等。

附加信息:我使用的是 Ubuntu,但所有系统的答案都很好,因为其他人可能想知道如何在他们的系统上执行此操作。

【问题讨论】:

  • 只需要一个命令(例如xmodmap ~/.xmodmap-swap——您甚至可以在任务栏中创建一个快捷方式)就可以在将其提供给其他人使用之前将其切换回正常状态: )

标签: emacs key remap


【解决方案1】:

Emacs 从未真正看到 CapsLock 键码(无论如何都在 X 下),因此您无法在 Lisp 中重新映射键。详情请查看此页面:

http://www.emacswiki.org/emacs/MovingTheCtrlKey

【讨论】:

    【解决方案2】:

    在使用 Auto Hot Key 的 Windows 上,您可以通过将这段代码放入默认脚本中来实现此目的:

    #IfWinActive, emacs@      
        CapsLock::Control
    #IfWinActive
    

    Auto Hot Key 是一个非常方便的实用程序,它也是 GPL 中的免费软件。

    【讨论】:

    • @ 在那个 AHK 脚本中做了什么?
    • @JisangYoo Windows 上 Emacs 中的标题栏显示为“emacs@COMPUTER_NAME”,所以在这种情况下,monkey 不是 AHK 特殊字符,而是标题的一部分
    【解决方案3】:

    对于全局重新映射键,有 xmodmap。 xkeycaps 是一个交互式工具。您可以控制两个键。

    由于您只想为 Emacs 重新映射键(我觉得这有点不明智),您需要在 Emacs 内部寻找解决方案。应该是可以的,因为你可以重新绑定所有的键,但是如果不能交换修饰符的话,交换所有的键可能太乏味了。

    我个人将 CapsLock 映射到 Compose,以输入各种有趣的字符,例如 ä、ß、å、þ、«、-、...

    【讨论】:

    • 我想要它的原因是因为当我全局重新映射密钥并且其他人使用计算机时,我会不停地为此而烦恼。
    猜你喜欢
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2019-04-15
    • 2019-01-06
    • 2013-02-23
    相关资源
    最近更新 更多