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

Issue with Overriding Default Keybinding in Atom Text Editor

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

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

我正在尝试替换默认的 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

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

上有一个默认的键绑定

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

我真的很困惑。

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

  • Mac: CmdShiftP
  • Windows/Linux: CtrlShiftP

在那里寻找 "save all",唯一适合我的是

Window: Save All

忽略它旁边可能显示的任何键绑定。重要的是命令名称,"Window: Save All"。您可以通过以下步骤将其转换为命令选择器:

  1. 全部小写
  2. 去掉:
  3. 后的space
  4. 将其他 space 替换为 -

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

所以你的键绑定应该是:

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

如命令名称所示,这将保存当前 window 中所有窗格 中的所有选项卡。它不应该影响其他 Atom windows.

中的任何内容