gpt4 book ai didi

emacs - 在缓冲区中添加时间

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:07 25 4
gpt4 key购买 nike

假设我有一个 emacs 缓冲区,其中包含格式为分“秒”和格式为分和秒的时间,例如 5'30''、6'15''、10' 和 1 ''。是否可以将所有时间自动添加到缓冲区中,并以分钟'秒''(此处 = 21'46'')的格式输出(在迷你缓冲区中)?

最佳答案

您可以使用:

(defun add-times ()
(interactive)
(save-excursion
(let ((mins 0) (secs 0)
(accum-nums
(lambda (regexp)
(let ((value 0))
(beginning-of-buffer)
(while (re-search-forward regexp nil t)
(setq value (+ value (string-to-int (match-string-no-properties 1)))))
value))))
(setq mins (funcall accum-nums "\\([0-9]+\\)'\\([^']\\|$\\)"))
(setq secs (funcall accum-nums "\\([0-9]+\\)''"))
; adjust > 60 seconds
(setq mins (+ mins (/ secs 60)))
(setq secs (mod secs 60))
(format "%d'%d''" mins secs))))

你可以像这样使用它:在时间文件的缓冲区中,你键入 ESC: 然后计算:

(insert (add-times))

如果您也想要一个函数来执行此操作,请请求缓冲区:

(defun insert-add-times-to-buffer-at-point (buffer)
(interactive "BBuffer to add and insert times: ")
(with-current-buffer buffer
(insert (add-times))))

关于emacs - 在缓冲区中添加时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7242960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com