Seltsames Verhalten beim Bearbeiten von Dateien auf einem curlftpfs-Mount in vim

721
Ashnur

Während der Bearbeitung verdoppelt Vim manchmal die Zeichen. Das heißt, während der Eingabe einige Zeichen zweimal erscheinen. Wenn ich versuche zu löschen, löscht vim die Zeichen in einer anderen Reihenfolge, als sie erscheinen. Wenn ich die Datei nicht lösche, sondern speichere, vim beende und die Datei wieder öffne, kann ich sehen, dass es in der Tat keine Verdoppelung der Zeichen gab, es erschien einfach so.

Es wurde versucht, das Zeitlimit nicht einzustellen und auch backupdir für ein lokales Verzeichnis festzulegen, das Problem bleibt jedoch bestehen.

Auch wenn ich mich im Normalmodus mit hjkl bewege, erscheint das angegebene Zeichen manchmal im Terminal, dh. Ich drücke mehrmals auf "j", um den Cursor nach unten zu bewegen, und hinterlässt eine Spur von "j" -Zeichen, die eigentlich nicht in die Datei geschrieben werden. Ich sehe sie nur im Terminal das Problem vorübergehend.

Es ist ziemlich ärgerlich, weil ich keine Codezeile eingeben oder eine Seite nach unten verschieben kann, ohne dass dieses Problem auftritt.

Ich verwende Ubuntu 10.10 mit:

  • gnome-terminal 2.32.0
  • curlftpfs 0.9.2
  • libcurl / 7.21.0
  • Sicherung / 2.8
0
Kommt es immer noch vor, wenn Sie einen anderen Terminal-Emulator ausprobieren? (zB xterm oder konsole statt gnome-terminal) Kommt es in gVim vor? Heptite vor 13 Jahren 0
Es passiert zwar mit xterm, aber nachdem Sie gvim für ein paar Minuten verwendet haben, scheint es in Ordnung zu sein. Danke für den Tipp, ich kann jetzt damit arbeiten, aber auf lange Sicht würde ich gerne wissen, was es verursacht, wenn Sie irgendwelche Ideen haben ... Ashnur vor 13 Jahren 0
Meine beste Vermutung ist, dass sich Ihr Terminal in einem leicht falschen Zustand befindet. Dies kann der Fall sein, wenn die Umgebungsvariable $ TERM falsch eingestellt ist. Überschreiben Sie diese Variable irgendwo? Was zeigt "echo $ TERM" in der Befehlszeile im Terminal? Heptite vor 13 Jahren 0
es sagt 'xterm' :(, ich denke das ist nicht das erwartete. Ashnur vor 13 Jahren 0
Für gnome-terminal und xterm ist "xterm" ein gültiger Wert für die Umgebungsvariable $ TERM. An diesem Punkt bin ich ratlos. Heptite vor 13 Jahren 0

1 Antwort auf die Frage

0
Black Square

Ich hatte dieses Problem vor kurzem. In meinem Fall waren die Symptome:

  • Die hjklmit den Cursortasten verknüpften Zeichen oder Escape-Sequenzen werden angezeigt, wenn Sie sich im Befehlsmodus bewegen

  • Zeilen würden im Befehls- und Einfügemodus beschädigt werden. Es scheint, als würden die Zeilen nicht ordnungsgemäß aktualisiert.

Diese Effekte treten nicht in gVim auf, sondern treten unabhängig vom verwendeten Terminalemulator auf.

Ich habe eine Vim-Konfiguration verwendet, die ich heruntergeladen habe. Sie definierte eine Funktion, die einen Shell-Befehl ausführte, aus dem hervorgeht, aus welchem ​​git-Zweig die Datei stammt. Die Ausgabe wurde in die Statusleiste gedruckt. Ich habe git jedoch nicht installiert, so dass dies immer eine Ausnahme auslöste. Das Entfernen der Funktion hat mein Problem vollständig gelöst.

Die Fehler treten nur auf, wenn sich der Bildschirm ändert, dh wenn diese Funktion aufgerufen wird. Ich denke, wenn Sie die Shell ständig aufrufen und jedes Mal, wenn Sie eine Taste drücken, eine Ausnahme ausgeben, wird der Emulator des Terminals ausreichend verlangsamt, damit er nicht ordnungsgemäß aktualisiert wird. Die Fehler traten häufiger auf, wenn ich viele Firefox-Registerkarten geöffnet hatte oder die Tasten hjkl oder Cursor gedrückt halte.

Deaktivieren Sie zum Lösen alle Funktionen in Ihrer .vimrcDatei, die die Shell aufrufen, wahrscheinlich Ausnahmen auslösen oder zeitaufwändig sind.

Das hört sich sehr vielversprechend an, da auch ich eine Funktion habe, um den aktuellen Git-Zweig anzuzeigen. Ich werde es deaktivieren und testen, ob sich etwas ändert. Ashnur vor 12 Jahren 0