วิธีการลบไฟล์ Vim Swap

Withi Kar Lb Fil Vim Swap



ในขณะที่ใช้โปรแกรมแก้ไข Vim มันจะสร้างไฟล์ชั่วคราวที่เรียกว่าไฟล์สลับโดยอัตโนมัติ ไฟล์เหล่านี้จะเก็บข้อมูลที่ไม่ได้บันทึกไว้และกู้คืนในกรณีที่แอปขัดข้อง หากคุณบันทึกและปิดไฟล์อย่างถูกต้อง ไฟล์สลับจะถูกลบโดยอัตโนมัติ

ไฟล์สว็อปมีความสำคัญแต่อาจกลายเป็นปัญหาได้หากมันกองรวมกัน โดยมักจะยังคงบันทึกไว้แม้ว่าคุณจะลบไฟล์ต้นฉบับไปแล้วก็ตาม ไฟล์เหล่านี้ค่อนข้างหายาก จึงไม่ปรากฏในไดเร็กทอรีอย่างชัดเจนเนื่องจากถูกซ่อนไว้ หากต้องการลบไฟล์เหล่านี้ คุณต้องค้นหาไฟล์เหล่านั้นก่อน ในบทช่วยสอนนี้ ฉันจะสำรวจวิธีการค้นหาไฟล์ swap ที่ซ่อนอยู่และวิธีการต่างๆ ในการลบไฟล์เหล่านี้







บันทึก: สำหรับคู่มือนี้ ฉันใช้ macOS (Unix) คำสั่งจะคล้ายกันสำหรับการกระจาย Linux เช่นกัน อย่างไรก็ตาม คำแนะนำอาจแตกต่างกันสำหรับ Windows



ค้นหาไฟล์ Vim Swap

ตามที่กล่าวไว้ก่อนหน้านี้ ไฟล์สลับจะถูกซ่อนไว้และอาจมองไม่เห็นเมื่อคุณเปิดไดเร็กทอรีการทำงานปัจจุบัน ในระบบปฏิบัติการที่คล้ายกับ Linux และ Unix ไฟล์สลับ Vim จะถูกบันทึกด้วยจุด (.) นำหน้า



หากต้องการเข้าถึงไฟล์สลับ Vim ให้ใช้ไฟล์ LS สั่งการด้วย -ก ตั้งค่าสถานะเพื่อแสดงรายการไฟล์ที่ซ่อนอยู่





LS - -

ชื่อไฟล์ที่ซ่อนอยู่ในระบบปฏิบัติการแบบ Unix จะเริ่มต้นด้วยจุด (.)



หากต้องการแสดงรายการไฟล์สลับทั้งหมดในไดเร็กทอรีปัจจุบัน ให้ใช้ไฟล์ เพราะ สั่งการด้วย -ร ธง.

เพราะ - -

หากต้องการค้นหาชื่อไฟล์สลับของไฟล์ที่เปิดอยู่ในปัจจุบัน ให้ใช้ไฟล์ :สลับชื่อ คำสั่งในตัวแก้ไข Vim:

: : สลับชื่อ

โปรดทราบว่าการลบไฟล์สลับอาจทำให้คุณสูญเสียการเปลี่ยนแปลงที่ยังไม่ได้บันทึก ดังนั้นอย่าลืมบันทึกงานของคุณก่อนที่จะพยายามลบกระบวนการไฟล์สลับ Vim

การลบไฟล์ Vim Swap

ตอนนี้คุณรู้แล้วว่าไฟล์สว็อปอยู่ที่ไหน ก็สามารถลบมันได้อย่างง่ายดาย มีหลายวิธีในการลบไฟล์สลับ:

1. หากต้องการลบไฟล์สลับ Vim ให้นำทางไปยังไดเร็กทอรีที่มีไฟล์อยู่ ไฟล์สลับ Vim มี .swp ส่วนขยายและโดยทั่วไปจะมีชื่อตามรูปแบบ .<ชื่อไฟล์>.swp ตรงกับไฟล์ที่แก้ไข ชื่อไฟล์ . ใช้ RM คำสั่งที่มีชื่อไฟล์หรือหลายชื่อไฟล์คั่นด้วยช่องว่างเพื่อลบไฟล์เหล่านี้

RM .< ชื่อไฟล์ >. สวป

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

