ฉันจะเปิดไฟล์ใหม่ใน emacs ได้อย่างไร


16

ในรุ่น emacs รุ่นเก่าที่ฉันเคยพิมพ์:

C-x C-f RET

และมันจะเปิดไฟล์ที่เยี่ยมชมในบัฟเฟอร์อีกครั้งในปัจจุบัน ตอนนี้ (emacs 23.1.1) มันเปิด Dired ของไดเรกทอรี

คำตอบ:


18

ผมใช้ซึ่งเป็นค่าเริ่มต้นผูกไว้กับM-x find-alternate-fileC-x C-v

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


คำตอบอื่น ๆ ก็ยอดเยี่ยมเช่นกัน แต่คำตอบนี้มีการกดแป้นที่น้อยที่สุด
Eyal

วิธีการนี้จะเรียกใช้โหมดเบ็ดขณะที่คำตอบของ Gilles find-fileจะไม่ทำให้เกิดปัญหา
PanJunjie 潘俊杰

10

แน่ใจหรือไม่ว่าคุณไม่ต้องการเปลี่ยนบัฟเฟอร์กลับคืน?

M-x revert-buffer RET

6

C-x C-f M-n RETคุณสามารถทำได้ พฤติกรรมนี้เปลี่ยนไปเนื่องจากC-x C-f RETการเปิดไฟล์อีกครั้งไม่ได้เป็นเรื่องธรรมดาเหมือนกับC-x C-f DEL RETการเรียกใช้ Dired ในไดเรกทอรี

คุณยังสามารถใช้M-x revert-bufferเพื่อโหลดไฟล์จากดิสก์และ Emacs จะบอกคุณ (ในระบบปฏิบัติการส่วนใหญ่) หากคุณพยายามแก้ไขไฟล์ที่มีการคัดลอกบนดิสก์ถูกแก้ไขจากภายนอก

C-x C-f M-n ยังมีประโยชน์ในการรับเส้นทางแบบเต็มไปยังไฟล์ใน minibuffer ดังนั้นคุณสามารถเปิดไฟล์ที่มีชื่อคล้ายกันหรือคัดลอกไปยัง kill ring หรือคลิปบอร์ด


2

ผมพบว่าข้อเสนอแนะที่เป็นประโยชน์ที่จะกลับไปที่พฤติกรรมก่อนหน้านี้C-x C-f RETในรายชื่อผู้รับจดหมายช่วยเหลือ GNU-emacs :

แฮ็คนี้ถูกโพสต์โดย Ted Stern:

(defun find-file-read-args (prompt mustmatch)
  (list (let ((find-file-default
           (and buffer-file-name
                (abbreviate-file-name buffer-file-name))))
      (read-file-name prompt nil find-file-default mustmatch))
    t))

ฉันลองมันแล้วมันใช้งานได้ดีสำหรับฉันใน emacs 23.1.1

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.