2010-09-27 33 views

Trả lời

4

Bạn có thể thử:

(global-set-key [ns-drag-file] 'ns-find-file) 

Nó làm việc cho tôi trên Emacs 23.2.1

+1

Hầu như, nhưng không hoàn toàn. Thêm cái này vào ~/.emacs của tôi để nó dừng mở trong cùng một bộ đệm, nhưng tôi muốn nó mở ra trong một bộ đệm duy nhất trong cùng một cửa sổ. –

+2

'(setq ns-pop-up-frames nil)' làm việc cho tôi. – worldsayshi

+0

[Liên quan] (http://stackoverflow.com/questions/1850292/emacs-23-1-and-mac-os-x-problem-with-files-drag-and-drop) – worldsayshi

2

tôi sử dụng trong emacs của tôi:

; Upon drag-and-drop: Find the file, w/shift insert filename; w/meta insert file contents 
; note that the emacs window must be selected (CMD-TAB) for the modifiers to register 
(define-key global-map [M-ns-drag-file] 'ns-insert-file) 
(define-key global-map [S-ns-drag-file] 'ns-insert-filename) 
(define-key global-map [ns-drag-file] 'ns-find-file-in-frame) 

(defun ns-insert-filename() 
    "Insert contents of first element of `ns-input-file' at point." 
    (interactive) 
    (let ((f (pop ns-input-file))) 
    (insert f)) 
    (if ns-input-file      ; any more? Separate by " " 
     (insert " "))) 

(defun ns-find-file-in-frame() 
    "Do a `find-file' with the `ns-input-file' as argument; staying in frame." 
    (interactive) 
    (let ((ns-pop-up-frames nil)) 
    (ns-find-file))) 
+0

Tuyệt vời! Những công việc tuyệt vời - cảm ơn rất nhiều! Có thể thay đổi hành vi mặc định của ns-drag-file không, nếu đích đến là một bộ đệm vỏ? Đặc biệt, nếu tôi kéo vào một vỏ, nó có vẻ tự nhiên cho nó để dán đường dẫn đầy đủ. Nhưng dù sao, chỉ tò mò thôi. Giữ phím shift là đủ dễ dàng. – DavidR

2

tôi sử dụng:

(if (fboundp 'ns-find-file) 
    (global-set-key [ns-drag-file] 'ns-find-file)) 

Điều này (về cơ bản là giống như đưa ra trong các câu trả lời khác) đảm bảo rằng một bộ đệm mới được tạo ra. Phần if đảm bảo rằng mã sẽ hoạt động ngay cả trong môi trường không phải Mac.

(setq ns-pop-up-frames nil) 

Điều này đảm bảo rằng bộ đệm mới được hiển thị trong cửa sổ hiện có, do đó khung Emac mới không được mở. (Tôi nhận thấy trong một nhận xét rằng bạn đã gặp sự cố với điều này.)

+0

Ahh, hoàn hảo! Điều này đã thực sự làm tôi thất vọng, nhưng giờ đây chiếc mactop mới của tôi đã có được sự hoàn hảo, cảm ơn bạn! – CodexArcanum

Các vấn đề liên quan