I'm trying to get balloonevalterm to work in the terminal version of vim, but for some reason it does not yet work. Here's my macros.vim file:

function! MyBalloonExpr()
  let macros = {
  \ 'MACRO' : "MACRO\ndo { something(); } while (0)",
  \ }
  return get(macros, v:beval_text, '')
set bexpr=MyBalloonExpr()
set ballooneval
set balloonevalterm

When I source this file with :so % in gvim, all is fine: when I place the mouse pointer over MACRO the balloon MACRO do { something(); } while (0) appears. Sweet!

However, I can't get the balloon to appear in the terminal version of vim, even though set balloonevalterm should do so, according to my understanding.

I'm using vim 8.0.1427 in an XTerm(330), TERM=xterm-256color on FreeBSD and :ver shows it is compiled with +ballon_eval and +balloon_eval_term. What am I missing?

  • 1
    I can reproduce it with GTK2 Gui.
    – Naumann
    Jan 9, 2018 at 22:59
  • @Naumann You mean the balloon is shown in the GUI version but not in the terminal version?
    – Jens
    Jan 10, 2018 at 5:56
  • yes. It is shown in the gui. I should have made this clear. vim 8.0.1417 here.
    – Naumann
    Jan 10, 2018 at 6:08
  • 1
    Looks like this issue
    – Rich
    Jan 10, 2018 at 9:45
  • 2
    This can be explained by the issue I raised here: github.com/vim/vim/issues/2481 i.e. balloonevalterm is only functional when the content is provided asynchronously. May 27, 2018 at 18:20


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.