Подтвердить что ты не робот

Генерация Vim helptag

Я использую патоген и имею обновление script, которое загружает последние версии всех плагинов vim, которые я использую из vim.org, github или где бы они ни были. Однако этот script в настоящее время не обновляет vim helptags. Для этого я должен перейти к каждому обновленному плагину в vim и выполнить ": helptags doc/". Было бы здорово, если бы я мог сделать это с моим обновлением script, но для этого мне нужно запустить команду vim ": helptags" из script. Возможно ли это?

Спасибо!

4b9b3361

Ответ 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().