#vim #tagbar
#vim #панель тегов
Вопрос:
Я хотел бы, чтобы плагин VIM tagbar запускался при открытии определенных типов файлов, поэтому я добавил в свой .vimrc следующее:
if has("gui_running")
autocmd BufEnter *.hs nested TagbarOpen
Однако это работает не так, как я ожидал. Он открывает боковое окно, но в боковом окне ничего не отображается, и мой курсор застрял в нем. Я не могу переключать окна щелчком мыши или командами перемещения CTRL-W.
Однако, когда я запускаю TagbarOpen вручную, он работает просто отлично.
Кто-нибудь еще пробовал это, или приведенная выше команда не подходит для выполнения?
Ответ №1:
Интересно, что это побочный эффект удобной функциональности, которую я не ожидал. Что происходит: если TagbarOpen вызывается, когда окно уже открыто, Tagbar переводит курсор в его окно вместо того, чтобы просто ничего не делать (для удобства, как я уже сказал). Поэтому каждый раз, когда вы пытаетесь выйти из окна, переключившись на окно Haskell, автокоманда заставляет его прыгать обратно. Я внес изменения, которые удаляют эту функциональность — вероятно, с самого начала это было не так уж полезно. Итак, если вы попробуете версию разработки на GitHub (https://github.com/majutsushi/tagbar ), это должно сработать.
То, что окно пустое, имеет другую причину: Haskell по умолчанию не поддерживается Exuberant Ctags. Но кто-то написал хорошую альтернативу для Haskell, которая работает с Tagbar здесь: https://github.com/bitc/lushtags .
Ответ №2:
На самом деле у меня есть точная конфигурация, настроенная в моем vimrc для файлов php. Панель тегов открывается с загруженной функцией / переменными, курсор остается в исходном файле php при загрузке Vim:
autocmd FileType php call SetPHPOptions()
function! SetPHPOptions()
setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab makeprg=php-xdebug %
:call tagbar#autoopen(0)
endfunction
замените ‘php’ на ‘hs’ или любой другой тип файла, который вы хотите. Список типов файлов в:
$VIMRUNTIME/filetype.vim
Запустите ее на MacVim (снимок 72, Vim 7.4) и последняя сборка tagbar из https://github.com/majutsushi/tagbar