เมื่อฉันดูหน้าคนใน 'คอนโซล' ของฉัน (ไม่ใช่xterm
) ฉันเห็นบางสี แต่ฉันไม่ได้รับสิ่งนี้ในxterm
' ของฉัน(เช่นkonsole
) มีวิธีใดที่ฉันสามารถเปิดใช้งานนี้ หวังว่าเป็นทางออกที่ค่อนข้างง่าย?
เมื่อฉันดูหน้าคนใน 'คอนโซล' ของฉัน (ไม่ใช่xterm
) ฉันเห็นบางสี แต่ฉันไม่ได้รับสิ่งนี้ในxterm
' ของฉัน(เช่นkonsole
) มีวิธีใดที่ฉันสามารถเปิดใช้งานนี้ หวังว่าเป็นทางออกที่ค่อนข้างง่าย?
คำตอบ:
คุณต้องใช้termcap(5)
คุณสมบัตินี้ หน้า man ของ 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'
เพิ่มขึ้น
หากคุณใช้Oh My Zshคุณสามารถเพิ่มcolored-man-pages
ไปยังplugins
อาร์เรย์ใน.zshrc
ไฟล์ของคุณ
บันทึก 'มากที่สุด' อย่างต่อเนื่อง
เปิดเทอร์มินัล ( 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
(คอมไพเลอร์ terminfo entry-description):
$ tic mostlike.txt
(คุณอาจต้องการลบmostlike.txt
ไฟล์หลังจากรวบรวม)
จากนั้นเพียงกำหนดนามแฝงใน*rc
ไฟล์เชลล์ที่คุณชื่นชอบ
$ alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"
หากคุณต้องการแก้ไขไฟล์ terminfo ให้ใช้infocmp mostlike
เพื่อรับเนื้อหาในภายหลัง
mostlike.txt
ออนไลน์นี้
การตอบ dirtybit ของผมอยากจะเปลี่ยนสีของผลการค้นหาที่ไฮไลต์ สิ่งนี้เรียกว่า "โหมด standout" นี่คือตัวอย่างไฟล์ "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 เกี่ยวกับรหัสที่จำเป็นในการปล่อยสำหรับตัวหนา / ขีดเส้นใต้และบังคับให้มันสร้างรหัสหนีสีแทน