我尝试调用以下org-mode函数将当前时间戳插入缓冲区。该函数由脚本调用。
(org-time-stamp-inactive)
正如预期的那样,这会提示询问用于时间戳的日期。但我想跳过提示并直接插入时间戳。这有可能吗?天文没有找到任何可以帮助我的东西。
答案 0 :(得分:2)
org-time-stamp
无条件¹调用org-read-date
来提示用户输入日期。你不能通过约会。但是你可以locally bind org-read-date
到一个返回你想要使用的日期的函数。
(require 'cl)
(flet ((org-read-date (org-with-time &rest args)
(format-time-string (if org-with-time "%Y-%m-%d %H:%M" "%Y-%m-%d")
(current-time))))
(org-time-stamp-inactive with-time))
¹除非有时间戳,但有时没有帮助。
答案 1 :(得分:1)
这应该插入当前的非活动时间戳:
(org-insert-time-stamp nil nil t)
答案 2 :(得分:0)
我最后通过以下调用从头开始创建时间戳:
(insert (format-time-string "[%Y-%m-%d %a]"))
答案 3 :(得分:-2)
您可以在类似功能(org-time-stamp)
[...]使用两个通用前缀参数,插入一个活动时间戳 使用当前时间而不提示用户。 [...]
所以..你需要做的就是在调用函数之前按C-u C-u
(例如C-u C-u M-x org-time-stamp-inactive RET
)