Vim for rails developers: indenting code
I use Vim mainly to write code and, in order to maintain some sanity, I like my code indented. I like to have a mapping for indenting the entire file I’m editing. My first attempt to solve this simple problem was:
When I pressed <f5>, both in normal and insert mode, I got all the current file indented. The process is very simple, basically it works in the following way:
Well this was cool. It just worked fine and made all the current file indented. I was used to the just mentioned mappings for a long time but, recently, I was annoyed by a little issue this mapping had. Practically, when I pressed <f5> I lost the cursor position and I did not like that. So, yesterday I reached the WTF point and decided to solve this problem. After a few attempts with the jumplist and with the changelist, I found a solution I really like. Eventually, I came up with the following:
that works exactly as the previous solution but, in addition, it brings the cursor back where it was before you pressed <f5>. Now I use the mark command, and the sequence is:
Put the current position in the m mark.
As the previous solution.
Bring the cursor to the position stored in the m mark.
So, nothing magical but useful. And I’d be glad to see other possible solutions.
Thanks to a comment, the above mentioned mapping can be refactored in the following way:
Indeed, I’ve already updated my vimrc.