การเน้นไวยากรณ์ / การกำหนดสีของแมว


202

จะมีวิธีการในการส่งออกของ colorize เป็นcatวิธีการที่grepไม่

สำหรับgrepในคอนโซลส่วนใหญ่จะแสดงผลสีเน้นคำค้นหา มิฉะนั้นคุณสามารถบังคับได้โดยการโทรgrep --color มีวิธีทั่วไปในการระบายสีเอาท์พุทของโปรแกรมใด ๆ ตามที่คุณเลือก

จากสิ่งที่ฉันเข้าใจโปรแกรมเองไม่รับผิดชอบต่อสี มันคือเปลือก

ฉันใช้เชลล์เริ่มต้นใน FreeBSD 5.2.1 ซึ่งดูเหมือนว่าไม่เคยเห็นสีมาตั้งแต่ยุค


ฉันไม่เข้าใจสิ่งที่คุณกำลังพยายามจะพูด
Lelouch Lamperouge

ไม่นะ. ฉันไม่ต้องการแสดงไบนารี ฉันแค่ต้องการที่จะแสดงผลของไบนารีในลักษณะ colorized
Lelouch Lamperouge

6
meh - FTFY (คุณสามารถแก้ไขคำถามของคุณเองได้)
sehe

ฉันแก้ไขเพื่อหลีกเลี่ยงความสับสนเกี่ยวกับคำว่า "binary"
Volker Siegel

3
ฉันคิดว่าคำตอบของ @buergi ตรงกับคำถามและได้รับการสนับสนุนด้วยจำนวน upvotes ที่มี ลองเปลี่ยนคำตอบที่ยอมรับ
Ioannis Filippidis

คำตอบ:


22

catด้วยการเน้นไวยากรณ์นั้นอยู่นอกขอบเขต catไม่ได้มีไว้สำหรับสิ่งนั้น หากคุณต้องการให้เนื้อหาทั้งหมดของไฟล์บางไฟล์เป็นสี (ด้วยสีเดียวกันสำหรับไฟล์ทั้งหมด) คุณสามารถใช้เทอร์มินัลเอสเคปลำดับเพื่อควบคุมสี

นี่คือสคริปต์ตัวอย่างที่จะเลือกสีตามประเภทไฟล์ (คุณสามารถใช้สิ่งนี้แทนการเรียกใช้catโดยตรง):

#!/bin/bash
fileType="$(file "$1" | grep -o 'text')"
if [ "$fileType" == 'text' ]; then
    echo -en "\033[1m"
else
    echo -en "\033[31m"
fi
cat $1
echo -en "\033[0m"

ด้านบน (บนเทอร์มินัลที่รองรับลำดับการหลบหนีเหล่านั้น) จะพิมพ์ไฟล์ข้อความใด ๆ เป็น 'ตัวหนา' และจะพิมพ์ไฟล์ไบนารีใด ๆ เป็นสีแดง คุณสามารถใช้stringsแทนcatการพิมพ์ไฟล์ไบนารีและคุณสามารถปรับปรุงตรรกะเพื่อให้เหมาะกับความต้องการของคุณ


ฉันกำลังคิดถึงบางสิ่งเช่นนี้ แต่ฉันต้องการสิ่งที่จะทำในระดับสากล ไม่ใช่แค่cat/ grep/any particular program
Lelouch Lamperouge

จากนั้นคุณสามารถส่งคำสั่งเพื่อเรียกใช้เป็นอาร์กิวเมนต์ไปยังสคริปต์และแทนที่การcatเรียกใช้รหัสฮาร์ดโค้ด$cmdที่มีค่าเริ่มต้นเป็น $ 1 หากมีสองอาร์กิวเมนต์หรือค่าเริ่มต้นหากมีเพียงอาร์กิวเมนต์เดียว จากนั้นคุณก็เขียน: colorful.sh grep file.
Costi Ciudatu

8
"แมวไม่ได้มีไว้สำหรับสิ่งนั้น" Cat ไม่ได้มีไว้สำหรับเขียนไฟล์แต่ละไฟล์เพื่อ stdout อย่างใดอย่างหนึ่ง - มันสำหรับการต่อข้อมูล แต่นั่นก็ไม่ได้หมายความว่าการเขียนไฟล์แต่ละไฟล์ไปยัง stdout นั้นไม่มีประโยชน์ ไม่ได้หมายความว่าการเน้นที่พวกเขาไม่มีประโยชน์
mikemaccana

ฉันพยายามภายใต้ cygwin pygmentizeไม่สามารถสี เคล็ดลับใด ๆ
trueadjustr

408

ฉันขอแนะนำpygmentizeจากแพ็คเกจงูpython-pygmentsใหญ่ คุณอาจต้องการกำหนดนามแฝงที่มีประโยชน์ต่อไปนี้ (เว้นแต่คุณจะใช้ccatจากแพ็คเกจ ccrypt)

alias ccat='pygmentize -g'

ไวยากรณ์เน้นเอาต์พุตแมวโดยใช้การเพิ่มจำนวน

และถ้าคุณต้องการหมายเลขบรรทัด:

alias ccat='pygmentize -g -O style=colorful,linenos=1'

22
อีกวิธีคือใช้highlightคำสั่งlinux alias ccat='highlight -O ansi'
Evan Purkhiser

99
นี่ควรเป็นคำตอบที่ได้รับการยอมรับจาก IMHO นอกจากนี้ฉันยังใช้นามแฝงว่าalias dog='pygmentize -g'เนื่องจากสุนัขเย็นกว่าแมว!
polym

8
คุณสามารถเพิ่ม -R น้อยลงในการทำให้โค้ดเลื่อนได้:#!/bin/bash \n pygmentize -g $1 | less -R
Fabricio PH

6
nyancatผมเรียกว่านามแฝงของฉัน
zneak

2
การเพิ่มประสิทธิภาพการทำงานเป็นไปตามคาด แต่น่าเสียดายที่ค่อนข้างช้า : - /
Frerich Raabe

113

ตัวเลือก:

การกลั่นเป็นสิ่งที่ดี ฉันมีนามแฝง:

alias c='pygmentize -g'

แต่ไฮไลท์เป็นอีกทางเลือกที่ใช้ได้อย่างกว้างขวางคือ

alias cats='highlight -O ansi --force'

การติดตั้ง:

คุณอาจต้องติดตั้งpygmentsโดยใช้:

sudo pip install pygments
sudo easy_install Pygments #for Mac user

และสำหรับhighlightแพ็คเกจที่สามารถหาได้ง่ายในการแจกแจงทั้งหมด

sudo apt-get install highlight
sudo yum install highlight

ในการดำเนินการ:

ฉันกำลังแนบช็อตทั้งคู่ด้านล่างเพื่อการเปรียบเทียบที่ดีในการไฮไลต์

นี่คือpygmentizeการกระทำ: เพิ่มการเน้นที่การเน้นไฟล์ python

และนี่คือhighlight: ไฮไลต์การเน้นไฟล์หลาม


4
highlightทำงานได้ดีสำหรับความต้องการของฉันและติดตั้งได้ง่ายขอบคุณ หากคุณต้องการดูไฟล์ที่ไม่มีนามสกุล (เช่น. bash_aliases) ให้เพิ่มส่วน--syntax=bashเพิ่มเติม-O ansiเพื่อบังคับใช้
jerclarke

1
# pip การติดตั้ง Pygments # echo "alias catc = 'pymissionize -g'" >> "~ / .bashrc" # ปิดเทอร์มินัล # เทอร์มินัลเปิด # catc test.js --- และผลงานที่สมบูรณ์แบบ :-) 😊
BG Bruno

