Вкладка Textmate и выбранный блок de-tab

Недавно перешел на Textmate на Mac для программирования. На ПК, когда я хочу вставить или вывести блок кода, я просто выделяю и нажимаю tab или shift + tab, чтобы переместить его в наш выход. Это очень полезно, когда вы добавляете дополнительный цикл или условный оператор в блок кода, чтобы все было аккуратно и с аккуратным отступом.

Однако в Textmate, когда я пробую это, он просто заменяет выделенный текст табуляцией. Так есть ли способ делать строки кода с табуляцией и отрывом от табуляции в textmate?


person Derek Organ    schedule 31.05.2010    source источник


Ответы (4)


Отступ: Alt + Tab

Снятие отступа: Shift + Alt + Tab

person David Antaramian    schedule 31.05.2010
comment
:) manual.macromates.com/en может быть немного трудным для чтения, но это хороший ресурс. По большей части вы будете изучать TextMate по мере его использования. - person David Antaramian; 31.05.2010
comment
Почему Textmate не поддерживает табуляцию и shift + tab для отступа, когда выбрано несколько строк, как в большинстве редакторов? - person Alexander Klimetschek; 07.01.2011
comment
Ответ: это общий ярлык Mac, и они не хотят отменять его в TextMate: lists.macromates.com/textmate/2005-October/006391.html - person Alexander Klimetschek; 07.01.2011
comment
Кроме того, Textmate использует клавишу табуляции для изящных функций расширения. - person chiborg; 15.04.2011
comment
Раньше у меня это работало на Lion, но больше не работает на Mavericks. См. Ответ Джоша ниже: cmd-] и cmd- [помогут. - person emery; 30.09.2014
comment
Shift + alt + tab труднее нажать, чем ctrl + alt + del !! - person PatrickT; 06.03.2018

горячая клавиша - левая скобка для перемещения влево и квадратная скобка для перемещения вправо (кнопки рядом с 'p')

вот ссылка на другие горячие клавиши и такие http://projects.serenity.de/textmate/tutorials/basics/

person Josh    schedule 31.05.2010
comment
Я не могу найти этого нигде в тех документах. Я нахожу документацию для textmate в целом ужасной. - person Derek Organ; 31.05.2010
comment
Textmate называет это Shift влево (= убрать отступ) и Shift вправо (= отступ). Вы найдете его под этими именами в документе и в текстовом меню Textmates. - person Alexander Klimetschek; 07.01.2011
comment
cmd + [нажимать легче, чем shift + alt + tab! (к сожалению, на моем измененном макете дворака мне также нужно нажать Shift ... все еще довольно приличный вариант +1) - person PatrickT; 06.03.2018
comment
На неамериканской раскладке клавиатуры до символа задней панели может быть трудно добраться. - person neoneye; 02.08.2020

Вы можете использовать Shift + Tab для уменьшения отступа; Вам просто нужно сделать и назначить макрос. Вы можете повторно использовать эту технику для достижения очень многих целей.

  1. Введите текст и примените его, в основном это для обратной связи.

  2. Нажмите кнопку записи макроса

Нажмите кнопку записи макроса

  1. Используйте + + (также известный как Shift + Option + Tab), чтобы уменьшить отступ.

  2. Нажмите кнопку записи, чтобы остановить запись макроса.

  3. Используйте меню Edit или + + M, чтобы сохранить макрос;

    Изменить -› Макросы - ›Сохранить макрос

  4. При сохранении вам будет предложено создать новый пакет * или добавить макрос в существующий пакет.

  5. Добавьте Key Equivalent, щелкнув поле и нажав +

  6. Ваш пакет-макрос должен выглядеть так, как показано ниже, просто "Сохранить", и все готово! TextMate теперь будет уменьшать отступ на +

Завершенный макрос

*: (как отмечает u / PatrickT) К сожалению, функция создания нового пакета еще не реализована, и вы должны выбрать добавление к существующему пакету. Вы все еще можете создать пакет с помощью Bundles -> Edit Bundles, затем Command + N.

person Graham P Heath    schedule 30.06.2016
comment
Кажется многообещающим! На шаге 2 вам нужно нажать красную кнопку, чтобы остановить запись, прежде чем перейти к шагу 3. На шаге 5 я выбрал новый пакет, после чего я получил сообщение о том, что он не поддерживается. Вот где я его оставил ... - person PatrickT; 06.03.2018
comment
@PatrickT Это досадное сообщение, система пакетов - это WIP, но все, что вам нужно сделать, это выбрать существующий пакет. Вы все еще можете создать пакет с помощью Bundles - ›Edit Bundles, затем Command + N. - person Graham P Heath; 07.03.2018
comment
Спасибо за ответ! означает ли это, что мне нужно повторить это действие для того количества пакетов, которое я использую, или есть способ сделать это только один раз? (Насколько я помню, пакеты связаны с определенным языком, поскольку я использую около 10 или около того, я боялся, что мне придется сделать это 10 раз) - person PatrickT; 07.03.2018
comment
@PatrickT Вам нужен только один, так как он эффективен везде, если вы хотите ограничить его, вы должны использовать поле Scope Selector. - person Graham P Heath; 07.03.2018
comment
Очень мило с вашей стороны, что вы всю дорогу держали меня за руку! Это отлично сработало. Я также добавил клавишу TAB для shiftRight таким же образом, как указано выше. Я сохранил его в пакете R, но я действительно смог использовать его со сценарием .py. Эти шаги будет непросто запомнить, но я знаю, что всегда могу вернуться сюда за пошаговым руководством. Большое спасибо!! - person PatrickT; 07.03.2018
comment
Большое тебе спасибо! Работает как шарм. - person nelsonspbr; 08.04.2020

В качестве альтернативы вы можете изменить привязки клавиш, см. http://blog.macromates.com/2005/key-bindings-for-switchers/

Вот что я сделал:

  • Установите http://www.cocoabits.com/KeyBindingsEditor/.
  • Перейдите в Файл -> Открыть -> Привязки клавиш пользователя, это создаст / отредактирует ~/Libary/KeyBindings/DefaultKeyBinding.dict
  • Добавьте привязку, для действия введите shiftRight: (отступ) вручную (это действие, специфичное для TextMate, а не в предварительно заполненном списке действий)
  • Выберите ярлык, я использовал cmd + alt + right
  • Сделайте то же самое для действия shiftLeft: (убрать отступ, я использовал cmd + alt + left)
  • Сохраните и перезапустите TextMate

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

Причина, по которой я это сделал, заключалась в том, что у меня немецкая клавиатура, и alt + tab / alt + shift + tab у меня не работает, так как я использую http://manytricks.com/witch/ для переключения приложений с использованием именно этих ярлыков.

РЕДАКТИРОВАТЬ: cmd + alt + left / right не работают, когда у вас открыто несколько вкладок, поскольку они используются для перехода к следующей или предыдущая вкладка в TextMate ... кажется, это нельзя изменить или переопределить (я пробовал Настройка сочетаний клавиш в Textmate). Сейчас ищу альтернативный ярлык.

person Alexander Klimetschek    schedule 07.01.2011
comment
Я добавил \ t и $ \ t в rightShift / leftShift, но, к сожалению, он работает только тогда, когда у меня выделены строки. Есть ли способ заставить его работать в текущей строке, на которой находится курсор, когда ни одна строка не выделена? - person Nick Sotiros; 11.03.2015
comment
Сайт cocoabits выглядит заброшенным, это новое место? docs.unrealengine.com/en-US/Engine/UI/ KeyBindings / index.html - person PatrickT; 24.05.2020
comment
Нет, Unreal - это игра :-) Здесь можно скачать это: de.freedownloadmanager.org/Mac-OS/ Но я уверен, что есть и другие, более новые решения для редактирования привязок клавиш macOS. - person Alexander Klimetschek; 24.05.2020