Since two years, I get regularly angry because my different computers have not the same configuration, especially for bash, vim and some development tools. An (ex)colleague showed me its central repository to share his configuration files on all of his computers. I decided to do the same. I am ashamed, because it was really easy to do and it is soooo practical!
Browse my configuration files to see my vimrc, gitconfig, etc. I wrote a short Python script (install.py) to install shared configuration files with symbolic links.
I only share my home configuration files (not the /etc directory), but it is enough for me. If a computer needs a specific change, it is not a problem: I edit the configuration file but I don’t commit the change.
I took the opportunity to clean up my configurations files and improve some of them:
- vim now highlights nonbreaking spaces and tabulations in all modes (with a light grey), not only in C and Python modes
- vim displays a light red line at column 80: it helps me to make sure that my source code fits in 79 columns. It is a new feature of Vim 7.3 (colorcolumn).
- mercurial uses colors and a pager for hg diff and hg log. I also enabled rebase extension to update a local repository without having to do a “useless” merge commit, and record to be able to commit only some changes of a file.
I recently added a 2-lines status line in vim, idea taken from a friend configuration (Hobbestigrou’s vimrc), but I am still testing it. I am not sure that it helps more than the default (single line) status bar.
The most important changes are that vim now removes trailing spaces on all of my computers, and that my name and email are correctly configured for Mercurial and git.