Delete all spaces and tabs at the end of my lines

Vim

Vim Problem Overview


Any idea on how to delete all the spaces and tabs at the end of all my lines in my code using vim? I sometimes use commands to add things at the end of my lines, but sometimes, because of these unexpected blanks (that is, I put these blanks there inadvertently while coding), which serve no purpose whatsoever, these commands don't do the right job... so i'd like to get rid of the blanks once and for all using some vim command. Thanks in advance!

Vim Solutions


Solution 1 - Vim

In vim:

:%s/\s\+$//

Explanation:

  • : command
  • % apply to entire file
  • s search and replace
  • /\s\+$/ regex for one or more whitespace characters followed by the end of a line
  • // replacement value of an empty string

Solution 2 - Vim

I use this function :

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

Leader,w to remove trailing white spaces

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

Remove trailing white spaces when saving a python file:

autocmd BufWrite *.py :call DeleteTrailingWS()

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNiguView Question on Stackoverflow
Solution 1 - VimAmberView Answer on Stackoverflow
Solution 2 - VimDrasillView Answer on Stackoverflow