Я хотел бы указать несколько параметров vim в одном файле в разделе комментариев.
Например, я хотел бы установить эту опцию в одном файле
set syntax=python
Файл не имеет расширения .py, и я не заинтересован в том, чтобы моя установка vim распознавала все файлы с этим расширением как файлы python.
Я знаю, что это можно сделать, потому что я это видел, но мой поиск в Google пока не дал результатов.






Вам нужен синтаксис модельная линия, например
# vim: set syntax=python:
См .: Модельная магия на Vim Wikia для получения более подробной информации.
Я нечасто использовал vim, но думаю, что вам нужно добавить в конец файла такую строку:
# vim: set syntax=python:
@ZyX что делает двоеточие?
@EvgeniSergeev Какой? Двоеточие после vim требуется, чтобы vim распознавал модельную строку. Завершающее двоеточие требуется для однострочных комментариев в стиле C (/* … */), и в любом другом случае вы хотите написать что-то после строки режима vim. Просто привычка: поскольку комментарии в стиле C (и любые другие, которые имеют как начало, так и конец, как в HTML) требуют записи конечного двоеточия для размещения маркера конца комментария в той же строке, вы легко получите привычку всегда писать это двоеточие.
@nisc Оба варианта верны. Хотя наиболее распространенным является # vim: syn=python (обратите внимание на отсутствие set и завершающего двоеточия (я объяснил, почему он обычно пишется) и сокращенную форму варианта: по некоторым причинам такие формы гораздо более распространены).
@ZyX Собственно, версия с set вообще не работает при отсутствии замыкающего : по крайней мере с gVim 7.3. Также обратите внимание: перед vim: должен быть пробел должен.
Вы переопределяете параметры Vim, добавляя модельную строку вверху или внизу файла, например:
// vim: set syntax=python:
или же:
/* vim: set syntax=python: */
или как:
# vim: set syntax=python ts=4 :
Другие примеры (из Викия):
// vim: noai:ts=4:sw=4
-or-
/* vim: noai:ts=4:sw=4
*/
-or-
/* vim: set noai ts=4 sw=4: */
-or-
/* vim: set fdm=expr fde=getline(v\:lnum)=~'{'?'>1'\:'1': */
Вот пример, который я использую (в последней строке файла):
# vim: set ts=2 sts=2 et sw=2 ft=python:
Несколько основных моментов:
modeline установлено значение modeline или возможное целое число, и вы не являетесь пользователем root (некоторые ОС, такие как Debian, Ubuntu, Gentoo, OSX и т. д., По умолчанию отключают модели из соображений безопасности), поэтому вам нужно добавить set modeline в ваш файл ~/.vimrc (:e $MYVIMRC),vim: обязателен,modelines (см .: :help 'modelines'),set модельная строка заканчивается первым двоеточием (:),Связанный:
интересно, в настоящее время я не могу изменить параметры с помощью комментария к файлу, как ни странно, ди, вы знаете, почему?
правильным будет
# vim: set syntax=python:(обратите внимание на двоеточие)