3
highlightเร็วกว่าโปรแกรมไพ ธ อน 34x พลังของภาษาคลาสสิกยังคงแข็งแกร่ง
Avindra Goolcharan

2
สำหรับhighlightคุณต้องการเพิ่ม--forceนามแฝงมิฉะนั้นมันจะโยนข้อผิดพลาดสำหรับรูปแบบไฟล์ที่ไม่เข้าใจในขณะที่การcatแทนที่คุณต้องการให้มันยังคงแสดงผลโดยไม่เน้นซึ่งเป็นสิ่งที่--forceไม่ ทั้งหมดเข้าด้วยกัน:alias cat="highlight -O ansi --force"
Alexander Klimetschek

1
@Luke ว่าทำไมคุณควรเพิ่ม-O ansiเริ่มต้นคือการแสดงผล HTML :-)
โทมัส

59

ตั้งแต่ปลายเดือนเมษายน 2561 เป็นต้นไป:

Bat - โคลนแมว (1) ที่มีการเน้นไวยากรณ์และการรวม Git

โครงการนี้เป็นโคลนแมวที่รองรับสีและการปรับแต่งที่เขียนใน Rust มันไม่เพียง แต่ให้ความสำคัญกับไวยากรณ์ที่มีหลายธีม แต่ยังรวมถึง Git ตามที่อธิบายไว้ในเอกสารประกอบ:

ค้างคาวพยายามที่จะบรรลุเป้าหมายดังต่อไปนี้ :

  • ให้การเน้นไวยากรณ์ที่สวยงามและทันสมัย
  • ผสานรวมกับ Git เพื่อแสดงการแก้ไขไฟล์
  • ใช้แทนดร็อปอินสำหรับแมว (POSIX)
  • นำเสนออินเตอร์เฟสบรรทัดคำสั่งที่ใช้งานง่าย

มันไม่จำเป็นต้องพูดเร็วกว่าการทำให้เต็มและไม่สำลักเมื่อเผชิญหน้ากับไฟล์ขนาดใหญ่

รหัสที่มาและไบนารีรุ่น + คำแนะนำการติดตั้งที่สามารถพบได้ในที่เก็บ Github, เช่นเดียวกับการเปรียบเทียบกับโปรแกรมทางเลือก


5
สิ่งที่ผู้คนลืมพูดถึงคือbatอยู่ในโหมดโต้ตอบตามค่าเริ่มต้น เพื่อให้มีลักษณะเหมือนcatใช้กับ-ppอาร์กิวเมนต์ นามแฝงเช่นalias cat="bat -pp"เป็นสิ่งที่ผู้คนกำลังมองหา
Canella

1
ฉันเคยใช้การเพิ่มประสิทธิภาพสำหรับ colorizing cat มาก่อน แต่การแก้ปัญหาด้วย bat นั้นดีกว่ามากสำหรับไฟล์ขนาดใหญ่ (บันทึกจากหลาย MB) ที่ประสิทธิภาพการกระจายเป็น subpar
Christian.D

35

vimcat เป็นไฟล์เดียว (เชลล์สคริปต์) และใช้งานได้ดี:

http://www.vim.org/scripts/script.php?script_id=4325

อัปเดตครั้งล่าสุดจากเดือนธันวาคม 2556 คำแนะนำ: คุณสามารถบังคับให้จำชนิดไฟล์vimcat -c "set ft=<type>"ได้


12
สิ่งหนึ่งที่ดีมากเกี่ยวกับ vimcat (หรือ vimpager) ก็คือมันจะเคารพ colorcheme ที่คุณกำหนดไว้ในการ~/.vimrcเน้นไวยากรณ์ของคุณดังนั้นจะเน้นเหมือนกันทั้งเมื่อต้องการแก้ไข (vim) หรือพิมพ์ออกมา (vimcat) โปรดทราบว่ารุ่นปรับปรุงของ vimcat สามารถพบได้ในrepositiory vimpager
timss

