Wenn ich versuche, eine Datei mit zu öffnen less
, beginnt ihr Inhalt an der Cursorposition und nicht am oberen Bildschirmrand.
.
Dies passiert nur im Gnome-Terminal, im Terminator ist beispielsweise alles in Ordnung. Wie kann ich das beheben?
Antwort1
Wie von egmont erwähnt, less
sollte es möglich sein, den Cursor zu positionieren, und es gibt tatsächlich eine Möglichkeit, dies zu tun. Laut less
Manpage:
Optionen werden auch aus der Umgebungsvariable „LESS“ übernommen. Um beispielsweise zu vermeiden, bei jedem Aufruf von „less -options ...“ eingeben zu müssen, können Sie csh Folgendes mitteilen:
setenv LESS "-Optionen"
oder wenn Sie sh verwenden:
LESS="-Optionen"; exportiere LESS
Um less
den Bildschirm mit dem Cursor oben neu zu zeichnen, führen Sie Folgendes aus:
echo 'LESS="-c"; export LESS' >> ~/.bashrc
-c
Option, die für "clear screen" steht, wird less
automatisch an jedes angehängt und funktioniert sogar in TTY, löscht den Bildschirm und positioniert den Cursor neu
Antwort2
gnome-terminal
und terminator
beide verlassen sich auf das vte
Widget zur Terminalemulation, obwohl terminator
ein altes (gtk2-basiertes) verwendet wird. Genauer gesagt wird Version 0.28.2 terminator
verwendet (sowohl in Ubuntu 14.04 als auch in 16.06), während Version 0.34.9 in Ubuntu 14.04 und 0.42.5 in Ubuntu 16.04 verwendet wird .vte
gnome-terminal
vte
Wie bei den meisten Softwareprogrammen sollten neuere Versionen stabiler und funktionsreicher sein und weniger Fehler enthalten (obwohl sich natürlich hin und wieder neue Fehler, Regressionen, Änderungen, die den Leuten nicht gefallen usw. einschleichen können). vte
hat in den letzten 3 Jahren eine riesige Menge an Änderungen (Fixes) erhalten, einschließlich dieser.
vte
xterm
als Referenz für das Emulationsverhalten verwenden soll (es sei denn, es sieht einen guten Grund, davon abzuweichen, was sehr selten vorkommt). In diesem Fall sahen wir keinen Grund, davon abzuweichen (und wahrscheinlich hatten wir einen gültigen Fehlerbericht vte
, dass es in Bezug auf die Cursorposition beim Wechsel zum alternativen Bildschirm nicht wie erwartet funktionierte), also haben wir es so korrigiert, vte
dass es sich wie verhält xterm
.
Mit anderen Worten: Ubuntu 14.04 gnome-terminal
und sowohl 14.04 als auch 16.04 terminator
waren defekt, vorausgesetzt wir akzeptieren, dass das richtige Verhalten durch definiert ist xterm
. terminator
liegt mit der Version weit hinterher vte
und wird diesen Fix (zusammen mit vielen anderen) erhalten, wenn endlich eine GTK3-basierte Version veröffentlicht wird.
Ich verstehe, dass Ihnen das neue Verhalten von nicht gefällt less
(eigentlich gefällt es mir auch nicht und ich bevorzuge die Art und Weise, wie es versehentlich mit älteren funktioniert hat vte
), allerdings wäre es ein absolut falscher Ansatz, absichtlich zu unterbrechen, vte
um das vorherige Verhalten zu erreichen. Stattdessen less
sollte es möglich sein, den Cursor oben auf dem Bildschirm zu positionieren. Wenn Sie das aktuelle Verhalten wirklich stört, empfehle ich Ihnen, einen Fehlerbericht/eine Funktionsanfrage an zu senden less
.