如何在Emacs Org-babel中启用自动完成功能?

时间:2013-02-05 09:28:53

标签: emacs autocomplete org-mode babel

我想在auto-complete中为Babel代码块启用org-mode

#+begin_src emacs-lisp
(setq )                 <--- language-aware auto-completion here
#+end_src

我需要将哪些内容添加到.emacs文件中才能配置auto-complete来执行此操作?

3 个答案:

答案 0 :(得分:2)

您可以使用正确的模式和自动完成切换到专用会话 当您在代码块中时,只需使用C-c C-v z

C-c C-v zC-c C-v org-babel-switch-to-session-with-code

检查组织文档14.11密钥绑定和有用功能以获取更多信息。

答案 1 :(得分:1)

执行此操作的最强大(并且完全不是org-mode)方法涉及indirect bufferHere's一篇博文,深入介绍了间接缓冲。基本上,间接缓冲区镜像另一个缓冲区的一部分的内容。

(defun narrow-to-region-indirect (start end)
  "Restrict editing in this buffer to the current region, indirectly."
  (interactive "r")
  (deactivate-mark)
  (let ((buf (clone-indirect-buffer nil nil)))
    (with-current-buffer buf
      (narrow-to-region start end))
      (switch-to-buffer buf)))

此时,您将拥有一个包含您之前创建的区域的新缓冲区。您可以为该缓冲区启用主要模式并进行编辑以使您满意 - 您所做的更改(就像任何好的镜像应该做的那样)反映在原始文档中。

答案 2 :(得分:0)

晚些时候参加聚会,但是今天默认(并且推荐的方式,没有其他黑客手段)是使用'org-edit-special切换到该“大块”的专用elisp缓冲区,该映射今天已映射到

  

C-c-'

与以前相同,返回到您的组织文件编辑。