คำตอบของ Amaynutเก่ากว่าและคล้ายกัน
olibre

vimpagerไม่ได้ใช้สีที่เป็นกลุ่มของฉัน
WhyNotHugo

2
ในการทดสอบตามหลักวิทยาศาสตร์ฉบับย่อของฉันvimcat(1 ~ 2 วินาทีเวลาดำเนินการ) ช้ากว่ามากpymentize(~ 200ms) ซึ่งช้ากว่ามากhighlight(~ 20ms) ซึ่งช้ากว่ามากcat(~ 2ms) บนมืออื่น ๆ , vimcatจัดการไฟล์ประเภทมากขึ้นและมีความถูกต้องมากกว่าhightlightและpygmentizeและมันก็ยังเร็วกว่าครั้งแรกแล้วvim :qดังนั้นจึงได้รับเลือกสำหรับงานเฉพาะนี้
Penghe Geng

1
@olibre คำตอบนี้ดูเก่ากว่า Amaynut
แฟรงคลินหยู

31

เครื่องมือที่คุณกำลังมองหาน่าจะเป็นsupercat (นี่คือคำแนะนำเบื้องต้นที่เผยแพร่โดย Linux Journal)

ฉันรู้ว่าคำตอบนี้มาสายและไม่เป็นไปตามข้อกำหนดของ OP อย่างเต็มที่ ดังนั้นฉันจึงเพิ่มมันเพื่อการอ้างอิงเท่านั้น (มันอาจจะมีประโยชน์สำหรับคนอื่นที่กำลังมองหาวิธีทำให้สีไฟล์ข้อความเป็นสี)


1
ดูเหมือนว่ามันจะไม่ทำงานได้อย่างง่ายดายฉันติดตั้งและใช้ตัวอย่างการตั้งค่า แต่ไม่มีผลต่อสี
rubo77

ดีทุกอย่างช้าเกินไป ดีจัง. สำหรับความช่วยเหลือเกี่ยวกับการกำหนดค่าดูmanpages.debian.org/testing/supercat/spc.1.en.html
okovko

นอกจากนี้สำหรับการกำหนดค่าบางอย่างสำหรับภาษาต่างๆ: github.com/tanderson92/supercat/tree/master/spcrc
okovko

20

มีรุ่น colorized ของแมว - CCAT รับได้จากhttps://github.com/jingweno/ccat/ https://github.com/jingweno/ccat/

การติดตั้งบน Linux / Windows / macOS

มันเป็นไฟล์แบบสแตนด์อโลนเดี่ยวที่สามารถติดตั้งได้คุณสามารถแตกไฟล์ไบนารีรุ่นสำหรับระบบปฏิบัติการของคุณได้จากhttps://github.com/jingweno/ccat/releasesและคัดลอกไบนารีแคทเช่น/usr/local/binไบนารีเช่นการ

ถ้าคุณต้องการหลีกเลี่ยงไบนารีหรือถ้าไม่มีไบนารี่สำหรับแพลตฟอร์มของคุณ (เช่น raspberry pi ฯลฯ ) คุณสามารถสลับการคอมไพล์จากแหล่งที่มาเนื่องจากคุณมีgoสภาพแวดล้อมการพัฒนาที่ใช้งานได้( apt install golangบน linux-based debian หรือbrew install golangmac):

go get -u github.com/jingweno/ccat

ไบนารีจะถูกสร้างขึ้นภายใต้ของคุณccat$GOPATH/bin

การติดตั้งบน Mac ผ่าน homebrew

brew install ccat

นามแฝงถึง cat

หากต้องการแทนที่ปกติcatด้วยการccatเพิ่มใน ~/.bashrc:

alias cat="ccat $*"
alias cat0="/bin/cat $*" # for cases when you need plain `cat`

