我刚刚开始使用EMACS,这太棒了.
所以我有这个问题,窗口和框架之间有什么区别?
我的理解是:
3和4看似不正确,因为当我尝试在帧之间跳转时,我仍然看到了所有的缓冲区.
我的理解也正确吗?或者我没有以正确的方式做到这一点?
有没有像EMACS一样的项目将缓冲区组织到不同的项目中,所以当我在缓冲区之间跳转时,我只看到缓冲区本地化到该项目?
有人可以更多地谈谈与框架和窗口相关的EMAC中的项目概念吗?
cjm*_*cjm 20
这有点令人困惑,但这都归功于历史.在GUI很常见之前,Emacs最初是在文本终端时代创建的.你所拥有的只是等宽文本行,通常是大约80列乘24行.Emacs能够将屏幕分成多个窗口,因此您可以同时看到多个文件.
然后出现了图形终端和GUI,"窗口"意味着GUI的变化.但是,Emacs在其名称中有许多带有"窗口"的函数和变量,这些函数和变量处理其分屏类型的窗口.重命名这些函数会破坏使用它们的所有Emacs Lisp代码.因此,当Emacs获得GUI界面时,其设计者决定更容易想出一个新术语来表示"GUI窗口",并将"窗口"保持为"旧式Emacs窗口".他们提出的新术语是"框架"(因为框架是围绕窗户的).
因此,当Emacs谈到"框架"时,它意味着其他程序称之为"窗口"的东西.在Emacs中,帧基本上是终端仿真器,可以根据需要调整大小.每个框架的行为非常类似于在文本终端中运行的Emacs; 框架可以包含一个或多个旧式Emacs窗口.
但是,单个Emacs进程的所有帧都是链接的.任何缓冲区都可以显示在任何帧的任何窗口中,并且可以在多个窗口和/或帧中同时显示相同的缓冲区.
您可以在"框架"的Emacs手册章节中找到更多详细信息.
所以你的(3)不正确; 每个帧都有可用的缓冲区.(4)也不是真的正确; 这取决于你想要使用多少帧和/或窗口.就个人而言,我通常使用1帧,1或2个窗口.如果我想在处理1或2个其他文件时需要更多空间来显示一个文件,我偶尔会使用第二帧.