org-rich-yank
org-rich-yank copied to clipboard
📋 Rich text clipboard for org-mode: Paste as a #+BEGIN_SRC block of correct mode, with link to where it came from
#+TITLE: org-rich-yank
[[https://melpa.org/#/org-rich-yank][https://melpa.org/packages/org-rich-yank-badge.svg]]
Do you often yank source code into your org files, manually surrounding it in =#+BEGIN_SRC= blocks? This package will give you a new way of pasting that automatically surrounds the snippet in blocks, marked with the major mode of where the code came from, and adds a link to the source file after the block.
#+ATTR_HTML: :alt org-rich-yank demo [[file:org-rich-yank.gif][file:org-rich-yank.gif]]
- Installation
** MELPA If you use [[https://melpa.org/][MELPA]], you can just do =M-x list-packages=, find =org-rich-yank= in the list and hit =i x=.
** Manual Just put =org-rich-yank.el= somewhere in =load-path=.
- Usage
** Manual, loading on startup:
To use, require and bind whatever keys you prefer to the interactive function:
#+BEGIN_SRC emacs-lisp (require 'org-rich-yank) (define-key org-mode-map (kbd "C-M-y") #'org-rich-yank) #+END_SRC
** With use-package, enabled after org:
If you prefer =use-package=, the above settings would be:
#+BEGIN_SRC emacs-lisp (use-package org-rich-yank :ensure t :demand t :bind (:map org-mode-map ("C-M-y" . org-rich-yank))) #+END_SRC
The =:demand t= in there is because we never know when the user will hit =C-M-y=, so we always have to store the current buffer on kills. You can remove the =:demand t= and have lazy/deferred loading, but then the first time you hit =C-M-y= after startup, you'll get a message that you have to kill the selection again.