Durch die Anpassung der Textskala von Emacs wird die Spalte mit den Zeilennummern schrittweise verkleinert und verschwindet

7

Ich habe Emacs so eingerichtet , dass Zeilennummern angezeigt werden (global-linum-mode 1), und es funktioniert, bis ich anfange, den Text über zu vergrößerntext-scale-adjust

Die Spalte mit den Zeilennummern beginnt zu verkleinern und verschwindet nach einigen Schritten vollständig.
Wenn es vollständig verschwunden ist, wirken sich weitere Inkremente nicht mehr auf den linken Rand aus.

Ist das ein bekanntes Problem? Gibt es eine Problemumgehung?

Verwenden von GNU Emacs 23.1.1 in Ubuntu 10.04.

Peter.O
quelle
Wenn ich dies in Emacs 23.1 mache, skalieren die Zahlen auf der linken Seite mit dem Rest des Textes und werden schließlich zu groß für den Platz, in dem sie sich befinden (was es schwierig macht, sie zu sehen), aber die Spalte, in der sie sich befinden, bleibt gleich groß. Ist das das gleiche Verhalten, das Sie sehen, oder sehen Sie etwas anderes?
Steven D
1
Wie bei Steven beobachte ich, dass die Zeilennummernspalte in Pixel gleich breit bleibt (daher wird sie zu klein, um zu den Zeichen zu passen, wenn Sie text-scale-adjustmit einem positiven Argument aufrufen ). Dies sieht nach einem Fehler in der Implementierung der left-marginTexteigenschaft aus. Ich habe nicht weiter nachgeforscht.
Gilles 'SO - hör auf böse zu sein'
Danke Steven und Gilles ... Es scheint das gleiche Verhalten zu sein. Meine Zeilennummer col verengt sich nicht (wie ich zuerst dachte. Es sah einfach so aus, als der Text größer wurde (schwarz ln-nb-col und Kohle) "Wrap-Indikator" -Rand). Die Zeilennummern machen einen tektonischen Verschwinden-Akt "unter" dem eigentlichen Nargin und Puffer. (ein Fehler, wie es scheint)
Peter.O
Ich konnte es mit dieser Lösung auf ein verwandtes Problem beheben: unix.stackexchange.com/a/237023/139097
Pablo Machón

Antworten:

4

Hier ist eine Problemumgehung. Es funktioniert auf meinem emacs23.1.1. Dieselbe Frage tauchte erneut auf (Monate später), und ich hatte in der Zwischenzeit etwas darüber gelernt elisp, also habe ich es versucht. Siehe den folgenden Link für meine Antwort dort. Probleme mit der Schriftgröße bei Emacs im Linum-Modus .

Peter.O
quelle
Könnten Sie Ihre Antwort mit einem Häkchen versehen oder warten Sie auf andere Antworten?
Stéphane Gimenez
Ich würde mich über eine weitere Antwort sehr freuen. Die Methode funktioniert , ist aber wirklich eine Problemumgehung, die ein paar Probleme hat, die ich lieber nicht hätte: wie Schritte zum harten Codieren der Schriftgröße (sie sollte etwas direkteres ansprechen, aber ich weiß nicht, was das ist. .. und der untere Bereich wird nicht richtig aktualisiert, wenn von einer großen Schriftgröße zurück zur Normalität gewechselt wird. Durch Drücken einer beliebigen Taste wird eine Aktualisierung durchgeführt, aber es muss einen besseren Weg geben (und ich weiß auch nicht, wie) .. Und das auch geht wirklich nicht auf das ursprüngliche Problem ein, das der Zeilennummernspalte ändert ihre Breite nicht synchron mit der
Zoomskala
2

Die einfachste und einfachste Lösung, die ich je gesehen habe, besteht darin, die Zeilennummern auf eine feste Höhe einzustellen. Dies kann gemäß der Antwort von user78810 auf einfache Weise erreicht werden : Probleme mit der Schriftgröße bei Emacs im Linum-Modus

Fügen Sie also die folgende Zeile in Ihre Emacs-Konfiguration ein (oder zu Ihrer dotspacemacs/user-configFunktion, wenn Sie den bösen Stil verdrängen):

(eval-after-load "linum"
  '(set-face-attribute 'linum nil :height 100))
Shon
quelle