mac的option键不能按住一直生效

环境:

  • os: macOs Big Sur
  • Version: 11.6
  • MacBook Pro(16-inch, 2019)

Done:

  • System preference → keyboard 将Option key映射为Escape

Expect:

  • 按住option,然后多次按b或者f能够每按一次就往后或者往前移动光标到后一个或前一个单词
  • 希望以上行为在iterm2和emacs都能生效

Result:

  • 只能触发一次,再按b或者f,直接打印b或者f
  • 按住ctrl,再按b或者f,是可以多次移动光标的

请问谁遇到过同样问题,困扰许久,望指教。

不映射不行吗?

要么在 Emacs 里设置映射,要么用第三方工具(Karabiner-Elements、Hammerspoon 等)设置全局映射,不要染指系统偏好设置(功能太弱),到时候又跟哪里冲突了都不好找。 既然想改键,你所说的行为既有单键click又有组合键hold,建议还是直接研究Karabiner-Elements吧。

了解一下成熟的映射方案:

查看是哪个 app 吃了你的键盘输入(ShortcutDetective):

https://www.irradiatedsoftware.com/labs/

1 个赞

谢谢,这个映射方案看起来不错,不过又要学习一套新的按键方式

ShortcutDetective,这个我按option的时候就会退出 -.-

那就说明你的设置有问题,你把 Option 设置成了 Escape,软件自然认为你要退出。

而你的 Option 除了作为 Escape 再无其他可用之处,因为 macOS 没有给你更高级的映射方式。

你应该严肃慎重地考虑换一套不影响其他 app 的按键方式,比如基于Karabiner-Elements 的 Capslock。

Capslock 提供的是把本来没什么用的一个输入法切换按键变成了一个新的修饰键,单独按下松开就是 Escape,Capslock+Space 就是 映射为 Control+Space(系统默认的输入法切换快捷键)。

多一个修饰键就意味着你多了16种修饰键的组合(0-15 layer),16*26个主键区字母=416 个(以及更多)可能的键盘快捷键设置。

1 个赞

不映射,直接在emacs配置里设置好像可以了,感谢。

但是如何在iterm2里让option也能做为meta键呢

设置 option 为 ESC+

1 个赞

感谢,终于解决了 :rose: