简体   繁体   English

emacs如何选择窗口以显示任何内容?

[英]How does emacs select windows to display anything?

The problem is, that I spent some time to open a view files, and display them next to each other on screen. 问题是,我花了一些时间打开视图文件,并在屏幕上将它们并排显示。 I invested some time to balance the window sizes so they suit their content. 我花了一些时间来平衡窗口大小,以便它们适合其内容。 And each window has some content that I need and don't want to search for again. 而且每个窗口都有一些我需要的内容,并且不想再次搜索。

Now I do something in emacs. 现在我在emacs中做一些事情。 Mx command-<tab> for autocomplete: Mx command-<tab>用于自动完成:

  • emacs rolls a dice emacs掷骰子
  • on an even number emacs overrides an existing window with the possible auto completions. 在偶数上,emacs将覆盖可能存在的自动完成功能的现有窗口。 To select the window that needs to get rid of it's content, the dice is rolled again 要选择需要删除其内容的窗口,请再次掷骰子
  • on an uneven number emacs splits an existing window and shows it's content there. 在数量不均匀的情况下,emacs会拆分一个现有窗口,并在其中显示其内容。 The selection of which window to split, and weather to split it vertically or horizontally, the dice is rolled again. 选择要拆分的窗口,然后选择要垂直或水平拆分的窗口,骰子将再次滚动。

Of course I am exaggerating here and this is not the true behavior, but it is how I feel emacs behaves. 当然,我在这里夸大其词,这不是真正的行为,但这是我感觉emacs行为的方式。 Is there any documentation that I can study so I can predict better how emacs behaves? 我可以学习任何文档,以便更好地预测emacs的行为吗? I mean it's not just for autocompletion, it is also for commands that need to print something, or when I open files. 我的意思是,它不仅用于自动完成,还用于需要打印某些内容的命令,或者用于我打开文件时的命令。

It can be complicated, as there's a lot of flexibility about this. 这可能很复杂,因为它有很多灵活性。

Honestly, I would just start reading the manual here, and follow the cross references: 老实说,我将在这里开始阅读手册,并遵循交叉引用:

Ch i g (emacs) Window Choice RET CH 1 (emacs) Window Choice RET

For specifically suppressing the completions window, you could try shackle , which is available in Melpa. 对于专门抑制完井窗口,你可以尝试卸扣 ,这是可以在Melpa。

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

It takes some work to make commands that manipulate the window layout do what you want, and there are a bunch of edge cases. 使操纵窗口布局的命令执行所需的工作需要花费一些工作,并且存在很多边缘情况。 I've gone from fighting it to trying to be zen about it. 我已经从与之抗争到试图对此禅宗。 I just let Emacs do its thing and accept it for the most part, and use shackle or some other workaround for the window changes that I find extra annoying. 我只是让Emacs完成其工作,并在很大程度上接受了它,并对窗口更改使用了卸扣或其他解决方法,这让我感到特别烦恼。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM