ใช้งาน VI และ VIM

คำสั่ง command ที่ควรรู้!

คำสั่ง ใช้งาน editor : $ vi <file> $ vim <file>

$ vi helloworld.txt
หรือ
$ vim helloworld.txt
// Insert เพื่อแทรกข้อความ : 
กดปุ่ม I

// บันทึกแบบที่ 1
กดปุ่ม esc (สังเกตุ Insert ข้างล่างจะหายไป)
กดปุ่ม shift (ค้างไว้)
พิมพ์ :wq! 
กดปุ่ม Enter
-----------------------
 w => write
 q => quite
 ! => force (บังคับทันที)
-----------------------

//บันทึกแบบที่ 2
กดปุ่ม esc
กดปุ่ม shift (ค้างไว้) + กดปุ่ม Z 2 ครั้ง

//ยกเลิก Cancel
กดปุ่ม esc
กดปุ่ม shift (ค้างไว้)
พิมพ์ :q!

//ขยับ cursor
กดปุ่ม L => ไปขวา
กดปุ่ม H => ไปซ้าย
กดปุ่ม J => ลงล่าง
กดปุ่ม K => ขึ้นบน

//ไปล่างสุดของไฟล์
กดปุ่ม shift + G

//ไปบนสุดของไฟล์
กดปุ่ม shift + G 2 ครั้ง

//ไปท้ายบรรทัด 
กดปุ่ม $

//ไปต้นบรรทัด
กดปุ่ม 0 หรือ ^

//ไปบรรทัดที่ต้องการ
พิมพ์ :<ตามด้วยหมายเลขบรรทัด>
    :20
//ขยับ cursor ไปทีละ word
กดปุ่ม W

//ขยับ cursor กลับไปข้างหน้าที่ละ word
กดปุ่ม b

//ขยับ cursor ไปตามจำนวน (nw) 
กดปุ่ม 5W

//ย้อนกลับการแก้ไข(Undo)
กดปุ่ม u

// copy ใน 1 line
กดปุ่ม yy

// copy จำนวนหลายบรรทัด (nyy)
กดปุ่ม 5yy

// Paste 
กดปุ่ม p => below
กดปุ่ม P => above

//ค้นหาคำที่ต้องการ
พิมพ์ / <ตามด้วยคำที่ต้องการ> หรือ ? <ตามด้วยคำที่ต้องการ>
กดปุ่ม n => ไปยังบรรทัดถัดไป

//การลบทั้งบรรทัดที่ cursor อยู่
กดปุ่ม D 2 ครั้ง

//การลบคำและแก้ไขคำ
กดปุ่ม c และ w

===========Combine Commands===========
//Verb
c => change
d => delete
y => yank/copy
v => visual

//Text Object
w => word
s => sentence
p => paragraph
b => block/parentheses
t => tag, word for html/xml

//คำสั่งเปลี่ยนข้อความทั้งหมดในไฟล์ครั้งเดียว
พิมพ์ :%s/ข้อความเดิม/ข้อความใหม่/g

//แสดงหมายเลขบรรทัด
:set nu 
//ไม่แสดงหมายเลขบรรทัด 
:set nonu 

Last updated