特定のファイル形式のVimの設定

特定のファイル形式のVimの設定

私は.vimrcを使用してファイルの種類に応じて特定の設定を適用しようとしています。autocmd FileTypeアドバイスに従うここ、ファイル形式ベースの構成を適用しようとしています。私の.vimrcの内容は次のとおりです。

autocmd FileType tex call Tex_config()
  function Tex_config()
    let g:LatexBox_viewer = 'skim'
    let g:LatexBox_latexmk_options = '-pvc'
    let g:tex_flavor = "latex"
    setlocal spell spelllang=en_ca
  endfunction

:debug Tex_config: を使用して Tex_config() 関数を呼び出すと、Vim は関数を実行します。だから、すべてが期待どおりにうまくいくようです。

ただし、:set filetype=tex発行時に奇妙なことが発生します。スペルチェックがオフになっています。スペルチェックを実行すると:set filetype=foo開きます。この構成片で予想していたのと正反対です!

どんな助けでも大変感謝します。これは完全です。vimrc(44-50の特徴)。ありがとうございます。

アップデート:パズルの別の部分:TeXファイルをロードすると、デフォルト設定を問題なく読むことができます。問題はで発生します:set filetype=tex

答え1

あなたのコマンドを私のコマンドと比較した結果、.vimrc主な違いは私のすべての機能コマンドが次に終わるようです。

function! ExtPrefFunction()
   " Preferences here
endfunction
autocmd Filetype ext call ExtPrefFunction()

正直、彼らがなぜこのようなことをするのかは分からないが、私には効果がある。また、次のことを行います。

if &filetype == "ext"
    " Preferences here
endif

...しかし、これはファイルタイプインジケータが変更されたときではなく、編集するためにファイルを最初に開いたときにのみ登録されます。

関連情報