Vim mendukung pengeditan file secara transparan di dalam file zip. Jalankan saja:
vim file.zip
dan Anda akan diperlihatkan daftar file di dalam arsip zip. Pilih salah satu yang ingin Anda edit, ubah yang Anda inginkan, dan keluar dengan :x
Jika vim
menanggapi dengan:
Tidak dapat melakukan perubahan, 'dapat dimodifikasi' tidak aktif
.. jalankan saja :set modifiable
atau :set ma
(sumber:https://stackoverflow.com/questions/5745506/vim-modifiable-is-off)
Apakah Anda tahu nama file di arsip sebelum membuka ritsletingnya? Anda bisa membuat fungsi unzip ke /tmp
, edit, dan segarkan zip:
zipedit(){
echo "Usage: zipedit archive.zip file.txt"
unzip "$1" "$2" -d /tmp
vi /tmp/$2 && zip -j --update "$1" "/tmp/$2"
}
Seperti yang dikatakan, penggunaannya adalah:
zipedit myarchive.zip myfile.txt
Ini membongkar file bernama dari arsip, menyimpannya ke /tmp
, edit di vi
lalu menambahkannya kembali ke arsip, sambil "membuang" jalurnya. Tambahkan ke .bash_profile Anda, dengan asumsi bash
...
EDIT: Di bawah ini adalah versi yang berfungsi dengan subfolder di dalam arsip... Perhatikan, jangan gunakan garis miring sebelum nama folder (mis. gunakan myfolder/file.txt
bukan /myfolder/file.txt
). Jika Anda mengedit file yang belum ada di arsip, itu akan membuatnya untuk Anda. Juga tidak yakin apakah itu akan berfungsi dengan jalur absolut ke file zip. Tetap terbaik dengan kerabat.
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"
}
Terima kasih atas pertanyaannya. Saya mungkin akan menggunakan yang ini juga!
Suntingan lain:Belum diuji, tetapi saya membaca vim
itu dan emacs
apakah keduanya akan mengedit file jar secara langsung?
Jawaban singkat:TIDAK.
Jika itu pembungkus, Anda adalah memanggil perintah-perintah ini. Bagaimanapun, yang terbaik yang dapat saya pikirkan adalah membuka file menggunakan file-roller
, jika Anda berada di lingkungan X, itu mungkin berfungsi dengan klik dua kali sederhana, tergantung pada penyiapan Anda. Anda kemudian dapat mengklik dua kali pada file terkompresi untuk membukanya dan kemudian Anda dapat mengeditnya:
$ file-roller b3.zip
Saat Anda menyimpan file yang telah diedit, Anda akan mendapatkan dialog ini:
Anda juga dapat membuat skrip untuk ini, tetapi akan menjadi rumit jika Anda memiliki arsip terkompresi yang berisi banyak file. Beri tahu saya jika itu yang Anda butuhkan dan saya mungkin bisa memasak sesuatu.