Skip to main content
 首页 » 编程设计

python之跳转到 emacs 中 python 输出缓冲区的末尾

2025年05月04日13tuyile006

当使用 python 模式时,py-execute-buffer 将输出放入 Python 输出 缓冲区。我几乎总是想看到输出的结尾,而不是开头。我如何配置 emacs 以便它在第一次出现时自动跳到缓冲区的底部,而不是从顶部开始?

请您参考如下方法:

我没有看到任何钩子(Hook),但可以通过一些建议来完成。此代码将超时为 0 的空闲计时器附加到 py-postprocess-output-buffer,以便在输出后处理完成并将控制权交还给用户后执行:

(defadvice py-postprocess-output-buffer (after my-py-postprocess-output-buffer activate) 
  (run-with-idle-timer 0 nil (lambda () 
                               (let ((output-win (get-buffer-window py-output-buffer)) 
                                     (orig-win (selected-window))) 
                                 (when output-win 
                                   (select-window output-win) 
                                   (end-of-buffer) 
                                   (select-window orig-win))))))