Wenn Sie die gesamte Datei öffnen möchten (was erforderlich ist), aber nur einen Teil davon im Editorfenster anzeigen möchten, verwenden Sie die Verengung . Wählen Sie den Teil des Puffers aus, an dem Sie arbeiten möchten, und drücken Sie C-x n n
( narrow-to-region
). Sagen Sie "Ja", wenn Sie eine Eingabeaufforderung zu einem deaktivierten Befehl erhalten. Drücken Sie C-x n w
( widen
), um den gesamten Puffer erneut anzuzeigen. Wenn Sie den Puffer speichern, wird die vollständige Datei ausgewählt: Alle Daten sind noch vorhanden. Durch die Verengung wird nur das eingeschränkt, was Sie sehen.
Wenn Sie einen Teil einer Datei anzeigen möchten, können Sie ihn shell-command
mit einem Präfixargument ( M-1 M-!
) in den aktuellen Puffer einfügen . Führen Sie den entsprechenden Befehl aus, um die gewünschten Zeilen zu extrahieren , z <huge.txt tail -n +57890001 | head -n 11
.
Es gibt auch eine Lisp-Funktion insert-file-contents
, die einen Bytebereich annehmen kann. Sie können es mit M-:
( eval-expression
) aufrufen :
(insert-file-contents "huge.txt" nil 456789000 456791000)
Beachten Sie, dass Sie möglicherweise auf die Größenbeschränkung für Ganzzahlen stoßen (version- und plattformabhängig, überprüfen Sie den Wert von most-positive-fixnum
).
Theoretisch wäre es möglich, einen Emacs-Modus zu schreiben, der Teile von Dateien nach Bedarf transparent lädt und speichert (obwohl die Begrenzung der Ganzzahlgröße die Verwendung tatsächlicher Datei-Offsets auf 32-Bit-Computern unmöglich machen würde). Die einzige Anstrengung in diese Richtung, die ich kenne, ist VLF (GitHub-Link hier ).