Sublimetext3 升华文本3,重新设计+;和-远离增加或减小字体大小以折叠展开

Sublimetext3 升华文本3,重新设计+;和-远离增加或减小字体大小以折叠展开,sublimetext3,Sublimetext3,我想分配以下键绑定(在用户键映射中设置) 但违约似乎持续存在,这是 { "keys": ["ctrl++"], "command": "increase_font_size" }, { "keys": ["ctrl+="], "command": "increase_font_size" }, { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" }, { "keys": ["ctrl+-"], "command": "d

我想分配以下键绑定(在用户键映射中设置)

但违约似乎持续存在,这是

{ "keys": ["ctrl++"], "command": "increase_font_size" },
{ "keys": ["ctrl+="], "command": "increase_font_size" },
{ "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" },
{ "keys": ["ctrl+-"], "command": "decrease_font_size" },
{ "keys": ["ctrl+keypad_minus"], "command": "decrease_font_size" },
我想删除所有的缩放效果,所以我尝试了这个

{ "keys": ["ctrl++"], "command": "null" },
{ "keys": ["ctrl+="], "command": "null" },
{ "keys": ["ctrl+keypad_plus"], "command": "null" },
{ "keys": ["ctrl+-"], "command": "null" },
{ "keys": ["ctrl+keypad_minus"], "command": "null" }
但是按键仍然可以缩放文本,我做错了什么?
也许我可以将它们从默认的键映射中删除,但这是不可编辑的;DR对您的问题的回答是,您在这里遇到问题的原因是,您尝试运行的命令的默认绑定比您上面提到的要多(由于Sublime中的一些奇怪之处,我认为我以前没有遇到过),因此您覆盖了一些但不是所有的默认绑定

为了获得更详细的解释,我们可以注意到,如果使用命令调色板中的
查看包文件
,则可以打开
默认值(Linux).升华键映射
默认值(Windows).升华键映射
默认值(OSX).升华键映射
;其中一个(根据您的问题,您似乎在Windows上)是当您使用
首选项>键绑定时出现在键绑定左侧窗格中的文件,另外两个用于Sublime text支持的其他平台

如果我们在默认绑定中搜索的不是您试图重新定义的键,而是绑定到这些键的命令,我们会得到以下结果:

窗户 Linux OSX
这里看到的绑定的一个不同之处是,Windows和Linux对这些绑定使用Ctrl键,而MacOS使用Super键

不过,还值得注意的是,还有其他几件事:

  • Linux将命令绑定到
    +
    -
    =
  • MacOS绑定到
    加号
    减号
    等于
  • Windows绑定到
    +
    -
    =
    ,和
    等于
    (以及
    键盘
    等同物)
让你感到不快的是,Windows还使用如上所示的
equals
键绑定命令,根据你的问题,你没有覆盖它

=
equals
(以及其他对)之间有一个内部等价关系,这导致Sublime选择
equals
,而不是
=
;您尚未覆盖使用
equals
的命令版本,因此它仍然适用

要真正覆盖默认值,需要为键重新分配所有可能的绑定,如下所示:

{ "keys": ["ctrl+-"], "command": "fold" },
{ "keys": ["ctrl+="], "command": "unfold" },
{ "keys": ["ctrl++"], "command": "unfold" },
{ "keys": ["ctrl+equals"], "command": "unfold" },

{ "keys": ["ctrl+keypad_plus"], "command": "null" },
{ "keys": ["ctrl+keypad_minus"], "command": "null" },

{ "keys": ["ctrl+shift+equals"], "command": "null" },
{ "keys": ["ctrl+shift+keypad_plus"], "command": "null" },
为了完整起见,这将
ctrl+=
ctrl+equals
绑定到同一个命令,即使始终只有
ctrl+equals
会触发;这是一个很好的提醒,有多个键可以做到这一点

我们还将
ctrl++
绑定到该命令。但是,这通常仅适用于具有不在数字键盘上的专用
+
键的键盘(如果有)


这是因为在US键布局上(升华始终在内部使用),
+
键是
=
键的移位状态;因此,您必须按Shift键才能键入,但升华键似乎是键
ctrl+Shift+=
;也就是说,它看到的是键及其所有修改器,而不是使用
ctrl
修改器的键的移动状态。

完美,如此奇怪的默认键映射。感谢您抽出时间:-)
    { "keys": ["ctrl++"], "command": "increase_font_size" },
    { "keys": ["ctrl+="], "command": "increase_font_size" },
    { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" },
    { "keys": ["ctrl+-"], "command": "decrease_font_size" },
    { "keys": ["ctrl+keypad_minus"], "command": "decrease_font_size" },

    { "keys": ["ctrl+equals"], "command": "increase_font_size" },
    { "keys": ["ctrl+shift+equals"], "command": "decrease_font_size" },
    { "keys": ["ctrl+shift+keypad_plus"], "command": "decrease_font_size" },
    { "keys": ["ctrl++"], "command": "increase_font_size" },
    { "keys": ["ctrl+="], "command": "increase_font_size" },
    { "keys": ["ctrl+-"], "command": "decrease_font_size" },
    { "keys": ["super+equals"], "command": "increase_font_size" },
    { "keys": ["super+plus"], "command": "increase_font_size" },
    { "keys": ["super+minus"], "command": "decrease_font_size" },
{ "keys": ["ctrl+-"], "command": "fold" },
{ "keys": ["ctrl+="], "command": "unfold" },
{ "keys": ["ctrl++"], "command": "unfold" },
{ "keys": ["ctrl+equals"], "command": "unfold" },

{ "keys": ["ctrl+keypad_plus"], "command": "null" },
{ "keys": ["ctrl+keypad_minus"], "command": "null" },

{ "keys": ["ctrl+shift+equals"], "command": "null" },
{ "keys": ["ctrl+shift+keypad_plus"], "command": "null" },