คำสั่งสำหรับการเคลื่อนที่เคอร์เซอร์ โหมดการเลือกข้อความภาพ

คำอธิบาย.

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

เครื่องมือแก้ไข vi ทำงานในสองโหมด -

สั่งการ

กำลังพิมพ์

ทันทีหลังจากสตาร์ท vi มันก็เข้า โหมดคำสั่ง- ในโหมดนี้ การกดแป้นพิมพ์จะถูกตีความว่าเป็นคำสั่งที่ส่งไปยังเอดิเตอร์ แทนที่จะเป็นข้อความที่ป้อนลงในเอกสาร

หากต้องการเปลี่ยนเป็นโหมดป้อนข้อความ คุณต้องกดปุ่มใดปุ่มหนึ่ง:

วิธี

(เข้าร่วม). ในโหมดนี้ ข้อความที่คุณป้อนจะถูกแทรกหลังอักขระที่เคอร์เซอร์เปิดอยู่

วิธี

(แทรก). ในโหมดนี้ ข้อความที่คุณป้อนจะถูกแทรกก่อนอักขระที่เคอร์เซอร์เปิดอยู่

และสุดท้ายที่สำคัญ

วิธี

(เปิด). ซึ่งจะทำให้มีการแทรกบรรทัดใหม่ลงในข้อความหลังจากบรรทัดที่เคอร์เซอร์เปิดอยู่ จากนั้นเคอร์เซอร์จะเลื่อนไปที่ บรรทัดใหม่และตัวแก้ไขจะเข้าสู่โหมดแทรก เพื่อให้สามารถป้อนข้อความในบรรทัดใหม่ได้

นอกจากนี้ยังมีคำสั่งอื่นๆ อีกหลายคำสั่งสำหรับการตั้งค่าโหมดป้อนข้อความที่ไม่ได้ใช้บ่อยนัก นี่คือทีม

ที่

เพิ่มบรรทัดว่างเหนือบรรทัดปัจจุบัน

- และทีมงาน

ที่

เริ่มใส่ข้อความต่อท้าย เส้นปัจจุบัน

คุณสามารถกลับจากโหมดป้อนข้อความไปยังโหมดคำสั่งได้โดยการกดปุ่ม

เมื่อเข้าสู่โหมดคำสั่ง โปรแกรมแก้ไข vi จะส่งเสียงบี๊บตามค่าเริ่มต้น

การย้ายข้อความในโปรแกรมแก้ไข vi

โดยปกติแล้ว คุณสามารถเลื่อนดูข้อความในโหมดป้อนข้อความได้โดยใช้ปุ่มเคอร์เซอร์หรือปุ่มต่างๆ

เลื่อนหน้าขึ้น/เลื่อนหน้าลง

อย่างไรก็ตาม วิธีนี้ใช้ไม่ได้กับเทอร์มินัลเสมอไป นอกจากนี้ เทอร์มินัลบางเครื่องอาจไม่มีคีย์เหล่านี้ ในกรณีนี้ มีปุ่มอื่นๆ ที่ให้คุณเลื่อนดูเอกสารในโหมดคำสั่งได้

หากต้องการใช้ปุ่มนำทางเหล่านี้ ให้กด ปุ่ม Esc ape เพื่อเข้าสู่โหมดคำสั่ง ในโหมดนี้คุณสามารถใช้ปุ่มได้

เพื่อเลื่อนเคอร์เซอร์ไปทางซ้าย ลง ขึ้น และขวา เคล็ดลับบางประการที่จะช่วยให้คุณจำจุดประสงค์ได้มีดังนี้

l คืออันที่อยู่ทางขวาสุดจึงเลื่อนเคอร์เซอร์ไปทางขวา

h อยู่ซ้ายสุดและเลื่อนเคอร์เซอร์ไปทางซ้าย

j - ดูเหมือนลูกศรชี้ลงเล็กน้อย ดังนั้นเธอจึงเลื่อนเคอร์เซอร์ลง

k - เลื่อนเคอร์เซอร์ขึ้น

ในโหมดคำสั่งจะมีปุ่มนำทางอีกหลายปุ่ม ตารางแสดงปุ่มต่างๆ และฟังก์ชันต่างๆ

โปรดทราบว่าในทุกคำสั่งในตารางนี้ หมายเลขเริ่มต้นคือ 1 ปุ่ม j เลื่อนลง 1 บรรทัด ปุ่ม k เลื่อนขึ้น 1 บรรทัด และอื่นๆ คำสั่งทั้งหมดนี้สามารถแก้ไขได้โดยการป้อนตัวเลขข้างหน้าคำสั่ง ดังนั้นคำสั่งต่อไปนี้ไม่ได้เลื่อนลงหนึ่งบรรทัด แต่เลื่อนลงห้าบรรทัด: 5j

คำสั่งต่อไปนี้จะเลื่อนเคอร์เซอร์ไปที่บรรทัดที่ 75 ของไฟล์ที่กำลังแก้ไข: 75G

และนี่คือคำสั่งที่เลื่อนเคอร์เซอร์ไปที่บรรทัดที่ห้าจากด้านล่างของหน้าจอ: 5L

ไวยากรณ์นี้ใช้ได้กับคำสั่งทั้งหมดจากตาราง ยกเว้นคำสั่ง

ซึ่งเลื่อนเคอร์เซอร์ไปที่อักขระตัวแรกของเอกสารที่ไม่ใช่ช่องว่าง

ปุ่มนำทางอื่นๆ

นอกจากปุ่มเคอร์เซอร์ที่อธิบายข้างต้นแล้ว ยังมีแป้นพิมพ์ลัดอื่นๆ อีกหลายปุ่มที่ใช้เลื่อนข้อความบนหน้าจอ (ดูด้านล่าง):

คำสั่งแก้ไขข้อความ

ในเครื่องมือแก้ไข vi คีย์ต่างๆ

อย่ากระทำการที่อาจคาดหวังจากพวกเขา หากต้องการลบข้อความและสิ่งที่คล้ายกันคุณจะต้องใช้ ปุ่มที่แตกต่างกันในโหมดคำสั่งของตัวแก้ไข

การดำเนินการกับไฟล์และการออกจากโปรแกรมแก้ไข vi

สิ่งเหล่านี้คือการดำเนินการของการโหลดและบันทึกไฟล์ในเอดิเตอร์ vi

— เขียนการเปลี่ยนแปลงไปยังไฟล์

— อัพโหลดไฟล์เพื่อแก้ไข

— ออกจากโปรแกรมแก้ไขโดยไม่บันทึก

การค้นหาและการแทนที่ข้อความในเอดิเตอร์ vi

เริ่มต้นรูปแบบการค้นหาโดยตรงในโหมดคำสั่ง ตัวอย่างเช่น /ufs .

— จุดเริ่มต้นของเทมเพลต ค้นหาแบบย้อนกลับในโหมดคำสั่ง

— การลบบรรทัด

— คัดลอกข้อความไปยังบัฟเฟอร์ภายใน

— การแทรกข้อความจากบัฟเฟอร์

การคัดลอก การตัด และวางข้อความในโปรแกรมแก้ไข vi:

ข้อความจากบัฟเฟอร์สามารถวางได้ทุกที่ในเอกสารโดยเลื่อนเคอร์เซอร์ไปยังตำแหน่งที่ต้องการและใช้คำสั่ง p หรือ P

