Я уже использую 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определяет количество столбцов для прокрутки окна, когда точка слишком близко подходит к краю. Ноль, значение по умолчанию, означает центрирование по горизонтали в пределах окна. Положительное целочисленное значение указывает количество столбцов для прокрутки. Число с плавающей запятой задает долю ширины окна, по которой нужно прокручиваться.