Я установил vim-latexsuite
и vim-outliner
пакеты, которые являются дополнениями для энергии. Оба идут с файлами документации, которые установлены в /usr/share/vim/addons/doc directory
. Давая команду 'справки' из энергии, документация не является availabe, потому что это не было установлено правильно. Это могло бы относиться к другим дополнениям также.
Как я могу создать теги справки для этих дополнений, что я ожидал быть созданным процедурой установки?
Я смог решить проблему на двух шагах.
#!/bin/bash
#set -x
set -e
umask 077
TMPTAGS=$(mktemp --tmpdir "`basename "$0"`.XXXXXXXXXXXX")
trap "rm -f '$TMPTAGS'" EXIT
declare -r AWK_SCRIPT='{ if( $2 in files ) $2=$2".gz"; print }'
helptags(){
# extract zipped helpfiles and remember filenames
local -i I=0
local -a TXT
for ZIP in `find . -xtype f \( -name '*.txt.gz' -o -name '*.??x.gz' \)`; do
T=${ZIP%.gz}
if [ -n "$T" ]; then
TXT[$((I++))]=$T
zcat "$ZIP" >"$T"
fi
done
# generate tagfiles
vim -c 'helptags .' +q
# point tags to the zipped helpfiles
local AWK_BEGIN="BEGIN { OFS=FS; "
while [ $((I--)) -gt 0 ]; do
AWK_BEGIN+="files[\"`basename "${TXT[$I]}"`\"]; "
done
AWK_BEGIN+='}'
for T in `find . -xtype f \( -name 'tags' -o -name 'tags-??' \)`; do
awk -F '\t' "$AWK_BEGIN $AWK_SCRIPT" "$T" >"$TMPTAGS"
mv -f "$TMPTAGS" "$T"
done
# remove unzipped helpfiles
for T in "${TXT[@]}"; do
rm -f "$T"
done
}
while [ $# -gt 0 ]; do
if [ -d "$1" ]; then
pushd "$1" >/dev/null
helptags
popd >/dev/null
else
printf '*** Invalid argument: %s\n' "$1" >&2
fi
shift
done
/usr/share/vim/addons
к runtimpath
переменные в /usr/share/vim/vim74/debian.vim
и /etc/vim/vimrc.tiny
.