When writing scripts, I prefer to have my comments aligned with the code. However, as I use smartindent
, vim always moves me to the first column whenever I start a line with hash. Annoying. This annoyance can be disabled, however, with a small entry in your .vimrc
configuration file:
:inoremap # X^H# " do not move to left margin when the first character " of a line is # and smartindent is set
Be careful, the ^H
part is not two characters but one single control character! In vim you can enter it with CTRL-v
followed by H
.
Don’t ask me what exactly this setting does. It is remapping what happens when you type a hash mark in insert mode. Instead of what was done before, it will type an X, then a backspace and then the hash character. This way the first character typed on the line is no longer the hash mark. But how exactly this works, I don’t know either.