Vim/Usando folders

< Vim

Introdução

editar

Folders são como dobras nas quais o vim esconde partes do texto, algo assim...

  +-- 10 linhas -------------------------------------------------------------

Deste ponto em diante chamaremos os "folders" descritos no manual do vim como dobras!

Quando tiver que manipular grandes quantidades de texto tente usar dobras, isto permite uma visualização completa do texto.

Um modo de entender rapidamente como funcionam as dobras no vim seria criando um folder para as próximas 10 (dez) linhas com o comando abaixo:

   zf10j

Métodos de dobras

editar

os vim tem seis modos 'fold' são eles:

  • Sintaxe syntax
  • Indentação indent
  • Marcas marker
  • Manual

Para determinar o tipo de dobra faça

 :set foldmethod=tipo

onde o tipo pode ser um dos tipos listados acima, exemplo:

 :set foldmethod=marker

Outro modo para determinar o método de dobra seria colocando na última linha do seu arquivo algo assim:

 vim: set fdm=marker tw=78:ts=3: ft:potwiki 

Obs: deve haver um espaço entre a palavra inicial 'vim' e o começo da linha este recurso chama-se modeline (leia mais na seção apropriada)

onde "fdm" significa foldmethod, ou seja, método de dobra. Por curiosidade o tipo de arquivo seria

   ft:potwiki ou ft:txt

Manipulando dobras

editar
 zo ............... abre uma dobra
 zR ............... abre todas as dobras do arquivo atual
 zc ............... fecha uma dobra
 zfap ............. cria uma dobra para o parágrafo 'ap' atual
 zd ............... apaga o folder (não o seu conteúdo)
 zf/casa .......... cria uma dobra até a palavra casa
 zf'a ............. cria uma dobra até a marca 'a'
 zj ............... desce 'j' até a próxima dobra
 zk ............... sobe 'k' até a dobra anterior
 zi ............... desabilita ou habilita os folders
 :set fdl=0 ....... nivel de folder 0 (foldlevel)

Para abrir e fechar as dobras "em modo normal" usando a barra de espaços coloque o trecho abaixo no seu arquivo de configuração do vim .vimrc - veja como editar preferências no vim

   nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

Criando folders usando o modo visual

editar

Para iniciar a seleção visual

esc ............ vai para o modo normal
shift-v ......... inicia seleção visual
j ............... cada toque na letra 'j' aumenta a seleção visual em uma linha
zf .............. cria o folder na seleção ativa

differential calculus help

Criando folders para arquivos LaTeX

editar
set foldmarker=\\begin,\\end
set foldmethod=marker
"outro modo seria cirando folders para tudo que não começa com chapter
:setlocal foldmethod=expr
:setlocal foldexpr=getline(v:lnum)!~\"^.chapter\"