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

  • กด [ESC] เข้าสู่โหมด normal
  • กด [q] ตามด้วย [a] เพื่อเริ่มบันทึกลำดับคำสั่งใน รีจิสเตอร์ a (สามารถเรียกใช้รีจิสเตอร์ a – z )
  • พิมพ์ลำดับคำสั่งที่ต้องการบันทึก
  •  กด [q] เพื่อหยุดการบันทึก
  • พิมพ์  [@] ตามด้วย [a] เพื่อเรียกใช้มาโครที่เก็บใน รีจิสเตอร์ a

หมายเหตุ เครื่องหมาย [ ] หมายถึงปุ่มในคีย์บอร์ด

ตัวอย่างการบันทึกและเรียกใช้งานมาโคร

กรณีศึกษาแรก อันนี้ผมมีชุดข้อมูล 1 บรรทัดในรูปแบบนี้

1,01A001,528056.975248 1668894.976562,528053.852117 1668891.853430,528053.852117 1668891.853430,528146.921435 1668904.970582,528073.840158 1668770.675929,528067.593895 1668750.063261,528010.128276 1668711.336431,527912.061948 1668767.552798,528056.975248 1668894.976562

ผมต้องการใส่ ” ” ครอบข้อมูลหลังคอมมาตัวที่สองเป็นต้นไปจนถึงข้อมูลตัวสุดท้าย จะได้ว่าชุดข้อมูลผมจะเป็นแบบนี้

1,01A001,”528056.975248 1668894.976562,528053.852117 1668891.853430,528053.852117 1668891.853430,528146.921435 1668904.970582,528073.840158 1668770.675929,528067.593895 1668750.063261,528010.128276 1668711.336431,527912.061948 1668767.552798,528056.975248 1668894.976562″

ถ้าผมต้องการแก้ข้อมูลนี้จำนวน 4-5 บรรทัดก็คงไม่ใช่งานยาก แต่ผมต้องจัดการข้อมูลนี้ 2961 บรรทัด ดังนั้นมาโครตอบโจทย์ข้อนี้ผมได้ มาดูว่าผมทำอย่างไรครับ

ทำตามขั้นตอนการบันทึกมาโครด้านบน จากนั้นบันทึกลำดับคีย์บอร์ดดังนี้

[ขึ้นบรรทัดใหม่][ไปที่ตำแหน่งแรกของบรรทัด][ไปที่เครื่องหมาย comma ตัวที่ 2][แทรก ” หลัง comma ][กลับสู่โหมด normal][แทรก ” ท้ายบรรทัด][กลับสู่โหมด normal]

แปลงเป็นลำดับ keyboard ได้ดังนี้(ขึ้นอยู่กับการ map keyboard ด้วยนะครับ)

[j][0][2f,][a”][jk][A”][jk]

ในที่นี้ผม map [jk] แทนการกดปุ่ม [escape] เพื่อเข้าสู่ normal mode ครับ

จากนั้นผมเรียกใช้โดยการ เรียกมาโคร  2691@a จะเป็นการทำงาน 2691 ครั้ง ทำให้งานสบายขึ้นเยอะเลยครับ

ดูตัวอย่างการใช้งานมาโครใน vi/vim ในวีดีโอข้างล่างนี้ครับผม

สำหรับตัวอย่างที่ 2 ในวีดีโอผมใช้ ลำดับ keyboard ดังนี้ (บันทึกกันลืมเผื่อใช้อีกครับ)

[j][0][f,][r:][f,][r:่]

 

 

 

แหล่งข้อมูลเพิ่มเติม

 

 

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s