Por que o vim não reconhece o novo runlevel7 no inittab?

6

Principalmente para fins de teste, desejo modificar o /etc/inittab e adicionar um novo nível de execução ao meu sistema ( /etc/rc7.d ). Ainda não salvei minha modificação porque estou confuso com Vim behavior. De fato, o editor parece não reconhecer o novo runlevel como ... um novo runlevel (como rc 2,3,4 e assim por diante). Aqui está uma captura de tela:

Comovocêpodever,Vimhi-lightsemvermelhoonúmerosetee"lowlights" o endereço do arquivo de configuração de amarelo para verde padrão (como algo que não é reconhecido em particular). Eu estou querendo saber porque o Vim não age com o novo runlevel como era padrão?

    
por Guillaume Fe 08.04.2015 / 14:49

2 respostas

10

Parece que o Vim é inteligente o suficiente para lhe dar uma pista sobre qual é o problema! Isso é interessante.

O problema é que não existe tal runlevel como 7 . Os níveis de execução válidos são s (ou S ), 0 , 1 , 2 , 3 , 4 , 5 e 6 . De acordo com a manpage da minha cópia de init , também existem pseudo-runlevels a , b e c , embora eu nunca tenha ouvido falar deles antes.

EDIT : Parece que os runlevels 7 a 9 do existem, mas não estão documentados. Eu li o código-fonte init sob o Debian wheezy para confirmar que é verdade! Obrigado por apontar isso.

Então, acontece que o que você está tentando fazer realmente funciona. Mas não é surpresa que o Vim não saiba sobre isso, já que é ... bem ... não documentado. Gostaria de acrescentar também que pode não ser muito portátil.

    
por 08.04.2015 / 14:52
7

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

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

Portanto, sim, o vim considera apenas 0-6 e as letras maiúsculas e minúsculas a b c s letras como níveis de execução válidos.

    
por 08.04.2015 / 16:01