VI กับความภูมิใจเล็กๆ

VI คือ "Very Idiot" text editor ที่ผมรู้จักมาตั้งแต่วันแรกๆที่เริ่มใช้ Internet ตอนนั้นยังใช้ Terminal จริงๆ มันไม่ได้แปลว่า very idiot หรอก ผมหาเรื่องไปเอง เหตุเพราะมันใช้ยากเย็น learning curve สูงปรี๊ด ถ้าไม่โดนบังคับให้ใช้ ก็ไม่คิดจะใช้เลย
(บทความนี้ ขอดัดจริต ไทยคำ ฝรั่งคำ เหตุเพราะ technical term เยอะ แปลแล้วจะไปกันใหญ่)

ตามข้อมูลจาก wiki
"vi is a screen-oriented text editor written by Bill Joy in 1976 for an early BSD release."

นั่นคือ VI เป็น text editor ที่เก่าแก่เอาเรื่อง แต่ทำไม VI ถึงยังเป็น choice หนึ่งของ program หลายๆคน

ข้อเสียของ VI
1. ไม่มี menu สำหรับคำสั่งอะไรทั้งสิ้น
2. ใช้ mouse ไม่ได้ ทำให้การย้าย cursor จากจุดหนึ่งไปอีกจุดหนึ่งใน viewport เดียวกัน ต้องใช้แต่ shortkey เรียนให้ทราบว่า arrow key กดบนๆล่างๆซ้ายขวาซ้ายขวา ไม่ได้ทำให้ป้อก 30 ตัว หรือ ย้าย cursor ได้สะดวกอย่างใจคิด บางที terminal type ที่เลือก ก็ทำให้ arrow key ใช้ไม่ได้
3. ต้องจำ หรือ มีโพย shortkey ไว้ข้างๆ ในกรณีที่ยังใหม่กับ VI
4. การ save file ไม่มีการ browse หน่าจ๊า ใส่ full path เท่านั้น
5. ถ้าเกิดคลั่งจากการเขียนโปรแกรม แล้วเอามือฟาดๆๆๆ keyboard ตามการกระตุ้นจากฮอร์โมนจากต่อมไร้ท่อ อาจทำให้ลบทุกบรรทัดใน file แล้ว save ไปโดยไม่ตั้งใจ ยังความฉิบหายมาสู่เครือญาิติ เพราะผู้คลั่งนั้น ต้องรับผิดชอบเขียนใหม่ ทำให้พ่อแม่พี่น้อง ต้องรอไอ้คลั่งนี้เรียนจบช้าลงไปอีกสองวัน

ข้อดีของ VI ในข้อเสีย มีความดีซ่อนอยู่
1. ไม่มี menu อะไรทั้งสิ้น ทำให้พื้นที่ใช้งานเต็ม 100% เหมือน View Finder ของกล้องไม่มี pop-up flash คุ้มค่าทุก pixel
2. ใช้ mouse ไม่ได้ นี่จริงแล้วเป็นข้อดี การเขียนที่ไม่ต้องย้ายมือไปจับ mouse นั้น ทำให้งานเร็วขึ้นมากมาย มากจริงๆ แม้ยุคนี้ จะไม่ต้องกังวลกับลูกกลิ้ง mouse ที่สกปรกโสโครก ต้องถอดมาขูดๆ ให้มันกลิ้งได้ดั่งใจ optical mouse ก็ยังมีปัญหากับผิวสัมผัสที่หักเหแสง เช่นบนโต๊ะที่มีกระจกเป็นผิวหน้า แล้วทำตัวเหมือนเลนส์หักเหแสงชั้นดี ยังความรำคาญมาสู่การเล็ง cursor ให้แม่นยำเวลาเล่นเกม FPS
3. คำสั่งต่างๆ ถ้าจำได้แล้ว มันช่างรวดเร็วในการใช้งานเหลือหลาย อยาก save ก็ ESC->:->w ให้ลาก mouse ไปกด file save นี่ ช้ากว่าแน่นอ (หมายเหตุ ห้ามกด CTRL+S เพราะจำ freeze terminal หน่าจ๊า ถอน freeze ไม่เป็น จะพาลต้องปิด terminal เสียเวลาอีก ถอนด้วย CTRL+Q)
4. ...... ข้อนี้ เอามาตีแตกไม่ได้ ผ่าน!
5.........อันนี้ก็ไม่ใช่ประเด็นของ VI เหตุเพราะคุณควรครองสติให้อยู่ :P
6. เป็น editor ที่มีในทุกตระกูลของ *NIX (แม้คนไทยจะอ่าน LINUX ว่า ลินุกซ์ แต่ผมได้ยินฝรั่งมันอ่านว่า ลินิกส์ตลอด) ใน distribution ดั่งเดิมของ *NIX จะมี text editor สุดหรูนี้ให้คุณใช้เสมอ เริ่มต้นแก้ไข configuration ของ OS ก็ต้องมาสะใจกับการใช้ VI ก่อน กว่าจะ config เสร็จ สำหรับผู้ที่ไม่ชำแนว
7. มี verion สำหรับ Windows สำหรับผู้ที่ mouse ไม่สมประกอบ ผมยังหาเหตุผลดีๆของการใช้ VI บน Windows ไม่ได้ เมื่อมี Text editor สุดล้ำมากมายให้ใช้

ถึงวันนี้ จากวันแรกที่รู้จัก VI แล้วได้แต่ด้อมๆมองๆ ไม่กล้า่ใช้ เพราะกลัวมึนกับ shortkey ผมก็ได้เข้าถึงมันจนได้ รู้สึกเหมือนชนะอะไรบางอย่าง กร้ากส์!!!

เพื่อให้เห็นภาพว่า VI ใช้งานอย่างไร ขอเชิญพบกับ
vi Complete Key Binding List http://hea-www.harvard.edu/~fine/Tech/vi.html

Comments