Per eliminare tutti gli spazi bianchi finali (alla fine di ogni riga), è possibile utilizzare il comando:
:%s/ \+$//
Per includere le schede, utilizzare \s
invece di spazio.
Dalla riga di comando:
$ ex +'%s/\s\+$//e' -cwq file.c
Tutti i file nella directory corrente (usare ricorsivamente **/*.*
):
$ ex +'bufdo!%s/\s\+$//e' -cxa *.*
Python way:
: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()
Utilizzare lstrip()
per la striscia sinistra (dietro), rstrip()
per la striscia destra (davanti) o strip()
per rimuovere da entrambe le estremità.
Ecco una funzione utile che rimuove lo spazio bianco superfluo dalla fine di una linea che puoi aggiungere al tuo .vimrc
:
" Removes superfluous white space from the end of a line
function! RemoveWhiteSpace()
:%s/\s*$//g
:'^
"`.
endfunction
C'è anche il plugin DeleteTrailingWhitespace per questo.
Evidenziando gli spazi bianchi
Per verificare se tutti gli spazi finali sono andati, utilizzare:
Digita / $
per trovarli. Se ce ne sono, Vim li evidenzierebbe per te.
Usa i colori per evidenziarli:
:highlight ws ctermbg=red guibg=red
:match ws /\s\+$/
Usa caratteri visibili ( fonte ):
:set encoding=utf-8
:set listchars=trail:·
:set list
Vedi anche: Evidenzia spazi indesiderati
Per evidenziare gli spazi bianchi finali per impostazione predefinita, è possibile configurare .vimrc
come segue:
highlight ws ctermbg=red guibg=red
match ws /\s\+$/
autocmd BufWinEnter * match ws / \+$/
Rimozione di spazi bianchi per impostazione predefinita
Se desideri assicurarti che tutti gli spazi bianchi finali in un file vengano rimossi automaticamente al momento del salvataggio, puoi aggiungere il seguente comando nel tuo .vimrc
:
autocmd BufWritePre *.c,*.php :%s/ \+$//ge
che non è raccomandato, poiché rimuoverà gli spazi bianchi finali da ogni file salvato da un utente (anche dove è possibile desiderare spazi bianchi).
Guarda anche: