โหลดไฟล์ปัจจุบันใหม่ใน Emacs

Hold Fil Paccuban Him Ni Emacs



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

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







สองวิธีในการรีโหลดไฟล์ปัจจุบันใน Emacs

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



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



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





วิธีที่ 1: การใช้คำสั่งโหลดซ้ำ

Emacs มีคำสั่ง 'revert-buffer' ซึ่งคุณเรียกใช้ทุกครั้งที่คุณต้องการโหลดไฟล์ซ้ำ สำหรับตัวอย่างนี้ เราจะทำงานกับไฟล์ต่อไปนี้ เราโหลดมันลงใน Emacs และเพิ่มหนึ่งบรรทัด:




สมมติว่าเราต้องการละทิ้งการเปลี่ยนแปลงและลบบรรทัดที่เพิ่มเข้าไป การโหลดไฟล์ซ้ำจะช่วยได้ กด “M-x'” (Alt + x) บน Emacs ของคุณแล้วพิมพ์ “revert-buffer” ในพร้อมท์คำสั่ง


เมื่อคุณกดปุ่มแป้นพิมพ์ RET/Enter คำสั่งจะดำเนินการและคุณจะได้รับแจ้งให้ยืนยันว่าคุณต้องการคืนค่าบัฟเฟอร์ซึ่งจะละทิ้งการเปลี่ยนแปลงที่ยังไม่ได้บันทึกทั้งหมด หากต้องการโหลดไฟล์ใหม่ ให้พิมพ์ 'ใช่' แล้วกดปุ่ม RET


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


วิธีที่ 2: การผูกคำสั่งโหลดซ้ำ

แทนที่จะพิมพ์คำสั่ง 'revert-buffer' ทุกครั้งที่คุณต้องการโหลดไฟล์ปัจจุบันซ้ำ คุณสามารถผูกคำสั่งเข้ากับคีย์ได้ ด้วยวิธีนี้ การกดปุ่มที่ผูกไว้จะทำงานเหมือนกับคำสั่ง 'revert-buffer'

ขั้นตอนแรกคือการเปิดไฟล์กำหนดค่า Emacs ของคุณ ไฟล์ปรับแต่งอาจเป็น “.emacs” หรือ “.emacs.d/init.el”

เมื่อคุณเปิดมัน เราจะต้องผูกกุญแจเข้ากับคำสั่ง “reload” ใช้แอตทริบิวต์ 'global-set-key' และระบุคีย์ที่จะผูกและคำสั่งใด เรากำลังใช้คีย์ 'f8' สำหรับกรณีนี้ และคำสั่งผูกของเรามีดังนี้:


บันทึกไฟล์การกำหนดค่าโดยกด 'c-x c-s' หากต้องการใช้การเปลี่ยนแปลงของเรา ให้รีสตาร์ท Emacs ของคุณหรือเปิดใหม่อีกครั้ง

ตอนนี้เรากลับไปที่ไฟล์เริ่มต้นที่เราโหลดลงในบัฟเฟอร์ Emacs แทนที่จะพิมพ์คำสั่ง 'revert-buffer' เช่นเดียวกับวิธีแรก เราเพียงกดปุ่ม 'f8' ที่นี่เท่านั้น การทำเช่นนั้นจะแสดงข้อความแจ้งให้ยืนยันว่าเราต้องการโหลดไฟล์ซ้ำและยกเลิกการเปลี่ยนแปลงทั้งหมด


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

บทสรุป

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