我想在 emacs orgmode 中以自定义格式插入时间戳。我想通过按C-c -
以这种形式插入当前时间(没有日期!):[HH:MM]。我是lisp的新手,无法弄清楚如何做到这一点。
我的~/.emacs
文件的起点是这样的:
(defun org-my-custom-timestamp ()
(interactive)
( :SOME_CODE: )
)
(define-key global-map "\C-c-" 'org-my-custom-timestamp)
现在这只是我的自定义函数org-my-custom-timestamp
的定义,“交互”和快捷方式分配。
但是我为:SOME_CODE:
尝试了各种各样的事情而没有任何成功。
可以在功能中使用什么来使其以所描述的方式工作?
是否有经验丰富的emacs用户甚至会考虑这种方式来解决它的实际问题,还是有更智能的方法来实现它?也许org-mode-internal?
答案 0 :(得分:5)
组织模式的本地键映射有一个绑定C-c -
的条目,因此我们必须更改它而不是全局键:
(defun org-my-custom-timestamp ()
(interactive)
(insert (format-time-string "[%H:%M]")))
(add-hook 'org-mode-hook
(lambda ()
(local-set-key "\C-c-" 'org-my-custom-timestamp)))
再次注意,它会替换org-ctrl-c-minus
命令,默认情况下,在Org模式下绑定到C-c -
,并使用您自己的命令。