Emacs
스크롤하는 동안 텍스트 커서 위치(포인트라고도 함)가 자동으로 이동하는 것을 중지할 수 있는 방법이 있습니까 ? 나는 계속해서 내 위치를 잃어버리고 이 짜증나는 행동으로 표시합니다.
다음 제안을 테스트했지만 성공하지 못했습니다.
(setq scroll-preserve-screen-position t
scroll-conservatively 0)
(저는 Emacs
Ubuntu와 OS X에서 24.2를 실행하고 있습니다.)
답변1
나는 당신이 커서(점)의 동작을 원한다고 생각하며 가시 영역은 다른 최신 편집기에서와 같아야 합니다 notepad
. gedit
포인트 위치와 관계없이 가시 영역을 변경하고 포인트 이동 후 즉시 가시 영역을 포인트 위치로 되돌릴 수 있는 기능입니다. 그러나 emacs
또 다른 개념이 있습니다. 가시 영역은 항상 점 위치를 따르고 그 반대도 마찬가지입니다.
또한보십시오https://stackoverflow.com/questions/9616623/ctrl-up-down-style-scrolling-in-emacs
이전 답변은 특별한 관용구를 보여줍니다. 가시 영역(점을 함께 사용하여)을 현재 위치에서 멀리 이동한 다음 정확히 이전 위치로 점을 반환하려면 사용하는 습관이 있어야 합니다 mark-ring
. 항상 mark ring
현재 작업 위치로 이동할 수 있는 방법이 있습니다 . isearch-forward
, 와 같은 많은 명령은 자동으로 이전 위치를 저장하므로 beginning-of-buffer
이전 에는 사용해서는 안 되며 뒤로 점프하는 용도 로만 사용해야 합니다. 또는 와 같은 스크롤 명령은 너무 많은 표시가 생성될 수 있으므로 기본적으로 이전 위치를 자동으로 저장하지 않습니다.ace-jump-mode
mark ring
C-<SPC> C-<SPC>
C-u C-<SPC>
scroll-up
mwheel-scroll
몇 군데에서 명령을 사용 clone-indirect-buffer
하거나 버퍼를 사용하여 독립적인 작업을 수행할 수 있습니다. view-buffer-other-window
그리고 recenter-top-bottom
( C-l
) 명령을 사용하여 가시 영역의 중앙에 점을 계속 유지합니다.
답변2
스크롤할 때 emacs가 포인트를 이동하는 것을 막는 방법이 있는지 모르겠습니다. 하지만 나중에 다시 돌아올 수 있도록 위치를 저장하고 싶다면 다음을 사용할 수 있습니다.마크 링.
즉, C-<SPC> C-<SPC>
현재 포인트 위치를 마크 링으로 밀어 넣은 다음 나중에 C-u C-<SPC>
마크 링의 이전 위치로 포인트를 설정하도록 입력합니다.
답변3
나는 이것을 사용합니다 :
;;; scrollers - M-f, M-b
(global-set-key "\M-f" "\C-u1\C-v")
(global-set-key "\M-b" "\C-u1\M-v")
답변4
다음은 나에게 효과적입니다.
(custom-set-variables
'(scroll-conservatively 1000)
'(scroll-margin 3)
)