В случае Sublime Text действия мыши настраиваются так называемыми mousemap
файлами (с расширением .sublime-mousemap
). Обычно у вас может быть 2 варианта этих файлов: -
Default.sublime-mousemap
: это будет определять действия мыши для любой платформы. Default ($platform).sublime-mousemap
: это будет определять действия мыши для Speci c platform, где $platform
- любое one из Windows
, Linux
или OSX
в зависимости от вашей операционной системы.
Вы можете просмотреть поставляемые по умолчанию файлы карты мыши с использованием View Package File
из палитры команд и поиска mousemap
.
Чтобы определить свои собственные действия мыши (или переопределить любые существующие действия), вы должны создать файл с помощью имя Default.sublime-mousemap
в каталоге User
(чтобы попасть в этот каталог, выберите Preferences -> Browse Packages ...
в главном меню) для независимого от платформы переопределения (или Default ($platform).sublime-mousemap
для переопределения, зависящего от платформы, в зависимости от вашей ОС).
Как только это будет сделано, вот некоторые базовые c знания о файлах карты мыши (обратите внимание, что нет официальной документации или документации сообщества по файлам карты мыши, поэтому все основано на экспериментах и на том, что разработчики имеют id о таких файлах).
Вот значение некоторых клавиш в файлах карты мыши: -
button : Это определяет имя кнопка. Например, button1 относится к левой кнопке мыши, а button2 определяет правую кнопку мыши. Точно так же вы можете иметь button3 , button4 . button5 et c. Я не уверен, сколько на самом деле существует таких названий кнопок. Также для колеса прокрутки у вас есть scroll_up для движения вверх и scroll_down для противоположного поведения.
модификаторы : Это список клавиш-модификаторов, например ctrl , alt et c. Например, ["alt"]
, ["ctrl", "alt"]
. Когда вы определяете список модификаторов, все перечисленные модифицирующие клавиши должны быть нажаты одновременно, а затем нажатие / отпускание соответствующей кнопки запускает какое-то действие.
command : Это определяет команда, которая будет выполнена, когда соответствующая кнопка будет отпущена после нажатия. Если эта команда принимает какие-либо аргументы, вы можете иметь для нее ключ args .
press_command : определяет команду, которая будет выполняться, когда соответствующая кнопка нажата . Если эта команда принимает какие-либо аргументы, вы можете использовать для нее ключ press_args .
count : количество нажатий соответствующая кнопка для запуска действия (под действием я имею в виду выполнение соответствующей команды / press_command )
ПРИМЕЧАНИЕ. можно определить как command , так и press_command , если хотите.
Давайте рассмотрим несколько примеров: -
Имя файла: - User/Default.sublime-mousemap
[
{
"button": "button2",
"modifiers": [],
"press_command": "echo",
"press_args": {
"message": "I am pressed"
},
"command": "echo",
"args": {
"message": "I am released"
},
}
]
Здесь правая кнопка ( button2 ) привязана к встроенной команде echo . Если вы сейчас щелкните правой кнопкой мыши, поведение по умолчанию было бы фактически открытием контекстного меню, но теперь у нас есть переопределение этого поведения, и теперь вы можете увидеть соответствующие сообщения {'message': 'I am pressed'}
или {'message': 'I am released'}
в консоль в зависимости от того, нажали вы или отпустили после нажатия.
Для вашего случая вы можете иметь что-то вроде следующего: -
[
{
"button": "button1", // replace button1 with button4/5 because I don't have that many mouse buttons.
"modifiers": ["alt", "ctrl", "shift"],
"press_command": "undo",
}
]
Теперь, когда вы теперь нажимаете button1 (одновременно удерживая alt , ctrl , shift ), должна быть выполнена команда undo . Вы можете установить модификаторы в пустой список, если вы этого не хотите.
Что касается сборки, если вы имеете в виду выполнение самой последней системы сборки, замените undo, с build .
В качестве дополнительного бонуса, если вы хотите отключить какие-либо действия кнопок, просто используйте команду n oop.
Пример: -
[
{
"button": "button1",
"modifiers": [],
"press_command": "noop",
}
]
Это отключит button1 , и теперь вы больше не можете перетаскивать select ;-) Так что будьте осторожны.
Надеюсь, это немного поможет.