如何在emacs org-mode中将子标题移动到其他标题下

Mit*_*ops 17 emacs org-mode

我的列表看起来像这样:

* TODAY
** TODO Item 1
** TODO Item 2
* TOMORROW
** TODO Item 3
** TODO Item 4 
Run Code Online (Sandbox Code Playgroud)

......作为一个单一的列表,基于我在这里收到的一些建议.我想将TODO Item 2从TODAY下移到TOMORROW下.

手册:

M-up
M-down
Move the item including subitems up/down (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. 
Run Code Online (Sandbox Code Playgroud)

但是当我可以改变第1项和第2项的位置时,我无法将第2项移到今日标题之外 - 我无法在明天的标题下将其移动到第3项之前.缓冲区告诉我:

cannot move past superior level or buffer limit org mode

什么是击键让我将子项目"超越上级"移到新标题下?

ffe*_*tte 16

您可以使用C-c C-w(org-refile)并指定要发送TODO项目的标题.

正如您将在此函数的文档(C-h forg-refile)中看到的那样,您可以自定义org-refile-targetsorg-reverse-note-order变量以确定可能的目标标题列表以及目标标题中已移动项目的位置.


san*_*inc 9

这里有2个选项:

  1. 将项目2推广到顶层M-left,然后将其移至"明天"下方M-down,最后将其降级为"明天" M-right.

  2. 切断与"项目2"子树org-cut-special(C-c C-x C-w),然后将其粘贴"明天"下,使用org-paste-special(C-c C-x C-y).


小智 9

最简单的方法,只需使用 M-shift-up 或 M-shift-down 即可将项目移至上一级。


Mit*_*ops 1

与上面的 sanityinc 类似,我采用的解决方案是......

  1. 将光标移至 *TOMORROW
  2. 使用 M-right 将其降级为 **
  3. 将光标移至 TODO 项目 2
  4. 用 M-down 将其拉到 **TOMORROW 下面
  5. 将光标返回到 **TOMORROW 并使用 M-left 重新提升它

为此构建一个宏可能会更好,但它很直观,而且不像看起来那么糟糕。不过,如果CM-down之类的东西能做到这一点,那就更方便了。