folding – ¿Hay alguna forma de mostrar las partes dobladas como un árbol?

Pregunta:

El plegado es útil para ocultar partes del documento. Una representación visual de la estructura plegable como un árbol sería útil para comprender la estructura del documento de un vistazo.

Respuesta:

Puede usar :set foldcolumn=<number> para mostrar una columna de <number> ancho que intenta visualizar los niveles de pliegue. Se vería así, de forma predeterminada (con un método de pliegue de marcador, usando {{{ y }}} ):

-    {{{ Top Level Fold
|-   {{{ Nested Fold
||-  {{{ Deepest Fold
|||  }}}
||   }}}
|-   {{{ Another Nested Fold
||   }}}
|    }}}

Sin embargo, esto consume bastante espacio horizontal. Otro método sería escribir una foldtext() personalizada de foldtext() que lea el nivel de pliegue con foldlevel() y foldlevel() consecuencia. Esto desperdiciará menos espacio horizontal, pero en realidad no será tan útil para comprender visualmente el árbol, ya que no puede ver los pliegues debajo de un pliegue colapsado. Por ejemplo, su .vimrc :

set foldtext=CustomFoldText()
function! CustomFoldText()
  let line = getline(v:foldstart) . "..."
  return repeat("--| ", v:foldlevel) . line
endfunction

Hay complementos que proporcionan visualizaciones bajo demanda de la jerarquía de pliegues, como también folddigest.vim . Funcionan, esencialmente, analizando el nivel de plegado de cada línea, creando una estructura de datos adecuada y volcando una visualización de la estructura de datos en un nuevo búfer. Probablemente podría adaptar la técnica a sus propias necesidades.

Es posible que también desee ver los complementos que proporcionan "guías de sangría", como esta . Nunca los he usado personalmente, y escuché que causan problemas de rendimiento a algunas personas, ya que generalmente implican generar muchos aspectos destacados de coincidencias personalizadas a través de matchadd() , pero su kilometraje puede variar.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım