Генерация Vim helptag
Я использую патоген и имею обновление script, которое загружает последние версии всех плагинов vim, которые я использую из vim.org, github или где бы они ни были. Однако этот script в настоящее время не обновляет vim helptags. Для этого я должен перейти к каждому обновленному плагину в vim и выполнить ": helptags doc/". Было бы здорово, если бы я мог сделать это с моим обновлением script, но для этого мне нужно запустить команду vim ": helptags" из script. Возможно ли это?
Спасибо!
Ответы
Ответ 1
Не все ли документы должны находиться в одном каталоге doc
? Возможно .vim/doc,/usr/share/vim/vimfiles/doc?
В любом случае вы можете запустить vim и направить его для запуска команды:
cd <plugindir>
vim -c "helptags doc/"
Вы можете указать несколько команд, поэтому последний может быть -c q
, чтобы вывести vim, когда закончите. (Или вы можете использовать его как одну команду, command1 | q
.) Или, если у вас есть много команд для запуска, вы можете создать script и запустить vim с помощью vim -S <script>
; снова вы можете сделать последнюю команду script q
, чтобы она закрывалась, когда она была выполнена.
Ответ 2
pathogen.vim версии после версии 1.2 (2010-01-17) имеют функцию pathogen#helptags
, которая автоматически обновляет теги справки для каждого каталога в runtimepath
. Просто позвоните ему после вызова pathogen#runtime_append_all_bundles
:
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
Или, если у вас есть call pathogen#runtime_append_all_bundles()
в .vimrc
:
vim -c 'call pathogen#helptags()|q'
из командной строки только один раз после того, как вы получили обновления.
Последние версии патогенов рекомендуют вызывать pathogen#infect()
в .vimrc
вместо pathogen#runtime_append_all_bundles
(поскольку b147125 "Добавить патоген # infect() в качестве первичного точка входа для базовой установки", 2011-05-13, первый называет ее внутренне). Если ваш .vimrc
вызывает pathogen#infect()
, после этого поместите ваш вызов в pathogen#helptags()
.