Este documento proporciona una introducción a Emacs y su uso para el desarrollo web. Explica que Emacs es un potente editor de texto que puede funcionar en modo terminal o GUI y que cuenta con numerosas características como resaltado de sintaxis, autocompletado y soporte para múltiples idiomas y plataformas. Además, detalla cómo los modos permiten personalizar Emacs para tareas específicas como el desarrollo web a través de modos como nXHTML.
2. Emacs para el desarrollo WEB
Sinopsis
Un poco de historia
Caracteristicas Principales
Presentar el Editor
Suficiente Emacs
Comandos Basicos para empezar
Emacs Modes
Modos para el desarrollo WEB
Desarrollo WEB
Ejemplo de desarrollo rapido
3. Sinopsis
Emacs Originalmente era un acronimo de Editor MACroS.
El 1er Emacs fue escrito por Richard Stallman y lanzado
oficialmente en 1985.
Emacs sigue siendo mantenido por Richard Stallman y el
proyecto GNU.
La Ultima version de Emacs Se Libero el día 29 de enero
de 2012 (27 años de trabajo).
4. Caracteristicas Principales
Emacs puede Funcionar en modo terminal o en su version
con GUI.
Emacs normalmente usa comandos de teclado para
realizar tareas rapidas, las teclas mas tipicas son
Control (C-) y Meta (M-).
Emacs reconoce variados teclados e idiomas.
Emacs es multiplataforma, puede funcionar perfectamente
en Linux,windows, mac OpenBSD, etc.
Cuenta con un explorador de archivos similar al de una
terminal de linux.
Emacs puede ser personalizado completamente al usar el
5. Caracteristicas Principales
Es capaz de manejar multiples modos en un mismo Buffer
(Mumamo).
Es capaz de abrir archivos de forma remota y
transparente, ya sea a travez de SSH, FTP, SFTP, etc.
(TRAMP).
6. Caracteristicas Principales
Emacs Presenta distintas Informaciones en Distintos
Buffers y tambien en sus franjas.
Charset (Utf-8)
Tipo de fin de linea
Permisos de escritura Nombre Numeros de Modo Mayor/
Tamaño
Buffer Modificado del Linea/Colum Modo Menor
(en bytes)
Directorio es local (TRAMP) buffer na (MuMaMo)
7. Suficiente Emacs
Teclas Control y Meta (saber esto es la base)
`C-x': Presiona la tecla <x> mientras Sostienes la tecla <Ctrl>
`M-x': Presiona la tecla <x> mientras Sostienes la tecla <Meta>
(tipicamente ALT, Option, etc).
Comandos basicos:
De los comandos mas basicos para usar Emacs
satisfactoriamente, sin desesperarse por que no hace lo que
pensamos son los 2 siguientes:
C-g: Cancela la acción, detiene un comando colgado, etc. traten de
usarlo cada vez que entran en duda.
C-h k: Control+H y luego k, luego el minubuffer les pedira que
escriban cualquier comando y Emacs entregara ayuda.
8. Suficiente Emacs
Comandos Basicos: (Todas las funciones se pueden lanzar desde la Interfaz grafica)
Comando Tecla Descripción
keyboard-quit C-g Abortar el comando actual.
undo C-/ Deshacer el último cambio, y cambios
anteriores si se pulsa repetidamente.
find-file C-x C-f Visitar un fichero (del cual se especifica el
nombre) en su propio buffer de edición
save-buffer C-x C-s Guardar el buffer de edición actual en su
fichero visitado.
save-with- C-x C-w Guardar el buffer de edición actual como
newname fichero cuyo nombre se ha de especificar.
save-buffers-kill- C-x C-c Preguntar al usuario si se quieren guardar los
emacs cambios, y después salir de Emacs.
set-marker C-[space]/C- Colocar un marcador en el lugar donde se
@ quiere cortar o copiar.
kill buffer C-x k Cerrar el buffer actual.
fill-paragraph M-q Wrap text in ("fill") a paragraph.
9. Suficiente Emacs
Comandos para la edicion de texto:
Comando Teclas Descripción
Kill-line C-k Borra la linea en la que se encuentra el cursor
Yank C-Y Pega lo ultimo que fue cortado, o la ultima linea
eliminada.
Yank-pop M-y Pega la linea anterior a la ultima linea cortada o
eliminada, el uso sucesivo pega el texto que
esta en el kill-ring.
Kill-region C-w Corta la region seleccionada, usar set-marker
para seleccionar (cortar).
Kill-ring-save M-w Pega la region seleccionada en el kill-ring
(copiar).
undo C-x u ó C-_ Dezhace. (Ctrl+shift+_)
Query replace M-% Reemplaza un texto por otro.
isearch-forward C-s Busca en el Buffer. El uso sucesivo avanza
entre los resultados.
10. Emacs Mode
Los modos son lo mas esencial en Emacs sin ellos Emacs
no seria lo mismo.
Estos modos son las personalizaciones en ELISP hechas
casi un plugin o un paquete.
Normalmente son un solo archivo que contiene sus
instrucciones de instalación.
Todos los Modos deben ser incluidos Tipicamente en la
carpeta “.emacs.d” y deben ser configurados en el
archivo “.emacs” para que puedan ser utilizados.
Los modos se pueden encontrar con una gran facilidad en
EmacsWiki
11. Emacs Modes
Para el desarrollo WEB, necesitamos modos para agregar
caracteristicas, que son partes tipicas de cualquier
editor moderno como:
Resaltado de sintaxis.
Autocompletado.
Los Modos que usaremos son:
PHPmode (PHP)
Espressomode (javascript/jquery)
Cssmode (CSS)
Xmlmode (xhtml/html/xml)
12. Emacs Mode
Los modos anteriores se pueden instalar a mano uno a
uno, o bien se puede bajar un paquete que ya los
contenga.
Para estos ejemplos se usa nXHTML, un modo de emacs
bastante completo que integra los anteriores de una
manera sencilla, al igual que una serie de herramientas
que ayudan al desarrollo WEB.
http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html
13. Desarrollo WEB
Realizaremos un Pequeño ejemplo, de una pagina el
control de usuarios, usando Emacs+nXHTML y un
plugin de Jquery para manejo de tablas. Siguiendo la
siguiente maqueta:
14. Algunos Tips
Emacs se vuelve mas mas potente a medida que el
usuario aprende mas sobre este.
Emacs no solo es editor de texto, es practicamente un SO
a esta altura, así que vale la pena investigar para usarlo
para otras funciones (pe: ver y crear PDF).
Dependiendo de lo que desarrollen, pueden usar mas
modos que complementen y aceleren su trabajo como:
YASnippet, Zen-coding, Org Mode, etc.
Aprender a usar el teclado, varios comandos de emacs ya
tiene una tecla en el teclado como por ejemplo,
moverse al comienzo y al final de una linea o entre
palabras, y eso se puede usar en cualquier parte.
15. Palabras Finales
Para comcluir Emacs es un gran editor de texto,
sumamente avanzado y poderoso, pero no es el unico
editor, y como desarrolladores es conveniente buscar el
que mas adecue al trabajo que estamos realizando, así
como a gustos personales.
Como sugerencia a la hora de elegir un editor, seria
bueno tener en cuenta que este contenga algunas de
las caracteristicas que provee emacs y sus modos.
17. Referencias
YASnippet: https://github.com/capitaomorte/yasnippet
YASnippet en la wiki: http://emacswiki.org/emacs/Yasnippet
(no recomendado con nXhtml)
Zen-coding: http://emacswiki.org/emacs/ZenCoding
Video Ilustrativo: http://www.youtube.com/watch?v=VPt2U46OI_0
Página Oficial de Zen coding: http://code.google.com/p/zen-coding/
Org Mode*: http://orgmode.org/es/index.html
Bookmarks*: http://emacswiki.org/emacs/BookMarks
TRAMP*: http://www.gnu.org/software/tramp/
nXHTML:http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html
* Incluidas en Emacs por defecto.