#sublimetext2 #sublimetext
#sublimetext2 #sublimetext
Вопрос:
Вопрос:
Есть ли способ добавить новую команду (клавиатура, я знаю, что щелчок делает это), чтобы отменить многострочные курсоры, или, может быть, переназначить командный режим на что-то, кроме ESC, чтобы его можно было использовать для отмены многострочных курсоров?
Подробные сведения:
Мне действительно нравится использовать sublime text, и недавно я узнал о пакете vintage, который вы можете использовать, где у вас есть доступ к модальному текстовому редактору, похожему на vim. Мне тоже очень понравилось это использовать, но я продолжаю сталкиваться с этой незначительной проблемой:
В режиме sublime text без винтажного режима ESC можно использовать для отключения нескольких курсоров строки (например, ctrl-alt-вверх / вниз). Однако при включенном vintage это переводит меня в командный режим, но на самом деле я хочу остаться в режиме вставки и отменить многострочные курсоры.
Мне интересно услышать, сталкивался ли кто-нибудь еще с этим, и что они сделали, чтобы это исправить, поскольку я чувствую, что это может произойти довольно часто. Спасибо!
Ответ
Добавьте привязку ключа (см. Принятый ответ). Мне пришлось немного поиграть с настройками в принятом ответе, чтобы заставить его работать, но это определенно правильный путь для решения этой проблемы.
Ответ №1:
Вы можете сделать это, создав новое сопоставление ключей. Перейдите к Preferences -> Key Bindings-User
, чтобы открыть свой пользовательский файл раскладки. Это должен быть действительный JSON, поэтому, если у него еще нет содержимого, убедитесь, что в первой строке есть открытая скобка [
, а в последней строке — закрывающая скобка ]
. Привязки отдельных клавиш представляют собой слова, заключенные в фигурные скобки {}
и разделенные запятыми ,
.
Создайте новую запись со следующим содержимым:
{ "keys": ["shift escape"], "command": "single_selection",
"context":
[
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false },
{"key": "selection_empty", "operator": "equal", "operand": false}
]
}
По сути, это создает привязку ключа для ShiftEsc, которая возвращается к одному выделению только в режиме вставки, когда виджет не активен и при наличии нескольких выделений. Я выбрал эту комбинацию клавиш, потому что CtrlEsc мой первый выбор, похоже, вызывает меню «Пуск» Metro в Win8 и AltEsc участвует в переключении окон. Не стесняйтесь устанавливать для него любую привязку ключа, которую вы пожелаете — список допустимых имен ключей находится здесь.
Это должно работать как с Sublime Text 2, так и с ST3.
Комментарии:
1. Хорошо, спасибо за это решение. Я вставил то, что у вас было, и это не работало, пока
{ "key": "setting.is_widget", "operand": false }
не было изменено на{ "key": "setting.is_widget", "operand": true }
. После этого все работало нормально. Не могли бы вы немного расширить информацию о том, что на самом деле проверяет строка виджета? Это зависит от версии ST или это какое-то системное свойство? Кстати, я на w7.