กลับหน้าหลัก
บทที่ 6 การใช้งาน Vi
........การใช้งานลีนุกซ์หนีไม่พ้นที่จะต้องใช้งาน Text Editor ตัวใดตัวหนึ่ง เพราะ ลีนุกซ์มีความจำาเป็นต้องแก้คอนฟิกไฟล์ ทีเป็น Text ไฟล์ โปรแกรม
Text Editor มีหลายตัว เช่น pico, nano, mc, Vi ฯลฯ แต่ในที่นี้จะพูดถึง Vi เพราะเป็น Text Editor ที่มาคู่กับ Unix มานาน และได้รับความนิยมมากตัวหนึ่ง
Vi (ออกเสียงว่า "vee- eye")เป็นคำาเรียกสั้นๆ ของ Visual editor

รูปที่ 6-1 แสดงโปรแกรม Vi
เริ่มใช้งาน vi
......เราสามารถเรียกใช้งาน Vi โดยพิมพ์คำาสั่ง vi ตามด้วยชื่อไฟล์ ชื่อไฟล์นี้เป็นไปได้ทั้งไฟล์ที่มีอยู่แล้ว และชื่อไฟล์ใหม่
.... ตัวอย่าง
..........# vi /etc/samba/smb.conf
..........# vi newfilename.txt
.... vi Mode
..........vi มี 2 โหมด
.......... command mode ใช้สำาหรับรับคำาสั่ง ของผู้ใช้ เช่น จะเข้าสู่ insert mode บันทึกไฟล์ ออกจากโปรแกรม ฯลฯ
.......... 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 ที่ปรากฏที่ท้ายบรรทัด
.........../^$...........................................หาบรรทัดที่เป็นบรรทัดว่างๆ
 
http://krookalasin.6te.net
บริการข้อมูลข่าวสารเพื่อวิชาชีพครู E-mail : Kenji_Sdc@hotmail.com
..........