7

在 Elisp 中,这种看似简单的代码和平实际上并没有改变重点。

(with-current-buffer "foo"
  (goto-char (point-max)))

AFAIKwith-current-buffer不应恢复目标缓冲区中的点。如果没有,那么我如何操作缓冲区中的点?

4

3 回答 3

7

我认为您将缓冲区的点与窗口的点混淆了。如果要在某个显示“foo”的窗口中移动光标,则需要在执行 时选择该窗口goto-char,否则需要使用set-window-point. 一般来说,一个缓冲区有 N+1 个点(一个是它自己的,N 个用于显示缓冲区的 N 个窗口)。

于 2013-02-06T04:10:23.777 回答
1

您可能必须使用switch-to-buffer然后切换回来。

于 2013-02-06T04:05:26.680 回答
0

尝试做:

(set-buffer "foo")
(goto-char (point-max))
于 2013-02-06T03:30:33.843 回答