2012-07-09 122 views
1

我在.vimrc下面几行:禁用自动命令

" UNIX fileformat 
au BufRead,BufNewFile * set fileformats=unix,dos 
au BufRead,BufNewFile * set fileformat=unix 

这些都是要使用UNIX文件格式的任何打开的文件。

除了帮助信息之外,它几乎适用于所有情况。如果我打字,让我们说:

:h help 

Vim的抱怨说:

"helphelp.txt" [readonly] 350L, 13662C Error detected while processing 
BufRead Auto commands for "*": E21: Cannot make changes, 'modifiable' 
is off: fileformat=unix 

很明显,我想设置一个不可修改缓冲区的FILEFORMAT选项,这个错误是可以预期的。但是,如果不删除其他文件的功能,最干净的方法是什么?

有没有办法对帮助缓冲区有条件地应用/不应用自动命令?

谢谢。

回答

2

'fileformats'是一个全局设置,它应该足以把它只有在你的.vimrc一次:发生

set fileformats=unix,dos 

错误任何其他不可修改的文件,而不仅仅是帮助文件。因此,最好使的'modifiable'缓冲区设定的设定条件:

au BufRead,BufNewFile * if &l:modifiable | setlocal fileformat=unix | endif 

(或者,你也可以只:silent!的错误,但我认为有条件的清洁剂。)