Обычно я решал эту проблему, просто держа под рукой браузер с API или исходниками требуемого класса. Либо запускал отдельное окно Vim. Но постепенно эта ситуация стала надоедать, да и обида за любимый редактор взяла - неужто он хуже той же IDEA? Неужто не умеет брать ctags из нескольких источников?
Полез в документацию - и увидел, что всё у него с этим делом обстоит прекрасно. Проблему решает одна-единственная строчка в конфиге.
Сначала подготовим необходимые библиотеки: создаём папку ~/src и выкладываем туда исходники необходимых библиотек и фреймворков. Можно просто распаковать архивы с кодом, но более труёвый способ - склонировать нужную ветку или тег из репозитория библиотеки. Проще будет обновлять версию при необходимости.
После этого прогоняем ctags для всех исходников - заходим поочерёдно в папки и запускаем ctags:
$ cd ~/src
$ for dir in $(ls); do if [ -d $dir ]; then cd $dir; ctags -R; cd ..; fi; done
После чего добавляем одну строчку к конфигу:
set tags=./tags,./TAGS,tags,TAGS,~/src/*/tags
Теперь мы можем изменять состав библиотек, переключаться с одной версии на другую, и баловать как только можно. И Vim будет подхватывать все изменения. Надо лишь не забывать обновлять теги.Поиск по тегам, кстати, работает на удивление быстро. Быстрее, чем в любой IDE.
Just FYI: Мой конфиг Vim живёт здесь, но я периодически подумываю перенести его на github.
