Textmate - Editor de texto… com tempero



Um dos produtos que mais se produz no domínio da informática é “texto”. Desde extensos livros ou teses de doutoramento, jogos ou páginas de internet como esta tudo se resume a texto.

Desde o princípio da informática que surgiram editores de texto. Não falamos do Microsoft Word e suas inúmeras fucionalidades extra que ninguém usa, mas sim do texto mais simples, que se resume, mesmo neste caso a 99% do trabalho.

Para criação de textos básicos o sistema operativo da Apple vem com o excelente Textedit que é um editor de texto muito leve e com todas as funcionalidades que são necessárias.

O problema é que o editor de texto, como se viu acima é usado para muitas outras coisas. Para quem não domina HTML (páginas de internet) pode pensar que a tecnologia que trás até si as páginas que tanto gosta, assenta num texto simples, corrido como se fosse um documento dos que está habituado a escrever. Se o nosso leitor clicar no fundo desta página e seleccionar a opção “View Page Source” vai ver qeu não é bem assim. Além do texto normal existe uma série de código (html) que indica ao seu browser onde deve ser colocado o texto, as fotos, ou onde é que estas se encontram na internet.


Código de cores diferenciado para prgramação
1. Código de cores diferenciado para programação


Uma coisa que o nosso leitor pode reparar é que todo este código é repetitivo. Ou seja sempre que aparece alguma coisa escrita, esta tem antes um conjunto de letras limitado por < >, por exemplo < html> e no fim uma coisa semelhante mas com um / como por exemplo < /html>. Ao conjunto deste texto e símbolos chama-se uma “Tag” e todo o código html assenta em tags, que são repetidas inúmeras vezes ao longo do texto.

Assim Allan Odgaard reparou que poderia melhorar o seu editor de texto de forma a automatizar a introdução destes códigos repetitivos, importando algumas das benesses do mundo Unix.

Apareceu assim o TextMate. Como um verdadeiro Mate (companheiro, amigo) do autor, este editor permite-lhe seleccionar de uma série de bundles (conjuntos) aquele que se presta mais ao seu tipo de trabalho, permitindo assim desempenhar uma série de introduções automáticas de texto, equivalentes às macros do mundo windows.


lista dos bundles pré-definidos
2. Lista dos “bundles” pré-definidos e exemplo HTML


Pegando no exemplo do HTML, uma das formas de se arrumar o conteúdo quando este está arrumado numa tabela é usando a tag < table>, sendo a sua sintaxe completa:

< table border="0" cellspacing="5" cellpadding="5">(isto é uma tabela sem rebordo, com 5 pixeis de espaço entre as células e 5 pixeis entre o texto e o limite da célula)

< tr> (isto é uma linha )

< th> (isto é uma célula de cabeçalho)

“Olá eu sou um cabeçalho de uma tabela”

< /th>(Isto é o fim da célula e este conjunto de < th> a < /th> deverá ser repetido o numero células por cada linha de cabeçalho)

< /tr> (isto é o fim da linha e este conjunto deverá ser repetido o número de linhas da tabela)

< tr>

< td> (isto é uma célula)

“Olá eu sou o texto de uma tabela”

< /td>(Isto é o fim da célula e este conjunto de < td> a < /td> deverá ser repetido o numero células por cada linha)

< /tr>

< /table> (aqui acaba a tabela)

Neste caso, apenas seria apresentado o cabeçalho “Olá eu sou um cabeçalho de uma tabela” e o texto “olá eu sou uma tabela” no ecrã do leitor.. é muito trabalho para tão pouco!!!.

O TextMate permite usar um bundle chamado HTML que possui um automatismo para criar esta tabela bastando para tal ir ao menu Bundles, seleccionar o HTML, escolher a opção tag, e de seguida a opção Table… e de uma vez só surge isto no ecrã:

< table border="" cellspacing="5" cellpadding="5">
< tr>< th>Header< /th>< /tr>
< tr>< td>Data< /td>< /tr>
< /table>

e para cúmulo o cursor vai automaticamente para o primeiro espaço vago entre os “” para que o autor introduza a característica, que neste caso, e à semelhança do exemplo escrito à mão seria o 0 (zero).

Pode parecer algo simples e pouco interessante para quem apenas pretende escrever um texto, mas mesmo para estes há algumas coisas que podem ajudar wink

Por exemplo escrever a data no meio do texto, pode parecer simples, mas quantas vezes já se fez a pergunta “que dia é hoje?”

Indo ao menu certo poderá encontrar a opção isoDate (data do computador) e clicando aí a data é automaticamente inserida…
Parece ridículo ter que se ir a um menu procurar um comando só para introduzir uma data certo?… então experimente escrever isoD pressionado a tecla tab em seguida e voilá… “2007-04-23” aparece no ecrã…

Existem dois tipos de comando… os “key equivalents” que são atalhos de teclado, como por exemplo (em html) o alt+Space = “ ” e os “tab triggers” que são palavras que quando escritas seguidas do tab dão origem a um outro conjunto de conteúdo como o exemplo da tabela.



efeito de pressiona tab depois de um nome de um tab trigger
3. Efeito de pressionar o tab depois de escrever o nome de um “tab trigger"”


Estes bundles têm ainda a vantagem de serm autónomos existindo muitos third party por aí pela internet, ou sendo possível ao utilizador criar os seus próprios bundles como por exemplo assinaturas, ou cabeçalhos para os seus documentos.

Uma nota digna de interesse prende-se com o facto de nem todos os tab triggers estarem disponíveis por defeito, sendo dependentes sim do tipo de documento que está a ser gerado no momento. Por exemplo os tab triggers do HTML não funcionam num documento coma extensão de TXT, já que este tipo de documentos não é válido numa estrutura de um site (mas estão sempre disponíveis no menu de bundles)

Regando o texto com estes bundles, marinando com a identificação do código por cores, adaptada ao tipo de documento a ser escrito, polvilhando tudo com coisas como a possibilidade de colapsar o código entre tags entre outros condimentos, fazem deste editor de texto, o melhor prato do mundo!


Aspectos Positivos

Editor de texto muito leve, com tantas funcionalidades extra que é difícil identificar as vantagens, mas… as principais serão:
Possibilidade de trabalhar em “projecto” com vários documentos abertos em TABs e com find/replace global, Identificação e adpatação de código de cores ao tipo de página que se está a escrever, os tagg triggers e key equivalents entre outros.

Aspectos Negativos

Até agora não identificámos um aspecto negativo neste editor de texto… Talvez o preço quando comparado com o TextEditor para quem não faz ou pensa vir a fazer programação.


Alternativas no mercado

TextEdit incluído no MacOSX ou o forgedit já aqui comentado

Imagens

Links úteis e de referência


Sobre esta entrada