modeline не работает в vim

modeline не работает в vim

У меня есть файл, который называется .aliasesдля bash и zsh, я вставляю эту строку

# vim: set filetype=bash: 

но если я сделаю

: echo &ft

я получилconf

решение1

Это должно сработать. Я сам попробовал эту строку, и она сработала. Возможно, ваша опция 'modeline' установлена ​​на 'nomodeline'. Попробуйте выполнить это и посмотрите, что получится.

:verbose set modeline?

Это покажет вам значение параметра «modeline» и, если это не значение по умолчанию, где оно было установлено в последний раз.

Некоторые дистрибутивы Linux устанавливают «nomodeline» в /etc/vimrc или /usr/share/vim/vimrc в качестве меры безопасности, хотя проблемы безопасности с «modeline» давно исправлены.

решение2

Я описываюполный контрольный список отладки в этом другом ответе.

Я был ДЕЙСТВИТЕЛЬНО озадачен этим, потому чтодокументацияявляетсяне совсемистинный.

Оказывается, в версии 8 (а может и раньше) нельзя использовать это слово setв modeline. В документации описывается "вторая форма", /* vim: set ai tw=75: */но это не работает. Нужно использовать "первую форму"// vim: ai tw=75

Примечание: Вы можете использовать любой из этих видов индикаторов комментариев. Или не использовать вообще.

решение3

set modelines=1(или любое ненулевое значение) в моем ~/.vimrc заставило меня это работать.

решение4

Добавление всего лишь следующего к тому, что ~/.vimrcсработало у меня на моем компьютере Funtoo Linux:

set modeline

Связанный контент