มีวิธีการทุบตีเพื่อเน้นไวยากรณ์เหมือนปลาหรือไม่


36

ใน ตู้ปลา บรรทัดคำสั่งจริงคือการเน้นไวยากรณ์:

enter image description here

มีวิธีใดบ้างที่จะทำให้เกิดพฤติกรรมแบบเดียวกันนี้ได้

นั่นคือ บางอย่างเช่นนี้ แต่สำหรับ zsh อย่าทุบตี เป็นไปได้ไหมที่สิ่งนี้สามารถรังเพลิงเพื่อทุบตี?

หากต้องการอธิบายให้ชัดเจนสำหรับผู้ที่ไม่เข้าใจภาพหน้าจอคำอธิบายหรือลิงก์ที่ให้: ฉันต้องการเน้นข้อความจริงที่ป้อนไว้ที่เครื่อง คำสั่งวงเล็บคำพูด ฯลฯ


อย่าคิดว่า bash ยอมรับปลั๊กอินอย่างที่ zsh ทำดังนั้นจึงอาจต้องมีการสร้างแบบกำหนดเองของ bash shell / binary เหตุผลใดที่ไม่เพียงแค่ใช้ปลาแทน? ขอบคุณสำหรับการชี้ให้ฉันไปที่กระสุนอีกนัดเพื่อดูว่าฉันสามารถเรียนรู้คุณสมบัติขั้นสูงของฮ่าฮ่าได้ไหม
Matrix Mole

1
@ Matrix: ฉันไม่สามารถใช้ปลาเพราะฉันมีการกำหนดค่าทุบตีที่ซับซ้อนมากที่ฉันไม่สามารถยอมแพ้
Wuffers

น่าเสียดายที่ฉันไม่คิดว่าจะเป็นไปได้ในการทุบตี ฉันแน่ใจว่าการวิจัยที่คุณได้ทำไปนั้นก็เช่นกัน หากคุณไม่สามารถเปลี่ยนไปใช้ zsh อย่างแน่นอนแสดงว่าเข้าใจได้ แต่คุณอาจต้องการดู fizsh ซึ่งรวมคุณสมบัติคล้ายปลาไว้ใน zsh แม้ว่าจะไม่ได้รับการอัปเดตตั้งแต่เดือนกุมภาพันธ์ดังนั้นบางทีลิงก์ไฮไลต์ zsh-syntax ที่คุณให้อาจมีประสิทธิภาพมากกว่า
voithos

สิ่งนี้จะเป็นประโยชน์อย่างมากสำหรับการเรียนรู้การทุบตีเนื่องจากมันช่วยให้สามารถเล่นได้หลายวิธี เพียงแค่เล็งเห็นได้อย่างง่ายดายว่าคุณลืมที่จะหลบหนีตัวละครพิเศษจะมีค่า
Sirap

คำตอบ:


8

ทุบตีใช้ readline สำหรับอินพุตแบบอินเทอร์แอกทีฟดังนั้นการเน้นไวยากรณ์จะต้องนำไปใช้ในโปรแกรม ฉันพบ การสนทนาของ Google Groups เกี่ยวกับวิธีการรหัสคุณลักษณะดังกล่าว

เปลือกปลาใช้ ด้วยตัวเอง ตัวแก้ไขบรรทัดที่เฉพาะเจาะจงสำหรับโปรแกรมนั้นและไม่สามารถย้ายพอร์ตได้โดยตรง

คุณอาจพบว่า zsh คล้ายกับทุบตีและตัวแก้ไขบรรทัดคือ ขยาย . ฉันพบ zsh-ไวยากรณ์เน้น เพื่อเปิดใช้งานคุณสมบัตินี้ใน zsh


0

ฉันไม่คิดว่าการเน้นไวยากรณ์ควรเกิดขึ้นที่ระดับเชลล์ แต่ในระดับอินเทอร์เฟซ ของคนอื่น ดูเหมือน -) ดังนั้นฉันจะดูเป็น "ปลั๊กอิน" สำหรับ Terminal หรือคอนโซลโปรดของคุณเช่น ปลั๊กนี้ ในสำหรับเคทอาจช่วยหรือ อันนี้อีกอัน ซึ่งมีการเน้นไวยากรณ์ในนาโน

ที่นี่ ยังคงพูดถึงวิธีการเน้นไวยากรณ์ในเทอร์มินัล:

เพิ่มนามแฝง ls = 'ls -G' ไปยัง. bash_profile

แม้ว่า ที่นี่ ดีกว่าอธิบายวิธีการ

หวังว่ามันจะช่วย


9
ดูเหมือนว่าคุณกำลังตอบวิธีตั้งค่าการเน้นไวยากรณ์ในโปรแกรมแก้ไขไม่ใช่ในเชลล์ ls-colorization ไม่ได้เน้น "ไวยากรณ์"
Kyle Strand

ฉันคิดว่าคุณกำลังมุ่งเน้นไปที่ความหมายมากกว่าในการแก้ปัญหาด้วยรหัสจากลิงก์และวิธีแก้ปัญหาที่แนะนำฉันได้รับสีเป็นทุบตี
Purefan

8
คำถามเดิมค่อนข้างชัดเจนเกี่ยวกับการเน้นไวยากรณ์จริง นี่แสดงให้เห็นทั้งภาพหน้าจอของ fish shell และประโยคสุดท้าย: "ฉันต้องการเน้นข้อความจริงที่ป้อนที่เทอร์มินัลคำสั่งวงเล็บคำพูด ฯลฯ "
Kyle Strand

7
อย่างที่ฉันพูดไปมันไม่ใช่การไฮไลต์ "ไวยากรณ์" สิ่งเหล่านั้นกำลังเน้นผลลัพธ์ของ ls คำสั่งขึ้นอยู่กับประเภทของไฟล์ซึ่งไม่มีอะไรจะทำอย่างไรกับไวยากรณ์เปลือก
Kyle Strand

1
Zsh ( github.com/zsh-users/zsh-syntax-highlighting ) และปลา ( fishshell.com/docs/current/tutorial.html ) ทั้งคู่มีการเน้นไวยากรณ์คำถามนี้ถามชัดเจนเกี่ยวกับคุณสมบัติที่คล้ายกันสำหรับทุบตี มันเป็นคำขอที่ถูกต้องสมบูรณ์ในการขอคุณสมบัติที่ "ใช้งานได้ยากและรักษาความสอดคล้อง" โดยเฉพาะเมื่อมีอยู่แล้วในเชลล์อื่น
Brandon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.