我在Cygwin中使用emacs,并使用Autohotkey重新映射左手'Alt'键,左手'Windows'键分别为(左)Ctrl和(左)Alt。
这意味着像Ctrl-xCtrl-c我的左手拇指按下标有'Alt'的键来生成的emacs序列Ctrl。好。
一切似乎都没M-SPC问题,除了我无法上班,所以我的问题是请求帮助。
这是我正在使用的Autohotkey脚本(顺便说一下,它仅用于理论上的完整性,我将左手Ctrl键重新映射为左手Windows按钮 - 我在使用emacs时从未实际按过它):
#IfWinActive ahk_class mintty
LWin::LAlt
LAlt::LCtrl
LCtrl::LWin
要明确的是,当我说'一切正常'时,我的意思是在emacs中我使用'describe key sequence'功能(C-h然后k),然后尝试我想要的组合键。例如,所有这些都显示了我期望的序列的emacs文档:
- 标记为'Alt'的密钥+ g报告emacs文档
C-g
。好。 - 标有'Alt'+的键SPACE报告了文档
C-@
,emacs说的也是映射到的C-SPC
,所以看起来没问题。好。 - 标有“MSWin Symbol”的密钥+ x报告文档
M-x
。好。 - 标记为“MSWin Symbol”的键+标记为“Alt”的键+ k报告文档
C-M-k
。好。
但:
- 标有“MSWin Symbol”的键+ SPACE显示了cygwin窗口的“右键单击”菜单,而不是将我带到文档中
M-SPC
。坏。 - 顺便说一下,我可以
M-SPC
通过ESC后面的操作来获取文档SPACE。
让我在对这个问题的评论作出反应的过程中再添一点:
- 标有“MSWin Symbol”的键+标有“Alt”+的键SPACE带我到文档中
C-@
,因此我怀疑emacs正在理解它,C-SPC而不是C-M-SPC我认为我的Autohotkey脚本会将其映射到。坏。
关于为什么Autohotkey不会M-SPC
像我期望的那样做的任何想法,或者为什么C-M-SPC被emacs理解为C-SPC
(我怀疑)?
谢谢
有趣的是,在我参与的另一个SO问题中(参见stackoverflow.com/a/15884328/1243435中的第一条评论),Thomas提到CM-SPC在某些终端中可能存在问题,并解释说对他来说它确实是什么我在这里看到 - 它为终端本身生成一个右键菜单。
—
罗伯特
这是一个非常奇怪的重新映射...大多数重新映射CTRL的人将其重新映射到CAPS-LOCK。还有一些昂贵的键盘配有CTRL代替CAPS-LOCK(这是CTRL在旧键盘上的位置),例如Happy Hacking Pro 2。请注意,如果您触摸键入,您会发现CTRL-x很难正确执行,无论您将CTRL置于何处,因此您可以使用Emacs和ctl-x-map重新映射所有“Cx ...”快捷方式别的东西(我用C-而不是Cx)。
—
user988052 2013年
在我家的MacBook上,CMD键位于空格键旁边,即。确切地说,我的PC键盘上的Alt键就在哪里。在MacBook上,CMD键通常用于在PC上使用Ctrl的情况。我喜欢它。我确实试过使用PC的CAPS-LOCK作为Ctrl的小指重新映射,但这很痛!我可怜的小手指疼痛!相反,使用PC的Alt作为Ctrl,你只需将你的(更强大的)拇指放在手指和宾果游戏的拱门下面!有Ctrl。好吧,我想。在这一点上,我会声称Apple的布局是正确的(让我们不讨论它们的'#'位置)。
—
罗伯特
你抱怨“被标记为'Alt'+空格的钥匙”被误解了; 但是你已经清楚地表明Windows徽标键是你的Meta,所以你应该修改它来说“键标记为'MSWin符号'+ SPACE”。除非我真的误解了一些东西(当你谈论转移这么多钥匙时不难做到!)
—
echristopherson 2013年
@echristoperson你是对的。我即将纠正这一点。谢谢。
—
罗伯特