Emacs - 如何在组织模式源代码块中包装选择?
Emacs - How to wrap selection in org-mode source code block?
我有一堆 elisp 和其他代码以及一些注释我想重新格式化以更有条理,我发现必须输入
#+BEGIN_SRC emacs-lisp ... #+END_SRC
一直围绕着我想要的东西,花费的时间比预期的要长一些...
所以我想做的是 wrap/or 将选定的内容(使用 C-space)放入组织模式的模板源代码块中(在我的例子中)它主要是 elisp 代码,但我可能打算将它用于其他事情)
我如何在 emacs 或 elisp 中执行此操作?
你可以试试wrap-region。它将允许您定义要环绕 selection.
的字符串类型
将其放入您的 init.el
并对其进行评估。
(wrap-region-global-mode t)
(wrap-region-add-wrapper "#+BEGIN_SRC emacs-lisp\n" "#+END_SRC" "#" 'org-mode)
然后,当您编辑 org
文件时,您可以 select 一段文本并键入 #
,这将用您的字符串将其包裹起来。您可以将 #
更改为另一个将进行换行的字符。
最近的 Org 模式 (>= 9.0 IIRC) 中有一个新的 templating mechanism 允许您将区域包装在一个块中:以通常的方式选择区域后,您说 C-c C-, s
.不过,您仍然需要输入 emacs-lisp
部分。这就是缺点。优点是它足够通用,可以让您将区域包裹在任何类型的块中。在你的情况下,我认为缺点超过了优点,所以我会在另一个答案中使用 wrap-region
方法,但是这个也很高兴知道。
我有一堆 elisp 和其他代码以及一些注释我想重新格式化以更有条理,我发现必须输入
#+BEGIN_SRC emacs-lisp ... #+END_SRC
一直围绕着我想要的东西,花费的时间比预期的要长一些...
所以我想做的是 wrap/or 将选定的内容(使用 C-space)放入组织模式的模板源代码块中(在我的例子中)它主要是 elisp 代码,但我可能打算将它用于其他事情)
我如何在 emacs 或 elisp 中执行此操作?
你可以试试wrap-region。它将允许您定义要环绕 selection.
的字符串类型将其放入您的 init.el
并对其进行评估。
(wrap-region-global-mode t)
(wrap-region-add-wrapper "#+BEGIN_SRC emacs-lisp\n" "#+END_SRC" "#" 'org-mode)
然后,当您编辑 org
文件时,您可以 select 一段文本并键入 #
,这将用您的字符串将其包裹起来。您可以将 #
更改为另一个将进行换行的字符。
最近的 Org 模式 (>= 9.0 IIRC) 中有一个新的 templating mechanism 允许您将区域包装在一个块中:以通常的方式选择区域后,您说 C-c C-, s
.不过,您仍然需要输入 emacs-lisp
部分。这就是缺点。优点是它足够通用,可以让您将区域包裹在任何类型的块中。在你的情况下,我认为缺点超过了优点,所以我会在另一个答案中使用 wrap-region
方法,但是这个也很高兴知道。