如果filetype == tex

时间:2011-05-13 22:26:36

标签: vim latex

我想在.vimrc中运行一个命令,以防文件是一个乳胶文件。我想我有一些语法,它不起作用。任何线索?

if &filetype=='tex'
    set spell
endif

5 个答案:

答案 0 :(得分:28)

您可以使用自动命令来实现您的目标:

autocmd BufNewFile,BufRead *.tex set spell

答案 1 :(得分:26)

对于那些想要检查当前文件类型并在编辑时执行某些操作的人,这应该有效:

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

答案 2 :(得分:11)

另一种方法是使用index()

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

index()搜索字符串中元素的第一个索引,如果未找到则返回-1。这样,您只需将更多filetype值附加到列表中,而不是为每种文件类型添加更多条件。

答案 3 :(得分:2)

您必须先手动检测文件类型,因为 vim 只有在获取 vimrc 后才会自动检测它。

只需添加:

`filetype detect`

在你的代码之前。

答案 4 :(得分:0)

只是使用索引添加到上面。快速的班轮

if index(['vim'], &filetype) != -1
    echom "this is vim filetype!"
endif