Цвета в Man Pages

Когда я смотрю на man-страницу в моей «консоли» (а не на xterm ), я вижу некоторую окраску, но я не понимаю этого в моем xterm (например, konsole ), есть ли способ включить это? надеюсь, довольно простое решение?

6 Solutions collect form web for “Цвета в Man Pages”

Вам нужно использовать функцию termcap(5) . На странице руководства в некоторых Unices говорится, что этот инструмент устарел и использует terminfo , но он по-прежнему доступен для других (и terminfo сложнее).

Что еще более важно, less использует termcap .


Установка цветов для less

Я делаю следующее, чтобы less и man (который использует less ) будут иметь цвет:

 $ cat ~/.LESS_TERMCAP export LESS_TERMCAP_mb=$(tput bold; tput setaf 2) # green export LESS_TERMCAP_md=$(tput bold; tput setaf 6) # cyan export LESS_TERMCAP_me=$(tput sgr0) export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4) # yellow on blue export LESS_TERMCAP_se=$(tput rmso; tput sgr0) export LESS_TERMCAP_us=$(tput smul; tput bold; tput setaf 7) # white export LESS_TERMCAP_ue=$(tput rmul; tput sgr0) export LESS_TERMCAP_mr=$(tput rev) export LESS_TERMCAP_mh=$(tput dim) export LESS_TERMCAP_ZN=$(tput ssubm) export LESS_TERMCAP_ZV=$(tput rsubm) export LESS_TERMCAP_ZO=$(tput ssupm) export LESS_TERMCAP_ZW=$(tput rsupm) export GROFF_NO_SGR=1 # For Konsole and Gnome-terminal 

И затем в моем ~/.bashrc , я делаю это:

 # Get color support for 'less' export LESS="--RAW-CONTROL-CHARS" # Use colors for less, man, etc. [[ -f ~/.LESS_TERMCAP ]] && . ~/.LESS_TERMCAP 

ПРИМЕЧАНИЕ. См. Документацию по LESS_TERMCAP_* переменным? как это работает.

Конечный результат

ss man page

Вы можете решить эту проблему, используя другой пейджер, например, most . man фактически будет использовать программу, указанную в переменной окружения PAGER . Из man (1) man page:

MANPAGER, PAGER

Если $ MANPAGER или $ PAGER установлены (предпочтение отдается $ MANPAGER), его значение используется как имя программы, используемой для отображения страницы руководства. По умолчанию используется пейджер -s.

Значение может быть простым именем команды или командой с аргументами, и может использовать цитирование оболочки (обратные косые черты, одинарные кавычки или двойные кавычки).

Он может не использовать каналы для подключения нескольких команд; если вам это нужно, используйте сценарий оболочки, который может отобразить файл как аргумент или стандартный ввод.

Если most них установлено в вашей системе, попробуйте это, прежде чем запускать man :

 export PAGER=most 

По умолчанию подчеркиваются мои глаза. Эта настройка значительно улучшает чтение моей страницы:

Пример цветной страницы

Добавьте в свой `~ .bashrc следующее:

 # Have less display colours # from: https://wiki.archlinux.org/index.php/Color_output_in_console#man export LESS_TERMCAP_mb=$'\e[1;31m' # begin bold export LESS_TERMCAP_md=$'\e[1;33m' # begin blink export LESS_TERMCAP_so=$'\e[01;44;37m' # begin reverse video export LESS_TERMCAP_us=$'\e[01;37m' # begin underline export LESS_TERMCAP_me=$'\e[0m' # reset bold/blink export LESS_TERMCAP_se=$'\e[0m' # reset reverse video export LESS_TERMCAP_ue=$'\e[0m' # reset underline export GROFF_NO_SGR=1 # for konsole and gnome-terminal 

Для победы в сочетании с export MANPAGER='less -s -M +Gg' (источник), чтобы отобразить ваш процент в документе.

Если вы используете Oh My Zsh , вы можете добавить colored-man-pages в массив plugins в вашем файле .zshrc .

Взято из http://nion.modprobe.de/blog/archives/569-colored-manpages.html

Выдержка:

 $ mkdir ~/.terminfo/ && cd ~/.terminfo 

Теперь получите описание terminfo (сохраните следующее как mostlike.txt):

 # Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor mostlike|manpages with color looking like most, am, hs, km, mir, msgr, xenl, cols#80, it#8, lines#24, wsl#40, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m\E[31m, clear=\E[H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ed=\E[J, el=\E[K, enacs=\E)0, fsl=^G, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[7m\E[34m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[1;30m\E[47m, smul=\E[32m, tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, 

Теперь скомпилируйте его с помощью tic (компилятор описания строки terminfo):

 $ tic mostlike.txt 

(Вы можете удалить файл mostlike.txt после компиляции.)

А затем просто определите псевдоним в *rc файле вашей любимой оболочки.

 $ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man" 

Если вы хотите изменить файл terminfo, используйте infocmp mostlike чтобы получить его содержимое позже.

Принимая ответ грязного , я хотел изменить цвет выделенных результатов поиска. Это называется «standout mode», вот пример файла «xterm-yellow.terminfo»:

 xterm-yellow|yellow standout mode, # exit standout mode rmso=\e[m, # begin standout mode smso=\e[5;30;43m, # similar terminal use=xterm, 

Скомпилируйте и установите файл:

 tic xterm-yellow.terminfo 

Добавьте строку в «~ / .profile» или аналогичную:

 TERM=xterm-yellow 
Linux и Unix - лучшая ОС в мире.