Изменить ярлык для редактирования с несколькими курсорами - PullRequest
0 голосов
/ 08 января 2019

Прямо сейчас, чтобы выполнить редактирование с несколькими курсорами в SublimeText3, я нажимаю Ctrl и щелкаю места, которые хочу отредактировать.

Я хочу изменить это, поэтому я нажимаю Alt (вместо 'Ctrl') и затем щелкаю места, которые хочу отредактировать.

Я чувствую, что это должно быть где-то в Preferences -> Key Bindings, но я не смог найти вариант.

Как я могу изменить эту привязку ключа?

1 Ответ

0 голосов
/ 09 января 2019

Поскольку привязки здесь предназначены для кнопок мыши, а не для клавиш клавиатуры, фактические привязки не сохраняются в файлах sublime-keymap, а вместо этого хранятся в файлах sublime-mousemap. Этот формат похож на файл sublime-keymap, но он включает в себя возможность привязать команду к кнопкам мыши, количеству кликов и клавишам-модификаторам.

Примечание: в отличие от привязки клавиш, невозможно включить ключ context, поэтому привязки мыши - дело "все или ничего"; вы не можете настроить некоторые из них на применение только в некоторых обстоятельствах, а не в других, например.

Чтобы изменить привязки мыши, необходимо выполнить ту же самую общую процедуру, что и при привязке ключа, а именно создать файл с соответствующим именем в пакете User, который включает ваши измененные привязки. Нет никаких пунктов меню по умолчанию или записей палитры команд, которые позволили бы вам редактировать сопоставления мыши, поэтому вам нужно сделать это вручную.

Примечание: В следующих именах файлов $PLATFORM является одним из Windows, OSX или Linux в зависимости от используемой платформы (случай важен). В вашем вопросе не указано, на какой платформе вы находитесь, поэтому в приведенных ниже инструкциях предполагается, что Windows; изменить платформу по мере необходимости для ваших собственных нужд. В OSX ваши привязки могут включать super для обозначения ключа command, как они могут в привязках клавиш.

Если имя файла привязки ключа - Default ($PLATFORM).sublime-keymap, соответствующий файл для привязки мыши - Default ($PLATFORM).sublime-mousemap. Кроме того, как и большинство файлов ресурсов, которые задают поведение по умолчанию, базовые файлы хранятся в пакете Default.

Если вы используете запись палитры команд View Package File, чтобы открыть Default/Default (Windows).sublime-mousemap, вы можете увидеть все привязки мыши по умолчанию. В частности, здесь есть две привязки, с которыми вы, вероятно, захотите поработать, и они находятся в верхней части файла в разделе «Basic drag select»:

{
    "button": "button1", "count": 1, "modifiers": ["ctrl"],
    "press_command": "drag_select",
    "press_args": {"additive": true}
},
{
    "button": "button1", "count": 1, "modifiers": ["alt"],
    "press_command": "drag_select",
    "press_args": {"subtractive": true}
},

Первая привязка говорит о том, что когда левая кнопка мыши (button1) нажимается один раз, пока нажата клавиша ctrl, команда drag_select должна выполняться с аргументом, указывающим, что выбор должен быть added к.

Аналогично, вторая привязка использует alt вместо ctrl и выполняет ту же команду, сообщая ей subtract из выбора вместо добавления к нему.

Таким образом, Ctrl + левый щелчок добавляет каретку (и любой текст, на который вы перетаскиваете) к выделению, в то время как Alt + левый клик делает обратное и удаляет каретки и текст, который вы перетаскиваете более.

Чтобы осуществить нужное изменение, создайте файл со следующим содержимым и сохраните его как Default (Windows).sublime-mousemap в пакете User (вы можете использовать Preferences > Browse Packages, чтобы найти его).

Примечание: Если такой файл уже существует, добавьте две привязки здесь к существующему файлу вместо сохранения поверх него; в этом случае не включайте символы [ и ], но убедитесь, что вы вставили привязки между существующими в файле вместе с другими привязками.

[
    {
        "button": "button1", "count": 1, "modifiers": ["alt"],
        "press_command": "drag_select",
        "press_args": {"additive": true}
    },
    {
        "button": "button1", "count": 1, "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "press_args": {"subtractive": true}
    },
]

Это две привязки сверху, но с замененными модификаторами. Это позволяет клавише Alt добавлять выборки и Ctrl удалять выделение, эффективно отменяя их действия.

Если вам нравится, вам нужно только добавить привязку для alt. Однако, если вы сделаете это, привязка для ctrl все еще будет существовать, то есть у вас будет две привязки для добавления выбора и никаких привязок для удаления выбора. Это может или не может вызывать беспокойство в зависимости от того, насколько вы полагаетесь на этот конкретный переплет.

...