同问同问!
比如这个时间约定<2019-01-10 星期四 19:00>
我是手动删除了最右边的尖括号“>”, 然后手工输入“ ++1w>”,才能达到我的目的。
另外,如果我不先删除最右边的尖括号“>”,在“<>”内无法直接输入任何内容。
也是希望在C-c dot 那里带入“++1w”。
同问同问!
比如这个时间约定<2019-01-10 星期四 19:00>
我是手动删除了最右边的尖括号“>”, 然后手工输入“ ++1w>”,才能达到我的目的。
另外,如果我不先删除最右边的尖括号“>”,在“<>”内无法直接输入任何内容。
也是希望在C-c dot 那里带入“++1w”。
太棒了,这个define-advice是有用的,不过只能在C-c .操作后直接加入repeater, 不能加时刻然后再加repeater。
改一下匹配条件:
(define-advice org-time-stamp (:around (fn &rest args) insert-escaped-repeater)
;;---------------------------
;; C-c . \+1w RET ;; => <2020-05-23 Sat +1w>
;; C-c . \-1w RET ;; => <2020-05-23 Sat -1w>
;;---------------------------
(apply fn args)
- (when (string-match "^\\\\\\([\\+\\-].*\\)" org-read-date-final-answer)
+ (when (string-match "\\\\\\([\\+\\-].*\\)" org-read-date-final-answer)
(save-excursion
(backward-char)
(insert " "
(string-trim-right
(match-string 1 org-read-date-final-answer))))))
输入 +1w \+2w
EDIT:本来这个 advice 就是这么写的,我在盖 #9 楼的时候临时给正则表达式加了个 ^
,没想到反而限制了它的用途。
解决了!
喜大普奔!帖子里面求解的哥们儿姐们儿们,这个问题解决了。 @Nasy,上面24楼这个程序已经完美解决我的问题了。我认为我的问题就是你的问题,你试过很香就勾选一下解决方案吧!
谢谢 @twlz0ne! 膜了,哈哈哈!
我爱这个论坛!
我好久没用过插入一个时间段的设置了,我看手册试试。
我试了是没冲突,乃再看看?我 org 其实用的感觉还没有乃多呢(
@laub 其实,这个还不完全,虽然已经很棒了!
完整的 repeater interval 还有这种写法:
<2020-05-23 Sat .+1w -2d>
.
倒是好解决,[\\+\\-]
→ [\\+\\-\\.]
,但是再来一个 -2d 就(
If you need both a repeater and a special warning period in a deadline entry, the repeater should come first and the warning period last
DEADLINE: <2005-10-01 Sat +1m -3d>
你可以改一下 “。*” 再加个循环
我比较菜,只会用文档中现成的功能中的一部分。很少再去往下想一层。
只需输入一次转移符:\+1w -2d
=> <2020-05-25 Mon +1w -2d>
,这就是匹配规则不写死的“好处”。
当然你也可以把匹配规则订得严格一点,然后循环处理 org-read-date-final-answer
。
试了下这样也能在org-schedule
时输入repeater,就是第二次编辑的时候如果重新输入repeater会出现bug。。。
另外请问如何在advice-add
的时候pass参数给函数?我想把这两个define-advice
写成一个defun
和两个advice-add
。。。
- (define-advice org-time-stamp (:around (fn &rest args) insert-escaped-repeater)
+ (define-advice org--deadline-or-schedule (:around (fn &rest args) insert-escaped-repeater)
;;---------------------------
;; C-c . \+1w RET ;; => <2020-05-23 Sat +1w>
;; C-c . \-1w RET ;; => <2020-05-23 Sat -1w>
;;---------------------------
(apply fn args)
(when (string-match "\\\\\\([\\+\\-].*\\)" org-read-date-final-answer)
(save-excursion
- (backward-char)
+ (backward-char 2)
(insert " "
(string-trim-right
(match-string 1 org-read-date-final-answer))))))
这个厉害,,能教下怎么实现的吗?。。
哦,对,我发现是我的 org-display-custom-times
导致的 +1w -2d 没显示了 233
海贼王罗杰说的那句话:代码就在那里,去拿吧!
啊这
请问这个农历是怎么做到的?看起来挺好用的
calendar-mode-line-format
可以自定义