GNU Emacs: Todos los comandos que necesitas y nunca recuerdas
No te voy a engañar, emacs es complejo pero ¿qué hay que merezca la pena y no lo sea?. Si algo tiene emacs son opciones y comandos, cienes y cienes de ellos. Y claro, cuando necesitas hacer algo, no te acuerdas de cuál era el maldito comando y tienes que ponerte a mirar la documentación, aunque en realidad siempre acabas buscando las mismas cosas. O quizá sólo me pasa a mi. Pues en esta receta voy a poner los comandos que suelo necesitar y que siempre se me olvidan, que son casi todos.
Combinaciones sencillas
Movimientos | ||
M-< | Ir al principio del buffer | |
M→ | Ir al final del buffer | |
M-g g | Ir a una línea |
Control de blancos | |
C-x C-o | Elimina todas las lineas en blanco menos una |
Esc-espacio | Elimina todos los blancos menos uno |
M-\ | Elimina todos los blancos |
Resaltar el paréntesis o llave correspondiente
Hay un minor mode para ello:
M-x show-paren-mode
Hay un grupo de opciones que tienen que ver con esto y que puedes acceder con:
M-x customize-group Customize group: paren-matching
Convertir un fichero con saltos de línea tipo DOS a tipo Unix
C-x <RET> f unix C-x C-s
Indentación
Algunos comandos y variables relevantes para la indentación:
standard-indent
(variable) permite fijar el ancho de la indentación por defecto.indent-tabs-mode
(variable) controla si al pulsar el tabulador se insertan espacios (on) o caracteres TAB (off)tabify
(comando) convierte tabs blandos en tabs duros en el área seleccionada, es decir, sustituye secuencias de más de 3 espacios por tabuladores.untabify
(comando) convierte tabs duros en tabs blandos.
Lo siguiente es un fragmento de fichero .emacs
para indentación con tabs blandos de 4 espacios. Generalmente se recomienda usar tabs blandos aunque la cuestión soft tabs vs hard tabs es un flame clásico entre los programadores.
(custom-set-variables '(standard-indent 4) '(indent-tabs-mode nil))