내 '콘솔'()이 아닌 맨 페이지를 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
환경 변수에 지정된 프로그램을 사용합니다 . 로부터 사람 (1) 매뉴얼 페이지
MANPAGER, PAGER
$ MANPAGER 또는 $ PAGER이 설정되면 ($ MANPAGER이 기본 설정에 사용됨), 값은 매뉴얼 페이지를 표시하는 데 사용되는 프로그램의 이름으로 사용됩니다. 기본적으로 pager -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)
'most'를 설치하십시오.
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
(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에게 거짓말을하고 대신 색상 이스케이프 코드를 생성하도록합니다.