Pregunta

Hay varias preguntas sobre la MANERA acerca de cómo obtener el código de plegado en emacs, sin tener que añadir caracteres especiales como "marcadores" en los comentarios, por ejemplo.Alguien dijo que no había "ninguna solución perfecta."
Parece que podría ser realiza mediante el análisis del código fuente del programa está escrito y buscar la coincidencia entre paréntesis o corchetes, o para hacer sobre la base de la sangría.También se puede utilizar una combinación de secuencias de comandos que utilizan diferentes métodos.
Así que ¿por qué es comúnmente aceptado que no hay una "perfecta" y de manera directa de obtener el código de plegado en emac?Hay algo en emacs o su arquitectura, que hace que sea difícil para el programa?Si fuera fácil, después de tantos años de gente inteligente y el uso de emacs se podría pensar que alguien hubiera escrito.

¿Fue útil?

Solución

Usted debe jugar con Hideshow (hs-minor-mode) combinado con fold-dwim.el.Hace exactamente lo que usted sugirió -- busca llaves/paréntesis, y se puede configurar para volver a caer en la sangría.

Hay una robusta solución de plegado hacia fuera allí para los idiomas más comunes, y si no la hay, todo el plegamiento de los paquetes son altamente personalizables.De hecho, el único inconveniente es la proliferación de métodos de plegado (fold-dwim ayuda bastante con eso);Yo solía pensar que porque nadie podría me apunte a una solución definitiva, el plegamiento fue difícil o imposible, de hecho, lo opuesto es la verdad.Sólo tienes que experimentar un poco para ver lo que funciona mejor para usted.

He utilizado folding.el (por ejemplo,para agrupar cosas en mi .emacs), outline-minor-mode, y ahora Hideshow.Hay alguna posibilidad de que ninguno de ellos iba a funcionar exactamente de la manera que usted desea a la derecha fuera de la caja (por ejemplo,usted puede ser que necesite para configurar un esquema de regex, o definir el plegamiento de las marcas para folding.el), pero resulta ser fácil.Las teclas predeterminadas puede ser un poco barroco, pero esto es remediado por el fold-dwim y/o hideshow-org (muy recomendado para Hideshow, cf la Emacswiki hideshow página;también puede imitar hideshow-org's el comportamiento de otros modos de plegado con algunas rápida y sucia elisp y fold-dwim).Una vez que averiguar su preferido de instalación, sólo se enciende automáticamente por medio de ganchos o tampón de variables locales, y ver su código abatible :) (véase infra, nota al hacer clic +'s en el margen).

texto alt http://img198.imageshack.us/img198/4029/screenshot1oc.png

Otros consejos

Debes mirar en CEDET. Hace un plegado de código bien, y muchas otras características elegantes que probablemente esté buscando si está cambiando de un IDE a emacs.

http://cedet.sourceforge.net/

Específicamente, busque el "modo de plegado de etiquetado global-semántico"

No necesita nada adicional, solo habilite el modo de minor de esquema para los tipos de archivos que desea doblar.

Pero de hecho, hay varias soluciones para emacs; He enumerado algunos de ellos (aquellos con los que he encontrado) en http://en.wikipedia.org/w/index.php?title=code_folding&oldid=375300945#cite_note-2.

Sin embargo, hay cosas que me faltan: en algunos casos, me gustaría combinar varios mecanismos: por ejemplo, para Markdown, me gustaría usar el plegamiento basado en el contorno (para secciones) y el plegamiento basado en la sangría (para Citas, bloques de código, etc.) - En orden no molestarme en implementar un analizador completo para Markdown.

Aquí están:

Plegamiento basado en token en emacs

El plegamiento basado en el token en emacs está impeminado por el plegable modo menor.

Plegamiento basado en la sangría en emacs

Uno puede usar el set-selective-display función en emacs para ocultar líneas basadas en el nivel de sangría, como se sugiere en el Plegamiento de código universal Nota.

Plegamiento dependiente de sintaxis en emacs

El plegamiento dependiente de la sintaxis en emacs es compatible con:

Varios mecanismos de plegado están unificados por elplegable interfaz.

Ver también http://www.emacswiki.org/emacs/categoryhidestuff.

Plegado de regiones seleccionadas por el usuario en emacs

El plegamiento de las regiones seleccionadas por el usuario en EMACS es implementado por el escondite dominio.

he estado usando modo plegable por algun tiempo. Con la plantilla de inserción automática y abrevs me funciona bastante bien para algunos buenos ladrillos de código.

Ser capaz de producir el búfer plegado (para imprimir/enviar correos electrónicos) siempre ha sido un deseo mío. Algunas de mis etiquetas plegables son para ocultar la contraseña / contraseña.

Sí, finalmente, el cine de pliegue está ahí en emacs. Pruebe Yafolding presente en la biblioteca de paquetes Melpa.org.

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