Atom键映射组合不适用于箭头键

时间:2017-01-19 04:57:27

标签: atom-editor

我在keymap.cson文件中有这个:

'body':
  'ctrl-alt-left': 'editor:select-to-first-character-of-line'

但它不起作用(没有效果)。

以下键盘图可以正常工作:

'body':
  'ctrl-alt-a': 'editor:move-to-beginning-of-line'
  'ctrl-alt-e': 'editor:move-to-end-of-line'
  'ctrl-alt-shift-s': 'editor:select-to-first-character-of-line'
  'ctrl-alt-shift-w': 'editor:select-to-end-of-line'

但我希望能够使用箭头键。

1 个答案:

答案 0 :(得分:2)

我不知道你从哪里得到body选择器。对于这样的地图,您应该使用atom-text-editor,就像keymap.cson文件夹中默认.atom的示例一样。这应该做你想要的:

'atom-text-editor':
  'ctrl-alt-left': 'editor:move-to-beginning-of-line'
  'ctrl-alt-right': 'editor:move-to-end-of-line'
  'ctrl-alt-shift-left': 'editor:select-to-first-character-of-line'
  'ctrl-alt-shift-right': 'editor:select-to-end-of-line'

在调试此类问题时,您还必须记住其他一些事项。

首先,alt的含义因平台而异。在macOS上,它表示 Option 键。在Windows或Linux上,我认为这意味着标记为 Alt 的键,但键盘可能有点不同(尤其是非美国版面)。

其次,如果系统的更高层(操作系统本身,即窗口管理器)正在捕获组合键,那么它将永远不会到达Atom。您可以使用Key Binding Resolver检测这种情况。您可以在macOS上使用 Cmd 激活它。我不确定其他平台,但通常Cmd在MacOS上映射到Windows和Linux上的Ctrl,所以我建议 Ctrl

当键绑定解析器处于活动状态时,您按下的所有键或键组合都会在解析器中列出,以及Atom中的操作(如果有)。您可以使用它来确定Atom认为给定密钥是什么,并且您还可以使用它来检测给定的密钥组合是否首先未达到Atom。