Как переопределить параметры vim с помощью комментариев в файле исходного кода Python?

Я хотел бы указать несколько параметров vim в одном файле в разделе комментариев.

Например, я хотел бы установить эту опцию в одном файле

set syntax=python

Файл не имеет расширения .py, и я не заинтересован в том, чтобы моя установка vim распознавала все файлы с этим расширением как файлы python.

Я знаю, что это можно сделать, потому что я это видел, но мой поиск в Google пока не дал результатов.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
29
0
11 998
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вам нужен синтаксис модельная линия, например

# vim: set syntax=python:

См .: Модельная магия на Vim Wikia для получения более подробной информации.

Я нечасто использовал vim, но думаю, что вам нужно добавить в конец файла такую ​​строку:

# vim: set syntax=python:

правильным будет # vim: set syntax=python: (обратите внимание на двоеточие)

nisc 15.04.2012 20:34

@ZyX что делает двоеточие?

Evgeni Sergeev 18.01.2014 06:41

@EvgeniSergeev Какой? Двоеточие после vim требуется, чтобы vim распознавал модельную строку. Завершающее двоеточие требуется для однострочных комментариев в стиле C (/* … */), и в любом другом случае вы хотите написать что-то после строки режима vim. Просто привычка: поскольку комментарии в стиле C (и любые другие, которые имеют как начало, так и конец, как в HTML) требуют записи конечного двоеточия для размещения маркера конца комментария в той же строке, вы легко получите привычку всегда писать это двоеточие.

ZyX 19.01.2014 18:09

@nisc Оба варианта верны. Хотя наиболее распространенным является # vim: syn=python (обратите внимание на отсутствие set и завершающего двоеточия (я объяснил, почему он обычно пишется) и сокращенную форму варианта: по некоторым причинам такие формы гораздо более распространены).

ZyX 19.01.2014 18:11

@ZyX Собственно, версия с set вообще не работает при отсутствии замыкающего : по крайней мере с gVim 7.3. Также обратите внимание: перед vim: должен быть пробел должен.

Evgeni Sergeev 24.04.2014 07:27

Вы переопределяете параметры 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:

Несколько основных моментов:

  • Vim выполняет модельную строку только тогда, когда для modeline установлено значение modeline или возможное целое число, и вы не являетесь пользователем root (некоторые ОС, такие как Debian, Ubuntu, Gentoo, OSX и т. д., По умолчанию отключают модели из соображений безопасности), поэтому вам нужно добавить set modeline в ваш файл ~/.vimrc (:e $MYVIMRC),
  • строка должна быть в первых или последних нескольких строках,
  • пробел между открывающим комментарием и vim: обязателен,
  • место, где vim проверяет модельную строку, управляется переменной modelines (см .: :help 'modelines'),
  • с set модельная строка заканчивается первым двоеточием (:),
  • текст, отличный от "vim:", может быть распознан как модельная строка.

Связанный:

интересно, в настоящее время я не могу изменить параметры с помощью комментария к файлу, как ни странно, ди, вы знаете, почему?

Малъ Скрылевъ 22.12.2020 15:17

Другие вопросы по теме