วันอังคารที่ 25 พฤศจิกายน พ.ศ. 2551

คำสั่ง และการใช้งานโปรแกรม VI - Editor

วันนี้ พยายามหัดใช้ vi แล้วค้นๆไปในเครื่องเจอไฟล์เก่าๆอันนึง ก๊อปมาจากไหนไม่รู้ เลยเอามาโพสต์เก็บไว้ จะได้ไว้เปิดดูเวลาอยู่นอกบ้าน

เอาล่ะ เข้าบทความได้แล้ว

...

ในระบบยูนิกซ์ทั่วไปจะต้องมีเครื่องมือสำหรับเอาไว้ตกแต่งแก้ไขไฟล์เอกสาร ประจำไว้อยู่ตัวหนึ่ง ซึ่งก็คือ vi (อ่านว่า วี-ไอ) ในตอนเริ่มแรกของการ ใช้งาน vi แทบทุกคนจะบอกว่า การใช้งานและการทำความเข้าใจนั้นยาก กว่า Editor ที่เป็นพวก Pulldown Menu Driven บนดอส เช่นพวก เวิร์ด จุฬาฯ หรือ Q-Editor มาก (ในยูนิกซ์จะเป็นพวก Emacs หรือ pico)

แต่หากคุณพยายามฝึกฝนใช้งานไปสักพักหนึ่งแล้ว คุณจะรู้สึก ว่า vi เป็น Editor ที่มีการใช้งานได้อย่างมีประสิทธิภาพมากที่สุดตัว หนึ่ง และคุณสมบัติต่างๆ ของ vi ที่มีมาให้ก็จะสามารถทำให้คุณใช้งาน vi ได้ อย่างสะดวกสบายมากขึ้น นอกจากนี้การที่คุณใช้งาน vi เป็น จะทำให้คุณได้ เปรียบ กว่าการใช้งาน Editor ตัว อื่นๆ เพราะ vi เป็น Editor พื้นฐานที่จะ ต้องมีประจำไว้กับยูนิกซ์ทุกตัวอยู่แล้ว ในขณะที่ Editor ตัวอื่นๆคุณอาจหา ไม่พบใน ยูนิกซ์รุ่นอื่นๆก็ได้..

วิธีการใช้งานอย่างคร่าวๆ

vi จะมีรูปแบบการใช้งาน (mode) อยู่สามแบบคือ
Command mode
Insert mode
Last line mode




Command mode
จะเป็นโหมดปกติตอนเริ่มต้น vi ในโหมดนี้คุณสามารถจะทำการ เคลื่อนย้ายเคอร์เซอร์ ลบข้อความ สำเนาข้อความ และทำงานอื่นๆได้ การทำงาน ใน mode นี้จะเป็นการเคลื่อนย้ายเคอเซอร์ไปยังตำแหน่งที่ต้องการ หากย้ายไป ตำแหน่งที่ไม่มีข้อมูล มันจะส่งเสียงเตือน ตัวอักษรที่ใช้ใน mode นี้ที่ สำคัญได้แก่

h เลื่อน cursor ไปทางซ้ายทีละตัวอักษร
j เลื่อน cursor ลง 1 บรรทัด
k เลื่อน cursor ขึ้น 1 บรรทัด
l (แอล) เลื่อน cursor ไปทางฃวาทีละตัวอักษร
w เลื่อน cursor ไปทางฃวาทีละคำ
b เลื่อน cursor ไปทางซ้ายทีละคำ
$ เลื่อน cursor ไปท้ายบรรทัด
0 (ศูนย์) เลื่อน cursor ไปต้นบรรทัด
nG ไปยังบรรทัดที่ n หากไม่ใส่ n จะไปบรรทัดสุดท้าย
Ctrl+f เลื่อนหน้าจอไปข้างหน้า (เลื่อนลง) ทีละหน้า
Ctrl+b เลื่อนหน้าจอถอยหลัง (เลื่อนขึ้น) ทีละหน้า
Ctrl+d เลื่อนหน้าจอไปข้างหน้า (เลื่อนลง) ทีละครึ่งหน้าจอ
Ctrl+u เลื่อนหน้าจอถอยหลัง (เลื่อนขึ้น) ทีละครึ่งหน้าจอ
Ctrl+L Refresh หน้าจอ
[[ ไปยังต้นไฟล์
]] ไปยังท้ายไฟล์
yy Copy ข้อความทั้งบรรทัด
yw Copy ข้อความทั้งคำ
yG Copy ถึงท้ายไฟล์
y$ Copy ถึงท้ายบรรทัด
p (เล็ก) Paste หลัง cursor
P (ใหญ่) Paste หน้า cursor
cw พิมพ์ทับทีละ word
c$ พิมพ์ทับจนถึงท้ายบรรทัด
cG พิมพ์ทับจนถึงท้ายไฟล์
r พิมพ์ทับทีละ 1 ตัว
R พิมพ์ทับจนกว่าจะกด Esc
u Undo การกระทำครั้งล่าสุด
x (เล็ก) ลบตรง cursor
X (ใหญ่) ลบหน้า cursor
dw ลบคำ
dd ลบทั้งบรรทัด
d$ ลบจากตำแหน่ง cursor จนท้ายบรรทัด
d0 (ดีศูนย์) ลบจากตำแหน่ง cursor จนต้นบรรทัด
dG ลบจากตำแหน่ง cursor จนท้ายไฟล์




