현재 위치에서 몇 줄만 스크롤하는 경우 이동 점없이 창을 스크롤 할 수 있습니다.
(defun scroll-in-place (scroll-up)
"Scroll window up (or down) without moving point (if possible).
SCROLL-Up is non-nil to scroll up one line, nil to scroll down."
(interactive)
(let ((pos (point))
(col (current-column))
(up-or-down (if scroll-up 1 -1)))
(scroll-up up-or-down)
(if (pos-visible-in-window-p pos)
(goto-char pos)
(if (or (eq last-command 'next-line)
(eq last-command 'previous-line))
(move-to-column temporary-goal-column)
(move-to-column col)
(setq temporary-goal-column col))
(setq this-command 'next-line))))
;;;; ------------------------------------------------------------------------
(defun scroll-up-in-place ()
"Scroll window up without moving point (if possible)."
(interactive)
(scroll-in-place t))
;;;; ------------------------------------------------------------------------
(defun scroll-down-in-place ()
"Scroll window up without moving point (if possible)."
(interactive)
(scroll-in-place nil))
(global-set-key (read-kbd-macro "M-<down>") 'scroll-up-in-place)
(global-set-key (read-kbd-macro "M-<up>") 'scroll-down-in-place)
파일의 완전히 다른 섹션으로 이동하거나 다른 파일로 이동하는 경우 때때로 breadcrumb
하는 경우 비슷한 작업을 수행하는 다른 패키지가 많이 있지만 합니다.
동시에 두 개의 코드 영역을 시각적으로 볼 필요가 있다면 프레임을 두 개의 창으로 수평으로 분할 한 다음 완료되면 두 번째 창을 버립니다.
그러나 대부분 두 개의 프레임 만 사용합니다. 하나는 현재 작업중인 프레임이고 다른 하나는 동일한 또는 다른 파일을 이동하는 데 사용되는 참조 프레임입니다.