Utilice .vimrc y .vim/ de otro usuario

Utilice .vimrc y .vim/ de otro usuario

Sé que puedo :source /path/to/some/.vimrccargar los de mi usuario .vimrccuando ejecuto como root, pero ¿cómo puedo usar .vim/también todo el directorio? ¿Existe alguna opción de inicio /home/user/.vim/que pueda configurar como alias?

¿Y en qué parte del excelente manual habría encontrado esta información si hubiera sabido qué buscar? Un simple :help .vimo :help .vimrcno encontró la información sobre el uso de todo el .vim/directorio ( -Ues solo para el .vimarchivo).

Gracias.

Respuesta1

utilizar la variable de entornoVIMINITapuntar a la derecha .vimrcyVIMRUNTIMEpara apuntar al .vimdirectorio correcto. puedes hacer esto a travé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 siempre: si es demasiado largo para escribir, cree una función de shell o un alias de shell.

Para leer más sobre cómo vimse lanzan y qué sucede detrás de escena, lea:help initialization.

Respuesta2

Parece que VIMINITy VIMRUNTIMEno se usan como dijo Akira.

VIMINITse usa como un comando Ex, por lo que VIMINIT=/home/user/.vimrcintentaría realizar una búsqueda y daría un error como:

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

VIMRUNTIMEnormalmente apunta a la ubicación donde están instalados los archivos de soporte básicos de vim, como /usr/share/vim/vim73, por lo que si se redirige a /home/user/.vim, vim perderá muchas funciones básicas a menos que su vim simplemente esté instalado en /home/usr/.vim.


Según :help -uy :help vimrc,-u vimrcLa opción puede especificar el .vimrcarchivo, pero omitirá la mayoría de los demás archivos de inicialización, como el sistema vimrc, por ejemplo. /etc/vimrc. Si el archivo vimrc especificado hace casi todos los trabajos, entonces la deficiencia, si se llama así, es trivial.

Según :help runtimepath, caminos deruntimepathSe buscarán archivos de soporte, por lo que podemos anteponer /home/user/.vimy agregar /home/user/.vim/afterantes runtimepathde generar el archivo vimrc usando --cmdlas opciones al inicio.

En resumen, podemos configurar este alias para usar ~/.vimrc y ~/vim:

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

PD. Alternativamente, dos enlaces simbólicos simples también pueden funcionar para usted.

mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/

Respuesta3

Probablemente la mejor solución jamás vista.

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

¿Dónde xxxestá la ruta personalizada?

información relacionada