VIM - Make spaces and tabs visible
posted at 12-07-2023
I usually use VIM to code, and sometimes I have problems finding indentation or some random spaces in the end of a line.
Googled a bit today and found out about list
in VIM. In which enables the strings to use in 'list' mode and for the :list
command. So, instead of shows just an empty space, it will show a character instead (this is configurable, and below I show how to do it).
For you to configure this, you need to set listchars
and add some parameters.
Parameters that I'm using:
eol:$ |
End of line, the end of the line will show $ |
space:- |
Each space will be a dash - instead of whitespace |
tab:># |
Each tab will show >###### instead of a big whitespace |
trail:~ |
Trailing spaces, it will show ~ instead of the amount of spaces given |
So if we go inside vim and do the following:
:set listchars=eol:$,space:-,tab:>#,trail:~
:set list
A normal text like the first two paragraphs will be:
I-usually-use-VIM-to-code,-and-sometimes-I-have-problems-finding-indentation-or-some-random-spaces-in-the-end-of-a-line.$
$
Googled-a-bit-today-and-found-out-about-`list`-in-VIM.-In-which-enables-the-strings-to-use-in-'list'-mode-and-for-the-`:list`-command.-So,-instead-of-shows-just-an-empty-space,-it-will-show-a-character-instead-(this-is-configurable,-and-below-I-show-how-to-do-it)$
~~~~~~~~~~$
The-line-above-has-10-spaces$
The-line-below-has-two-tabs$
>######>######$
It might be a little bit too noisy, so I created an alias to enable and disable that on ~/.config/nvim/init.vim
(I use neo vim).
You can find how to do that here: https://gist.github.com/airtonzanon/fae437d4b0808d5b9946a25945e9fc07#file-init-vim-L22