คุณสามารถสร้างไดเร็กทอรีแยกต่างหากสำหรับไฟล์สลับได้ โปรดอ่านส่วนต่อไปนี้ของคู่มือนี้

โปรดทราบว่าคำสั่งนี้จะลบไฟล์อย่างถาวร ดังนั้นควรตรวจสอบไฟล์อย่างละเอียดก่อนที่จะลบ

2. เปิดไฟล์ในตัวแก้ไข Vim แล้วกด เพื่อกู้คืนมัน หากไฟล์ไม่เสียหาย ให้บันทึกโดยใช้นามสกุลไฟล์ :ใน คำสั่งในโหมดปกติ

ตอนนี้ใช้ :มันคือ (เปิดใหม่) คำสั่งเพื่อลบไฟล์สลับ พิมพ์คำสั่งในโหมด NORMAL แล้วกด เข้า .

: : มันคือ

คุณจะได้รับข้อความแจ้งที่ด้านล่างของหน้าต่าง กด เพื่อล้างไฟล์สลับ

การลบไฟล์สลับด้วยวิธีนี้มีข้อดี เนื่องจากจะไม่เขียนทับไฟล์ต้นฉบับในกรณีที่การกู้คืนเสียหาย

3. พิมพ์ เพราะ สั่งการด้วย -ร ธงและชื่อไฟล์ รายการไฟล์การกู้คืนที่เกี่ยวข้องจะปรากฏขึ้น

เพราะ - - < ชื่อไฟล์ >

คุณจะได้รับตัวเลือกในการกู้คืนไฟล์ พิมพ์ตัวเลขจากตัวเลือกที่กำหนด

คุณอาจได้รับคำเตือนต่อไปนี้ ซึ่งอาจแตกต่างกันไปขึ้นอยู่กับสถานการณ์ กด Enter เพื่อเปิดไฟล์และแก้ไขต่อ

ตรวจสอบไฟล์ หากไฟล์ถูกแก้ไข ให้บันทึกและลบไฟล์สลับโดยใช้ไฟล์ :มันคือ สั่งการ.

: : มันคือ

4. คุณยังสามารถใช้ หา คำสั่งเพื่อค้นหาและลบไฟล์สลับ เปิดไดเร็กทอรีที่มีไฟล์ swap และใช้คำสั่งด้านล่าง:

หา - - พิมพ์ - - ชื่อ '*.sw[pnl]' - - ลบ

ที่ ระบุประเภทไฟล์ปกติ * เป็นไวด์การ์ดที่ใช้ระบุชื่อไฟล์ทั้งหมดด้วย .sw[พีเอ็นแอล] ส่วนขยายและ -ลบ ตัวเลือกกำลังลบพวกเขา

Vim สร้างไฟล์สลับประเภทต่างๆ เช่น เสียงรบกวน , จำนวน , สว , สวอล , สว , และ สวป . หากต้องการลบไฟล์ทั้งหมดคุณสามารถใช้คำสั่งด้านบนโดยเพิ่มอักขระในคำสั่งเช่นนั้น .sw[nmolkp] .

อย่างไรก็ตาม ข้อเสียเปรียบของคำสั่งนี้คือการค้นหาไฟล์แบบวนซ้ำจากไดเร็กทอรีและไดเร็กทอรีย่อยทั้งหมด คุณควรใช้คำสั่งนี้ถ้าคุณมีไดเร็กทอรีแยกต่างหากสำหรับไฟล์สลับ

กำจัดคำเตือนไฟล์ Vim Swap

คุณอาจได้รับคำเตือนไฟล์สลับขณะเปิดไฟล์ในตัวแก้ไข Vim ด้วยเหตุผลหลายประการ

สาเหตุที่ทำให้เกิดคำเตือนไฟล์สลับ Vim มีดังต่อไปนี้:

  • ขณะนี้ไฟล์เปิดอยู่ในเซสชันอื่น
  • ไฟล์ได้รับการแก้ไขจากระยะไกล และการเชื่อมต่อขาดหาย
  • เทอร์มินัลถูกปิดโดยไม่บันทึกไฟล์
  • กระบวนการถูกส่งไปยังพื้นหลังโดยใช้ Ctrl+z

หากไฟล์ถูกเปิดในเซสชันอื่น คุณจะได้รับคำเตือนต่อไปนี้:

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

