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" },