Vimの設定値を確認する(:set と :set all の違い)
設定ファイルをいじっているうちに、今どのオプションがどんな値になっているか把握できなくなりました。確認用のコマンドは2種類あり、目的によって使い分ける必要があります。
目次(9項目)
| コマンド | これだけ覚える |
|---|---|
:set | デフォルトから変更されたオプションだけを表示 |
:set all | すべてのオプションと現在値を表示 |
:set {option}? | 特定のオプションだけを確認 |
変更されたオプションだけを見る::set
:set
引数無しで:setを実行すると、デフォルト値から変更されているオプションだけが一覧表示されます。設定ファイルで何を変更したかをざっと振り返りたいときに便利です。
すべてのオプションを見る::set all
:set all
:se all " 省略形
こちらはターミナル関連のオプションを除く、すべてのオプションとその現在値を表示します。デフォルト値がどうなっているか確認したいとき、変更したつもりの値が反映されているかを確認したいときに使います。
用語の紛らわしさに注意
「オプションを表示する」コマンドと「オプションをリセットする」コマンドは、どちらもsetとallという単語を含むため名前だけで区別しにくいです。表示系は&を含まない、リセット系は末尾に&が付く、という記号の有無で見分けると混同しにくくなります。
特定のオプションだけ確認する
:set number?
:set nu? " 省略形
全部を眺めるより、疑わしいオプションが分かっているなら?を付けて個別に確認したほうが早いです。一覧から探すより直接的です。
出力が長すぎるとき
:set allの出力はかなりの行数になります。特定のオプションだけ気になるなら、全部を眺めるより?付きの個別確認か、execute()でバッファに書き出す方法と組み合わせて検索したほうが効率的です。
設定を一時的にすべてリセットしたい場合
ここで紹介したのはあくまで「確認」のコマンドで、値を変更するものではありません。設定を初期状態に戻したい場合は、末尾に&を付けた:set all&という別のコマンドを使います。名前が似ているため混同しやすいですが、こちらは確認、あちらはリセットという役割の違いを覚えておくと安心です。
:set、デフォルト値を含めて全部見たいなら:set all。値をリセットしたい場合は末尾に&が付く別のコマンドになります。
設定ファイルのどこかで意図せず上書きしている値がないか調べたいとき、:setで変更点だけを一覧して原因を絞り込んだことがあります。全部を見る:set allより情報量が絞られている分、変更箇所を特定する作業には向いていると実感しました。逆にデフォルト値そのものを知りたいときは素直に:set allを使うようになりました。
他人の環境と設定を見比べるとき
他のVimmerの設定と自分の環境を見比べたいとき、:setの出力をそのまま共有すれば、相手がどのオプションを意図的に変更しているかが一目で分かります。デフォルトのままの設定を含めて全部見せるより、変更点だけに絞ったほうが会話のノイズが少なくて済み、質問や相談をするときにも要点が伝わりやすくなり、やり取りの手間そのものが減ります。
まとめ
:setと:set allは表示範囲が違うだけのシンプルな確認コマンドです。用途に応じて使い分ければ、設定周りの調査がスムーズになります。