Emacs - 如何在org模式的源码块中包裹选择?

问题描述 投票:0回答:1

我有一堆elisp和其他代码,其中有一些注释,我想重新格式化,以便更有条理,我发现必须键入

#+BEGIN_SRC emacs-lisp ... #+END_SRC

所有的时间都围绕着我想要的东西,比预期的时间要长一些......。

所以我想做的是把选定的内容(用C空间)封装起来,然后放在org-mode的模板源码块中(在我的例子中,它主要是elisp代码,但我计划用它来做其他事情,也许

我如何在emacs或elisp中做到这一点?

emacs elisp
1个回答
2
投票

有一个新的 审图机制 在最近的Org模式(>= 9.0 IIRC)中,允许你将一个区域包在一个块中:在以通常的方式选择区域后,你说 C-c C-, s. 你还是要输入 emacs-lisp 部分,但。这就是缺点。优点是它足够通用,允许你用任何类型的块来包裹一个区域。在你的情况下,我认为劣势大于优势,所以我会选择使用 wrap-region 其他答案中的方法,但这个也很好知道。


1
投票

你可以试试 包裹区域. 它将允许你定义你想要包裹选择的字符串类型。

把这个放在你的 init.el 并对其进行评估。

(wrap-region-global-mode t)
(wrap-region-add-wrapper "#+BEGIN_SRC emacs-lisp\n" "#+END_SRC" "#" 'org-mode)

然后,当您在编辑您的 org 文件,你可以选择一个文本块,然后输入 #,它会用你的字符串将其包裹起来。你可以改变 # 到另一个字符,由它来进行包装。

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