当前位置:  开发笔记 > 开发工具 > 正文

Emacs自动保存在交换机缓冲区上

如何解决《Emacs自动保存在交换机缓冲区上》经验,为你挑选了2个好方法。

叫我跛脚,但我厌倦了我潜意识的C-x C-s紧张抽搐.我经常切换缓冲区,我想我一旦切换到另一个就想保存一个缓冲区.我还没来得及学习Emacs-Lisp的基础知识.

有关如何做到这一点或更好的解决方案的任何提示?

(在相关的说明中,我发现了一种自动保存解决方法,可以在空闲一段时间后立即保存当前缓冲区.)



1> Trey Jackson..:

为了扩展赛斯的答案,我会这样做:

(defadvice switch-to-buffer (before save-buffer-now activate)
  (when buffer-file-name (save-buffer)))
(defadvice other-window (before other-window-now activate)
  (when buffer-file-name (save-buffer)))
(defadvice other-frame (before other-frame-now activate)
  (when buffer-file-name (save-buffer)))

检查是为了buffer-file-name避免保存缓冲区w/out文件.你需要找出你用来切换你关心的缓冲区的所有入口点(我也建议other-window).



2> seth..:

我自己也是emacs lisp的新手,但这在我的测试中有效:

(defadvice switch-to-buffer (before save-buffer-now)
  (save-buffer))

(ad-activate 'switch-to-buffer)

这有点令人讨厌,因为它是在每个缓冲区(如临时)之后调用的.所以,请考虑这个答案.

如果要禁用它,则需要调用:

(ad-disable-advice 'switch-to-buffer 'before 'save-buffer-now)
(ad-activate 'switch-to-buffer)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有