我使用 Mac 作为开发机,但正在慢慢过渡到 Linux。因此,我工作时大部分时间都花在 Linux 客户虚拟机上。但我仍然在 Mac OS X 上花费相当多的时间,处理诸如电子邮件之类的事情。
我遇到的一个问题是更改两个键盘布局之间的上下文。我经常点击其他操作系统的键盘快捷键来转到终端行的开头,或者根据我所在的操作系统而混淆Command。CCtrlC
谁能给我指明正确的方向,使 Mac OS X 和 Linux(正在使用 CentOS 6.3)基本操作系统键盘映射保持一致?由于我的最终目标是完全从 OS X 迁移到 Linux,因此我更愿意更改 OS X 以匹配 Linux,但我对其他替代方案持开放态度。
答案1
经过大量实验并经历了各种很难正确和维护的复杂配置后,我找到了以下简单的解决方案。
在 MacOS 中,切换Alt和Cmd:设置/键盘/特殊键。选项变成命令。命令变成选项。
在 Linux 中,创建Cmd(超级)第二个Ctrl键:
~/.Xmodmap
使用以下命令创建:
remove mod4 = Super_R
remove mod4 = Super_L
add Control = Super_R
add Control = Super_L
确保您的来源.Xmodmap
是.bashrc
:
$xmodmap .Xmodmap
结果是特殊键的顺序与您在任何键盘上找到它们的顺序相同:CtrlWin/ CmdAlt。我承认 Linux 中没有 super 是一个弱点,但是没有 super 也很容易生活。
但真正神奇的是,所有在 Linux 中使用 ctrl 和在 MaxOS 中使用 cmd 的命令现在都映射到相同的物理键:
ctrl/cmd-c
ctrl/cmd-x
ctrl/cmd-v
ctrl/cmd-z
ctrl/cmd-b
ctrl/cmd-i
ctrl/cmd-u
etc
现在都使用相同的物理按键组合来执行。
这消除了我 80% 的烦恼,同时它足够简单,并且不会对共享我的笔记本电脑(结对编程)造成困难的默认键造成太大干扰。
我创建了一些小贴纸来指示更改后的映射:https://twitter.com/ejgroene/status/270933843765260289/photo/1
答案2
按键重映射4MacBook看起来它应该可以满足您的需要。它是免费的并且开源,并且似乎已经收到好评。