ในกลุ่มฉันยกเลิกมากเกินไป ฉันจะยกเลิกสิ่งนี้ (นั่นคือทำซ้ำ) ได้อย่างไร
ในกลุ่มฉันยกเลิกมากเกินไป ฉันจะยกเลิกสิ่งนี้ (นั่นคือทำซ้ำ) ได้อย่างไร
คำตอบ:
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 อย่างมีสไตล์