Edit a source block with its name shown in org

My preference is to rely upon heading property inheritance to define source block
names. That way, you can just do your work knowing “where” you are working and
keep it simple by not having to name everything. That was just fine until I
wrote a document where I needed to name each source block.
It gets easy to forget the source block’s name. Not the end of the world, but very nice to know.

(defun gcr/org-edit-src-code-plus-name ()
  "Edit the well-described source code block.
Attribution: URL `https://lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00778.html'"
  (interactive)
  (let* ((eop  (org-element-at-point))
         (name (or (org-element-property :name (org-element-context eop))
                  "ॐ"))
         (lang (org-element-property :language eop))
         (buff-name (concat "*Org Src " name "[" lang "]*")))
    (org-edit-src-code nil nil buff-name)))

R Markdown

R Markdown is an authoring format that enables easy creation of dynamic documents, presentations, and reports from R. It combines the core syntax of markdown (an easy-to-write plain text format) with embedded R code chunks that are run so their output can be included in the final document. R Markdown documents are fully reproducible (they can be automatically regenerated whenever underlying R code or data changes).

A progress indicator for code blocks in org-mode

A progress indicator for code blocks in org-mode courtesy
of John Kitchin:

;; give us some hint we are running
(defadvice org-babel-execute-src-block (around progress nil activate)
  (set-face-attribute
   'org-block-background nil :background "LightSteelBlue")
  (message "Running your code block")
  ad-do-it
  (set-face-attribute 'org-block-background nil :background "gray")
  (message "Done with code block"))

What all of those org-babel functions do

For the lazy org users like myself who want to know what the functions
listed here do, just evaluate the one you want:

(describe-function 'org-babel-execute-src-block)
(describe-function 'org-babel-open-src-block-result)
(describe-function 'org-babel-load-in-session)
(describe-function 'org-babel-pop-to-session)
(describe-function 'org-babel-previous-src-block)
(describe-function 'org-babel-next-src-block)
(describe-function 'org-babel-execute-maybe)
(describe-function 'org-babel-open-src-block-result)
(describe-function 'org-babel-expand-src-block)
(describe-function 'org-babel-goto-src-block-head)
(describe-function 'org-babel-goto-named-src-block)
(describe-function 'org-babel-goto-named-result)
(describe-function 'org-babel-execute-buffer)
(describe-function 'org-babel-execute-subtree)
(describe-function 'org-babel-demarcate-block)
(describe-function 'org-babel-tangle)
(describe-function 'org-babel-tangle-file)
(describe-function 'org-babel-check-src-block)
(describe-function 'org-babel-insert-header-arg)
(describe-function 'org-babel-load-in-session)
(describe-function 'org-babel-lob-ingest)
(describe-function 'org-babel-view-src-block-info)
(describe-function 'org-babel-switch-to-session-with-code)
(describe-function 'org-babel-sha1-hash)
(describe-function 'org-babel-describe-bindings)
(describe-function 'org-babel-do-key-sequence-in-edit-buffer)

There are some very special functions in there!