Blog do TaQ

Delimitadores no Vim

Publicado em Developer

Instalei aqui um plugin para o Vim feito pelo Tim Pope, o mesmo que fez o plugin para o Rails.

O plugin se chama surround e é muito útil para trabalhar com pares de delimitadores, que podem ser, por exemplo, aspas duplas, simples, tags HTML, etc. Copiando descaradamente os exemplos da documentação do plugin, seria algo como, se tivermos

"Olá, mundo!"

E pararmos o cursor dentro da string e digitarmos, em modo normal, ds", o texto ficaria

Olá, mundo!

Ou seja, o comando ds removeu os pares dos caracteres que vem depois dele, ". Podemos lembrar do d como delete. Se tivermos uma expressão como

[123+4*56]/2

E quisermos trocar os delimitadores [] por (), podemos usar o comando, novamente em modo normal, cs, dessa maneira: cs]), que vai resultar em

(123+4*56)/2

Legal, hein! Podemos lembrar do c do cs como change, trocando o primeiro delimitador pelo segundo. Uma observação importante é que se utilizarmos o delimitador final (nesse caso, o ]), a troca vai ser feita sem alteração nenhuma na expressão a não ser dos caracteres desejados, mas se utilizarmos o delimitador inicial (nesse caso, [) a troca vai ser feita inserindo um espaço em branco. Outras trocas possíveis com cs são

"Olha mãe, sou HTML!"
cs"<b>
<b>Olha mãe, sou HTML!</b>

Nesse caso das tags HTML, podemos trocar uma pela outra usando o atalho t, que se referem a uma tag HTML ou XML (assim como w, W, s e p representam respectivamente uma palavra, uma PALAVRA, uma sentença e um parágrafo)

<b>Olha mãe, sou HTML!</b>
cst<i>
<i>Olha mãe, sou HTML!</i>

Agora parando o cursor em cima de "HTML"

<i>Olha mãe, sou HTML!</i>
csw<b>
<i>Olha mãe, sou <b>HTML</b>!</i>

Existem mais alguns comandinhos e mapeamentos, que podemos conferir executando o help surround, mas o grosso da coisa é esse aí. Espero que aproveitem. :-)


Tags:


Comentários

comments powered by Disqus

Twitter