2010-08-13 28 views
40

¿Alguna idea sobre cómo eliminar todos los espacios y pestañas al final de todas mis líneas en mi código usando vim? A veces uso comandos para agregar cosas al final de mis líneas, pero a veces, debido a estos espacios en blanco inesperados (es decir, pongo estos espacios en blanco allí involuntariamente durante la codificación), que no sirven para nada, estos comandos no hacen lo correcto trabajo ... así que me gustaría deshacerme de los espacios en blanco de una vez por todas usando algún comando vim. ¡Gracias por adelantado!Borrar todos los espacios y pestañas al final de mis líneas

Respuesta

99

En vim:

:%s/\s\+$// 

Explicación:

  • : comando
  • % se aplican a todo el archivo
  • s buscar y reemplazar
  • /\s\+$/ expresiones regulares para uno o más caracteres de espacio en blanco fol lowed por el final de una línea
  • // valor de reemplazo de una cadena vacía
+1

'\ s \ + $' es la expresión regular, y una cadena vacía es la sustitución. '/' es simplemente un separador. Puedes usar, p. '_' en su lugar. – strager

+0

Gracias ... ¡Estoy familiarizado con la sintaxis, aunque no conocía los caracteres en blanco! De todos modos, funciona :) Aceptaré tu respuesta lo antes posible. – Nigu

+0

@strager: soy consciente de eso; pero es mucho más fácil representar una cadena vacía cuando tienes delimitadores a su alrededor. El hecho de que dos caracteres '/' estén incluidos tanto en la parte de expresión regular como en el valor de reemplazo probablemente sea una pista de que no son especialmente parte de ninguno. ;) – Amber

13

I utilizar esta función:

func! DeleteTrailingWS() 
    exe "normal mz" 
    %s/\s\+$//ge 
    exe "normal `z" 
endfunc 

Leader, w para eliminar los espacios finales blancos

noremap <leader>w :call DeleteTrailingWS()<CR> 

Elimine los espacios en blanco al guardar un archivo de Python:

autocmd BufWrite *.py :call DeleteTrailingWS() 
+0

Y para los novatos que usen el sistema Linux, pon esta función en tu ~ /.vimrc archivo. –

+0

Para mí utilizo 'leader + w' para guardar, eso me impedirá eso, ¡así que agregué' w' al final de la función! –

Cuestiones relacionadas