Editorconfig

Nvim :help ページは、ソースからtree-sitter-vimdocパーサーを使用して生成されています。


EditorConfig 統合

Nvim は EditorConfig をサポートしています。ファイルが開かれると、ftpluginFileType オートコマンドを実行した後、Nvim はそのファイルのすべての親ディレクトリで ".editorconfig" ファイルを検索し、それらを解析し、開かれたファイルに一致するプロパティを適用します。これは、ディレクトリ全体(再帰的)に対する 'modeline' のようなものと考えてください。詳細については、https://editorconfig.org/ を参照してください。
EditorConfig はデフォルトで有効になっています。無効にするには、設定に以下を追加してください。
vim.g.editorconfig = false
(Vimscript: let g:editorconfig = v:false)。 b:editorconfig バッファローカル変数を false に設定することで、バッファごとに無効にすることもできます。
Nvim は、b:editorconfigfalse でない場合、適用されたプロパティをそこに格納します。
新しいプロパティは、"properties" テーブルに新しいエントリを追加することで追加できます。テーブルキーはプロパティ名で、値はコールバック関数です。コールバック関数は、変更するバッファの番号、.editorconfig ファイルのプロパティの値、および(オプションで)他のすべてのプロパティとその値を含むテーブル(他のプロパティに依存するプロパティに役立ちます)を受け取ります。値は常に文字列であり、必要に応じて型変換する必要があります。例:
require('editorconfig').properties.foo = function(bufnr, val, opts)
  if opts.charset and opts.charset ~= "utf-8" then
    error("foo can only be set when charset is utf-8", 0)
  end
  vim.b[bufnr].foo = val
end
以下のプロパティはデフォルトでサポートされています。
charset editorconfig.charset
"utf-8""utf-8-bom""latin1""utf-16be"、または "utf-16le" のいずれかです。'fileencoding' オプションと 'bomb' オプションを設定します。
end_of_line editorconfig.end_of_line
"lf""crlf"、または "cr" のいずれかです。これらは、'fileformat' をそれぞれ "unix"、"dos"、または "mac" に設定することに対応します。
indent_size editorconfig.indent_size
インデントのサイズを示す数値です。または、"tab" 値を使用して tab_width プロパティの値を使用します。 'shiftwidth' オプションと 'softtabstop' オプションを設定します。この値が "tab" でなく、tab_width プロパティが設定されていない場合、'tabstop' もこの値に設定されます。
indent_style editorconfig.indent_style
"tab" または "space" のいずれかです。'expandtab' オプションを設定します。
insert_final_newline editorconfig.insert_final_newline
ファイルの最後のバイトとして常に末尾の改行があることを保証するために、"true" または "false" を指定します。 'fixendofline' オプションと 'endofline' オプションを設定します。
max_line_length editorconfig.max_line_length
1 行の最大長を示す数値です。 'textwidth' オプションを設定します。
root editorconfig.root
"true" の場合、親ディレクトリでの .editorconfig ファイルの検索を停止します。このプロパティは、.editorconfig ファイルのトップレベルにある必要があります(つまり、glob セクション内にはあってはなりません)。
spelling_language editorconfig.spelling_language
ss または ss-TT 形式のコードです。ここで、ss は ISO 639 言語コード、TT は ISO 3166 地域識別子です。 'spelllang' オプションを設定します。
tab_width editorconfig.tab_width
単一のタブ文字の表示サイズです。 'tabstop' オプションを設定します。
trim_trailing_whitespace editorconfig.trim_trailing_whitespace
"true" の場合、バッファが書き込まれるときに末尾の空白が自動的に削除されます。
メイン
コマンドインデックス
クイックリファレンス