+1 untuk jawaban Peter, tetapi Vim memberikan solusi lain juga. Jika Anda ingin melakukan sesuatu yang lebih rumit daripada satu setlocal, seperti mengatur sejumlah besar opsi, perintah, dan pemetaan sekaligus, maka fitur plugin filetype vim datang untuk menyelamatkan.
Anda harus memiliki filetype plugin onatau filetype plugin indent ondi dalam Anda .vimrc, dan kemudian membuat plugin untuk misalnya ruby yang dapat Anda buat ~/.vim/ftplugin/ruby.vim. Secara teknis Anda dapat menggunakan perintah Anda seperti di sini, yang akan dijalankan ketika file Ruby dimuat, tapi yang direkomendasikan meliputi setlocal, map <buffer>, command -buffer, dan fungsi mendefinisikan. Banyak informasi lainnya ada di Panduan Pengguna; jika Anda cukup terbiasa dengan skrip vim kemudian lompat ke :help 41.11, jika tidak baca :help usr_40dan :help usr_41.