2009-09-11 11 views
12

no vacíos En este momento estoy usando:Mostrar espacios en blanco en emacs sólo en líneas

(setq show-trailing-whitespace t) 

En mi .emacs para mostrar espacios en blanco para mi modo de CC. Parece que no puedo encontrar la manera de que no muestre la fuente de espacios en blanco para las líneas de solo espacio en blanco.

Las líneas vacías que separan el código de sangría a veces se sangran a nivel de código y, a veces, no tienen sangría en absoluto, y no quiero llamar mi atención sobre una línea que no me importa cambiar.

Me gustaría apegarme a los módulos incorporados de emacs, pero estoy dispuesto a usar whitespace.el, pero no está claro cómo configurarlo para hacer esto.

Respuesta

11

Como quiera usar módulos integrados, le aconsejo utilizar el enlace whitespace.el que especificó, ya que se incluye con Emacs 23. Esta respuesta funciona cuando se usa ese espacio en blanco.

Como siempre y cuando tenga 'trailing en su 'whitespace-style variable (la que está por defecto), el siguiente cambio en la expresión regular para lo indica "arrastrando" espacio en blanco debe darle lo que quiere:

(setq whitespace-trailing-regexp 
    "\\b\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$") 

Nota: Es simplemente el valor predeterminado, con el \b antepuesto, lo que indica que los espacios en blanco deben seguir una palabra.

2

Con

"\\b.*\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$"

la palabra no tiene que estar directamente en frente de los espacios en blanco de cola pero no puede haber, por ejemplo, signos de puntuación entre ellos (es decir, esto también resalta los espacios en blanco detrás de los caracteres que no son palabras).

Editar:
Usando

"\\b.*?\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$")

destacados todos los espacios en blanco al final, y por lo tanto elimina el inconveniente mencionado en el comentario # 1.

+0

En el lado negativo, 'Mx whitespace-cleanup' ya no elimina todos los espacios en blanco, sino solo el último en la línea (el resaltado) ... – Marvin

+0

Use' Mx picture-mode' seguido de ' Cc Cc' para eliminar todos los espacios en blanco finales. – Drew

Cuestiones relacionadas