Sublime Text 3中注释行的键盘快捷键


170

在Sublime Text 2中,可以用Ctrl+ /Ctrl+ Shift+ 注释掉一行或几行 /。根据菜单,Edit > Comment这些快捷方式应该有效,但是在Sublime Text 3(内部版本3047)中,它们似乎不再起作用。有人知道Linux和MacOS正确的默认键盘快捷键吗?还是一个错误?


3
打开控制台(“查看”->“显示控制台”)并在其中编写:sublime.log_commands(True)然后按Ctrl+/Ctrl+Shift+/。您在控制台输出中得到什么?
dusan

1
Build 3049刚刚在开发人员通道上发布。尝试安装该软件,然后查看问题是否已解决。而且,顺便说一句,在OSX上Cmd-/不是Ctrl-/
MattDMo 2013年

6
@dusan控制台说command: move_to_group {"group": 6}Ctrl + Shift + /和command: focus_group {"group": 6}Ctrl + /
0x4a6f4672 2013年

1
我认为这已在较新的版本中修复。只是针对Ubuntu 13.10 32位dl升华了Sublime 3,而Ctrl + /仍然在热键上发表评论。
user137717 2014年

Answers:


297

似乎有一个错误:http : //www.sublimetext.com/forum/viewtopic.php? f =3& t = 11157& start=0

解决方法是,转到Preferences-> Key Bindings - User并添加以下键绑定(如果您使用的是Linux):

{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }

更新:这也适用于Windows 8(请参阅@Sosi的评论)


4
是的,这似乎是一个错误,但是至少在Linux(Ubuntu)上,解决方法不能令人满意。
0x4a6f4672 2013年

1
如果sublime.log_commands(True)再次执行,然后按Ctrl+/Ctrl+Shift+/,您仍然得到move_to_groupfocus_group命令吗?
dusan

1
你是对的,你得到toggle_comment {"block": false}toggle_comment {"block": true}block:true命令不知何故激怒了我,似乎效果不佳。该block:false命令按预期工作。
0x4a6f4672

1
我想指出,这也适用于Win8上的Sublime 3;)谢谢!
Sos

1
切换根据CSS,HTML,JS会遇到一些问题
localhoost 2014年

84

您可以将以下行添加到“首选项/键绑定-用户”:

{ "keys": ["control+keypad_divide"],"command": "toggle_comment", "args": {"block": false} }, 
{ "keys": ["shift+control+keypad_divide"],"command": "toggle_comment", "args": {"block": true}}

这就是我解决问题的方式-将“ ctrl”替换为“ control”,将“ /”替换为“ keypad_divide”。


我不知道你是怎么想出的替代controlkeypad_divide
AROD

在Fedora 29上工作,而ctrl和7没有。
Asta86 '18

这应该是公认的答案,因为它不是解决方法
sebastian romero 19'Jan

43

这是键盘国际化问题。

在澳大利亚使用的制作Sublime Text的标准美国QWERTY键盘上,/可以轻松获得: 美国QWERTY键盘

其他许多键盘不是这种情况。以德国QWERTZ键盘为例。需要按SHIFT+ 7才能得到一个/。这就是为什么注释在这些键盘上无法正常工作的原因。 德国QWERTZ键盘

将用户键绑定更改为以下所列的键绑定将适用于德语QWERTZ键盘。

{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }

如果仍然使用不同的键盘布局出现问题,请相应地更改键绑定。


1
谢谢-帮助我了解了它的完整内容!
TobiasHochgürtel15年

16

您可以通过以下方式解决此错误:

[
   { "keys": ["ctrl+keypad_divide"], "command": "toggle_comment", "args": { "block": false } },
   { "keys": ["ctrl+shift+keypad_divide"], "command": "toggle_comment", "args": { "block": true } },
]

它允许用CTRL+ /CTRL+ SHIFT+ 注释,/ 并且您可以/在键盘上使用=)



8

我也在Linux下。对我来说,它仅在按CTRL+ SHIFT+ 时才有效/,就像单个注释,而不是整体注释。原因是要添加该/字符,我必须按SHIFT,否则,升华文字会检测到我按了CTRL+ :

这是我恢复正常偏好的解决方案。输入Key Bindings - User

