หน้าเว็บ

วันเสาร์ที่ 10 ธันวาคม พ.ศ. 2554

เรียนรู้ การใช้งาน vi Text Editor

        
กำลังเขียนอยู่ครับ...
 
        vi(visual editor) อ่านออกเสียงเป็น vee-eye  ซึ่งเป็น  editor ตัวหนึ่งที่ใช้สำหรับแก้ไข text file, config file, source cod และอื่นๆ  ผ่านทาง terminal
        vi เป็น editor ที่อยู่คู่กับระบบปฏิบัติการ UNIX มานานแล้ว  และ linux เองก็ได้สืบทอดหรือพัฒนาต่อมาจาก UNIX  เพราะฉะนั้นระบบปฏิบัติการ linux เกือบทั้งหมดจึงมี vi ติดมาด้วยตั้งแต่ได้ทำการติดตั้งระบบแล้ว

เรามาเข้าเรื่องการใช้งานกันเลยดีกว่าครับ



ก่อนอื่นต้องมาทำความเข้าใจบางอย่างกันก่อนที่จะใช้งาน    คือต้องเข้าใจก่อนว่า
vi มีการทำงานอยู่ 2 mode คือ
        1.  command-mode  เอาไว้สำหรับ  รับคำสั่งต่างๆ ผ่านทาง  command-line
        2.  insert-mode  เอาไว้สำหรับเขียนตัวอักษรต่างๆลงไปในไฟล์

ตัวอย่างการใช้งาน



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


 ตอนนี้เราอยู่ใน command-mode  และไฟล์ testfile.txt ไม่ได้มีอยู่ในระบบมาก่อน  vi จึงสร้างไฟล์เปล่าๆมาให้

หากต้องการจะเขียนอะไรต่างลงไป  ให้เปลี่ยนโหมดไปเป็น insert-mode  ด้วยการกด i (i เล็กเท่านั้น เพราะ vi จะมองคำสั่งที่รับมาเข้าว่า ตัวอักษรเล็กตัวอักษรใหญ่มีความหมายต่างกัน)
ตรงมุมซ้ายล่างของหน้าต่าง  จะมีคำว่า -- INSERT-- ปรากฏขึ้น  เพื่อบอกว่าเราอยู่ใน insert-mode  เราก็สามารถเขียนอะไรต่างๆ ลงไปได้เลย


        สำหรับการ save ไฟล์  การลบข้อมูลทีละหลายๆแถวหรือลบบางแถว  การเลื่อนหน้าต่างขึ้นลง  การออกจะโปรแกรม  และอื่นๆ  เราจะต้องออกจาก insert-mode ก่อนเสมอ  ด้วยการกด Esc  เพราะ insert-mode มีหน้าที่อย่างเดียวคือ  เขียนอะไรต่างๆ ลงไปเท่านั้น  แต่ option อื่นๆนั้น  inser-mode ทำไม่ได้   

สรุป
        ถ้าต้องการเขียน  หรือแก้ไขไฟล์  ให้เข้า insert-mode  ด้วยการกด ก่อนเสมอ
        ถ้าต้องการ save , delete, exit  ให้เข้า command-mode ด้วยการกด Esc ก่อนเสมอ


command-mode

หมายเหตุ : คำสั่งใดที่มีโคลอน( : )อยู่ข้างหน้า  หลังจากที่พิมพ์คำสั่งแล้วให้กด enter ด้วย  คำสั่งจึงจะทำงาน        ส่วนคำสั่งใดที่ไม่มีโคลอน  จะมีผลทันทีที่พิมพ์คำสั่งลงไป
การแทรกตัวอักษร(insert text)
i (insert)                      แทรกตัวอักษรไว้หลังเคอร์เซอร์ 
a (append)                  แทรกตัวอักษรไว้หน้าเคอร์เซอร์

การเซฟไฟล์ (Saving)
:w (write)                             เปรียบเสมือน save คือ เซฟทับที่เดิม
:w  path/file name                เปรียบเสมือน save as คือ เซฟที่ใหม่ตามพาธและชื่อไฟล์ที่ตั้งใหม่
                                            เช่น :w /home/redcrow/document/file01.txt                 

ออกจากโปรแกรมโดยที่เซฟไฟล์ด้วย(Quitting  Saving Edits)
:wq

ออกจากโปรแกรมโดยที่ไม่เซฟไฟล์ (Quitting Without Saving Edits)
:q! (quit)
:e! (exit)

การเคลื่อนย้ายเคอร์เซอร์ (Moving the Cursor)
 
Single  Step
Moving Start and End in the line
0                       เลื่อนเคอร์เซอร์ไปยังแรกสุดของบรรทัด (จำไว้ว่า 0 คือ เริ่มต้น  หรือ แรกสุดเสมอ)
$                       เลื่อนเคอร์เซอร์ไปยังท้ายสุดของบรรทัด (จำไว้ว่า $ คือ สิ้นสุด หรือ ท้ายสุดเสมอ)

Moving Left 
h                       เลื่อนเคอร์เซอร์มาทางซ้าย 1 step
2h                     เลื่อนเคอร์เซอร์มาทางซ้าย 2 step        2h = hh
4h                     เลื่อนเคอร์เซอร์มาทางซ้าย 4 step        4h = hhhh

Moving Right
l (แอล)              เลื่อนเคอร์เซอร์ไปทางขวา 1 step
3l                      เลื่อนเคอร์เซอร์ไปทางขวา 3 step        3l = lll
5l                      เลื่อนเคอร์เซอร์ไปทางขวา 5 step        5l = lllll

Moving Down 
j                       เลื่อนเคอร์เซอร์ลงมาข้างล่าง 1 step
2j                     เลื่อนเคอร์เซอร์ลงมาข้างล่าง 2 step        2j = jj
4j                     เลื่อนเคอร์เซอร์ลงมาข้างล่าง 4 step        4j = jjjj

Moving  Up
                      เลื่อนเคอร์เซอร์ขึ้นไปข้างบน1 step
3k                     เลื่อนเคอร์เซอร์ขึ้นไปข้างบน 3 step        3k = kkk
5k                     เลื่อนเคอร์เซอร์ขึ้นไปข้างบน 5 step        5l =kkkkk

---------------------------------------------------------------------------------------------------------------------------------

Block Step
Moving Left 
w                       เลื่อนเคอร์เซอร์ไปทางซ้าย ทีละ 1 block ตัวอักษร(ตัวอักษรตัวแรกของ block) 
                          เช่น   cursor, delete lines, insert characters,
2w                     เลื่อนเคอร์เซอร์ไปทางซ้าย ทีละ 2 block ตัวอักษร(ตัวอักษรตัวแรกของ block)  2w = ww
                          เช่น   cursor, delete lines, insert characters, 
  
การค้นหาข้อความ (Searching Word)
/word for search            word for search คือคำหรือข้อความที่เราต้องการค้นหาใน vi









เขียนยังไม่เสร็จน่ะครับ ^^





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

แสดงความคิดเห็น