sábado, 14 de março de 2009

Folding com marcas no texto

Use:
:set foldmethod=marker

Use marcas no texto para definir o início e o fim da região do fold.
Isso dá controle preciso de qual linhas são incluídas no fold.

A desvantagem é que o texto precisa ser mudado.

Exemplo:
/* foobar () {{{ */
int foobar()
{
/* return a value {{{ */
return 42;
/* }}} */
}
/* }}} */

Um fold começa com a marca "{{{" e termina opcionalmente com "}}}". As marcas podem ter o número de nível do.

A opção 'foldmarker' define as marcas.

Regras para delimitar folds:

Se um outra marca com o mesmo nível de fold é encontrada, o fold anterior termina e começa outra fold com o mesmo nível.
Se uma marca com nível de fold maior é encontrada, um fold aninhado é iniciado.
Se uma marca com nível de fold menor é encontrada, todos os folds acima incluindo este nível terminam e o fold com nível menor começa.

Marcas com número de nível de fold:
{{{1
nível de fold aqui é 1
{{{3
nível de fold aqui é 3
}}}3
nível de fold aqui é 2

O 'zf' pode ser usado para inserir marcas de início e fim. As marcas são apendadas no final da linha.
Use uma seleção visual ou outra seleção para definir o fold.
Atenção que isso pode não funcionar sempre.

0 comentários:

Postar um comentário