本記事はVim 駅伝の2025-08-06の記事です。
前回の記事はkuuoteさんの「ちょっとしたコードで端末エミュレータのコピー機能を使う」でした。
はじめに
筆者が記事を書くにあたって確認したVimのバージョン
:version
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Apr 18 2025 23:20:17)
macOS version - arm64
Included patches: 1-754
Compiled by root@apple.com
結論
- Vim 9.0.1799よりEditorConfigがメンテナンスしていたeditorconfig-vimの安定版が本体にマージされた
- 標準ではEditorConfigのプラグインはロードされていない
- vimrcに
packadd! editorconfig
と書き、Vimを再起動すると有効になる
EditorConfigとは
ファイルのインデントスタイルを統一するって難しいですよね。特に複数人が関わっているようなプロジェクトだと。
EditorConfigはこのような問題を解決するために、エディタに依存しない方法でプロジェクトのインデントスタイルを設定できます。
設定方法は簡単です。.editorconfig
ファイルを作成し、プロジェクトの直下に置くと準備完了です。
例えば以下の.editorconfig
の例では次のような設定となります。
- すべてのファイルの改行文字はLFで、文字エンコードはUTF8
- Go言語のファイルはタブインデント4スペース
- YAMLファイルはスペースインデント2スペース
- Makefileはタブインデント8スペース
root = true
[*]
end_of_line = lf
charset = utf-8
[*.go]
indent_style = tab
indent_size = 4
[*.{yml,yaml}]
indent_style = space
indent_size = 2
[**/Makefile]
indent_style = tab
indent_size = 8
VimでEditorConfigを使うには外部プラグインを入れる必要があった
今まではEditorConfigをVimで扱えるようにするeditorconfig-vimというプラグインを導入する必要がありました。
しかし、Vimも2023年8月28日にリリースされたバージョンv9.0.1798
以降より、editorconfig-vimの安定版が本体に同梱されました。
VimでEditorConfigを使う
EditorConfigのプラグインは本体に同梱されましたが、そのままでは読み込まれていません。
別途設定をすることでEditorConfigのプラグインを有効にさせる必要があります。
usr_05 - Vim日本語ドキュメントを見ると、以下のコマンドをvimrcに記述することでeditorconfigプラグインが有効になります。
packadd! editorconfig
Vimを再起動して:scriptnames
で確認すると、読み込まれていることがわかります。
:scriptnames
1: /usr/share/vim/vimrc
2: ~/.vimrc
3: /usr/share/vim/vim91/plugin/getscriptPlugin.vim
4: /usr/share/vim/vim91/plugin/gzip.vim
5: /usr/share/vim/vim91/plugin/logiPat.vim
6: /usr/share/vim/vim91/plugin/manpager.vim
7: /usr/share/vim/vim91/plugin/matchparen.vim
8: /usr/share/vim/vim91/plugin/netrwPlugin.vim
9: /usr/share/vim/vim91/plugin/rrhelper.vim
10: /usr/share/vim/vim91/plugin/spellfile.vim
11: /usr/share/vim/vim91/plugin/tarPlugin.vim
12: /usr/share/vim/vim91/plugin/tohtml.vim
13: /usr/share/vim/vim91/plugin/vimballPlugin.vim
14: /usr/share/vim/vim91/plugin/zipPlugin.vim
15: /usr/share/vim/vim91/pack/dist/opt/editorconfig/plugin/editorconfig.vim
Press ENTER or type command to continue
これで外部プラグインを導入すること無く、VimでもEditorConfigが扱えるようになりました。
あとがき
久々にEditorConfigの公式サイトを見に行ったら、ネイティブサポートしているエディタ一覧にVimが載っていました。これに驚いたのがこの記事を書くきっかけです。
主要なLinuxで入っているVimのバージョンも9.1が多くなってきていますし、特殊な環境の影響で外部プラグインの導入が難しい人にとっては朗報ではないでしょうか。
余談ですが、Neovimでは2023年4月7日にリリースされたバージョンv0.9.0
以降より、Luaで実装されたプラグインがNeovim本体に同梱されています。
まさかその4ヶ月後にVim側でも本体に同梱されていたとは知りませんでした。
それでは皆様素晴らしいインデントライフを。