Lär dig hur du är en TextMate Champion

TextMate är överlägset den föredragna textredigeraren för de flesta webbutvecklare på Mac. I dagens skärmdump tar vi en titt på några av de funktioner som de flesta utvecklare helt enkelt inte använder som kan öka din produktivitet kraftigt genom att låta dig skriva mindre!

Inte en Mac person? Jeffrey har en screencast med titeln "Hur kan jag ange två gånger så snabbt som du" visar hur man utför liknande åtgärder med hjälp av en "textexpander" -applikation i Windows.


Full Screencast



Genvägar används

Du kan se alla TextMates genvägar och funktioner under menyn "Bundlar". Här är några av de jag använder regelbundet:

Nyckel

Flik
Flytta
^ Kontrollera
Alternativ (Alt)
Kommando
Escape (esc)
Lämna tillbaka
↓ ← ↑ → Tangentbord piltangenter
                                      

html

Genväg Verkan
^ ⇧ , Nytt HTML taggpar
⌥ ⎋ Tagga / attribut automatiskt slutförd
⌘ ⇧ 7 Konvertera urval till HTML-enheter
! ⇥ Internet Explorer Conditionals
⇧ ↩ Line Break
^ ⇧ V Validera HTML / CSS
länk ⇥ Stylesheet Link Tag
stil ⇥ In-line style block
scriptsrc ⇥ Extern JavaScript-tagg
skript ⇥ In-line JavaScript-block
                                      

PHP

Genväg Verkan
php ⇥
eko ⇥
om ⇥

ifelse ⇥

för ⇥
foreach ⇥
medan ⇥
array ⇥
byt ⇥
fallet ⇥
Som du förväntar dig.
req ⇥
req1 ⇥
inkl
incl1 ⇥
kräver "fil";
require_once "file";
inkludera "fil";
include_once "fil";
$ _ ⇥ Välj $ _ ['POST'], $ _ ['GET'] etc. (Global Arrays)
^ ⇧ V Bekräfta syntaxen
⌘ ⇧ R Kör PHP-fil
                                      

Rubin

Genväg Verkan
om ⇥
ife ⇥ (om, elsif)
om inte ⇥
medan ⇥
Som du förväntar dig.
req ⇥ kräver ""
reqg ⇥ kräver "rubygems"
kräver ""
Hash ⇥ Hash.new | hash, key | hash [nyckel] =
: ⇥ : key => "value",
Fil ⇥ Välj för olika "File" -objektmetoder (läs, skriv etc.)
⌘ R Kör Ruby-fil
                                      

rails

Genväg Verkan
cla ⇥ Skapa Rails Controller
blixt ⇥ flash [: notice] = "
ra ⇥ render: action => "
vp ⇥ validates_presence_of: input
vl ⇥ validates_length_of: input,: inom => 1 ... 12
^ P params [: objektet]
^ J sessions [: objektet]
^ ⇧ . <%= %>
ff ⇥ <% form_for @model do |f| -%>

<% end -%>

f. ⇥ Välj för Rails 'formulärhjälp - etikett, fält, lösenord, textområde, kryssruta mm.
slt ⇥ <%= stylesheet_link_tag"%>
jit <%= javascript_include_tag"%>
⇧ ⌥ ⌘ ↓ Gå till lämplig styrenhet, modell, vy etc. för aktuell fil
mcol ⇥ Använd i migreringar. Välj att lägga till, redigera, byta namn på, ta bort kolumner mm.
                                      

Skapa din egen genväg / snabbtangent

Vi ska skapa en genväg (tillgänglig med ⌘⇧A) för att lägga in den aktuella valda texten i en länk och hoppa direkt till attributet för att ange webbadressen.

I TextMate, gå till "Bundes> Bundle Editor> Show Bundle Editor" (eller tryck på ^⌥⌘B). Så här ser min redaktör ut. Din kan se annorlunda ut eftersom jag har lagt till några anpassade paket och tagit bort några för språk jag inte använder:


Klicka på HTML-rullgardinsmenyn (bunt), klicka på + längst ned till vänster i fönstret och välj "New Snippet". Namn på det här stycket 'Wrap Link' och för 'Activation', välj 'Key Equivalent' och i rutan anger du tangentkombinationen du vill använda (t.ex. ⌘⇧A).


Inne i textområdet anger:

 $ TM_SELECTED_TEXT

$ TM_SELECTED_TEXT är en variabel som innehåller den valda texten. Stäng fönstret och prova det. Öppna ett dokument i TextMate, markera lite text och tryck på din tangentkombination. Urvalet kommer att läggas i ankarkoder.

Men som det är nu måste du fortfarande flytta markören till href = "" attribut att ange den faktiska länken. Skulle det inte vara lättare om vår markör flyttat sig där automatiskt?

Ändra kommandot "Wrap Link" till följande:

 $ TM_SELECTED_TEXT

De $ 1 berättar TextMate var du ska placera markören efter att ha utfört uppgiften. Du kan placera $ 2, $ 3 etc. och sedan flytta genom dem med hjälp av flikknappen.

Ändra ändå kommandot till:

 $ 2: $ TM_SELECTED_TEXT

Du kan lägga till standardtext på en plats med $ 2: Standardtext. "Standardtext" visas och markeras automatiskt när du klickar på den.
I vårt fall har vi satt den valda texten som en flikplats för omständigheter när du kanske vill ändra originaltexten.

Du kan också "spegla" text som anges på flikpunkter, som så:

 

Text: $ 1

Någon annan text: $ 2: blah de blah de blah

Spegel med 1: $ 1

Vad du än anger på den första fliken kommer automatiskt att matas in i andra positioner som har samma värde.


Ytterligare exempel:

Personligen har jag skapat mina egna buntar för att inkludera jQuery-biblioteken, skriva in "Lorem Ipsum" -texten, och även för att skriva Nettuts-artiklar. Till exempel:

jQuery-fragment

Hitta dig själv med hjälp av att komma in i jQuery-taggar? Pröva dessa:
'jQuery CDN' nås med inc-jQuery tab-trigger:

 

"jQuery UI CDN" nås med inc-ui tab-trigger:

 

'jQuery Inline Script' nås med inline-jquery tab-trigger:

 

'jQuery Document Ready' nås med jQuery tab-trigger:

 \ $ (funktion () $ 0);

Notera: Bakstensarna i början av $ (funktion () är att fly från $ karaktär - annars TextMate tror att det är en variabel för att försöka göra det!

Du kan också helt enkelt tilldela alla dessa till en jQuery tab-trigger, då när du kör det kommer du att få en rullgardinsmeny att välja mellan. Detta är användbart om du föredrar att inte memorera stora grupper av kodnamn!


Nettutklipp

Jag har också en bunt för de olika taggarna Nettuts artiklar beror på, till exempel:
"Pre Code Block" nås med nt-pre tab-trigger:

 
 $ 2 

'Tuts Image' åtkomst med nt-img tab-trigger:

 

När du skriver artiklar använder jag en liten mall för att underlätta läsning när korrekturläsning. Denna kod har ett exempel på "spegling" på titlarna Titel och H1. Jag kommer åt det här med hjälp av flikutlösaren för nt-mall:

  $ 1: TITLE 

$ 1

$ 2: Sammanfattning text

$ 4: Header

$ 5: Börja skriva! Använd H3 för rubriker och H4 för underrubriker

$ 0