{ "keys": ["ctrl+:"], "command": "toggle_comment", "args": { "block": false } }, { "keys": ["ctrl+shift+:"], "command": "toggle_comment", "args": { "block": true } }


7

在OSX优山美地,我首先要修复这个System PreferencesKeyboard的话Shortcuts。在下App Shortcuts,禁用Show Help menu绑定到CMD+ SHIFT+的对象7

键盘设定

我的键盘布局是挪威语,英语为操作系统语言。


这解决了OSX上国际键盘的问题
Skatox '17


4

对于巴西ABNT键盘,您可以Ctrl+ ;进行评论,然后重复进行以删除评论。


4

在我的笔记本键盘ABNT 2中,我可以将CTRL+ ;快捷方式用作块和行的默认注释操作。取消注释的快捷方式相同。


似乎键盘未正确调校。奇怪的是,“ /”键在编写时可以正常工作,但不能用于快捷方式。
mathiasfk 2014年




1

确保文件是可识别的类型。我打开了一个yaml文件(没有.yaml文件扩展名),Sublime Text将其识别为纯文本。纯文本没有注释方法。将文件类型切换为YAML可使注释快捷方式起作用。


1

有同样的问题。使用控制台上的sublime.log_input(True)命令检查以查看使用CTRL+ /SHIFT+ CTRL+ //快捷方式检测到哪些键。然后用这些替换快捷方式。(更改/ for keyboard_divide为我工作)


1

对我而言,在Mac OS Sierra上:

{ "keys": ["super+forward_slash"], "command": "toggle_comment", "args": { "block": true } }, { "keys": ["super+alt+:"], "command": "toggle_comment", "args": { "block": false } },

1

适用于Windows的Sublime 3:

添加注释标签-> CTRL+ SHIFT+ ;
整行变为注释行-> CTRL+;


1

我的Mac上的快捷键是⌘cmd+ /,这使得多行注释,但为单行:

// if ($username && $password) {
//  echo "You are good to go";
// } else {
//  echo "Fields cannot be blank";
// }

要么

⌥ alt+ ⌘cmd+ /结果是从选择的开始到最后的总体评论。

/*
if ($username && $password) {
    echo "You are good to go";
} else {
    echo "Fields cannot be blank";
}
*/

1

我喜欢按Ctrl + /(取消)注释当前行。另外,我希望光标向下移动一行,这样,我可以轻松地(取消)注释多行。如果安装“命令链”插件,则可以将以下两个操作结合在一起:

[
    { 
        "keys": ["ctrl+keypad_divide"], 
        "command": "chain",
        "args": {
            "commands": [
                ["toggle_comment", { "block": false }],
                ["move", {"by": "lines", "forward": true}]
            ]
        }
    }
]

0

万一Windows 7上的Sublime 3出现了其他问题,上述建议对我都不起作用。但是,当我1-以管理员身份重新运行该应用程序并2-高亮显示并选择“编辑”->“注释”->“切换注释”时,此后,我能够使用用户首选项设置键绑定来切换注释。除了它确实起作用之外,我实际上没有任何解释。


0

打开sublime Text 3,然后转到“首选项”菜单,然后单击“键绑定”,然后粘贴此代码以使用CTRL+ 进行注释快捷方式D

[{ "keys": ["ctrl+d"],"command": "toggle_comment", "args": {"block": false}},]

然后保存。现在您可以使用快捷方式了。



0

这对Win 10来说对我来说还不错:

    [{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } }
]

请注意,“ []”是必要的,如果您错过它们,它将给您一个错误。


0

如果快捷键ctrl+ ?ctrl+ shift+ ?ctrl+ /不起作用,请尝试切换到另一个,例如ctrl+ 1ctrl+ shift+ 1,这对我有用。

{“ keys”:[“ ctrl + 1”],“ command”:“ toggle_comment”,“ args”:{“ block”:false}},{“ keys”:[“ ctrl + shift + 1”],“命令”:“ toggle_comment”,“参数”:{“ block”:true}}



0

我可能参加聚会的时间很晚,但是从我的版本3176开始,该错误似乎已修复。刚使用Ctrl + T即可用于CSS文件(Kubuntu 18.10)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.