Add keybind for external programs to dired
This commit is contained in:
23
init.el
23
init.el
@@ -88,6 +88,26 @@
|
|||||||
(setq create-lockfiles nil)
|
(setq create-lockfiles nil)
|
||||||
|
|
||||||
;; Dired settings
|
;; Dired settings
|
||||||
|
(defun embark-open-externally (file)
|
||||||
|
"Open FILE externally using the default application of the system."
|
||||||
|
(interactive "fOpen externally: ")
|
||||||
|
(if (and (eq system-type 'windows-nt)
|
||||||
|
(fboundp 'w32-shell-execute))
|
||||||
|
(w32-shell-execute "open" file)
|
||||||
|
(call-process (pcase system-type
|
||||||
|
('darwin "open")
|
||||||
|
('cygwin "cygstart")
|
||||||
|
(_ "xdg-open"))
|
||||||
|
nil 0 nil
|
||||||
|
(expand-file-name file))))
|
||||||
|
|
||||||
|
(defun dired-open-externally (&optional arg)
|
||||||
|
"Open marked or current file in operating system's default application."
|
||||||
|
(interactive "P")
|
||||||
|
(dired-map-over-marks
|
||||||
|
(embark-open-externally (dired-get-filename))
|
||||||
|
arg))
|
||||||
|
|
||||||
(setf dired-kill-when-opening-new-dired-buffer t)
|
(setf dired-kill-when-opening-new-dired-buffer t)
|
||||||
(setq dired-listing-switches "-laGh1v --group-directories-first")
|
(setq dired-listing-switches "-laGh1v --group-directories-first")
|
||||||
(setq dired-omit-files
|
(setq dired-omit-files
|
||||||
@@ -100,7 +120,8 @@
|
|||||||
"to be run as hook for `dired-mode'."
|
"to be run as hook for `dired-mode'."
|
||||||
(interactive)
|
(interactive)
|
||||||
(dired-hide-details-mode 1)
|
(dired-hide-details-mode 1)
|
||||||
(dired-omit-mode 1))
|
(dired-omit-mode 1)
|
||||||
|
(bind-key "E" 'dired-open-externally))
|
||||||
(add-hook 'dired-mode-hook 'my-dired-init)
|
(add-hook 'dired-mode-hook 'my-dired-init)
|
||||||
|
|
||||||
;; All "Yes or No" questions can be shortend to "y or n".
|
;; All "Yes or No" questions can be shortend to "y or n".
|
||||||
|
|||||||
Reference in New Issue
Block a user