Nachdem der Befehl `script` eine Datei erstellt hat, verwende ich in vim `:set isprint=1-225`, um nicht druckbare Zeichen zu entfernen, kann die Datei jedoch nicht in diesem Format speichern

Nachdem der Befehl `script` eine Datei erstellt hat, verwende ich in vim `:set isprint=1-225`, um nicht druckbare Zeichen zu entfernen, kann die Datei jedoch nicht in diesem Format speichern

Wenn ich diesen Befehl in vim ausführe, :set isprint=1-225werden alle nicht druckbaren Zeichen komprimiert/entfernt. Wie kann ich diese Datei nun speichern oder das Format dieser Datei konvertieren, sodass sie standardmäßig in diesem Format geöffnet wird? Oder wenn ich sie auf GitHub hochlade, werden die nicht druckbaren Zeichen komprimiert?

Meine Frage wurde auf Stack Overflow heruntergevotet, weil sie nicht mit Programmierung oder Entwicklung zu tun hatte, also dachte ich, ich versuche, hier ein paar weitere Details hinzuzufügen. Ich konnte nicht alles in den Titel packen, aber im Grunde kann ich meine Ergänzungen in dieser Zeile zusammenfassen: Ich verwende den scriptBefehl, um meine Sitzung zu protokollieren. Während scriptder Befehl eine Datei mit vielen „nicht druckbaren“ Zeichen erzeugt, kann ich nicht druckbare Zeichen in vim mit „ :set isprint=1-225Wie kann ich die Datei in diesem Format speichern?“ zusammenfassen.

Andere Optionen, die ich kenne und ausprobiert habe, sind das Schreiben einer Perl-Funktion zum Entfernen von Steuerzeichen (beste Alternative, obwohl ich prüfen muss, ob alle nicht druckbaren Zeichen entfernt wurden) und die Kombination von dos2unix& col -bp-Befehlen aus der Bash-Eingabeaufforderung.

Dassah vielversprechend aus, aber bevor ich es ausprobieren konnte, sah ich, dass unter Downloads für Ubuntu „veraltet“ stand – soll ich trotzdem versuchen, es mit der .tar.bz2Datei zu installieren?

PSIn diesem SO-Beitrag antwortet Kyle Barbourbringt mich zum Nachdenken, ob es eine Möglichkeit gibt, mithilfe treines Dienstprogramms das zu tun, was set: isprint=1-225man von der Vim-Befehlszeile aus tut.

Antwort1

Das Setzen dieser 'isprint'Option verändert die Datei nicht, es beeinflusst nur, wie Vim die Datei anzeigt. Sie können jedoch nach dem Setzen dieser Option einen Ersatzbefehl ausführen:

:%s/[^[:print:]]//g

Schreiben Sie dann die Datei.

Antwort2

[GELÖST] Da ich tmux verwende, habe ich mich für meine Zwecke für den Befehl „using tmux“ entschieden capture-pane -S <# off lines>.

Nachdem ich also die E/A einer Sitzung mit scripteinem Befehl in einer xyz.txt-Datei erfasst habe, kann ich in der Terminal-Eingabeaufforderung cat xyz.txtdie Datei ohne nicht druckbare Zeichen anzeigen. Überprüfen Sie in tmux im Kopiermodus, wie viele Zeilen meine xyz.txt-Datei enthält. Geben Sie schließlich den Befehl aus dem tmux-Befehlspuffer aus capther-pane -S <# of lines>und speichern Sie ihn dann mit in einer Datei zyx.txt :save-buffer zyx.txt.

Danke an alle.

verwandte Informationen