Use o .vimrc e .vim de outro usuário

6

Eu sei que posso :source /path/to/some/.vimrc carregar o .vimrc do meu usuário ao executar como root, mas como posso usar o diretório .vim/ inteiro também? Existe uma opção de inicialização para usar /home/user/.vim/ que eu possa configurar como um alias?

E onde no manual fino eu teria encontrado esta informação se eu soubesse o que procurar. Um simples :help .vim ou :help .vimrc não encontrou as informações sobre o uso de todo o .vim/ direcotry ( -U é somente para o arquivo .vim ).

Obrigado.

    
por dotancohen 18.04.2012 / 16:55

3 respostas

1

use a variável de ambiente VIMINIT para apontar para a direita .vimrc e VIMRUNTIME para apontar para a direita .vim -directory. você pode fazer isso via env :

$> env VIMINIT=/home/user/.vimrc VIMRUNTIME=/home/user/.vim/ vim

$> VIMINIT='let $MYVIMRC = expand('\''~user'\'') . '\''/.vimrc'\''|source $MYVIMRC' vim -c 'set runtimepath=~user/.vim,/var/lib/vim/addons,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,/var/lib/vim/addons/after,~user/.vim/after'

como sempre: se for muito longo para digitar, crie uma função de shell ou um alias de shell.

para ler mais sobre como vim é lançado e o que acontece nos bastidores, leia :help initialization .

    
por 18.04.2012 / 17:03
10

Parece que VIMINIT e VIMRUNTIME não são usados como disse akira.

VIMINIT é usado como um comando Ex, então VIMINIT=/home/user/.vimrc tentaria uma pesquisa e apresentaria um erro como:

search hit BOTTOM, continuing at TOP
Error detected while processing VIMINIT:
E486: Pattern not found: home

VIMRUNTIME normalmente aponta para o local onde os arquivos de suporte básicos do vim estão instalados, como /usr/share/vim/vim73 , portanto, se for redirecionado para /home/user/.vim, o vim perderia muitas funções básicas a menos que seu vim esteja instalado em /home/usr/.vim.

De acordo com a opção :help -u e :help vimrc , -u vimrc pode especificar o arquivo .vimrc , mas ignorará a maioria dos outros arquivos de inicialização, como o vimrc do sistema, por exemplo. %código%. Se o arquivo vimrc especificado faz quase todos os trabalhos, então o atalho, se chamado, é trivial.

De acordo com /etc/vimrc , os pathes de :help runtimepath serão pesquisados por arquivos de suporte, para que possamos prefixar runtimepath e anexar /home/user/.vim a /home/user/.vim/after antes de receber o arquivo vimrc usando runtimepath options na inicialização.

Para resumir, podemos configurar este alias para usar ~ / .vimrc e ~ / vim:

alias vim='vim --cmd "set runtimepath^=/home/user/.vim" \
               --cmd "set runtimepath+=/home/user/.vim/after" \
               -u /home/user/.vimrc'

ps. Como alternativa, dois links simbólicos simples também podem funcionar para você.

mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/
    
por 25.02.2013 / 13:03
0

Provavelmente a melhor solução de todas.

export MYVIMRC="/xxx/.vimrc"
export VIMINIT=":set runtimepath+=/xxx/.vim|:source $MYVIMRC"

em que xxx é o caminho personalizado.

    
por 10.07.2018 / 07:55

Tags