Portál AbcLinuxu, 8. května 2025 22:46
Ahoj,
potreboval bych poradit, jak mam upravit errorformat v programu VIM pro gcc a make tak, aby se mi pri uspesne kompilaci pri pouziti prikazu :cl vynechali radky, ktere zacinaji slovem "make".
Pouzivam standardni errorformat pro gcc co prichazi s Vimem:
setlocal errorformat=
\%*[^\"]\"%f\"%*\\D%l:\ %m,
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%D%*\\a:\ Entering\ directory\ `%f',
\%X%*\\a:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f
Vim ze je moznost definovat promennou g:compiler_gcc_ignore_unmatched_lines a ze se pak provede
let &errorformat .= ',%-G%.%#'
ale to neni to co bych potreboval. Tohle totiz totiz odstrani az moc.
Zkousel jsem ruzne kombinace s %-G, ale neprisel jsem na to.
Myslel jsem ze by mi to melo brat treba:
:set efm+=%-G%make%.%#
ale bohuzel to nefunguje podle mych predstav.
Na konec pro ukazku ukazka vypisu, ktery bych chtel odfiltrovat:
make: Entering directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
make[1]: Entering directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
make[2]: Entering directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
make[2]: Leaving directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
[ 96%] Built target acxv2
make[2]: Entering directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
make[2]: Leaving directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
make[2]: Entering directory `/home/radek/cvs/graph/acxv2/CMAKETEMP'
Castecne jsem ten problem nyni vyresil. Pomohlo do vimrc napsat:
:compiler gcc
let &errorformat="%-Gmake%.%#,".&errorformat
Predtim jsem ten retezec vzdy pripojoval az za originalni errorformat, ale nejak ho to na konci nebralo; na zacatku je to OK. Netusi nekdo proc to tak je?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.