Blocks in Spacemacs - What do they mean/are?

Hi everyone. I’ve began using Spacemacs a couple of days ago (long time Sublime user with very little Vim experience) and I keep getting these blocks (the blue ones) and I don’t know what they mean.

They also seem to appear at the end of some lines (I thought they were the \n at first). I’ve been looking around but haven’t found a good beginner’s guide to Spacemacs (for Evil Mode)

2 Likes

That are whitespacemarkers. They are just indicating that there is some whitespace left between the last printed character and the line end.

You will never see them between the beginning of a line and a printed character.

2 Likes

In Vim you can configure it so that all trailing whitespace is removed on save - there is bound to be an Emacs equivalent.

In Vim you just need to add the following to your .vimrc file.

autocmd BufWritePre * :%s/\s\+$//e

Looks like this blog post contains Emacs info.

I don’t think sublime/textmate etc highlight trailing whitespace hence you didn’t experience this when using sublime.

2 Likes

I don’t like it beeing removed on save. This can create really much noise when contributing to projects in which whitespace has not been thought of when initially created.

For this reason I like having control over the exact point in time when I do a cleanup.

I don’t know if there is a proper binding, but I do use it very seldom, so I just do it like this: SPC : whitespace-cleanup.

Also there is a nice feature called batch mode in emacs, which does allow the following small thing:

for file in *.[hc]; do
  emacs --batch "$file" --eval '(setq-default indent-tabs-mode nil)' --eval '(whitespace-cleanup)' -f save-buffer
done

This is specialised for C-headers and Source-files, but can be modified easily by changing the glob in the first line. This does also remove tabs used for indent and replaces them with the correct amount of spaces configured for the given filetype.

3 Likes

I have my Emacs delete trailing whitespace and I think everyone should do that. I contribute to projects that has some whitespace and in those cases I use Magit to selectively choose what lines to stage and commit.

3 Likes

There’s a Emacs plugin/bundle called ws-butler, It can be used either to remove trailing space on save or by a command to clean up over a region/line.

To configure it with spacemacs, you can put ws-butler in the additional-packages section.

https://github.com/lewang/ws-butler

2 Likes