Índice Anterior Próxima

Vim

Está gostando da leitura? Está aprendendo? Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!

O vim herdou a base das expressões do vi e estendeu muito seu poder, criando metacaracteres novos e permitindo o uso de ERs na maioria de seus comandos, como endereçamento. Tudo o que você precisa saber sobre ERs no vim está documentado no próprio programa, bastando digitar :help regexp para ter acesso a essas informações.

A primeira dica é ligar duas opções imbatíveis que são a hlsearch e incsearch. A primeira deixa iluminado ("highlight") o texto casado, para termos uma visualização do que nossa ER casou, e a segunda faz o vim ir iluminando e mostrando o texto casado dinamicamente, enquanto você digita a ER! Experimente, é muito bom: :set hls is.

Além destas, temos opções que modificam a sintaxe dos metacaracteres, são elas: magic e nomagic. A primeira é a opção-padrão, e é a que se aconselha usar, não mude. Ao usar a segunda, suas ERs serão tão cheias de escapes que serão imprestáveis em outros programas.

A função de pesquisa é feita pelo comando / e o ? e a de substituição pelo :s///. O detalhe é que a substituição vale apenas para a linha atual onde está o cursor, a não ser que você selecione o texto desejado, ou aplique um endereçamento que dirá ao comando s em quais linhas fazer a substituição.

Esse endereçamento vem imediatamente após o : e pode ser números de linha, padrões de texto entre barras, e alguns caracteres representantes de: linha atual (.), última linha ($) e arquivo todo (%).Veja alguns exemplos:

:s/a/b/g	troca todos os a por b na linha atual
:1,5s/^/#/	comenta as 5 primeiras linhas
:.,$s/^/#/	comenta até o final do arquivo
:%s/^.//	apaga a primeira letra de cada linha
:%s/^./\u&/c	torna maiúsculo o 1° caractere

Esse último é utilíssimo. Colocando um c no final de qualquer substituição, o vim mostrará um "prompt" na tela e lhe pedirá uma confirmação antes de fazer qualquer uma das substituições. Você vai respondendo sim ou não e vai vendo o texto ser alterado. Evita substituições cegas e vicia, cuidado! Veja :help :s_flags para conhecer outros modificadores.

No vim apenas as chaves têm similares não-gulosos. Mas como já vimos que com elas conseguimos emular todos os outros quantificadores, isso não é problema. A sintaxe é simplesmente adicionar um traço como primeiro caractere dentro delas.

meta    	mnemônico
------------------------------------------
\{-,1}  	opcional não-guloso
\{-}    	asterisco não-guloso
\{-1,}  	mais não-guloso
\{-n,m} 	chaves não-gulosas

Ele possui também diversos arquivos de sintaxe para vários tipos de arquivo, que é onde são guardadas as regras complicadas que dizem "o quê é válido onde", e fazem os arquivos ficarem coloridos, respeitando a sintaxe da linguagem de programação ou arquivo de registros ou configuração sendo editados.

Adivinha como são feitas essas regras complicadas? Com ERs, é claro! Este é um tópico muito interessante e exige conhecimentos sólidos do assunto. Caso queira dar uma olhada, todos os arquivos de sintaxe estão no subdiretório syntax e têm a extensão .vim.

A central vim encontra-se em http://www.vim.org.


Índice Anterior Próxima