Hlavní navigace

TextMate: editace hrou

Jakub Šťastný

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?

Našli jste v článku chybu?

6. 8. 2007 11:52

To už bychom mohli začít polemizovat nad tím, jestli KDE běží pod unixem, když Qt není součástí POSIXu. Podle mě ale taková debata nemá smysl. V každém případě Mac OS X prokazatelně unixem je a to je hlavní.

6. 8. 2007 11:51

Diky :) Jo, ta zminka tam asi byt nemusela, dal jsem ji tam, aby meli ctenari predstavu, kolik ta sranda stoji a taky aby mi pak zas nekdo nepredhazoval, ze jsem poradne neupozornil na to, ze je to komercni software.
Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Vychytané vály a válečky na vánoční cukroví

Vychytané vály a válečky na vánoční cukroví

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Měšec.cz: Komu musí od ledna zvýšit mzdu?

Komu musí od ledna zvýšit mzdu?

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Měšec.cz: Stavební spoření: alternativa i pro seniory

Stavební spoření: alternativa i pro seniory

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí