如何在emacs状态栏上显示正常运行时间?我正在寻找状态栏上显示的/usr/bin/uptime输出
我想在emacs状态栏上显示/usr/bin/uptime输出? 我在centos上使用GNU Emacs 23.1.1如何在emacs状态栏上显示正常运行时间?我正在寻找状态栏上显示的/usr/bin/uptime输出,emacs,elisp,uptime,Emacs,Elisp,Uptime,我想在emacs状态栏上显示/usr/bin/uptime输出? 我在centos上使用GNU Emacs 23.1.1 谢谢查找功能emacs正常运行时间。看看这个来定制模式行。@lousyu的建议值得遵循。关于具体的实现,这里有一个片段: 显然,我希望在那里显示不同的内容,但这对您来说应该是一个不错的起点。我的系统没有正常运行时间,所以我无法为您测试。但它应该给你一个想法。似乎可以在我的系统上使用ps替代uptime 也许其他人会提供一个更简单或更干净的解决方案。您还可以查看调用进程或启动进
谢谢查找功能
emacs正常运行时间
。看看这个来定制模式行。@lousyu的建议值得遵循。关于具体的实现,这里有一个片段:
显然,我希望在那里显示不同的内容,但这对您来说应该是一个不错的起点。我的系统没有正常运行时间,所以我无法为您测试。但它应该给你一个想法。似乎可以在我的系统上使用
ps
替代uptime
也许其他人会提供一个更简单或更干净的解决方案。您还可以查看调用进程
或启动进程
,而不是shell命令来字符串
--启动进程
是异步的。您可能还想考虑使用一个空闲计时器---这里的代码可以大大降低Emacs,因为每次模式行被更新时,它都会调用<代码>正常运行时间>代码> < /P>
(setq-default
mode-line-format
(list " " 'mode-line-modified
"--" 'mode-line-buffer-identification
"--" 'mode-line-modes
'mode-line-position
"--" '(:eval (shell-command-to-string "uptime"))
"-%-"))
下面是另一种方法,它似乎不会明显减慢速度:
(defun bar ()
(with-current-buffer (get-buffer-create "foo")
(erase-buffer)
(start-process "ps-proc" "foo" "uptime")))
(setq foo (run-with-idle-timer 30 'REPEAT 'bar))
(setq-default
mode-line-format
(list " " 'mode-line-modified
"--" 'mode-line-buffer-identification
"--" 'mode-line-modes
'mode-line-position
"--" '(:eval (with-current-buffer (get-buffer-create "foo")
(buffer-substring (point-min) (point-max))))
"-%-"))
我会定义一个次要模式,并使用带有空闲计时器的
来更新modeline(这是状态栏,对吗?)。哎呀,这在我之前的评论中丢失了:。为什么M-代码>正常运行时间
够了吗?您好,谢谢回复。。emacs正常运行时间不会提供系统正常运行时间。我正在寻找系统正常运行时间。非常感谢。这对我很有帮助。emacs帮助我理解了如何调用外部命令。
(defun bar ()
(with-current-buffer (get-buffer-create "foo")
(erase-buffer)
(start-process "ps-proc" "foo" "uptime")))
(setq foo (run-with-idle-timer 30 'REPEAT 'bar))
(setq-default
mode-line-format
(list " " 'mode-line-modified
"--" 'mode-line-buffer-identification
"--" 'mode-line-modes
'mode-line-position
"--" '(:eval (with-current-buffer (get-buffer-create "foo")
(buffer-substring (point-min) (point-max))))
"-%-"))