2011-12-16 24 views
10

Se si passa il mouse su qualsiasi parola di un file Ruby, viene visualizzato un messaggio di suggerimento.Perché ricevo un messaggio popup quando passo il mouse su una parola di un file Ruby?

Uno screenshot di tale messaggio popup è popup message.

cat ~/.gvimrc rendimenti:

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 

risposta

10

Stai utilizza vim-rubino credo. Bene, questo plugin ha definito uno balloonexpr. Puoi leggerlo here. Personalmente trovo abbastanza fastidioso così Ho disabile con:

setlocal balloonexpr= 

nel mio file .vim/after/ftplugin/ruby.vim.

+0

No, è NERD_tree.vim in ~/.vim/plugin, ho aggiornato il post originale/domanda. Vedi di nuovo per capire. – shibly

+0

Ho avuto NERD_tree e l'ho risolto con il codice fornito –

1

Quello che viene visualizzato nel suggerimento è l'uscita predefinita di ri quando viene eseguita senza argomenti.

Penso di aver visto un problema quasi identico qui alcune settimane fa: uno script vim/macro ri che in qualche modo non ha inviato l'argomento corretto (parola sotto il cursore) a ri.

Si dovrebbe dare la caccia lo script/plugin/macro/autocomando che dovrebbe interagire con ri e vedere se:

  1. Si afferra in modo efficace la parola sotto il cursore.
  2. In realtà lo invia a ri.
  3. Utilizza l'API corretta per parlare con ri.

Usi Janus o qualche altro "distro"?

23

Il modo più semplice più pulito è quello di mettere questo nel vostro Vimrc:

  • :set noballooneval

posto dopo aver inizializzato Syntastic e patogeni, se si utilizzano questi plugin.

In alcuni casi le persone hanno avuto problemi con l'impostazione noballooneval, ci sono un paio di work-around:

  • Se qualcosa sovrascrive l'impostazione è possibile utilizzare per guardare :verb set ballooneval? modifiche ad esso il vostro noballooneval.
  • :set balloondelay=100000
  • :setlocal balloonexpr=
  • trovare la linea incriminata nel plugin che si sta utilizzando e commentare fuori (grep per balloon).
  • Se si sta costruendo il proprio Vim, balloon_eval è un'opzione di configurazione in fase di compilazione, è possibile utilizzarlo per abilitare o disabilitare la funzionalità.

Riferimenti:

Vedi anche: I get this window while editing Ruby Files in Vim. What is it?

+0

Modificato per fare collegamenti funziona :) – number5

+0

Se qualcun altro sta usando Eclim, puoi disabilitare il popup aggiungendo 'let g: EclimShowCurrentErrorBalloon = 0' al tuo .vimrc –

1

Se stai usando MacVim, il built-in netrw il plug-in sovrascriverà l'impostazione set noballooneval. Devi fare questo:

" Disable hover tooltips 
set noballooneval 
let g:netrw_nobeval = 1 
+0

Questa risposta merita un punteggio più alto, dal momento che nel mio caso * era * netrw clobbering le mie impostazioni. In particolare, questo era in gVim su Linux, quindi non è solo MacVim. Inoltre, il suggerimento di ': verb set ballooneval?' Non lo ha catturato per qualche motivo. E il cazzeggio si è bloccato dopo aver finito di usare il netrw. Il modo tipico in cui avrei attivato il bug era: 1. Iniziare a usare Vim (è impostato '' noballooneval') 2. Apri e naviga in una directory, attivando netrw (che clobbre con 'ballooneval'). 3. Aprire un file Ruby in quel buffer. Successivamente, viene aggredito con un popup ('ballooneval' è ancora attivo) –

0

Mi dispiace, l'aiuto palloncino di netrw mostra solo quando il cursore si trova in un buffer netrw e la bandiera di netrw. In particolare, non influisce sui file ruby.

Problemi correlati