salir - como usar emacs
¿Cuál es la mejor instalación de plantilla de código para Emacs? (5)
Particularmente, ¿cuál es el mejor paquete de fragmentos que hay?
caracteristicas:
- fácil de definir nuevos fragmentos (texto sin formato, entrada personalizada con valores predeterminados)
- navegación simple entre posiciones predefinidas en el fragmento
- inserción múltiple de la misma entrada personalizada
- acepta texto seleccionado actualmente como una entrada personalizada
- multiplataforma (Windows, Linux)
- expresiones evaluadas dinámicamente (código incrustado) escritas en un lenguaje de programación conciso (se prefieren Perl, Python, Ruby)
- muy bien coexiste con otros paquetes en Emacs
Ejemplo de plantilla de código, un bucle simple for
C:
for (int i = 0; i < %N%; ++i) {
_
}
Es mucho tipeo para un código tan común. Quiero invocar una plantilla de código o fragmento que inserta ese código repetitivo para mí. Además, se detiene (en TAB u otra pulsación de tecla) en %N%
(mi entrada lo reemplaza) y la posición final del cursor es _
.
Agregaría mi voto para los fragmentos de tempo ... fácil de configurar, potente (puede ejecutar elisp arbitrario en su plantilla, para poder descifrar cosas, buscar nombres de archivos y clases, contar cosas, etc.), configurar la sangría, integrar con abreviaturas ... Lo uso mucho;)
EmacsWiki tiene una página de motores de plantillas .
De estos, he usado el tempo en el pasado (lejano) para agregar soporte de tabla a html-helper-mode , pero no sé cómo ha progresado en los últimos 15 años.
Personalmente, he estado usando Dmacro durante años ( ftp://ftp.sgi.com/other/dmacro/dmacro.tar.gz ).
Aquí hay una reseña que también menciona algunas alternativas: http://linuxgazette.net/issue39/marsden.html
Yo voto por http://cedet.sourceforge.net/srecode.shtml
Tiene una sintaxis muy limpia y tiene acceso al entorno de código a través de Semantic
.
También es parte de la distribución CEDET
grande y bien soportada (que se incorporó a Emacs para la serie de versiones 24.x).
ACTUALIZAR https://github.com/capitaomorte/yasnippet también es un potente motor de plantillas. Pero utiliza un feo esquema de nomenclatura de archivos (su nombre de archivo === nombre de plantilla) porque no puede poner varias plantillas en un solo archivo y tiene problemas con los juegos de caracteres nacionales ...
Los fragmentos de TextMate son la coincidencia más cercana, pero no es una solución multiplataforma y no para Emacs.
La segunda cosa más cercana es yasnippet (el screencast muestra las capacidades principales). Pero interfiere con hippie-expand
paquete hippie-expand
en mi configuración y el lenguaje incrustado es EmacsLisp con el que no me siento cómodo con .emacs
externos.
EDITAR : yasnippet
mi respuesta aquí para permitir votar en yasnippet
.