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