2013-10-08 2 views
37

У меня есть привычка к удару CTRL + T, чтобы открыть новую вкладку в ST2. Однако это вызывает функцию транспонирования. Я мог бы сопоставить команду new_file с номером CTRL + T, но можно полностью отключить эту команду с помощью файла keymap. Мой поиск предложил добавить это в карту пользователя.Как отвязать привязку клавиш в Sublime Text 2?

[ { "keys": ["ctrl+t"], "command": "unbound" } ] 

Является ли «несвязанный» официально одобренный способ отключения ярлыка?

+1

Официальная документация находится здесь: http://docs.sublimetext.info/en/latest/reference/key_bindings.html это письмо, его не упоминает о развязывании. –

+0

спасибо, что мне действительно нужно, чтобы 'super + forward_slash' несвязался! Я использую его для поиска в строке меню во всех приложениях. – Rivenfall

ответ

18

Я никогда не видел или не читал официальный документация о команде unbound, но она работает. Другой вариант - удалить атрибут command.

{ "keys": ["ctrl+t"] } 

Это будет также несвязанный ключ связывания.

+0

Если я набираю любую тарабарщину вместо «несвязанной», она имеет тот же эффект. Мне интересно, как правильно это сделать ... У вас есть документированный/официальный источник для вашего второго метода? Я не думаю, что это работает. – Medorator

+0

Это упоминается на форуме Sublime UserEcho: http://sublimetext.userecho.com/topic/89378-support-unbinding-of-keys/ –

+7

Кажется, что если ключевое комбо определено в моих ключевых полях, но я хотите отвязать его в моих пользовательских привязках, опустив «команду», не работает, но установка «command»: «unbound» делает. – amacleod

4

Фактически это post действительно помогло мне с моей проблемой при использовании ST3 на Mac. Используя средство просмотра ресурсов пакета, вы можете редактировать сочетания клавиш по умолчанию (по умолчанию (OSX) .sublime-keymap) и удалять строки, которые вам не нужны. После этого ST3 больше не будет захватывать ваши системные горячие клавиши.

13

{ "keys": ["ctrl+-"], "command": "noop" }

Привязка ключ к не-операции или ничего, что бы не носить с собой поведение команды, такие как «привет», должно работать.

Это также сохранит тело привязки, если вы передумаете в будущем.

+1

Это сработало для меня. –

+1

Я предпочитаю это, поскольку он немного более явный, чем просто привязка ключей к нулю. – mikemaccana

2

Можно переписать привязки по умолчанию установленных пакетов, создав файл привязки по умолчанию.

Например, я хочу Ctrl-T транспонировать, поэтому я изменил привязок по умолчанию для Ctags:

  • Копия c:\Users\USER\appdata\Roaming\Sublime Text 3\Installed Packages\CTags.CTags.sublime-package в tmp.zip
  • из архива экстракта Default.sublime-keymap в c:\Users\USER\appdata\Roaming\Sublime Text 3\Packages\CTags\
  • изменить или удалить привязка этого файла.

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

+1

Быстрый и удобный способ сделать это - использовать пакет PackageResourceViewer. Запустите команду «открыть ресурс», затем выберите виновный пакет, затем откройте файл раскладки и отредактируйте его по своему усмотрению. Это позволяет избежать перехода к правильному файлу. –

3

Пакет Path Tools включает key bindings, что Sublime клавиш переопределение по умолчанию, которые я использую часто, а именно: команда + сдвиг + V

На Mac, я был в состоянии перекрыть все по умолчанию переплеты пакета Path Tools путем размещения пустой файл здесь:

~/Library/Application Support/Sublime Text 3/Packages/Path Tools/Default (OSX).sublime-keymap 

Я хочу Sublime пакет установки предупреждает пользователей, когда пакет age включает привязки клавиш, которые будут перекрывать текущие или стандартные привязки клавиш.

+1

Yay! Автор Path Tools (pjdietz) с тех пор удалил конфликтующие привязки клавиш: https://github.com/pjdietz/sublime-path-tools/commit/8208974e0410aac4221b0cb4f6b0e63a70477e28 https://github.com/pjdietz/sublime-path- tools/commit/ff4674d95b3664018fc2d924f95dc384293be27e https: // github.com/pjdietz/sublime-path-tools/commit/e8e7ad9fc255fa945f78cd11e780ed1b95ace656? diff = split –

6

Кроме того, если вы хотите, чтобы отменить ярлык, который был переопределен с помощью плагина (я смотрю на вас, «Терминал»):

  1. найти свой предыдущий ярлык в Настройки -> Key Наручники (по умолчанию)
  2. Скопируйте линию (например, { "keys": ["super+shift+t"], "command": "reopen_last_file" })
  3. Открыть Настройки -> Основные Наручники (Пользователь)
  4. Добавьте линию там (если файл пуст, то добавьте [ и ] до линии, так как это массив команд)
+0

+1 для терминала diss. Обратите внимание, что это '{" keys ": [" ctrl + shift + t "]," command ":" reopen_last_file "}' для пользователей Windows. – dcastro

+0

Пришел именно по той же причине (Terminal). Таким образом, нет удобного способа вернуть исходный ярлык, кроме копирования? Спасибо, в любом случае! – Niavlys

Смежные вопросы