Как получить цветные страницы руководства под рыбой раковиной?
Кажется, есть способ заставить страницы справки отображаться в цвете (см. Здесь. Это включает в себя установку переменных среды, связанных с less, и добавление этих определений в .bashrc
, Я пытался сделать то же самое в config.fish
для раковины рыбы, но не получил цветовой выход.
Как получить цветные страницы руководства в оболочке рыбы?
5 ответов
Вы можете установить конфигурацию с помощью следующих команд:
set -x LESS_TERMCAP_mb (printf "\033[01;31m")
set -x LESS_TERMCAP_md (printf "\033[01;31m")
set -x LESS_TERMCAP_me (printf "\033[0m")
set -x LESS_TERMCAP_se (printf "\033[0m")
set -x LESS_TERMCAP_so (printf "\033[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\033[0m")
set -x LESS_TERMCAP_us (printf "\033[01;32m")
Если вы хотите, чтобы эти цвета добавлялись только при просмотре справочных страниц, а не для всего, что вы просматриваете в less
Вы должны установить эти переменные в функции-обертке для man
вместо того, чтобы положить их в свой config.fish
,
Весь процесс заключается в создании нового файла в ~/.config/fish/functions/man.fish
и внутри него определить функцию man
который устанавливает необходимые переменные среды, затем вызывает оригинал man
с помощью command
передавая аргументы используя $argv
,
Это моя версия функции оболочки:
~/.config/fish/functions/man.fish
function man --description "wrap the 'man' manual page opener to use color in formatting"
# based on this group of settings and explanation for them:
# http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
# converted to Fish shell syntax thanks to this page:
# http://Ask-ubuntu.ru/questions/522599/how-to-get-color-man-pages-under-fish-shell/650192
# start of bold:
set -x LESS_TERMCAP_md (set_color --bold red)
# end of all formatting:
set -x LESS_TERMCAP_me (set_color normal)
# start of standout (inverted colors):
#set -x LESS_TERMCAP_so (set_color --reverse)
# end of standout (inverted colors):
#set -x LESS_TERMCAP_se (set_color normal)
# (no change – I like the default)
# start of underline:
#set -x LESS_TERMCAP_us (set_color --underline)
# end of underline:
#set -x LESS_TERMCAP_ue (set_color normal)
# (no change – I like the default)
command man $argv
end
Предполагая, что вы используете меньше как пейджер, поместите это в ~/.config/fish/config.fish
:
set -x LESS_TERMCAP_mb (printf "\e[01;31m")
set -x LESS_TERMCAP_md (printf "\e[01;31m")
set -x LESS_TERMCAP_me (printf "\e[0m")
set -x LESS_TERMCAP_se (printf "\e[0m")
set -x LESS_TERMCAP_so (printf "\e[01;44;33m")
set -x LESS_TERMCAP_ue (printf "\e[0m")
set -x LESS_TERMCAP_us (printf "\e[01;32m")
Если ты видишь \e[0m
и т.д., появляющиеся при просмотре справочной страницы, попробуйте также добавить эту строку:
set -x LESS "-R"
Можно использовать set_color
вместо прямых последовательностей ANSI. Фактически, это позволяет вам использовать любой цвет, который вы хотите, используя 24-битные шестнадцатеричные цвета, например (set_color FF55AA)
,
set -x LESS_TERMCAP_mb (set_color brred)
set -x LESS_TERMCAP_md (set_color brred)
set -x LESS_TERMCAP_me (set_color normal)
set -x LESS_TERMCAP_se (set_color normal)
set -x LESS_TERMCAP_so (set_color -b blue bryellow)
set -x LESS_TERMCAP_ue (set_color normal)
set -x LESS_TERMCAP_us (set_color brgreen)
Я предлагаю очень хороший инструмент под названием batcat , предоставленный https://github.com/sharkdp/bat.
пакет доступен в Ubuntu с 20.04 («Focal») и Debian с августа 2021 года (Debian 11 — «Bullseye»), и его команда
batcat
который является заменой кота с крыльями .
Из документа git:
bat
можно использовать в качестве раскрашивающего пейджера для , установивMANPAGER
переменная окружения:bash export MANPAGER="sh -c 'col -bx | batcat -l man -p'"
Также может потребоваться установка
MANROFFOPT="-c"
если у вас возникли проблемы с форматированием.Если вы предпочитаете, чтобы это было объединено в новую команду, вы также можете использовать batman.
Обратите внимание, что синтаксис Manpage разработан в этом репозитории и требует доработки.
Также обратите внимание, что это не будет работать с Mandocs.
man
реализация.
Установите этот bat-пакет
sudo apt install bat
Мне нравится тема Monokai, и поэтому я добавил эту команду в свой
.zshrc
:
export MANPAGER="sh -c 'col -bx | batcat -l man -p --theme 'Monokai Extended''"
В случае, если вы используете
fish
shell добавьте эту строку в свой
~/.config/fish/config.fish
файл:
set -x MANPAGER "sh -c 'col -bx | batcat -l man -p --theme 'Monokai Extended''"
Список установленных цветовых тем можно распечатать с помощью следующей команды
batcat --list-themes
Вот скриншот
man 3 printf