Podczas korzystania z polecenia emacs, które używa display-buffer
(np. Po błędzie z trybu kompilacji, wywołania list-buffers
itp.), Jeśli bufor jest otwarty w innej ramce, nie otwiera się w oknie w bieżącej ramce, nawet jeśli ramka jest nie na bieżącym pulpicie (dla kontekstu, zwykle używam dwóch ramek emacs, jedna widoczna na wszystkich komputerach, a jedna tylko na jednym destopie).
Widzę w dokumentacji display-buffer
, że wymaga opcjonalnego argumentu FRAME
i wydaje się, że wartość visible
zrobiłaby to, co chcę, ale ponieważ nie dzwonię display-buffer
bezpośrednio, nie jestem pewien, jak ustawić ten argument. Jakieś pomysły?
(display-buffer)
i zmienić swoje argumenty tak, aby jedynym specyfikatorem ramki była wartość(current-frame)
; zmiana argumentu RAMKI myślę jednak, że nie wystarczy, aby uzyskać pożądany efekt, ponieważ argument AKCJA bierze listę, której cdrs członków są listami, w których można określić listę ramek do wyboru - zhakowałem ją jakiś czas, ale bez powodzenia, więc wszystko, co mogę powiedzieć, to „powodzenia!”Odpowiedzi:
W przypadku starszych wersji Emacsa możesz wypróbować opcję dostosowywania
display-buffer-reuse-frames
.W przypadku najnowszych wydań Emacsa, tj. Jeśli
C-h v display-buffer-alist
pokazuje, że istnieje, możesz spróbować dostosować tę (dość złożoną) zmienną.źródło