Vim เป็นตัวแก้ไขข้อความที่ยอดเยี่ยมสำหรับระบบยูนิกซ์ แต่มันก็มีชื่อเสียงในเรื่องยากที่จะออก
เขียนโปรแกรมเต็มรูปแบบที่จะส่งออก:q
เพื่อออกเป็นกลุ่ม จากนั้นคุณควรอ่านอินพุตหนึ่งบรรทัดเนื่องจากจะได้รับพร้อมต์ bash ซึ่งในกรณีที่การออกสำเร็จหรือข้อผิดพลาดซึ่งในกรณีที่มีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก
bash prompt จะเป็นดังนี้:
E37@vimmachine: /var/override)
ในขณะที่ข้อผิดพลาดจะเป็นดังนี้:
E37: No write since last change (add ! to override)
เมื่อได้รับพรอมต์ bash งานของโปรแกรมจะเสร็จสิ้นและไม่ควรให้เอาต์พุตใด ๆ เพิ่มเติม (ยกเว้นช่องว่าง)
เมื่อได้รับข้อผิดพลาดโปรแกรมของคุณควรสุ่ม (เช่นความเป็นไปได้แต่ละอย่างมีความน่าจะเป็นไม่เลือกศูนย์) :q!
เพื่อออกโดยไม่บันทึกหรือ:x
เพื่อบันทึกและออก
นี่คือโค้ดกอล์ฟที่มีจำนวนน้อยที่สุดในแต่ละภาษาที่ชนะ!
E37: No write since last change
อะไร? นั่นคืออัลกอริทึมสามารถแยกแยะพรอมต์จากข้อความแสดงข้อผิดพลาดได้อย่างไร
E37@vimmachine: /var/override)
:x
เพื่อออกเป็นกลุ่ม สักวันคุณจะกด:X
ปุ่มสุ่มโดยไม่ตั้งใจเมื่อคุณสับสน หลังจากนั้นในที่สุด:wq
คุณจะไม่เห็นไฟล์ของคุณอีก
:x
เป็นเรื่องอะไร! ฉันใช้เสมอ:wq
:)