diff --git a/configuration.org b/configuration.org index 5c4d399..4fa079c 100644 --- a/configuration.org +++ b/configuration.org @@ -403,6 +403,27 @@ DELIMITED, START, and END are passed down verbatim to `perform-replace'." t t delimited nil nil start end)) #+END_SRC +*** Insert the current file’s name at point +:PROPERTIES: +:SOURCE: http://mbork.pl/2019-02-17_Inserting_the_current_file_name_at_point +:END: + +#+BEGIN_SRC emacs-lisp +(defun insert-current-file-name-at-point (&optional full-path) + "Insert the current filename at point. +With prefix argument, use full path." + (interactive "P") + (let* ((buffer + (if (minibufferp) + (window-buffer + (minibuffer-selected-window)) + (current-buffer))) + (filename (buffer-file-name buffer))) + (if filename + (insert (if full-path filename (file-name-nondirectory filename))) + (error (format "Buffer %s is not visiting a file" (buffer-name buffer)))))) +#+END_SRC + ** Navigation *** Move to different beginnings of the current line @@ -3359,7 +3380,8 @@ With the new Transient package it will be easier. I just don’t know how to us ("c i" . org-clock-in) ("c I" . org-clock-in-last) ("c o" . org-clock-out) - ("c g" . org-clock-goto)) + ("c g" . org-clock-goto) + ("M-o" . insert-current-file-name-at-point)) #+END_SRC ** TODO These fail to work using ~bind-keys~, but why?