2010-05-31 5 views
25

Récemment passé à Textmate sur Mac pour le codage. Sur PC, quand je veux marquer un bloc de code, je le surligne et j'appuie sur tab ou shift + tab pour le déplacer. C'est très utile lorsque vous ajoutez une boucle supplémentaire ou une instruction conditionnelle à un bloc de code pour que tout soit propre et soigneusement mis en retrait. Cependant, sur Textmate, quand j'essaye cela, il me suffit de remplacer le texte sélectionné par un onglet. Alors, y a-t-il un moyen de faire des tabulations et de supprimer des lignes de code dans textmate?Onglet Textmate et bloc sélectionné de-tabulation

Répondre

59

indent: Alt + Tab

désindenter: Shift + Alt + Tab

+0

gentil. merci –

+0

:) http://manual.macromates.com/en/ peut être un peu beaucoup à lire, mais c'est une bonne ressource. Pour la plupart, vous apprendrez TextMate comme vous l'utilisez. –

+9

Pourquoi la commande Textmate ne prend-elle pas en charge l'onglet et le décalage + l'onglet pour le retrait lorsque plusieurs lignes sont sélectionnées, comme la plupart des éditeurs? –

7

la touche de raccourci est support de commande gauche pour déplacer le support à gauche et à droite commande pour déplacer vers la droite (les boutons à côté de « p »)

Heres un lien vers d'autres touches de raccourci et tel http://projects.serenity.de/textmate/tutorials/basics/

+0

Je ne trouve nulle part dans ces documents. Je trouve la documentation pour textmate horrible en général. –

+0

Textmate l'appelle "Shift left" (= non-indent) et "Shift right" (= indent). Vous le trouverez sous ces noms dans le doc et dans le menu "Text" de Textmates. –

+0

cmd + [est plus facile à toucher que shift + alt + tab! (Malheureusement, sur ma mise en page personnalisée dvorak remappés, je dois appuyer sur un changement ainsi ... encore une option assez décent +1) – PatrickT

2

Comme alternative, vous pouvez modifier les raccourcis clavier, voir http://blog.macromates.com/2005/key-bindings-for-switchers/

Voici ce que je faisais:

  • Installer http://www.cocoabits.com/KeyBindingsEditor/
  • Aller à Fichier -> Ouvrir -> l'utilisateur Raccourcis clavier, cela va créer/modifier ~/Libary/KeyBindings/DefaultKeyBinding.dict
  • Ajouter une liaison, pour l'action entrez shiftRight: (retrait) manuellement (il s'agit d'une action spécifique à TextMate et non dans la liste des actions préremplies)
  • raccourci, je cmd + alt + droite
  • Faites la même chose pour l'action shiftLeft: (désindenter, j'ai utilisé cmd + alt + gauche)
  • Enregistrer puis redémarrez TextMate

J'ai utilisé un raccourci avec les touches fléchées car ma main droite est déjà sur les touches fléchées lorsque je sélectionne plusieurs lignes, donc c'est un bon ajustement.

La raison pour laquelle je l'ai fait parce que j'ai un clavier allemand et alt + tab/alt + shift + tab ne fonctionnent pas pour moi depuis que je suis en utilisant http://manytricks.com/witch/ pour l'application de commutation en utilisant ces raccourcis exacts .

EDIT:cmd + alt + gauche/droitene fonctionnent pas lorsque vous avez plusieurs onglets ouverts, car ils sont utilisés pour naviguer à côté ou l'onglet précédent dans TextMate ... semble que ce ne peut pas être changé ou remplacé (j'ai essayé Setting Shortcut Keys in Textmate). Vous cherchez un raccourci alternatif maintenant.

+0

J'ai ajouté \ t et $ \ t à rightShift/leftShift, mais malheureusement, cela ne fonctionne que lorsque j'ai des lignes en surbrillance. Y at-il de toute façon pour que cela fonctionne sur la ligne en cours le curseur est allumé quand aucune ligne n'est mise en surbrillance? –

2

pouvez utiliser Shift + Tab pour réduire le retrait; Vous avez juste besoin de faire et d'assigner une macro. Vous pouvez réutiliser cette technique pour accomplir beaucoup de choses.

  1. Entrez du texte, et ayez l'intention, c'est principalement pour le commentaire.

  2. Cliquez sur le bouton Record Macro

Click the Record Macro Button

  1. Utilisez + + (alias; Shift + Option + Tab) pour diminuer l'indentation.

  2. Cliquez sur le bouton d'enregistrement pour arrêter l'enregistrement de la macro.

  3. Utilisez le menu Edit ou ^ + ⌘ +M pour enregistrer votre macro;

    Edit -> Macros -> Save Macro

  4. Saving vous invite à créer un nouveau paquet *, ou ajoutez votre macro à un ensemble existant.

  5. Ajouter un Key Equivalent en cliquant sur le terrain et en appuyant sur +

  6. Votre paquet-macro devrait ressembler à celui ci-dessous, il suffit d'enregistrer et vous avez terminé! TextMate diminuera maintenant tiret sur +

Completed Macro

*: (comme l'a noté u/PatrickT) Malheureusement, la création de nouvelles fonctionnalités de paquet n'a pas encore été mis en œuvre, et vous devez choisissez d'ajouter à un ensemble existant. Vous pouvez toujours créer un ensemble via Bundles -> Modifier les ensembles, puis Commande + N.

+1

Cela semble prometteur! A l'étape 2, vous devez cliquer sur le bouton rouge pour arrêter l'enregistrement, avant de passer à l'étape 3. A l'étape 5, j'ai choisi "nouveau bundle" et j'ai reçu un message disant qu'il n'était pas supporté. C'est là que je l'ai laissé ... – PatrickT

+1

@PatrickT C'est un message malheureux, le système de bundle est un WIP, mais tout ce que vous avez à faire est de choisir un bundle existant. Vous pouvez toujours créer un paquet via Bundles -> Modifier les offres groupées puis Commande + N. –

+1

Merci pour votre réponse! cela signifie-t-il que je dois répéter cette action pour autant de paquets que j'utilise ou y a-t-il un moyen de le faire une seule fois? (D'après mes souvenirs, les paquets sont associés à une langue particulière, puisque j'en utilise une dizaine, j'avais peur de devoir le faire 10 fois) – PatrickT