Я попытался создать функцию в своем конфигурационном файле vim, чтобы я мог «скомпилировать и запустить» в соответствии с типом файла (в основном я работаю с Fortran, C и Python). Он сделал работу за исключением того, что каждый раз после того, как скомпилированный исполняемый файл бежал, было бы уведомление в нижней части моего Vim говоря: обнаруженИспользование инструкции if в файле _vimrc?
Ошибка при обработке функции CompileRun: линии 17: E171: Missing: 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
Я не получаю сообщение об ошибке при копировании тела функции в моей Vim (7.3), сохраните его как test.vim, поиск поставщиков файл и вызов CompileRun() ... – eckes 2010-12-10 07:40:50
Я также использую vim 7.3, но vim всегда вставляет часть функции в мой код после компиляции и запуска. Если это не случилось с вами, я полностью смущен ... – mayasky 2010-12-11 04:21:01