デフォルトの代わりに使用vim -u filename
することができfilename
ます.vimrc
。スーパーユーザーとして実行していても、ユーザーコンテキスト(su
)を切り替えて使用する場合、この方法を使用して .vimrc
います。
デフォルトでVim をコマンドラインから別のフォルダーにポイントできるように、フォルダーに対しても同じことをどのように実現できますか?~/.vim
私が達成したいこと
さて、ユーザーjoe
(HOME=/home/joe
)とユーザーroot
(HOME=/root
)を想定してください。ユーザーにjoe
は、vim
次のようなエイリアスセットがあります(ただし、元々は$HOME
変数を使用してこれを動的に設定します)。
alias vim='vim -p -N -n -i NONE -u "/home/joe/.vimrc"'
次に、ユーザーjoe
はsudo su -
(ただし、魔法を追加して)の線に沿って何かを実行し.bashrc
、/home/joe
からにロードされるその他のグッズを作成しますroot
。ユーザーroot
は、上記とまったく同じエイリアスvim
セットを持っています。
問題は、これ.vimrc
がさまざまなシステムやさまざまなシナリオで使用されることです。多くの場合、ジョーのアカウントは呼び出されますがjoe
、時にはのようlocal.joe
なものになり、の値が異なります$HOME
。そのため、~/.vim
フォルダへの絶対パスをハードコーディングすることは良い考えではないようです。ただし、上記のシナリオでは、ユーザーにroot
はフォルダーが/root/.vim
ありませんが、ロードされた.vimrc
(/home/joe/.vimrc
)を介してデフォルトで存在することが予想されます。
私が達成したいのは、できればコマンドラインで- /home/joe/.vim
起動時にVimが下からプラグインなどを使用するようにroot
することalias
です(示されているように設定されていると仮定-他のケースは無視できます)。VimScriptを介した動的メソッドがある場合は、ポインターを指定してください。しかし、などの変数を使用$HOME
すると、キャッチ22につながると思います。
ln
。'mv〜/ .vim〜/ .vim-whatever && ln -s〜/ .vim-whatever〜/ .vim`のように、.vimrc
。あなたは簡単に一つの方法または他の切り替えることができますので、いくつかのbashのエイリアスを使用して、すべてのものを包む