Pregunta

Regularmente me encuentro con códigos C sin doblar.Es irritante leerlos si no están doblados, especialmente en archivos largos.¿Cómo puedo doblarlos?

¿Fue útil?

Solución

Para plegar de acuerdo con la sintaxis

:set foldmethod=syntax

Si desea hacerlo de forma manual en los bits que desea plegar

:set foldmethod=manual

a continuación, crear nuevos pliegues mediante la selección de / en movimiento y presionando zf por ejemplo.

shift-v j j zf

(ignorando los espacios)

Editar:. Véanse también los comentarios de esta respuesta para la sangría y marcadores foldmethods

Otros consejos

Creo que puede haber mezclado la terminología. ¿Necesita "envoltura" o "plegado". Envoltura es aquel en el que las líneas que no suelen encajar en la pantalla debido a su longitud, se envuelven, es decir, se muestra en varias líneas consecutivas en pantalla (en realidad, es una línea, en varias líneas - difícil de explicar, mejor para ver en la práctica).

En vim envoltorio se fija mediante

:set wrap

para encenderlo, y

:set textwidth=80

para determinar dónde vim debe ajustar el texto (80 caracteres suele ser una medida agradable).

plegable por el contrario es un asunto completamente diferente. Es el uno donde vim pliega varias líneas de código (por ejemplo, una función) en una línea de código. Es útil para aumentar la legibilidad del código. Vim tiene varios métodos de plegado, se puede ver todos ellos si

:help folding

Lo que usted está buscando, creo que sería, plegado de sintaxis, pero podría estar equivocado. Recomiendo la lectura de la página de ayuda, no es larga, y muy útil.

He rodado una veces plug-in para C y C ++ . Va más allá de lo que se hace con la sintaxis de plegado (puede ser que se podría mejorar, no sé), y deja menos ruidoso y no cosas realmente útiles se desarrollaron, en comparación con la sangría y plegado basada marcador.

La advertencia:. Con el fin de tener tiempos de reacción decente, tuve que hacer algunas simplificaciones, y, a veces el resultado es bastante desordenado-up (que tiene que escribir zx para solucionarlo)

Aquí hay un pequeño screencast para ver cómo el plugin se pliega a ++ código fuente correctamente equilibrada C, que no está siendo modificada actualmente: (

introducir descripción de la imagen aquí

En vi (en contraposición a vim) la respuesta fue:

:set wm=1

Esto establece margen derecho de un carácter antes del final de la línea. Esta no es la mejor especificación del mundo, con ventanas de tamaño variable (que tenía sentido con pantallas verdes cuando era difícil cambiar el tamaño).

Eso significa que también es una forma alternativa de hacerlo en vim:

:set textwidth=30

Ver: Manual de usuario Sección 25.1 VimDoc

El es probable que desee el ajuste

:set foldmethod=syntax

Pero no poner esto en forma manual! Eso es dejar de lado uno de VIMS características más importantes que está teniendo una configuración personalizada para cientos de tipos de archivos ya incorporadas. Para conseguir eso, añadir esto a su ~ / .vimrc

filetype plugin on
filetype indent on

Detección de tipo de archivo se basa principalmente en la extensión, en este caso los archivos * .c. Ver: ayuda: filetype para obtener más información. También puede personalizar esta configuración basada tipo de archivo.

En realidad, existe otra forma muy sencilla y eficaz, que es utilizar foldmethod = marker y establecer foldmarker ser {,}.Entonces el resultado del plegado se vería así:

  1. Todas las funciones plegadas.Básicamente, se parece al esquema del IDE.(y también puedes set foldlevel=1o más, si no quieres doblar todo al principio)

enter image description here

  1. Así es como se ve una función normal cuando la abres con el nivel 1 a través de zo.

enter image description here

Además, para realizar el plegado por sintaxis se necesita un poco de trabajo extra, y aquí hay una buena tutorial al respecto.Pero creo que pasar por alto marker={,} es suficiente y, lo más importante, es simple y ordenado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top