I have a path like ‘~/org/3b/2d693a-83d9-40cc-a00f-71c227c5d7f5/’. I want extract ‘3b/2x693a-83d9-40ff-a00f-75d227c5d7f5’ using elisp. After extraction, I want convert ‘3b/2x693a-83d9-40ff-a00f-75d227c5d7f5’ into ‘3b2x693a-83d9-40ff-a00f-75d227c5d7f5’, then use ‘org-id-open’ to open it.
`M-x wr/go-back-to-node`, you can go back to the headline.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 (defun wr/second-last-element (list) (nth (- (length list) 2) list)) (defun wr/third-last-element (list) (nth (- (length list) 3) list)) (defun wr/go-back-to-node () "" (interactive) (let ((file (if (equal major-mode 'dired-mode) default-directory (buffer-file-name)))) (if file (let ((extracted-string-2nd (wr/second-last-element (split-string file "/"))) (extracted-string-3rd (wr/third-last-element (split-string file "/")))) (setq converted-string (concat (replace-regexp-in-string "/" "" extracted-string-3rd) (replace-regexp-in-string "/" "" extracted-string-2nd))) (org-id-open converted-string t)) (message "The node has not been added to Emacs yet.