Para eliminar todos los espacios en blanco finales (al final de cada línea), puede usar el comando:
:%s/ \+$//
Para incluir pestañas, use en \s
lugar de espacio.
Desde la línea de comandos:
$ ex +'%s/\s\+$//e' -cwq file.c
Todos los archivos en el directorio actual (uso recursivo **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Forma de Python:
:py import vim
:pydo vim.current.buffer[linenr - 1] = vim.current.buffer[linenr - 1].strip()
o:
:py import vim
:py for i, l in enumerate(vim.current.buffer): vim.current.buffer[i] = l.rstrip()
Úselo lstrip()
para la tira izquierda (posterior), rstrip()
para la tira derecha (delantera) o strip()
para quitar de ambos extremos.
Aquí hay una función útil que elimina el espacio en blanco superfluo del final de una línea que puede agregar a su .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
También hay un complemento DeleteTrailingWhitespace para eso.
Destacando espacios en blanco
Para verificar si todos los espacios finales se han ido, use:
Escribe / $
para encontrarlos. Si hay algunos, vim los destacaría por usted.
Usa colores para resaltarlos:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Usar caracteres visibles ( fuente ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Ver también: resaltar espacios no deseados
Para resaltar los espacios en blanco finales de forma predeterminada, puede configurar su de la .vimrc
siguiente manera:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Eliminar espacios en blanco por defecto
Si desea asegurarse de que todos los espacios en blanco al final de un archivo se eliminen automáticamente al guardar, puede agregar el siguiente comando a su .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
lo cual no se recomienda, ya que eliminará los espacios en blanco al final de cada archivo que guarde un usuario (incluso donde se pueda desear espacios en blanco).
Ver también: