Мне бы хотелось, чтобы клавиши PgUp и PgDn просто перемещали содержимое показанного файла вверх или вниз, но курсор ( точка в Emacs)Линго) должен оставаться там, где он есть (на экране).К сожалению, поведение Emacs по умолчанию отличается.Поведение по умолчанию сложно описать, но если вы нажмете PgDn , а затем PgUp , вы не окажетесь там, где были раньше (!).
Этоне новая проблема, и существует хорошее решение под названием sfp-page-up и sfp-page-down в EmacsWiki .
(defun sfp-page-up ()
(interactive)
(setq this-command 'previous-line)
(previous-line
(- (window-text-height)
next-screen-context-lines)))
Существует однопроблема, однако, в сочетании с режимом cua , который обеспечивает (среди прочего) выбор смещения (нажатие Shift и клавишу перемещения курсора, например ← или PgDn начинает выделять выделенную область):
cua-mode
не распознает переопределенные PgUp / PgDn , т. Е. Они не распознаютначать выбор.Обходной путь должен сначала нажать клавишу ↑ или ↓ , а затем продолжить с PgUp / PgDn .
Howя могу заставить cua-mode
хорошо играть с sfp-page-up/down
?