问题:我有两个并排拆分的缓冲区.我移动到左缓冲区中的一行,我想做一些将右缓冲区中的点移动到相同行号的操作.例如,如果我在左侧缓冲区中的第26行,我运行某种类型的宏,并且我在右侧缓冲区的第26行.
我尝试过的东西没有像我喜欢的那样(或根本没有):
scroll-all-mode
.如果缓冲区开始同步(例如,两个缓冲区中的点在同一行号上)并且如果我坚持基本线移动,则它可以工作.但如果我isearch-forward-regexp
或页面向上/向下翻页,它很快就会失去同步.如果有一个可以"重新同步"的命令,那么这就解决了我的问题.goto-line
.保存和恢复位置始终返回到同一缓冲区.这片Emacs Lisp应该做你想要的:
(goto-line (line-number-at-pos) (window-buffer (next-window))
Run Code Online (Sandbox Code Playgroud)
要将其绑定到键序列,
(global-set-key (kbd "C-c l")
(lambda ()
(interactive)
(goto-line (line-number-at-pos) (window-buffer (next-window)))))
Run Code Online (Sandbox Code Playgroud)