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.

widgety

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?
Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Vitalia.cz: Opuncie je plod kaktusu. Pozor na trny

Opuncie je plod kaktusu. Pozor na trny

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Vitalia.cz: Když všichni seli řepku, on vsadil na dýně

Když všichni seli řepku, on vsadil na dýně

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

DigiZone.cz: Mordparta: trochu podchlazený 87. revír

Mordparta: trochu podchlazený 87. revír

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Vitalia.cz: Jaký je rozdíl mezi brambůrky a chipsy?

Jaký je rozdíl mezi brambůrky a chipsy?

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

120na80.cz: Hrbatá prsa aneb mýty o implantátech

Hrbatá prsa aneb mýty o implantátech

DigiZone.cz: Numan Two: rozhlasový přijímač s CD

Numan Two: rozhlasový přijímač s CD

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Lupa.cz: Aukro.cz mění majitele. Vrací se do českých rukou

Aukro.cz mění majitele. Vrací se do českých rukou

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu