วิม

จากวิกิพีเดีย สารานุกรมเสรี
Vim
นักพัฒนาแบรม มูลีนาร์ และคนอื่น ๆ
รุ่นเสถียร
7.4 / 10 สิงหาคม พ.ศ. 2556
ที่เก็บข้อมูล
ระบบปฏิบัติการลีนุกซ์, แมคโอเอสเท็น, ยูนิกซ์, ไมโครซอฟท์วินโดวส์
ประเภทเอดิเตอร์
สัญญาอนุญาตให้ผู้ใช้บริจาคเพื่อสาธารณะกุศล
เว็บไซต์http://www.vim.org

Vim หรือ วิม ย่อมาจาก Vi IMproved เป็นซอฟต์แวร์เสรี สำหรับเอดิเตอร์สำหรับแก้ไขไฟล์ มีรากฐานการพัฒนามาจากโปรแกรม vi ที่มีอยู่เดิม สามารถทำงานบนระบบปฏิบัติการหลายๆ ตัว Vim ถูกพัฒนาโดย แบรม มูลีนาร์ (Bram Moolenaar) ออกเผยแพร่เป็นครั้งแรกในปี พ.ศ. 2534 นับตั้งแต่นั้นมามีการเพิ่มเติมขีดความสามารถให้กับ Vim ความสามารถหลายอย่างออกแบบมาให้เป็นประโยชน์ในการแก้ไขซอร์สโค้ดโปรแกรม Vim ถูกออกแบบสำหรับทั้ง command line interface และ graphical user interface

โดยดังเดิม Vim ทำงานบนระบบปฏิบัติการ อะมีกา เท่านั้น จนกระทั่งมีการพัฒนา สนับสนุนการทำงานบนระบบปฏิบัติการหลายๆ ตัว ในปี พ.ศ. 2549 Vim เคยถูกโหวตให้เป็นหมวดหมู่เอดิเตอร์ยอดนิยมในนิตรยสาร Linux Journal

เรียนรู้การใช้ Vim[แก้]

Vim ถือเป็นโปรแกรมที่เรียนรู้ยากตัวหนึ่ง แต่ถ้าผู้ใช้จับหลักการพื้นฐานได้ ก็สามารถใช้งานได้คล่องตัวขึ้นมาก เพื่อช่วยให้เรียนรู้เร็วขึ้น จึงมีโปรแกรมสอนวิธีใช้ Vim โดยการพิมพ์คำสั่ง vimtutor บนบรรทัดคำสั่งในยูนิกซ์ หรือคลิกบนไอคอน Vim tutor บนวินโดวส์ นอกจากนี้ภายใน Vim เองก็มีคู่มือการใช้งานโดยละเอียดซึ่งปรากฏบนจอโดยการพิมพ์คำสั่ง :help user-manual ภายใน Vim

ผู้ใช้ยังสามารถอ่าน ระบบขอความช่วยเหลือ โดยการพิมพ์คำสั่ง :help

โหมดการแก้ไข[แก้]

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

Vim มีโหมดพื้นฐานอยู่ 6 โหมด และแยกย่อยจากโหมดพื้นฐานได้อีก 5 โหมด

โหมด normal[แก้]

โหมด normal เป็นโหมดที่สามารถพิมพ์คำสั่งต่าง ๆ เช่นเพื่อเคลื่อนย้ายเคอร์เซอร์ ลบข้อความ เป็นต้น เวลาเริ่มต้นโปรแกรม Vim จะเข้ามาอยู่ในโหมดนี้

Vim เป็นโปรแกรมที่ใช้งานได้มีประสิทธิผลก็มาจากคำสั่งที่หลากหลายในโหมดนี้ ตัวอย่างเช่น ถ้าต้องการลบทั้งบรรทัดที่ตำแหน่งเคอร์เซอร์ ก็ใช้คำสั่ง dd ถ้าต้องการลบทั้งบรรทัดปัจจุบันและบรรทัดถัดไป ก็ใช้คำสั่ง dj โดยที่ d หมายถึงลบ ส่วน j เป็นปุ่มที่ใช้ในการเลื่อนเคอร์เซอร์ลง แทนที่จะใช้คำสั่ง dj ยังสามารถใช้คำสั่ง 2dd (หมายถึงทำคำสั่ง dd สองครั้ง) ก็ได้ เมื่อผู้ใช้เรียนรู้คำสั่งการเคลื่อนที่เคอร์เซอร์ต่าง ๆ และวิธีการนำคำสั่งมารวมกัน ก็สามารถใช้งานได้รวดเร็วกว่าเอดิเตอร์แบบที่ไม่มีโหมด

เมื่ออยู่ในโหมดนี้ สามารถเข้าไปในโหมด insert สำหรับแทรกข้อความได้หลายทาง เช่น ใช้ปุ่ม a (หมายถึง append หรือพิมพ์ต่อท้าย) หรือ i (หมายถึง insert หรือพิมพ์แทรก)

โหมดย่อย operator-pending[แก้]

โหมดนี้เป็นโหมดย่อยของโหมด normal เมื่อผู้ใช้ป้อนคำสั่งและโปรแกรม Vim รอผู้ใช้เคลื่อนย้ายเคอร์เซอร์เพื่อให้คำสั่งสมบูรณ์ Vim ยังสามารถรับคำสั่งแทนการขยับเคอร์เซอร์ (เรียกว่า text object) เช่น aw หมายถึง คำ (word) as หมายถึง ประโยค (sentense) ap หมายถึงย่อหน้า (paragraph) ตัวอย่างการใช้เช่น คำสั่ง d2as จะลบประโยคปัจจุบันและประโยคถัดไป

โหมดย่อย insert normal[แก้]

เป็นอีกโหมดย่อยของโหมด normal Vim จะเข้าโหมดนี้เมื่อผู้ใช้กดปุ่ม control-o ขณะอยู่ในโหมด insert Vim จะเข้ามาอยู่ในโหมด normal แต่จะรับเพียงคำสั่งเดียวแล้วกลับไปยังโหมด insert โดยอัตโนมัติ

โหมด visual[แก้]

ในโหมดนี้เวลาเลื่อนเคอร์เซอร์จะทำให้ข้อความถูกไฮไลต์ตาม จนกว่าจะใส่คำสั่งเพื่อจัดการกับข้อความที่ถูกเลือกนั้น สามารถใช้คำสั่ง text object ในโหมดนี้ได้ด้วย

โหมดย่อย insert visual[แก้]

เข้าโหมดนี้จากโหมด insert โดยกดปุ่ม control-o จะเข้าโหมดนี้เพื่อเลือกข้อความ เมื่อเลือกเสร็จจะกลับไปโหมด insert ตามเดิม

โหมด select[แก้]

คล้ายกับการเลือกข้อความในไมโครซอฟท์วินโดวส์ สามารถใช้ปุ่มลูกศรหรือเมาส์เลือกข้อความ แต่เมื่อพิมพ์ตัวอักษรลงไป ข้อความเดิมที่ถูกเลือกจะถูกลบทิ้งไป และ Vim จะเข้าสู่โหมด insert พร้อมทั้งแทรกตัวอักษรที่เพิ่งพิมพ์เข้าไป

โหมดย่อย insert select[แก้]

เข้าสู่โหมดนี้โดยการใช้เมาส์ลากบนข้อความ หรือใช้ปุ่มลูกศรร่วมกับปุ่ม shift เมื่อเลือกเสร็จ Vim จะกลับไปโหมด insert

โหมด insert[แก้]

โหมดนี้ ข้อความต่าง ๆ ที่พิมพ์เข้าไป จะไปปรากฏอยู่ในข้อมูลไฟล์ เป็นโหมดที่ผู้ใช้คุ้นเคยเมื่อใช้โปรแกรมเอดิเตอร์อื่น ๆ

เวลาจะออกจากโหมด insert ไปยังโหมด normal ให้กดปุ่ม ESC

โหมดย่อย replace[แก้]

โหมดนี้เป็นโหมด insert แบบพิเศษ แทนที่จะไปแทรกในเอกสาร ตัวอักษรที่พิมพ์เข้าไปจะไปทับของเก่า

โหมด command-line[แก้]

ในโหมด command-line สามารถพิมพ์คำสั่งหนึ่งบรรทัด ซึ่งอาจเป็นคำสั่ง (ขึ้นต้นบรรทัดด้วยตัวอักษร :) ค้นหา (ขึ้นต้นด้วย / หรือ ?) หรือ คำสั่ง filter (ขึ้นต้นด้วย !)

โหมด ex[แก้]

เหมือนโหมด command-line แต่สามารถพิมพ์คำสั่งได้เรื่อย ๆ จนกว่าจะใส่คำสั่ง visual

โหมด evim[แก้]

เป็นโหมดพิเศษสำหรับ GUI โดย Vim จะจำลองตัวเองเหมือนกับเอดิเตอร์อื่นที่ไม่มีโหมด เอดิเตอร์จะเริ่มทำงานในโหมด insert ผู้ใช้สามารถใช้เมนู เมาส์ ปุ่มควมคุมบนแป้นพิมพ์ เช่น ปุ่มลูกศร สามารถเข้าโดยการพิมพ์ evim บนบรรทัดคำสั่งในยูนิกซ์ หรือ คลิกบนไอคอน evim ในวินโดวส์

ความสามารถที่เพิ่มจาก vi[แก้]

Vim สามารถทำงานจำลองได้ใกล้เคียงกับ vi และยังมีขีดความสามารถุเพิ่มเติมเช่น

ดูเพิ่ม[แก้]

อ้างอิง[แก้]

แหล่งข้อมูลอื่น[แก้]