Я часто использую команду pygmentize filename.py
для отображения цветных исходных файлов с форматированием кода. Это работает как шарм. Теперь я также хочу показать номера строк, как cat -n filename.py
.
Я перечитал и нашел несколько предложений, таких как добавление -O linenos=1
или -O linenos=True
. Ничего из этого, похоже, не работает.
Кто-нибудь знает, как я могу показать номера строк при просмотре исходных файлов в командной строке с фрагментами ? Все советы приветствуются!
Можно добавить использование номеров строки perl
как это:
pygmentize file.py | perl -e 'print ++$i." $_" for <>'
Обновление (для искажения предыдущей команды):
Для создания псевдонима просто определите следующую функцию удара где-нибудь в Вашем ~/.bashrc
:
pyg() {
pygmentize $1 | perl -e 'print ++$i." $_" for <>'
}
Откройте новый терминал и назовите команду с pyg file.py
.
Вы попытались передать вывод по каналу к nl --body-numbering=a
? Что касается большинства инструментов оболочки, можно найти больше информации в man nl
.
Используя кошку с передачей по каналу:
pygmentize filename.py | cat -n
ответ Sylvain так или иначе лучше, так как он не делает генерирует запаздывание дополнительной кошки пробелов в начале каждой строки. Но в какой-то момент Вам нельзя было установить жемчуг :)
Попытка также:
pygmentize -g filename.py | cat -n | sed "s/^[ \t]*//"
Это дает Вам хорошее пространство между номерами строки и кодом.
pygmentize < hello.go | awk '{print i++ + 1 " " $0}'
Это работает на меня. Примечание +1 там, потому что Вы хотите, чтобы первая строка была маркирована 1 not 0.