Insert mode
ในโหมดนี้เป็นโหมดที่ทำให้คุณสามารถทำการแก้ไขข้อความหรือพิมพ์ ข้อความลงไปได้ คุณสามารถเปลี่ยนจาก Command mode เข้ามาอยู่ ใน Insert mode ได้โดยการกดปุ่ม " i " หรือปุ่มอื่นๆ ที่ใช้ได้ (ดูด้าน ล่าง) และคุณก็จะสามารถพิมพ์ข้อความต่างๆ ได้ และเมื่อคุณต้องการจะกลับไป ยัง Command mode อีกที คุณก็สามารถทำได้โดยการ กดปุ่ม " Esc " ตัวอักษรที่ ใช้ใน mode นี้ที่สำคัญได้แก่

Key ความหมาย / ผลการใช้
a เพิ่มข้อมูลต่อจาก cursor
A เพิ่มข้อมูลต่อจากท้ายบรรทัด
i เพิ่มข้อมูลหน้า cursor
I (ไอใหญ่) เพิ่มข้อมูลที่ต้นบรรทัด
o (โอเล็ก) แทรกบรรทัดด้านล่าง cursor
O (โอใหญ่) แทรกบรรทัดด้านบน cursor




Last line mode
จะเป็นโหมดที่อนุญาตให้คุณสามารถ ใช้คำสั่งเพิ่มเติมของ vi ได้ โดย คุณจะต้องกดปุ่ม " : " (โค-ลอน) ซึ่ง vi จะแสดงเป็นพร้อมต์ รอรับคำสั่งอยู่ ด้านล่างสุด ของจอภาพ คุณสามารถทำการสั่งโดยการพิมพ์คำว่า " wq " แล้ว กด Enter เพื่อทำการบันทึกข้อความลงไฟล์ แล้วออกจาก โปรแกรม vi เป็นต้น นอกจากนี้ยังมี คำสั่งอื่นๆ อีก ดังนี้..

Key ความหมาย / ผลการใช้
:q ออกจากโปรแกรม
:w บันทึก
:wq บันทึกแล้วออกจากโปรแกรม
:w! filename บันทึกไฟล์ทับ filename
:e! filename open filename
:/string ค้นหาข้อความที่ต้องการ โดย string คือข้อความที่ต้องการ
:help ดูคำสั่งต่างๆ
:set nu แสดงหมายเลขบรรทัด
:set nonu ไม่แสดงหมายเลขบรรทัด
:set window=20 กำหนดขนาดหน้าต่างของ vi กรณีนี้กำหนดเป็น 20 บรรทัด
:set all ตรวจสอบค่าของ option หลังคำสั่ง set ทั้งหมดที่มีอยู่




การเริ่มใช้งาน vi
คุณสามารถเริ่มต้นการใช้งาน vi ได้โดยใช้คำสั่ง

vi (filename)

โดยที่ filename คือชื่อไฟล์ที่คุณต้องการจะบันทึกข้อความ ตัวอย่างเช่น

vi lab2a.c

จะเป็นการสร้างไฟล์ที่ชื่อ lab2a.c ขึ้นมา แต่หากมีไฟล์นี้อยู่แล้วก็จะทำ การอ่านข้อความที่มีอยู่ในไฟล์นี้ขึ้นมา ในตัวอย่างนี้เราจะถือว่าเป็นการ สร้างไฟล์ใหม่ขึ้นมา และสำหรับในระบบ Unix นี้คุณสามารถสร้างไฟล์ ที่ไม่มี นามสกุลได้เช่น

vi out_test

ก็จะได้ไฟล์ชื่อว่า out_test


การคอมไพล์

เมื่อคุณเขียนโปรแกรมใน vi แล้วต้องการดูผลของโปรแกรมก็สามารถ คอมไพล์ ได้โดยการใช้คำสั่ง

gcc -o File Source

โดย File หมายถึงชื่อไฟล์ที่คุณต้องการหลังจากคอมไพล์แล้ว ส่วน Source ก็ คือไฟล์ .c ที่เขียนไว้ ... หลังจากใช้คำสั่งนี้แล้ว คุณจะได้ไฟล์ เพิ่ม มา ลองดูตัวอย่าง

gcc -o program lab2a.c

ตัวอย่างนี้ คุณจะได้ไฟล์ program* เพิ่มขึ้นมา และคุณสามารถรันโปรแกรมที่ได้มานี้โดยการพิมพ์ว่า

./program (จุด + สแลซ + ชื่อไฟล์)

...

จบบทความแล้วนะคร๊าบ บะบาย

ไม่มีความคิดเห็น: