我可以在回声区显示时钟吗?


9

在大多数情况下,我的回声区域都空着,而我的每个窗口的Modeline都显示了大量的冗余信息(当前时间,系统负载以及其他各种与缓冲区无关的信息)。

我可以在回声区域中显示当前时间(右对齐)(不使用时)吗?


1
minibuffer-line除了使用左对齐以外,我几乎都使用包来做。
Kaushal Modi

Answers:


3

您可以使用minibuffer-line来自GNU ELPA 的软件包。

(require 'minibuffer-line)
(setq minibuffer-line-format '((:eval
                                (let ((time-string (format-time-string "%l:%M %b %d %a")))
                                  (concat
                                   (make-string (- (frame-text-cols)
                                                   (string-width time-string)) ? )
                                   time-string)))))
(minibuffer-line-mode)

谢谢!该程序包似乎通过运行计时器并每60秒更新回显区域而起作用。这意味着当一条消息显示在回显区域中时,时钟需要60秒才能恢复。我想我可以减少计时器的延迟,但这听起来并不理想。
克莱门特

只要回声区域不显示其他任何内容,时钟就会对我回来。自从它发布以来,我一直在使用它。无需等待时间再次出现。
Kaushal Modi

@Clément我相信更新每分钟都会在*Minibuf-0*缓冲区中发生。只要该缓冲区没有任何显示,该缓冲区就会自动显示在回显区域中。参考:C-h i g (elisp) Intro to Minibuffers
Kaushal Modi 2016年

我想这与之冲突了eldoc-mode吗?在Lisp缓冲区中,将点(defun移入和移回空白区域会隐藏eldoc消息,但是然后我必须等一整分钟后才能返回minibuffer行文本。太好了,用鼠标移动点似乎确实有效。
克莱门特

@Clément现在您提到了,我也看到了。我从来没有那么关注它。切换缓冲区还会带回minibuffer行文本。
Kaushal Modi 2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.