Когда я смотрю на справочную страницу в моей «консоли» (а не на « xtermя»), я вижу некоторую окраску, но не вижу ее в своих xterm(например konsole), есть ли способ, как я могу включить это? надеюсь, довольно простое решение?
Когда я смотрю на справочную страницу в моей «консоли» (а не на « xtermя»), я вижу некоторую окраску, но не вижу ее в своих xterm(например konsole), есть ли способ, как я могу включить это? надеюсь, довольно простое решение?
Ответы:
Вам нужно использовать эту 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_*переменным? за то, как это работает.

export GROFF_NO_SGR=1.
Вы можете решить эту проблему, например, используя другой пейджер most. manфактически будет использовать программу, указанную в PAGERпеременной окружения. Со страницы man (1) man:
MANPAGER, PAGER
Если установлено значение $ MANPAGER или $ PAGER (в предпочтении используется $ MANPAGER), его значение используется в качестве имени программы, используемой для отображения страницы руководства. По умолчанию используется пейджер -s.
Значение может быть простым именем команды или командой с аргументами и может использовать кавычки (обратные слэши, одинарные или двойные кавычки).
Он не может использовать каналы для соединения нескольких команд; если вам это нужно, используйте скрипт-обертку, который может отображать файл в качестве аргумента или при стандартном вводе.
Если mostв вашей системе установлено, попробуйте это перед запуском man:
export PAGER=most
mostдолжен быть установлен, чтобы это работало.
mostимеет странные сочетания клавиш ... которые не настраиваются.
Подчеркивание по умолчанию больно мои глаза. Эта настройка значительно улучшает manчтение моей страницы:
Добавьте следующее в ваш `~ .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' (источник), чтобы отобразить ваш процент в документе.
export GROFF_NO_SGR=1работы на некоторых эмуляторах терминала.
export MANPAGER='less -s -M +Gg'добавлений дисплея .
Сохраняйте «большинство» постоянно
Открытый терминал ( Ctrl+ Alt+ T)
Установите «большинство».
sudo apt-get install most
отредактируйте .bashrc, введите:
nano ~/.bashrc
Добавьте эти строки:
# color man-pages persistently
export PAGER='most'
Сохранить
( Ctrl+ O) -> Enter-> ( Ctrl+ X)
обновление
source ~/.bashrc
Контрольная работа
man ln
Это также работает в Xterm.
Взято из 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(компилятор entry-description terminfo):
$ tic mostlike.txt
(Вы можете удалить mostlike.txtфайл после компиляции.)
А затем просто определите псевдоним в *rcфайле вашей любимой оболочки.
$ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"
Если вы хотите изменить файл terminfo, используйте его, infocmp mostlikeчтобы получить его содержимое позже.
mostlike.txtонлайн.
Принимая ответ dirtybit , я хотел изменить цвет выделенных результатов поиска. Это называется «режим ожидания», вот пример файла «xterm-yellow.ti»:
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.ti
Добавьте строку в «~ / .profile» или аналогичную:
TERM=xterm-yellow
echo -e "\e[04mhello world\e[0m"консоль и терминал X11 и увидев разницу. Таким образом, этот хак злоупотребляет termcap, чтобы лгать LESS о том, какие коды он должен испускать для жирного шрифта / подчеркивания, и вынуждает его вместо этого создавать цветовые escape-коды.