A.J.Mechelynck wrote: > Howard Jess wrote: >> A.J.Mechelynck wrote: >>> >>> What about >>> >>> :set errorformat=%m[%f:%l:%v]%r >> >> Sorry; I'm using Vim 6.3; it says: >> >> E373: Unexpected %r in format string >> >> Perhaps this is a new feature in 7.0?? > > I dunno. I've junked 6.3 when 6.4 came around, and though I maintained > 6.4 and 7.0 alpha in parallel, now that the 7.0 "release" is out (with > already 35 bugfixes) I've junked 6.4 too. Here's the paragraph about %r > in 'errorformat' in the 7.0 help (quickfix.txt fot Vim 7.0, last change > 2006 Apr 30): > > %r matches the "rest" of a single-line file message %O/P/Q > > Maybe it isn't appropriate (%O, %P and %Q refer to how to handle > errorfiles where the filename is given once followed by several errors > with line/col without filename). Is it allowable to have %m more than > once in the format? Try > > :set efm=%m[%f:%l:%v]%m As you note, %r is valid, apparently, only in the context of %O/P/Q or similar formats. That didn't apply to my messages. And multiple %m's don't work either. > If it doesn't work, you could pre-process the errorfile so as to move > the [filename:123:45] part to the end of its line, and then match it > with %m[%f:%l:%v] on the modified errorfile. Vim could do the > preprocessing: (assuming the errorfile is called "make.log") This hint led me to a working solution. I appended the error location to the end of the line (leaving it in place, as well); changed the location delimiters from "[]" to "@{}" (maybe the use of "[]", significant to regular- and scanf-expressions, was a problem), and :set efm=%m\ @{%f:%l:%v}. Thank you! hj