Отключить автосоединение символов в Textmate 2?

TextMate 1 имел предпочтение под названием "Автопарные символы (кавычки и т.д.)", что позволило бы включить или отключить функцию автоматического сопряжения.

Можно ли отключить эту функцию в TextMate 2?

Ответ 1

Вы можете отключить его для данного пакета, как описано в этой проблеме в GitHub. В основном вам нужно отредактировать файл параметров пакета и добавить smartTypingPairs = ( ); в конец файла.

Я не знаю, может ли это быть обобщено с помощью файлов .tm_properties, но вы можете попробовать (и сообщить о результатах).

Для этого есть также ключ по умолчанию:

defaults write com.macromates.TextMate disableTypingPairs -bool YES

Ответ 2

Автоматическое "Typing Pairs" - это скрытая настройка TextMate 2

При вводе открывающей скобки, скобки, символа цитаты или аналогичного текста TextMate вставляет символ закрытия.

Отключить через терминал:

defaults write com.macromates.TextMate disableTypingPairs YES

Ответ 3

Продолжение для Ruby-кодеров. После отключения автоматического сопряжения вы все равно обнаружите, что при наборе # внутри строки в двойных кавычках ("...") происходит расширение до #{}. Если вы хотите отключить это:

  • Меню "Связки" → "Редактировать связки..."
  • Выберите "Рубин" в левом столбце
  • Выберите "Другие действия" в следующем столбце
  • Выберите "Встроенный код - # {...}" в третьем столбце
  • Снимите флажок "Включить этот элемент" в ящике
  • Введите Cmd + S, чтобы сохранить обновленный пакет

Теперь вы можете ввести "# без какого-либо автоматического расширения/спаривания. Если вам нравится печатать # и появляется первый {, но вы не хотите добавлять закрывающий }, тогда вместо отключения элемента просто отредактируйте в нижней панели, чтобы удалить завершающий }:

#{${1:$TM_SELECTED_TEXT}

Если вам нравится выделять текст в строках и вводить #, чтобы он был заключен в #{...}, то вышеизложенное изменение сделает его довольно неловким, так что будьте осторожны.