Vim unterstützt das transparente Bearbeiten von Dateien in Zip-Dateien. Führen Sie einfach Folgendes aus:
vim file.zip
und Ihnen wird eine Liste der Dateien im Zip-Archiv angezeigt. Wählen Sie diejenige aus, die Sie bearbeiten möchten, ändern Sie, was Sie möchten, und verlassen Sie sie mit :x
Wenn vim
antwortet mit:
Änderungen sind nicht möglich, 'änderbar' ist deaktiviert
.. führen Sie einfach :set modifiable
aus oder :set ma
(Quelle:https://stackoverflow.com/questions/5745506/vim-modifiable-is-off)
Kennen Sie den Namen der Datei im Archiv, bevor Sie sie entpacken? Sie könnten eine Funktion zum Entpacken nach /tmp
erstellen , bearbeiten und aktualisieren Sie die ZIP-Datei:
zipedit(){
echo "Usage: zipedit archive.zip file.txt"
unzip "$1" "$2" -d /tmp
vi /tmp/$2 && zip -j --update "$1" "/tmp/$2"
}
Wie es heißt, ist die Verwendung:
zipedit myarchive.zip myfile.txt
Dies entpackt die benannte Datei aus dem Archiv und speichert sie unter /tmp
, bearbeitet es in vi
fügt es dann wieder dem Archiv hinzu, während der Pfad "junken" wird. Zu Ihrem .bash_profile hinzufügen, vorausgesetzt bash
...
BEARBEITEN: Unten ist eine Version, die mit Unterordnern innerhalb des Archivs arbeitet... Beachten Sie, verwenden Sie keinen Schrägstrich vor dem Namen des Ordners (d. h. verwenden Sie myfolder/file.txt
nicht /myfolder/file.txt
). Wenn Sie eine Datei bearbeiten, die noch nicht im Archiv vorhanden war, wird sie für Sie erstellt. Auch nicht sicher, ob es mit dem absoluten Pfad zur Zip-Datei funktioniert. Bleiben Sie am besten beim Verwandten.
zipedit(){
echo "Usage: zipedit archive.zip folder/file.txt"
curdir=$(pwd)
unzip "$1" "$2" -d /tmp
cd /tmp
vi "$2" && zip --update "$curdir/$1" "$2"
# remove this line to just keep overwriting files in /tmp
rm -f "$2" # or remove -f if you want to confirm
cd "$curdir"
}
Danke für die Frage. Am Ende werde ich wahrscheinlich auch dieses verwenden!
Eine weitere Bearbeitung:Ungetestet, aber ich habe diesen vim
gelesen und emacs
werden beide JAR-Dateien direkt bearbeiten?
Kurze Antwort:NEIN.
Wenn es sich um einen Wrapper handelt, sind Sie Aufruf dieser Befehle. Wie auch immer, das Beste, was mir einfällt, ist, die Datei mit file-roller
zu öffnen , wenn Sie sich in einer X-Umgebung befinden, funktioniert das je nach Setup möglicherweise mit einem einfachen Doppelklick. Sie können dann auf die komprimierte Datei doppelklicken, um sie zu öffnen und dann zu bearbeiten:
$ file-roller b3.zip
Wenn Sie Ihre bearbeitete Datei speichern, sollten Sie diesen Dialog erhalten:
Sie könnten dafür auch ein Skript erstellen, aber das wird kompliziert, wenn Sie komprimierte Archive haben, die mehrere Dateien enthalten. Lassen Sie mich wissen, wenn Sie das brauchen, und ich kann vielleicht etwas kochen.