Sublime Text 3 字体大小重置快捷键

24

我喜欢使用Sublime Text,但有一个功能有时会让我感到烦恼,那就是"意外缩放"。每当这种情况发生时,都会打破我的工作节奏,我必须将它改回原来的大小,这有点烦人。我搜索了一些快捷键可以将字体大小重置为正常值,但其中每个快捷键都需要创建一个Python文件,并且由于某些原因对我不起作用。

如果我可以在Preference.sublime-settings文件中更改一些内容,并通过快捷键(例如"Control+0")将字体大小重置回我想要的大小,那么我的生活将变得更加轻松。


“意外缩放”是什么意思?是指在按住控制键的同时意外滚动鼠标滚轮吗? - OdatNurd
2
这正是我所指的,或者在我的情况下是意外按到触控板而按下了 Control 键! - Md Faisal
1
在此处添加键盘绑定:https://coderwall.com/p/nvz-ra/resetting-sublime-text-s-zoom-font-size-via-keyboard - Gabriel Staples
我被困在放大的地狱中,现在Sublime Text无法使用。有什么最快的方法可以让我摆脱这种情况?同时,我必须安装另一个文本编辑器才能继续工作。 - cja
6个回答

30

背景: Sublime Text 3有名为increase_font_sizedecrease_font_size的命令。这些命令通过一定数值(取决于当前设置)增大或缩小字体大小,然后直接修改Preferences.sublime-settings文件中的设置,从而使更改在全局范围内永久生效。

默认情况下,这些命令绑定到Ctrl+鼠标滚轮上/下以及Ctrl++Ctrl+-

存在一个命令reset_font_size(默认未绑定到任何键),但此命令通过完全擦除字体大小设置来工作;因此,如果您没有使用默认字体大小,则这不太实用。此外,这也不会重置任何特定语法的字体大小等设置。

有一个set_setting命令可以用于在按键绑定中设置所需的字体大小,但这仅修改当前视图的字体大小(而上述命令会在全局范围内永久更改),因此这不是解决方案。

一种不需要插件修改行为的解决方案是完全删除鼠标滚轮的绑定,或更改它以便需要不同的修改键。这样就不会意外触发它了。

为了做到这一点,您需要创建或修改文件Packages\User\Default.sublime-mousemap。要确定您的User包存储在何处,可以使用菜单中的Preferences > Browse Packages

像以下内容一样存储到该文件中将完全删除绑定,以便使用鼠标滚轮更改字体大小是不可能的。如果该文件已经存在,请将第二行和第三行添加到文件中,并确保所有条目都以逗号结尾。

[
    { "button": "scroll_down", "modifiers": ["ctrl"], "command": "noop" },
    { "button": "scroll_up", "modifiers": ["ctrl"], "command": "noop" }
]
如果你仍然希望从鼠标中获得这个功能,那么你需要添加几行额外的命令。重要的是,映射到“noop”命令的这两行必须保留;如果你不明确地覆盖它们,则默认值将保持不变。
以下是一个示例,要求在鼠标滚动期间同时按住ShiftControl以修改字体大小。
[
    { "button": "scroll_down", "modifiers": ["ctrl"], "command": "noop" },
    { "button": "scroll_up", "modifiers": ["ctrl"], "command": "noop" },

    { "button": "scroll_down", "modifiers": ["shift", "ctrl"], "command": "decrease_font_size" },
    { "button": "scroll_up", "modifiers": ["shift", "ctrl"], "command": "increase_font_size" }
]

1
我使用了最后一组命令,它非常好用。非常感谢..! - Md Faisal
根据我在关于set_setting的阅读中所了解到的,似乎没有选项可以创建一个插件,使其将字体大小设置为某个特定的、用户定义的大小?(伪重置) - user90726
@jsv 可以使用插件来实现类似这样的功能(请参见我在类似问题上的答案)。这里的答案没有提供插件示例,因为OP提到了他们遇到的问题。 - OdatNurd
1
@OdatNurd 非常感谢,您在这里的许多 ST 答案都非常有用且详细。顺便问一下,在这里 noop 是什么意思?它只是一个有趣的词,可以更改为任何不存在的词,例如 foobarbaz 吗? - user90726
1
@jsv 你需要在命令字段中指定一些内容,而 Sublime 不会为不存在的命令生成错误,因此只要使用任何未知命令即可正常工作。noopno operation 的缩写,这是一个编程术语,所以我通常使用它。 - OdatNurd

10

前往 偏好设置->设置 并根据需求更改字体大小...


1
起初我以为这个答案误读了问题,但事实上,在Sublime中,按下ctrl加号和ctrl减号确实可以改变字体大小。请参考这个答案,了解更多关于Sublime Text的字体大小增加/减少命令。 - ruffin
2
要使用这个答案重置缩放,您应该写入“'font_size': 10”。 - stramin

7

请前往“首选项”>“按键绑定”

{ "keys": ["ctrl+shift+0",], "command": "reset_font_size" },

在右侧面板的“]”之前的最后一行添加此行,并保存。
现在每次想要重置时,请使用此键盘快捷键。

2
然而,重置缩放/字体大小没有快捷键。在大多数应用程序中,通常是super + 0(也称为cmd + 0),但Sublime Text默认情况下不提供此功能。要获取此功能,您需要将以下内容添加到键盘绑定中(位于首选项->键盘绑定下)
  { "keys": ["super+0"], "command": "reset_font_size" }

Courtesy: coderwall.com(来源:coderwall.com)

0

对于苹果或MacOS,按下Command键 -> ⌘+-键,可以相应地增加或减小Sublime中的文本大小。


-2

按下ctrl +键可以增大字体,按下ctrl shift +键可以减小字体大小。 我使用过它,它有效。


问题是重置而不是放大或缩小,你如何知道原始大小以减小或增加到它?! - Mohamed ElSayed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接