6.- FOLDING

Folding permite definir qué partes del archivo se pueden visualizar. Consiste en un proceso de dos etapas:

  • Primero, se utiliza cualquiera de los métodos fold para definir que constituye un bloque de texto a plegar.

  • Posteriormente, se utiliza un comando fold para que Vim oculte el texto designado y deje en su lugar un marcador de una única línea.

Vim ofrece seis maneras diferentes de definir, crear y manipular folds (manual, indent, expr, syntax, diff y marker).

6.1.- MANUAL

Comando Descripción
#zF Crea un pliegue que cubre # líneas, comenzando desde la línea actual
zf Crea un pliegue desde la línea actual hasta la línea que marque el comando de movimiento

6.2.- INDENT

Este tipo de fold se basa en los niveles de indentación proporcionados por la opción shiftwidth. Por cada shiftwidth, el nivel de pliegue (foldlevel) se incrementa en uno. Por ejemplo, con un shiftwidth=4, las líneas indentadas con cuatro columnas, tendrán un foldlevel de 1, líneas indentadas con ocho columnas (dos shiftwidth) tendrán un foldlevel de 2, y así sucesivamente.

set foldmethod=indent

Se puede controlar el nivel de pliegues a visualizar con el comando foldlevel. Toma como argumento un entero y muestra sólo las líneas cuyo foldlevel es igual o menor al argumento.

:set foldlevel=0

Para aumentar o decrementar esta opción, mediante una secuencia de keystrokes y poder visualizar un mayor o menor contenido del documento se pueden utilizar los comandos zr (incrementar) y zm (decrementar).

6.4.- MARKER

Este tipo de fold se basa en marcadores de texto.

set foldmethod=market

set foldmarket=nnn,mmm, donde nnn es la cadena de caracteres donde comienza el marcador y mmm es la cadena de caracteres donde finaliza el marcador.

6.5.- GESTIÓN DE FOLDS

Para facilitar la gestión de los pliegues, se puede activar una columna en el margen izquierdo del documento que permite tener una perspectiva visual sobre dichos pliegues:

set foldcolumns=5

Cualquier acción en un pliegue afecta a todas las líneas que conforman el pliegue, es decir, si se elimina un pliegue, se eliminan todas sus líneas.

Comando Descripción
zO Abre un pliegue, recursivamente
zo Abre un pliegue
zC Cierra un pliegue, recursivamente
zc Cierra un pliegue
zR Establece el foldlevel al nivel más alto, equivalente a abrir todos los pliegues
zr Aumenta en uno el valor de foldlevel, equivalente a abrir el siguiente pliegue más interno
zM Establece el foldlevel=0, equivalente a cerrar todos los pliegues
zm Disminuye en uno el valor de foldlevel, equivalente a cerrar el pliegue más interno
zj Mueve el cursor al comienzo del siguiente pliegue
zk Mueve el cursor al final del anterior pliegue
zd Elimina un pliegue
zD Elimina un pliegue, recursivamente
zE Elimina todos los pliegues

Enlaces

results matching ""

    No results matching ""