Bagaimana cara memberitahu vim untuk tidak mencoba unzip file

15

Saya mencoba membuka .xlsxfile di Vim, tetapi mendapat pesan kesalahan:

***error*** (zip#Browse) unzip not available on your system  

Saya tahu ini adalah file biner, tetapi saya ingin melakukan beberapa checksum dan mungkin mengonversi menjadi hex.

Saya perhatikan bahwa jika saya mengubah ekstensi, Vim tidak lagi mencoba unzip. Yang mengarahkan saya ke pertanyaan saya:

Apakah ada cara untuk memberitahu vim untuk membuka file tanpa mencoba unzip?

FWIW, saya menggunakan Vim 7.4 di bawah Windows 7.

Roflo
sumber
Saya mendapatkan kesalahan yang sama pada sistem Linux saya, jadi sepertinya itu bukan perilaku khusus Windows
Martin Tournoij
1
Hanya karena penasaran, mengapa Anda melakukan checksum / hex Anda dari dalam vim?
Random832
@ Random832 pada kesempatan ini, hanya karena itu adalah hal pertama yang terlintas di pikiran saya. Sebagian besar waktu, karena saya dapat checksum rentang bukannya seluruh file, dan hex karena saya dapat beralih bolak-balik dengan mentah.
Roflo

Jawaban:

16

Fungsi seperti ini ditangani oleh autocmds . Untuk menonaktifkan autocmds untuk perintah tertentu, Anda dapat menggunakan :noautocmd(disingkat :noau). Pada kasus ini

:noau e foo.xlsx

hanya akan membuka file mentah daripada memicu autocmds yang mencoba untuk membuka file zip.

Anda juga dapat menggunakan ini dari shell Anda:

$ vim -c 'noau e foo.xlsx'

Jika Anda menginginkan lebih banyak rincian daripada menonaktifkan semua autocmds, Anda dapat menonaktifkan sementara BufRead/ BufReadPreautocmds menggunakan 'eventignore'opsi.

:set ei=BufRead,BufReadPre
:e foo.xlsx
:set ei=
jamessan
sumber
Apakah mungkin juga menonaktifkan autocmd/ augroupseperti yang didefinisikan oleh plugin zip? Saya suka ini (+1), tetapi jika Anda misalnya memiliki autocmduntuk menonaktifkan highlight sintaks dan semacamnya untuk file besar (seperti biasa), maka Anda juga akan menonaktifkannya sebagai efek samping ...
Martin Tournoij
@Carpetsmoker Tidak untuk sementara. Jika Anda tahu nama grup (dalam hal ini "zip"), Anda dapat menentukan semua autocmds yang didefinisikan dalam grup itu dengan augroup zip | exe 'au!' | augroup END.
jamessan
10

Ini tampaknya ke plugin "zip", yang dikirimkan bersama Vim dan diaktifkan secara default.

:help zip memiliki beberapa informasi tentang itu, antara lain:

MENCEGAH PEMUATAN

Jika karena alasan tertentu Anda tidak ingin menggunakan vim untuk memeriksa file zip, Anda dapat memasukkan dua variabel berikut ke <.vimrc> Anda untuk mencegah plugin zip memuat:

let g:loaded_zipPlugin= 1                                               
let g:loaded_zip      = 1                                               

Setelah menambahkan 2 baris ini, saya dapat membuka .zipfile seperti file lainnya.

Ngomong-ngomong, aku juga tidak tahu tentang ini; tetapi pesan kesalahan disebutkan zip#Browse, jadi saya hanya mengetik :help zipdan mendarat di halaman dokumentasi yang tepat :-)

Lihat Bagaimana cara menavigasi ke topik dalam dokumentasi Vim? untuk beberapa informasi & tips lebih lanjut tentang sistem bantuan Vim.

Ini juga akan berfungsi untuk tarplugin, kecuali Anda menggunakan g:loaded_tarPlugin& g_loaded_tar.

Martin Tournoij
sumber
Itu yang berhasil. Sayang sekali saya tidak bisa +2 untuk menautkan ke pertanyaan dokumentasi.
Roflo
@Roflo Saya tidak bisa mengambil kredit apa pun untuk pos itu, itu saja pekerjaan romainl :-)
Martin Tournoij