ลำดับ "การลืมเพื่อเข้าสู่โหมดแทรก" ที่เป็นอันตรายที่สุดในกลุ่ม


10

แกล้งทำเป็นว่าคุณมีไฟล์ข้อความโดยพลการ (ซึ่งคุณสามารถเลือกได้)

ให้ลำดับของการกดแป้นที่เป็นอันตรายที่สุด (*) ถ้ามันตั้งใจจะแทรกลงในข้อความ แต่ถูกป้อนในโหมดปกติแทน (เช่นi/ aไม่ได้กด) คุณไม่สามารถเข้าสู่โหมดภาพและไม่ออกเป็นกลุ่ม

การทำลายล้างถูกกำหนดดังนี้: อัตราส่วนของตัวละครที่ถูกเปลี่ยน / ลบโดยจำนวนการกดแป้นที่จำเป็น
คุณจะได้รับคะแนนโบนัสหากการเปลี่ยนแปลงของคุณไม่สามารถยกเลิกได้ด้วยจำนวนที่uแน่นอน


ตัวอย่าง: ไฟล์อินพุตที่ไม่มีตัวแบ่งบรรทัด ลำดับการป้อนข้อมูล: dfs.


แท็ก [code-golf] หมายถึงตัวละครที่ชนะน้อยที่สุด ความท้าทายของคุณซับซ้อนกว่านั้นดังนั้นฉันจึงเปลี่ยนการติดแท็ก
dmckee --- ผู้ดูแลอดีตลูกแมว

คำตอบ:


3
: 0,0 w 
:r

ซากปรักหักพังทุกอย่างไม่เลิกทำ


1
ฉันไม่เข้าใจว่ามันจะทำลายทุกอย่างได้อย่างไร! เมื่อฉันเรียกใช้สคริปต์นี้มันซ้ำเนื้อหาของไฟล์ของฉันและยกเลิกการทำงานได้ดี! คุณอธิบายได้ไหม ขอบคุณ :)
saeedn

@seedn :0,0 wควรเขียนบรรทัดที่ 0 ถึง 0 และ:rจากนั้นจะอ่าน (ตอนนี้ว่างเปล่า) กลับมาฉันไม่ได้เป็นกลุ่มที่จะทดสอบแม้ว่า
ratchet freak

1
ดีแรกของทั้งหมดที่: 0,0 wเขียนบัฟเฟอร์บางส่วนดังนั้น (ของฉัน) เป็นกลุ่มปฏิเสธที่จะบันทึกไว้ที่ฉันต้องพูดแทนw! wจนถึงตอนนี้ดี:rไม่ได้เปิดไฟล์อีกครั้ง แต่คุณต้องบอกว่า:eจะอ่านไฟล์ใดในระบบไฟล์ อย่างไรก็ตามแม้ว่าจะมีการปรับเปลี่ยนนี้จะเปลี่ยนบัฟเฟอร์ แต่บัฟเฟอร์นั้นห่างไกลจากความว่างเปล่า มันมีบรรทัดแรก (เพราะคุณบันทึก "0,0") อย่างน้อยundoing ไม่ทำงาน
bitmask

3
:set ul=-1
ggdG
:w

เป็นการลบเนื้อหาของไฟล์และบันทึก ไม่สามารถเลิกทำได้เนื่องจากundolevelตั้งค่าเป็นจำนวนลบซึ่งจะปิดการใช้งานการเลิกทำ

แก้ไข: ควรเขียน:g/^/dแทนดีกว่าggdGเพราะในกรณีหลังคุณสามารถใช้p(ใส่) เพื่อย้อนการเปลี่ยนแปลง


ggdGสามารถถูกแทนที่โดย:%d
kenorb

@kenorb ใช่ที่สั้นลง แต่ก็ยังมีปัญหาของการggdGที่สามารถคว่ำโดยใส่ ( p) ดังนั้น:g/^/dดูเหมือนว่ายังคงเป็นตัวเลือกที่ดี :)
saeedn

@seedn :%d_สั้นกว่า:g/^/dและแก้ไขputปัญหาได้เช่นกัน
Rich

นอกจากบริบทที่เป็นไปได้ในการเขียนคำตอบนี้แล้วฉันไม่แน่ใจว่าใครจะพิมพ์การกดแป้นเหล่านั้นโดยบังเอิญโดยคิดว่าพวกเขาอยู่ในโหมดแทรก ;)
Rich

2
:set ul=-1
:%s///g
:r!head -c1G</dev/urandom
:w
  1. ปิดใช้งานเลิกทำ
  2. ลบอักขระ
  3. อ่านข้อมูล 1G จาก / dev / urandom
  4. ประหยัด

ดัดกฎเพราะฉันเพิ่มตัวละคร (ตัวละครที่ไม่ได้อยู่ที่นั่นและในตอนนี้หมายถึงตัวละครที่ถูกเปลี่ยน) ฉันสามารถเพิ่มตัวละครได้มากเท่าที่ฉันต้องการเพื่อให้คะแนนนี้ไม่มีที่สิ้นสุดในทางทฤษฎี


0

5 ไบต์:

:bd!

ตามด้วยการกด Enter

ทิ้งสถานะปัจจุบันของไฟล์ที่คุณแก้ไขจากหน่วยความจำดังนั้นการเปลี่ยนแปลงทั้งหมดที่ไม่ได้บันทึกในไฟล์นั้นจะหายไป หากคุณเปิดไฟล์อื่นไฟล์เหล่านั้นจะไม่ได้รับผลกระทบ สิ่งนี้จะไม่ออกเป็นกลุ่มแม้ว่าคุณจะเปิดไฟล์เพียงไฟล์เดียว

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