แทรกข้อความลงในเอกสารหลังเคอร์เซอร์ ทีม

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

คำเตือน

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

Vi มีหลายเวอร์ชั่น ฉันจะแนะนำให้คุณรู้จักกับ Vi เวอร์ชันที่เรียกว่า "Vim" Vim ได้รับความนิยมอย่างมากเนื่องจากมีการเพิ่มเติมหลายอย่างที่ทำให้ Vi ดีขึ้นเล็กน้อย (ฉันจะสังเกตว่าเมื่อมีการแสดงคำสั่งเฉพาะของ Vim) นี่คือรูปภาพของ GVim จากระบบของฉัน

หากต้องการติดตั้ง Vim ให้ทำตามลิงก์ทางด้านซ้ายหรือเรียกใช้ในเทอร์มินัล:

sudo apt-get ติดตั้งเป็นกลุ่ม

แม้ว่าในส่วนใหญ่ การแจกแจงลินุกซ์มันถูกติดตั้งไว้แล้วตามค่าเริ่มต้น นอกจากคอนโซล Vi ที่ได้รับการปรับปรุงแล้ว Vim ยังมีให้บริการในชื่อ GVim ซึ่งยอดเยี่ยมมาก โปรแกรมแก้ไขกราฟิกซึ่งสามารถกำหนดค่าเพื่อใช้กับไลบรารี GTK+ GUI (Graphical User Interface) ที่ยอดเยี่ยมได้

sudo apt-get ติดตั้ง vim-gtk

หาก Vi ยังใหม่สำหรับคุณ ให้ลองติดตั้ง GVim บนระบบของคุณ การใช้ Vi ใน เปลือกกราฟิกสามารถทำให้ชีวิตของผู้เริ่มต้นง่ายขึ้นได้ในบางด้าน

คุณยังสามารถเรียกใช้บทช่วยสอนโดยพิมพ์คำสั่งในเทอร์มินัล

วิมติวเตอร์

กวิมติวเตอร์

โปรแกรมการฝึกอบรมขนาดเล็กนี้จะช่วยให้คุณคุ้นเคยกับโปรแกรมแก้ไขที่ไม่ธรรมดาสำหรับผู้เริ่มต้นภายใน 25-30 นาที

กำลังเปิดไฟล์

ก่อนที่จะใช้ Vi เพื่อแก้ไขไฟล์ คุณควรเรียนรู้วิธีนำทางไฟล์ใน Vi Vi มีคำสั่งการเคลื่อนไหวมากมาย ซึ่งหลายคำสั่งเราจะมาดูกันตอนนี้ สำหรับบทช่วยสอนในส่วนนี้ ให้ค้นหาไฟล์ข้อความที่มีค่าต่ำ (สิ่งที่ต้องทำ: ดีกว่าในภาษาอังกฤษ) แล้วโหลดลงใน Vi โดยพิมพ์:

vi myfile.txt

หากคุณติดตั้ง Vim ให้พิมพ์ในคอนโซล:

เป็นกลุ่ม myfile.txt

หากคุณต้องการใช้ GVim:

Gvim myfile.txt

myfile.txtควรเป็นชื่อของไฟล์ข้อความในระบบของคุณ

ภายในวี

หลังจากที่ Vi โหลดแล้ว คุณจะเห็นส่วนหนึ่งของไฟล์ข้อความที่คุณดาวน์โหลดบนหน้าจอ ยินดีด้วย คุณอยู่ใน Vi แล้ว! ไม่เหมือนกับโปรแกรมแก้ไขส่วนใหญ่ เมื่อ Vi บู๊ตขึ้นมา มันจะอยู่ในโหมดพิเศษที่เรียกว่า "โหมดคำสั่ง"- ซึ่งหมายความว่าหากคุณกดปุ่มใดปุ่มหนึ่ง (ตัวพิมพ์เล็ก L)แทนที่จะปรากฏ “l” ที่ตำแหน่งเคอร์เซอร์ คุณจะเห็นว่าเคอร์เซอร์ได้ย้ายอักขระไปทางขวาเพียงตัวเดียวเท่านั้น ในโหมดคำสั่ง อักขระที่พิมพ์บนแป้นพิมพ์จะถูกใช้เป็นคำสั่งสำหรับ Vi แทนที่จะเป็นอักขระที่จะใส่ลงในข้อความ หนึ่งในที่สุด ประเภทที่สำคัญคำสั่งคือคำสั่งการเคลื่อนไหว ลองดูบางส่วนของพวกเขา

การนำทางผ่านเอกสาร

การเคลื่อนไหวใน Vi ตอนที่ 1

ขณะอยู่ในโหมดคำสั่ง คุณสามารถใช้ปุ่มต่างๆ ได้ ,,และ เพื่อเลื่อนเคอร์เซอร์ไปทางซ้าย ลง ขึ้น และขวาตามลำดับ หากคุณใช้ Vi เวอร์ชันใหม่ คุณสามารถใช้ปุ่มลูกศรเพื่อจุดประสงค์นี้ได้ กุญแจ ,,และ จะดีกว่า เนื่องจากเมื่อคุณคุ้นเคยกับมันแล้ว คุณจะสามารถเลื่อนดูไฟล์ได้โดยไม่ต้องโบกมือบนคีย์บอร์ด เพื่อเคลื่อนที่ไปมา ไฟล์ข้อความใช้คีย์ต่อไปนี้:

ลองใช้ จนกระทั่งถึงต้นบรรทัด โปรดทราบว่า Vi จะป้องกันไม่ให้คุณข้ามไปยังบรรทัดก่อนหน้าโดยการกด หากคุณอยู่ที่ต้นบรรทัด ในทำนองเดียวกันจะไม่อนุญาตให้คุณข้ามไปยังบรรทัดถัดไปโดยการกด ที่ท้ายบรรทัด

การเคลื่อนที่ใน Vi ตอนที่ 2

วีจัดให้ ทีมพิเศษเพื่อข้ามไปยังจุดเริ่มต้นและจุดสิ้นสุดของบรรทัดปัจจุบัน:

    0 (ศูนย์)– ข้ามไปที่อักขระตัวแรกในบรรทัด

    $ – ข้ามไปยังอักขระตัวสุดท้ายในบรรทัด

เนื่องจาก Vi มีคำสั่งการนำทางมากมาย จึงสามารถใช้เป็นเพจเจอร์ที่ดีได้ (เช่น คำสั่งมากหรือน้อย) ด้วยการใช้ Vi เพื่อดู คุณจะได้เรียนรู้คำสั่งการเคลื่อนไหวทั้งหมดอย่างรวดเร็ว

คุณยังสามารถใช้ และ เพื่อก้าวไปข้างหน้าและข้างหลังตรงไปที่หน้า Vi เวอร์ชันใหม่ (เช่น Vim) อาจอนุญาตให้คุณใช้การกดแป้นพิมพ์เพื่อจุดประสงค์นี้ได้ และ

การผสมผสาน หมายถึงการรวมกันที่สำคัญ +- ในหลาย ๆ แหล่งเกี่ยวกับ Vim คุณสามารถค้นหาการกำหนดคีย์ผสมดังกล่าวได้ คุณมักจะพบการกำหนดต่อไปนี้: ^ฟ

