มีตัวแปรของcat
บรรทัดโค้ดที่เน้นด้วยไวยากรณ์เอาต์พุตเมื่อใช้กับไฟล์ต้นฉบับหรือไม่?
แนวคิด: อาจvi[m]
จะขอให้ผู้แก้ไขคนอื่นแก้ไขเนื้อหาที่เน้นไวยากรณ์ของไฟล์ที่กล่าวถึงstdout
และออกทันที
มีตัวแปรของcat
บรรทัดโค้ดที่เน้นด้วยไวยากรณ์เอาต์พุตเมื่อใช้กับไฟล์ต้นฉบับหรือไม่?
แนวคิด: อาจvi[m]
จะขอให้ผู้แก้ไขคนอื่นแก้ไขเนื้อหาที่เน้นไวยากรณ์ของไฟล์ที่กล่าวถึงstdout
และออกทันที
คำตอบ:
การส่งไฟล์ผ่านจะพยายามตรวจหาชนิดจากชื่อไฟล์และไฮไลต์อย่างเหมาะสมpygmentize
-f terminal
python-pygments
บน Debian
alias pcat="pygmentize -f terminal256 -O style=native -g"
เป็นทางออกที่ดี
pip install pygments
cat code.extension | pygmentize -f terminal -l extension
จริงๆแล้วมันต้องเป็น
มาไฮไลท์แพคเกจที่มาพร้อมกับความหมายภาษาเอาท์พุท esc.outlang ซึ่งไฮไลท์มาตรฐาน ANSI ลำดับหนี
เสื้อคลุมที่มีประโยชน์src-hilite-lesspipe.sh
ยังรวมอยู่ในแพคเกจเพื่อให้การแสดงไฮไลต์การส่งออกใน terminal src-hilite-lesspipe.sh source.file
เป็นเพียง
ที่จริงแล้วsrc-hilite-lesspipe.sh
เหตุผลหลักคือการช่วยเหลือการทำงานอัตโนมัติใช้กับsource-highlight
less
คุณเพิ่งตั้งค่า:
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=' -R '
จากนั้นless source.file
จะมีการแสดงซอร์สโค้ดที่ไฮไลต์ (รหัสในภาษาที่ไม่รู้จักจะไม่ผ่านการเปลี่ยนแปลงการไฮไลต์จะถูกข้ามในกรณีที่มีการเปลี่ยนเส้นทางเนื้อหาเช่นless < source.file
)