gpt4 book ai didi

emacs - 更新命名缓冲区,不一定是Emacs Lisp中的当前缓冲区

转载 作者:行者123 更新时间:2023-12-02 07:53:12 26 4
gpt4 key购买 nike

我想重新添加一个名为*Lense*的缓冲区,在其中插入一些文本。我希望先通过(set-buffer "*Lense*"),然后再通过(recenter 0))使其成为当前缓冲区。通过以下代码段:

(save-excursion (set-buffer "*Lense*")
(recenter 0))

但是,上面的代码似乎只会更新作为当前缓冲区的缓冲区,而 (set-buffer "*Lense*")不会使当前缓冲区成为 *Lense*

请帮助我找出更新命名的缓冲区 *Lense*的正确方法。

最佳答案

如果要更新的缓冲区是可见的,则要更新其窗口。

(with-selected-window (get-buffer-window "*Lense*")
(recenter 0))

如果未显示缓冲区,这将爆炸,因此您可能需要条件保护或展开保护。

如果要处理缓冲区不可见的情况,则需要移动该点。最终将显示缓冲区的窗口将在该点附近居中,因此您必须将点移动到可以实现该点的位置。似乎您的插入操作将使用DTRT,因此在这种情况下您无需担心。

关于emacs - 更新命名缓冲区,不一定是Emacs Lisp中的当前缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2486040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com