Как включить подсветку синтаксиса в файле Python без расширения?

Включение подсветки синтаксиса в Nano достаточно просто, но я столкнулся с нестандартной проблемой. У меня есть исполняемый скрипт Python, который не имеет расширения.

Это часть виртуальной среды, поэтому вот как она начинается:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
6
задан 13 April 2017 в 15:23

2 ответа

Можно выбрать определенную подсветку синтаксиса с помощью --syntax опция, например

nano --syntax=python myscript
0
ответ дан 13 April 2017 в 15:23

Определение Python нано по умолчанию ищет одну из двух вещей расширение или соответствие заголовка, как определено в /usr/share/nano/python.nanorc:

syntax "python" "\.py$"
header "^#!.*/python[-0-9._]*"

Таким образом, это соответствовало бы #!/bin/python. Если Вы не пишете что-то для системы, жесткое кодирование, исполняемый файл Python является довольно плохой идеей... Вот почему env python используется эти дни.

Самый простой способ зафиксировать Нано состоит в том, чтобы отредактировать определение путем выполнения sudoedit /usr/share/nano/python.nanorc и изменение header строка к:

header "^#!.*python.*"

Это намного более открыто.


Существует на самом деле в широком масштабе улучшенный набор файлов Синтаксиса, доступных в nanorc проекте на GitHub, этом, а также улучшении других вещей, указывает:

header "^#!.*/(env +)?python[-0-9._]*( |$)"

Это больше не сохраняется, но это - все еще крупное улучшение по сравнению со значениями по умолчанию. Довольно просто установить:

git clone https://github.com/nanorc/nanorc.git
cd nanorc
make install

Затем nano ~/.nanorc и добавьте:

include ~/.nano/syntax/ALL.nanorc
2
ответ дан 13 April 2017 в 15:23

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

Похожие вопросы: