+1 к ответу Питера, но Vim предлагает и другое решение. Если вы хотите сделать что-то более сложное, чем одинsetlocal , например, настроить сразу несколько параметров, команд и отображений, тогда на помощь придет функция подключаемого модуля filetype в vim.
Вы должны иметь filetype plugin onили filetype plugin indent onв вашем .vimrc, а затем создать плагин для, например, ruby, который вы можете создать ~/.vim/ftplugin/ruby.vim. Технически вы можете использовать любые команды , как здесь, чтобы работать , когда файл рубин загружен, но рекомендуемые включает в себя setlocal, map <buffer>, command -buffer, и определяющие функциях. Много дополнительной информации в руководстве пользователя; если вы довольно хорошо знакомы со сценариями vim, тогда переходите к :help 41.11, иначе читайте :help usr_40и :help usr_41.