การย้ายคำ ตอนที่ 1

Vi ยังให้คุณเลื่อนไปทางซ้ายและขวาด้วยคำพูด:

    – กดเพื่อเลื่อนไปที่ตัวอักษรตัวแรกของคำถัดไป

    – เลื่อนไปที่อักขระตัวสุดท้ายถัดไปของคำว่า กด

    – คุณสามารถเลื่อนไปยังอักขระตัวแรกก่อนหน้าของคำได้โดยการกด

การย้ายคำ ตอนที่ 2

หลังจากลองใช้คำสั่งย้ายแล้ว คุณอาจสังเกตเห็นว่า Vi นับคำเช่น "foo-bar-oni" เป็นคำที่แตกต่างกันห้าคำ! เนื่องจากตามค่าเริ่มต้น Vi จะแยกคำด้วยการเว้นวรรคหรือเครื่องหมายวรรคตอน (ซึ่งนับเป็นคำด้วย) ดังนั้น foo-bar-oni จึงถือเป็นห้าคำ: "foo", "-", "bar", "-" และ "oni"

บางครั้งคุณก็ต้องการมันแบบนั้น และบางครั้งคุณก็ไม่ต้องการมัน โชคดีที่ Vi นำแนวคิดของ " คำใหญ่- vi แยกคำขนาดใหญ่ด้วยช่องว่างและจุดเริ่มต้นของบรรทัดเท่านั้น ซึ่งหมายความว่า foo-bar-oni ประกอบด้วยคำ Vi-word ห้าคำ แต่มีเพียงหนึ่งคำเท่านั้น คำใหญ่วิ.

การย้ายคำ ตอนที่ 3

หากต้องการย้ายไปยังคำขนาดใหญ่ถัดไปหรือก่อนหน้า คุณสามารถใช้คำสั่งย้ายคำ "ตัวพิมพ์ใหญ่" โดยการกดปุ่มต่อไปนี้ คุณจะถูกนำไปที่:

    - อักขระตัวแรกของคำใหญ่ถัดไป

    อี- อักขระตัวสุดท้ายถัดไปของคำใหญ่

    บี- นำหน้าอักขระตัวแรกของคำขนาดใหญ่

ข้ามยาว

เหลือคำสั่งอีกสองสามคำสั่งที่ต้องพิจารณา และคุณสามารถเริ่มจดคำสั่งเหล่านั้นลงในแผ่นโกงได้ คุณสามารถใช้วงเล็บ:

    (และ ) เพื่อไปยังจุดเริ่มต้นของประโยคก่อนหน้าและประโยคถัดไป

    { หรือ } (วงเล็บปีกกา) – ให้คุณข้ามไปยังจุดเริ่มต้นของย่อหน้า

ออก

เราได้ครอบคลุมคำสั่งการเคลื่อนไหวขั้นพื้นฐานไปแล้ว แต่ยังมีคำสั่งสองสามคำสั่งที่คุณต้องรู้ โดยพิมพ์:

    :qคุณต้องออกจาก Vi หากไม่ได้ผล แสดงว่าคุณสามารถเปลี่ยนแปลงไฟล์ได้

    :คิว!ออกจากการละทิ้งการเปลี่ยนแปลงโดยใช้คำสั่ง

ตอนนี้คุณควรจะอยู่ที่พรอมต์คำสั่งของระบบ

คำสั่งใดๆ ใน Vi ที่ขึ้นต้นด้วยโคลอน (Colon) เรียกว่าคำสั่ง ex-modeเนื่องจาก Vi มีโปรแกรมแก้ไขนอกหน้าจอในตัวที่เรียกว่า อดีต- สามารถใช้คล้ายกับ sed เพื่อดำเนินการแก้ไขแบบบรรทัด นอกจากนี้อย่างที่เราเพิ่งเห็นมันสามารถใช้เพื่อปิดงานได้ หากบังเอิญกด ขณะที่อยู่ในโหมดคำสั่ง คุณจะจบลงที่โหมดอดีตได้ ในกรณีนี้ คุณจะต้องเผชิญกับข้อความแจ้ง /// และการกด Enter จะย้ายเนื้อหาของหน้าจอขึ้น หากต้องการกลับสู่โหมด vi ปกติ เพียงพิมพ์ วิและกด .

การบันทึกและการแก้ไข

บันทึก (บันทึก) และ บันทึกเป็น... (บันทึกเป็น...)

เราได้เห็นแล้วว่าการใช้คำสั่ง ex เป็นอย่างไร :qทางออกที่ 6

    :w ชื่อไฟล์– เพื่อบันทึกภายใต้ชื่ออื่น

ใน Vim (และลูกหลานของ Vi อื่นๆ เช่น elvis) คุณสามารถเปิดบัฟเฟอร์หลายรายการไว้พร้อมกันได้ ป้อนคำสั่ง

    :sp ชื่อไฟล์.txtเพื่อเปิด filename.txt ในหน้าต่างใหม่

    :sp(ไม่มีชื่อไฟล์) จะเปิดขึ้นมา หน้าต่างเพิ่มเติมสำหรับบัฟเฟอร์ที่ใช้งานอยู่

หากต้องการสลับระหว่างหน้าต่าง ให้คลิก ,(สองครั้ง +) - ทีมใดก็ได้ :q, :q!, :wและ :xใช้กับหน้าต่างที่ใช้งานอยู่เท่านั้น

แก้ไขได้ง่าย

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

    เจ– เชื่อมต่อท่อระบายน้ำถัดไปกับท่อระบายน้ำปัจจุบัน

    r+สัญลักษณ์– การแทนที่อักขระด้วยอักขระ

    วว– การถอดท่อระบายน้ำปัจจุบัน

การทำซ้ำและการลบ

คุณสามารถทำซ้ำคำสั่งแก้ไขได้โดยกดปุ่ม<. > (จุด) หากได้ลองจะเห็นว่าประทับตรา ว...จะลบ 4 บรรทัดและ เจ……จะเชื่อมเจ็ดบรรทัดเข้าด้วยกัน และเช่นเคย Vi มีเครื่องมือที่ช่วยประหยัดแรงงานที่สะดวกสบายมากมายให้กับคุณ

คุณยังสามารถลบข้อความโดยรวมคำสั่งได้ พร้อมคำสั่งการเคลื่อนไหวใดๆ ตัวอย่างเช่น, dwจะลบส่วนหนึ่งของข้อความจากตำแหน่งเคอร์เซอร์ปัจจุบันจนถึงจุดเริ่มต้นของคำถัดไป ง)จะลบไปจนสุดประโยคถัดไปและ ง)จะลบส่วนที่เหลือทั้งหมดของย่อหน้า ทดลองกับคำสั่ง และคำสั่งแก้ไขอื่นๆ จนกว่าคุณจะพอใจ

โหมดป้อนข้อความ

เราได้กล่าวถึงวิธีการนำทาง อ่าน/เขียนไฟล์ และการดำเนินการแก้ไขขั้นพื้นฐานใน vi แล้ว อย่างไรก็ตาม ฉันยังไม่ได้อธิบายวิธีการพิมพ์ข้อความตามอำเภอใจเลย! นี่เป็นการกระทำโดยตั้งใจ เนื่องจากโหมดป้อนข้อความใน Vi นั้นซับซ้อนเล็กน้อยในตอนแรก อย่างไรก็ตาม เมื่อคุณคุ้นเคยกับโหมดการพิมพ์แล้ว ความซับซ้อน (และความยืดหยุ่น) นี้จะกลายเป็นทรัพย์สินที่แท้จริง

ใน Vi ในโหมดป้อนข้อความ คุณสามารถป้อนข้อความ "บนหน้าจอโดยตรง" ได้เช่นเดียวกับในโปรแกรมแก้ไขหน้าจออื่นๆ ส่วนใหญ่ เมื่อคุณทำการเปลี่ยนแปลงแล้ว คุณสามารถคลิกได้

    Esc– กลับสู่โหมดคำสั่ง

    ฉันหรือ – กลับ/เข้าสู่โหมดอินพุต

อย่าลืมกรอกข้อความแล้วกด เพื่อกลับสู่โหมดคำสั่ง

รวมทีม

Vi จะทรงพลังมากเมื่อคุณเริ่มใช้คำสั่งรวม (หรือรวมกัน) เช่น ง(และ ตาม- นอกจากคำสั่งเหล่านี้แล้ว คุณยังสามารถรวมตัวเลขเข้ากับคำสั่งย้ายใดๆ ได้ เช่น 3วซึ่งบอกให้ Vi กระโดดไปข้างหน้าสามคำ ต่อไปนี้คือตัวอย่างเพิ่มเติมของคำสั่งที่รวมกันดังกล่าว: 12b, 4จ.

ด้วยการอนุญาตให้รวม (หมายเลข) (คำสั่งย้าย) Vi จึงอนุญาตให้รวมคำสั่งเข้าด้วยกัน หรือ ด้วยตัวเลขหรือคำสั่งการเคลื่อนไหว ดังนั้น d3wจะลบสามคำถัดมาออกไป ดี2เจจะลบบรรทัดปัจจุบันและสองบรรทัดถัดไปเป็นต้น ลองทดลองคำสั่งดูบ้าง และ รวมกับการเคลื่อนไหวเพื่อให้รู้สึกว่าการแก้ไขมีประสิทธิภาพและรัดกุมใน Vi เมื่อคำสั่งเหล่านี้กลายเป็นเรื่องปกติ คุณจะสามารถแก้ไขไฟล์ได้อย่างรวดเร็วอย่างไม่น่าเชื่อ

ผลผลิตเพิ่มขึ้น

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

อย่างไรก็ตาม Vi มีคำสั่งที่ทรงพลังกว่ามากมาย ในส่วนนี้คุณจะได้เรียนรู้วิธีการตัด คัดลอกและวาง ค้นหาและแทนที่ข้อความ และวิธีการใช้งาน เยื้องอัตโนมัติ(เยื้องอัตโนมัติ) คำสั่งเหล่านี้จะช่วยให้ Vi สนุกสนานและมีประสิทธิภาพมากขึ้น

โหมดหน้าจอ

วิธีที่ดีที่สุดในการตัดและวางข้อความคือการใช้โหมดหน้าจอ ซึ่งเป็นโหมดพิเศษที่เพิ่มเข้ามา รุ่นที่ทันสมัย Vi เช่น Vim และ elvis คุณจินตนาการได้ไหม โหมดหน้าจอเป็นโหมด "การเน้นข้อความ" ข้อความที่เลือกสามารถคัดลอกหรือลบแล้ววางได้ หากคุณใช้ GVim คุณสามารถเลือกส่วนของข้อความได้เพียงแค่คลิก ปุ่มซ้ายเมาส์แล้วลากเคอร์เซอร์ไปบนพื้นที่ที่ต้องการ คุณยังสามารถเข้าสู่โหมดหน้าจอได้ด้วยการกด v (นี่อาจเป็นตัวเลือกเดียวของคุณหากคุณใช้ Vi ในคอนโซล) จากนั้นด้วยการเลื่อนเคอร์เซอร์ด้วยคำสั่งย้าย (โดยปกติจะเป็นลูกศร) คุณสามารถเลือกพื้นที่ของข้อความได้ เมื่อเลือกเสร็จแล้ว คุณก็พร้อมที่จะตัดหรือคัดลอกข้อความแล้ว

หากต้องการคัดลอกข้อความ คลิก (จากคำว่า "yank") หากต้องการตัดข้อความ ให้คลิก - คุณจะถูกโอนกลับสู่โหมดคำสั่ง ตอนนี้ย้ายไปยังตำแหน่งที่คุณต้องการวางข้อความที่ตัดหรือคัดลอกแล้วคลิก (ตัวพิมพ์ใหญ่) เพื่อแทรกหน้าเคอร์เซอร์หรือ พี(ตัวพิมพ์เล็ก) เพื่อแทรกหลังเคอร์เซอร์ เพียงเท่านี้ การคัดลอก/ตัดและวางก็เสร็จสิ้น! ตอนนี้ให้คัดลอก/ตัดและวางอีกสองสามครั้งก่อนที่จะไปยังส่วนถัดไป

เพื่อวางเนื้อหาของคลิปบอร์ดลงในโปรแกรมแก้ไข (ที่คุณคัดลอกข้อมูลไว้ + ) คุณต้องติดตั้งยูทิลิตี้ xclip

apt-get ติดตั้ง xclip

และการคัดลอก ข้อความที่ต้องการทำงานในโหมดคำสั่งของตัวแก้ไข

:ร! xclip -oและกด .

การแทนที่ข้อความ

เราใช้โหมดอดีตเพื่อแทนที่ตัวอย่างข้อความ หากคุณต้องการแทนที่รูปแบบแรกที่พบในบรรทัดปัจจุบัน ให้พิมพ์:

:s/ // และกด , ที่ไหน - สิ่งที่คุณต้องการเปลี่ยนและ - เพื่ออะไร?

หากต้องการแทนที่รายการที่ตรงกันทั้งหมดด้วยรูปแบบในบรรทัดปัจจุบัน ให้ใช้คำสั่ง:

    :%s/ //ก– แทนที่แต่ละรูปแบบที่เกิดขึ้นในไฟล์ทั้งหมด (ซึ่งโดยปกติจำเป็น)

และอย่าลืมหลังจากพิมพ์คำสั่งแล้วให้กด .

การคัดเลือก

Vi รองรับการเยื้องอัตโนมัติเมื่อคุณแก้ไขแหล่งที่มา (ข้อความของโปรแกรม) Vi เวอร์ชันใหม่ส่วนใหญ่ (เช่น Vim) สามารถเปิดใช้งานการเยื้องย่อหน้าอัตโนมัติได้โดยอัตโนมัติเมื่อคุณแก้ไขไฟล์ต้นฉบับ (เช่น ไฟล์เช่น .c)

    :set เยื้องอัตโนมัติ– เปิดใช้งานการเยื้องอัตโนมัติ

    :set tabstop=(ตัวเลข)– ตั้งค่าแท็บอัตโนมัติ (โดยที่ตัวเลขคือจำนวนอักขระแท็บ)

หากเปิดใช้งานการเยื้องอัตโนมัติ คุณสามารถใช้ได้ เพื่อลดและ เพื่อเพิ่มระดับการเยื้อง

ลิงค์

มีประโยชน์

ภาพพื้นหลังที่อธิบายแป้นพิมพ์ลัดและคำสั่ง

ขนาด: 1366x768
หากต้องการดาวน์โหลด ให้คลิกที่รูปภาพ ในหน้าต่างที่ปรากฏขึ้น ให้คลิกที่รูปภาพอีกครั้งเพื่อขยายและคลิก คลิกขวา"บันทึกภาพเป็น..."

คอมพิวเตอร์ยุคใหม่ล้วนสร้างจากระบบปฏิบัติการที่มีอินเทอร์เฟซแบบกราฟิก ทุกวันนี้ ไม่ใช่ทุกคนที่จำได้ว่าเมื่อ 40 ปีที่แล้ว การควบคุมทั้งหมดดำเนินการโดยใช้วิธีพิเศษ คำสั่งข้อความและการทำงานกับคอมพิวเตอร์ก็คล้ายกับการสื่อสารทางแชททางเดียว และแม้จะมีการเปลี่ยนแปลงครั้งใหญ่ในโลกของอุปกรณ์อิเล็กทรอนิกส์ แต่แฟน ๆ จำนวนมากยังคงอยู่ บรรทัดคำสั่งและผลิตภัณฑ์ที่ควบคุมด้วยคำสั่งข้อความเท่านั้น ตัวอย่างเช่นตัวแก้ไข vi ซึ่งถือว่าเป็นหนึ่งในวิธีที่สะดวกที่สุดและถูกต้อง เครื่องมือที่ยืดหยุ่นสำหรับการพิมพ์ข้อความมาจนถึงทุกวันนี้ ในเนื้อหาด้านล่าง เราจะมาดูรายละเอียดว่า vi คืออะไร คำแนะนำสำหรับโปรแกรมแก้ไข คำสั่งพื้นฐาน และความสามารถ - อ่านรายละเอียดทั้งหมดนี้ด้านล่าง

วีคืออะไร?

โดยแก่นแท้แล้ว vi ไม่มีอะไรมากไปกว่าโปรแกรมแก้ไขข้อความแบบคลาสสิก ซึ่งมีอยู่มากมายในช่วงต้นทศวรรษที่ 70 ถึงปลายทศวรรษที่ 90 อันนี้ได้รับการพัฒนาย้อนกลับไปในปี 1976 ความคิดที่จะสร้างใหม่ที่เรียบง่าย โปรแกรมแก้ไขข้อความนึกถึงบิล จอย ซึ่งตอนนั้นใช้ผลิตภัณฑ์ยอดนิยมอีกอย่างหนึ่ง - เอ็ด ตามที่จอยและเพื่อนร่วมงานของเขากล่าวไว้ เอ็ดมีความซับซ้อนเกินไปและ “มนุษย์ธรรมดา” ไม่สามารถเชี่ยวชาญมันได้อย่างเต็มที่ ด้วยเหตุนี้ George Coloris จึงสร้างโปรแกรมแก้ไขข้อความของตัวเองขึ้นมา ซึ่งเรียกอย่างแดกดันว่า "โปรแกรมแก้ไขสำหรับปุถุชน" จากนั้น Bill ก็แก้ไขและนำไปสู่ ดูทันสมัยซึ่งยังคงมีอยู่จนทุกวันนี้

ความต้องการของระบบ

ไม่มี ข้อกำหนดเบื้องต้นไม่มีบรรทัดคำสั่งหรือโปรแกรมแก้ไขข้อความเช่น vi สำหรับการเรียนรู้บรรทัดคำสั่ง คุณสามารถเริ่มต้นจากศูนย์และบนแพลตฟอร์มใดก็ได้ ไม่ว่าจะเป็นระบบที่เหมือน UNIX (และ "ทางแยก" จากระบบเหล่านั้น) หรือการกระจายบน บนพื้นฐานลินุกซ์- ในแต่ละอันคุณสามารถติดตั้ง vi ในรูปแบบใดรูปแบบหนึ่งได้ มีโปรแกรมแก้ไข vi สำหรับ Windows ด้วย

ตัวเลือกของลูกค้า

ก่อนที่คุณจะเริ่มทำงานกับ vi คุณต้องเลือกไคลเอนต์ที่เหมาะสม แน่นอน คุณสามารถใช้โปรแกรมแก้ไขต้นฉบับได้ แต่จะมีความสามารถจำกัดและดูสับสนเกินไป ดังนั้นคุณควรใส่ใจกับแอปพลิเคชันต่อไปนี้:

  • วิมเป็น เวอร์ชันที่แก้ไขแล้วบรรณาธิการคลาสสิก คุณสมบัติหลักโปรแกรมนี้คือความสามารถในการติดตั้งส่วนขยายที่กำหนดเอง เช่น การเน้นไวยากรณ์ การสนับสนุน Unicode การสนับสนุนมาโคร การบันทึกแต่ละเซสชัน และอื่นๆ อีกมากมาย นอกจากนี้ยังมีเวอร์ชัน GUI ที่เรียกว่า GVim
  • Elvis เป็นหนึ่งใน vi โคลนแรกๆ ที่เขียนด้วยภาษาโปรแกรม C และพร้อมใช้งานบนทุกแพลตฟอร์มในคราวเดียว เป็นตัวแก้ไขแบบเต็มหน้าจอที่รองรับ Windows และการเน้นไวยากรณ์
  • Vile เป็นความพยายามที่จะรวมโปรแกรมแก้ไขข้อความยอดนิยมที่ดีที่สุดสองตัวเข้าด้วยกัน มีความบาดหมางที่ไม่ได้พูดในหมู่ผู้ใช้โปรแกรมแก้ไขข้อความ Emacs และ vi นักพัฒนาของวิลล์พยายามรวมตัวกัน คุณสมบัติที่สำคัญทั้งสองโปรแกรมเพื่อให้ผู้ใช้งาน เครื่องมือสากลสำหรับการทำงานกับข้อความ
  • Nvi เป็นตัวแก้ไข vi แบบคลาสสิกที่คอมไพล์ใหม่สำหรับระบบ FreeBSD โดยเฉพาะ
  • Viper ไม่ได้เป็นไคลเอนต์แยกต่างหาก แต่เป็นเพียงปลั๊กอินสำหรับโปรแกรมแก้ไขข้อความ Emacs ยอดนิยมที่ให้คุณจำลองคำสั่งของโปรแกรมแก้ไขข้อความ vi

เริ่มต้นใช้งาน vi

เป็นไปได้มากว่าคุณไม่จำเป็นต้องดาวน์โหลดอะไรเลยเพื่อใช้งานโปรแกรมแก้ไข ลีนุกซ์ส่วนใหญ่มาพร้อมกับ vi รวมอยู่ด้วย ที่จริงแล้วในการเริ่มต้นคุณเพียงแค่ต้องป้อนคำสั่งที่เหมาะสมและระบุไฟล์ที่ควรเปิด หากคุณต้องการเปิดไฟล์เป็นกลุ่มคุณต้องเขียนว่า “vim *ชื่อไฟล์*.txt” หลังจากนี้เอกสารจะปรากฏขึ้นตรงหน้าคุณ เพื่อเปิดมันเข้าไป อินเตอร์เฟซแบบกราฟิกคุณต้องแทนที่คำสั่งด้วย - “gvim *file name*.txt” ในตอนแรก คุณจะถูกนำเข้าสู่โหมดคำสั่ง เอดิเตอร์ vi ทำงานในสองโหมด: โหมดแก้ไขและโหมดคำสั่ง อันแรกใช้สำหรับป้อนข้อความ และอันที่สองใช้สำหรับการนำทางและใช้งานฟังก์ชันต่างๆ เช่น การบันทึก เริ่มจากโหมดคำสั่งและการนำทางกันก่อน

การนำทาง

ขั้นแรก คุณควรทำความคุ้นเคยกับคำสั่งในโปรแกรมแก้ไข vi ที่อนุญาตให้คุณย้ายเคอร์เซอร์ในเอกสาร โดยพื้นฐานแล้ว ปุ่มที่ใช้สำหรับสิ่งนี้คือ h, j, k, l ซึ่งมีหน้าที่ในการเลื่อนไปทางซ้าย ลง ขึ้น และขวา ตามลำดับ โดยหลักการแล้ว vi เวอร์ชันใหม่ รวมถึง vim และ forks แบบกราฟิก รองรับการทำงานกับลูกศร แต่บังคับตัวเองให้ใช้ รุ่นคลาสสิกคุณจะคุ้นเคยกับมันเมื่อเวลาผ่านไปและเข้าใจว่ามันเร็วและสะดวกกว่ามาก คุณลักษณะเดียวที่อาจทำให้เกิดความสับสนคือการขาดความสามารถในการย้ายไปยัง บรรทัดบนสุด h และ l ปุ่ม j และ k ใช้เพื่อเลื่อนขึ้นและลงเสมอ หากต้องการย้ายไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัด ให้ใช้ปุ่ม 0 และ $ หากต้องการย้ายไปมาระหว่างหน้าต่างๆ ให้ใช้แป้นพิมพ์ลัด Ctrl + F และ Ctrl + B

หากต้องการย้ายไปมาระหว่างคำ ให้ใช้ปุ่ม w, e, b หากต้องการเลื่อนไปยังอักขระตัวแรกของคำถัดไปทันที ให้กด w เพื่อย้ายไปที่ อักขระตัวสุดท้ายคำถัดไป กด E หากต้องการเลื่อนไปยังอักขระตัวแรกของคำก่อนหน้า ให้กด b นอกจากนี้ยังมีการจับเล็กน้อยที่นี่ ประเด็นก็คือว่า คำพูดที่ยากลำบากตัวแก้ไขจะแบ่งตามช่องว่างและขีดกลาง แต่ละคำ- ซึ่งหมายความว่าสำนวน - night-drive จะนับเป็นสาม ด้วยคำพูดที่แตกต่างกัน- เพื่อหลีกเลี่ยงการเสียเวลากระโดดข้ามเส้นประ คุณสามารถใช้คำสั่งกับ เป็นตัวพิมพ์ใหญ่นั่นคือ W ร่วมกับ w หรือ B ร่วมกับ b

เพื่อการกระโดดที่น่าประทับใจยิ่งขึ้น ให้ใช้วงเล็บ () และ () ความช่วยเหลือแบบแรกจะย้ายไปมาระหว่างประโยค ในขณะที่รายการอื่นๆ อยู่ระหว่างทั้งย่อหน้า

ที่สุด วิธีที่สะดวกการเคลื่อนไหวกำลังเคลื่อนที่ไปตามเส้นและ คำหลัก- เพื่อเลื่อนเคอร์เซอร์ไปที่ สตริงเฉพาะจะต้องกรอกหมายเลขบรรทัดและ G (ต้องมีตัว G พิมพ์ใหญ่) เพื่อย้ายไปที่ คำเฉพาะคุณต้องเริ่มการค้นหาโดยใช้สัญลักษณ์ / ตัวอย่างเช่น หากคุณต้องการค้นหาคำว่า anaphora ให้พิมพ์ /anaphora แล้วกด Enter เพื่อย้ายไปมาระหว่าง คำค้นหาให้ใช้ปุ่ม n และ N

การแก้ไขและการบันทึก

ก่อนอื่น มาดูวิธีออกจากโปรแกรมแก้ไข vi กันก่อน ซึ่งสามารถทำได้โดยใช้คำสั่ง:q ซึ่งจะปิดโปรแกรมโดยไม่มีการเปลี่ยนแปลงใดๆ เป็นที่น่าสังเกตว่าคุณไม่สามารถปิดโปรแกรมได้หากมีการเปลี่ยนแปลงใดๆ ในเอกสาร นี่เป็นการป้องกันข้อมูลสูญหาย ดังนั้นคุณควรบันทึกข้อมูลที่ป้อนก่อนออกเสมอ การบันทึกในโปรแกรมแก้ไข vi ทำได้โดยใช้คำสั่ง:w สามารถรวมทีมได้ เช่น การพิมพ์:wq จะบันทึกข้อมูลและออกจากโปรแกรมไปพร้อมๆ กัน แต่นั่นไม่ใช่ทั้งหมด หากคุณต้องการบันทึกเอกสารที่แก้ไขในไฟล์ใหม่ คุณต้องใช้คำสั่ง vi editor - “Save to file” ซึ่งใช้งานได้โดยการป้อน: w *ชื่อไฟล์*.txt

ตอนนี้เรามาพูดถึงการแก้ไขแบบ "ธรรมดา" ซึ่งใช้คำสั่งที่คล้ายกันโดยไม่ต้องเปลี่ยนเนื้อหาของเอกสาร ตัวอย่างเช่น หากต้องการลบอักขระ ให้ใช้ปุ่ม x และใช้ปุ่ม J เพื่อต่อท้ายสองบรรทัดระหว่างกัน หากต้องการลบทั้งบรรทัด ให้ใช้ แตะสองครั้งคีย์ d คุณสามารถแทนที่อักขระได้โดยใช้ปุ่ม r

คำสั่งใดๆ ที่อธิบายไว้ข้างต้นสามารถทำซ้ำได้ (หรือทำซ้ำหลายๆ ครั้ง) โดยใช้คีย์ (จุด) ตัวอย่างเช่น คุณสามารถลบสี่บรรทัดพร้อมกันได้โดยป้อน dd....

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

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

โหมดการแก้ไข

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

โหมดภาพ คัดลอกและวาง

เมื่อใช้เรามักจะหันไปใช้ฟังก์ชันการคัดลอกและวางข้อความ เราคุ้นเคยกับความร้อน ปุ่ม Ctrl+ C และ Ctrl + V ในยุคสมัยใหม่ ระบบปฏิบัติการดังนั้นการทำงานใน vi จึงดูน่ากังวล ที่จริงแล้ว คุณเพียงแค่ต้องสลับไปที่โหมดภาพ จากนั้นใช้คำสั่งที่คุณได้เรียนรู้ไปแล้วเพื่อเลือกและคัดลอกข้อความที่ต้องการ การคัดลอกใน vi (เหมือนกับการวาง) ใช้งานได้ในโหมดภาพพิเศษเท่านั้น (เปิดใช้งานโดยปุ่ม v) ในโหมดภาพ ข้อความบางส่วนในเอกสารจะถูกไฮไลต์ สามารถเปลี่ยนพื้นที่ที่ไฮไลต์ได้โดยใช้ปุ่มนำทางและการผสมผสาน จากนั้น เมื่อเลือกพื้นที่ที่ต้องการแล้ว เพียงกด y เพื่อคัดลอกข้อความหรือ d เพื่อตัด (ลบออกจากพื้นที่ที่เลือก) การแทรกข้อความทำได้ง่ายเหมือนกับการเลื่อนเคอร์เซอร์ไป พื้นที่ที่ต้องการแล้วกด P ข้อความจะปรากฏบริเวณด้านหลังเคอร์เซอร์ทันที

คำสั่งที่ซับซ้อน

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

คุณยังสามารถใช้ตัวเลขกับคำสั่งย้ายบางคำสั่งได้ ตัวอย่างเช่น หากคุณต้องการย้ายไม่ใช่คำเดียว แต่ต้องการย้าย 6 คำในคราวเดียว แทนที่จะกด w หกครั้ง คุณสามารถป้อน 6w ได้เลย ด้วยตัวเลข คุณสามารถรวมสองคำสั่งพร้อมกันได้ ตัวอย่างเช่น หากต้องการลบหลายคำในคราวเดียว คุณสามารถใช้คำสั่ง d5w ซึ่งจะลบ 5 คำในคราวเดียว ดังนั้น การใช้ร่วมกับวงเล็บจะลบบรรทัด ย่อหน้า และอื่นๆ

การแทนที่ข้อความ

จาก คุณสมบัติเพิ่มเติมคุ้มค่าที่จะเน้นถึงความสามารถในการแทนที่ข้อความทั้งหมดรวมถึงส่วนที่ตรงกันทั้งหมดในเอกสารทั้งหมด แค่นี้ก็เพียงพอแล้ว ตัวเลือกที่มีประโยชน์โดยเฉพาะเมื่อ เรากำลังพูดถึงโอ รหัสโปรแกรมหรือกรอกแบบสอบถามขนาดใหญ่ที่มีข้อมูลซ้ำซ้อน สมมติว่าบรรทัดข้อความที่เลือกมีคำอธิบายนิพจน์ แต่เราต้องการเปลี่ยนเป็นอย่างอื่น เช่น การให้อาหารทางความคิด ในกรณีนี้ คำสั่งจะมีลักษณะดังนี้ - :s/explanation/giving food for thought/ หากต้องการแทนที่การอ้างอิงคำอธิบายในเอกสารทั้งหมด คุณสามารถทำให้คำสั่งซับซ้อนขึ้นเล็กน้อย จากนั้นคำสั่งจะมีลักษณะดังนี้ - :%s/explanation/giving food for thought/g

แทนที่จะได้ข้อสรุป

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

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

แนวคิดพื้นฐาน

ตลอดเวลาขณะทำงานเป็นบรรณาธิการ วิคุณอยู่ในหนึ่งในนั้น สามโหมดบรรณาธิการ:

  • โหมดคำสั่ง ( โหมดคำสั่ง);
  • โหมดอินพุต ( โหมดแทรก);
  • โหมดบรรทัดสุดท้าย ( โหมดบรรทัดสุดท้าย).

เมื่อเริ่มต้นโปรแกรมแก้ไข วิคุณพบว่าตัวเองอยู่ใน โหมดคำสั่ง- ในโหมดนี้ คุณสามารถออกคำสั่งเพื่อแก้ไขไฟล์หรือสลับไปยังโหมดอื่นได้ ตัวอย่างเช่น โดยการป้อน x ในโหมดคำสั่ง เราจะลบอักขระที่เคอร์เซอร์ชี้ไป ปุ่มลูกศรเลื่อนเคอร์เซอร์ไปตามไฟล์ที่กำลังแก้ไข โดยทั่วไป คำสั่งที่ใช้ในโหมดคำสั่งจะมีความยาวหนึ่งหรือสองตัวอักขระ

ดำเนินการป้อนและแก้ไขข้อความขั้นพื้นฐาน โหมดอินพุต- เมื่อใช้โปรแกรมแก้ไข วิเวลาส่วนใหญ่มักจะอยู่ในโหมดนี้ การเปลี่ยนไปใช้โหมดอินพุตจากโหมดคำสั่งจะดำเนินการด้วยคำสั่ง i (ย่อมาจาก แทรก- ขณะอยู่ในโหมดป้อนข้อมูล คุณสามารถป้อนข้อความตรงจุดที่เคอร์เซอร์ชี้ได้ ออกจากโหมดอินพุตไปยังโหมดคำสั่งโดยใช้ปุ่ม Esc

โหมด บรรทัดสุดท้าย - โหมดพิเศษซึ่งกำหนดคำสั่งที่ซับซ้อนให้กับเอดิเตอร์ เมื่อคุณป้อนคำสั่งเหล่านี้ คำสั่งเหล่านั้นจะปรากฏที่บรรทัดสุดท้ายของหน้าจอ (จึงเป็นชื่อของโหมด) ตัวอย่างเช่น หากคุณป้อนคำสั่งในโหมดคำสั่ง: คุณจะสลับไปที่โหมดบรรทัดสุดท้าย และคุณสามารถป้อนคำสั่งเช่น wq (เขียนไฟล์และออกจากโปรแกรมแก้ไข วิ) หรือ คิว! (ออกจากตัวแก้ไข วิโดยไม่บันทึกการเปลี่ยนแปลง) ในโหมดบรรทัดสุดท้าย คุณมักจะป้อนคำสั่งที่ชื่อประกอบด้วยอักขระหลายตัว ในโหมดนี้ คำสั่งจะถูกป้อนในบรรทัดสุดท้าย หลังจากนั้นกดปุ่ม Enter และดำเนินการคำสั่ง

เปิดตัวบรรณาธิการ วิ

เพื่อทำความเข้าใจแนวคิดของบรรณาธิการทั้งหมด วิมารันและสร้างมันกันเถอะ ไฟล์ใหม่ตามชื่อ ทดสอบ:

$ ทดสอบ vi ~ ~ ~ ~ ~ ~ "ทดสอบ"

คอลัมน์อักขระ ~ หมายถึง เส้นว่างเคอร์เซอร์อยู่ที่จุดเริ่มต้นของบรรทัดแรก

การป้อนข้อความ

ขณะนี้เครื่องมือแก้ไข Vi อยู่ในโหมดคำสั่ง กดปุ่ม i และตัวแก้ไขจะสลับไปที่โหมดป้อนข้อความ ตอนนี้ให้ป้อนข้อความต่อไปนี้:

ผู้ใช้หลายคนชอบ Emacs โปรแกรมแก้ไขเทพนิยาย -

ป้อนจำนวนบรรทัดเท่าใดก็ได้ โดยกดหลังจากแต่ละบรรทัด ใส่รหัส- คุณสามารถแก้ไขการพิมพ์ผิดโดยใช้ปุ่ม Backspace หากต้องการออกจากโหมดอินพุตและกลับสู่โหมดคำสั่ง ให้กดปุ่ม Esc

ในโหมดคำสั่ง คุณสามารถใช้ปุ่มลูกศรเพื่อเลื่อนไปตามไฟล์ได้ หากมีเพียงบรรทัดเดียวในไฟล์ เมื่อคุณพยายามกดปุ่มลูกศรขึ้นหรือลง ตัวแก้ไขอาจส่งเสียงบี๊บ

นอกจากคำสั่ง i แล้ว ยังมีวิธีอื่นๆ ในการแทรกข้อความอีกด้วย ดังนั้นคำสั่ง a จะเริ่มแทรกข้อความหลังจากนั้น สถานการณ์ปัจจุบันเคอร์เซอร์และไม่ตรงกับเคอร์เซอร์ปัจจุบัน เนื่องจากข้อความถูกพิมพ์ผิดจึงใช้ปุ่มลูกศรเพื่อเลื่อนเคอร์เซอร์ไปยังช่องว่างเพื่อแยกคำ มอบให้และ เทพนิยาย- ตอนนี้กดปุ่ม a (ตัวแก้ไขจะเปลี่ยนเป็นโหมดอินพุต) และเข้าไปด้านล่าง จากนั้นกดปุ่ม Esc และกลับสู่โหมดคำสั่ง สิ่งต่อไปนี้จะปรากฏบนหน้าจอ:

หากต้องการป้อนข้อความจาก บรรทัดถัดไปให้ใช้คำสั่ง o กดปุ่มนี้และป้อนข้อความหนึ่งหรือสองบรรทัด:

ผู้ใช้หลายคนชอบตัวแก้ไขที่แนะนำใน Emacs การเลือกโปรแกรมแก้ไขข้อความมักเป็นเรื่องของรสนิยมส่วนบุคคล -

กำลังลบข้อความ

ในโหมดคำสั่ง การกดปุ่ม x แต่ละครั้งจะลบอักขระที่เคอร์เซอร์ชี้ไป

คุณสามารถลบบรรทัดทั้งหมดได้ด้วยคำสั่ง dd (นั่นคือ โดยการกดปุ่ม d สองครั้งติดต่อกัน) หากเคอร์เซอร์อยู่บนบรรทัดที่สองและคุณป้อนคำสั่ง dd สิ่งต่อไปนี้จะปรากฏบนหน้าจอ:

ผู้ใช้หลายคนชอบตัวแก้ไขที่แนะนำใน Emacs -

คุณสามารถใช้คำสั่ง dw เพื่อลบคำที่เคอร์เซอร์ชี้ไป เลื่อนเคอร์เซอร์ไปที่คำ มอบให้และป้อน dw จากนั้นไปที่ word คำแนะนำแล้วเข้า dw อีกครั้ง ผลลัพธ์จะเป็นดังนี้:

ผู้ใช้หลายคนชอบโปรแกรมแก้ไข Emacs -

การเปลี่ยนข้อความ

แต่ละส่วนของข้อความสามารถแทนที่ด้วยส่วนอื่นได้ คำสั่ง R ใช้สำหรับสิ่งนี้ เลื่อนเคอร์เซอร์ไปที่อักขระตัวแรกในคำ อีแมคส์ให้กด R แล้วป้อนคำ วิ:

ผู้ใช้หลายคนชอบโปรแกรมแก้ไข vi -

การทำงานของคำสั่ง R จะคล้ายกับการทำงานของคำสั่ง i และคำสั่ง อย่างไรก็ตาม เมื่อใช้คำสั่ง R ข้อความใหม่ไม่ใส่แต่ลบอันเก่าออก

คำสั่ง r แทนที่อักขระหนึ่งตัว ซึ่งก็คืออักขระที่เคอร์เซอร์ชี้ไป

การใช้คำสั่ง ~ คุณสามารถเปลี่ยนตัวพิมพ์ของตัวอักษรที่เคอร์เซอร์ชี้ไป (จากบนลงล่างและในทางกลับกัน) เลื่อนเคอร์เซอร์ไปที่อักขระตัวแรกในคำ วิและออกคำสั่ง ~:

ผู้ใช้หลายคนชอบโปรแกรมแก้ไข Vi -

คำสั่งสำหรับการเคลื่อนที่เคอร์เซอร์

นอกจากปุ่มลูกศรแล้ว คุณสามารถใช้ปุ่ม h, j, k และ l เพื่อเลื่อนเคอร์เซอร์ได้ พวกเขาจะเลื่อนเคอร์เซอร์ไปทางซ้าย ลง ขึ้น และขวาตามลำดับ คำสั่งเหล่านี้สามารถใช้ได้หาก (ด้วยเหตุผลบางประการ) ปุ่มลูกศรทำงานไม่ถูกต้อง คำสั่ง w เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของคำถัดไป คำสั่ง b เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของคำก่อนหน้า

คำสั่ง (ปุ่มศูนย์) ย้ายเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัดปัจจุบัน และคำสั่ง $ ย้ายเคอร์เซอร์ไปที่จุดสิ้นสุด

เมื่อแก้ไข ไฟล์ขนาดใหญ่หากต้องการพลิกทั้งหน้าจอไปข้างหน้า (เช่น ลง) และย้อนกลับ (ขึ้น) ให้ใช้คำสั่ง C trl-F และ Ctrl-B ตามลำดับ

หากต้องการเลื่อนเคอร์เซอร์ไปที่ท้ายไฟล์จะใช้คำสั่ง G และคำสั่ง 10G จะวางเคอร์เซอร์ไว้ที่หมายเลขบรรทัด 10 - หากต้องการเลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของไฟล์ คุณสามารถใช้คำสั่ง 1G

คำสั่งเลื่อนเคอร์เซอร์สามารถใช้ร่วมกับคำสั่งอื่นๆ ได้ เช่น คำสั่งลบข้อความ ตัวอย่างเช่น คำสั่ง d$ จะลบทุกอย่างระหว่างตำแหน่งเคอร์เซอร์ปัจจุบันและจุดสิ้นสุดของบรรทัด คำสั่ง dG จะลบทุกอย่างระหว่างตำแหน่งเคอร์เซอร์ปัจจุบันและจุดสิ้นสุดของไฟล์ ฯลฯ

บันทึกการเปลี่ยนแปลงและออกจากโปรแกรมแก้ไข วิ

เพื่อออกจากตัวแก้ไข วิโดยไม่บันทึกการเปลี่ยนแปลงที่ทำกับไฟล์ คำสั่งจะถูกใช้: q! -

เพื่อออกจากตัวแก้ไข วิหากต้องการบันทึกการเปลี่ยนแปลง ให้ใช้คำสั่ง: wq

สลับระหว่างไฟล์

ในการเริ่มแก้ไขไฟล์อื่น ให้ใช้คำสั่ง:e ซึ่งควรป้อนหลังจากบันทึกการเปลี่ยนแปลงที่ทำด้วยคำสั่ง:w เท่านั้น มิฉะนั้น วิจะปฏิเสธที่จะเริ่มแก้ไขไฟล์ถัดไป

การแทรกเนื้อหาของไฟล์อื่น

รวมเข้าด้วย ไฟล์ปัจจุบันเนื้อหาของไฟล์อื่นสามารถป้อนได้โดยใช้คำสั่ง:r ตัวอย่างเช่น คำสั่ง:r foo.txt จะวางเนื้อหาของไฟล์ foo.txtลงในข้อความโดยเริ่มจากตำแหน่งเคอร์เซอร์ปัจจุบัน

ช่วยเหลือบรรณาธิการด้วย วิ

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