Вы можете создать разные autocmd для каждого расширения файла. например:
au BufEnter,BufNew *.rb map <F5> :rubyf % <CR>.
См. :help autocmd
для получения информации об autocmds.
Лучшим подходом для вашей конкретной проблемы было бы сопоставить <F5>
, чтобы всегда вызывать :make %
, а затем иметь autocmd, который устанавливает опцию makeprg
для каждого типа файла (используйте setlocal
, когда вы делаете это для лучшего Результаты). Это будет не для загрузки ruby в Vim (как вы, кажется, делаете), а для вызова внешнего компилятора / интерпретатора / линтера. Это по сути то, что я делаю. Хорошая вещь в этом заключается в том, что Vim может интерпретировать ошибки и предупреждения и автоматически переходить к проблемам в вашем коде. Вы также можете вызвать список ошибок / предупреждений. См. :help quickfix
для получения информации об этом, а также разделы справки для 'makeprg'
, :make
, :copen
и 'errorformat'
.
Небольшое отклонение от этого может заключаться в том, чтобы вообще не использовать autocmds, а вместо этого иметь внешний скрипт, который при задании имени исходного файла выясняет, что нужно запускать (ruby, ваш компилятор схем, pychecker, ваш компилятор C и т. Д.) , Затем просто установите makeprg
, чтобы всегда запускать этот скрипт.