เปิดตัว Vim Racer
(vim-racer.com)- Vim Racer เป็นเกมออนไลน์ที่ให้ผู้เล่นไปยังตำแหน่งเป้าหมายในข้อความอย่างรวดเร็วด้วยคำสั่งการเคลื่อนที่ของ Vim และช่วยฝึกแบบแข่งขันทำเวลาโดยบันทึกความชำนาญในการใช้คำสั่ง
- ทุกครั้งที่ไปถึงเป้าหมาย เป้าหมายถัดไปจะปรากฏขึ้น และผู้เล่นจะลงแข่งแบบ 12 เป้าหมายโดยผสม คำสั่งการเคลื่อนที่ของ Vim เช่น
w,3j - หากเปิดการตั้งค่า relative lines จะฝึกการย้ายตำแหน่งโดยอิงเลขบรรทัดสัมพัทธ์ได้ง่ายขึ้น ช่วยลดการต้องพิมพ์เลขบรรทัดแบบค่าสัมบูรณ์ที่ยาวในไฟล์ขนาดใหญ่
- ลีดเดอร์บอร์ดปฏิเสธ สถิติที่ต่ำกว่า 1 วินาที เพื่อวัดความสามารถในการนำทางด้วยตนเอง และยังจำกัดการเปลี่ยนชื่อผู้ใช้ไว้ที่หนึ่งครั้งต่อ 1 ชั่วโมง
- สามารถดูการกดคีย์ของผู้ทำคะแนนสูงและเคล็ดลับรายสนามแข่งได้ ทำให้ใช้งานเป็น สื่อการเรียนรู้การเคลื่อนที่ใน Vim ได้มากกว่าแค่เกมอย่างเดียว
เกมวัดความเร็วด้วยคำสั่งการเคลื่อนที่ของ Vim
- เป้าหมายของ Vim Racer คือการเคลื่อนที่ไปยังเป้าหมายทั้งหมดให้เร็วที่สุด
- เมื่อไปถึงเป้าหมาย เป้าหมายถัดไปจะปรากฏขึ้น
- เป้าหมายจะแสดงเป็น
A - สามารถใช้คำสั่งการเคลื่อนที่ของ Vim ได้ทั้งหมด ดังนั้นเวลาที่เร็วมากจึงขึ้นอยู่กับการเลือกใช้คำสั่งเคลื่อนที่ที่มีประสิทธิภาพอย่างมาก
- หากต้องการเริ่มการแข่งขัน ให้คลิก reset
- หลังคลิก โฟกัสของเบราว์เซอร์จะย้ายไปที่ตัวแก้ไข ทำให้สามารถใช้คำสั่งการเคลื่อนที่ของ Vim เช่น
wได้ทันที
- หลังคลิก โฟกัสของเบราว์เซอร์จะย้ายไปที่ตัวแก้ไข ทำให้สามารถใช้คำสั่งการเคลื่อนที่ของ Vim เช่น
- บนหน้าจอปัจจุบันจะแสดง
Race Level: 12 Targets (Burn Detector),Race Mode: Standard,Navigations: 0/12 - รับข้อเสนอแนะผ่านคอมมูนิตี้ Reddit
การตั้งค่าและข้อจำกัดในการดำเนินงาน
- สามารถเปิด relative lines ได้จากการตั้งค่าที่ไอคอนรูปเฟืองมุมซ้ายบนของตัวแก้ไข
- มีประโยชน์เมื่อชอบวิธีใส่จำนวนการย้ายแบบสัมพัทธ์ไว้หน้าคำสั่ง เช่น
3j - ในไฟล์ขนาดใหญ่ อาจเร็วกว่า
1230gg - ตัวอย่างการตั้งค่าในเครื่องคือแสดงเลขบรรทัดแบบค่าสัมบูรณ์เฉพาะบรรทัดที่เคอร์เซอร์อยู่ และใช้เลขบรรทัดสัมพัทธ์กับบรรทัดอื่น
- มีประโยชน์เมื่อชอบวิธีใส่จำนวนการย้ายแบบสัมพัทธ์ไว้หน้าคำสั่ง เช่น
- เงินบริจาคตอนนี้ถูกนำไปใช้กับการอัปเกรดเซิร์ฟเวอร์และฐานข้อมูลของ vim-racer
- ฐานข้อมูลปัจจุบันคือ DynamoDB
- DynamoDB มี free tier ที่เหมาะกับการเริ่มต้นเว็บไซต์เล็ก ๆ แต่มีข้อจำกัดด้านความสามารถแลกกับความคุ้มค่าด้านต้นทุน
- เป้าหมายหลักตอนนี้คืออัปเกรดไปใช้ฐานข้อมูล SQL โดยค่าใช้จ่ายของอินสแตนซ์ขนาดเล็กที่สุดอยู่ที่ราว 100 ดอลลาร์ต่อปี
- เงินบริจาคก่อนหน้านี้กำลังถูกนำกลับไปลงทุนในแหล่งรายได้ประจำของ vim-racer
- ผู้บริจาคคนแรกคือ ThePrimeagen
ลีดเดอร์บอร์ดและการนำไปใช้เพื่อการเรียนรู้
- ลีดเดอร์บอร์ดปฏิเสธ สถิติที่ต่ำกว่า 1 วินาที
- ผู้ใช้
howแสดงให้เห็นว่าสถิติต่ำกว่า 2 วินาทีก็อาจสมเหตุสมผลได้ - เกมนี้ต้องการวัดว่าผู้ใช้สามารถนำทางในข้อความด้วยตนเองได้ดีแค่ไหน
- สถิติ
<20msแสดงถึงทักษะการใช้ Vim แต่ไม่สอดคล้องกับเจตนาของเกม - ในอนาคตอาจมีทั้งการปรับรูปแบบเป้าหมาย รวมถึงประเภทเกมอื่น หรือกระดานคะแนนแบบ capped/uncapped
- ตอนนี้ทรัพยากรการพัฒนายังจำกัด จึงมุ่งเก็บคะแนนบนลีดเดอร์บอร์ดจากการนำทางล้วน ๆ
- ผู้ใช้
- ชื่อผู้ใช้สามารถเปลี่ยนได้เพียง หนึ่งครั้งต่อ 1 ชั่วโมง แทนการสร้างบัญชีเต็มรูปแบบ
- ข้อจำกัดนี้มีไว้เพื่อป้องกันไม่ให้ลีดเดอร์บอร์ดถูกถมจนมากเกินไป
- Vim Racer ยังสามารถใช้เพื่อ เรียนรู้การเคลื่อนที่ใน Vim ได้ด้วย
- การแข่งขันแต่ละประเภทมีเคล็ดลับสำหรับเรียนรู้เส้นทางการเคลื่อนที่ไปยังเป้าหมายอย่างมีประสิทธิภาพ
- แต่ละรายการในลีดเดอร์บอร์ดมีการกดคีย์ที่ผู้ทำคะแนนสูงใช้รวมอยู่ด้วย
- ผู้ใช้สามารถวิเคราะห์ลำดับคีย์เหล่านั้นเพื่อเรียนรู้คำสั่งการเคลื่อนที่ใหม่ ๆ ของ Vim และพัฒนาทักษะการนำทางของตนเอง
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ทำเวลาเลเวล jpeg ได้ 17 วินาที และมีชื่อขึ้นบนตารางอันดับ เกมแบบแข่งขันนี้สนุกมากจริง ๆ
ผมเล่นโดยขยับไปยังตำแหน่งที่กำหนดตามสัญชาตญาณโดยไม่ได้ปรับให้เหมาะที่สุด ก็ยังสนุก และโดยเฉพาะ ฟีเจอร์ที่แสดงกระบวนการเคลื่อนที่ของการเล่นบนตารางอันดับ ก็ดูมีประโยชน์ในฐานะสื่อการเรียนรู้ด้วย
แต่ในอันดับต้น ๆ มีสถิติ 1 วินาที ซึ่งต่ำกว่า 0.05 วินาทีต่อการเคลื่อนที่หนึ่งครั้ง ดูไม่น่าเป็นไปได้สำหรับมนุษย์ น่าจะใช้สคริปต์ป้อนอินพุต และอินเทอร์เฟซนี้คงกันได้ยาก ดังนั้นถ้าจัดอันดับตามจำนวนการกดปุ่มแทนเวลาที่ใช้ คนที่ขึ้นไปด้านบนจะไม่ใช่คนที่เร็วที่สุด แต่เป็นคนที่มีประสิทธิภาพที่สุด และการโกงด้วยสคริปต์ก็น่าจะมีความหมายน้อยลง
%หรือเปล่า ผมทำแบบไม่เก่งยังลงไปได้ถึง 6.5 วินาทียอดเยี่ยมจริง ๆ
ถ้ามีโหมดที่ ลดจำนวนการกดปุ่มให้น้อยที่สุด แทนความเร็วคงดี แบบนั้นสิ่งที่แข่งกันจะเป็นวิธีแก้ปัญหาที่เหมาะที่สุดแบบ Vim golf ไม่ใช่การรัว hjkl ให้เร็ว
มีบั๊กง่าย ๆ อย่างหนึ่งคือในตารางอันดับ อักขระ
`แสดงเป็น “Unsupported” เห็นชัดเป็นพิเศษเวลาตาม Duff's device ที่ใช้มาร์กน่าจะประมวลผลโดยอิงจาก รายการอนุญาต อยู่ เพิ่มเข้าไปตรงนั้นก็น่าจะได้
เกมที่เริ่มแล้วหยุดไม่ได้
:qเข้าไปก็ได้สนุกมาก อยากรู้ว่ามี เกม Vim แบบนี้อีกไหม
อยากใช้ Vim มาตลอด แต่เป็นผู้ใช้ evil mode ของ Emacs เลยยังไม่เร็วเท่าไร
ดูเหมือนเว็บไซต์จะพังตรงไหนสักอย่าง ทำอะไรก็ไม่ตอบสนอง ลองทั้ง Chrome และ Firefox แล้ว
เมื่อก่อนสลับเวอร์ชันได้ลื่น แต่ตอนนี้ต้อง invalidate แคชเอง ดูเหมือนเกิดเฉพาะบาง deployment
เจ๋งมาก แต่พอลบแถวที่โปรแกรมจะตั้งเป็นเป้าหมายในขั้นตอนถัด ๆ ไปแล้ว แครช
อย่างไรก็ขอบคุณที่แจ้งมา ช่วยให้จัดลำดับความสำคัญได้
ฟีเจอร์ที่ให้ดูผ่านตารางอันดับว่าคนอื่นทำอย่างไรมีประโยชน์มาก
อยากลองเล่นดู แต่ เลขบรรทัดตามเคอร์เซอร์ไปด้วย ดูเหมือนบั๊ก หรือผมพลาดอะไรไป? ผมไม่ได้ใช้ Vim มากนัก แต่ปกติถึงจะช้าก็น่าจะขยับได้
ลองทั้ง Chrome และ Firefox แล้ว
ฟีดแบ็กนี้ช่วยดันงานนี้ให้มีความสำคัญสูงขึ้น
set rnuสะดวกมากสำหรับการเคลื่อนที่แบบสัมพัทธ์อย่าง
5jหรือ12k:)สนุกดี ถ้าเพิ่ม การแสดงจำนวนการกดปุ่ม และโหมดที่ต้องลดจำนวนการกดปุ่มให้น้อยที่สุดแทนการไปให้เร็วขึ้น คงยอดเยี่ยม
ในคำอธิบายเกมก็ควรทำให้ชัดเจนขึ้นด้วยว่า “target” คืออะไร
เรื่องจำนวนการกดปุ่มยังลังเลอยู่ เพราะอยากให้โฟกัสของเกมนี้อยู่ที่ ความเร็ว จริง ๆ VimGolf ทำปริศนาและสถานการณ์แบบนั้นได้ดีอยู่แล้ว และจุดต่างของที่นี่คือความเร็ว
แทนที่จะทำแบบนั้น อยากลองวิเคราะห์ข้อมูลการกดปุ่ม เช่น อาจพบว่า
wwwเร็วกว่าfก็ได้ สมมติฐานแรกคือการค้นหาด้วยfและFไม่ได้มีประสิทธิภาพกว่าการเคลื่อนที่ทั่วไปอย่างw,e,h,jแต่ดูเหมือนจะผิดไปแล้ว อย่างไรก็ตามคงต้องพูดประมาณว่า “ผู้เล่นอันดับต้น ๆ จำนวนมากใช้fและF” ซึ่งอาจหมายความว่าพวกเขาเร็ว หรืออย่างน้อยปุ่มเหล่านั้นก็ไม่ได้เสียเปรียบมากแม้สิ่งนี้จะไม่เหมือนความเร็วล้วน ๆ แต่เมื่อเทียบกับเอดิเตอร์อื่น มันนำไปสู่ความสบายในการใช้งาน และสำคัญมากต่อประสบการณ์การพิมพ์
เป็นเกมห่วย ๆ แต่แสดงให้เห็นอย่างหนึ่งได้ดีว่า การเคลื่อนที่ใน Vim ที่ไม่มี Easymotion ก็เหมือนแข่งด้วยการเดิน ไม่ใช่รถแข่ง