Название этого вопроса очень вводит в заблуждение. Многие люди, попадающие на эту страницу, ожидают решения проблемы окраски, которую вы получите, отправив команду с цветным выводом less: цвета потеряны. (Ответы на этот «вопрос трубопровода» включают less -Rи unbufferт. Д.) Но фактический вопрос касается открытия файла ! - Неоднозначность заключается, прежде всего, в названии вопроса, но даже помимо этого, ИМХО, вопрос все еще слишком широк: «прочитать файл» может относиться к любому файлу (возможно, к простому тексту). (ну, «получить содержимое в цветах», вероятно, относится к подсветке синтаксиса.)
myrdd
Мне нужно исправить себя, только 3 (или 4) из 14 ответов не содержат актуального вопроса ОП: ответы ChristopheD , Puneet и Onlyjob ; и, возможно, JBBR . Тем не менее, два из этих ответов являются частью трех с наибольшим количеством голосов.
Myrdd
@myrdd "подсветка синтаксиса" является соответствующим термином ... (он спрашивает об отображении цветов, а не о добавлении цветов?) также less -Rбудет работать с файлами, напримерls --color=always > /tmp/file && less -R /tmp/file
Герт ван ден Берг
1
@myrdd Возможно, имеет смысл закрыть вопрос как «неясно, что задают», поскольку вопросы, задающие любой из этих двух вопросов, вероятно, будут помечены как дубликаты этого ... (И ответы на любой из этих двух могут быть опровергнуты основанный на том, как избиратель интерпретирует это ...) (Мой вариант использования был файлом журнала, в котором (досадно) есть цветовые escape-коды)
Герт ван ден Берг
Ответы:
149
Вы можете использовать силу пигментирования с меньшими затратами - автоматически! (Не нужно трубить вручную.)
Установите pygmentsс вашим менеджером пакетов или pip (возможно, называется python-pygments) или получите его здесь http://pygments.org/download/ .
Написать файл ~/.lessfilter
#!/bin/sh
case "$1" in
*.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\
*.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\
*.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\
*.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass)
pygmentize -f 256 "$1";;
.bashrc|.bash_aliases|.bash_environment)
pygmentize -f 256 -l sh "$1";;
*)
if grep -q "#\!/bin/bash" "$1" 2> /dev/null; then
pygmentize -f 256 -l sh "$1"
else
exit 1
fi
esac
exit 0
Кроме того, вам нужно сделать ~/.lessfilterисполняемый файл, запустив
chmod u+x ~/.lessfilter
Проверено на Debian.
Вы поняли идею. Это, конечно, может быть улучшено и дальше, принимая больше расширений или анализируя shebang для других интерпретаторов, чем bash. Посмотрите некоторые другие ответы для этого.
Идея пришла из старого сообщения в блоге создателей Pygments , но оригинального сообщения больше не существует.
Если вы хотите раскрасить файлы исходного кода, вам также нужно сделать исполняемый файл ~ / .lessfilter запуском chmod u+x ~/.lessfilter. Вам также нужно установить pygmentize ( pygments.org/download ).
Сергей Белозоров
Может кто-нибудь подтвердить, что это работает, поскольку это не имеет никакого эффекта для меня, когда я выполняю такую команду, какls -l | less
puk
7
@puk вы можете сделать что-то вроде ls --color=always -l | less -R. Очевидно, что много печатать, но вы можете псевдоним это что-то вроде ll. Это если вы не хотите использовать какие-либо дополнительные библиотеки.
PhilT
2
добавил комментарий @ SergiyByelozyorov в ответ.
Андрыбак
2
Мое редактирование было отклонено, поэтому я, скорее всего, опубликую его как комментарий: не проверяйте коды выхода команд косвенно. Вы можете использовать if grep -q "#\!/bin/bash" "$1"( -qподавляет стандартный вывод). Вы можете перенаправить стандартную ошибку с 2>/dev/null.
Том Фенек
503
Попробуйте следующее:
less -R
от man less:
-r или же --raw-control-chars
Вызывает отображение «сырых» управляющих символов. (...)
-R или же --RAW-CONTROL-CHARS
Как -r, но только «цветные» escape-последовательности ANSI выводятся в «сыром» виде. (...)
Это полезно, когда сам файл содержит управляющие коды, которые необходимо отобразить.
Нитродист
1
Раньше я знал о less -r, но при поиске в файле с помощью «/» появлялись неправильные строки. -R, кажется, делает лучшую работу. Спасибо за чаевые.
Амос Шапира
54
Следует отметить, что большинство программ используют isatty(2)системный вызов для проверки того, является ли их стандартный вывод терминалом, и обычно отключают цветной вывод, если это не так. Для любой трубы меньше, isattyвернет 0. Чтобы проверить, работает ли это, попробуйтеecho -e '\x1b[32;1mtest\x1b[m' | less -r
mic_e
11
Этот ответ не превосходит в самом деле что-то тестировать.
Майкл Вольф
18
Вы также можете напечатать, -Rкогда вы уже открыли, lessчтобы достичь этого.
Когда вы просто запускаете, grep --colorэто подразумевает, grep --color=autoкоторый определяет, является ли вывод выводом и, если да, включает цвета. Однако, когда он обнаруживает трубу, он отключает окраску. Следующая команда:
grep --color=always "search string" * | less -R
Всегда будет включать окраску и отменять автоматическое обнаружение, и вы получите цветовую подсветку меньше.
Предупреждение: не ставьте --color=alwaysв качестве псевдонима, это иногда ломает вещи. Вот почему есть --color=autoвариант.
Здорово спасибо Кроме того, что мне нужно использовать -Rв качестве опции less, а также.
naught101
10
Я считаю, grep -Rчто для определения рекурсивного поиска. less -Rнеобходимо для того, lessчтобы правильно выплевывать цвета обратно. grep --color=always [grep cmds] | less -Rу меня работает на OS X 10.7.3!
Стивен Лу
@ naught101 @ Steven Lu Отредактировано, хотя кажется, что некоторым людям может и не понадобиться использовать less -R(по словам автора оригинального поста, в любом случае).
Jtpereyda
2
Есть ли какой-нибудь способ сообщить команде grep только команду pipe less -R и затем выполнить раскраску? Таким образом, нам не нужно ставить --color = всегда и меньше -R все время.
A-letubby
1
Это, безусловно, самый простой рабочий ответ. Спасибо!
Дэнни Стейпл
37
Используйте viewвместо less. Он открывает файл vimв режиме только для чтения.
Это практически цветной less: пейджер, с помощью которого можно искать /(и даже больше). Единственным недостатком является то, что вы не можете выйти с, qно вам нужно:q
Кроме того, вы получаете ту же окраску, что и vim(поскольку вы на самом деле используете vim).
Как насчет производительности больших файлов? Подсветка синтаксиса Vim, как известно, работает медленно на больших файлах.
Pihentagy
Я не знаю, каково ваше значение для «большого», но открытие файла ~ 10000 строк происходит мгновенно, включая поиск внутри.
Риккардо Галли
1
Я проголосовал (я не знал об этом view), но другой недостаток в том, что j / k / up / down не прокручивается мгновенно, так как есть курсор.
Тайлер Кольер
7
Обратите внимание, что вам, возможно, придется добавить, view -когда трубопровод
user45909
6
vimэто редактор, который загружает весь файл в память, тогда lessкак это пейджер, загружающий файл только частично в память. Вы узнаете разницу с огромными файлами.
Sjas
16
Чтобы сказать меньше, чтобы показать цвета, назовите его с -R:
less -R
К сожалению, некоторые программы обнаруживают, что их стандартный вывод не является терминалом, и отключают цвета - например, pacman (менеджер пакетов Arch Linux).
В этих случаях можно использовать unbuffer:
unbuffer <command> | less -R
Пример использования pacman
unbuffer pacman -Ss firefox | less -R
Команда unbufferобычно является частью пакета expect(Arch Linux, Debian / Ubuntu) или expect-dev(устаревшие версии Debian / Ubuntu).
Чтобы ответить на вопрос для полноты:
Как уже отвечали другие, pygmentizeотлично подходит для раскрашивания исходного кода. Не требует unbuffer. Самый простой звонок:
Использовать unbufferв Ubuntu,sudo apt install expect
wisbucky
Этот ответ нуждается в большем количестве голосов.
Томас Диньян
Я пытался передать вывод dmesg для проверки ошибок загрузки, но цвета не работали, если я не использовал unbuffer, что выводило меня из себя: unbuffer dmesg | less -Rработает как положено.
pbhj
15
pygmentizeподдерживает -gопцию автоматического угадывания используемого лексера, что полезно для чтения файлов STDINбез проверки какого-либо типа расширения.
Используя это, вам нужно только установить следующие 2 экспорта в вашем .bashrcбез каких-либо дополнительных сценариев:
Краткий и эффективный. Я предпочитаю определять псевдоним, потому что иногда чем меньше, тем лучше. Итак: alias lesc = 'LESS = "- R" LESSOPEN = "| pygmentize -g% s" less "
Tiago
9
Вы не сказали, что должен означать этот цвет, например, какими должны быть цвета для текстового файла?
Если вам нужна подсветка синтаксиса для исходного кода, вам нужна подсветка исходного кода. Я иногда использую пигментирование, как это
pygmentize file.cpp | less
или же
pygmentize file.cpp | more
Есть другие маркеры вокруг.
Это довольно быстро. Если вы не возражаете против запуска, vimесть режим только для чтения, который может подсвечивать синтаксис, если он у вас есть vim.
Если вы не видите ни одной программы, на которую есть ссылки, убедитесь, что lesspipeона установлена (большинство дистрибутивов поставляются с ней).
Добавьте следующее к ~/.bashrc:
# sets LESSOPEN and LESSCLOSE variableseval"$(SHELL=/bin/sh lesspipe)"# interpret color characters
export LESS='-R'# to list available styles: `pygmentize -L styles`
export PYGMENTIZE_STYLE='paraiso-dark'# optional
alias ls='ls --color=always'
alias grep='grep --color=always'
Если вы не хотите lesspipe, замените evalутверждение на:
export LESSOPEN='|~/.lessfilter %s'
Создайте ~/.lessfilter
Добавьте следующий код и сделайте файл исполняемым: chmod u+x ~/.lessfilter
Единственным недостатком этого подхода является то, что Pygments - это программа на Python, и поэтому при первом использовании во время сеанса оболочки возникает задержка «холодного запуска». Последующие вызовы намного быстрее.
Джо Кодер
Приятно! Действительно всеобъемлющий.
Дарио Сеидл
4
Используйте GNU Source-highlight ; Вы можете установить его, aptесли он у вас есть, или установить его из источника. Затем настройте «препроцессор ввода» для меньшего с помощью документации Source-highligh для настройки с помощью less :
Это было предложено Константином Серебряным. Скрипт src-hilite-lesspipe.sh будет установлен вместе с source-highlight. Вы можете использовать следующие переменные среды:
Таким образом, когда вы используете меньше для просмотра файла, если это исходный файл, обработанный с помощью выделения источника, он будет автоматически выделен.
Ксавье-Эммануэль Винсент недавно представил альтернативную версию цветовой схемы ANSI, esc256.style: некоторые терминалы могут обрабатывать 256 цветов. Ксавье также предоставил скрипт, который проверяет, сколько цветов может обрабатывать ваш терминал, и в этом случае использует вариант 256. Сценарий называется source-highlight-esc.sh и будет установлен вместе с другими двоичными файлами.
Чтобы развернуть другой ответ, вы можете заставить его работать для большинства, если не для всех ваших сценариев, которые не имеют расширений, изменив файл .lessfilter чуть чуть:
#!/bin/sh
case "$1" in
*.awk|*.groff|*.java|*.js|*.m4|*.php|*.pl|*.pm|*.pod|*.sh|\
*.ad[asb]|*.asm|*.inc|*.[ch]|*.[ch]pp|*.[ch]xx|*.cc|*.hh|\
*.lsp|*.l|*.pas|*.p|*.xml|*.xps|*.xsl|*.axp|*.ppd|*.pov|\
*.diff|*.patch|*.py|*.rb|*.sql|*.ebuild|*.eclass)
pygmentize -f 256 "$1";;
.bashrc|.bash_aliases|.bash_environment)
pygmentize -f 256 -l sh "$1"
;;
*)
scriptExec=$(head -1 "$1" |grep "^#\!" |awk -F" " '{print $1}')
scriptExecStatus=$?
if [ "$scriptExecStatus" -eq "0" ]; then
lexer=$(echo $scriptExec |awk -F/ '{print $NF}')
pygmentize -f 256 -l $lexer "$1"
else
exit 1
fi
esac
exit 0
Вам все равно нужно добавить две переменные в .bashrc:
И вам все равно нужно сделать исполняемый файл .lessfilter:
$ chmod 700 ~/.lessfilter
Также я хотел добавить, что под debian пакет pygments называется python-pygments. Сначала у меня возникли проблемы с его поиском, потому что очевидное неправильное написание слов «пигменты» как «фрагменты» не было для меня достаточным намеком на то, что это был пакет, в котором администратор пакетов мог добавить префикс «python-».
2 комментария: 1) Спасибо за улучшение. 2) фразы типа «проголосовал за лучший ответ» не очень хороши; это может измениться (на самом деле, если это лучше, чем этот ответ, этот пост может стать главным ответом, и в этот момент он будет просто сбивать с толку. Может быть, просто сказать «расширить на другой ответ» или «ответ капитана»?
cpast
2
Вы можете рассмотреть возможность использования mostутилиты, которая является дружественной по цвету альтернативой для lessи more.
Можете ли вы показать нам один пример? Я попробовал здесь, и выход был черно-белым.
Данило
Ваш вход должен содержать цвета. Сначала производят colorised образец (например ccze -A </var/log/dpkg.log, ls -1 --color /var/log) , то это трубы к most: ls -1 --color /var/log | most.
Onlyjob
да, я использовал: git status | less --color,git status | most --color
Данило
Я использовал больше, больше, меньше, и все инструменты показывают черно-белое
Данило
Убедитесь, что ваша команда выдает цвета, прежде чем отправлять по трубам lessили другим. Убедитесь, что ваш эмулятор терминала может выводить цвета. Проверьте TERMпеременную среды. Подробнее читайте в unix.stackexchange.com/questions/148/… По возможности используйте современный дистрибутив GNU + Linux, такой как Debian . Используйте поисковую систему (например duckduckgo.com startpage.com ) , чтобы найти ответы. Помните, что комментарии не для обсуждения.
Для красочных страниц добавьте следующее в ваш .bashrcили .zshrc:
export LESS_TERMCAP_mb=$'\E[1;31m' # begin bold
export LESS_TERMCAP_md=$'\E[1;36m' # begin blink
export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video
export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
export LESS_TERMCAP_us=$'\E[1;32m' # begin underline
export LESS_TERMCAP_ue=$'\E[0m' # reset underline
Для подсветки синтаксиса используйте существующий мощный lesspipe.shдля его обработки вместо написания своего собственного: https://github.com/wofr06/lesspipe
Я нашел это простое элегантное решение. Вам не нужно устанавливать ничего лишнего, так как он уже есть по умолчанию на большинстве машин. Как vimустановлено по умолчанию на большинстве машин, он включает макрос для запуска vimкакless
Некоторые из вариантов его использования - создать псевдоним:
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim'
или создайте символическую ссылку:
ln -s /usr/share/vim/vim74/macros/less.sh ~/bin/vless
Я alias lesser='/usr/share/vim/vim80/macros/less.sh'в ~/bash_aliases(в Ubuntu 18.04). Можно использовать такие сочетания клавиш, как f вперед, b назад, d половина вниз, u половина вверх, q выход и т. Д.
Даниил
0
Самым интуитивным и простым решением для меня было использование pygmentize
добавления строк ниже к .bashrc
less
: цвета потеряны. (Ответы на этот «вопрос трубопровода» включаютless -R
иunbuffer
т. Д.) Но фактический вопрос касается открытия файла ! - Неоднозначность заключается, прежде всего, в названии вопроса, но даже помимо этого, ИМХО, вопрос все еще слишком широк: «прочитать файл» может относиться к любому файлу (возможно, к простому тексту). (ну, «получить содержимое в цветах», вероятно, относится к подсветке синтаксиса.)less -R
будет работать с файлами, напримерls --color=always > /tmp/file && less -R /tmp/file
Ответы:
Вы можете использовать силу пигментирования с меньшими затратами - автоматически! (Не нужно трубить вручную.)
Установите
pygments
с вашим менеджером пакетов или pip (возможно, называетсяpython-pygments
) или получите его здесь http://pygments.org/download/ .Написать файл
~/.lessfilter
В вашем
.bashrc
добавленииКроме того, вам нужно сделать
~/.lessfilter
исполняемый файл, запустивПроверено на Debian.
Вы поняли идею. Это, конечно, может быть улучшено и дальше, принимая больше расширений или анализируя shebang для других интерпретаторов, чем bash. Посмотрите некоторые другие ответы для этого.
Идея пришла из старого сообщения в блоге создателей Pygments , но оригинального сообщения больше не существует.
источник
chmod u+x ~/.lessfilter
. Вам также нужно установить pygmentize ( pygments.org/download ).ls -l | less
ls --color=always -l | less -R
. Очевидно, что много печатать, но вы можете псевдоним это что-то вродеll
. Это если вы не хотите использовать какие-либо дополнительные библиотеки.if grep -q "#\!/bin/bash" "$1"
(-q
подавляет стандартный вывод). Вы можете перенаправить стандартную ошибку с2>/dev/null
.Попробуйте следующее:
от
man less
:источник
isatty(2)
системный вызов для проверки того, является ли их стандартный вывод терминалом, и обычно отключают цветной вывод, если это не так. Для любой трубы меньше,isatty
вернет 0. Чтобы проверить, работает ли это, попробуйтеecho -e '\x1b[32;1mtest\x1b[m' | less -r
-R
когда вы уже открыли,less
чтобы достичь этого.Я получил ответ в другом посте: Less and Grep: получение цветных результатов при использовании трубы из grep в less
Предупреждение: не ставьте
--color=always
в качестве псевдонима, это иногда ломает вещи. Вот почему есть--color=auto
вариант.источник
-R
в качестве опцииless
, а также.grep -R
что для определения рекурсивного поиска.less -R
необходимо для того,less
чтобы правильно выплевывать цвета обратно.grep --color=always [grep cmds] | less -R
у меня работает на OS X 10.7.3!less -R
(по словам автора оригинального поста, в любом случае).Используйте
view
вместоless
. Он открывает файлvim
в режиме только для чтения.Это практически цветной
less
: пейджер, с помощью которого можно искать /(и даже больше). Единственным недостатком является то, что вы не можете выйти с, qно вам нужно:q
Кроме того, вы получаете ту же окраску, что и
vim
(поскольку вы на самом деле используетеvim
).источник
view
), но другой недостаток в том, что j / k / up / down не прокручивается мгновенно, так как есть курсор.view -
когда трубопроводvim
это редактор, который загружает весь файл в память, тогдаless
как это пейджер, загружающий файл только частично в память. Вы узнаете разницу с огромными файлами.Чтобы сказать меньше, чтобы показать цвета, назовите его с -R:
К сожалению, некоторые программы обнаруживают, что их стандартный вывод не является терминалом, и отключают цвета - например, pacman (менеджер пакетов Arch Linux).
В этих случаях можно использовать
unbuffer
:Пример использования pacman
Команда
unbuffer
обычно является частью пакетаexpect
(Arch Linux, Debian / Ubuntu) илиexpect-dev
(устаревшие версии Debian / Ubuntu).Чтобы ответить на вопрос для полноты:
Как уже отвечали другие,
pygmentize
отлично подходит для раскрашивания исходного кода. Не требуетunbuffer
. Самый простой звонок:источник
unbuffer
в Ubuntu,sudo apt install expect
unbuffer dmesg | less -R
работает как положено.pygmentize
поддерживает-g
опцию автоматического угадывания используемого лексера, что полезно для чтения файловSTDIN
без проверки какого-либо типа расширения.Используя это, вам нужно только установить следующие 2 экспорта в вашем
.bashrc
без каких-либо дополнительных сценариев:источник
Вы не сказали, что должен означать этот цвет, например, какими должны быть цвета для текстового файла?
Если вам нужна подсветка синтаксиса для исходного кода, вам нужна подсветка исходного кода. Я иногда использую пигментирование, как это
или же
Есть другие маркеры вокруг.
Это довольно быстро. Если вы не возражаете против запуска,
vim
есть режим только для чтения, который может подсвечивать синтаксис, если он у вас естьvim
.или, альтернативно, посмотрите ответ Чурнда.
источник
Это еще один ответ на основе фрагментов , с несколькими существенными улучшениями:
lesspipe
или неlessfile
фильтруетless
Установите Pygments и Gawk
Установить переменные среды
Проверьте, включено
lesspipe
илиlessfile
уже включено:Если вы не видите ни одной программы, на которую есть ссылки, убедитесь, что
lesspipe
она установлена (большинство дистрибутивов поставляются с ней).Добавьте следующее к
~/.bashrc
:Если вы не хотите
lesspipe
, заменитеeval
утверждение на:Создайте
~/.lessfilter
Добавьте следующий код и сделайте файл исполняемым:
chmod u+x ~/.lessfilter
источник
Используйте GNU Source-highlight ; Вы можете установить его,
apt
если он у вас есть, или установить его из источника. Затем настройте «препроцессор ввода» для меньшего с помощью документации Source-highligh для настройки с помощью less :источник
Чтобы развернуть другой ответ, вы можете заставить его работать для большинства, если не для всех ваших сценариев, которые не имеют расширений, изменив файл .lessfilter чуть чуть:
Вам все равно нужно добавить две переменные в .bashrc:
И вам все равно нужно сделать исполняемый файл .lessfilter:
Также я хотел добавить, что под debian пакет pygments называется python-pygments. Сначала у меня возникли проблемы с его поиском, потому что очевидное неправильное написание слов «пигменты» как «фрагменты» не было для меня достаточным намеком на то, что это был пакет, в котором администратор пакетов мог добавить префикс «python-».
источник
Вы можете рассмотреть возможность использования
most
утилиты, которая является дружественной по цвету альтернативой дляless
иmore
.источник
ccze -A </var/log/dpkg.log
,ls -1 --color /var/log
) , то это трубы кmost
:ls -1 --color /var/log | most
.git status | less --color
,git status | most --color
less
или другим. Убедитесь, что ваш эмулятор терминала может выводить цвета. ПроверьтеTERM
переменную среды. Подробнее читайте в unix.stackexchange.com/questions/148/… По возможности используйте современный дистрибутив GNU + Linux, такой как Debian . Используйте поисковую систему (например duckduckgo.com startpage.com ) , чтобы найти ответы. Помните, что комментарии не для обсуждения.Сужу из моего полного поста в блоге об улучшении меньшего опыта: https://www.topbug.net/blog/2016/09/27/make-gnu-less-more-powerful/
Для красочных страниц добавьте следующее в ваш
.bashrc
или.zshrc
:Для подсветки синтаксиса используйте существующий мощный
lesspipe.sh
для его обработки вместо написания своего собственного: https://github.com/wofr06/lesspipeисточник
Я нашел это простое элегантное решение. Вам не нужно устанавливать ничего лишнего, так как он уже есть по умолчанию на большинстве машин. Как
vim
установлено по умолчанию на большинстве машин, он включает макрос для запускаvim
какless
Некоторые из вариантов его использования - создать псевдоним:
alias vless='vim -u /usr/share/vim/vim74/macros/less.vim'
или создайте символическую ссылку:
ln -s /usr/share/vim/vim74/macros/less.sh ~/bin/vless
Тогда ты просто бежишь
vless myfile.py
Я получил большую часть информации здесь
источник
alias lesser='/usr/share/vim/vim80/macros/less.sh'
в~/bash_aliases
(в Ubuntu 18.04). Можно использовать такие сочетания клавиш, как f вперед, b назад, d половина вниз, u половина вверх, q выход и т. Д.Самым интуитивным и простым решением для меня было использование
pygmentize
добавления строк ниже к .bashrc
Если вы не можете позвонить
pygmentize
, просто установите какпс.
pygmentize
Исполняемый двоичный файл будет сидеть/usr/local/bin/
или в вашем/home/username/.virtualenv/venvname/bin/
или где - нибудь.источник
Ничто из этого не сработало для меня, и я нашел простой способ сделать эту работу, поэтому я решил поделиться.
Просто используйте tmux, который позволяет вам просматривать и прокручивать большую историю и прекрасно сохраняет цвета.
источник
Пока выходной текст имеет символы управления цветом,
less -R
будет делать.источник