คำถามติดแท็ก macro

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

1
ฉันจะใช้โหมดเสร็จสิ้นการแทรกในแมโครได้อย่างไร
ฉันพยายามกำหนดมาโครที่สร้างรายการคำสุ่ม - ไอชอย่างรวดเร็ว ฉันต้องการให้แมโครเปลี่ยนสิ่งนี้เป็นรายการที่ชอบ a b c d e เป็นนี้ arezzo bywords czars détente eyrie สิ่งที่ฉันมี: วางเคอร์เซอร์บนจดหมาย a เริ่มบันทึกมาโคร qq a เข้าสู่โหมดแทรก <C-x><C-k> - perform dictionary completion on the character before cursor - in this case the lettera` <C-p>arezzoเลือกรายการสุดท้ายในรายการเสร็จสิ้นที่ปรากฏขึ้นในระบบของฉันคำของมัน (NB ฉันได้longestรวมอยู่ในของฉัน'completeopt'การตั้งค่าที่จำเป็นสำหรับ<C-p>การทำงานในลักษณะนี้ในระหว่างการดำเนิน: 'set completeopt=longest,menuone,preview') <C-y> ยอมรับความสำเร็จ ^[^[ ออกจากโหมดแทรก j ย้ายลงไปที่บรรทัดถัดไปพร้อมที่จะทำการดำเนินการเดียวกันในบรรทัดถัดไป q …

3
ใส่หมายเลขที่เพิ่มขึ้นในแต่ละบรรทัดในการเลือกหรือการจับคู่
ฉันมีปัญหาฉันสามารถคิดถึงวิธีการทั่วไปสองวิธีในการแก้ปัญหา แต่ฉันไม่ทราบวิธีที่เฉพาะเจาะจงสำหรับทั้งสองวิธี ... Level 1: cũng also Level 1: và and Level 1: như like; such as Level 2: các plural marker Level 2: của belonging to ... สำหรับแต่ละบรรทัดที่ขึ้นต้นด้วย "ระดับ n" ฉันต้องการใส่ตัวเลขโดยเริ่มต้นด้วย "01" เพื่อความง่ายเรามาเติมตัวเลขกัน วิธีที่ 1: เลือกทุกบรรทัดด้วยตนเองในระดับเดียวกัน วิงวอนขอใช้เวทมนตร์ฉันจะเรียนรู้เร็ว ๆ นี้ วิธีที่ 2: เขียนการค้นหาและแทนที่ที่ตรงกับทุกบรรทัดด้วยระดับที่กำหนดซึ่งในแต่ละการแข่งขันรวมถึงตัวเลขในข้อความแทนที่ซึ่งเพิ่มขึ้นทีละหนึ่งด้วยการแข่งขันแต่ละ ฉันได้พบคำถามที่คล้ายกันใน StackOverflowหรือไซต์ Vim อื่น ๆ แต่ดูเหมือนว่าจะมีปัญหาอย่างใดอย่างหนึ่งต่อไปนี้: เป็นเรื่องเกี่ยวกับการแทรกหมายเลขบรรทัดปัจจุบันแทนที่จะเป็นหมายเลขที่กำหนดเอง …
10 macro  replace 

2
บันทึกการกระทำล่าสุด (.) ในแมโคร
ใช้ Case ฉันอยู่ในโหมดปกติ ฉันไม่ได้คิดอย่างชัดเจนเกี่ยวกับการบันทึกแมโคร แต่ฉันเปลี่ยนคำสั่งเดียว ตอนนี้ฉันสามารถทำซ้ำการกระทำนี้โดยใช้จุด ตอนนี้ฉันรู้ว่ามันเป็นการกระทำที่มีประโยชน์ในการบันทึกในแมโครเพื่อใช้ในภายหลังแทนที่จะพิมพ์คำสั่งทั้งหมดทุกครั้ง ฉันสามารถเข้าร่วมการเปลี่ยนแปลงทั้งหมดที่จำเป็นต้องใช้คำสั่งนี้ในขณะนี้โดยใช้จุดหรือฉันสามารถดำเนินการแก้ไขและใช้คำสั่งนี้ในภายหลังโดยการบันทึกในแมโคร สิ่งหลังคือสิ่งที่ฉันต้องการทำ แต่วิธีที่ง่ายที่สุดที่ฉันสามารถทำได้ไม่ใช่เรื่องง่าย - เลิกทำการเปลี่ยนแปลงเริ่มบันทึกแมโครและพิมพ์คำสั่งอีกครั้งเพื่อทำการเปลี่ยนแปลงที่ต้องการและหยุดการบันทึกแมโคร สิ่งที่ฉันได้พยายามมาแล้ว: การบันทึกจุดในมาโครไม่ทำงานเนื่องจากบันทึกจุดและไม่ใช่การเปลี่ยนแปลงจุดที่ดำเนินการ (ตัวอย่างเช่นสมมติว่าคำสั่งที่เก็บไว้ในจุดคือd5wถ้าคุณเริ่มบันทึกแมโครและดำเนินการผ่านคาดว่ามันจะลบ 5 คำทุกครั้งที่คุณเรียกใช้แมโครจากนั้นจะไม่เกิดขึ้นในครั้งถัดไปที่คุณเรียกใช้ แมโครมันจะทำจุดและไม่ใช่คำสั่งd5wซึ่งหมายความว่าถ้าคุณทำการเปลี่ยนแปลงอื่น ๆ หลังจากบันทึกแมโคร - พูดว่าลบคำ 3 คำที่ใช้d3wและเป็นการเปลี่ยนแปลงครั้งสุดท้ายที่คุณทำแล้วเมื่อคุณเรียกใช้แมโครมันจะลบ 3 คำศัพท์และไม่ใช่ 5 เพราะมันกำลังทำงานอยู่.)

5
Vim สามารถเขียนบรรทัดเพิ่มเติมได้หรือไม่? เช่นในแต่ละบรรทัด A กลายเป็น B และ 1 กลายเป็น 2
ฉันต้องการเขียนสิ่งนี้: A = mapping[0] B = mapping[1] C = mapping[2] D = mapping[3] E = mapping[4] F = mapping[5] G = mapping[6] H = mapping[7] I = mapping[8] J = mapping[9] K = mapping[10] L = mapping[11] M = mapping[12] N = mapping[13] O = mapping[14] P = mapping[15] Q …
8 macro 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.