ทำซ้ำคำสั่ง nth ล่าสุดในกลุ่ม


13

ฉันสังเกตว่าเสียงเรียกเข้านั้นค่อนข้างใช้งานง่าย แต่ฉันมีปัญหาในการหาวิธีการทำซ้ำคำสั่งที่สองถึงครั้งสุดท้าย โดยการพิมพ์.ในโหมดปกติมันจะทำซ้ำคำสั่งสุดท้าย การกด3.จะทำซ้ำคำสั่งสุดท้ายสามครั้ง

สมมติว่าผมพิมพ์แล้วoHello<Esc> A, World!<Esc>ตอนนี้ฉันได้รับแล้ว

Hello, World!

บนหน้าจอ. ตอนนี้พูดว่าฉันต้องการที่จะได้รับ

Hello, World!
Hello
Hello
Hello

โดยไม่ต้องพิมพ์สวัสดี เสียงเรียกเข้าเก็บประวัติไว้นอกเหนือคำสั่งเดียวดังนั้นฉันจึงสามารถพิมพ์บางสิ่งได้เช่น3,2.(เช่นทำซ้ำคำสั่งที่สองถึงครั้งสุดท้ายสามครั้ง) หรือไม่


2
จำไว้ว่าคุณสามารถบันทึกสิ่งใดเป็นแมโคร ( qaoHello<esc>qจากนั้น@aทำซ้ำHelloทุกครั้งที่คุณต้องการ) นอกจากนี้ยังมี@@การทำซ้ำแมโครที่ใช้ล่าสุด
James McLaughlin

2
ฉันคิดว่าคุณสามารถทำ3@aซ้ำแมโครได้หลายครั้ง
redbmk

คำตอบ:


8

ไม่.คำสั่งในvimไม่มีประวัติและไม่มีประวัติการทำซ้ำใด ๆ สำหรับคำสั่งโหมดปกติที่ฉันรู้ 4oHello<Esc>3jA, World<Esc>สำหรับจำนวนน้อยที่สุดของการกดแป้นพิมพ์ผมอยากแนะนำให้ ถ้าคุณได้ทำมาแล้วคุณสามารถทำตามนั้นด้วยoHello<Esc>A, World<Esc>uyy<Ctrl-r>3p


4

มีปลั๊กอินนี้ชื่อว่า RepeatLast.vim ซึ่งทำในสิ่งที่คุณต้องการ แต่มีค่าใช้จ่าย: เสียงเรียกเข้าของคุณอยู่ในโหมดบันทึกแมโครเสมอ คุณสามารถติดตั้งได้ด้วยตัวจัดการแพ็คเกจที่คุณใช้เหมือนแพ็คเกจ vim อื่น ๆ หรือคุณก็สามารถทำการโคลนนิ่งแล้วปล่อยไว้~/.vim/pluginถ้าคุณใช้ vim หรือ~/.config/nvim/plguinถ้าคุณใช้ neovim หากต้องการทำซ้ำการกระทำที่สองถึงครั้งสุดท้ายคุณควรพิมพ์2\.ในโหมดปกติและเพื่อทำซ้ำการกระทำที่ผ่านมาคุณควรพิมพ์<n>\.ในโหมดปกติ

http://www.vim.org/scripts/script.php?script_id=4381 https://github.com/vim-scripts/RepeatLast.vim


2
@Sassan คุณสามารถแก้ไขคำตอบของคุณและอธิบายวิธีติดตั้งปลั๊กอินนี้ได้อย่างรวดเร็วและสามารถใช้ในการแก้ปัญหาของ OP ได้อย่างไร
terdon

2
@terdon ถ้ามีคนอ่านคำตอบของฉันและไม่รู้ว่าจะใช้ตัวจัดการแพคเกจได้อย่างไรดีกว่าจริง ๆ สำหรับเขาที่จะอยากรู้อยากเห็นและไปใช้เวลาและเรียนรู้เกี่ยวกับตัวจัดการแพคเกจเป็นกลุ่ม เช่นเดียวกับผู้ที่อ่านและไม่ทราบเกี่ยวกับการรับข้อมูลจาก docs / README.md สำหรับปลั๊กอิน vim
Sassan

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

1
ที่จริงผมเห็นด้วยปลั๊กอินนี้เป็น hackish เกินไปที่จะนำมาใช้โดยคนที่ไม่ทราบวิธีการติดตั้ง :)
บอริส Churzin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.