2015-11-04 79 views
1

我正在使用组织模式来组织我的任务。我使用标准优先级。如何将空行插入我的组织模式议程中?

是否可以将空行插入标准议程视图?我每天都有很多任务,并且通常按照优先级排序。 #A显示在最上面,#B显示在中间,#C显示在最下面。

我想在每个优先级类之后有一个空行作为分隔符(所有#A任务之后有一个空行,所有#B任务之后有一个空行,#C任务之后有一个空行)。这会让我的议程更具可读性。

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

谢谢!

+1

你google了吗? – manetsus

+0

尽管以下链接远远超出大多数人会用到的范围,但它是为通常使用'org-agenda-list'功能创建的项目创建自定义议程视图的一种方法。可以检查收集的数据的文本属性,然后更改列表中的一个或多个元素和/或在填充时将新行(基于选择条件)插入缓冲区。 http://emacs.stackexchange.com/a/12563/2287过去几年来,我一直在使用自定义日程视图,并且非常喜欢它。 – lawlist

+0

另一种选择是使用'org-agenda-mode-hook'之类的东西,并在人口过程的最后端修改* stock/regular/normal *议程缓冲区中的数据(使用自定义函数)。比方说,例如缓冲区是按照优先级组合的方式排序的 - 自定义函数可以搜索组的第一个优先级,并在该组的第一个标题前插入一个“\ n”。 – lawlist

回答

0

下面是来自评论中提供的代码@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)