gpt4 book ai didi

emacs - 如何让窗口移动命令忽略某个窗口?

转载 作者:行者123 更新时间:2023-12-04 10:45:52 25 4
gpt4 key购买 nike

所以我通常在 Emacs 中打开 3 个缓冲区。

  • 我正在编写的实际代码的一个缓冲区。
  • 用于所述代码的单元测试的一个缓冲区。
  • 第三个缓冲区,显示单元测试的结果。这个缓冲区应运而生
    当我运行单元测试 C-x SPACE 时,位于其他两个缓冲区下方。

  • 如何禁用这第三个缓冲区,以便当我按 C-x o 时,我只在缓冲区 1 和缓冲区 2 之间切换?目前,我在缓冲区 1、缓冲区 2、缓冲区 3、缓冲区 1 等之间切换。具体来说,我希望 C-x o 只在缓冲区 1 和缓冲区 2 之间切换。

    谢谢你。

    最佳答案

    对此的一般解决方案(可以看起来)如下所示:

    (defvar ignore-windows-containing-buffers-matching-res '("\\*Help")
    "List of regular expressions specifying windows to skip (if window contains buffer that matches, skip)")

    (defadvice other-window (before other-window-ignore-windows-containing activate)
    "skip over windows containing buffers which match regular expressions in 'ignore-windows-containing-buffers-matching-res"
    (if (and (= 1 (ad-get-arg 0)) (interactive-p))
    (let* ((win (next-window))
    (bname (buffer-name (window-buffer win))))
    (when (some 'identity (mapcar '(lambda (re)
    (string-match re bname))
    ignore-windows-containing-buffers-matching-res))
    (ad-set-arg 0 2)))))

    将变量自定义为与要跳过的缓冲区名称匹配的正则表达式。

    关于emacs - 如何让窗口移动命令忽略某个窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574922/

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