代码之家  ›  专栏  ›  技术社区  ›  SuperElectric

在emacs中使用两个帧时,如何防止编译缓冲区同时出现在两个帧中?

  •  26
  • SuperElectric  · 技术社区  · 14 年前

    我使用两个监视器,并且经常使用打开两个帧的emacs;每个监视器一个。每个框架被拆分为两个并排的窗口,如下所示:

     a | b   <-- frame 1 in monitor 1
    -------
     c | d   <-- frame 2 in monitor 2
    

    当我在窗口a中按“compile”按钮时,编译缓冲区在它旁边的缓冲区中打开。到现在为止,一直都还不错:

     a | compilation
    -----------------
     c |     d
    

    但是,如果我移动到窗口c编辑一些内容,然后再次点击编译,窗口d也会访问编译缓冲区:

     a | compilation
    ------------------
     c | compilation
    

    所以现在我有一半的屏幕空间被同一个编译缓冲区的两个副本占用了,我想知道为什么我有两个监视器:)

    我可以通过在光标位于当前打开的编译缓冲区旁边的缓冲区中时按compile键来防止这种情况的发生,但是我很早就按了compile键,而且常常这样做,以至于我通常没有意识到要这样做。我觉得一定有什么东西我可以调整。emacs,所以我不应该。

    有什么建议吗?理想情况下,当我点击“compile”时,当前打开的编译缓冲区应该从上一个窗口移到当前使用的窗口旁边的窗口。如果这太复杂了,我很容易接受emacs 如果编译缓冲区已经在另一个窗口中打开,请访问相邻窗口中的编译缓冲区。

    1 回复  |  直到 14 年前
        1
  •  28
  •   itsjeyd    10 年前
    (setq-default display-buffer-reuse-frames t)
    

    根据文件:

    非nil表示“display buffer”应该重用帧。 如果有问题的缓冲区已经显示在一个帧中,则升起 那个框架。