Hi Rodrigo, Thanks for sharing, it seems interesting and useful. But I think this function is missing in your post: `my/kill-new'.
Best regards, Juan Manuel Rodrigo Morales writes: > I just created this function for copying the thing under the cursor (it > works for some #+BEGIN blocks and links). I think it would be useful for > others, so I'm creating this post for getting feedback on the Elisp code > and sharing it to those interested. > > #+BEGIN_SRC elisp > (defun my/org-kill-thing-at-point () > "Kill the thing at point. > > The following things are currently supported > > - #+BEGIN_SRC <<any>> > - #+BEGIN_EXPORT <<any>> > - #+BEGIN_EXAMPLE <<any>> > - #+BEGIN_COMMENT > - Org links (the description is not copied)" > (interactive) > (let* (content > (element (org-element-context)) > (type (org-element-type element))) > (cond ((or (eq type 'src-block) > (eq type 'export-block) > (eq type 'example-block) > (eq type 'comment-block)) > (setq content (plist-get (cadr element) :value))) > ((eq type 'link) > (setq content (plist-get (cadr element) :raw-link))) > (t > (error "The element at point couldn't be copied."))) > (my/kill-new content))) > #+END_SRC > > #+BEGIN_SRC elisp > (define-key org-mode-map (kbd "C-c c") 'my/org-kill-thing-at-point) > #+END_SRC >