Я использую файл Python со следующей моделью в конце:
# vim: sts=4:ts=4:sw=4
Если я запустил Vim с этим файлом, modeline будет проигнорирован. Как я могу это исправить? И BTW, у меня nocompatible
установлен в моем .vimrc
.
Я использую файл Python со следующей моделью в конце:
# vim: sts=4:ts=4:sw=4
Если я запустил Vim с этим файлом, modeline будет проигнорирован. Как я могу это исправить? И BTW, у меня nocompatible
установлен в моем .vimrc
.
Я отследил проблему локальному плагину, называемому local_vimrc.vim. Тот факт, что modeline не работает, является побочным эффектом плагина.
Убедитесь, что ваши настройки правильные. Do...
:verbose set modeline? modelines?
Если вы видите любое из этих значений, оно не сработает.
nomodeline
modelines=0
(Добавив verbose
перед командой set
, вам сообщат, какой файл создал этот параметр. Спасибо, drew010)
То, что вам нужно увидеть, это (где 4 больше 0)
modeline
Last set from /usr/share/vim/vimrc
modelines=4
Last set from ~/.vim/vimrc
Есть ли у вас строка с vim:
, которая не касается других в последнем & lt; modelines & gt; строки вашего документа?
Серьезно, это все, что нужно.
Все эти моделины работают...
# vim: cursorline
// vim: cursorline
; vim: cursorline
vim: cursorline
# anything here vim: cursorline
even without a valid comment vim: cursorline
literally anything as long a space separates> vim: cursorline
# vim: set cursorline: <-that colon is required if you use the word "set" and this comment after the colon does not affect it.
Обратите внимание, что единственный способ получить комментарий после модельной строки - это использовать слово set
. Но если вы используете set
, вы должны ставить двоеточие в конце своих настроек, даже если у вас нет комментариев. Спасибо, Амадан
И это важно! Используете ли вы слово set
? (как описано во "второй форме" в файле настроек). Выньте set
или добавьте двоеточие в конец.
Ни одна из этих работ...
# vim: set cursorline
^^^ issue: use of the word set without a trailing colon (:)
# vim:cursorline
^ issue: no space after the colon
#vim: cursorline
^ issue: no space before the word vim
Вы не спали более 18 часов? Прежде чем сойти с ума, поспи. Завтра все еще будет сломано. Тогда вы, скорее всего, заметите проблему, когда снова просмотрите этот список.
Этот ответ использовался для включения этой претензии:
Используете ли вы слово set? (как это описано как "вторая форма" в файле настроек). Что ж, это не работает в версии 8, и я не знаю, когда она перестала работать, Используйте "первую форму".
Я ошибался. Это было отмечено @Amadan, и я исправил Шаг 3.
У меня была аналогичная проблема с моей моделью, которая не работает. Ответы в этой теме помогли мне найти мой ответ (который добавлял set modeline к моему ~/.vimrc)
https://superuser.com/questions/323712/modeline-not-work-in-vim
Также одна вещь, которая помогла мне отладить это, это ввести: установить в vim. Это покажет вам различные значения, которые в настоящее время установлены.
Если вы сохраняете и загружаете представления, например, с чем-то вроде следующего, ваша модельная строка не будет переоценена при повторном открытии файла.
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent loadview
Первый шаг всегда смотреть в
/usr/share/vim/vim74/debian.vim
и закомментируйте строку nomodeline.
Распределения Kubuntu считают это угрозой безопасности.
(EG: libcal позволяет запускать произвольную программу)
Это проблема, только если кто-то из системы может запустить vim через веб-страницу. (не доверяйте вводу пользователя.)
Также возможно выполнить атаку ddos, используя проверку орфографии. (не доверяйте вводу пользователя.)