11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

いつの間にかVimでも外部プラグインなしでもEditorConfigが使えるようになっていた

Posted at

本記事は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スペース
.editorconfig
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プラグインが有効になります。

.vimrc
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側でも本体に同梱されていたとは知りませんでした。

それでは皆様素晴らしいインデントライフを。

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?