Почему я получаю всплывающее сообщение, когда наводил курсор на любое слово из файла Ruby?
Если я наведите указатель мыши на любое слово из файла 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
Ответы
Ответ 1
Вы используете vim-ruby, я думаю. Ну, этот плагин определил balloonexpr. Вы можете прочитать здесь здесь. Лично я нахожу это довольно раздражающим, поэтому я отключил его:
setlocal balloonexpr=
в моем .vim/after/ftplugin/ruby.vim
файле.
Ответ 2
Самый простой способ - поместить это в свой .vimrc:
Поместите его после инициализации Syntastic и Pathogen, если вы используете эти плагины.
В некоторых случаях у людей были проблемы с настройкой noballooneval, там было несколько обходов:
- Если что-то переписывает вашу настройку noballooneval, вы можете использовать
:verb set ballooneval?
для просмотра изменений.
-
:set balloondelay=100000
-
:setlocal balloonexpr=
- Найдите строку нарушения в используемом вами плагине и прокомментируйте ее (grep для
balloon
).
- Если вы создаете свой собственный Vim,
balloon_eval
является параметром конфигурации времени компиляции, вы можете использовать его для включения или отключения функции.
Литература:
См. также: Я получаю это окно при редактировании файлов Ruby в Vim. Что это такое?
Ответ 3
То, что вы видите во всплывающей подсказке, это вывод по умолчанию ri
при запуске без аргументов.
Я думаю, что несколько недель назад я увидел почти идентичную проблему: a ri
vim script/macro, который каким-то образом не отправил правильный аргумент (слово под курсором) на ri
.
Вы должны выследить script/plugin/macro/autocommand, который должен взаимодействовать с ri
и посмотреть, есть ли:
- Он эффективно захватывает слово под курсором.
- Фактически отправляет его на
ri
.
- Использует правильный API для общения с
ri
.
Используете ли вы Janus или какой-то другой "дистрибутив"?
Ответ 4
Если вы используете MacVim, встроенный плагин netrw перезапишет ваш параметр set noballooneval
. Вы должны сделать это:
" Disable hover tooltips
set noballooneval
let g:netrw_nobeval = 1
Ответ 5
Извините, подсказка с помощью netrw появляется только тогда, когда курсор находится в буфере netrw и в баннере netrw. В частности, это не влияет на рубиновые файлы.