.vimrc
外部ファイルから変数の値を読み取るように変更したいのですが、どうすればよいでしょうか?
具体的には、友人と私は.vim
ファイルを含む Git リポジトリを共有していますが、設定に必要な内容には若干の違いがあります。そのため、ファイルの大部分は共通ですが、次のように、if ステートメントを使用してユーザー固有のセクションをロードするかどうかを決定します。
let whoami = "user2"
if whoami == "user1"
...
ソース管理から共通のセクションをチェックした後.vimrc
、各自が割り当てを変更しlet whoami
て自分のセクションが読み込まれるようにする必要があります。代わりに、各自で異なる個別のファイルを保持し、そこから vim が変数値を読み込むようにしたいと思います。
おそらく、これに関する別の視点は次のようになります。vim はディレクトリ内のすべてのファイルを自動的に読み取りますか.vim
?もしそうなら、私たちはそれぞれ username.vim というシンボリックリンクをそこに置き、それを私たちそれぞれにとって異なる外部ファイルにリンクすることができます。
答え1
メインの .vimrc ファイルで:
source otherVimScriptFilePath.vim
次に、そのファイルに変数ステートメントを配置します。
" otherVimScriptFilePath.vim
let whoami = "user1"
答え2
try/catchの使用
この質問をしてから、外部ファイルを読み込む別の使用例、つまりマシン固有の調整を思いつきました。
特定のマシンで調整が必要になる場合とそうでない場合があるので、を使用してtry/catch
外部ファイルをロードします。そのようなファイルが存在しない場合は、何も表示せずに失敗します。
" If there are any machine-specific tweaks for Vim, load them from the following file.
try
source ~/.vimrc_machine_specific
catch
" No such file? No problem; just ignore it.
endtry
答え3
最後の質問への回答として、 のファイル~/.vim
は自動的に読み込まれませんが、 のすべてのファイルは~/.vim/plugin
読み込まれます。
答え4
ログインしたユーザーの名前は、$USER 環境変数で確認できます。この変数には簡単にアクセスできます。
:echo $USER
だから、
execute "silent! source vimrc." . $USER
vimrcにユーザー固有の設定を記入してください
vimrc.joe
またはログイン名