Emacs 如何在组织模式议程中插入空行?

Emacs 如何在组织模式议程中插入空行?,emacs,org-mode,Emacs,Org Mode,我正在使用组织模式来组织我的任务。我使用标准优先级 是否可以在标准议程视图中插入空行?我每天有很多任务,通常按优先级排序。αa在顶部,在中间有αb,在底部有αc。p> 我希望在每个优先级类别后有一个空行作为分隔符(所有a任务后有一个空行,所有B任务后有一个空行,所有C任务后有一个空行)。这将使我的议程更具可读性 我确实找到了有关如何在块后插入分隔符的帮助,但我不使用块 谢谢大家! 以下是评论中提供的code@lawlist的有效解决方案。它将根据优先级直观地划分当天的任务 (defun my

我正在使用组织模式来组织我的任务。我使用标准优先级

是否可以在标准议程视图中插入空行?我每天有很多任务,通常按优先级排序。αa在顶部,在中间有αb,在底部有αc。p> 我希望在每个优先级类别后有一个空行作为分隔符(所有a任务后有一个空行,所有B任务后有一个空行,所有C任务后有一个空行)。这将使我的议程更具可读性

我确实找到了有关如何在块后插入分隔符的帮助,但我不使用块


谢谢大家!

以下是评论中提供的code@lawlist的有效解决方案。它将根据优先级直观地划分当天的任务

  (defun my-custom-agenda-fn ()
    (save-excursion
     (let ((delimit "------------------------"))
      (org-agenda-goto-today)
      (dolist
          (priority '("\\[#A\\]" "\\[#B\\]" "\\[#C\\]" "\\[#D\\]" "\\[#E\\]"))
        (when (re-search-forward priority nil t)
          (goto-char (point-at-bol)) (insert (concat delimit "\n"))))
      (org-agenda-goto-today)
      (when (re-search-forward delimit nil t)
        (delete-region
         (progn (forward-visible-line 0) (point))
         (progn (forward-visible-line 1) (point))))
      ))
   )

(add-hook 'org-agenda-finalize-hook 'my-custom-agenda-fn)

尽管以下链接远远超出了大多数人的使用范围,但它是一种为通常使用
org agenda list
功能创建的项目创建自定义议程视图的方法。可以检查所收集数据的文本属性,然后在填充缓冲区时更改列表的一个或多个元素和/或在缓冲区中插入新行(基于选择标准)。在过去的几年里,我一直在使用一个定制的日程视图,并且已经非常喜欢它。另一个选择是使用类似于
org agenda mode hook
的东西,并在填充过程的末尾更改stock/regular/normal agenda buffer(带有自定义函数)中的数据。例如,假设缓冲区已排序,以便将优先级组放在一起--自定义函数可以搜索组的第一个优先级,并在该组的第一个标题前插入一个
\n
。下面是一个简单的示例,说明如何使用
org-hook
——只需将代码片段添加到
.emacs
文件中,保存并重新启动emacs<代码>(需要“组织议程”)(取消我的自定义议程fn()(保存远足(goto char(point min))(dolist(priority)(优先级“(“\\[\\\\\\\]”“\\[\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\如果您不介意编辑您的问题,以包含之前和之后的详细示例,那么我很乐意在今天晚些时候尝试一下答案。请在您的详细示例中仅使用文本,以便我可以阻止/复制测试数据,而无需根据图像/图片重新键入所有内容。你可以通过在每行的开头至少放置四(4)个空格来在问题中创建一个逐字记录块。如果你想在一切正常后发布答案,那么这将表明这个问题已经解决——我相信等待时间大约是36到48小时(发布问题后)在你接受自己的答案之前,你可以在本周晚些时候检查,在自己的答案旁边打勾。