ฉันจะได้สีต่าง ๆ สำหรับไดเรกทอรี ฯลฯ ใน iTerm2 ได้อย่างไร


26

ฉันมี MacBookPro ใหม่และฉันติดตั้ง iTerm2 รุ่นล่าสุด

แม้หลังจากที่ฉันนำเข้าชุดสีที่หลากหลายฉันก็สังเกตเห็นว่าพวกเขาเพิ่งเปลี่ยนสีของข้อความและพื้นหลังเท่านั้น

สิ่งที่ฉันคาดหวังว่าจะเห็นก็คือสีที่แตกต่างกันสำหรับไดเรกทอรีไฟล์ VS, ไฟล์ที่ซ่อน VS ฯลฯ ฯลฯ ฉันจะทำเช่นนั้นบน iTerm2 ได้อย่างไร?

คำถามที่เกี่ยวข้องคือฉันจะระบุสิ่งที่ฉันต้องการให้สีของไดเรกทอรีไฟล์และอื่น ๆ เป็นจริงได้อย่างไร

ขอบคุณ



ขอบคุณ @JohnN ที่ช่วย แต่โปรดดูการแก้ไขของฉัน
Spacey

คำตอบ:


26

คุณต้องทำสองสิ่ง:

  • ตั้งค่าLSCOLORSตัวแปรสภาพแวดล้อม
  • สร้างนามแฝงlsเพื่อแสดงสีตามค่าเริ่มต้น

ในการ~/.bash_profileเพิ่มของคุณต่อไปนี้:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

alias ls='ls -lGH'        <-----This shows in list format, follow symlinks colorized

สีถูกตั้งค่าโดยแต่ละบิตด้านบน พื้นหน้าแรกและพื้นหลังเป็นพื้นหลัง อักขระสองตัวแรกอ้างถึงไดเรกทอรีที่มีพื้นหน้าเป็นสีน้ำเงินเข้มและพื้นหลังสีเทาอ่อน

อย่างไรก็ตามมียูทิลิตีออนไลน์ที่ยอดเยี่ยมเพื่อดูว่าแต่ละสีมีความหมายและลักษณะอย่างไรในเวลาจริง มันจะสร้าง "รหัส" ให้คุณด้วย (ฉันไม่ได้มีส่วนเกี่ยวข้องกับเรื่องนี้เลย) มันจะทำงานได้ทั้งใน MacOS / FreeBSD และ Linux ตรวจสอบให้แน่ใจว่าคุณเลือกตัวเลือก BSD สำหรับ macOS

เครื่องคิดเลข LSCOLORS


ลำดับของแอ็ตทริบิวต์มีดังนี้:

1. ไดเรกทอรี
2. ลิงก์สัญลักษณ์
3. ซ็อกเก็ต
4. ท่อ
5. ปฏิบัติการ
6. บล็อกพิเศษ
7. ตัวละครพิเศษ
8. ปฏิบัติการด้วย setuid bit set
9. ปฏิบัติการด้วย setgid bit set
10. ไดเรกทอรีเขียนให้ผู้อื่นด้วยบิต
11. ไดเรกทอรีเขียนได้ถึงคนอื่น ๆ

นักออกแบบสีมีดังนี้:

สีดำ
สีแดงข
คสีเขียว
สีน้ำตาล
e สีน้ำเงิน
f magenta
กรัมสีฟ้า
h สีเทาอ่อน
ตัวหนาสีดำมักปรากฏเป็นสีเทาเข้ม
B แดงเข้ม
สีเขียวเข้ม
สีน้ำตาลเข้ม D มักปรากฏเป็นสีเหลือง
E สีน้ำเงินเข้ม
F สีม่วงแดงเข้ม
ฟ้าเข้ม
H ตัวหนาสีเทาอ่อน; ดูเหมือนสีขาวสว่าง
x เริ่มต้นเบื้องหน้าหรือพื้นหลัง

สวัสดีอัลลันขอบคุณ! คุณสามารถอธิบายเพิ่มเติมเกี่ยวกับ i) ทำไมฉันต้องใส่ใน. bash_profile และไม่พูดว่า. zshrc ที่ฉันคิดว่ามันเป็นและ ii) เพิ่มเติมเกี่ยวกับ LSCOLORS ส่วนการส่งออก? ฉันจะไปที่ไซต์ที่คุณพูดถึงและตั้งค่าสีของฉันจากที่นั่นได้ไหม? การหลอกลวงครั้งนี้มีรูปแบบสีของ iterm2 อย่างไร ขอบคุณ!
Spacey

บางทีนี่อาจเป็นสิ่งที่ทำให้ฉันสับสน: ฉันกำลังใช้ iterm2 สิ่งนี้หมายความว่าเราเปลี่ยนไฟล์อะไร (.bash_profile VS .zshrc) หรือไม่ สำหรับสิ่งที่มันคุ้มค่าในเครื่องใหม่นี้ฉันยังมีค่า ...
สเปซีย์

อ่าเสียงสะท้อนbashดังขึ้น ดังนั้นฉันควรสร้างใหม่ ~ / .bash_profile ฉันคาดเดาเนื่องจากไม่มีอยู่
Spacey

4

ทางเลือกที่จะLSCOLORSเป็นGRC (ทั่วไป Colouriser)ซึ่งสามารถใช้กับสวยมาก ๆ lsแอปบรรทัดคำสั่งไม่ได้เป็นเพียง

หากคุณมี Homebrew ติดตั้งติดตั้งgrcด้วยbrew install grc- lsนี้จะตั้งชื่อแทนโดยอัตโนมัติรวมทั้ง มันมาพร้อมกับชื่อแทนและไฟล์กำหนดค่าสำหรับคำสั่งที่แตกต่างกันและมันค่อนข้างเป็นเรื่องง่ายที่จะแฮกไฟล์ปรับแต่งโดยใช้นิพจน์ทั่วไปของ Python สำหรับคำสั่งใด ๆ ที่grcไม่ครอบคลุมในปัจจุบัน ( tmutilและlaunchctlตัวอย่าง)

(ฉันกำลังจะเพิ่มสิ่งนี้กับคำถามที่ฉันตั้งค่าสถานะว่าเป็นดักล่อที่เป็นไปได้ แต่ด้วยการแก้ไขของคุณอาจมีประโยชน์มากกว่าที่นี่!)


ฉันติดตั้ง grc และ ls ไม่ได้ colorized เลย 'type ls' ให้ '/ bin / ls' ไม่มีนามแฝง กลับไปที่โซลูชันโปรไฟล์ bash ฉันเดา
6005

@ 6005 คุณติดตั้ง GRC ด้วยbrewหรือไม่ (และติดตั้งสำเร็จแล้วโดยไม่มีข้อผิดพลาดหรือไม่) brew doctorรายงานอะไร- ปัญหาใด ๆ คุณใช้เปลือกอะไรอยู่และคุณได้ปรับเปลี่ยนการตั้งค่าของเชลล์เลยคุณอาจต้องแก้ไข.bash_profile(หรือปรับแต่งเชลล์ที่คุณใช้) เพื่อหานามแฝง GRC ของฉัน.bash_profileมีนี้ (แม้ว่าฉันจะเพิ่มมันเอง - bash config ของฉันค่อนข้างลึกลับ ... ):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N

4

เปิด bash_profile โดยใช้คำสั่ง:

open ~/.bash_profile

และเพิ่มบรรทัดต่อไปนี้:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

จากนั้นแหล่ง bash_profile โดยใช้:

source ~/.bash_profile

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