Bearbeiten einer riesigen Datei - Vim oder etwas anderes?

8
  • Ich bin Vim-Fan für die meisten meiner Bearbeitungszwecke.
  • Aber in diesen Tagen, wenn ich große Dateien ~ 1-2 Gigs öffnen muss, ist es sehr langsam zu laden und Operationen auszuführen
  • Was sind die anderen Möglichkeiten, wie ich so große Dateien effizient bearbeiten kann?
Tagträumer
quelle
2
Durch Deaktivieren der Syntax kann vim etwas schneller ausgeführt werden.
Ajreal
Nach meiner Erfahrung dauert das Laden einer solchen großen Datei einige Zeit, aber sobald sie geladen ist, ist Vim tatsächlich ziemlich schnell.
Brian Rasmussen
Sie können immer verwenden sed.

Antworten:

3

einstellen

:syntax off
:se binary nospell 
:setgl noswap
:set undolevel=0
:set undofile=

Sie können directory/ auch undodirSwapfiles und Undofiles an einem anderen Ort ablegen

sehe sehen
quelle
1

In diesem Artikel wird erläutert, was Sie mit Vim selbst tun können, um den mit dem Öffnen einer großen Datei verbundenen Overhead zu verringern.

MetaEd
quelle
1

Schauen Sie hier: /ubuntu/28847/text-editor-to-open-4-3-gb-plain-text-file

  • Teilen Sie die Datei in Teile: split -b 53750k <your-file>
  • Bearbeiten Sie Sigle-Teile mit vim (Ich mag es nicht, aber es funktioniert hier schnell)
  • Teile zusammenführen cat xa* > <your-file>

Erledigt :)

Entschuldigung, aber der kostenlose Editor bietet gute Unterstützung für große Dateien (kann keinen Grund dafür finden)

ps
lernen Vim ist nicht so schwierig: http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

Francesco
quelle
Ich musste den Zusammenführungsbefehl ein wenig ändern, da ich eine so große Datei hatte, dass nach xaz xba kam, so dass xa * diejenigen weggelassen hätte, die mit xb beginnen. Ich hatte keine anderen Dateien, die mit x im selben Verzeichnis beginnen, also habe ich nur x * verwendet. Nur für den Fall, dass jemand mit diesen Befehlen auf Probleme stößt.
Cvuorinen
0

Siehe meine Antwort hier (nicht vim-spezifisch).

Welche Art von großer Datei möchten Sie bearbeiten?

Basile Starynkevitch
quelle
Textdatei, möchten Sie das wissen?
Tagträumer
Nein, genauer gesagt: eine Protokolldatei, ein MySQL-Dump, ein großer generierter Assemblycode, ...?
Basile Starynkevitch
Eine Protokolldatei ist das
Tagträumer
Dann trifft meine Antwort sehr gut zu: Nur csplitIhre Protokolldatei in verwaltbare Teile zerlegen, mit Ihrem bevorzugten Editor bearbeiten und die Protokolldatei neu erstellen. Oder entwickeln Sie Ihre eigenen Bearbeitungsskripte (vielleicht mit sed) ...
Basile Starynkevitch
0

Versuchen Sie es mit Joe . Ich habe es gerade verwendet, um eine ~ 5G SQL-Dump-Datei zu bearbeiten. Das Öffnen der Datei dauerte ungefähr eine Minute und das Speichern einige Minuten, ohne dass ein Austausch erforderlich war (auf einem System mit 4 GB RAM).

sierrasdetandil
quelle