、 lispモードで私は必要なものインデントコード
は次のとおりです。
- カーソルがSRCブロック内にあるかどうかを把握するための方法。その場合、デフォルトのorg折り畳みが行われるべきであるように、ヘッダー行自体をトリガーしないでください。
- ヘッダーに指定されているモード(この場合はemacs-lisp)に従ってコードをインデントする方法。
Orgはすでにモードに従ってsrcブロックを強調表示することができ、TABフックはそこにあります。これはできると思われる。それが唯一のemacs-lispのブロックを処理し
(defun indent-org-src-block-line()
"Indent the current line of emacs lisp code."
(interactive)
(let ((info (org-babel-get-src-block-info 'light)))
(when info
(let ((lang (nth 0 info)))
(when (string= lang "emacs-lisp")
(let ((indent-line-function 'lisp-indent-line))
(indent-for-tab-command)))))))
(add-to-list 'org-tab-before-tab-emulation-hook
'indent-org-src-block-line)
:
現在のコードを編集しているので、 '' C-c '''で編集モードに入るだけで十分ですか? – gongzhitaao
はい、私はそのショートカットについては知っていますが、emacsのconfig-within-orgファイルなどのように、短いスニペットを編集すると重すぎると感じます。 – user103576
はこの[スレッド](http://lists.gnu.org/archive/html/emacs-orgmode/2012-02/msg00847.html)に役立つかもしれません – gongzhitaao