Gibt es Editoren, die Textdateien mit mehreren Gigabyte bearbeiten können, indem sie möglicherweise nur kleine Teile gleichzeitig in den Speicher laden? Es scheint nicht so, als ob Vim damit umgehen kann = (
vim
text
text-editor
Philip Brocoum
quelle
quelle
Antworten:
Wenn Sie auf * nix (und vorausgesetzt , Sie nur Teile der Datei (und selten) zu modifizieren haben), können Sie die Dateien aufgeteilt (mit dem
split
Befehl), bearbeiten sie einzeln (mitawk
,sed
oder so ähnlich) und verketten sie , nachdem Sie sind fertig.quelle
Strg-C stoppt das Laden der Datei. Wenn die Datei klein genug ist, haben Sie möglicherweise das Glück gehabt, den gesamten Inhalt geladen und alle Schritte nach dem Laden beendet zu haben. Stellen Sie sicher, dass die gesamte Datei geladen wurde, wenn Sie diesen Tipp verwenden.
Vim kann ziemlich gut mit großen Dateien umgehen. Ich habe gerade eine 3,4-GB-Datei bearbeitet, Zeilen gelöscht usw. Drei Dinge, die Sie beachten sollten:
:115355
Wenn Sie tippen, gelangen Sie direkt zur Zeile 115355, die in diesen großen Dateien viel schneller ausgeführt wird. Vim scheint jedes Mal, wenn ein Zeilenpuffer geladen wird, von vorne zu scannen, und wenn Sie Strg-F gedrückt halten, um die Datei zu durchsuchen, wird es gegen Ende sehr langsam.Hinweis - Wenn Ihre Vim-Instanz schreibgeschützt ist, weil Sie Strg-C gedrückt haben, hat Vim möglicherweise nicht die gesamte Datei in den Puffer geladen. In diesem Fall wird beim Speichern nur das gespeichert, was sich im Puffer befindet, nicht die gesamte Datei . Sie können schnell mit einem überprüfen
G
, um zum Ende zu springen, um sicherzustellen, dass alle Zeilen in Ihrer Datei vorhanden sind.quelle
Es können Plugins sein, die dazu führen, dass es erstickt. (Syntaxhervorhebung, Falten usw.)
Sie können vim ohne Plugins ausführen.
Es ist minimalistisch, aber es gibt Ihnen zumindest die vi-Bewegungen, die Sie gewohnt sind.
ist eine andere offensichtliche. Beschneiden Sie Ihre Installation und beschaffen Sie sich das, was Sie brauchen. Sie finden heraus, wozu es in der Lage ist und ob Sie eine Aufgabe auf andere Weise erledigen müssen.
quelle
Eine leichte Verbesserung gegenüber der Antwort von @Al pachio mit der Split + Vim-Lösung. Sie können die Dateien mit einem Glob einlesen, indem Sie Dateiblöcke effektiv als Puffer verwenden, z
quelle
Vielleicht möchten Sie dieses VIM-Plugin ausprobieren, das bestimmte Vim-Funktionen im Interesse der Geschwindigkeit beim Laden großer Dateien deaktiviert.
quelle
Ich habe versucht, dies zu tun, hauptsächlich mit Dateien um 1 GB, als ich eine kleine Änderung an einem SQL-Dump vornehmen musste. Ich bin auf Windows, was es sehr schmerzhaft macht. Es ist ernsthaft schwierig.
Die offensichtliche Frage ist: "Warum müssen Sie?" Ich kann Ihnen aus Erfahrung sagen, dass Sie dies mehr als einmal versuchen müssen. Sie möchten wahrscheinlich wirklich versuchen, einen anderen Weg zu finden.
Wie machst du das? Es gibt einige Möglichkeiten, wie ich es gemacht habe. Manchmal kann ich vim oder nano dazu bringen, die Datei zu öffnen, und ich kann sie verwenden. Das ist ein sehr harter Schmerz, aber es funktioniert.
Wenn das nicht funktioniert (wie in Ihrem Fall), haben Sie nur wenige Optionen. Sie können ein kleines Programm schreiben, um die erforderlichen Änderungen vorzunehmen (z. B. Suchen und Ersetzen). Sie könnten ein Befehlszeilenprogramm verwenden, das dies möglicherweise kann (möglicherweise kann es mit sed / awk / grep / etc ausgeführt werden?)
Wenn diese nicht funktionieren, können Sie die Datei jederzeit in Blöcke aufteilen (so etwas wie Aufteilen ist die naheliegende Wahl, aber Sie können Kopf / Schwanz verwenden, um das gewünschte Teil zu erhalten) und dann die Teile bearbeiten, die es benötigen. und später neu kombinieren.
Vertrauen Sie mir, versuchen Sie einen anderen Weg zu finden.
quelle
Ich denke, es ist ziemlich üblich, dass Hex-Editoren große Dateien verarbeiten. Unter Windows verwende ich HxD , das behauptet, Dateien mit bis zu 8 EB (8 Milliarden Gigabyte) zu verarbeiten.
quelle
hexedit
Ich verwende vim 7.3.3 unter Win7 x64 mit dem LargeFile-Plugin von Charles Campbell , um Multi-Gigabyte- Nur -Text-Dateien zu verarbeiten. Es funktioniert wirklich gut.
Ich hoffe du kommst richtig.
quelle
Wow, ich habe es nie geschafft, Vim zum Würgen zu bringen, selbst mit ein oder zwei GB. Ich habe gehört, dass UltraEdit (unter Windows) und BBEdit (unter Macs) noch besser für noch größere Dateien geeignet sind, habe aber keine persönlichen Erfahrungen.
quelle
In der Vergangenheit habe ich mit diesem Tool eine 3-Gig-Datei geöffnet: http://csved.sjfrancke.nl/
quelle
Persönlich mag ich UltraEdit . Hier ist ihr kleines Spiel mit großen Dateien .
quelle
Ich habe den integrierten Editor / Viewer von FAR Commander für sehr große Protokolldateien verwendet.
quelle
Ich habe TextPad für große Protokolldateien verwendet, es gibt keine Obergrenze.
quelle
Das einzige, was ich für so etwas verwenden konnte, ist mein Lieblings-Mac-Hex-Editor 0XED. Dies war jedoch bei Dateien der Fall, die ich mit zehn Megabyte als groß betrachtete. Ich bin mir nicht sicher, wie weit es gehen wird. Ich bin mir ziemlich sicher, dass nur Teile der Datei gleichzeitig in den Speicher geladen werden.
quelle
In der Vergangenheit habe ich erfolgreich einen Split / Edit / Join-Ansatz verwendet, wenn Dateien sehr groß werden. Damit dies funktioniert, müssen Sie wissen, wo sich der zu bearbeitende Text in der Originaldatei befindet.
quelle