← Vim研究所

設定ファイルが読み込まれない時に使う:scriptnames

2019-08-22 公開 ・ 更新: 2026-08-20

プラグインを追加したのに設定が反映されません。よくある原因は、そもそもそのプラグインの設定ファイル自体が読み込まれていないことです。読み込まれているファイルの一覧を確認できれば、原因の切り分けが一気に早くなります。

目次(8項目)

読み込み済みスクリプトの一覧を見る

:scriptnames

省略形の:scripでも同じように実行できます。実行すると、今のセッションで読み込まれたすべてのスクリプトファイルが番号付きで一覧表示されます。vimrc本体はもちろん、プラグインマネージャが読み込んだ各プラグインのLuaファイルやVim scriptファイルも含まれます。

scriptnamesを実行した画面。読み込まれた設定ファイルとVim同梱のスクリプトが番号付きで順に並んでいる
Vim 9.1.1752 を -u min.vim で起動した直後の :scriptnames。読み込まれた順に番号が付く

トラブルシューティングでの使い方

新しく入れたプラグインの設定が効かないとき、まず:scriptnamesの一覧にそのプラグインのファイルが載っているかを確認します。

状況疑うべきこと
一覧に該当ファイルが載っていないプラグインマネージャの設定自体が間違っている、またはインストールに失敗している
一覧に載っているのに設定が効かない読み込みの順序、または設定を上書きしている別のファイルがある

一覧が長くなりがちなので、目的のファイル名で絞り込みたいときは、一度execute()を使ってバッファに書き出す方法と組み合わせ、通常の検索機能で探すと効率的です。

:new
:put =execute('scriptnames')
/{探したいファイル名の一部}

起動時間の把握にも使える

直接的な用途ではありませんが、読み込まれるスクリプトの数が異常に多い場合、それが起動の遅さの原因になっていることもあります。プラグインを大量に入れて起動が重く感じるようになったら、:scriptnamesで読み込み状況をざっと確認し、本当に必要なプラグインだけに絞り込めないか見直すきっかけにもなります。より詳しく起動時間を計測したい場合はvim --startuptimeのようなオプションもありますが、まず何が読み込まれているかを把握する第一歩としては:scriptnamesで十分です。

要点:設定やプラグインが効かないときの最初の切り分けとして:scriptnamesを使います。目的のファイルが一覧にあるかどうかで、読み込みの問題か設定内容の問題かをある程度絞り込めます。
使ってみて

プラグインマネージャの設定を書き間違えて、インストールされているのに読み込まれていないという状態にハマったことがあります。:scriptnamesの一覧にそのプラグインのファイルが無いことに気づいて、ようやく設定ミスだと分かりました。設定内容を疑う前に、まず読み込まれているかどうかを確認する習慣がついた出来事でした。それ以来、新しいプラグインを入れたら真っ先に一覧に載っているか確認するようにしています。

「読み込まれてはいるのに効かない」ほうの切り分けには:verbose set {オプション}?が向いています。値と一緒にLast set fromとしてファイル名と行番号が出るので、最後にその値を書いたのが誰かが分かります。:scriptnamesで読み込みの有無を確認し、それでも効かないならこちらで上書き元を探す、という順序が確実です。

設定がどこで上書きされたかを調べる

ファイルが読み込まれていることは分かったのに設定が効かない、という場合は、あとから別の場所で上書きされています。:verbose を付けると、その値を最後に設定した場所が表示されます。

:verbose set shiftwidth?
:verbose map <Leader>f
:verbose autocmd BufWritePre

オプション・マッピング・自動コマンドのどれにも使えます。「ftpluginで上書きされていた」「プラグインが自分のマッピングを潰していた」といった原因が1回で分かるので、:scriptnames の次に打つコマンドとして覚えておくと切り分けが早く済みます。

読み込みの順番を確かめる

:scriptnames の一覧は読み込まれた順に並んでいます。自分の設定がプラグインより先に読まれていると、あとから上書きされます。マッピングが効かない原因の多くはこの順番です。

プラグインより後に確実に実行したい設定は、VimEnter のタイミングに回します。すべての読み込みが終わってから実行されるので、順番の影響を受けません。

autocmd VimEnter * nnoremap <Leader>f :Files<CR>

起動にかかった時間を測る

読み込むファイルが増えて起動が重いと感じたら、どこで時間を使っているかを測れます。--startuptime を付けて起動すると、各ファイルの読み込みにかかった時間がファイルに書き出されます。

vim --startuptime /tmp/start.log
nvim --startuptime /tmp/start.log
:e /tmp/start.log

左の列が起動からの累積ミリ秒、その右が個々の処理にかかった時間です。突出して大きい行を探せば、遅くしているプラグインが特定できます。checkhealthと組み合わせると、環境側の問題かプラグイン側の問題かも切り分けられます。

まとめ

:scriptnamesは地味なコマンドですが、設定トラブルの切り分けで最初に頼るべき手段になります。一覧が長い場合はバッファに書き出して検索すると効率的に絞り込めます。読み込み順が分かったあと、どのファイルに何を書くべきかで迷ったらinit.vimとginit.vimの違い設定ファイルの配置場所が参考になります。

関連記事

← Vim研究所 トップへ戻る