Fandom

Vim Tips Wiki

Errorformat and makeprg

Redirected from VimTip476

1,624pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Tip 476 Printable Monobook Previous Next

created May 20, 2003 · complexity basic · author sputnik · version 5.7


I was fiddling around with the errorformat and makeprg opts, and as I code in different languages, i was wondering if there was a way of specifiing a special makeprg and errorformat parameter for each language, and there is! just edit the $VIM/ftplugin/[syntaxfile].vim

For example, perl.vim, added at the end:

set makeprg=$HOME/bin/vimparse.pl\ -c\ %\ $*
set errorformat=%f:%l:%m

c.vim

set makeprg=g++\ %

It works delightfully with the :Make tip VimTip203

I mapped F-5 to :Make, and made it go back to the main window:

map <F5> :Make<CR><C-w><Up>

CommentsEdit

I prefer to make a compiler plugin, then use a ftplugin to set a default compiler, i.e.:

~/.vim/compiler/xmllint.vim:
if exists("current_compiler")
  finish
endif
let current_compiler = "xmllint"
setlocal makeprg=xmllint\ --valid\ --noout\ %
setlocal errorformat=%f:%l:\ %m
~/.vim/ftplugin/xml.vim
compiler xmllint

This way you can actually set up as many compilers as you want for the same filetype. I set a default in my ftplugin, but then a quick ':compiler somecompiler' will change to a different one as opposed to having to set makeprg and errorformat (remembering those is non-trivial)


Also on Fandom

Random Wiki