別のユーザーの.vimrcファイルを参照(または「ソース」)する方法はありますか?カスタム.vimrcファイルを参照/ソースする方法
管理者のユーザーIDにkuu
(ケルベロスのセキュリティトークンを使用するsu
の亜種)を使用する場合は、個人用の.vimrc
ファイルを使用したいと思います。
admin IDが複数のユーザーによって共有されているため、管理者の既存の.vimrc
ファイルを上書きしません。 vimので
別のユーザーの.vimrcファイルを参照(または「ソース」)する方法はありますか?カスタム.vimrcファイルを参照/ソースする方法
管理者のユーザーIDにkuu
(ケルベロスのセキュリティトークンを使用するsu
の亜種)を使用する場合は、個人用の.vimrc
ファイルを使用したいと思います。
admin IDが複数のユーザーによって共有されているため、管理者の既存の.vimrc
ファイルを上書きしません。 vimので
を参照してください。この方法で、vimを起動するたびに-u
を渡す必要はありません。
あなたが(例えば、誰かにあなたがセキュリティ上の問題を作成することができる/home/user/.vimrc
使用する場合.vimrc
は、任意のコマンドを実行できることに注意してください(もちろん代わりにエイリアスを行うことができますが、それは、例えばとvipw
を助けにはなりません)あなたのユーザーアカウントを侵害し、.vimrcを変更して、次にrootとしてファイルを編集するときにrootになります)。もちろん、既知の安全なコピーを~root/
のどこかに保管することができます。
~root/.bashrc
に何かを設定して、MYVIMRC
を管理者ごとに自動的に設定することもできます。
:
:source /path/to/your/.vimrc
それは十分ではありません:&RTPがこのように更新されない - まあ、当然の.vimrcが&RTPをリセットすることができます。 –
私は今まで、このを数回試みましたし、これは私のために正常に動作するようです。次のようなものであるのvimのエイリアスを定義します。
alias vim="HOME=~yournormaluser vim -c 'let \$HOME = \"$HOME\"'"
何これが行うことは、あなたの$HOME/.vim/
環境を使用してにvimのトリックで、まだそれほど:e ~/something.txt
のような物事は、まだ使用するvimの中から$HOME
をリセット管理者ユーザの$HOME
。
これには、管理者~/.vimrc
をまったく変更する必要がないという利点があります。
この場合も、adminユーザーを使用するすべてのユーザーにvimのエイリアスが適用されます。私が過去にこれをしたとき、私は私の環境が私の '$ USER'と' '$ USER/.aliases 'からsu'ingしていることを知っていたので、これで取り除くことができました。たぶんこの情報を何とか使うことができます。 –
&rtp => +1 –
randy_gvimエイリアスを正しく設定しているようですが、他のものは使用しそうもありません。 –
パラメータ-u
を試して、代替構成ファイルへのパスを指定します。例えば
:vim -u /home/jesse/myvimrc
はあなたがMYVIMRC
環境変数を使用することができますhttp://linuxcommand.org/lc3_man_pages/vim1.html
残念ながら、 'man -u':' -u {vimrc}初期化にファイル{vimrc}のコマンドを使用します。 'vim -u〜/ vimrc'は' vim -u〜/ vimrc'と同じではないことがわかりました。これは、これまでのところ良くなっていますが、vimを特殊モードにして ' vim'。私のために働いたのは、bashシェル特有の '<(...)'キャプチャを使って 'vim -u <(echo source/usr/share/vim/vimrc; cat〜/ .vimrc)'でした。 – gmatht
個人的には、私はRootの.vimrcを私のものにシンボリックリンクします。 BASHから(ルートとして):
ln -s /home/<me>/.vimrc /root/.vimrc
しかし、あなたはそれに何があるかについて注意する必要があります。
私はあなたの最初の所有者があなたのttyを所有していると仮定しています。あなたは合理的に安全なカスタマイズvimrcファイルを保つことができる/root/.vimrc.$USRNAMEにカスタマイズしたルートの.vimrcを配置することにより
stat -c'%U' `tty`
:もしそうなら、あなたがあなたの最初のユーザーを取得することができます。あなたも他のことをすることができますが、私はそれをあなたの想像力に任せます。
方法1 - あなたの/root/.bashrc &煙でこれを置くこと:
# Source a custome vimrc if it exists
mytty=`tty`
initial_user=`stat -c'%U' $mytty`
custom_vimrc="/root/.vimrc.$initial_user"
if [ -f $custom_vimrc ]; then
export VIMINIT="source $custom_vimrc"
fi
方法2 - あなたの/root/.vimrcに似た何かを置く(よりよい解決策あなたはkshのを使用する場合がありますので) 。
誰でも方法2を理解できれば、投稿を歓迎します。私は動機が不足しています。
前述のようにプラグインなしで別の.vimrcファイルを使用し、.bash_profileなどでエイリアスを追加します。
alias svim='vim -u ~/.vimrc_simple'
は本当に私は、次のことを好む:
alias vvim='vim -u ~/.vimrc_vundle'
軽量コマンドとしてvim
を保つために、プラグインのロードがプログラムのインスタンスを遅くするようだと。
方法2 -
をの.vimrcに加えが
tty
違うものを試してすることはできません。また、system("who am i")
どちらも(VIM-関数内から使用されたとき、彼らは空に出てくる)ので、この方法では、はるかに長いです。任意のショートカットが
"Local .vimrc for the user
" 1. get the user, which used su
" 2. we can load his .vimrc.<user>
" from $HOME (from where we have sudo'ed in)
let b:term = substitute(system ("ps T | grep ' ps T$' | sed -e 's/^ *//' | cut -d ' ' -f 2 "), "\n", "", "")
let b:user = substitute(system ("who | grep ".b:term." | cut -d ' ' -f 1 "), "\n", "", "")
let b:file = $HOME."/.vimrc.".b:user
if filereadable(b:file)
execute 'source '.b:file
endif
歓迎している私は、私は私の.vimrc
にrootとしてナビゲートするためにsudoを使用するすべてのユーザーを強制することなく、当社のサーバー上の自分の.vimrc
を望んでいたので、プラグイン年前に作成しました。
私のプラグインは、@ULickが提供したプラグインとまったく同じです。
これはありがとう、それは私が尋ねたものです。また、セキュリティ上の警告に感謝します。 –
は "vim"では動作しますが、 "vi"では動作しません – Tagar
@Ruslanまあ、* .vim * rcファイルに関する質問です... EMACSでも動作しません。またはジョー、またはナノ、またはMicrosoft Word。 (そして、あなたがvimを 'vi'と呼んでいれば、あなたはそれを互換モードで実行するように要求しています)[私はおそらくあなたが言うことを誤解しているでしょう。明確にしてください。] – derobert