7

Я уже использую scroll-conservatively для сглаживания вертикальной прокрутки в Emacs. Горизонтальная прокрутка все еще довольно плоха. Экран прыгает по многим колонкам, и я часто теряю, где я нахожусь

Можно ли сделать это более плавно?

2 ответа2

5

Это не по теме прокрутки с моего трекпада, но кто знает:

(global-set-key (kbd "<mouse-7>") '(lambda ()
                                     (interactive)
                                     (scroll-left 4)))
(global-set-key (kbd "<mouse-6>") '(lambda ()
                                     (interactive)
                                     (scroll-right 4)))

Если вы хотите узнать, что Emacs считает "кнопкой" вашей горизонтальной прокрутки, попробуйте C-h k (describe-key), а затем используйте вашу горизонтальную прокрутку. Поэтому в моей текущей настройке Emacs сообщает <mouse-7> и <mouse-6> . Я начал с (scroll-left 1) , но заменил на 4 чтобы ускорить прокрутку.

2

Прямого эквивалента scroll-conservatively для горизонтальной прокрутки не существует, но настройка hscroll-step (и, возможно, также hscroll-margin) должна производить что-то, по крайней мере, похожее на такое же поведение. Из руководства:

Переменная hscroll-margin контролирует, как близкая точка может добраться до левого и правого краев окна, прежде чем произойдет автоматическая прокрутка. Измеряется в колонках. Например, если значение равно 5, то перемещение точки в пределах 5 столбцов ребра вызывает горизонтальную прокрутку от этого ребра.

Переменная hscroll-step определяет количество столбцов для прокрутки окна, когда точка слишком близко подходит к краю. Ноль, значение по умолчанию, означает центрирование по горизонтали в пределах окна. Положительное целочисленное значение указывает количество столбцов для прокрутки. Число с плавающей запятой задает долю ширины окна, по которой нужно прокручиваться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .