... und es macht mich verrückt.
Grundsätzlich (dies geschah in den letzten paar Monaten) logge ich mich auf einigen verschiedenen CentOS-Servern ein (einem Linode, einem anderen VPS und einem gemeinsam genutzten Host, auf den ich Shell-Zugriff habe), auf denen 5.5, 5.7 und 6 ausgeführt werden Mac mit OS X Lion und Terminal.
Grundsätzlich:
$ ssh [email protected]
[remote-host] $ nano somefile.txt
Sobald ich mit dem Bearbeiten der Datei beginne, den Cursor mit den Pfeiltasten bewege oder mit dem Löschen beginne und dann erneut eingebe, springt der Cursor ein wenig herum. Wenn ich die Datei speichere und erneut öffne, ist es offensichtlich, dass der Cursor war In der Tat, ohne ersichtlichen Grund überall auf einer Linie herumzuspringen.
Am Ende bekomme ich Dinge wie "Dies ist ein neuer Text." Als ich eingetippt hatte (zum Cursor-verrückten Editor) "Dies ist eine Textzeile."
Es ist ein großes Problem, wenn ich Konfigurationsdateien bearbeite, da ich oft eine Zeile bearbeiten, speichern und schließen und dann wieder öffnen muss, um sicherzustellen, dass diese Zeile richtig ist. Dann bearbeite ich eine andere Zeile. Und es wird ziemlich nervig .
Ich fand Probleme beim Rendern von Linode Lish Shell Vim und Nano: Linien werden nicht angezeigt / Cursorpositionen sind falsch , aber ich weiß nicht, ob das viel zu tun hat, da es sich speziell um Lish handelt.
Antworten:
[ Update: Ab Mac OS X Mountain Lion 10.8 unterstützt Terminal die Backtab-Escape-Sequenz, wodurch dieses Problem behoben wird.]
Die Version (en?) Von nano auf diesen Servern sendet manchmal eine Backtab (ESC [Z) -Sequenz, wenn der Cursor um ein Zeichen nach links verschoben wird, das Terminal unterstützt diese Sequenz jedoch nicht. t und seine Vorstellung von der aktuellen Position des Cursors sind nicht mit dem Terminal synchron.
Aus unerfindlichen Gründen sendet nano beim Bewegen nach links ein Backtab, und der Cursor befindet sich ein Zeichen rechts von einem Tabulator. In ähnlicher Weise sendet IIRC beim Bewegen nach rechts einen Tabulator (Strg-I) und der Cursor befindet sich ein Zeichen links von einem Tabulator. Ich weiß nicht, warum dies bei Tabulatoren so ist, anstatt sich immer mit den gleichen Zeichenfolgen nach links / rechts zu bewegen. Die mit Mac OS X Lion 10.7 gelieferte Version von nano tut dies nicht.
Nano tut dies nur, wenn die Terminfo angibt, dass die
cbt
Funktion unterstützt wird. Die Standardeinstellung für Terminal lautetxterm-256color
: Diese Funktion wird deklariert und der Backtab-Sequenz zugeordnet. Eine Problemumgehung besteht darin, dieTERM
Umgebungsvariable auf etwas festzulegen, das diese Funktion nicht deklariert. Sie können dies auf dem lokalen Computer vor dem Aufrufenssh
oder in der Shell-Startdatei auf dem Remote-Host tun . Wenn Sie dies soxterm-color
einstellen , wird dies zur Not empfohlen, da andere wichtige Verhaltensweisen (z. B. 256 Farben, BCE, Beibehaltung des alternativen Bildschirminhalts) deaktiviert werden. (Eine schwergewichtigere Methode besteht darin, die zu entfernendexterm-256color
(oderxterm
) terminfo-Datei auf dem Remote-Host anzupassencbt
.)Das Anpassen des Remote-Hosts (auf die eine oder andere Weise) wird empfohlen, sodass die Anpassungen nicht lokal oder auf andere Remote-Hosts angewendet werden. Die einfachste Lösung besteht jedoch darin, die zu verwendende Terminal-Voreinstellung zu ändern,
xterm-color
anstattxterm-256color
:Es wird empfohlen, ein vorhandenes Einstellungsprofil zu duplizieren, anzupassen und es nur zu verwenden, wenn Sie eine Verbindung zu diesen Remote-Hosts herstellen.
quelle
cbt=\E[Z
Eintrag in der.ti
Quelldatei.Ich hatte das gleiche Problem. Ich fand diesen Thread , der unter anderem eine Umgebungsvariable auf dem Remote-Server empfahl:
Das Hinzufügen zu ~ / .bash_profile löste das Problem für mich. Diese Lösung ist einfach und hat den Vorteil, dass nur ein bestimmter Benutzer auf einem bestimmten Host betroffen ist.
quelle
Ich hatte das gleiche Problem im MobaXTerm-Programm. Ursache des Problems war die -K-Taste, mit der ich bei der Verwendung von PuTTY das Numpad in Nano aktiviert habe. Wie ich in MobaXTerm herausgefunden habe, wird -K nicht benötigt (NumPad funktioniert standardmäßig) und ohne es funktionieren die Pfeiltasten richtig und fügen keinen Müll nach dem Zufallsprinzip ein.
quelle
OSX 10.7.4 mit Centos als Gastbetriebssystem
In den OSX-Terminal-Einstellungen, Einstellungen, Erweitert
Keine weiteren Probleme :)
quelle
Für Benutzer von MobaXterm. Wenn Sie -K nicht verwenden und das Problem weiterhin besteht. Stellen Sie sicher, dass die folgenden Zeilen in Ihrer / etc / nanorc-Datei auskommentiert sind.
# set rebinddelete
# rebindkeypad setzen
quelle
Das wahrscheinliche Problem ist, dass sowohl Ihr lokaler Computer als auch Ihr Server auf Unix-Systemen mit Nano ausgeführt werden. Diese Nano-Versionen können jedoch unterschiedlich sein.
quelle
Wenn Sie "This is a neof text" erhalten und "This is a text line" eingeben (ich muss davon ausgehen, dass Ihr Bericht korrekt ist), dann haben Sie eine schuppige "Control" -Taste, was auch immer es auf dem Mac ist (Befehl) ? Apfel?). Weil nano Strg + Tasten zum "Herumspringen" verwendet und Sie weniger Zeichen als eingegeben haben, haben wir a) verschwundene Zeichen b) Kontrollsequenzen, die aus dem Nichts erscheinen, was darauf schließen lässt, dass a) zu b) logisch wird.
Möglicherweise haben Sie auch ein abscheuliches Hotkey- / Makro- / Whatnot-Programm. Ich vermute, dass dies zu Superuser und nicht zu Serverfault gehört, aber ich werde weiterhin darauf hinweisen, dass möglicherweise jemand eine realistische, SSH-gebundene Antwort hat.
quelle