หลายใจ เอาท์พุทสี piped เพื่อน้อย


35

ระบบปฏิบัติการ: Mac OS 10.6.2

ฉันต้องการที่จะเห็นผลสีเมื่อท่อคำสั่งบางอย่างผ่านน้อย

สองตัวอย่าง:

ฉันใช้ชื่อแทน ls ls --color=autoดังนั้นฉันจึงอยากเห็นสีเมื่อฉันทำสิ่งนี้:

ls -l | less

ฉันได้เปิดส่วนขยายสีไว้ใน Mercurial ด้วยดังนั้นฉันจึงต้องการเห็นผลลัพธ์สีจาก:

hg diff | less

และ

hg st | less

หลังจาก googling แล้วดูเหมือนว่ามีบางเวอร์ชั่นที่รองรับน้อยกว่า -r หรือ -R เพื่อทำให้มันทำงานได้ แต่ไม่มีลูกเต๋าสำหรับฉัน ฉันไม่เห็นอะไรเลยในหน้า man ที่ดูเหมือนสิ่งที่ฉันต้องการ (-r หรือ -R SEEM เพื่อเป็นตัวเลือกที่ถูกต้อง แต่อีกครั้งดูเหมือนว่ามันจะไม่ทำงาน)


1
ดูเหมือนว่าส่วนขยายสีจะปิดใช้งานเสมอเมื่อมีการไพพ์ ลองใช้คำสั่งเหล่านี้เพื่อดูว่าฉันหมายถึงอะไร: ls --color=always | ls -Rและhg diff --config color.mode=ansi | less -R
ฮาร์วีย์

คำตอบ:



13

ผมเชื่อว่าคุณต้องใช้--color=alwaysสำหรับถ้าคุณต้องการจะทำสีแม้ในขณะที่ไม่ได้ไปls stdoutจากนั้นใช้-rในlessคำสั่ง

ls --color=always -l | less -r

12

ใน ~ / .hgrc ของคุณ:

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog

ทำไมquiet = Trueส่วนหนึ่ง
einpoklum - คืนสถานะโมนิก้า

ดี! ฉันแนะนำLESS='eiFRSXQ'ให้เลิกหลังจากไปถึง EOF และไม่สนใจเคสระหว่างการค้นหา
sebastian

11

ทำ:

$ hg diff --color always | less -R

ฉันจะใช้นามแฝงว่า "less -R" ให้น้อยลง ผมไม่แน่ใจว่าถ้ามีวิธีที่จะให้ตัวเลือกเริ่มต้นคำสั่งปรอทเพื่อให้คุณไม่ต้องจำที่จะพิมพ์--color alwaysสำหรับhg diffตลอดเวลา


1
หรือใช้$ hg diff --color always | less -FRSXQสำหรับตัวเลือกที่ดีกว่าน้อยกว่า มันจะปิดเสียงเงียบหากพบว่าเหมาะกับหน้าจอ
jpbochi

1
คุณสามารถตั้งค่า LESS = "- R" หรือเลือก aliasing "less" เอง
blueyed

-Fคือการอ่านไฟล์ต่อไปเรื่อย ๆ ขณะที่กำลังผลิต-Sไม่ใช่เพื่อการพันบรรทัด-Xสิ่งที่คลุมเครือ-Qหลีกเลี่ยงเสียงระฆังเทอร์มินัล
Evgeni Sergeev


0

ls --color=autoหมายความว่าคุณได้รับเอาต์พุตสีเมื่อไม่มีการส่งไปยังบางสิ่ง ลองls --colour=auto | catแล้วคุณจะเห็นว่าฉันหมายถึงอะไร

ฉันคาดหวัง hg ทำให้สมมติฐานที่คล้ายกัน


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.