ccatจะดำเนินการในไปดังนั้นจึงเป็นไบนารีพื้นเมืองที่วิ่งเร็วกว่าโซลูชั่นหลาม-based เช่นpygmentsโมดูลที่อยู่เบื้องหลังpygmentize; ฉันไม่เห็นความแตกต่างที่เห็นได้ชัดระหว่างความเร็วและcatccat


1
ชื่อ repo ที่เหมาะสมคืออะไร? apt-get ccat ใน Ubuntu 16 ให้โปรแกรมการเข้ารหัสบางอย่างและค่อนข้างปิดกั้นเทอร์มินัลของฉันเพราะมันกำลังพยายามเข้ารหัสหรือถอดรหัสไดเรกทอรี proc ทั้งหมดของฉัน ...
Katastic Voyage

@ KatasticVoyage: ฉันไม่ดี: ด้วยเหตุผลบางอย่างที่ฉันคิดว่ามันอยู่ใน repos และฉันลืมว่าฉันได้รับมันในกล่องอูบุนตูของฉัน ดูคำตอบที่อัพเดต
ccpizza

2
ปัจจุบันดูเหมือนว่าbrew install ccatเพียงพอแล้วไม่จำเป็นต้องทำbrew tapอีกต่อไป
Jeff Huijsmans

12

วิธีที่ดีที่สุดและวิธีที่ง่ายที่สุดในการทำหากคุณมี vim ในเครื่องของคุณคือการใช้vimcatซึ่งมาพร้อมกับvimpagerโปรแกรม

  1. ติดตั้ง vimpage ด้วย git clone git://github.com/rkitover/vimpager cd vimpager sudo make install
  2. เรียกใช้ vimcat:

    vimcat index.html


ฉันชอบความคิดนี้ แต่ vimcat เป็นหนึ่งในคนที่ช้ากว่าที่นี่ มันเกี่ยวกับช้าเท่ากับการกลั่น ช้าลงกว่า 15 เท่าและช้ากว่าhighlight3x 3 เท่าbatสำหรับสคริปต์ทุบตี 30 บรรทัดบนเครื่องของฉัน
Ponkadoodle

11

source-highlight

บางทีมันอาจจะเป็นไปได้ที่จะพบที่น่าสนใจsource-highlight ออกภายใต้ GNU : highlightแพคเกจที่แตกต่างจาก

ตัดตอนมาจากapt-cache show source-highlight:

คำอธิบาย - en: แปลงซอร์สโค้ดเป็นเอกสารที่เน้นไวยากรณ์
โปรแกรมนี้ให้ไฟล์ต้นฉบับสร้างเอกสารที่มีการเน้นไวยากรณ์
สนับสนุนการเน้นไวยากรณ์สำหรับไฟล์มากกว่า 100 รูปแบบ ...
สำหรับการส่งออกรองรับรูปแบบต่อไปนี้: HTML, XHTML, LaTeX, Texinfo, ANSI color escape sequencesและ DocBook

ฉันทำนามแฝงบางอย่าง (Cat และ PCat ดูด้านล่าง) และนี่คือผลลัพธ์ของพวกเขา

ตัวอย่างหน้าจอ

คุณสามารถติดตั้งบนเดเบียนด้วย

sudo apt-get install source-highlight

และเพิ่มเป็นนามแฝงเช่นใน.bash_aliasesสิ่งที่คุณต้องการจากบรรทัดด้านล่าง

alias Cat='source-highlight --out-format=esc -o STDOUT -i'  
Cat myfile.c # or myfile.xml ...

หรือคุณสามารถทำนามแฝงที่คล้ายกัน (โดยไม่มี-iที่สิ้นสุดที่จะมีความเป็นไปได้ในท่อ )

alias PCat='source-highlight --out-format=esc -o STDOUT '
tail myfile.sh | PCat     # Note the absence of the `-i`

ในบรรดาตัวเลือกที่เป็นไปได้เพื่ออ่านจากขีดเส้นใต้ว่าเป็นไปได้ที่จะเลือกหรือแรงเน้นโดยบรรทัดคำสั่งหรือที่จะออกไปยังโปรแกรมที่ทำหน้าที่นี้: man source-highlight-s