หรือคุณสามารถรับคำเตือนเกี่ยวกับไฟล์ที่คุณได้แก้ไขแต่ไม่สามารถบันทึกได้อย่างถูกต้อง

ในสถานการณ์เช่นนี้ให้กด ในการกู้คืนไฟล์ คุณอาจได้รับไฟล์สลับเวอร์ชันที่แตกต่างกัน โดยเลือกเวอร์ชันล่าสุด (หรือเก่ากว่าตามที่ต้องการ) แล้วเปิดขึ้นมา

ตอนนี้พิมพ์ :มันคือ สั่งแล้วเลือก เพื่อลบไฟล์สลับ

ปิดการใช้งานการสร้างไฟล์ Vim Swap อย่างถาวร

ไม่แนะนำให้ปิดการใช้งานการสร้างไฟล์สลับสำหรับ Vim เนื่องจากมีประโยชน์ในการกู้คืนข้อมูลในกรณีที่เกิดอุบัติเหตุ แต่ถ้าคุณต้องการกำจัดไฟล์เหล่านี้จริงๆ เพื่อรักษาระบบที่สะอาดขึ้น คุณสามารถทำได้โดยเพิ่มไฟล์ ตั้งค่า noswapfile ไปที่ vimrc ไฟล์.

ชุด noswapfile

สร้างไดเร็กทอรีแยกต่างหากเพื่อจัดเก็บไฟล์ Vim Swap

ก่อนอื่นคุณควรสร้างไดเร็กทอรีที่จะสร้างและบันทึกไฟล์สลับ Vim ทั้งหมด

mkdir - - พี ~/. เพราะ / vimswapfiles

สร้างไดเร็กทอรีเพื่อเก็บข้อมูลสำรองและเลิกทำประวัติ

mkdir - - พี ~/. เพราะ / vimbackupfiles

mkdir - - พี ~/. เพราะ / vimundofiles

ตอนนี้ให้ตั้งค่าไดเร็กทอรีที่สร้างขึ้นเป็นตำแหน่งไฟล์สว็อปโดยใช้คำสั่ง set

ชุด ไดเรกทอรี = ~/. เพราะ / vimswapfiles //

ชุด สำรองข้อมูล = ~/. เพราะ / vimbackupfiles //

ชุด ยูไนเต็ดแลนด์= ~/. เพราะ / vimundofiles //

เครื่องหมายทับคู่ (//) จะถูกเพิ่มที่ส่วนท้ายของเส้นทางเพื่อหลีกเลี่ยงการชนกันของชื่อ เนื่องจากเครื่องหมายทับคู่จะสร้างการสลับหรือการสำรองข้อมูลโดยใช้เส้นทางทั้งหมด

เปลี่ยนการตั้งค่าการอัปเดตไฟล์ Vim Swap

การสลับจะอัปเดตทุกๆ สี่วินาทีเมื่อไม่มีกิจกรรมการพิมพ์ หากคุณกำลังพิมพ์ ไฟล์สลับจะอัปเดตหลังจาก 200 อักขระ

สาเหตุที่ไฟล์ swap ไม่ได้รับการอัพเดตทุกวินาทีก็เพราะอาจทำให้งานปกติที่คุณกำลังทำใน Vim ช้าลง อย่างไรก็ตามคุณสามารถทำได้ ชุด เวลาและการนับตัวอักษรโดยการเปลี่ยน อัพเดตจำนวน และ เวลาอัปเดต ใน vimrc ไฟล์.

บทสรุป

ไฟล์สลับเป็นไฟล์ที่สร้างขึ้นอัตโนมัติซึ่งติดตามการแก้ไขที่เราทำขณะแก้ไขไฟล์ใน Vim และอัปเดตทุกๆ 200 อักขระ เมื่อไฟล์ได้รับการบันทึกและปิดอย่างถูกต้อง ไฟล์สลับจะถูกลบโดยอัตโนมัติ

หากต้องการลบไฟล์สลับที่ไม่ต้องการ ให้กู้คืนก่อนและตรวจดูให้แน่ใจว่าไฟล์ไม่เสียหาย Vim แสดงให้เห็น ??? เส้นที่หายไป หากไฟล์เสียหาย หากทุกอย่างในไฟล์เรียบร้อยดี ให้ลบไฟล์สลับโดยใช้นามสกุลไฟล์ :มันคือ คำสั่งและเลือกตัวเลือกการลบ