;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/dired-jump-target.el (require 'dired) (defun dired-jump-target (file) "Jump to FILE or to the target if a symlink." (interactive (let ((fls (dired-get-marked-files))) (list (if (= 1 (length fls)) (car fls) (thing-at-point 'filename) )))) (let*((tgt (file-truename file)) (dir (file-name-directory tgt)) ) (when (file-exists-p tgt) (find-file dir) (dired-jump nil tgt) ))) ;; (dired-jump-target "~/mia.txt") ; from Lisp: a regular file ;; (dired-jump-target "~/l") ; a symlink ;; (dired-jump-target "~/test") ; a directory ;; (dired-jump-target "~/mm/vidz/xxx") ; no such file, so NOOP ;; ↑ ;; with point here ;; M-x dired-jump-target RET (provide 'dired-jump-target)