Я уже использую scroll-conservatively
для сглаживания вертикальной прокрутки в Emacs. Горизонтальная прокрутка все еще довольно плоха. Экран прыгает по многим колонкам, и я часто теряю, где я нахожусь
Можно ли сделать это более плавно?
Это не по теме прокрутки с моего трекпада, но кто знает:
(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
чтобы ускорить прокрутку.
Прямого эквивалента scroll-conservatively
для горизонтальной прокрутки не существует, но настройка hscroll-step
(и, возможно, также hscroll-margin
) должна производить что-то, по крайней мере, похожее на такое же поведение. Из руководства:
Переменная
hscroll-margin
контролирует, как близкая точка может добраться до левого и правого краев окна, прежде чем произойдет автоматическая прокрутка. Измеряется в колонках. Например, если значение равно 5, то перемещение точки в пределах 5 столбцов ребра вызывает горизонтальную прокрутку от этого ребра.Переменная
hscroll-step
определяет количество столбцов для прокрутки окна, когда точка слишком близко подходит к краю. Ноль, значение по умолчанию, означает центрирование по горизонтали в пределах окна. Положительное целочисленное значение указывает количество столбцов для прокрутки. Число с плавающей запятой задает долю ширины окна, по которой нужно прокручиваться.