C-c ' to edit the current code block. It opens a new major mode edit buffer containing the body of the source code block, ready for any edits. Use
C-c ' again to close the buffer and return to the Org buffer.
C-x C-s saves the buffer and updates the contents of the Org buffer. Set
org-edit-src-auto-save-idle-delay to save the base buffer after a certain idle delay time. Set
org-edit-src-turn-on-auto-save to auto-save this buffer into a separate file using Auto-save mode.
While editing the source code in the major mode, the Org Src minor mode remains active. It provides these customization variables as described below. For even more variables, look in the customization group
If an Emacs major-mode named
<LANG>-mode exists, where
<LANG> is the language identifier from code block’s header line, then the edit buffer uses that major mode. Use this variable to arbitrarily map language identifiers to major modes.
For specifying Emacs window arrangement when the new edit buffer is created.
nil. Source code is indented. This indentation applies during export or tangling, and depending on the context, may alter leading spaces and tabs. When non-
nil, source code is aligned with the leftmost column. No lines are modified during export or tangling, which is very useful for white-space sensitive languages, such as Python.
nil, Org returns to the edit buffer without further prompts. The default prompts for a confirmation.
org-src-fontify-natively to non-
nil to turn on native code fontification in the Org buffer. Fontification of code blocks can give visual separation of text and code on the display page. To further customize the appearance of
org-block for specific languages, customize
org-src-block-faces. The following example shades the background of regular blocks, and colors source blocks only for Python and Emacs Lisp languages.
(set-face-attribute 'org-block nil :background
(face-attribute 'default :background) 3))
(setq org-src-block-faces '(("emacs-lisp" (:background "#EEE2FF"))
("python" (:background "#E5FFB8"))))