VimでFileTypeをどのように使用しますか?

VimでFileTypeをどのように使用しますか?

主にファイルを編集するときに使いたいですtabstop=4。しかし、xmlファイルなどの一部の種類のファイルではtabstop=2

追加しました

au filetypedetect FileType xml,html,xhtml,javascript set tabstop=2 softtabstop=2 shiftwidth=2

私の.vimrcファイルに。ファイルを1つだけ編集すると機能します。ただし、複数のファイルを編集すると、すべてのバッファに対してタブストップが正しく設定されません。ファイル形式は起動時にのみ検出および設定され、それ以降は変更されないようです。

FileTypeバッファを切り替えるたびに設定したいです。どうすればいいですか?

答え1

なぜあなたのバージョンがうまくいかないのかわかりませんが、そのcallオプションを使って次の機能に設定を入れることができました。

set tabstop=4
set softtabstop=4
set shiftwidth=4

function! setAltPrefs()
    set tabstop=2
    set softtabstop=2
    set shiftwidth=2
endfunction

autocmd FileType xml,html,xhtml,javascript call setAltPrefs()

このイベントは、ファイルがバッファにロードされるか、ファイル形式が変更されるたびに発生します。唯一の問題は、バッファをカスタム型から基本型に戻すことです。この場合、何も変更されません。そのユースケースに対処するには、すべてのファイル形式をトリガーする他の機能を設定する必要があります。

関連情報