อย่าตกใจ!
การกู้คืนไฟล์นั้นปลอดภัยเสมอเพราะ vim ไม่เคยเขียนการเปลี่ยนแปลงใด ๆ จนกว่าคุณจะเขียนเอง ดังนั้นการกู้คืนจากไฟล์สลับแล้วปิดโดยไม่บันทึกจะไม่เปลี่ยนแปลงอะไรเลย
จัดระเบียบไฟล์แลกเปลี่ยนของคุณ:
รับคำสั่งให้ใส่ไฟล์ swap ทั้งหมดของคุณไว้ในที่เดียวกันดังนั้นคุณจะรู้ว่าพวกเขาอยู่ที่ไหน:
set directory^=$HOME/.vim/swap//
หรือทุกที่ที่คุณต้องการ ใช้//
ที่ส่วนท้ายของชื่อไฟล์ทำให้ vim ใช้ไฟล์พา ธ สัมบูรณ์สำหรับชื่อไฟล์สลับเพื่อให้คุณไม่ได้รับการชนกันของชื่อ ตรวจสอบให้แน่ใจว่ามีไดเรกทอรีอยู่หรือไม่ใช้เป็นกลุ่ม (มันจะไม่สร้างให้คุณ)
หมายเหตุ: ใช้งานได้เฉพาะกับตัวแปรสภาพแวดล้อมเท่านั้นหากคุณต้องการใช้ตัวแปร vimscript เราจำเป็นต้องใช้:execute
เวทย์มนตร์:
execute "set directory^=".my_vim_home_var."/swap//"
ความแตกต่างที่แตกต่าง:
:DiffOrig
ความช่วยเหลือที่เป็นกลุ่มแสดงให้เห็นคำสั่งที่มีประโยชน์มากที่จะใช้ในสถานการณ์เช่นนี้: มันไม่ได้เป็นคำสั่งที่เป็นกลุ่มเริ่มต้นเพื่อคัดลอกการดำเนินงานจากการ:h :DiffOrig
เข้า vimrc ของคุณ (มันยังอยู่ใน$VIMRUNTIME/defaults.vim
ถ้าคุณมี vim8) ตอนนี้คุณสามารถกู้คืนไฟล์และเรียกใช้ DiffOrig เพื่อรับ vimdiff ของสิ่งที่เปลี่ยนแปลงจากเวอร์ชันที่ไม่ได้แก้ไข
หากคุณต้องการเปรียบเทียบเนื้อหาของไฟล์ swap หลายไฟล์ให้กู้คืนไฟล์ของคุณด้วยไฟล์ swap แต่ละไฟล์ที่แตกต่างกันแล้วเขียนผลลัพธ์ไปยังไฟล์ชั่วคราว ตอนนี้โหลดไฟล์และเรียกใช้:diffthis
ในแต่ละไฟล์ทำการเปลี่ยนแปลงที่คุณต้องการเขียนกลับไปที่ไฟล์ต้นฉบับและลบไฟล์ชั่วคราวและสลับ
คำสั่งที่มีประโยชน์:
:swapname
: get ชื่อ vim ใช้สำหรับสลับไฟล์สำหรับบัฟเฟอร์ปัจจุบัน ( :h :swapname
)
:recover
: กู้คืนไฟล์ที่เลือกเช่นเดียวกับเมื่อคุณเริ่ม vim และกดR( :h :recover
)
ลองดูความช่วยเหลือ:
เป็นกลุ่มที่มีทั้งส่วนของคู่มือการใช้ในการกู้คืน: :usr_11.txt
กลุ่มความช่วยเหลือของการอ้างอิงในแฟ้มแลกเปลี่ยน: :h swap-file
, h recovery
ช่วยเหลือตัวเลือกไดเรกทอรี (สำหรับการตั้งค่าที่ตั้งแลกเปลี่ยนไฟล์)::h 'directory'
แก้ไข:แก้ไขตัวอย่างสำหรับการตั้งค่าไดเรกทอรีตามที่ระบุไว้ในความคิดเห็นโดย @B Layer