ฉันจำเป็นต้องใช้less commandกับการเน้นไวยากรณ์ของคำสั่งที่เป็นกลุ่มสำหรับpython, C, bashและภาษาอื่น ๆ
ฉันจะใช้สีที่เน้นสีซินแท็กซ์ตามvimสีได้less commandอย่างไร
ฉันจำเป็นต้องใช้less commandกับการเน้นไวยากรณ์ของคำสั่งที่เป็นกลุ่มสำหรับpython, C, bashและภาษาอื่น ๆ
ฉันจะใช้สีที่เน้นสีซินแท็กซ์ตามvimสีได้less commandอย่างไร
คำตอบ:
การเน้นไวยากรณ์ใช้lessงานได้ดีกับระบบ * nix ส่วนใหญ่
apt install source-highlight
export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '
ใช้งาน distros แบบ Fedora / RedHat /usr/bin/src-hilite-lesspipe.shแทน
แม้ใน Cygwin คุณสามารถทำมันได้ด้วยการปรับเล็ก ๆ น้อย ๆ ของเส้นทางเชลล์สคริปต์และติดตั้งกับแทนapt-cygapt
อย่างไรก็ตามการใช้วิธีนี้ทำให้การเรียกดูไฟล์ขนาดใหญ่ช้าลงอย่างมาก ฉันขอแนะนำให้ใช้aliasในวิธีที่จะใช้การLESSOPENส่งออกข้างต้นเมื่อจำเป็นเท่านั้นเช่นนี้
alias lessh='LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" less -M '
โดยที่-Mแฟล็กสะดวกที่จะแสดงชื่อไฟล์และหมายเลขบรรทัดด้วย
อย่าลืมคัดลอกสคริปต์ไปยังเส้นทางถังขยะของคุณ:
cp /usr/share/source-highlight/src-hilite-lesspipe.sh /usr/bin/src-hilite-lesspipe.sh
ปรับปรุง: 2019-07-24
เห็นได้ชัดว่าเมื่อติดตั้ง Cygwin ล่าสุดคุณมีไฟล์ต่อไปนี้ในเส้นทางของคุณ:
source-highlight.exe
source-highlight-esc.sh
source-highlight-settings.exe
ดังนั้นตอนนี้คุณยังต้องดำเนินการที่จะเพิ่มการตั้งค่าไฟล์:source-highlight-settings.exe
$HOME/.source-highlight/source-highlight.conf
brew install source-highlightจากนั้นฉันเพิ่มนามแฝง:alias lessh='LESSOPEN="| src-hilite-lesspipe.sh %s" less -R '
less ไม่รองรับการเน้นไวยากรณ์
vimเช่นเดียวกับviโคลนทั้งหมดมีโหมดอ่านอย่างเดียวviewซึ่งคุณสามารถใช้เพื่อดูไฟล์ได้ สนับสนุนคุณสมบัติทั้งหมดของกลุ่มรวมถึงการเน้นไวยากรณ์
เช่น
view filename.py
ความแตกต่างที่สำคัญระหว่างviewและviคือมุมมองนั้นไม่ "ล็อค" ไฟล์ที่คุณกำลังดูโดยการสร้างไฟล์. swp
view commandวิธีการของคุณradare packageไม่ใช่แค่อ่านเท่านั้น
viewคำสั่งของฉันดูเหมือนจะไม่สนับสนุนการเน้นไวยากรณ์ ฉันได้พยายาม:syntax enableและแต่ฉันมักจะได้รับ:syntax on syntax: Not an editor commandฉันvimรองรับการเน้นสี
viชอบnviหรือelvisติดตั้งอีกหรือไม่ ตรวจสอบของคุณ/usr/bin/view- ในระบบเดเบียนของฉันก็ symlink ให้/etc/alternatives/viewซึ่งเป็นในทางกลับกัน symlink /usr/bin/vim.basicไป
/usr/bin/exซึ่งอยากรู้อยากเห็นเป็นของviแพ็คเกจ
arch linux viewเป็น symlink ไปยัง/usr/bin/exของcore/viแพคเกจ
lessไม่สามารถสอนให้องค์ประกอบไฮไลท์ไวยากรณ์ lessแต่เป็นกลุ่มที่สามารถใช้เป็นเพจเจอร์เช่นทดแทนสำหรับ มีปลั๊กอินขั้นสูงมากกว่า แต่สคริปต์พื้นฐานมาพร้อมกับ Vim ( $VIMRUNTIME/macros/less.sh) สำหรับข้อมูลทั้งหมดดูที่การใช้ vim เป็นเพจเจอร์ที่เน้นไวยากรณ์บน Vim Tips Wiki
lessเป็นการเน้น แต่ Vim มีความสามารถนี้ในตัว
$ diff file1.c file2.c | /usr/share/vim/vim74/macros/less.sh
ฉันมักจะไม่เห็นด้วยกับ Ingo less สามารถสอนให้เน้นไวยากรณ์ ลองดูคำตอบนี้บน SuperUser โดยทั่วไปคุณจะต้องติดตั้งแหล่งเน้นของ GNU (มีให้ใน repos แพ็คเกจ distro สำคัญทั้งหมด) จากนั้นเพิ่มสิ่งต่อไปนี้ลงใน.bashrc( .bash_profileหรือสิ่งที่คุณมี):
export LESSOPEN="| /path/to/src-hilite-lesspipe.sh %s"
export LESS=" -R "
อย่างไรก็ตามทราบว่าsource-highlightไม่เป็นที่มีประสิทธิภาพเช่นvimเน้น 's ใช้สิ่งที่เหมาะกับคุณที่สุด