我在 UNIX 系统上有一个文本文件。以下文本文件内容会产生问题:
good: ok line vi: bad line ok: ok line
因此,如果我运行:vim test.txt
,我会收到以下错误:
"test.txt" 3L, 39C Error detected while processing modelines: line 2: E518: Unknown option: bad Press ENTER or type command to continue
如果我删除我的 ~/.vimrc
,错误就会消失。但奇怪的是,即使使用空的 ~/.vimrc
文件,也会出现错误。
我知道这是因为该行以 vi:
开头而产生了错误,但我不明白为什么或如何解决这个问题。
最佳答案
vi: bad line
该行的格式被 Vim 识别为 modeline ,如错误消息中所述。模型行允许在文件中设置选项。
当您没有 ~/.vimrc
时它不会被触发的原因是因为 Vim 要求你有 'nocompatible'
设置模型行默认启用,因为它是 Vim 特定的功能。 ~/.vimrc
的存在不过,足以让 Vim 从 vi 兼容模式切换到不兼容模式,这将导致 'modeline'
选项也正在设置。
为了将来引用,您可以通过 :help topic<Tab>
轻松找到 Vim 中的帮助主题。在这种情况下,:help modeline<Tab>
会给您一些主题来研究解释此功能以及如何控制它。
关于vim e518 : unknown option:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583028/