Folding (Dobras)

1. Folding (Dobras)

Thadeu Aparecido Coelho de Paula
thadeu

(usa Debian)

Enviado em 28/12/2005 - 04:04h

Algumas ajudas/dicas acerca de folding no VIM.

"Folding" organiza regiões do texto em pastas, resumindo o conteúdo de modo que seja mais compreensível as regiões de um documento/código fonte... p.e.

Ao invés de ver todo código-fonte de uma função, vê-se apenas o seu título:

+function BLABLA () { --3 lines folded ------->

mas ao abrir a "dobra" ou "empastamento" ficaria assim...

-function BLABLA () {
comando 1;
comando 2;
comando 3; }



  


2. Folding com XML

Thadeu Aparecido Coelho de Paula
thadeu

(usa Debian)

Enviado em 28/12/2005 - 04:12h

Se uso o VIM para tudo... por que não para XML...
Sim... mas seria bem melhor utilizando-se do recurso "folding"...

O problema é que o ideal seria o uso de uma expressão regular que casasse tudo corretamente, algo como:

'<\([^/].*\)\(\ .*\)*>.*\(</\1>\)\?'

De modo que, ao encontrar tal trecho... fosse dobrado.

Já tentei com ":syn region" , no entanto precisa de pares "start" e "end". Mas não dá para usar o retrovisor \1 em "end" se referindo ao início da tag em "start"

Por outro lado... "text" é muito simples para tal aplicação...

Há alguma forma de se conseguir com "fold-expr"?

O mais próximo que consegui foi com "syntax":

:set foldmethod=syntax
:syn region xmlFold start="<[^/](.*)[^/]>" end="</\1>" fold transparent keepend extend



3. o Script está pronto!!!

Thadeu Aparecido Coelho de Paula
thadeu

(usa Debian)

Enviado em 04/01/2006 - 19:35h

Após três semanas quebrando a cabeça... está aqui, prontinho para usar o script que cria "Dobras" de acordo com o aninhamento de etiquetas e sub-etiquetas...

Baixe-o em:
http://www.vim.org/scripts/download_script.php?src_id=4936

Este script permite ao usuário o fácil uso de dobras em documentos XML.

Este script suporta:

Dobra de etiquetas xml/html entre linhas diferentes com <etiqueta> </etiqueta>

Dobra de comentários xml/html: <!--comentário-->

Aréa de conteúdo CDATA entre
"<!<CDATA[" e "]]>"


Instalação:
This script allow the user to easily folding on XML documents.
It supports:

Folding xml/html tags between two different lines: <tag> </tag>
Folding xml/html comments: <!-- comment -->
Folding xml CDATA content between "<!<CDATA[" and "]]>"

COMO INSTALAR

Apenas será necessário baixá-lo e executá-lo dentro de seu arquivo XML/HTML com o comando do vim:

:so XMLFolding.vim

Ou, se quiser, adicionar em seu ~/.vimrc:

au BufNewFile,BufRead *.xml,*.htm,*.html so XMLFolding

Fazendo isso, sempre o script será carregado ao abrir estes arquivos.

Apenas não se esqueça de referir-se ao caminho correto para onde você guardou o script!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts