diff --git a/lisp/ob-keys.el b/lisp/ob-keys.el index c27d7fd3e..bab110ff2 100644 --- a/lisp/ob-keys.el +++ b/lisp/ob-keys.el @@ -83,7 +83,8 @@ functions which are assigned key bindings, and see ("a" . org-babel-sha1-hash) ("h" . org-babel-describe-bindings) ("\C-x" . org-babel-do-key-sequence-in-edit-buffer) - ("x" . org-babel-do-key-sequence-in-edit-buffer)) + ("x" . org-babel-do-key-sequence-in-edit-buffer) + ("\C-\M-h" . org-babel-mark-block)) "Alist of key bindings and interactive Babel functions. This list associates interactive Babel functions with keys. Each element of this list will add an entry to the diff --git a/lisp/ob.el b/lisp/ob.el index 3c81baf77..437ee7365 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1114,6 +1114,18 @@ With optional prefix argument ARG, jump backward ARG many source blocks." (defvar org-babel-load-languages) ;;;###autoload +(defun org-babel-mark-block () + "Mark current src block" + (interactive) + ((lambda (head) + (when head + (save-excursion + (goto-char head) + (looking-at org-babel-src-block-regexp)) + (push-mark (match-end 5) nil t) + (goto-char (match-beginning 5)))) + (org-babel-where-is-src-block-head))) + (defun org-babel-demarcate-block (&optional arg) "Wrap or split the code in the region or on the point. When called from inside of a code block the current block is