Cách dễ nhất để mở thư mục chứa tệp hiện tại của trình thám hiểm mặc định của HĐH (ví dụ: explorer.exe trong trường hợp HĐH Windows) là gì?
Cách dễ nhất để mở thư mục chứa tệp hiện tại của trình thám hiểm mặc định của HĐH (ví dụ: explorer.exe trong trường hợp HĐH Windows) là gì?
Câu trả lời:
Sử dụng browse-url-of-file
nên làm việc khi được đưa ra một thư mục.
Bạn có thể thực hiện một lệnh mở thư mục của tệp hiện tại như thế này:
(defun browse-file-directory ()
"Open the current file's directory however the OS would."
(interactive)
(if default-directory
(browse-url-of-file (expand-file-name default-directory))
(error "No `default-directory' to open")))
Sau đó M-x browse-file-directorysẽ mở thư mục trong trình duyệt tệp của hệ điều hành của bạn.
Đối với MS Windows:
Tải thư viện w32-browser.el
và sử dụng lệnh w32explore
. Nó làm chính xác những gì bạn đang yêu cầu. Xem MS Shell thực thi .
Nếu bạn cũng sử dụng Dired + thì M-RET
trên một tệp hoặc tên thư mục trong Dired sẽ mở Windows Explorer cho nó.
sao chép toàn bộ đường dẫn vào bảng tạm lúc đầu:
;; you need install xsel under Linux
;; xclip has some problem when copying under Linux
(defun copy-yank-str (msg &optional clipboard-only)
(unless clipboard-only (kill-new msg))
(cond
;; display-graphic-p need windows 23.3.1
((and (display-graphic-p) x-select-enable-clipboard)
(x-set-selection 'CLIPBOARD msg))
(t (with-temp-buffer
(insert msg)
(shell-command-on-region (point-min) (point-max)
(cond
((eq system-type 'cygwin) "putclip")
((eq system-type 'darwin) "pbcopy")
(t "xsel -ib")))))))
(defun cp-fullpath-of-current-buffer ()
"copy full path into the yank ring and OS clipboard"
(interactive)
(when buffer-file-name
(copy-yank-str (file-truename buffer-file-name))
(message "file full path => clipboard & yank ring")))