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

问题描述 投票:5回答:3

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

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

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

emacs autocomplete org-mode babel
3个回答
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)))

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


3
投票

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

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

有关详细信息,请查看组织文档14.11键绑定和有用函数。


0
投票

迟到了,但今天默认(以及没有其他黑客的推荐方式)是使用'org-edit-special切换到专用的elisp缓冲区,现在映射到

C-c-'

点击同样返回你的组织文件编辑。

© www.soinside.com 2019 - 2024. All rights reserved.