Когда я смотрю на справочную страницу в моей «консоли» (а не на « 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-коды.