-s , --src-lang = ภาษาต้นฉบับ STRING (ใช้ --lang-list เพื่อรับรายการทั้งหมด) หากไม่มีการระบุแหล่งที่มาของภาษาจะได้รับการคาดเดาจากนามสกุลของไฟล์

- รายชื่อภาษาทั้งหมดที่รองรับและไฟล์คำจำกัดความภาษาที่เกี่ยวข้อง


1
หากคุณต้องการที่จะยัง Colorize lessกับsource-highlightใครบางคนบนGitHubให้คำตอบ: และexport LESSOPEN="| source-highlight -f esc -i %s -o STDOUT" export LESS=" -R "มีประโยชน์มากเมื่อpygmentizeไม่พร้อมใช้งานและไม่สามารถติดตั้งได้
Lalylulelo

8

จากสิ่งที่ฉันเข้าใจไบนารีเองไม่รับผิดชอบต่อสี มันคือเปลือก

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

จาก man page ดูเหมือนว่า cat ไม่สนับสนุนการแสดงสีของมัน แม้ว่ามันจะให้การสนับสนุนสีเหมือน grep มันควรสีอะไรในไฟล์ข้อความ? การเน้นไวยากรณ์ที่จำเป็นต้องมีความรู้เกี่ยวกับภาษาต้นแบบซึ่งไม่ได้อยู่ในขอบเขตของยูทิลิตี้อย่างง่ายเช่น cat

คุณสามารถลองใช้เครื่องมือแก้ไขที่มีประสิทธิภาพยิ่งขึ้นเช่น vim, emacs, gedit และอื่น ๆ บนแพลตฟอร์ม unix หากเห็นว่าการเน้นโค้ดเป็นเป้าหมายของคุณ


3
catไม่ใช่สำหรับการพิมพ์ไฟล์ที่มีหมายเลขบรรทัดไม่ใช่สำหรับการบีบอัดบรรทัดว่างหลายบรรทัดไม่ใช่สำหรับการดูอักขระ ASCII ที่ไม่ได้พิมพ์ แต่สำหรับการต่อไฟล์” - จากยูนิกซ์สไตล์หรือแมว -v พิจารณาอันตราย
สกอตต์

7

ใน OSX brew install ccatก็ทำ

https://github.com/jingweno/ccat ชอบ cat แต่แสดงเนื้อหาที่มีการเน้นไวยากรณ์ สร้างขึ้นใน Go


ดี มีข้อ จำกัด ทางภาษา แต่ก็รู้สึกได้เร็วกว่า pygments
Gustavo Bezerra

ccatสามารถพบได้ในที่เก็บ AUR ของ Arch Linux ใช้ yaourt หรือ pacaur เพื่อติดตั้งแพ็คเกจ
Marcs


3

คำถามเก่า ๆ เพียงตอบคำถามเพื่อให้คำตอบที่ฉันใช้ บางทีนี่อาจจะเป็นการแฮ็กเล็กน้อย (อาจไม่ใช่เจตนาดั้งเดิมของพารามิเตอร์) แต่:

นามแฝง cgrep = 'grep -C 9000'

แมวอะไรก็ตาม cgrep 'snozzberries'

.. grep -C Nจะจัดเตรียมบรรทัด N ของบริบทด้านบนและด้านล่างของรายการที่พบ หากมันมีขนาดใหญ่กว่าอินพุทก็จะมีทั้งอินพุท ในกรณีนี้เราแค่ตรวจสอบให้แน่ใจว่ามันมีขนาดใหญ่กว่าเอาท์พุทเทอร์มินัลทั่วไปที่เราต้องการตรวจสอบด้วยตนเอง

