It appears this might not be a vim issue after all, as I'm also seeing these characters when I redirect stdout + stderr from my make command to a file.
For anyone looking here for help on troubleshooting multiline errorformat, this question has a very helpful response: https://stackoverflow.com/questions/16718444/multiline-errorformat-in-vim On Monday, November 13, 2017 at 12:54:12 PM UTC-8, Tim Black wrote: > I'm struggling to get vim (8.0 (2016 Sep 12)) to parse the output of my build > system, and need help with defining my errorformat. The default gcc efm > appears to not be matching any lines, so in quickfix I see basically every > line of make output, but the lines that actually contain errors show up with > odd characters inserted. > > Example make output: > > make: Entering directory '/home/tblack/SourceRAM/la/Blocks' > ZYNQ_GPP src/avpcva.cpp > src/avpcva.cpp: In destructor 'virtual Blocks::AVPCVA::~AVPCVA()': > src/avpcva.cpp:152:49: error: 'class AVBC::STC' has no member named > 'getHandle' > uint16_t handle = stIter->second->getHandle(); > ^ > > For the above make output, the quickfix list shows: > > || make: Entering directory '/home/tblack/SourceRAM/la/Blocks' > || ZYNQ_GPP src/avpcva.cpp > || ^[[01m^[[Ksrc/avpcva.cpp:^[[m^[[K In destructor '^[[01m^[[Kvirtual > Blocks::AVPCVA::~AVPCVA()^[[m^[[K': > || ^[[01m^[[Ksrc/avpcva.cpp:152:49:^[[m^[[K ^[[01;31m^[[Kerror: > ^[[m^[[K'^[[01m^[[Kclass AVBC::STC^[[m^[[K' has no member named > '^[[01m^[[Kget Handle^[[m^[[K' > || uint16_t handle = stIter->second->getHandle(); > || ^[[01;32m^[[K ^^[[m^[[K > > The default errorformat for vim's gcc compiler plugin (amazingly) does not > appear to beconfigured to support multi-line output (doesn't include any of > %E, %C, %Z). I suspect that I just need to adjust my errorformat accordingly, > but: > > 1. Would my using the default efm explain the odd characters in my quickfix? > 2. I could use help with the specification of an efm that will correctly > parse my make output. I have been reading the vim docs and browsing the web > for days and still not making headway on demystifying and troubleshooting > multiline errorformats in vim. > > I took a stab at this, using the errorformat below. The first line attempts > to define my multi-line error format start(%E)/continue(%C)/end(%Z). > > set errorformat =%E%f:%l:%c:\ %trror:\ %m,%-C,%-Z%p^ > set errorformat+=%D%*\\a:\ Entering\ directory\ [`']%f' > set errorformat+=%X%*\\a:\ Leaving\ directory\ [`']%f' > > But it does not result in any different behavior from what I described above. > > Thank you. -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
