Is there a way to copy the error message that YCM shows at the bottom of vim?

enter image description here

For example in the above image, it says:

unused parameter 'sortFunction'

I had an idea of using "howdoi [paste]" in another terminal and get a solution easily :)

  • $ howdoi won't help. You only need basic logic: you have an unused parameter so you have two solutions: remove it or use it. – romainl Mar 22 '15 at 9:42
  • 1
    @romainl no no , you took me wrong , I just wanted to demonstrate that case. Infact I've intentionally introduced that variable :p – Abhinav Gauniyal Mar 22 '15 at 9:47

If YCM uses the proper mechanisms, that message should be in either v:statusmsg or v:errmsg. You can put those values into the system clipboard via:

:let @+ = v:statusmsg
  • says Invalid register name: '+' and I tried with ' * ' too and it says same. – Abhinav Gauniyal Mar 22 '15 at 9:49
  • 1
    That means your Vim doesn't have clipboard support. You could launch the command directly from Vim: :! howdoi <C-R>=v:statusmsg<CR><CR> then. – Ingo Karkat Mar 22 '15 at 9:52
  • 1
    Right; it would have to be a + in front. Is the message in one of those variables; have you checked that? Getting it out there is just secondary to your original question. – Ingo Karkat Mar 22 '15 at 10:02
  • 2
    @AbhinavGauniyal You can check if YCM uses those variables by executing :echo v:statusmsg or :echo v:errmsg. If one of them contains the message you're looking for, use that variable. If both of them are empty, then YCM is not using these variables to store the error messages. Also, make sure you get the error message with YCM again as v:errmsg may get overwritten with newer error messages. – akshay Mar 22 '15 at 10:23
  • 1
    Then it's likely :echo. You could raise an issue at YCM's issue tracker to have that (trivially) changed to :echomsg. – Ingo Karkat Mar 22 '15 at 10:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.