O que é um "diretório de tempo de execução" do vim?

20

Estou tentando começar com coisas como o FuzzyFinder , mas estou preso no ponto em que diz:

INSTALAÇÃO

Coloque todos os arquivos no diretório de tempo de execução. Se você possui o arquivo zip, extraia-o para o diretório de tempo de execução.

Você deve colocar os arquivos da seguinte maneira:

your_runtime_directory/plugin/fuf.vim

...

O que é um "diretório de tempo de execução"? O que se passa aí? Onde está o meu?

Andres Jaan Tack
fonte

Respostas:

16

Supondo que você esteja usando algum tipo de Unix, seu diretório de tempo de execução pessoal é ~ / .vim. É aqui que você deve colocar qualquer plug-in usado apenas por você. Se você quiser que outros usuários possam acessar o plug-in, coloque-o no segundo diretório da opção 'runtimepath', que geralmente é $ VIM / vimfiles. Você não deve instalar nenhum plug-in no diretório $ VIMRUNTIME. Esse diretório é destinado a plugins distribuídos com o Vim. Se você colocar outros plugins nesse diretório ou modificar arquivos nesse diretório, provavelmente perderá essas alterações quando atualizar a instalação do Vim.

Vejo

:help 'rtp'
:help $VIMRUNTIME

para mais sobre isso.

garyjohn
fonte
Na verdade, essa é definitivamente a resposta mais completa.
Andres Jaan Tack
1
Se o OP está considerando instalar plugins como FuzzyFinder, ele também pode valer a pena mencionar gestores plugin como Vundle ou (mais velho) Pathogen - quanto mais cedo você pode começar a usar um gerenciador de plugin, o melhor, pois racionaliza a estrutura sub-pasta padrão em ~ / .vim /.
JP
9

Na verdade, existem vários "diretórios de tempo de execução". Use :set runtimepath?dentro do Vim para ver os diretórios envolvidos.

Qualquer um deles deve funcionar, mas provavelmente o lugar mais fácil de usar seria o diretório por usuário ~/.vim/, que deve ser o primeiro no seu Vim runtimepath.

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

Se você deseja instalá-lo para todos os usuários no sistema, tente um dos diretórios posteriores da lista (um dos quais é o valor específico da versão que também está na $VIMRUNTIMEvariável do Vim ).

Chris Johnsen
fonte
Era exatamente disso que eu precisava! Impressionante.
Andres Jaan Tack
7

Entre :!echo $VIMRUNTIMEno vim para descobrir.

mcandre
fonte
Em branco? Então eu ... não tenho um?
Andres Jaan Tack
@ André Jaan Tack: Eu acho que você executou o comando no seu shell. Você precisa emitir esse comando em um prompt de dois pontos no Vim.
precisa
2
ele vai trabalhar melhor sem !uma vez que a variável de ambiente não existe no Windows
Janus Troelsen
@JanusTroelsen está correto, no Windows, use :echo $VIMRUNTIMEsem o !.
Sabuncu
2

Atrasado para o jogo aqui ... de acordo com os documentos

echo VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
Eddie B
fonte