หนึ่งในสกิลที่ถ้ามองย้อนกลับไปแล้วรู้สึกว่าคุ้มดีที่ได้ฝึกก็คือการ “ฝึกใช้ VIM”
แบบใครใช้คล่อง ๆ นี่สามารถ coding at a speed of thought ของจริง แล้วด้วยความที่มันเป็น text editor ตอนนี้เราก็ใช้เขียน content บน Obsidian ไปด้วยเลย ..สะดวกไปอีกก
โพสนี้ไม่ได้จะมาสอนวิธีใช้นะ (มี content ดี ๆ สอนวิธีใช้เยอะมาก) แต่อยากมาแชร์ว่าตอนนั้นทำไมเราถึงฝึก VIM แล้วฝึกยังไง เผื่อใครอยากจะไปลองบ้าง
ย้อนกลับไปเมื่อ 6-7 ปีที่แล้ว ยอมรับเลยว่าเหตุผลที่ฝึก VIM เพราะว่า “ความเท่”
…ใช่ครับ มันเท่ 😆
แบบเขียนโค้ดเร็ว ๆ แบบไม่ใช้ mouse อะไรแบบนั้น ด้วยความเบียวนี้เลยตัดสินใจลง VIM ใน VSCode มาลองเล่นดู
แน่นอนเลยความรู้สึกแรกคือความน่าหงุดหงิด แบบจะทำอะไรก็ลำบากไปหมด แถมก็ไม่รู้เลยว่าใช้ไปเท่าไหร่กว่าจะคล่อง (รู้เลยอีกไม่นานน่าจะลบทิ้ง)
สุดท้ายเราเลยตั้งกฏให้ตัวเองว่า “ฝึกใช้ให้ได้ 1 command ต่อวัน”
ง่าย ๆ แค่นี้เลย ส่วนอันไหนที่เรายังไม่ได้ฝึกก็ fallback ไปที่ insert mode แล้วก็ใช้ mouse คลิก ๆ ลาก ๆ เหมือนเดิม
วันแรกก็เริ่มจาก toggle insert/command mode, move cursor วันที่สองก็ค่อย ๆ move ไปที่ first of line/end of line แล้วก็ค่อย ๆ เพิ่ม command แบบ c, d, p หรือ combo อย่าง ciw, ci{ อะไรแบบนี้เข้ามา
(อาจจะเริ่มจากสังเกตตัวเองว่าทำอะไรบ่อย แล้วหา command ที่มันช่วยจัดการตรงนั้นให้เราได้)
กลายเป็นว่าผ่านไปอาทิตย์นึงก็เริ่มชินแล้ว แล้วพอชินก็ใช้ยาวเลย (ปัญหาใหม่ก็คือเวลาจะไปใช้เครื่องคนอื่นจะรู้สึกหงุดหงิด 😆
ส่วนตัวเรารู้สึกว่าวิธีนี้เป็นวิธีการฝึก VIM ที่ธรรมชาติมาก ๆ เราไม่ต้องฝืนอะไร แล้วพอเวลาผ่านไปเรื่อย ๆ เราก็จะได้ combo ใหม่ ๆ หรือได้รับพลังใหม่ ๆ ที่ทำให้เราสามารถเขียนโค้ดได้ไวขึ้น
มาถึงตอนนี้ก็ใช้ VIM มาได้ 6-7 ปีได้แล้ว
ยังไงก็ตาม VIM มันสามารถ config อะไรได้อีกเยอะมาก แล้วก็มีอีกหลาย command เลยที่ตอนนี้เราก็ยังไม่เคยหยิบมาใช้; ไว้ปีหน้าจะอยากกลับมาเข้าโหมด learn VIM อีกซักรอบเหมือนกัน
สุดท้ายนี้ใครที่ใช้ VIM อยากให้มาแชร์กันนะครับ ทำไมถึงเริ่มฝึก VIM แล้วใช้มาสักพักแล้วเป็นยังไงกัน มา comment แชร์กัน~