Я попытался создать функцию в моем файле конфигурации vim, чтобы я мог «скомпилировать и запустить» в соответствии с типом файла (я в основном работаю с Fortran, C и Python). Это сработало, за исключением того, что каждый раз после запуска скомпилированного исполняемого файла в нижней части моего vim появлялось уведомление:
Обнаружена ошибка при обработке функции CompileRun:
строка 17:
E171: отсутствует: endif
Я понятия не имею, что означают "строка 17" и "E171", поскольку они не могут быть связаны ни с исходным файлом, ни с файлом _vimrc, также кажется, что оператор if закрыт. Я много гуглил, не найдя ответа. Моя функция заключается в следующем:
map <F4> : call CompileRun()<CR>
func! CompileRun()
if &filetype == 'fortran'
exec "w"
exec "!gfortran % -o %<"
exec "!%<.exe"
exec "i"
elseif &filetype == 'c'
exec "w"
exec "!gcc % -o %<"
exec "!%<.exe"
exec "i"
elseif &filetype == 'python'
exec "w"
exec "!python %<.py"
exec "i"
endif
endfunc