.vimrc ファイルに保存されていない場合、これらのデフォルト以外の Vim 設定はどこに保存されますか?

.vimrc ファイルに保存されていない場合、これらのデフォルト以外の Vim 設定はどこに保存されますか?

そのため、押すと、ファイル:setにない設定が多数表示されます~/.vimrc。(おそらく、何年も前に設定したが覚えていない設定です)。

そこで、 を実行して、 によって「フォールバック」される:versionパス を取得します。これが「システム vimrc」です。$VIM/vimrcusr/share/vimrc

後者のパスを開くと、謎の設定はこの vimrc ファイル内にありません。

唯一の他のパスは、 にある「ユーザー excrc ファイル」ですが$HOME/.exrc、そこにアクセスする方法やそれが何であるかはわかりません。

コマンドを実行するときに表示される設定がどこから:set来るのか、誰か知っていますか?

私はOS X (10.6) を使用しています。

答え1

~/.vimrc が存在する場合、Vim はいくつかの項目を自動的に設定します。その 1 つは、'nocompatible'他の多くのオプションに影響するものです。さらに、Vim は環境に基づいて他の設定の適切な値を検出しようとします。たとえば、'background'Xterm または互換性のある端末エミュレータから呼び出された場合、適切な値は多くの場合 Vim によって自動的に検出されます。言語設定は環境変数に基づいて行われます。

最後に、" " を実行して、起動後に Vim がソースしたファイルを確認できます。これには、システムが存在する場合、その:scriptnames場所も表示されます。vimrc

答え2

/etc/vimrcこれは私が遭遇したほとんどの Linux ディストリビューションのデフォルトであり、OS X の場合も同様である可能性があるので、試してみてください。

答え3

特定のオプションが最後に設定された場所を確認するには、

:verbose set <option>?

vimが独自に設定するオプションを確認するには、vimを次のように起動します。

vim -N -u NONE

次に実行します:set。私の場合、LinuxでVim 7.3.487を実行すると、

:set
--- Options ---
  helplang=en         scroll=11           ttymouse=xterm2
noloadplugins         ttyfast
  fileencodings=ucs-bom,utf-8,default,latin1
  background=light

これらがなぜそのように設定されているのかを調べるには、 を使用します:help。たとえば、 は、:help 'ttyfast'vim が端末が xterm であると判定したために設定されていることを説明しています。

関連情報