(VIM错误报告?)是否有一个原因:所以$ MYVIMRC和filetype = unix不能一起工作?

时间:2015-09-15 15:31:15

标签: vim

我试图用以下方式重新加载我的VIMRC:

:so $MYVIMRC

然而,无论什么时候我的语法突出显示都会破坏。一切都变白了,好像你做了一个“:语法关闭”。经过一些实验,我发现如果我删除了:

set filetype=unix
从我的vimrc

它可以正常工作。这应该发生什么好理由?

为了让我更加困惑,让语法高亮显示的唯一方法就是做一个“:e”。 “:语法”不做任何事。

任何人都可以确认这是发生在他们身上还是给我一个理由说明为什么会这样?

1 个答案:

答案 0 :(得分:2)

  1. unix 'filetype'的有效值,

  2. 因此Vim尝试获取不存在的语法脚本

  3. 因此您的语法突出显示已被破坏。

  4. 您的意思是set fileformat=unix吗?

    请参阅:help 'filetype':help 'fileformat'

    为每个缓冲区单独设置

    'filetype'

    由于在加载任何文件之前来源vimrc,因此该选项不会应用于任何缓冲区,并在加载文件后立即覆盖。因此,你不会产生那种恼人的副作用。

    当您手动获取vimrc时,set filetype=unix会再次执行,但现在您已经加载了缓冲区并且您的傻命令会覆盖缓冲区的文件类型,从而导致语法高亮显示。

    我知道有些规则是愚蠢的,但“在添加或更改配置中的任何内容之前始终阅读相关文档”不是。