¿Cómo mostrar el nivel de identificación en vim en lugar de las marcas de tabulación?

0

my .vimrcmuestra líneas verticales para poder seguir fácilmente los bloques de ideación, como casi todos los editores de texto / IDE.

if(x == 1){
|   if( y == 1){
|   |   y();
|   }
}

¿Hay alguna forma de hacer esto más útil y mostrar el nivel de ideación? No lo confundiré con el código real, ya que ya uso un color de contraste extremadamente bajo para esos.

if(x == 1){
1   if( y == 1){
1   2   y();
1   }
}

Sería realmente útil encontrar mi nivel de anidación en algunos métodos locos que tengo que refactorizar en mi trabajo. Mi solución actual implica tener ventanas horizontales solo para poder dejar la superior cuando los bloques comienzan a volverse locos y la inferior donde navego para cambiar el código.

PD: ya tengo complementos de paréntesis de arco iris. pero esos ya no están ayudando.

gcb
fuente
1
No que yo sepa, pero hay toneladas de complementos vim por ahí, por lo que podría haber algo. Si no obtiene una respuesta aquí, puede intentar preguntar aquí .
blm

Respuestas:

0

No tengo suficiente representante para comentar tu pregunta, así que publico una respuesta y la actualizaré si puedo encontrar algo mejor. Aquí está mi "respuesta":

No es exactamente lo que está pidiendo, pero ¿ya ha intentado ": establecer lista"? (": establecer nolist" para desactivar). Si son pestañas duras (caracteres de pestañas verdaderas, por ejemplo ^I), esto mostrará un ^Ipara cada pestaña. De esa manera, puede ver y contar visualmente el número de pestañas para una línea determinada. Es por eso que digo que no es exactamente lo que está buscando, por ejemplo, el formato que proporcionó / ​​sugirió en su pregunta.

Además, FWIW, también tenía la costumbre de usar cuando trabajaba con código menos complejo (por ejemplo, cientos de LOC y, como máximo, algunos archivos). Una vez que comencé a trabajar en proyectos con miles a millones de LOC y cientos de archivos, comencé a usar para que los corchetes se alinearan (un poco de la misma idea que buscas, IMO). Esto realmente ayuda cuando también se usa para oscilar entre paréntesis en vim. También utilizo la división de ventana horizontal, ya que algunas veces el código es demasiado largo (rogando por su propia función, etc.).
if(statement){
// code here...
}


if ( (complexStatement) )
{
// code here...
}

%

HTH

tniles
fuente
Podrías hacer referencia a esta publicación . La respuesta no aceptada apunta al OP :help listchars. En los documentos, parece que puede establecer su propio estilo para las pantallas de pestañas, por ejemplo, en >---lugar de ^I. Tal vez intente eso? No se requieren complementos.
noviembre
0

Bueno, no hace exactamente lo que quieres, porque esto no es posible. Pero puede usar mi complemento DynamicSigns para mostrar el nivel de sangría en la columna de la canaleta. Establecer :let g:Signs_IndentationLevel=1y correr :Signs.

Vea la ayuda en :h DynamicSigns.txtpara saber qué puede hacer con él.

Christian Brabandt
fuente