# การใช้งาน VI(3)

### คำสั่ง set

เราสามารถทำการเปลี่ยนแปลงคุณสมบัติบางอย่างของ vi ได้โดยการใช้คำสั่ง set ซึ่งรูปแบบของการใช้คำสั่ง set จะมีอยู่สองรูปแบบคือ การเปิดหรือปิด option ซึ่ง option ดังกล่าวอาจเป็นการกำหนดให้แสดงหมายเลขประจำบรรทัด หรือการกำหนดคุณสมบัติอื่นๆ ส่วนการกำหนดในอีกรูปแบบหนึ่งก็คือการกำหนดค่าหรือข้อมูลให้กับ option เช่นการกำหนดขนาดของหน้าต่างของ vi เป็นต้น ทั้งนี้ค่าเริ่มแรก (default) ของ option อาจเป็นได้ทั้งการเปิด และการปิด option ได้ทั้งคู่

รูปแบบของการเปิดหรือปิด option

    :set option 		เป็นการเปิด option
    :set nooption		เป็นการปิด option

ตัวอย่างของการเปิดหรือปิด option มีดังต่อไปนี้
การกำหนดให้ vi ทำการแสดงหมายเลขประจำบรรทัด (line number) ขึ้นมาเราสามารถทำได้ โดยใช้คำสั่ง

    :set number

หรืออาจย่อเป็น

    :set nu

ถ้าจะกำหนดไม่ให้แสดงหมายเลขประจำบรรทัด (line number) ขึ้นมาก็ให้ใช้คำสั่ง

    :set nonumber

หรืออาจย่อเป็น

    :set nonu

กำหนดให้ vi ทำการแสดงค่า control code ของเอกสารที่แก้ไข เช่นรหัสขึ้นบรรทัดใหม่จะแสดงเป็น "$" , tab จะแสดงเป็น "^I"

    :set list

กำหนดไม่ให้ vi แสดงค่า control code ของเอกสาร

    :set nolist

การกำหนดขนาดของหน้าต่างของ vi ที่ทำการแก้ไข ตัวอย่างข้างล่างกำหนดขนาด 20 บรรทัด

    :set window=20

เราสามารถตรวจสอบค่าของ option ทั้งหมดที่มีอยู่ได้โดยการใช้คำสั่ง

    :set all

จะได้ผลลัพธ์ลักษณะดังต่อไปนี้

    --- Options ---
    noautoindent        noignorecase        noruler             notextmode
    noautowrite         noincsearch           scroll=11           textwidth=0
      backspace=0       noinfercase           scrolljump=1      notildeop
    nobackup            noinsertmode          scrolloff=0         timeout

นอกจากนี้เราสามารถทำการตรวจสอบค่าของ option ได้โดยการระบุถามถึง option ที่ต้องการก็ได้

    :set option?

เช่น

    :set list?

สำหรับคำสั่งข้างล่างนี้จะทำการเฉพาะแสดงค่า option ที่มีการแก้ไขและถูกเปลี่ยนแปลง

    :set

ตัวอย่างของ option และคำอธิบาย

    autoindent (ai)		เมื่อทำการเปิด option ในการสลับไปสู่ insert mode
    			การย่อหน้าของบรรทัดใหม่จะตรงกันย่อหน้าบรรทัดบน
    autowrite (aw)		จะทำการบันทึกไฟล์ให้โดยอัตโนมัติ ก่อนมีการเปิดไฟล์อื่น
    ignorecase (ic)		ไม่สนใจว่าเป็นตัวอักษรตัวใหญ่หรือตัวเล็กในการค้นหา
    list 			กำหนดให้ vi พิมพ์ control code ทั้งหมดออกมาด้วย
    number (nu)		กำหนดให้แสดงหมายเลขประจำบรรทัด

เราสามารถกำหนดคุณลักษณให้ vi ตั้งแต่แรกโดยไม่จำเป็นจะต้องใช้คำสั่ง "set" ก็ได้ โดยไปทำการกำหนด option ต่างๆไว้ในไฟล์ ".exrc" แทน (ต้องใส่ไฟล์นี้ไว้ใน home directory ด้วย) เมื่อ vi เริ่มต้นทำงานก็จะอ่านการกำหนด option ต่างๆ จากไฟล์นี้ขึ้นมาด้วย เราสามารถใส่ option ต่างๆไว้ได้โดยไม่ต้องขึ้นต้นด้วยเครื่องหมาย colon ":" ตัวอย่างของไฟล์ .exrc

    set autoindent
    set autowrite
    aset number

### คำสั่งอื่นๆที่น่าสนใจของ vi

เราสามารถเลือกเอาบางส่วนของเอกสารที่เรากำลังแก้ไขอยู่ไปเขียนเก็บไว้เป็นไฟล์ใหม่ได้ โดยใช้คำสั่งดังนี้

    :3,4 w! /tmp/new.txt

เราสามารถนำเอาเอกสารอื่นๆเข้ามาเป็นส่วนหนึ่งของเอกสารที่เรากำลังแก้ไขได้โดยใช้คำสั่งข้างล่าง โดยที่จะนำมาใส่ตรงตำแหน่งที่เคอร์เซอร์ปรากฎอยู่

    :r /tmp/new.txt

การเปิดไฟล์อื่นขึ้นมาแก้ไข ขณะที่ยังอยู่ใน vi ให้ใช้คำสั่ง

    :e [ชื่อไฟล์]

การสลับกลับไปสู่เอกสารเดิม (เอกสารก่อนที่จะเรียกเอกสารใหม่ขึ้นมาแก้ไข)

    :n#

การแสดงสถานะของการแก้ไขเอกสาร

    ปุ่ม "^G" 	(Ctrl-G)

การเปลี่ยนตัวอักษรตัวเล็กให้เป็นตัวอักษรตัวใหญ่ (ทำ ณ ตำแหน่งที่เคอร์เซอร์ปรากฏอยู่)

    ปุ่ม "~" 	(ปุ่มตัวหนอน)

HTML developed by Kaiwal Development Team (kaiwal@geocities.com)