Setting

ใน vi มีโหมดหลักๆ อยู่ 3 โหมดด้วยกัน (ที่อื่นอาจบอกว่ามีมาก/น้อยกว่า) ดังนี้

  1. command mode เมื่อเปิดโปรแกรมมาก็จะเจอโหมดนี้ เราสามารถใช้ปุ่มอย่าง [j] [k] เพื่อเลื่อน cursor หรือกด [x] เพื่อลบอักษรบางตัวได้
  2. last line mode จริงๆ แล้วคือโหมดเดียวกับข้างบน แต่ต้องจบคำสั่งด้วย [Enter] เพื่อให้คำสั่งทำงาน เช่น :q [Enter] เพื่อออกโปรแกรม ซึ่งเราสามารถกด [Tab] เพื่อทำ auto-complete เหมือนได้ด้วย
  3. insert mode เป็นโหมดพิมพ์แก้ไขเอกสาร ซึ่งสามารถเปิดโหมดนี้ได้โดยปุ่มเช่น [i] [a] จาก command mode และออกจากโหมดนี้โดยปุ่ม [Ecs]

และสำหรับที่นี่ (สรุปจากตอนก่อนๆ)

  • เมื่ออยู่ใน command mode จะใช้ [ ] ล้อมปุ่ม เช่น [i] (หวังว่าคงไม่สับสนเวลาเจอ [[], []])
  • ถ้ามีการกดปุ่มตัวเลข จะรวบเลขหลายๆ ตัวอยู่ใน [ ] เดียว เช่น [20] [i]
  • ส่วนที่ last line mode จะไม่ล้อมรอบการกดปุ่มต่างๆ ยกเว้นตอนจบจะแสดง [Enter] เสมอ
  • ปุ่มที่ต้องกด [Shift] จะใช้ตัวใหญ่ไปเลย เช่น [Shift]+[a] ย่อเป็น [A]
  • แต่ [Ctrl]+[ ] และ [Alt]+[ ] ไม่ย่อครับ

ปรกติ (เมื่อทำงานกับไฟล์ที่มีนามสกุลเป็น source code ของ programming language ต่างๆ) โปรแกรม Vim จะทำ syntax highlighting ให้อยู่แล้ว ถ้าไม่ได้ทำให้ ลองพิมพ์คำสั่ง

:syntax on [Enter]

ดูครับ (ถ้ายังไม่ได้อีก ให้ลองหาโปรแกรม Vim รุ่นใหม่มาติดตั้งดู)

อีกเรื่องคือการตั้งค่าให้แปลงการ indent ด้วย tab เป็น space สามารถใช้คำสั่งนี้

:set expandtab [Enter]
:set shiftwidth=4 [Enter]
:set softtabstop=4 [Enter]

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

:edit $MYVIMRC [Enter]

เมื่อเปิดไฟล์ขึ้นมา ให้เพิ่มบรรทัดนี้เข้าไปด้านบนสุดครับ

set expandtab shiftwidth=4 softtabstop=4
" use double quote to comment line, in case you need it.

เท่านี้ เราก็มีความสุขกับการเขียนโปรแกรมแล้วครับ ;)

Nattawut Phetmak

Jack of all Trades

blog comments powered by Disqus