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

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

# vim: set filetype=bash: 

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

: echo &ft

Я conf

16
задан juanpablo 2011-08-16 08:17:56
источник

6 ответов

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

:verbose set modeline?

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

некоторые дистрибутивы Linux набор 'nomodeline' в /etc/vimrc или /usr/доли/в Vim/vimrc в качестве меры безопасности, несмотря на проблемы с безопасностью 'режим' уже давно фиксированный.

23
отвечен garyjohn 2011-08-16 08:58:50
источник

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

11
отвечен Asad R. 2013-06-25 15:32:18
источник

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

Я был действительно озадачен этим, потому что документация is не совсем true.

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

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

10
отвечен Bruno Bronosky 2017-05-23 15:41:41
источник

в ~/.vimrc вам нужно установить следующее:

set nocompatible 
filetype plugin on
set modeline 
9
отвечен vahagn34 2013-06-05 12:43:34
источник

добавить только следующее ~/.vimrc работал для меня на моем Funtoo Linux box:

set modeline
5
отвечен scifisamurai 2013-08-11 08:29:46
источник

так как это, кажется, придумать в поисках:

у меня была такая же проблема:

# vim: set filetype=sh:

не сработало, что также привело к ft=conf. без модельной линии в моем~/.bash_alias, ft пуст, поэтому что-то меняется.

пока

# vim: filetype=sh:

работали. последнее": "присутствие кажется неуместным.

Я на OSX с заваренной версией Vim8, для записи.

это странно, потому что из справки modeline оба

[text]{white}{vi:|vim:|ex:}[white]{options}

и

[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]

кажется, поддерживается.

выход

verbose set ft?

with "vim: тип файла=sh" is

filetype=sh
      Last set from modeline

без modeline:

filetype=

С "vim: set filetype=sh"

filetype=conf
     Last set from /usr/local/Cellar/vim/8.0.1350/share/vim/vim80/filetype.vim

где-то в моем conf может быть побочный эффект, но несовместимый синтаксис modeline-единственный, который работает так, как ожидалось.

0
отвечен kalfa 2018-02-05 14:41:50
источник

Другие вопросы vim modeline

X