Je peux utiliser vim -u filename
utiliser filename
au lieu de ma valeur par défaut .vimrc
. J'utilise cette méthode lors de la commutation de contextes utilisateur (su
) à utiliser mon .vimrc
même si elle fonctionnait comme superutilisateur.
Comment puis-je atteindre le même également pour le dossier qui par défaut est ~/.vim
afin que je puisse pointer point VIM à partir de la ligne de commande vers un autre dossier?
D'accord, assumez l'utilisateur joe
(HOME=/home/joe
) et utilisateur root
(HOME=/root
). Utilisateur joe
a un ensemble d'alias pour vim
qui ressemble à ceci (mais défini à l'origine à l'aide de $HOME
variable pour faire cette dynamique):
alias vim='vim -p -N -n -i NONE -u "/home/joe/.vimrc"'
Puis l'utilisateur joe
fait quelque chose dans le sens de Sudo su -
(mais avec une magie ajoutée), entraînant le .bashrc
et d'autres goodies de /home/joe
Pour être chargé pour root
. Utilisateur root
a maintenant le même alias pour vim
défini comme indiqué ci-dessus.
Le problème est que cela .vimrc
est utilisé sur divers systèmes et dans divers scénarios. Le compte de Joe s'appelle souvent joe
, mais parfois ce sera quelque chose comme local.joe
ou autre chose, entraînant une valeur différente pour $HOME
. Si dur codant un chemin absolu vers le ~/.vim
Dossier ne semble pas être une bonne idée. Cependant, dans notre utilisateur ci-dessus, l'utilisateur root
n'a pas de dossier /root/.vim
ce qui devrait toutefois exister par défaut via le chargé .vimrc
(/home/joe/.vimrc
).
Ce que je veux réaliser - de préférence sur la ligne de commande - consiste à obtenir Vim d'utiliser des plug-ins etc. de dessous /home/joe/.vim
Lorsqu'il est commencé comme root
(en supposant que le alias
est défini comme indiqué - d'autres cas peuvent être ignorés). S'il y a une méthode dynamique via Vimscript, veuillez fournir des pointeurs. Mais en utilisant des variables telles que $HOME
conduirait à une prise 22, je pense.
Dans le .VIMRC, vous choisissez, vous pouvez spécifier le chemin d'exécution:
let &runtimepath=/path/to/specific/vim/folder
Si vous utilisez votre personne .vimrc
Ensuite, vous pouvez définir ceci sur votre .vim
répertoire et il devrait fonctionner à la fois comme su
et votre compte normal.