Sie könnten für jede Dateierweiterung ein anderes Autocmd erstellen, z. B:
au BufEnter,BufNew *.rb map <F5> :rubyf % <CR>.
Siehe :help autocmd
für Informationen über Autocmds.
Ein besserer Ansatz für Ihr spezifisches Problem wäre die Abbildung <F5>
immer aufzurufen :make %
und haben dann ein Autocmd, das die makeprg
Option für jeden Dateityp (verwenden Sie setlocal
wenn Sie dies für beste Ergebnisse tun). Dies wäre nicht zum Laden von Ruby in Vim (wie Sie es zu tun scheinen), sondern zum Aufrufen eines externen Compilers/Interpreters/Liners. Das ist im Wesentlichen das, was ich mache. Das Schöne an dieser Vorgehensweise ist, dass Vim die Fehler und Warnungen interpretieren und automatisch zu den Problemen in Ihrem Code springen kann. Sie können sich auch eine Liste der Fehler/Warnungen anzeigen lassen. Siehe :help quickfix
für Informationen dazu, sowie die Hilfethemen für 'makeprg'
, :make
, :copen
y 'errorformat'
.
Eine leichte Abwandlung davon wäre, überhaupt keine Autocmds zu verwenden, sondern stattdessen ein externes Skript zu haben, das bei Angabe eines Quelldateinamens herausfindet, was ausgeführt werden soll (Ruby, Ihr Scheme-Compiler, Pychecker, Ihr C-Compiler, was auch immer). Dann setzen Sie einfach makeprg
um dieses Skript immer auszuführen.