เป็นกลุ่มเพื่อพิมพ์ไฟล์บนเทอร์มินัลและออก


12

ฉันต้องการให้กลุ่มทำเช่นนี้เพื่อให้มีการเน้นไวยากรณ์ตามที่ตั้งค่าเป็นกลุ่ม (หรือไม่จำเป็นต้องใช้เครื่องมือเพิ่มเติม) ดังนั้นแทนที่จะใช้ผมจะใช้cat file | <some_sh_tool> vim +"some_opts" +"..." +q fileปัญหาคือเสียงเรียกคืนหน้าจอก่อนหน้าเมื่อออก แต่ใช้เครื่องมือการเข้าถึงระยะไกลนี้ไม่ได้เกิดขึ้นดังนั้นโดยทั่วไปมันทำงานเหมือน cat กับเน้นไวยากรณ์

เป็นไปได้ไหม

แก้ไข

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


2
ใช้หน้าจอ GNU
jordanm

1
ไม่เหมือนกันทุกประการคุณไม่สามารถใช้ภายในสคริปต์ได้นอกจากนี้บางครั้งคุณไม่สามารถเลือกได้
majkinetor

1
สำเนาซ้ำที่เป็นไปได้: stackoverflow.com/questions/13408134/…
echristopherson

คำตอบ:


9

คุณสามารถปิดการใช้งานหน้าจออื่นโดยบอกว่ารหัสเพื่อเปิดใช้งานสำหรับเทอร์มินัลนี้คือสตริงว่างเช่น:

vim --cmd 'set t_ti= t_te=' ...

แต่คุณจะพบว่าคุณต้องการมากขึ้น ลอง:

vim --cmd 'set t_ti= t_te=' +redraw +q file

เป็นการเริ่มต้น


อาจจ่ายเพื่ออธิบายวิธีสร้างนามแฝงสำหรับคำสั่งสุดท้าย
cjh

@cjh: ขึ้นอยู่กับเชลล์ของผู้ใช้
Bananguin

1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'จากนั้นก็วิ่งไปcatx infile
ราหุลปาติล

คุณยังอาจต้องการเพิ่มก่อน+"colo colorscheme" +redraw
เตอร์

2
ไม่ดี. มันจะแสดงหน้าแรกและออก ฉันต้องการมันเพื่อแสดงทุกบรรทัด การเพิ่ม + $ ก่อนการวาดใหม่จะแสดงหน้าแรกและหน้าสุดท้ายเท่านั้น
majkinetor

2

คุณอาจต้องการดูenscript- มีลักษณะการเน้นไวยากรณ์สำหรับภาษาสองภาษาและมีวัตถุประสงค์เพื่อใช้เป็นตัวกรองและผลลัพธ์ไม่ จำกัด เพียงลำดับการจัดรูปแบบการหลบหนีของ ANSI - นอกจากนี้ยังสามารถส่งออก PostScript, HTML หรือ RTF


1
ฉันได้ตั้งค่าเสียงในแบบที่ฉันต้องการอยู่แล้ว - สีภาษาอื่น ๆ ... คุณสมบัติบางอย่างสำหรับภาษาที่หายากนั้นเป็นแบบกำหนดเอง - Csound, AutoHotKey, ฯลฯ ... ฉันไม่เคยเขียนไฟล์กำหนดค่าสำหรับเครื่องมืออื่นอีก
majkinetor

@ majkinetor แน่นอนทุกอย่างขึ้นอยู่กับว่าคุณต้องการใช้เพื่ออะไร
เตอร์

2

ผมพบว่าสิ่งที่ฉันต้องการในแพคเกจที่เรียกว่าvimpager

มันมาพร้อมกับยูทิลิตี้ vimcat

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