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

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

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

E onde eu encontraria essas informações no excelente manual se soubesse o que procurar. Simples :help .vimou :help .vimrcnão encontrei a informação sobre a utilização de todo o .vim/diretório ( -Ué apenas para o .vimarquivo).

Obrigado.

Responder1

use a variável de ambienteVIMINITapontar para a direita .vimrceVIMRUNTIMEpara apontar para o .vimdiretório correto. você pode fazer isso através de 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 shell ou um alias de shell.

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

Responder2

Parece que não VIMINITsão VIMRUNTIMEusados ​​como Akira disse.

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

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

VIMRUNTIMEnormalmente apontam para o local onde os arquivos de suporte básico do vim estão instalados, como /usr/share/vim/vim73, portanto, se for redirecionado para /home/user/.vim, o vim perderá muitas funções básicas, a menos que seu vim seja instalado apenas em /home/usr/.vim.


De acordo com :help -ue :help vimrc,-u vimrcA opção pode especificar o .vimrcarquivo, mas ignorará a maioria dos outros arquivos de inicialização, como o vimrc do sistema, por exemplo. /etc/vimrc. Se o arquivo vimrc especificado executa quase todos os trabalhos, então a falha, se chamada assim, é trivial.

Segundo :help runtimepath, caminhos deruntimepathserão procurados por arquivos de suporte, para que possamos preceder /home/user/.vime anexar /home/user/.vim/afterantes runtimepathde obter o arquivo vimrc usando --cmdas opções na inicialização.

Resumindo, 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'

obs. Alternativamente, 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/

Responder3

Provavelmente a melhor solução de todas.

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

onde xxxestá o caminho personalizado.

informação relacionada