viml: получить список всех ctags

Есть ли способ получить список viml всех тегов, определенных в файлах тегов?

Прямо сейчас я делаю это:

let alltags = split(system('cut -f1 tags | tail +7 | uniq'), "\n")

который работает для меня (т.е. только один файл тегов, сгенерированный обильными ctags), но кажется очень хрупким. Есть ли способ запросить этот список у vim? Например, если бы я хотел получить список всех файлов, которые помнит vim, я мог бы использовать v:oldfiles вместо того, чтобы копаться в файле .viminfo напрямую. Есть ли что-то подобное для тегов?


person Ismail Badawi    schedule 26.09.2014    source источник


Ответы (2)


Используйте taglist() для запроса файлов тегов. См. :h taglist( для получения дополнительной информации.

person Peter Rincker    schedule 26.09.2014

:tselect /<CR>

показывает все теги, включенные в ваши tags файлы, в списке действий.

Если вы хотите работать с этим списком в vimscript, используйте :help taglist():

:let foo = taglist("/*")
person romainl    schedule 26.09.2014
comment
Это работает, но кажется немного медленнее, чем моя первоначальная попытка, когда имеется большое количество тегов. - person Ismail Badawi; 27.09.2014