TextMate: editace hrou

Jakub Šťastný 6. 8. 2007

Jste spokojeni se svým editorem Vim či Emacs? Nehlodá ve vás občas červíček pochybností, že editor přece může být při srovnatelných schopnostech i jednodušší? Nebo pokud používáte některý z jednodušších editorů, nezdá se vám, že by editor mohl být i mocnější? Seznamte se s TextMate, skutečným editorem nové doby.

Oťukáváme TextMate

Ačkoliv v našich končinách je situace trochu jiná, celosvětově lze TextMate považovat za suverénně nejpoužívanější editor railsové komunity, a to i přesto, že existuje teprve od roku 2004. Tím bych se rád dopředu ohradil proti námitkám, že článek není o open source a že TextMate dokonce ani neběží na Linuxu, nýbrž na unixové platformě Mac OS X.

TextMate ovšem zdaleka není pouze railsový editor, naopak – podporuje řadu dalších jazyků, jako jsou například Python, TeX, LaTeX, LaTeX-Beamer, YAML, různé formáty pro blogování a mnohé další. Celkově je podporováno přes 50 různých jazyků.

textmate

Filosofie TextMate

V TextMate se snoubí applovská jednoduchost se silou Unixu. Touto odvážnou kombinací vzniká jednoduchý, ale přesto velmi mocný editor.

Zajímavé vlastnosti

Vazba na vnější prostředí

Skvělou vlastností tohoto editoru je dokonalá vazba na shell a vnější prostředí vůbec. Kterýkoliv programovací jazyk z něj lze pomocí ⌘-R spustit, přičemž ve výstupu je barevně odlišen STDOUT od STDERR, výjimky jsou taktéž graficky odlišeny. Klávesová zkratka ⌘-R ovšem nefunguje pouze na jazyky programovací – v případě značkovacích jazyků, jako je HTML, otevře soubor ve webovém prohlížeči nebo třeba v případě PDFTeXu zobrazí náhled výstupního PDF souboru.

tm_ruby

Ukázka běhu skriptíku v Ruby.

tm_compiling

Kompilace prezentace v LaTeX-Beamer…

tm_preview

… náhled prezentace.

Projekty

Protože většinu kódu, který programátor edituje, patří zpravidla některému z projektů, je užitečné, když textový editor IDE projekty podporuje. U IDE je to samozřejmostí, u textových editorů tomu tak zdaleka není. TextMate je naštěstí světlou výjimkou a možnost tvorby projektů nám nabízí – stačí složku či skupinu souborů přetáhnout na ikonku editoru, založit nový projekt přes ⌃⌘-N nebo příkazem mate [soubory], kde je možno na místo souborů dosadit libovolné textové soubory v počtu vyšším než jedna (jeden soubor se jednoduše pouze otevře, projekt se nezakládá) nebo jednu či více složek. V případě uvedení složky bude rekurzivně použit její obsah. Vytváření projektu ze složek má jednu nezanedbatelnou výhodu – projekt je pravidelně aktualizován podle změn na disku, a nikdy tak nebudete muset přidávat soubory do projektu ručně.

tm_project

To samozřejmě není vše, co TextMate může v této oblasti nabídnout. Je možné vyhledávat a nahrazovat výrazy v rámci celého projektu, filtrovat soubory, které v projektu nechceme, a vůbec disponuje celou řadou příjemných vlastností. Stačí trošku hledat.

Chytré vyhledávání

Vyhledávání mezi konkrétními, předem známými položkami je v TextMate dovedeno k dokonalosti. Zatímco běžný editor by doplňoval pouze při shodě počátku názvu, zde stačí napsat libovolné znaky v názvu obsažené. Tento způsob doplňování oceníte zejména, pokud máte soubory určitého typu s nějakým prefixem, který byste jinak museli vždycky psát, nicméně užitečnost této vlastnosti není zanedbatelná ani v prostém doplňování souborů třeba v railsové aplikaci.

tm_search

Doplňování kódu

