Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ
การใช้ฟีเจอร์ Vim Macro คุณสามารถบันทึกและเล่นลำดับของการกระทำภายในตัวแก้ไขได้
00
บทความนี้จะอธิบายวิธีการบันทึกและเล่นภายในโปรแกรมแก้ไข Vi และ Vim โดยใช้ตัวอย่างโดยละเอียดสองตัวอย่าง

10

ขั้นตอนระดับสูงในการบันทึกและเล่นภายใน Vim

  1. เริ่มบันทึกโดยกด q ตามด้วยอักขระตัวพิมพ์เล็กเพื่อตั้งชื่อมาโคร
  2. ดำเนินการแก้ไขทั่วไปใดๆ ภายใน Vim Editor ซึ่งจะถูกบันทึกไว้
  3. หยุดการบันทึกโดยกด q
  4. เล่นมาโครที่บันทึกไว้โดยกด @ ตามด้วยชื่อมาโคร
  5. หากต้องการทำซ้ำมาโครหลายครั้ง ให้กด :NN @ ชื่อมาโคร NN คือตัวเลข

ตัวอย่างที่ 1:การสร้างหมายเลขลำดับภายในไฟล์โดยใช้ Vim Macro

1. เริ่มไฟล์ sequence-test.txt เพื่อสร้างลำดับ

$ vim sequence-test.txt

2. ไปที่โหมดแทรกแล้วพิมพ์ “1 ” ดังที่แสดงด้านล่าง

ประเภท:Esc i ตามด้วย 1

$ vim sequence-test.txt
1.

3. เริ่มการบันทึกและจัดเก็บไว้ในทะเบียนก.

ประเภท:Esc q ตามด้วย

  • q ระบุว่าจะเริ่มการบันทึก
  • a หมายถึงการจัดเก็บการบันทึกในการลงทะเบียน
  • เมื่อคุณทำ q a มันจะแสดง "การบันทึก" ที่ด้านล่างของ vi

4. คัดลอกบรรทัดที่ 1 ไปยังบรรทัดที่ 2 เพื่อให้มีสองบรรทัดด้วย 1 ดังที่แสดงด้านล่าง

ประเภท:Esc yy ตามด้วย p

  • yy จะคัดลอกบรรทัดปัจจุบัน
  • p จะวางบรรทัดที่เพิ่งคัดลอก
$ vim sequence-test.txt
1.
1.

หมายเหตุ: Vim จะยังคงแสดงการบันทึกที่ด้านล่างดังที่แสดงด้านล่าง

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ
รูป :Vim แสดงข้อความบันทึกที่ด้านล่าง

5. เพิ่มจำนวน

ประเภท:การควบคุม
27
โดยการวางเคอร์เซอร์ไว้ที่บรรทัดที่ 2 ให้กด Ctrl+a ซึ่งจะเพิ่มตัวเลขเป็น 2 ดังที่แสดงด้านล่าง

$ vim sequence-test.txt
1.
2.

หมายเหตุ: vim จะยังคงแสดงการบันทึกที่ด้านล่าง

6. หยุดการบันทึก

ประเภท:Q
35
กด q เพื่อหยุดการบันทึก คุณจะสังเกตเห็นว่าข้อความบันทึกที่ด้านล่างของกลุ่มหายไปแล้ว

7. ทำซ้ำการบันทึก 98 ครั้ง

ประเภท:98@ก
40

  • ทำซ้ำงานนี้โดยพิมพ์ 98 @ a
  • @a ทำซ้ำมาโคร “a” หนึ่งครั้ง
  • 98@a ทำซ้ำมาโคร “a” 98 ครั้งเพื่อสร้างลำดับหมายเลข 1 – 100 ดังที่แสดงด้านล่างโดยใช้มาโคร

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ
รูป :สร้างหมายเลขลำดับในกลุ่มโดยใช้มาโคร

ตัวอย่างที่ 2:ทำซ้ำ Vim Macro ด้วยอาร์กิวเมนต์ที่แตกต่างกัน

ตัวอย่างนี้จะอธิบายวิธีที่คุณสามารถดำเนินการคำสั่งเดียวกันโดยมีอินพุตต่างกันได้ นั่นคือการวางกรอบคำสั่งเดียวกันโดยมีอาร์กิวเมนต์ต่างกัน

ก่อนดำเนินการมาโคร:change-password.sql

$ vim change-password.sql
Annette
Warren
Anthony
Preston
Kelly
Taylor
Stiller
Dennis
Schwartz

หลังจากบันทึกและดำเนินการมาโคร:change-password.sql

$ vim change-password.sql
ALTER USER Annette IDENTIFIED BY 'Annette';
ALTER USER Warren IDENTIFIED BY 'Warren';
ALTER USER Anthony IDENTIFIED BY 'Anthony ';
ALTER USER Preston IDENTIFIED BY 'Preston';
ALTER USER Kelly IDENTIFIED BY 'Kelly ';
ALTER USER Taylor IDENTIFIED BY 'Taylor';
ALTER USER Stiller IDENTIFIED BY 'Stiller';
ALTER USER Dennis IDENTIFIED BY 'Dennis';
ALTER USER Schwart IDENTIFIED BY 'Schwart';

1. เปิด change-password.sql ที่มีเฉพาะชื่อ

$ vim change-password.sql
Annette
Warren
Anthony
Preston
Kelly
Taylor
Stiller
Dennis
Schwartz

2. เริ่มการบันทึกและจัดเก็บไว้ในทะเบียน

