Emacs como IDE para CakePHP
2008-05-10 16:02:47-05
Desarrollo
Durante ocho años evité a Emacs, lo use un par de días allá en el siglo pasado y con eso me bastó para decirle adiós, se me hacía algo demasiado críptico, grande y a la vez rudimentario para lo que yo necesitaba. Por lo tanto mi editor de todos los días fue por años Jedit.org, un excelente editor.
Una de las razones por las que decidí intentar con Emacs fue una conferencia en el Hotel Sheraton del Centro Histórico que organizó Sun, el ponente era un alemán desarrollador de Java que a todas luces se veía que era un chingón, toda la conferencia sobre Hibernate y J2EE la dió usando Emacs, editaba y compilaba código Java, XML, CSS, HTML y todo sin salirse el editor. Pensé que alguien tan bueno debía usarlo por alguna razón.
Luego en el foro de #rubyonrails inició una discusión sobre TextMate y editores y entonces me dí cuenta que muchos de los mejores desarrolladores del channel usaban emacs.
De modo que emacs ha sido mi editor los últimos cinco meses, aunque sé que apenas aprovecho el 20% de esta multiherramienta , ya me empiezo a dar cuenta porque la gente lo recomienda tanto, es un editor super-potente, super-estable y super-fléxible y ¡va en la versión 22!.
El tema de la combinación de teclas, que a tanta gente desespera, sólo dura un par de semanas, luego uno se acostumbra.
Lo primero que hay que hacer es instalar emacs y algunas extensiones:
$ sudo apt-get install emacs22-nox php-elisp emacs22-el
Yo prefiero la versión "nox" es decir sin soporte de X, pura consola. Emacs se manej através de combinaciones de teclas, la tecla Control (Ctrl) se represneta con una C mientras la tecla Meta con una M, la tecla Meta en los teclados que no la poseen nativamente, es la tecla Alt en el lado izquierdo del teclado. Por ejempo:
C-v scroll-up ctrl más tecla v simúltaneamente
M-v scroll-down alt más tecla v simúltaneamente
En el caso de:
C-x C-s save-buffer ctrl más tecla x simúltaneamente, soltar y luego ctrl más tecla s simúltaneamente
Estos son algunos de los comandos más usados. Para seleccionar una sección que queramos copiar o cortar hay que usar C-Space, es decir Ctrl más la barra espaciadora.
Ahora necesitamos crear el archivo .emacs con nuestra configuración, este es el mio:
;;Colores
(global-font-lock-mode 1)
;;Colores para la seleccion (mark region)
(setq transient-mark-mode t)
;;Activar el wheel del mouse
(mouse-wheel-mode)
;; Mostrar el numero de columna
(setq column-number-mode t)
;; associate ruby-mode with .rb files
(add-to-list 'auto-mode-alist '(".rb$" . ruby-mode))
;;php and CakePHP
(add-to-list 'auto-mode-alist '(".thtml$" . php-mode))
(add-to-list 'auto-mode-alist '(".ctp$" . php-mode))
(autoload 'cyclebuffer-forward "cyclebuffer" "cycle forward" t)
(autoload 'cyclebuffer-backward "cyclebuffer" "cycle backward" t)
(global-set-key "\M-N" 'cyclebuffer-forward)
(global-set-key "\M-P" 'cyclebuffer-backward)
;;;;;;;;;;;;;;;;;;;;
;; set up unicode
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(put 'set-goal-column 'disabled nil)
Asi ya tenemos soporte para PHP en las vistas de CakePHP con extensión .ctp pera además tenemos otras ventajas como hacer switch entre buffers con C-M-n y como mostrar la selección de texto para copiar o cortar:

Una de las cosas padres de emacs es que podemos tener un buffer en el sistema con M-x-shell.
Una de las razones por las que decidí intentar con Emacs fue una conferencia en el Hotel Sheraton del Centro Histórico que organizó Sun, el ponente era un alemán desarrollador de Java que a todas luces se veía que era un chingón, toda la conferencia sobre Hibernate y J2EE la dió usando Emacs, editaba y compilaba código Java, XML, CSS, HTML y todo sin salirse el editor. Pensé que alguien tan bueno debía usarlo por alguna razón.
Luego en el foro de #rubyonrails inició una discusión sobre TextMate y editores y entonces me dí cuenta que muchos de los mejores desarrolladores del channel usaban emacs.
De modo que emacs ha sido mi editor los últimos cinco meses, aunque sé que apenas aprovecho el 20% de esta multiherramienta , ya me empiezo a dar cuenta porque la gente lo recomienda tanto, es un editor super-potente, super-estable y super-fléxible y ¡va en la versión 22!.
El tema de la combinación de teclas, que a tanta gente desespera, sólo dura un par de semanas, luego uno se acostumbra.
Lo primero que hay que hacer es instalar emacs y algunas extensiones:
$ sudo apt-get install emacs22-nox php-elisp emacs22-el
Yo prefiero la versión "nox" es decir sin soporte de X, pura consola. Emacs se manej através de combinaciones de teclas, la tecla Control (Ctrl) se represneta con una C mientras la tecla Meta con una M, la tecla Meta en los teclados que no la poseen nativamente, es la tecla Alt en el lado izquierdo del teclado. Por ejempo:
C-v scroll-up ctrl más tecla v simúltaneamente
M-v scroll-down alt más tecla v simúltaneamente
En el caso de:
C-x C-s save-buffer ctrl más tecla x simúltaneamente, soltar y luego ctrl más tecla s simúltaneamente
Estos son algunos de los comandos más usados. Para seleccionar una sección que queramos copiar o cortar hay que usar C-Space, es decir Ctrl más la barra espaciadora.
Ahora necesitamos crear el archivo .emacs con nuestra configuración, este es el mio:
;;Colores
(global-font-lock-mode 1)
;;Colores para la seleccion (mark region)
(setq transient-mark-mode t)
;;Activar el wheel del mouse
(mouse-wheel-mode)
;; Mostrar el numero de columna
(setq column-number-mode t)
;; associate ruby-mode with .rb files
(add-to-list 'auto-mode-alist '(".rb$" . ruby-mode))
;;php and CakePHP
(add-to-list 'auto-mode-alist '(".thtml$" . php-mode))
(add-to-list 'auto-mode-alist '(".ctp$" . php-mode))
(autoload 'cyclebuffer-forward "cyclebuffer" "cycle forward" t)
(autoload 'cyclebuffer-backward "cyclebuffer" "cycle backward" t)
(global-set-key "\M-N" 'cyclebuffer-forward)
(global-set-key "\M-P" 'cyclebuffer-backward)
;;;;;;;;;;;;;;;;;;;;
;; set up unicode
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(put 'set-goal-column 'disabled nil)
Asi ya tenemos soporte para PHP en las vistas de CakePHP con extensión .ctp pera además tenemos otras ventajas como hacer switch entre buffers con C-M-n y como mostrar la selección de texto para copiar o cortar:

Una de las cosas padres de emacs es que podemos tener un buffer en el sistema con M-x-shell.
Permalink: http://www.mononeurona.org/users/entry/aarkerio/1330
Comentblogs:1.-
saidjose wrote:
Gracias aarkerio por el artÃculo, aunque no uso editores, me tomare la molestia de utilizar el emacs
2008-05-12 14:08:01-05
Gracias aarkerio por el artÃculo, aunque no uso editores, me tomare la molestia de utilizar el emacs
2008-05-12 14:08:01-05











