gpt4 book ai didi

emacs - 退出 emacs 之前运行函数

转载 作者:行者123 更新时间:2023-12-02 03:20:54 27 4
gpt4 key购买 nike

我想在 org-mode 中使用这样的功能:在退出 emacs 之前(当 org-mode 运行时)它会问我:“你想在退出之前运行函数 vc-dir 吗?”我试过这个:

(add-hook 'kill-emacs-hook 'vc-dir)

但它错误:“参数数量错误”

也尝试过,如下所示:

(defadvice save-buffers-kill-emacs (before update-mod-flag activate)
(vc-dir))

同样的错误。

  • 那么如何让它以简单的方式工作:vc-dir 总是在退出时运行。
  • 或者如何让它与警告消息一起工作(最好的方法)?

谢谢!

最佳答案

vc-dir 接受一个参数(“dir”)。

所以你可以这样做:

(add-hook 'kill-emacs-hook (lambda () (vc-dir "your-dir-here")))

当然,这不会阻止 emacs 退出:vc-dir 打开一个缓冲区,但不会“等待”用户输入。对于您想要的交互式方法,您可以这样做:

(add-hook 'kill-emacs-query-functions
(lambda ()
(if (y-or-n-p "Do you want to run function vc-dir before exit?")
(progn
(vc-dir "your-directory")
nil)
t)))

如果您想使用上次访问的缓冲区作为 vc 目录,请将 "your-directory" 更改为 default-directory

关于emacs - 退出 emacs 之前运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21458719/

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