emacs的跟踪模式跨框架(emacs follow-mode across frames)

2019-08-01 04:28发布

有没有办法让行为就像你在跟踪模式下找到,但有它在多个窗口在不同的框架?

我得工作,有八个层次深嵌套第七页砖与lots'a转到的环路一些棘手的遗留代码,它可以帮助看到尽可能多的代码尽可能地(以充分理解和重写没有别的打破一切)。

越是代码,我就可以看,效果更佳。

Answer 1:

这种限制是明确设置由follow-all-followers在其号召next-window

这里有一个基本的解决办法。 也有一些不足之处,你会很快发现(例如,你可能需要手动安排帧),但它有助于利用所有帧的基本要求,你应该能够得到它的工作。

我也建议FrameMove与WindMove可能会证明这样的安排是非常有用的。

(defmacro with-temporary-advice (function class name &rest body)
  "Enable the specified advice, evaluate BODY, then disable the advice."
  `(progn
     (ad-enable-advice ,function ,class ,name)
     (ad-activate ,function)
     ,@body
     (ad-disable-advice ,function ,class ,name)
     (ad-activate ,function)))

(defadvice next-window (before my-next-window-all-frames disable)
  "Enforce the ALL-FRAMES argument to `next-window'."
  (ad-set-arg 2 'visible))

(defadvice follow-all-followers (around my-follow-all-frames activate)
  "Allow `follow-mode' to span frames."
  (with-temporary-advice
   'next-window 'before 'my-next-window-all-frames
   ad-do-it))

你可能会喜欢,而不是简单地重新定义follow-all-followers函数来完成你想要的。



文章来源: emacs follow-mode across frames
标签: emacs frame