web-dev-qa-db-ja.com

filetype == texの場合

ファイルがラテックスファイルの場合、.vimrcでコマンドを実行したいと思います。構文に何かがあると思いますが、機能しません。どんな手掛かり?

if &filetype=='tex'
    set spell
endif
30
Jakub M.

自動コマンドを使用して、目的を達成できます。

autocmd BufNewFile,BufRead *.tex set spell
28
abcd

現在のファイルタイプを確認し、編集中に何かをしたい場合は、これでうまくいくはずです。

if (&ft=='c' || &ft=='cpp')
    :!g++ %
endif
26
Chanseok Oh

別の方法は、index()を使用することです。

_let fts = ['c', 'cpp']
if index(fts, &filetype) == -1
    " do stuff
endif
_

index()は、文字列内の要素の最初のインデックスを検索し、見つからない場合は_-1_を返します。このようにして、リストにfiletype値を追加するだけで、ファイルタイプごとに条件を追加する必要はありません。

11
Ory Band