【问题标题】:How does emacs select windows to display anything?emacs 如何选择窗口来显示任何东西?
【发布时间】:2016-08-13 03:37:53
【问题描述】:

问题是,我花了一些时间打开一个视图文件,并在屏幕上将它们并排显示。我花了一些时间来平衡窗口大小,使它们适合他们的内容。而且每个窗口都有一些我需要并且不想再搜索的内容。

现在我在 emacs 中做一些事情。 M-x command-<tab> 用于自动完成:

  • emacs 掷骰子
  • 在偶数上,emacs 使用可能的自动完成覆盖现有窗口。要选择需要删除其内容的窗口,再次掷骰子
  • 在奇数上,emacs 会拆分现有窗口并在那里显示它的内容。选择要拆分的窗口,以及垂直或水平拆分窗口的天气,再次掷骰子。

当然我在这里夸大了,这不是真正的行为,但这是我感觉 emacs 的行为方式。有没有我可以研究的文档,以便更好地预测 emacs 的行为?我的意思是它不仅用于自动完成,还用于需要打印某些内容的命令,或者当我打开文件时。

【问题讨论】:

  • 处理此问题的最佳方法是自定义您每天使用的任何库(例如,自动完成)并熟悉window.el。您可以创建新函数或全新库,以任何您想要的方式显示缓冲区,包括用于某些缓冲区的专用帧以及将某些缓冲区与选定帧相关联。许多人对完全控制不感兴趣,他们只是在display-buffer-alist 中添加一些条目。有一些流行的库可以帮助控制窗口显示的行为,人们喜欢这些库,因为它看起来不那么复杂。

标签: emacs autocomplete


【解决方案1】:

这可能很复杂,因为这有很大的灵活性。

老实说,我只是从这里开始阅读手册,然后按照交叉引用进行操作:

C-hig (emacs) Window Choice RET

【讨论】:

  • 如果我不喜欢这种“灵活性”,可以吗?但是感谢您提供的信息,我会阅读的。
  • 不喜欢它是绝对可以的,并且与许多 Emacs 行为的课程相提并论。我认为大多数人并不喜欢 Emacs,这就是为什么人们将它定制成他们喜欢的东西。
【解决方案2】:

对于专门抑制完成窗口,您可以尝试 shackle,它在 Melpa 中可用。

(require 'shackle)
(setq shackle-rules '((completion-list-mode :ignore t)))
(shackle-mode 1)

要使操作窗口布局的命令按照您的意愿进行操作需要一些工作,并且有很多极端情况。我已经从与之抗争到试图对此保持冷静。我只是让 Emacs 做它的事情并在大多数情况下接受它,并使用 shackle 或其他一些解决方法来解决我觉得特别烦人的窗口更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    相关资源
    最近更新 更多