Velká výhoda TextMate je v tom, že za vás doplňuje obrovské množství kódu. Nejedná se ale o klasické code completion, nýbrž je zde namapováno velké množství různých zkratek pro různé úkony. if například expanduje na if – end, ife na if – else – end a podobně. Expandování zkratky se provádí tabulátorem, přičemž další výskyty tabulátoru nás automaticky přenesou na místo, kde je třeba něco doplnit. Tedy například v případě zkratky ife se nejdříve ocitneme na místě za if, kam napíšeme podmínku, stiskneme tabulátor a vyplníme, co se stane při splnění podmínky. Další stisknutí tabulátoru nás přesune do else větve.

Unikátní je zacházení s párovými znaky. Krom jejich dnes již téměř samozřejmého doplňování je možné třeba uzavřít text do závorek jednoduše tím způsobem, že jej označíme a posléze stiskneme otevírací závorku. Stejně tak to funguje například s uvozovkami a dalšími znaky.

Další vlastnosti

Jako spousta dalších editorů TextMate podporuje také folding, čili zabalování a rozbalování různých úrovní kódu. TextMate podporuje různá barevná témátka, bookmarky, makra, syntax highlighting a další dnes již standardní vlastnosti pokročilejších editorů.

tm_folding_II

Rozbalený kód…

tm_folding

… a zabalený kód.

tm_dark

Jedno z mnoha barevných témat.

Bundle editor

Bundle editor je správním centrem editoru – lze zde editovat příkazy, makra, šablony a vůbec zde lze dělat spoustu užitečných věcí. Ačkoliv při práci s TextMate jej budete používat často, tento článek je pouze seznámení s tímto fenomenálním editorem, a není tedy na místě pouštět se do přílišných podrobností.

tm_bunde_editor

Bundle editor.

Budoucnost?

TextMate se budoucnosti bát rozhodně nemusí, což ostatně dokazuje zájem skvělého nakladatelství Pragmatic Programmers, které má na progresivní trendy opravdu dobrý čuch.

Líbí se vám TextMate a používáte Mac OS X? Pak určitě neváhejte. Při příjemné ceně 39 € za licenci dostanete editor, který si opravdu zamilujete. Pokud ale třeba stále váháte, doporučuji prohlédnout si ukázková videa z domovské stránky projektu, vypadají docela působivě. A pokud si chcete klávesové zkratky osvojit snáze, zkuste ozdobit svoji plochu wallpaperem s klávesovými zkratkami pro TextMate.

Odkazy

Anketa

Jste ochotni za dobrý software zaplatit?

Ohodnoťte jako ve škole:

Průměrná známka 3,29

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Podnikatel.cz: Podání k DPH jinak než online jsou neúčinná

Podání k DPH jinak než online jsou neúčinná

DigiZone.cz: Deset let od 1. kulatého stolu DigiZone.cz

Deset let od 1. kulatého stolu DigiZone.cz

120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

Lupa.cz: Přenos hokeje padal kvůli útoku, tvrdí O2

Přenos hokeje padal kvůli útoku, tvrdí O2

120na80.cz: 10 nej přípravků na holení

10 nej přípravků na holení

Podnikatel.cz: Konečně vývar. Skoro jako od Steva Jobse

Konečně vývar. Skoro jako od Steva Jobse

Lupa.cz: Babiš: nevím o návodu, jak obejít blokování webů

Babiš: nevím o návodu, jak obejít blokování webů

Vitalia.cz: Muži kouří 24 cigaret denně, ženy o dost míň

Muži kouří 24 cigaret denně, ženy o dost míň

Lupa.cz: Nová podoba Instagramu? Katastrofa

Nová podoba Instagramu? Katastrofa

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

120na80.cz: Jak si udržet zdravou vaginu

Jak si udržet zdravou vaginu

Lupa.cz: Schváleno: Rockaway může převzít Heureku

Schváleno: Rockaway může převzít Heureku

Root.cz: DDoS útoky aneb když vám zahltí dráty

DDoS útoky aneb když vám zahltí dráty

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

Podnikatel.cz: Heureka pod Rockaway? Tohle musí splnit

Heureka pod Rockaway? Tohle musí splnit

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!

Vitalia.cz: Syndrom počítačového vidění: stačí dvě hodiny denně

Syndrom počítačového vidění: stačí dvě hodiny denně

DigiZone.cz: Konec geoblokace? Ani náhodou…

Konec geoblokace? Ani náhodou…

Vitalia.cz: SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí