回答:
最良の方法は、これらの設定をに入れること~/.vim/after/ftplugin/<filetype>.vim
です。
HTMLの場合(4文字幅のタブが必要だと仮定):
~/.vim/after/ftplugin/html.vim
setlocal shiftwidth=4
setlocal softtabstop=4
setlocal noexpandtab
Vimは既にファイルタイプのチェックを行っており、適切なftpluginを取得しようとしているため、さらに多くのチェックを強制してホイールを再実装する理由がないため、ftpluginの使用はオートコマンドの使用よりも優先されます。
-編集-
あなたが持っていると仮定すると、filetype plugin on
あなたにvimrc
-あなたがすべき- Vimはファイルあなた編集のファイルタイプを検出し、正しいファイルタイプが見つかり、バッファ用セットされると、これらの標準的な場所に対応するftpluginを調達しようと試みます。
$VIMRUNTIME/ftplugin/html.vim
~/.vim/ftplugin/html.vim
~/.vim/ftplugin/after/html.vim
これらはすべて自動的に行われるため、ファイルタイプがVimによって認識されている場合、ファイルタイプ検出ロジックを追加する理由はまったくありません。設定を正しいftpluginに追加するだけで十分です。
filetype plugin indent on
してくださいvimrc
。
filetype plugin on
設定されている限り、vimのパスにはそのパスにftplugin/<filetype>.vim
とafter/ftplugin/<filetype>/vim
ファイルが含まれます。
あなたはあなたのオートコマンドでこれを行うことができます.vimrc
。
たとえば、html_like_mode
HTMLファイルを編集するためのさまざまなものを設定する関数があります。で.vimrc
、私は持っています:
au BufNewFile,BufRead *.html call s:html_like_mode()
これは、ファイル拡張子からキーオフします。有効にしている場合は、ファイルタイプをキーオフすることもできます。
au FileType perl setlocal equalprg=perltidy
ご覧のとおり、そこで任意のコマンドを実行できます。したがってsetlocal shiftwidth 4
、*。cファイルに対して簡単にできます。