Ответ 1
попробуйте эти. Измените привязки клавиш M-n
и M-p
в соответствии с вашим вкусом
;;; scrollers
(global-set-key "\M-n" "\C-u1\C-v")
(global-set-key "\M-p" "\C-u1\M-v")
Можно ли прокручивать всю видимую часть буфера в Emacs, но оставить точку там, где она есть. Пример: точка находится в нижней части окна, и я хочу увидеть текст, который прокручивается в верхней части окна без перемещения точки.
Изменить: я полагаю, что C-l
C-l
делает то, что я хотел.
попробуйте эти. Измените привязки клавиш M-n
и M-p
в соответствии с вашим вкусом
;;; scrollers
(global-set-key "\M-n" "\C-u1\C-v")
(global-set-key "\M-p" "\C-u1\M-v")
Это может быть полезно. Согласно странице EmacsWiki по прокрутке;
Переменная
scroll-preserve-screen-position
может быть полезна для некоторых. Когда вы прокручиваете вниз и снова вверх, точка должна заканчиваться той же позицией, с которой вы начали. Значение может быть переключено встроенным режимомMx scroll-lock-mode
.
;;;_*======================================================================
;;;_* 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)
Я думаю, что это лучше:
(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
;; 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)