OSのデフォルトのエクスプローラーで現在のファイルを含むフォルダーを開く最も簡単な方法は何ですか?


10

OSのデフォルトのエクスプローラー(Windows OSの場合はexplorer.exeなど)で現在のファイルを含むフォルダーを開く最も簡単な方法は何ですか?


1
私はhunch(browse-url-of-file default-directory)がそれを行うでしょう、それはosxでfinderで動作します。それはWindowsで動作すると思いますが、テストできません。
Jordon Biondo、2015年

@JordonBiondoうまくいきました!コメントを回答に変換してください。
名前

回答:


14

browse-url-of-fileディレクトリを指定すると、を使用できます。

次のように、現在のファイルのディレクトリを開くコマンドを実装できます。

(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")))

次にM-x browse-file-directory、OSのファイルブラウザでディレクトリを開きます。


Windowsのemacs 25. *との小さな非互換性がありましたが、このソリューションはWindowsのemacs 26.1で正常に動作します。
名前

VSのように、ファイルを選択することはできますか?dev.to/devmount/23-lesser-known-vs-code-shortcuts-as-gif-80の
user3341592


1

デフォルトのエクスプローラプログラムと現在のフォルダ(MS Windowsなど)を使用してshell-commandM+ !)を実行します。explorer .


0

最初に完全なパスをクリップボードにコピーします。

;; 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")))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.