42 Stimmen

Textmate Tabulator und De-Tabulator für ausgewählten Block

Vor kurzem bin ich zum Codieren zu Textmate auf Mac gewechselt. Wenn ich auf dem PC einen Codeblock mit der Tabulatortaste ein- oder ausblenden möchte, markiere ich ihn einfach und drücke die Tabulatortaste oder Umschalttaste+Tabulator, um ihn zu verschieben. Das ist sehr nützlich, wenn man eine zusätzliche Schleife oder eine bedingte Anweisung zu einem Codeblock hinzufügt, damit alles ordentlich und sauber eingerückt bleibt.

Bei Textmate hingegen wird der markierte Text durch einen Tabulator ersetzt, wenn ich dies versuche. Gibt es eine Möglichkeit, Tabulatoren und De-Tabulator-Zeilen von Code in Textmate zu tun?

81voto

David Antaramian Punkte 4025

Einrücken: Alt+Tab

Un-Indent: Umschalt+Alt+Tab

10voto

Josh Punkte 4187

Die Tastenkombination ist Befehl-linke Klammer für die Bewegung nach links und Befehl-rechte Klammer für die Bewegung nach rechts (die Tasten neben 'p')

hier ist ein Link zu weiteren Hotkeys und so http://projects.serenity.de/textmate/tutorials/basics/

7voto

Graham P Heath Punkte 6544

Sie kann Verwenden Sie Umschalt+Tab, um den Einzug zu verringern; Sie müssen nur ein Makro erstellen und zuweisen. Sie können diese Technik für eine Vielzahl von Aufgaben verwenden.

  1. Geben Sie etwas Text ein, und beabsichtigen Sie, dies ist hauptsächlich für Feedback.

  2. Klicken Sie auf die Schaltfläche Makro aufzeichnen

Click the Record Macro Button

  1. Utilice + + (alias; Shift + Option + Tab ), um die Einkerbung zu verringern.

  2. Klicken Sie auf die Schaltfläche Aufzeichnen, um die Aufzeichnung des Makros zu beenden.

  3. Verwenden Sie die Edit Menü oder + + M um Ihr Makro zu speichern;

    Edit -> Macros -> Save Macro

  4. Beim Speichern werden Sie aufgefordert, ein neues Bündel* zu erstellen oder Ihr Makro zu einem bestehenden Bündel hinzuzufügen.

  5. Hinzufügen einer Key Equivalent durch Klicken in das Feld und Drücken von +

  6. Ihr Bündelmakro sollte wie das untenstehende aussehen. Einfach speichern und fertig! TextMate verringert nun den Einzug bei +

Completed Macro

*: (wie von u/PatrickT bemerkt) Leider wurde die Funktion zum Erstellen neuer Bündel noch nicht implementiert, und Sie müssen sich entscheiden, einem bestehenden Bündel hinzuzufügen. Sie können immer noch ein Bundle über Bundles -> Bundles bearbeiten und dann Befehl + N erstellen.

3voto

Als Alternative können Sie die Tastenkombinationen ändern siehe http://blog.macromates.com/2005/key-bindings-for-switchers/

Ich habe Folgendes getan:

  • Installieren Sie http://www.cocoabits.com/KeyBindingsEditor/
  • Gehe zu Datei -> Öffnen -> Benutzertastenbelegung wird Folgendes erstellt/geändert ~/Libary/KeyBindings/DefaultKeyBinding.dict
  • Fügen Sie eine Bindung hinzu, geben Sie für die Aktion shiftRight: (Einrücken) manuell eingeben (dies ist eine TextMate-spezifische Aktion und nicht in der vordefinierten Aktionsliste enthalten)
  • Wählen Sie eine Abkürzung, ich habe cmd+alt+rechts
  • Machen Sie dasselbe für die Aktion shiftLeft: (ohne Einrückung, ich habe cmd+alt+links )
  • Speichern Sie und starten Sie dann TextMate neu.

Ich habe eine Tastenkombination mit Pfeiltasten verwendet, da meine rechte Hand bereits auf den Pfeiltasten liegt, wenn ich mehrere Zeilen auswähle, so dass dies gut passt.

Der Grund, warum ich das gemacht habe, ist, dass ich eine deutsche Tastatur habe und alt+tab / alt+umschalt+tab funktionieren bei mir nicht, da ich die http://manytricks.com/witch/ für den App-Wechsel mit genau diesen Shortcuts.

EDITAR: cmd+alt+links/rechts funktionieren nicht wenn Sie mehrere Registerkarten geöffnet haben, da diese für die Navigation zur nächsten oder vorherigen Registerkarte in TextMate verwendet werden... dies kann anscheinend nicht geändert oder überschrieben werden (ich habe versucht Festlegen von Tastenkombinationen in Textmate ). Ich suche jetzt nach einer alternativen Abkürzung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X