[emacs] GNU Emacs에서 한 줄씩 스크롤하는 방법은 무엇입니까?

간단히 말해서, vim 및 대부분의 다른 편집기에서와 같이 emacs에서 스크롤링을 시도하고 있습니다. (I 예를 들어있을 때, 하단 / 상단에서 두 줄, 및 I / 최대 눌러 Ctrlp, n, , )는 한 줄 위 또는 아래가 아닌 반 화면 이동합니다.



답변

EmacsWIki에 대한 몇 가지 제안을 참조하십시오.

(setq 스크롤 1 단계
      스크롤-보수적으로 10000)


답변

화면의 위치를 ​​정확히 지정하려면 Ctrl-L을 사용할 수 있습니다.

  • 기본적으로 현재 줄을 화면 중앙에 배치합니다.

  • ESC 0 Ctrl-L은 현재 행을 맨 위에 배치합니다.


답변

나는 파티에 조금 늦었지만 패키지 설치에 신경 쓰지 않는다면 부드러운 스크롤 ( github , MELPA 에서도 사용 가능 )이 당신이 찾고있는 것일 수 있습니다. 확실히 저에게 효과적입니다.

설치가 완료되면 init.el에 다음을 표시 할 수 있습니다.

(require 'smooth-scrolling)
(smooth-scrolling-mode 1)
(setq smooth-scroll-margin 5)

마지막 줄은 선택 사항입니다. 화면 가장자리가 아니라 화면 가장자리 근처 에서 스크롤되기 시작 하므로 항상 지점 주변에 약간의 컨텍스트가 있습니다. 취향에 맞게 조정하십시오.


답변

내 해결책은 Emac의 기본 스크롤링을 변경하는 것이 아니라 매크로에서 키 시퀀스 명령을 만드는 것입니다. 이렇게하면 원할 때 한 번에 한 줄씩 편리하게 스크롤 할 수 있습니다. 이상적이지는 않지만 매우 쉽습니다. M- (↓)와 M- (↑)를 사용할 수있는 경우가 있습니다. 그래서 제가 사용했습니다.

이것이 내가 한 방법입니다. 첫째, 위아래로 한 줄 스크롤에 대한 매크로를 기록해야합니다.

매크로 시작

C-x (

하나 아래로 스크롤

C-u 1 C-v

매크로 중지

C-x )

위로 스크롤하려면

C-u 1 M-v

다음으로 매크로 이름을 지정해야합니다.

M-x name-last-kbd-macro

다음과 같은 메시지가 나타나면 이름을 지정하십시오.

down-one-line

그런 다음 다음을 사용하여 키 시퀀스를 해당 명령 이름에 바인딩합니다.

M-x global-set-key

그리고 메시지가 표시되면 다음과 같이 사용하십시오.

M-(down arrow)

그런 다음 바인딩 할 명령을 묻고 이전에 발명 한 이름 (예 : 한 줄 아래로)을 지정해야합니다.

여기에서이 정보를 얻었습니다. 아래 및 다른 곳에서 .emacs 파일에 매크로를 추가하는 방법에 대한 지침을 찾을 수도 있습니다.

매크로 정의 설명은 여기

스크롤을 제어하는 ​​방법은 여기


답변

저는 .emacs2000 년부터 제 파일 에서 이것을 사용하고 있습니다.

(global-set-key (quote [M-down]) (quote View-scroll-line-forward))
(global-set-key (quote [M-up]) (quote View-scroll-line-backward))

이렇게하면 Emacs 기본 동작을 유지할 수있을뿐만 아니라 수행중인 작업에 따라 한 번에 한 줄씩 스크롤 할 수 있습니다.

적어도 GNU 이맥스 (22) 내가 최근에 이맥스 24로 업그레이드 것을 발견되지 때까지이 일을 View-scroll-line-forward하고 View-scroll-line-backward더 이상 사용할 수 있습니다. 사냥을 한 후 스크롤 업 라인과 스크롤 다운 라인이 작동한다는 것을 발견했습니다. 따라서 Emacs 24를 사용하고 있다면 이것을 사용할 수 있습니다.

(global-set-key (quote [M-down]) (quote scroll-up-line))
(global-set-key (quote [M-up]) (quote scroll-down-line))

나는 대부분 Emacs 23을 건너 뛰었으므로 사용중인 버전이라면 위의 두 가지를 모두 실험 할 수 있습니다.

참고 : 버퍼 가 한 줄 위로 이동 하기 때문에 scroll-up-line실제로는 한 줄 아래로 스크롤 합니다.


답변

스크롤 작업을 수행하기 위해 화살표 키를 리 바인드했습니다.

(global-set-key [up] (lambda () (interactive) (scroll-down 1)))
(global-set-key [down] (lambda () (interactive) (scroll-up 1)))

(global-set-key [left] (lambda () (interactive) (scroll-right tab-width t)))
(global-set-key [right] (lambda () (interactive) (scroll-left tab-width t)))


답변

Simples는 다음을 수행합니다.

(global-set-key [M-up] (lambda () (interactive) (scroll-up 1)))
(global-set-key [M-down] (lambda () (interactive) (scroll-down 1)))

그러면 메타 커서가 위로 이동하고 메타 커서가 아래로 이동합니다.

QED. 위의 모든 사람들이 무엇을 흡연했는지 확실하지 않습니다!