在Atom文本编辑器中覆盖默认键绑定的问题

时间:2017-03-21 15:01:15

标签: keyboard-shortcuts atom-editor

我试图在Atom中修改我的键绑定。

到目前为止,我已成功通过keymap.cson文件添加自定义键绑定。但是,我在尝试覆盖默认值时遇到了问题。

我试图替换默认的 Ctrl + Shift + S ,它与Save as绑定默认情况下,改为执行Save all命令。当然,仅仅添加不起作用,所以过了一段时间我发现我应该先unset!组合键。现在它在Key Binding Resolver中显得更加突出。

此键盘映射在键绑定解析器中生成以下输出:

'body':
'unset!': 'core:save-as'
'ctrl-shift-S': 'core:save-all' # Key Binding Resolver claims this works fine
                                # but it doesn't do anything
'ctrl-shift-E': 'editor-stats:toggle' # works fine

'atom-text-editor':
'ctrl-shift-A': 'bracket-matcher:select-inside-brackets' # works fine

Screenshot of Key Binding Resolver

尽管如此,键绑定 Ctrl + Shift + S 根本不保存任何内容。从上下文菜单访问命令工作正常。我在网上搜索过,core:save-all命令似乎存在,甚至在Mac上都有默认的键绑定。

我在Windows 10上使用最新版本的Atom,确保没有包与keybind冲突。

我真的对此感到困惑。

1 个答案:

答案 0 :(得分:0)

您可以使用命令面板找到命令。

  • Mac: Cmd Shift P
  • Windows / Linux: Ctrl Shift P

寻找"保存所有"在那里,我唯一的匹配是

  

窗口:全部保存

忽略它旁边可能显示的任何键绑定。重要的是命令名称,"窗口:全部保存"。您可以使用以下步骤将其转换为命令选择器:

  1. 小写一切
  2. 删除:
  3. 之后的空格
  4. -
  5. 替换其他空格

    这会产生您的选择器:window:save-all

    所以你的密钥绑定应该是:

    'ctrl-shift-s': 'window:save-all'
    

    正如命令的名称所示,这将保存当前窗口中所有窗格中的所有选项卡。它不应该影响其他Atom窗口中的任何内容。