Emacs에서 스크롤 할 때 커서 위치를 변경하지 마십시오


19

Emacs스크롤하는 동안 텍스트 커서 위치 (일명 포인트)가 자동으로 움직이는 것을 멈추는 방법이 있습니까? 나는이 성가신 행동으로 내 위치와 표시를 잃어 버립니다.

나는 다음 제안을 성공없이 테스트했습니다.

(setq scroll-preserve-screen-position t
scroll-conservatively 0)

( Emacs우분투와 OS X 에서 24.2를 실행 하고 있습니다.)

답변:


12

난 당신처럼해야 커서 (점) 및 가시 영역의 동작을 원한다고 생각 notepad, gedit능력 포인트 위치 독립적으로 가시 영역을 변경하고 즉시에 지점을 이동 한 후 점 위치로 가시 영역을 반환 : 다른 현대 편집자. 그러나 emacs또 다른 개념이 있습니다. 보이는 영역은 항상 포인트 위치를 따르고 그 반대도 마찬가지입니다.

참조 /programming/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에 문제가있는 것 같습니다 (Mac 및 Ubuntu 모두). C-u C-<SPC>작동하지 않는 것 같습니다. 그것이 문제인지 아닌지 모르겠습니다 cua-mode. -q옵션으로 Emacs를 실행하려고 시도 했지만 아무것도 변경되지 않았습니다. 어떤 아이디어?
NVaughan

1
너무 나쁘다 highlight-symbol-mode. 내가 사용하기 때문에이 짜증나는 것을 발견했다 . 하나의 변수에 커서를 놓고 모든 발생을 강조 표시합니다. 스크롤을 시작하면 커서가 변수를 떠나 모든 강조 표시가 손실됩니다. 이맥스는 적어도 스크롤링에 관한 다른 현대 편집자와 같이 행동한다면 훨씬 나을 것입니다.
itmuckel

이 단축키가 왜 목록에 C-h b없습니까?
zoechi

7

스크롤 할 때 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")

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.