Что такое vim «каталог времени выполнения»?

21

Я пытаюсь начать с таких вещей, как FuzzyFinder , но я застрял в точке, где он говорит:

УСТАНОВКА

Поместите все файлы в каталог времени выполнения. Если у вас есть zip-файл, распакуйте его в каталог времени выполнения.

Вы должны разместить файлы следующим образом:

your_runtime_directory/plugin/fuf.vim

...

Что такое «каталог времени выполнения»? Что там происходит? Где мое?

Андрес Яан Тэк
источник

Ответы:

17

Предполагая, что вы используете какой-то вариант Unix, ваш личный каталог времени выполнения - ~ / .vim. Здесь вы должны поместить любой плагин, используемый только вами. Если вы хотите, чтобы другие пользователи имели доступ к плагину, поместите его во второй каталог опции 'runtimepath', обычно это $ VIM / vimfiles. Вы не должны устанавливать какие-либо плагины в каталог $ VIMRUNTIME. Этот каталог предназначен для плагинов, распространяемых вместе с Vim. Если вы поместите другие плагины в этот каталог или измените файлы в этом каталоге, вы, скорее всего, потеряете эти изменения при обновлении установки Vim.

Видеть

:help 'rtp'
:help $VIMRUNTIME

подробнее об этом.

garyjohn
источник
На самом деле, это, безусловно, более полный ответ.
Андрес Яан Тэк
1
Если OP рассматривает возможность установки плагинов, таких как FuzzyFinder, возможно, стоит упомянуть менеджеры плагинов, такие как Vundle или (более старый) Pathogen - чем раньше вы начнете использовать менеджер плагинов, тем лучше, поскольку он рационализирует структуру подпапок по умолчанию в ~ / .vim /.
JP
9

На самом деле существует несколько «директорий времени выполнения». Используйте :set runtimepath?внутри Vim, чтобы увидеть соответствующие каталоги.

Любой из них должен работать, но, вероятно, самым простым местом для использования будет каталог для пользователя ~/.vim/, который должен быть первым в вашем Vim runtimepath.

mkdir ~/.vim; (cd ~/.vim && unzip /path/to/vim-fuzzyfinder.zip)

Если вы хотите установить его для всех пользователей системы, попробуйте один из более поздних каталогов в списке (один из которых является значением для конкретной версии, которое также находится в $VIMRUNTIMEпеременной Vim ).

Крис Джонсен
источник
Это именно то, что мне было нужно! Потрясающие.
Андрес Яан Тэк
7

Войдите :!echo $VIMRUNTIMEв vim, чтобы узнать.

mcandre
источник
Blank? Так что я ... не имею?
Андрес Яан Тэк
@Andres Jaan Tack: Я предполагаю, что вы выполнили команду в своей оболочке. Вы должны выполнить эту команду в командной строке двоеточия в Vim.
Крис Джонсен
2
он будет работать лучше без, !так как переменная окружения не будет существовать в Windows
Янус Троелсен
@JanusTroelsen правильно, в Windows, используйте :echo $VIMRUNTIMEбез !.
Сабунку
2

Поздно к игре здесь ... в соответствии с документами

echo VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
Эдди Б
источник