vim

understanding vim's indenting system