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

如何在Emacs Org babel中启用自动完成?,emacs,autocomplete,org-mode,babeljs,Emacs,Autocomplete,Org Mode,Babeljs,我想在组织模式下为Babel代码块启用自动完成: #+begin_src emacs-lisp (setq ) <--- language-aware auto-completion here #+end_src #+begin_src emacs lisp (setq)实现这一点的最可靠(而且完全不是组织模式特定)方法包括间接缓冲区。深入解释间接缓冲区的博客文章。基本上,间接缓冲区镜像另一个缓冲区的一部分内容 (定义窄到间接区域(开始-结束) 间接地将此

我想在
组织模式下为Babel代码块启用
自动完成

#+begin_src emacs-lisp
(setq )                 <--- language-aware auto-completion here
#+end_src
#+begin_src emacs lisp
(setq)实现这一点的最可靠(而且完全不是
组织模式
特定)方法包括
间接缓冲区
。深入解释间接缓冲区的博客文章。基本上,间接缓冲区镜像另一个缓冲区的一部分内容

(定义窄到间接区域(开始-结束)
间接地将此缓冲区中的编辑限制为当前区域
(交互式“r”)
(停用标记)
(let((buf(克隆间接缓冲区nil-nil)))
(带当前缓冲区buf)
(窄至区域起点和终点))
(切换到缓冲区buf)))

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

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

C-C-v z
C-C-v
org babel切换到带代码的会话


查看组织文档14.11关键绑定和有用函数以了解更多信息。

晚会迟到了,但今天的默认方式(以及没有其他黑客攻击的推荐方式)是使用今天映射到的“组织编辑专用”切换到该“大块头”的专用elisp缓冲区

C-C-'


点击相同的按钮可返回组织文件编辑。

您可以使用C-C'来编辑源代码和相应的主模式。这也是一个好方法。@Juancho我认为您应该将其作为答案发布(但要详细说明)。至少您可以让tab像这样充当本机模式<代码>(setq org src tab在本机上起作用)
这是一种更通用的解决方案。有点关键。总有不止一种方法。我的不一样。利与弊以这样或那样的方式平衡……今天,我推荐我在下面的回复中提到的“OrgEditSpecial(C-C)”。