gpt4 book ai didi

关闭缓冲区后显示的 Emacs 缓冲区

转载 作者:行者123 更新时间:2023-12-04 12:43:07 38 4
gpt4 key购买 nike

如何修改 emacs 在关闭缓冲区后选择要显示的缓冲区的方式?

当我有多个列显示相同的缓冲区,然后在其中一个缓冲区中打开另一个文件,然后关闭新打开的缓冲区时,它不会切换回前一个缓冲区,而是切换到另一个缓冲区。

我将尝试用一个例子来解释:

  • 从 *scratch*
  • 开始一个新的 emacs
  • C-x 2(分成两列)
  • C-x C-f 1(查找文件 1)
  • C-x o(切换到其他框架)
  • C-x b 1 (查找文件 1)
  • C-x C-f 2(查找文件 2)
  • C-x k (终止缓冲区)

  • 现在它切换到从头开始,但我希望它再次在两个窗口中显示 1,是否可以让 emacs 以这种方式运行?

    最佳答案

    这可能不是您问题的直接答案,但可能会有所帮助。

    Emacs 管理它的缓冲区列表,包括决定在你杀死一个缓冲区时显示哪个缓冲区(通过 kill-buffer )。我还没有研究它是如何完成的,但是 documentation is "out there" .很多人有created定制 buffer-stack改变emacs做事方式的管理魔法,也许其中一些是基于贝叶斯分析的,或者其他。你可以想象这些可能性。

    我从未考虑过改变 emacs 管理其缓冲区的方式。相反,我只是绑定(bind) other-windowswitch-to-buffer轻松击键(C-x o,C-x b),我非常擅长使用它们。

    你可以为你想要的创建一个简单的函数:它应该破坏所有其他窗口,然后拆分窗口,以便当前缓冲区显示在两者中。幸运的是,emacs 有一些功能可以做这些事情。

    (defun cheeso-show-buffer-two-windows ()
    "Close all other windows; then split, and show the current
    buffer in both windows."
    (interactive)
    (delete-other-windows)
    (split-window-vertically))

    将其绑定(bind)到击键,然后 badda-bing,你就在那里。这是垂直拆分 - 窗口显示在垂直堆栈中。如果您希望它水平拆分(窗口是并排的),那么替换......好吧,你知道的。

    关于关闭缓冲区后显示的 Emacs 缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067815/

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