sábado, 4 de abril de 2009

Surround: plugin para colocar, alterar e excluir delimitadores em torno do texto

O plugin surround.vim é especializado em deletar, excluir e alterar toda espécie
de pares de delimitadores tais como "...", '...', <...>, etc.

Assim ele permite envolver um texto com uma tag html, ou deletar um par de '{}'
ou adicionar aspas em torno de palavras.

Baixe o plugin daqui: http://www.vim.org/scripts/script.php?script_id=1697 .

Extraia o arquivo .zip para ~/.vim. O extrator colocará arquivos no subdiretórios
'doc' e 'plugin'.
Reinicie o vim ou inclua na memória com:
:so ~/.vim/plugin/surround.vim
Regere as tags de help com:
:helptags ~/.vim/doc

Para documentação:
:help surround

Primeiro, posicione o cursor sobre a palavra que será cercada pelo delimitador

Para deletar delimitadores use o comando 'ds'+delimitador.
O delimitador determina que carácter deve ser deletado.
ds" - deleta um par de aspas duplas.
ds) - deleta um par de parenteses.
dst - deleta um par de tags html/xml.

Para alterar delimitadores use o comando 'cs'+delimitador_atual+delimitador_novo.
cs"' - troca aspas duplas por aspas simples.
cs"<q> - troca aspas duplas por uma tag.
cs)] - troca parenteses por colchetes.
cs)[ - troca parenteses por colchetes e um espaço.
cst<p> - troca uma tag html por outra tag.

Para adicionar delimitadores use 'cs'+objeto_texto+delimitador ou 'ys'+movimento+delimitador ou
'ys'+objeto_texto+delimitador.
csw' - coloca aspas simples em torno de uma palavra.
csW' - coloca aspas simples em torno de uma Palavra.
csw) - coloca parenteses em torno de uma palavra.
ysiw) - coloca parenteses em torno de uma palavra.
ysiwt<html> - coloca a tag em torno de uma palavra.
yss" - coloca aspas duplas em torno de uma sentença.
ySS" - coloca aspas duplas e 2 linhas em torno de uma sentença.

No modo inserção:
<Ctrl-S>delimitador - insere um par de delimitadores e coloca o cursor entre
eles.
<Ctrl-S><Ctrl-S>delimitador - insere o primeiro delimitador em uma linha, insere
uma linha vazia com o cursor e insere o segundo delimitador em outra linha:
<Ctrl-S><Ctrl-S><html>

O comando '.', por default, não repete os comandos do 'surround'. Para isso baixe e use o plugin repeat.vim.

0 comentários:

Postar um comentário