+1 a la respuesta de Peter, pero Vim también proporciona otra solución. Si desea hacer algo más complicado que uno solo setlocal, como configurar un montón de opciones, comandos y asignaciones a la vez, la función del complemento de tipo de archivo de vim viene al rescate.
Debe tener filetype plugin ono filetype plugin indent onen su .vimrc, y luego crear un complemento para, por ejemplo, ruby que pueda crear ~/.vim/ftplugin/ruby.vim. Técnicamente se puede utilizar cualquier comando te gusta aquí, para ejecutarse cuando se carga un archivo de Ruby, pero los más recomendados son setlocal, map <buffer>, command -buffer, y las funciones que definen. Mucha más información está en la Guía del usuario; si está bastante familiarizado con las secuencias de comandos vim, vaya a :help 41.11, de lo contrario, lea :help usr_40y :help usr_41.