I personally just use the US keyboard whenever I'm programming cause I need most of these special keys as characters anyways. You could use different keymappings, but I personally don't think this is such a good solution - if you ever have to work on another machine you won't be able to use vim at all. If you need to type spanish characters you can just switch your keyboard layout back when typing.