Emacs: буфер прокрутки не указывает - PullRequest
20 голосов
/ 24 января 2012

Можно ли прокрутить всю видимую часть буфера в Emacs, но оставить точку там, где она есть.Пример: точка направлена ​​к нижней части окна, и я хочу видеть текст, который прокручивается в верхней части окна без перемещения точки.

Редактировать: я полагаю, что C-l C-l делает то, что делаетЯ хотел.

Ответы [ 5 ]

11 голосов
/ 25 января 2012

попробуйте это.Измените привязки клавиш M-n и M-p по своему вкусу

;;; scrollers
(global-set-key "\M-n" "\C-u1\C-v")
(global-set-key "\M-p" "\C-u1\M-v")
8 голосов
/ 25 января 2012

Это может быть полезно. Согласно странице EmacsWiki по прокрутке;

Переменная scroll-preserve-screen-position может быть полезна для некоторых. Когда вы прокручиваете вниз и снова вверх, точка должна заканчиваться тем же положение, с которого вы начали. Значение может быть переключено встроенным в режиме M-x scroll-lock-mode.

7 голосов
/ 11 мая 2012
;;;_*======================================================================
;;;_* define a function to scroll with the cursor in place, moving the
;;;_* page instead
;; Navigation Functions
(defun scroll-down-in-place (n)
  (interactive "p")
  (previous-line n)
  (unless (eq (window-start) (point-min))
    (scroll-down n)))

(defun scroll-up-in-place (n)
  (interactive "p")
  (next-line n)
  (unless (eq (window-end) (point-max))
    (scroll-up n)))

(global-set-key "\M-n" 'scroll-up-in-place)
(global-set-key "\M-p" 'scroll-down-in-place)
2 голосов
/ 28 ноября 2017

Я думаю, что это лучше:

(defun gcm-scroll-down ()
      (interactive)
      (scroll-up 1))
    (defun gcm-scroll-up ()
      (interactive)
      (scroll-down 1))
    (global-set-key [(control down)] 'gcm-scroll-down)
    (global-set-key [(control up)]   'gcm-scroll-up)

ссылка: emacs wiki

0 голосов
/ 26 июня 2019
;; Preserve the cursor position relative to the screen when scrolling
(setq scroll-preserve-screen-position 'always)

;; Scroll buffer under the point
;; 'scroll-preserve-screen-position' must be set to a non-nil, non-t value for
;; these to work as intended.
(global-set-key (kbd "M-p") #'scroll-down-line)
(global-set-key (kbd "M-n") #'scroll-up-line)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...