为什么vim无法识别inittab中新的runlevel7?

为什么vim无法识别inittab中新的runlevel7?

主要出于测试目的,我希望修改/etc/inittab并添加一个新的运行级别到我的系统(/etc/rc7.d)。我还没有保存我的修改,因为我对Vim行为感到困惑。事实上,编辑器似乎没有将新的运行级别识别为...新的运行级别(例如rc 2,3,4等等)。这是屏幕截图:

<code>Vim</code> 屏幕截图

正如您所看到的,Vim数字七以红色高亮,并将配置文件的地址从黄色“低亮”到标准绿色(就像未特别识别的东西)。我想知道为什么Vim不使用新的运行级别,因为它是标准的?

答案1

看来 Vim 足够聪明,可以为您提供有关问题所在的线索!那很有意思。

问题是没有这样的运行级别7。有效的运行级别为s(或S)、0123456。根据我的副本的联机帮助页,init还存在伪运行级别ab尽管c我以前从未听说过这些。

编辑: 运行级别 7 到 9 似乎实际上存在,但它们没有记录。我init在Debian wheezy下阅读了源代码以确认这是真的!感谢您指出了这一点。

所以事实证明你正在尝试做的事情应该确实有效。但 Vim 不知道这一点并不奇怪,因为它……嗯……没有记录。我还要补充一点,它可能不太便携。

答案2

/usr/share/vim/vim74/syntax/inittab.vim

syn match inittabRunLevels "[0-6A-Ca-cSs]\+" contained nextgroup=inittabColonAction,inittabError

所以,是的,vim 仅考虑 0-6,以及大写和小写a b c s字母作为有效的运行级别。

相关内容