VI editor เรียกได้ว่าเป็น editor คู่บุญของระบบ Linux และ Unix ผู้ใช้งานจำเป็นอย่างที่สุดที่จะต้องสามารถใช้งาน vi editor ได้อย่างคล่องแคล่ว ดังนั้นเรามาทำความเข้าใจเกี่ยวกับเจ้า vi editor กันดีกว่า
เรียกใช้ vi editor
การเรียกใช้ vi editor ก็ง่ายๆให้พิมพ์ว่า vi ตามด้วยชื่อไฟล์ เช่น #vi filename.txt
จะเป็นการ edit ไฟล์ filename.txt (ถ้าไม่มีจะสร้างขึ้นใหม่เลย)
โหมดการทำงาน มี 2 โหมดคือ
1. command mode ใช้สำาหรับรับคำาสั่ง ของผู้ใช้ เช่น จะเข้าสู่ insert mode บันทึกไฟล์ ออกจากโปรแกรม ฯลฯ
2. insert mode ใช้สำาหรับแก้ไขไฟล์ เช่น พิมพ์ข้อมูลเพิ่ม ลบคำเมื่อเราเปิดโปรแกรม vi ขึ้นมาโปรแกรมจะเข้าสู่ command mode เราจะพิมพ์ข้อความลงไปไม่ได้จนกว่าเราจะเข้าสู่
insert mode โดยการกดปุ่ม i (หรืออื่นๆ) เมื่อเราทำางานใน insert modeเราสามารถแก้ไขข้อมูลในไฟล์ได้ ถ้าเราต้องการบันทึกไฟล์ หรือออกจากการใช้งาน vi ก็ต้องกลับเข้าสู่ command mode โดยการกดปุ่ม Esc เข้าสู่ insert mode เพื่อแก้ไขข้อความ
a เพิ่มข้อความที่อยู่ข้างหลัง
A เพิ่มข้อความต่อท้ายบรรทัดปัจจุบัน
i แทรกข้อความที่อยู่หน้าเคอร์เซอร์
I แทรกข้อความที่ต้นบรรทัดปัจจุบัน
o เพิ่มบรรทัดว่างๆใหม่อีกหนึ่งบรรทัด ถัดจากบรรทัดที่เคอร์เซอร์อยู่
O เพิ่มบรรทัดว่างๆใหม่อีกหนึ่งบรรทัด เหนือจากบรรทัดที่เคอร์เซอร์อยู่
การบันทึกไฟล์และออกจากโปรแกรม (command mode)
ถ้าทำางานอยู่ใน insert mode เข้าสู่ command mode โดยการกด Esc แล้วค่อยพิมพ์คำาสั่ง
ZZ ออกจากโปรแกรมบันทึกไฟล์
:q! ออกจากโปรแกรมไม่บันทึกไฟล์
:wq ออกจากโปรแกรมบันทึกไฟล์
การเลื่อนเคอร์เซอร์ไปยังตำาแหน่งต่างๆ ใน 1 จอภาพ
h เลื่อนเคอร์เซอร์ไปทางซ้าย 1 ตัวอักษร
j เลื่อนเคอร์เซอร์ไปยังบรรทัดล่าง 1 บรรทัด
k เลื่อนเคอร์เซอร์ไปยังบรรทัดบน 1 บรรทัด
l เลื่อนเคอร์เซอร์ไปทางขวา 1 ตัวอักษร
เลื่อนเคอร์เซอร์ทีละคำ ประโยค ย่อหน้า
w เลื่อนเคอร์เซอร์ไปยังตัวอักษรแรกของคำาที่อยู่ถัดไป
e เลื่อนเคอร์เซอร์ไปยังตัวอักษรสุดท้ายของคำาที่อยู่ถัดไป
b เลื่อนเคอร์เซอร์ไปยังตำแหน่งแรกของคำาที่อยู่ก่อนหน้า
การเลื่อนจอภาพ
^F เลื่อนจอภาพเพื่อดูข้อมูลที่อยู่ในหน้าถัดไป
^B เลื่อนจอภาพเพื่อดูข้อมูลที่อยู่ก่อน 1 หน้า
^D เลื่อนจอภาพไปอีกครึ่งจอภาพ
^U เลื่อนจอภาพย้อนกลับไปอีกครึ่งจอภาพ
^R หรือ ^L ให้แสดงจอภาพปัจจุบันอีกครั้งหนึ่ง
การลบ
dd ลบเฉพาะบรรทัดที่เคอร์เซอร์อยู่
dw ลบคำตั้งแต่ตัวอักษรที่เคอร์เซอร์อยู่ไปจนถึงตัวอักษรแรกของคำาต่อไป
de ลบคำตั้งแต่ตัวอักษรที่เคอร์เซอร์อยู่ไปจนถึงตัวอักษรสุดท้ายของคำาปัจจุบัน
db ลบคำตั้งแต่ตัวอักษรที่อยู่หน้าเคอร์เซอร์ไปถึงอักษรแรกของคำาปัจจุบัน
d^ ลบคำตั้งแต่ตัวอักษรที่อยู่หน้าเคอร์เซอร์ไปจนถึงตัวอักษรแรกของบรรทัดที่ไม่ใช่ space
d$ ลบคำตั้งแต่ตัวอักษรที่เคอร์เซอร์อยู่ไปจนถึงตัวสุดท้ายของบรรทัด
การโยกย้ายและการทำสำเนา
ym นำาข้อความที่ต้องการเก็บลงใน buffer (m=จำานวนบรรทัด)
yy นำาข้อความทั้งบรรทัด ที่เคอร์เซอร์อยู่ไปเก็บใน buffer
p นำาข้อความใน buffer มาวางหลังเคอร์เซอร์
การยกเลิกคำาสั่ง
u undo
. redo
การค้นหาคำ
/Test หาคำว่า Test
/This is test หาวลี This is test
/^Test หาคำว่า Test หาคำว่า Test ที่ปรากฏที่ต้นบรรทัด
/Test$ หาคำว่า Test หาคำว่า Test ที่ปรากฏที่ท้ายบรรทัด
/^$ หาบรรทัดที่เป็นบรรทัดว่างๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น