Questions tagged «window»

在Emacs中,窗口是框架的一部分,显示一个缓冲区。有关操作系统窗口的问题,请参见标签“框架”。


2
缓冲区,文件,窗口和框架之间有什么区别?
当本网站提出问题,人们有时谈论的“窗口”时,他们的意思是“帧”和“缓冲区”或“文件”时,他们的意思是“窗口”。所以: 问: 缓冲区,文件,窗口和框架之间有什么区别? (我本着“ 问答”组合的精神提出这个问题:促进正确使用这些术语。)
28 buffers  window  frames  files 


6
在窗口布局之间切换
当我配置自定义布局时,只需要临时全屏浏览一个文件,一旦我想要该布局,就需要手动对其进行重排。 我想要一个插件/省略号代码来保存我的布局并能够在保存的布局之间切换。 更新 谢谢你们。 abo-abo建议使用获胜者模式真的很好,我让它在零时间工作。 wasamasa建议了一堆我从未听说过的出色插件,并提供了有关如何使用寄存器的信息。 Jordon Biondo向我解释了如何使用寄存器,而这些东西实际上正是我想要的最简单的方法。 谢谢你们。
24 window  package  frames 

1
在两个窗口中同步滚动
有没有一种方法可以在另一个可见窗口中反映当前窗口中的导航命令。我在两个窗口中显示了两个相关的LaTeX文件,并希望同时滚动浏览它们以了解不同之处。我目前使用宏来自动滚动一个缓冲区,移至另一个窗口,然后滚动然后移回。 Ediff具有ediff-scroll-vertically绑定到的内置方法v,因此我想知道emacs是否已经内置了一个。理想情况下,我希望使用次要模式来镜像所有可见窗口中的导航。

2
在框架底部显示单词列表?
我想在我打开的每个emacs框架的底部(尽管顶部也可以)水平地在单独的行上显示3个单词列表。我已经想到了6种方法来解决这个问题,但是它们都有问题: 我的第一个想法是在模式行中添加一行,但是AFAICT不能在模式行中使用换行符,它只能转换为“ ^ J”。 我的第二个想法是使该行横穿屏幕顶部并使用标题行,但它也不支持换行符。 我可以在窗口的最后三行上显示一个叠加层,但是要使其健壮起来似乎很困难-当点到达该叠加层时(而不是窗口的实际末端),需要触发滚动,并且我必须不断地重新定位覆盖层,因为覆盖层位于文本空间而非窗口空间中。 我可以尝试在框架的底部制作专用窗口。我已经尝试过对此进行编码,但是它也不是很健壮,当框架中已经包含分割窗口并且我不得不将Cx,1重新绑定到可忽略的自定义版本的delete-other-windows时,它似乎无法正常工作我的特殊窗户,我肯定还有其他情况。同样,当一个帮助窗口弹出时,它会垂直弹出,因为它认为已经存在一个水平分割线(从技术上讲,它已经存在了,但仅显示一个单行窗口)。 我可以为此设置一个专用框架,但随后我的配置将无法在终端模式下运行,并且必须编写脚本窗口管理器以使其保持在屏幕底部,以使其无法选择,而不影响布局,等等等 我可以将3行的文本直接插入minibuffer中。我得到了部分工作,可以增加迷你缓冲区以适应3条线,并可以显示它们。但是,任何时候只要回显任何消息,这些行就会消失,直到我发出另一个命令,然后它们才重新出现。理想情况下,这3条线和回波区域不会重叠,因此我可以看到两者。如果我可以可靠地过滤哪些消息进入回显区域,这将不太烦人-我在EmacsWiki上找到了一个解决方案,但它似乎不适用于源自emacs C源代码的消息(特别是我想获得删除文件保存消息,因为我经常在计时器上自动保存)。 对于上下文,我的目标是不断显示当前缓冲区中最常用的单词,当前缓冲区中最近的单词以及当前缓冲区中最近使用的单词。我打算能够通过语音命令将它们插入缓冲区。因此,我可以说“最近2”,并让它从单词最近点的列表中选择第二项并插入。我只关心单词列表对于我当前正在编辑的缓冲区是否可见。我不想使用各种代码完成模式使用的弹出窗口,因为我需要列表始终可见。


4
如何在启动时设置默认窗口?
每次我打开Emacs时,我倾向于依次执行C-x 3(split-window-right)和C-x2(split-window-below)来设置3个窗口。之后,我必须切换到每个窗口以打开要编辑的文件。 如何设置为自动完成? 有没有办法让Emacs从上一次使用中恢复相同的屏幕组织(窗口和文件)?

1
如何阻止帧被分割?
目前,我使用ruby和rspec。我真的很喜欢在另一个监视器中显示我的编译缓冲区的单独框架的想法。我当前的设置使用“代码”框架(在其中进行实际工作)和“测试结果”框架(在其中查看rspec结果) 问题是,当我尝试在“测试结果”框架中打开某些编译错误或文件时,窗口会在该框架中拆分。我真正想做的是在“代码”框架中打开它。 我已经使用了option display-buffer-reuse-frames。我也尝试设置编译结果窗口dedicated,但是每当emacs尝试打开一个新窗口时,都会创建一个新框架(如果使用Helm,这特别糟糕。) 有一些简单的方法可以做到这一点吗?
16 window  frames 

1
切换窗口分割方向,最快的方法
假设您有两个这样打开的缓冲区: ------------------------------------ | | buffer 1 | buffer 2 | | | ------------------------------------ 切换缓冲区以使您获得此最快的方法是什么: ------------------------------------ buffer 1 | | ------------------------------------ buffer 2 | | ------------------------------------
16 buffers  window 

2
什么时候应该在配置文件中使用with-eval-after-load?
我查看了配置文件,并希望进行一些清理。 我的理解with-eval-after-load是,在装入相关程序包后将立即对其主体进行评估。在清理配置文件并进一步分割它们时,我想用括住每个软件包配置with-eval-after-load。一切都按预期进行,直到我封闭了helm和的配置helm-projectile。 这就是我的想法(lisp / init-helm.el): (with-eval-after-load 'helm (setq helm-mode-line-string "") (add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages) (define-key global-map (kbd "C-c m") 'helm-imenu) (define-key global-map (kbd "C-x b") 'helm-buffers-list)) (with-eval-after-load 'helm-command (global-set-key (kbd "M-x") 'helm-M-x)) (with-eval-after-load 'helm-projectile (helm-projectile-on)) 重新启动Emacs后,出现以下窗口大小问题: 这是我调整窗口大小的方法: (set-frame-parameter nil 'fullscreen 'fullboth) 我猜我在滥用with-eval-after-load,一个人如何清理他的Emacs配置并确保无论安装了什么软件包都不会中断?

2
如何防止命令使用特定的Windows?
通常,我将一个框架分为四个窗口,其中底部的两个专门用于我的*compilation*和*grep*缓冲区。当浏览编译错误时,next-error最终将我的*grep*缓冲区替换为目标文件之一。 如何配置next-error为不使用包含*grep*缓冲区的窗口? 我的特定用例是next-error命令,但也欢迎提供更一般的答案。
14 buffers  window 



2
将窗口“弹出”到框架中
通常,我的窗口会自动拆分,直到我任意决定当前帧没有足够的房地产。发生这种情况时,我手动删除一个窗口,创建一个框架,然后切换到该删除的窗口。如何编写实现此目的的elisp函数? 我试过了: (defun pop-window-into-frame () (interactive) (delete-window) (make-frame-command) (switch-to-prev-buffer)) 但是由于某种原因,这并没有达到我的预期。
13 window  frames 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.