Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 是否可以在不同窗口中显示的同一缓冲区上使用不同的覆盖?_Emacs_Window_Overlay_Buffer_Elisp - Fatal编程技术网

Emacs 是否可以在不同窗口中显示的同一缓冲区上使用不同的覆盖?

Emacs 是否可以在不同窗口中显示的同一缓冲区上使用不同的覆盖?,emacs,window,overlay,buffer,elisp,Emacs,Window,Overlay,Buffer,Elisp,据我所知,到目前为止,emacs中的覆盖应该与特定的缓冲区相关联。而且,如果我理解正确,只有一个覆盖到特定缓冲区才能工作 目前,我遇到了这样一个问题。我想让不同的窗口通过叠加显示不同的内容 当然,当显示不同的缓冲区时,事情很容易进行。但当两个窗口显示相同的缓冲区时,问题就出现了。例如,我将OL-A和OL-B应用于缓冲区BUF-FOO。但是当WIN-A和WIN-B显示BUF-FOO时,OL-A或OL-B都可以工作。但我想让OL-A在WIN-A中起作用,OL-B在WIN-B中起作用 所以我的问题就像

据我所知,到目前为止,emacs中的覆盖应该与特定的缓冲区相关联。而且,如果我理解正确,只有一个覆盖到特定缓冲区才能工作

目前,我遇到了这样一个问题。我想让不同的窗口通过叠加显示不同的内容

当然,当显示不同的缓冲区时,事情很容易进行。但当两个窗口显示相同的缓冲区时,问题就出现了。例如,我将OL-A和OL-B应用于缓冲区BUF-FOO。但是当WIN-A和WIN-B显示BUF-FOO时,OL-A或OL-B都可以工作。但我想让OL-A在WIN-A中起作用,OL-B在WIN-B中起作用

所以我的问题就像标题显示的一样:在不同的窗口中显示的相同缓冲区上是否可以使用不同的覆盖

答案可能是否定的,尽管我不希望如此。

那么,你能给我一些建议或解决这种情况吗?

我不确定你说的是重叠箭头,如
重叠箭头位置
,还是实际重叠,如
制作重叠


在一个缓冲区中,您肯定可以有多个覆盖区(如果它们应用于同一个点,它们可能会相互部分隐藏,但对于与显示相关的属性,您可以设置覆盖区的“窗口”属性,使其仅应用于给定的窗口,以便您可以让不同的窗口以不同的方式显示缓冲区).

我从未编写过任何覆盖代码,但如果该机制适合您的目的,则间接缓冲区很可能会解决该问题
C-hig
(elisp)间接缓冲区
RET
非常感谢,我将尝试一下。看来这就是我想要的。