ประเภท:qa

  • q ระบุว่าจะเริ่มการบันทึก
  • a หมายถึงการจัดเก็บการบันทึกในการลงทะเบียน
  • เมื่อคุณทำ q a มันจะแสดงการบันทึกข้อความที่ด้านล่างของ vi

3. ไปที่โหมดแทรกแล้วพิมพ์ ALTER USER

ประเภท:I (ตัวพิมพ์ใหญ่ i) ตามด้วย “ALTER USER”
54
วางเคอร์เซอร์ไว้ที่ใดก็ได้ในบรรทัดแรก แล้วกด I ซึ่งจะนำคุณไปยังอักขระตัวแรกของบรรทัด พิมพ์ เปลี่ยนผู้ใช้

4. คัดลอกคำถัดไป (เช่น ชื่อ)

ประเภท:Esc ด้วย yw

  • กด Esc จากนั้นกด w เพื่อไปยังคำถัดไป ( ชื่อ )
  • yw คัดลอกคำปัจจุบัน ( ชื่อ )

5.ไปที่ส่วนท้ายแล้วพิมพ์ IDENTIFIED BY '

ประเภท:Esc A ตามด้วย ” IDENTIFIED BY '”

  • กด Esc และ A เพื่อเลื่อนเคอร์เซอร์ไปที่ท้ายบรรทัด จากนั้นพิมพ์ช่องว่าง
  • ประเภทที่ระบุโดย '

6. วางชื่อที่คัดลอกไว้

ประเภท:Esc p
67
กด Esc จากนั้นพิมพ์ p เพื่อวางชื่อที่ถูกคัดลอกไว้ในขั้นตอน #4

7. กรอกใบเสนอราคาในตอนท้าย

ประเภท:Esc A ตามด้วย ';
79
กด Esc และ A เพื่อไปที่ท้ายบรรทัด และ ';

8. ข้ามไปยังบรรทัดถัดไปและหยุดการบันทึก

ประเภท:Esc j ตามด้วย q

  • j เพื่อเลื่อนไปยังบรรทัดถัดไป
  • q เพื่อหยุดการบันทึก

หมายเหตุ: ข้อความการบันทึกที่แสดงที่ด้านล่างของ vi จะหายไป ในขั้นตอนนี้ change-password.sql จะมีลักษณะดังนี้

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ
รูป :Vim Macro เสร็จสิ้นการบันทึก

9. ทำซ้ำมาโครด้วยอาร์กิวเมนต์ในบรรทัดที่เกี่ยวข้อง

ประเภท:8 @ a

  • ตอนนี้ทำซ้ำงานนี้ 8 ครั้งโดยพิมพ์ 8@a
  • @a ทำซ้ำมาโคร “a” หนึ่งครั้ง
  • 8@a ทำซ้ำมาโคร “a” 8 ครั้งเพื่อเติมส่วนที่เหลือของบรรทัดโดยอัตโนมัติดังที่แสดงด้านล่าง

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ
รูป :Vim Macro Play เสร็จสมบูรณ์

การอ่านที่แนะนำ

Master Vim Macros:คำแนะนำทีละขั้นตอนในการบันทึกและเล่นคำสั่งซ้ำ Vim 101 Hacks โดย Ramesh Natarajan . ฉันเป็นคนขี้ยาบรรทัดคำสั่ง แน่นอนว่าฉันเป็นแฟนตัวยงของบรรณาธิการของ Vi และ Vim หลายปีก่อน ตอนที่ฉันเขียนโค้ด C จำนวนมากบน Linux ฉันเคยอ่านเคล็ดลับและลูกเล่นของ Vim Editor ที่มีอยู่ทั้งหมด จากประสบการณ์การแก้ไข Vim ของฉัน ฉันได้เขียน eBook Vim 101 Hacks ซึ่งมีตัวอย่างเชิงปฏิบัติ 101 ตัวอย่างเกี่ยวกับฟีเจอร์ Vim ขั้นสูงต่างๆ ที่จะทำให้คุณรวดเร็วและมีประสิทธิภาพใน Vim Editor แม้ว่าคุณจะใช้ Vi และ Vim Editors มาหลายปีแล้วและยังไม่ได้อ่านหนังสือเล่มนี้ โปรดช่วยเหลือตัวเองและอ่านหนังสือเล่มนี้ คุณจะทึ่งกับความสามารถของโปรแกรมแก้ไข Vim

บทความ Vim Editor ที่ยอดเยี่ยม

ต่อไปนี้เป็น บทช่วยสอน ตัวแก้ไข Vi / Vim ที่ยอดเยี่ยมบางส่วน ที่คุณอาจพบว่ามีประโยชน์

  • เบราว์เซอร์ Firefox เทอร์โบชาร์จพร้อมฟังก์ชัน Vim Editor โดยใช้ Vimperator Add-on
  • บทช่วยสอน:ทำให้ Vim เป็น IDE C/C++ ของคุณโดยใช้ปลั๊กอิน c.vim
  • แปลง Vim Editor เป็นเบราว์เซอร์ซอร์สโค้ดที่สวยงามสำหรับภาษาการเขียนโปรแกรมใดๆ
  • 12 ค้นหาและแทนที่ตัวอย่างอันทรงพลังสำหรับ Vim Editor

หมายเหตุ: โปรดสมัครรับข้อมูล The Geek Stuff และอย่าพลาดเคล็ดลับและเทคนิคการแก้ไข Vi และ Vim ในอนาคต .