

Pick team tab or team space and stick with it, or alternately don't ever work on a project with other people, and don't check in to any repo that has anyone other than only yourself working on it. Inflicting your own visual preference on the rest of the team you are working with if there is any collaboration whatsoever causes everyone else pain for your convenience. If screen size is an issue for you, get a bigger screen, that is no one elses problem, and should never snowball into being their problem. The trade off of risk vs reward is simply not stacked in your favor. That is a lot of potential problems for the minor gain of not scrolling your screen as much. A bigger problem for svn than git because git tracks character edits while svn only tracks line edits, but still, this is unneccessary clutter either way) busted formatting based on individual tab settings mixed with the spacing which can't be guaranteed to look good universally, and numerous other issues that cannot be visibly distinguished at a glance, because there is no visible distinction between a tab and a set of spaces without checking with your cursor, and any program that converts one to the other will further convolute this, and force you to do complicated greps and preg_matches to find the issue for the non-printing characters (\t, \s, ,\n vs \r\n, etc). Mixing the two causes potential for merge conflicts in git/svn/subversion, confuse diffs with trivial spacing edits and attribute the actual logic to the wrong person (because they changed the indent when they auto-formatted. Try it!Įditors aren't smart enough to tell between mixed tabs and spaces because they shouldn't. That makes tabs actually a superior to spaces, when it comes to indentation.
Vimr audoindent makefile code#
I wouldn't have this kind of convenience if code would have beed indented with spaces.Īnybody who reads the code could use his or her favorite preferences on tab size, and nothing will be mixed up. Say, if I'm on the netbook with small screen, I'd probably set tab to 2 characters in order to see more code at my screen, and it will look fine. For example, this is the code I wrote assuming tab to be 3 characters:


After some time, I started getting headaches because the code gets messed up if some editor/viewer uses different tab size. When I was much younger, I used to use tabs in my code.
