当我将鼠标悬停在Ruby文件的任何单词上时,为什么会收到弹出消息?

shi*_*bly 10 ruby vim editor

如果我将鼠标悬停在Ruby文件的任何单词上,我会得到一个工具提示消息.

该弹出消息的屏幕截图是弹出消息.

cat ~/.gvimrc 收益:

function! SyntaxBalloon()
    let synID   = synID(v:beval_lnum, v:beval_col, 0)
    let groupID = synIDtrans(synID)
    let name    = synIDattr(synID, "name")
    let group   = synIDattr(groupID, "name")
    return name . "\n" . group
endfunction

set balloonexpr=SyntaxBalloon()
set ballooneval

"how syntax highlighting groups for word under cursor
nmap <F2> :call <SID>SynStack()<CR>
function! <SID>SynStack()
    if !exists("*synstack")
        return
    endif
    echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
endfunc
Run Code Online (Sandbox Code Playgroud)

Ant*_*ook 23

最简单的方法是将它放在你的.vimrc中:

  • :set noballooneval

如果您使用这些插件,请在初始化Syntastic和Pathogen后放置它.

在某些情况下,人们在设置noballooneval方面遇到了问题,有一些解决方法:

  • 如果某些内容覆盖了您的noballooneval设置,您可以使用:verb set ballooneval?它来观察对它的更改.
  • :set balloondelay=100000
  • :setlocal balloonexpr=
  • 找到您正在使用的插件中的违规行并将其注释掉(grep for balloon).
  • 如果您正在构建自己的Vim,那么它balloon_eval是一个编译时配置选项,您可以使用它来启用或禁用该功能.

参考文献:

另请参阅:在Vim中编辑Ruby文件时,我会看到此窗口.它是什么?


luc*_*tte 10

我猜你正在使用vim-ruby.好吧,这个插件定义了一个balloonexpr.你可以在这里阅读.就个人而言,我觉得它很烦人,所以我禁用它:

setlocal balloonexpr=
Run Code Online (Sandbox Code Playgroud)

在我的.vim/after/ftplugin/ruby.vim档案中.


Jar*_*dom 5

如果您使用的是MacVim,则内置的netrw插件将覆盖您的set noballooneval设置。您必须这样做:

" Disable hover tooltips
set noballooneval
let g:netrw_nobeval = 1
Run Code Online (Sandbox Code Playgroud)