Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

После установки emmet не работает shift+alt+стрелка

#sublime_text #emmet

                    
Sublime text 3. Linux Mint Cinnamon 17.3.

Emmet установлен штатно через Package control.

Очень нужная для меня функция ввода множественных курсоров по shift+alt+стрелка перестала
работать. Не заместилась на другую, а просто ничего не происходит.

Пришлось пока отключить Emmet в настройках, а жаль. 

Как разрешить конфликт?
    


Ответы

Ответ 1



В примере рассмотрим, что делать, если больше не функционирует сочетание Alt+Shift+↑, хотя Emmet занимает и Alt+Shift+↓. Что делать, если перестали работать горячие клавиши Либо вы хотите испробовать какое-то новое сочетание, но результата нет или он совсем не такой, какой по идее должен быть. В нередко используемых и находящихся в автозагрузке программах я дезактивирую горячие клавиши, если не планирую ими пользоваться. Некоторые программы регистрируют шорткаты глобально, и есть шанс нарваться на конфликт горячих клавиш. Ну а нужные мне комбинации сохраняются в голове, при необходимости они вспоминаются. Если убедились, что проблема не в стороннем софте, значит, скорее всего, она возникает из-за несогласованности сочетаний между плагинами в Sublime Text 3. Также они имеют нехорошее на мой взгляд свойство изменять дефолтные сочетания. Раз уж Emmet этим злоупотребляет, то что говорить о малоиспользуемых плагинах. Ещё вариант — после обновлений Sublime Text до новых билдов, некоторые сочетания могут быть заменены/удалены разработчиками. Порядок действий, впрочем, остаётся тем же. 1. Плохое решение Поудаляй плагины по одному — узнаешь в каком дело. Это может быть долго, потребовать переустановки множества плагинов, вы не узнаете причин, вызвавших конфликт в проблемном плагине; и неясно, что делать, если нужны как плагин, так и занятый им шорткат. 2. Не самое удачное решение Проделывать только: Preferences → Key Bindings - Default (если перестали работать горячие клавиши по умолчанию)/ → Package Settings → <имя плагина, в котором начали отказывать хоткеи> → Settings - Default (когда перестали функционировать горячие клавиши в одном из плагинов) → поиском ищем отказавшее сочетание → копируем содержащую его строку → вставляем её в файл, открывающийся после Preferences → Key Bindings - Default. Для Alt+Shift+↑ строка следующая: { "keys": ["alt+shift+up"], "command": "select_lines", "args": {"forward": false} }, В этом файле с расширением sublime-keymap используется синтаксис JSON, если не знаете его, и у Вас будет выскакивать окно с ошибками, читаем тут (ищем по тексту JSON-синтаксис) и здесь. Хоткей заработает, но вы не узнаете, в каком плагине и тем более, какой из его команд проблема. 3. Хорошее решение Плагин Keymaps. После установки Tools → Keymaps → Cheat Sheet. Откроется полный список горячих клавиш Sublime Text 3: по умолчанию, занятых плагинами и пользовательских. Находим поиском по открывшемуся файлу, какая команда какого плагина занимает наш шорткат, определяем, нужна она нам или нет, если нет, то проделываем действия, описанные в предыдущем разделе. У метода есть один недостаток. У меня не работало сочетание Ctrl+L — выделение строки. В Cheat Sheat мне не удалось найти ничего, что занимало это сочетание. Оказалось, в одном из плагинов использовалось сочетание Ctrl+K, Ctrl+L, а хоткеем Ctrl+L вызывалась та же самая команда, что и Ctrl+K, Ctrl+L. 4. Способ наверняка Ctrl+' (машинописный обратный апостроф, символ расположен на той же клавише, где кириллическая «ё») → вводим в открывшееся поле sublime.log_commands(True), затем sublime.log_input(True). sublime.log_input(True) — встроенный в Sublime Text 3 кейлоггер, вывод осуществляется в ту же консоль, которую мы открыли сочетанием Ctrl+`. sublime.log_commands(True) — вывод лога команд в эту консоль. Нажимаем в любом месте открытого файла проблемный хоткей, в примере это Alt+Shift+↑, смотрим вывод: key evt: shift+alt+up command: run_emmet_action {"action": "increment_number_by_10"} По командам в Sublime Text 3 обычно становится ясным, что за плагин их использует, в данном случае Emmet. Для подробностей, что означает команда, можно погуглить или же пройтись по пути Preferences → Package Settings → Emmet → Key Bindings - Default . Для себя я решил: мне не нужно, чтобы Emmet занимал это сочетание, и проделал действия, описанные в разделе 2. Раз в Emmet, установленном почти 2 миллиона раз, таки решили перекрыть Alt+Shift+↑, обращение к его разработчикам, полагаю, имеет небольшие шансы на благоприятный исход. Для полной уверенности по моему мнению эффективнее уметь обращаться с горячими клавишами самостоятельно.

Комментариев нет:

Отправить комментарий