Wie kann ich Emacs horizontaler scrollen lassen?

8

Ich verwende bereits scroll-conservatively, um das vertikale Bildlaufverhalten von Emacs zu glätten. Das horizontale Scrollen ist immer noch ziemlich schlecht. Der Bildschirm springt um viele Spalten und ich verliere oft den Überblick, wo ich bin.

Ist es möglich, dies reibungsloser zu gestalten?

Arne
quelle
Horizontales Scrollen? Sie verwenden nicht visual-line-mode?
Choroba
1
Oh nein, ich mag diesen Modus nicht. :)
Arne

Antworten:

3

Es scheint kein direktes Äquivalent scroll-conservativelyfür horizontales Scrollen zu geben, aber das Anpassen hscroll-step(und vielleicht auch hscroll-margin) sollte etwas bewirken, das zumindest dem gleichen Verhalten nahe kommt. Aus dem Handbuch :

Die Variable hscroll-marginsteuert, wie nah der Punkt am linken und rechten Rand des Fensters sein kann, bevor das automatische Scrollen erfolgt. Es wird in Spalten gemessen. Wenn der Wert beispielsweise 5 ist, bewirkt das Verschieben eines Punkts innerhalb von 5 Spalten einer Kante ein horizontales Scrollen von dieser Kante weg.

Die Variable hscroll-stepbestimmt, wie viele Spalten im Fenster gescrollt werden sollen, wenn der Punkt zu nahe an der Kante liegt. Null, der Standardwert, bedeutet, dass der Punkt horizontal innerhalb des Fensters zentriert wird. Ein positiver ganzzahliger Wert gibt die Anzahl der Spalten an, um die gescrollt werden soll. Eine Gleitkommazahl gibt den Bruchteil der Fensterbreite an, um den gescrollt werden soll.

Aaron Miller
quelle
Funktioniert perfekt.
Arne
@Arne Ausgezeichnet! Froh das zu hören.
Aaron Miller
6

Das Scrollen mit meinem Trackpad ist nicht zum Thema, aber wer weiß:

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

Wenn Sie herausfinden möchten, was Emacs für Ihre horizontale Bildlaufschaltfläche hält, versuchen Sie C-h k( describe-key) und verwenden Sie dann Ihre horizontale Bildlaufleiste. In meinem aktuellen Setup berichtet Emacs <mouse-7>und <mouse-6>. Ich habe mit angefangen (scroll-left 1), aber durch ersetzt 4, um schneller zu scrollen.

Brady Trainor
quelle
Ausgezeichnet, ich konnte nicht hscroll-stepwirksam werden, aber das funktioniert gut - danke.
DavidA