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