described vim's craziness
main is compliant with HACKING