goto-char 为什么不起作用有懂得嘛

先擦出缓冲区,然后插入一些行,最后跳转到位置不起作用

(with-current-buffer “xxx” (erase-buffer) (insert “xxxxx”) (goto-char)) goto-char返回的是位置,但是缓冲区实际的位置还是1没有改变

1 个赞

参数呢?

(goto-char POSITION)

Probably introduced at or before Emacs version 18.

Set point to POSITION, a number or marker. Beginning of buffer is position (point-min), end is (point-max).

The return value is POSITION.

已经找到了,应该用set-window-point

为什么要这么麻烦,直接 (goto-char POS) 不行吗?set-window-point要指定window和pos两个参数。

gotochar不起作用啊,你自己试试就知道了

怎么会不起作用呢?这不是最基本的用法嘛。

goto-char要指定位置参数,然后跳转完后,你想干嘛?比如插入文本或其他操作,只是光标跳转没有意义的。

我这里就是没用啊,和你图里的代码一样就缓冲区名不一样

我需要的不是goto-char后插入操作,是要那个点cursor 跳到那个位置

不太能理解,不如说说你的应用场景

在一个缓冲区中设置另一个缓冲区的point 更改后displayed buffer 高亮当前行,然后再切到那个缓冲区直接插入不做光标跳转的操作

恕我直言,没看懂这要解决的是个什么问题。我的经验是:当用直白的语言不能表述清楚问题(操作复杂奇怪)时,说明思考的方式或解决问题的思路是有问题的。不如换个思路,可能更简单。

200708-103309.gif

光标一直在同一个buffer显然是没有问题的,lz的需求是在buffer间切来切去,虽然我不太懂。

老哥们我已经解决了,就是用set-window-point解决的,可能是我表述不清或是你们理解有误,3q。

老哥别在要操作的缓冲区求值函数啊,在上面那个缓冲区直接调用,然后修改下面缓冲区的cursor位置

Ok and how to ask questions smartly is a big deal.

嗯,是我理解有误,解决了就好,那可以把你自己那个回复标记为解决方案了。