GVIM bleibt beim Speichern über GVFS 'FTP hängen

1053
Lie Ryan

Mir gefiel die Nautilus- und FTP-Integration von Gnome, und ich konnte ein Remote-FTP-Verzeichnis als reguläres Lesezeichen / Verzeichnis mounten und auf alle Remote-Dateien doppelklicken, um sie in einem nicht geänderten Programm zu öffnen. Ich habe es auch geliebt, Textdateien mit GVim zu bearbeiten.

Wenn ich jedoch auf Nautilus auf eine Datei geklickt habe, um eine Textdatei in Gvim zu öffnen, dauert das Speichern einer Datei etwa 10 Sekunden, und GVim bleibt für diese Zeitspanne hängen. Der größte Irritant ist, dass ich die Bearbeitung nicht fortsetzen kann, während der Texteditor auf das Ende des Schreibvorgangs wartet. Diese Verzögerung hat meinen Workflow und Gedankenprozess unterbrochen und das Speichern wird zu einem schmerzhaften Prozess. Das andere Problem ist, dass ich nicht glaube, dass das Hochladen einer Datei so viel Zeit in Anspruch nimmt.

Ich kenne die interne FTP-Unterstützung von GVim, aber sie sind nicht so gut in Nautilus 'FTP integriert, und sie leiden unter dem gleichen Problem.

Also noch ein paar Fragen:

  1. Gibt es eine Möglichkeit, GVim oder GVFS während der Bearbeitung im Hintergrund zu speichern?
  2. Warum ist GVFS so langsam? Gibt es eine Möglichkeit, GVFS so einzustellen, dass eine einzelne persistente FTP-Verbindung verwendet wird, anstatt jedes Mal eine neue FTP-Verbindung herzustellen?

Ich bin auf Gentoo Linux x86-64.

5
Ich habe das gleiche Problem (zumindest scheint es das gleiche Problem zu sein) auf Ubuntu mit Kate und SFTP. user55325 vor 13 Jahren 0

2 Antworten auf die Frage

0
Haqa

Leider glaube ich nicht, dass Sie dafür eine Lösung finden werden, zumindest nicht so leicht. Ich verstehe, dass dies eine Funktion des virtuellen Dateisystems ist - es blockiert Schreibvorgänge, bis sie erfolgreich abgeschlossen wurden oder fehlgeschlagen sind, sodass sie der Anwendung genau gemeldet werden können.

Ich habe (wie user55325) dies mit Kate und SFTP erlebt, auch mit einer Reihe anderer Apps, es scheint einfach so zu funktionieren.

Angesichts der Tatsache, dass mein VPN ziemlich langsam arbeitet, musste ich die Bearbeitung von Dateien auf diese Weise aufgeben, wenn Sie von zu Hause aus arbeiten, und ich musste für große Projekte auf Rsync zurückgreifen.

0
CodeGnome

Man geht davon aus, dass Sie das netrw-Plugin, das (zumindest bei Debian und Ubuntu) mit der Vim-Laufzeitumgebung verteilt wird, bereits reduziert hat . Dies scheint der richtige Weg zu sein, es sei denn, die Datei muss aus irgendeinem Grund lokal aussehen.

Wenn Sie eine entfernte Datei als lokale Datei behandeln möchten, ist ein besser konfigurierbares VFS-System möglicherweise besser geeignet als gvfs. Beispielsweise können Sie die curlftpfs- oder avfs- FUSE-Module berücksichtigen . Ersteres erlaubt definitiv eine erneute Verbindung, wenn eine Verbindung abläuft, und ist ziemlich gut dokumentiert.

Es klingt wirklich so, als wäre Ihr Problem, weil gVim der Meinung ist, dass Ihre Datei lokal ist, wenn dies nicht der Fall ist. Die Verwendung eines FUSE-Mount, der eine permanente Verbindung aufrechterhält, oder das netrw-Plugin ordnungsgemäß verwenden, sollte diese Probleme für Sie beheben.

Sie möchten, dass eine Anwendung bei fehlgeschlagenen Schreibvorgängen blockiert. Das Soft-Mounten sollte nur für schreibgeschützte Daten verwendet werden. Selbst wenn Vim ein solches Verhalten anbietet, ist es nicht ratsam, sich darauf zu verlassen.

Wie ich geschrieben habe: `Ich weiß von GVims interner FTP-Unterstützung, aber sie sind nicht so gut integriert wie Nautilus 'FTP und **, sie leiden unter demselben Problem **.` Außerdem glaube ich nicht, dass das stimmt das Blockieren während des Schreibens ist immer wünschenswert; Mit Coda für Mac OSX können Sie beispielsweise die Datei weiter bearbeiten, während die Datei im Hintergrund hochgeladen wird. Es gibt einen Spinner, der Sie darüber informiert, dass das Speichern noch nicht abgeschlossen ist, sodass Sie wissen, wann das Ergebnis überprüft werden muss (für meinen Anwendungsfall der Bearbeitung einer PHP-Datei muss ich das Ergebnis im Browser überprüfen). Lie Ryan vor 12 Jahren 0