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 là gì?


10

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ì?


1
Tôi có một linh cảm (thư mục mặc định của tập tin) sẽ làm điều đó, hoạt động trên osx với công cụ tìm, tôi nghĩ nó sẽ hoạt động với windows, nhưng không thể kiểm tra nó.
Jordon Biondo

@JordonBiondo nó hoạt động! Hãy chuyển đổi nhận xét của bạn để trả lời.
Tên

Câu trả lời:


14

Sử dụng browse-url-of-filenê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.


Đã có một sự không tương thích nhỏ với emacs 25. * trong Windows, nhưng giải pháp hoạt động tốt với emacs 26.1 trên Windows.
Tên

Có thể lấy tập tin đã chọn, như trong VS không? Xem mẹo 20 trong dev.to/devmount/23-lesser- Unknown
vs


1

Chạy shell-command( M+ !) với chương trình thám hiểm mặc định và thư mục hiện tại, ví dụ: đối với MS Windows,explorer .


0

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")))
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.