Сочетание клавиш для комментариев в Sublime Text 3


170

В Sublime Text 2 можно было закомментировать строку или блок строк с помощью Ctrl+ /и Ctrl+ Shift+ /. Согласно меню Edit > Commentэти ярлыки должны быть действительными, но в Sublime Text 3 (сборка 3047) они больше не работают. Кто-нибудь знает правильные сочетания клавиш по умолчанию для Linux и MacOS? Или это ошибка?


3
Откройте консоль (View-> Show Console) и напишите в ней: sublime.log_commands(True)и нажмите Ctrl+/и Ctrl+Shift+/. Что вы получаете в консоли вывода?
Душан

1
Сборка 3049 была только что выпущена на канале разработчика. Попробуйте установить это и посмотреть, была ли проблема решена. И, кстати, на OSX это Cmd-/не так Ctrl-/.
MattDMo

6
@dusan консоль говорит command: move_to_group {"group": 6}для Ctrl + Shift + / и command: focus_group {"group": 6}для Ctrl + /
0x4a6f4672

1
Я думаю, что это было исправлено в новых сборках. Только что добавил Sublime 3 для Ubuntu 13.10 32 bit и control + / все еще работает горячая клавиша для комментариев.
user137717

Ответы:


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

1
Если вы sublime.log_commands(True)еще раз и нажмите Ctrl+/и Ctrl+Shift+/, вы еще получите move_to_groupи focus_groupкоманды?
Душан

1
Вы правы, вы получаете toggle_comment {"block": false}и toggle_comment {"block": true}. Каким-то образом block:trueкоманда раздражала меня, похоже, она не работает хорошо. Команда block:falseработает как положено.
0x4a6f4672

1
Я хотел бы отметить, что это также работало на Sublime 3 на Win8;) спасибо!
Сос

1
у toggle есть некоторые проблемы в соответствии с css, html, js
localhoost

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».


Интересно , как вы придумали альтернативный controlи keypad_divide?
возникло

Работал на Fedora 29, а ctrl и 7 - нет.
Asta86

Это должен быть принятый ответ, поскольку это не обходной путь
Себастьян Ромеро

43

Это проблема интернационализации клавиатуры.

На стандартной американской QWERTY-клавиатуре, используемой в Австралии, где производится Sublime Text, /легко доступны: Американская 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
Спасибо - помогли мне понять это завершено!
Тобиас Хохгюртель

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 Preferences, Keyboard, то Shortcuts. Под App Shortcutsотключить, Show Help menuкоторый был связан с CMD+ SHIFT+ 7.

настройки клавиатуры

Моя раскладка клавиатуры норвежская, с английским в качестве языка ОС.




4

Для бразильских клавиатур ABNT вы должны Ctrl+ ;прокомментировать и повторить его, чтобы удалить комментарий.


4

В клавиатуре моего ноутбука, ABNT 2, я могу использовать ярлык CTRL+ ;в качестве действия по умолчанию для комментариев для блоков и линий. Тот же ярлык, чтобы раскомментировать.


Похоже, что клавиатура не правильно переделана. Странно, что клавиша "/" работает нормально при записи, но не для ярлыка.
mathiasfk


2

Используйте Ctrl+ / для однострочного комментария и
Ctrl+ Alt+ / для блочных или многострочных комментариев.



1

Убедитесь, что файл является распознанным типом. У меня был открыт файл yaml (без расширения файла .yaml), и Sublime Text распознал его как обычный текст. Обычный текст не имеет метода комментариев. Переключение типа файла на YAML заставило работать ярлык комментария.


1

Была такая же проблема. Проверьте с помощью команды sublime.log_input (True) на консоли, чтобы узнать, какие ключи обнаруживаются с помощью сочетаний клавиш CTRL+ /и SHIFT+ CTRL+ /. Затем замените ярлыки на те. (У меня поменял / на keypad_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

Sublime 3 для Windows:

добавление тегов комментариев -> 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

В случае, если у кого-то возникли дополнительные проблемы с Sublime 3 в Windows 7, все приведенные выше предложения не сработали для меня. Тем не менее, когда я 1 - повторно включил приложение в качестве администратора и 2 - выделил и выбрал «Правка» -> «Комментарий» -> переключить комментарий, впоследствии я смог использовать привязку клавиш пользовательских настроек для переключения комментариев. У меня действительно нет объяснения, почему это сработало, кроме того, что это сработало.


0

Откройте возвышенный текст 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+ 1, ctrl+ shift+ 1, у меня это сработало.

{"keys": ["ctrl + 1"], "command": "toggle_comment", "args": {"block": false}}, {"keys": ["ctrl + shift + 1"], " команда ":" toggle_comment "," args ": {" block ": true}}


0

В Windows используйте ctrl+ shift +, :чтобы комментировать для Python.


0

Возможно, я опаздываю на вечеринку, но в моей сборке 3176, похоже, ошибка исправлена. Просто использовал Ctrl + T, и он работал для файла CSS (Kubuntu 18.10)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.