У меня есть файл .aliases
для bash и zsh, я поставил эту строку
# vim: set filetype=bash:
но если я сделаю
: echo &ft
я получил conf
У меня есть файл .aliases
для bash и zsh, я поставил эту строку
# vim: set filetype=bash:
но если я сделаю
: echo &ft
я получил conf
Ответы:
Это должно работать. Я попробовал эту линию сам, и это сработало. Я мог бы быть, что ваша опция 'modeline' была установлена на 'nomodeline'. Попробуйте выполнить это и посмотрите, что вы получите.
:verbose set modeline?
Это скажет вам значение параметра 'modeline' и, если не значение по умолчанию, где он был установлен в последний раз.
Некоторые дистрибутивы Linux устанавливают nomodeline в / etc / vimrc или / usr / share / vim / vimrc в качестве меры безопасности, хотя проблемы безопасности с modeline уже давно устранены.
modelines
том , что вариант Unimplemented и что он никогда не будет. Это так же, как все ошибки безопасности, возникающие из встроенных в файл команд или макрокоманд для запуска в PDF, Word, Excel, & c & c & c.
Я опишу полный контрольный список отладки в этом другом ответе .
Я был очень озадачен на это потому , что документация является не совсем верно.
Оказывается, в версии 8 (а может и раньше) вы не можете использовать это слово set
в своей моделине. Документация описывает «вторую форму» как существующую, /* vim: set ai tw=75: */
но это не работает. Вы должны использовать «первую форму»// vim: ai tw=75
Примечание. Вы можете использовать любой из этих индикаторов комментариев. Или нет вообще.
set
отлично работает для меня на Vim 8.0 (хотя не на 7,4). Также стоит отметить, что со второй формой // vim: ai tw=75
не может быть никаких других символов в конце строки, иначе vim будет жаловаться и игнорировать моделину.
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:44:48) Inklusive der Korrekturen: 1-1689 Extra-Patches: 8.0.0056 Verändert von pkg-vim-maintainers@lists.alioth.debian.org Übersetzt von pkg-vim-maintainers@lists.alioth.debian.org Riesige Version mit GTK2-GNOME GUI.
(Последние строки означают изменено ... , составлено ... , огромная версия ... ).
set modelines=1
(или любое значение, отличное от 0) в моем ~ / .vimrc заставило его работать на меня.
modeline
оно также не установлено (это по умолчанию в Vim, если вы не root)
set nomodeline
в /etc/vimrc
связи с все уязвимости с ModeLines обработки в Vim.
modelines
ненулевое значение. В справке говорится, что по умолчанию установлено значение 5
, поэтому я установил его, и это помогло мне. В штатах говорится, чтоIf 'modeline' is on 'modelines' gives the number of lines that is checked for set commands. If 'modeline' is off or 'modelines' is zero no lines are checked.
~/.vimrc
На моем компьютере с Funtoo Linux добавили только следующее :
set modeline
Так как это похоже на поиски:
У меня такая же проблема:
# vim: set filetype=sh:
не работает, в результате чего ft = conf также. без моделин в моем ~ / .bash_alias, ft пусто, так что что-то меняется.
пока
# vim: filetype=sh:
работал. последнее присутствие ":" кажется несущественным.
Я на OSX с вареной версией Vim8, для записей.
это странно, потому что от моделина помогают оба
[text]{white}{vi:|vim:|ex:}[white]{options}
и
[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
кажется, поддерживается.
Выход из
verbose set ft?
с "vim: filetype = sh" является
filetype=sh
Last set from modeline
без моделин:
filetype=
с помощью "vim: set filetype = sh"
filetype=conf
Last set from /usr/local/Cellar/vim/8.0.1350/share/vim/vim80/filetype.vim
Где-то в моем conf может быть побочный эффект, но не совместимый синтаксис моделин - единственный, который работает, как и ожидалось.
/usr/share/vim/vim80/debian.vim
from vim-common
в дистрибутивах на основе Debian отключается modeline
по умолчанию.
" modelines have historically been a source of security/resource
" vulnerabilities -- disable by default, even when 'nocompatible' is set
set nomodeline
Вы должны включить modeline
явно в вашем .vimrc
или ~/.vim/vimrc
файле.
set modeline
Скорее всего, это связано с отключением моделинов.
Я работаю над этим:
В этом случае команды по умолчанию включены в белый список filetype
.