2013-08-29 95 views
0

我有.zsh-theme文件(来自oh-my-zsh),但它们没有语法突出显示。我能得到这个与#vim:只能设置种类

autocmd BufEnter *.zsh-theme set filetype=sh 

但是很容易做到,在我这样做,我尝试添加一个VIM元评论特定文件

#vim: set filetype=sh 

加入了#显然使得VIM检测该文件作为conf文件,但似乎忽略该命令(即,尽管有评论,它是而不是被检测为sh文件)。这是否有任何理由可能发生?

+0

是否已启用模式行? – aragaer

回答

10

摆脱词集的(和注释符号后添加一个空格)

# vim: filetype=sh 

这符合模式行

There are two forms of modelines. The first form: 
     [text]{white}{vi:|vim:|ex:}[white]{options} 

[text]     any text or empty 
{white}     at least one blank character (<Space> or <Tab>) 
{vi:|vim:|ex:}   the string "vi:", "vim:" or "ex:" 
[white]     optional white space 
{options}    a list of option settings, separated with white space 
         or ':', where each part between ':' is the argument 
         for a ":set" command (can be empty) 
6

这种类型的模式行的语法是第一种形式:

[text]{white}{vi:|vim:|ex:}[white]se[t] {options}:[text] 

也就是说,尝试在vim:之前添加一个空格,并且tr生病的冒号:

# vim: set filetype=sh: 

您可以找到有关模式行一切

+0

为什么不在没有尾部冒号的情况下工作? – FDinoff

+0

@FDinoff嗯,是不是只是语法的一部分(我不知道为什么)?另请参阅帮助中给出的示例,'/ * vim:set ai tw = 75:* /'... – glts