แก้ไข: อย่างไรก็ตามวิธีการแก้ปัญหาที่แนะนำด้านล่างโดย Beni Cherniavsky-Paskin นั้นเหนือกว่า - ตรงกับ (และไฮไลท์) ทั้งคำที่คุณกำลังมองหาหรือจุดเริ่มต้นของบรรทัด (ไม่สามารถเน้นได้) ผลลัพธ์สุทธิเป็นสิ่งที่คุณต้องการอย่างแท้จริง

cat whatever | egrep 'snozzberries|$'

นั่นเป็นทางออกที่ดีที่สุดที่ฉันเคยเห็นสำหรับปัญหานั้นขอบคุณ Beni


2
วิธีที่มีประสิทธิภาพมากขึ้นเพื่อเน้นรูปแบบในขณะที่รวมทุกบรรทัดคือegrep 'snozzberries|$'
Beni Cherniavsky-Paskin

3

ในคำถามนี้/superuser/602294/is-there-colorizer-utility-that-can-take-command-output-and-colorize-it-accordin grcat / เครื่องมือที่ได้รับการแนะนำให้เป็นทางเลือกในการgrcsupercat

คนของGRCและของgrcat; มันเป็นส่วนหนึ่งของแพ็คเกจ grc ( แหล่งที่มา ):

grc - ส่วนหน้าสำหรับ colouriser ทั่วไป grcat (1)

grcat - อ่านจากอินพุตมาตรฐานให้ระบายสีและเขียนไปยังเอาต์พุตมาตรฐาน


1

ฉันได้เขียนสคริปต์เล็ก ๆ pygmentizeที่จะดำเนินการโดยใช้

colorize_via_pygmentize() {
    if [ ! -x "$(which pygmentize)" ]; then
        echo "package \'Pygments\' is not installed!"
        return -1
    fi

    if [ $# -eq 0 ]; then
        pygmentize -g $@
    fi

    for FNAME in $@
    do
        filename=$(basename "$FNAME")
        lexer=`pygmentize -N \"$filename\"`
        if [ "Z$lexer" != "Ztext" ]; then
            pygmentize -l $lexer "$FNAME"
        else
            pygmentize -g "$FNAME"
        fi
    done
}

จากนั้นสร้างสคริปต์แทน alias cat=colorize_via_pygmentize. นอกจากนี้อย่าลืมที่จะบันทึกใน~ / .bashrc


0

หากคุณต้องการซับในหนึ่งชุดเพื่อตั้งค่าcatเอาต์พุตเป็นสีที่กำหนดคุณสามารถผนวก

alias cat="echo -en 'code' | cat - "

เพื่อคุณ ~/.$(basename $SHELL)rc

นี่คือส่วนสำคัญที่มีรหัสสี: https://gist.github.com/chrisopedia/8754917

ฉันชอบ'\e[1;93m'ซึ่งเป็นสีเหลืองเข้มสูง ดูเหมือนว่านี้:ป้อนคำอธิบายรูปภาพที่นี่


0

เพียงใช้เป็นกลุ่มและไฟล์ vimrcนี้

หนึ่งในสายการบิน:

vim -c '1' -c 'set cmdheight=1' -c 'set readonly' -c 'set nomodifiable' -c 'syntax enable' -c 'set guioptions=aiMr' -c 'nmap q :q!<CR>' -c 'nmap <Up> <C-Y>' -c 'nmap <Down> <C-E>' -c 'nmap ^V <C-F><C-G>' "$@" 

nano -v อาจเป็นทางเลือก


0

วางใน ~ / .bashrc ของคุณ

function ccat() { docker run -it -v "$(pwd)":/workdir -w /workdir whalebrew/pygmentize $1; }

แล้วก็

ccat filename

Whalebrewสร้างนามแฝงสำหรับรูปภาพ Docker เพื่อให้คุณสามารถเรียกใช้ราวกับว่าเป็นคำสั่งพื้นฐาน มันเหมือน Homebrew แต่มีภาพ Docker

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