Получение VIM Tagbar для запуска при открытии определенных типов файлов
Я хотел бы, чтобы плагин VIM тега запускался при открытии определенных типов файлов, поэтому я добавил следующее в свой.vimrc:
if has("gui_running")
autocmd BufEnter *.hs nested TagbarOpen
Тем не менее, это не работает, как я ожидал. Он открывает боковое окно, но боковое окно ничего не отображает, и мой курсор находится внутри него. Я не могу переключать окна щелчком или командами перемещения CTRL-W.
Однако, когда я запускаю TagbarOpen вручную, он работает просто отлично.
Кто-нибудь еще пробовал это, или вышеупомянутая неправильная команда для выдачи?
2 ответа
Интересно, что это побочный эффект удобной функциональности, который я не ожидал. Вот что происходит: если TagbarOpen вызывается, когда окно уже открыто, Tagbar заставляет курсор перейти к своему окну вместо того, чтобы ничего не делать (для удобства, как я уже сказал). Поэтому каждый раз, когда вы пытаетесь покинуть окно, переключаясь на окно Haskell, автокоманда заставляет его отскочить назад. Я выдвинул изменение, которое удаляет эту функциональность - вероятно, это было не так полезно с самого начала. Поэтому, если вы попробуете версию для разработчиков на GitHub ( https://github.com/majutsushi/tagbar), она должна работать.
То, что окно пустое, имеет другую причину: по умолчанию Haskell не поддерживается Exuberant Ctags. Но кто-то написал хорошую альтернативу для Haskell, которая работает с Tagbar здесь: https://github.com/bitc/lushtags.
У меня на самом деле есть точная конфигурация, настроил мой 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) и установите последнюю версию тега с https://github.com/majutsushi/tagbar