Mar 24
Emacs whitespace-mode
Whitespace-mode renderiza caracteres para que sean visibles, tales como espacios, tabulaciones o nuevas lineas.
Esto es de gran importancia especialmente cuando se emplean lenguajes como Python.
Para comenzar a usarlo tan solo debemos teclear:
M-x whitespace-mode
Este comando hara toggle de este modo para el fichero actual. Si queremos activar/desactivar el modo a nivel global para la sesion actual de emacs deberemos lanzar:
M-x global-whitespace-mode
Ejemplo de captura con whitespace-mode por defecto
- los tabs se muestran como «>>»
- los espacios como «.»
- fin de linea como «$»
- las lineas en rojo son trailing spaces
- mientras que las lineas amarillas son «TABs» en lugar de espacios al principio de la linea.
Tambien existen otros modos utiles como:
M-x whitespace-newline-mode
M-x global-whitespace-newline-mode
Ahora bien, si no queremos acabar con los ojos destrozados, podemos modificar los simbolos y colores por defecto de este modo:
Para reducir los colores podemos emplear:
(setq whitespace-style (quote (spaces tabs newline space-mark tab-mark newline-mark)))
Si queremos mostrar el simbolo pilcrow en lugar del simbolo del dolar para nueva linea hariamos lo siguiente:
(setq whitespace-display-mappings
;; all numbers are Unicode codepoint in decimal. try (insert-char 182 ) to see it
‘(
(space-mark 32 [183] [46]) ; 32 SPACE, 183 MIDDLE DOT 「·」, 46 FULL STOP 「.」
(newline-mark 10 [182 10]) ; 10 LINE FEED
(tab-mark 9 [9655 9] [92 9]) ; 9 TAB, 9655 WHITE RIGHT-POINTING TRIANGLE 「▷」
))
Simbolo Unicode Code Point (Decimal) Unicode Name
· 183 MIDDLE DOT
¶ 182 PILCROW SIGN
↵ 8629 DOWNWARDS ARROW WITH CORNER LEFTWARDS
↩ 8617 LEFTWARDS ARROW WITH HOOK
⏎ 9166 RETURN SYMBOL
▷ 9655 WHITE RIGHT POINTING TRIANGLE
▶ 9654 BLACK RIGHT-POINTING TRIANGLE
→ 8594 RIGHTWARDS ARROW
↦ 8614 RIGHTWARDS ARROW FROM BAR
⇥ 8677 RIGHTWARDS ARROW TO BAR
⇨ 8680 RIGHTWARDS WHITE ARROW
Whitespace-mode tunneado para que quede mucho mas chulo que por defecto
Para eliminar los espacios en blanco al final de la linea tan solo debemos invocar a la funcion:
M-x delete-trailing-whitespace
Aunque tambien podemos anadir las siguientes lineas en nuestro .emacs, para asegurarnos de manera automatica, que cada vez cuando guardamos, no dejamos trailing spaces:
(add-hook ‘before-save-hook ‘delete-trailing-whitespace)
Referencias:
http://ergoemacs.org/emacs/whitespace-mode.html
http://www.emacswiki.org/emacs/WhiteSpace