ในกลุ่มฉันยกเลิกมากเกินไป ฉันจะยกเลิกสิ่งนี้ (นั่นคือทำซ้ำ) ได้อย่างไร
ในกลุ่มฉันยกเลิกมากเกินไป ฉันจะยกเลิกสิ่งนี้ (นั่นคือทำซ้ำ) ได้อย่างไร
คำตอบ:
Ctrl+r
Cmd + rสับสนหรือเปล่า? มันทำอะไรแปลก ๆ อย่างแน่นอน; แต่Ctrl + rทำงานได้ดีสำหรับฉัน (Mac + tmux + vim)
นอกจากนี้ตรวจสอบ:undolistซึ่งมีหลายเส้นทางผ่านประวัติศาสตร์เลิกทำ สิ่งนี้มีประโยชน์หากคุณพิมพ์บางอย่างโดยไม่ตั้งใจหลังจากเลิกทำมากเกินไป
:undolistและพิมพ์:undo 178(พูด) เพื่อย้อนกลับไปยังขั้นตอนที่ 178
:undolist?
การใช้งาน/:earlier :laterหากต้องการทำซ้ำทุกสิ่งที่คุณต้องทำ
later 9999999d
(สมมติว่าคุณแก้ไขไฟล์ที่มากที่สุด 9999999 วันที่ผ่านมาก่อน) หรือหากคุณจำความแตกต่างระหว่างการยกเลิกสถานะปัจจุบันและต้องการหนึ่งใช้Nh, NmหรือNsเป็นชั่วโมงนาทีและวินาทีตามลำดับ + :later N<CR><=> Ng+และ:later Nfสำหรับการเขียนไฟล์
:laterใช้งานได้สำหรับฉันในvi(ไม่ใช่ vim - ค้นหาคำว่า "vi" บน google แต่ผลลัพธ์ทั้งหมดสำหรับ "vim") ขอบคุณ!
viคำสั่งมันเป็น symlink ไปยังกลุ่มปฏิบัติการหรือสำเนาของมัน ไม่สมบูรณ์ทุกที่แม้ว่า
vim: command not foundเท่านั้น สิ่งต่อไปที่ฉันทำคือalias vim=viเพราะฉันพิมพ์มันโดยอัตโนมัติ แต่มันเป็น vi เก่าแบบธรรมดาอย่างไรก็ตาม นอกจากนี้การทำซ้ำ (ctrl + r) ก็จะทำงานได้อย่างถูกต้องหาก vi เป็นชื่อแทนสำหรับกลุ่ม
<Undo> or *undo* *<Undo>* *u*
u Undo [count] changes. {Vi: only one level}
*:u* *:un* *:undo*
:u[ndo] Undo one change. {Vi: only one level}
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw screen}
*:red* *:redo* *redo*
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
U Undo all latest changes on one line. {Vi: while not
moved off of it}
ก่อนอื่นกดEscปุ่มเพื่อออกจากโหมดแก้ไข
จากนั้น
สำหรับการเลิกทำให้ใช้uปุ่มหลาย ๆ ครั้งที่คุณต้องการเลิกทำ
สำหรับการทำซ้ำให้ใช้ปุ่มCtrl+r
โปรดดูที่"ยกเลิก" และ "ทำซ้ำ" ส่วนหนึ่งของเอกสารที่เป็นกลุ่ม
: red [o] (ทำซ้ำการเปลี่ยนแปลงอย่างใดอย่างหนึ่งซึ่งเลิกทำแล้ว) และ {count} Ctrl+r (ทำซ้ำการเปลี่ยนแปลง {เลิก} ที่เลิกทำแล้ว) ถือว่าใช้ได้
นอกจากนี้: ก่อนหน้า {นับ} (ไปที่สถานะข้อความเก่า {นับ} ครั้ง) สามารถใช้แทนการเลิกทำและทำซ้ำได้เสมอ
CTRL+r
"r" เป็นตัวพิมพ์เล็ก
^rและ^R, และกลุ่มที่ติดตามดังนี้
^X(ซึ่งXอาจเป็นตัวอักษรใดก็ได้)
ใช้ VsVim สำหรับ Visual Studio หรือไม่
ฉันเจอสิ่งนี้เมื่อทดลองกับ VsVim ซึ่งให้การเชื่อมคำสั่ง Vim ใน Visual StudioStudio
ฉันรู้เกี่ยวกับ Ctrlr Vim แล้ว แต่การเชื่อมโยงนี้ไม่ทำงานใน VsVim (อย่างน้อยก็ไม่ได้อยู่ในการตั้งค่าของฉัน)
สิ่งที่ไม่ทำงาน :redแต่เป็นคำสั่ง นี่เป็นเรื่องยุ่งยากมากกว่าด้านบนเล็กน้อย แต่ก็ยังดีเมื่อคุณต้องการ
ในทางปฏิบัติการพูดนั้นใช้:undolistยากและ Vim's :earlierและ:laterการติดตามเวลาของการเปลี่ยนแปลงนั้นสามารถใช้งานได้เฉพาะสำหรับการแก้ไขแบบธัญพืช
ระบุว่าฉันหันไปใช้ปลั๊กอินที่รวมคุณสมบัติเหล่านี้เพื่อให้ต้นไม้ที่มองเห็นได้ของการเลิกทำแบบเรียกดูได้เรียกว่า "Gundo"
เห็นได้ชัดว่านี่เป็นสิ่งที่จะใช้เฉพาะเมื่อคุณต้องการการแก้ไขแบบละเอียดหรือคุณไม่แน่ใจเกี่ยวกับสถานะที่แน่นอนของเอกสารที่คุณต้องการกลับไปใช้ ดู: Gundo สร้างกราฟของ Vim undo tree อย่างมีสไตล์