Cómo decirle a vim que no intente descomprimir un archivo

15

Estoy tratando de abrir un .xlsxarchivo en Vim, pero recibí un error que dice:

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

Sé que es un archivo binario, pero quiero hacer algunas sumas de verificación y probablemente convertirlo a hexadecimal.

Noté que si cambio la extensión, Vim ya no intenta descomprimirlo. Lo cual me lleva a mi pregunta:

¿Hay alguna manera de decirle a vim que abra un archivo sin intentar descomprimirlo?

FWIW, estoy usando Vim 7.4 en Windows 7.

Roflo
fuente
Me sale el mismo error en mi sistema Linux, por lo que no parece ser un comportamiento específico de Windows
Martin Tournoij
1
Solo por curiosidad, ¿por qué estás haciendo tus sumas de verificación / hex desde vim?
Random832
@ Random832 en esta ocasión, solo porque es lo primero que se me ocurrió. La mayoría de las veces, porque puedo sumar un rango en lugar de todo el archivo, y hexadecimal porque puedo cambiar de un lado a otro con raw.
Roflo

Respuestas:

16

Funcionalidad como esta es manejada por autocmds . Para deshabilitar autocmds para un comando específico, puede usar :noautocmd(abreviado :noau). En este caso

:noau e foo.xlsx

simplemente abrirá el archivo sin formato en lugar de activar los autocmds que intentan abrir el archivo zip.

También puede usar esto desde su shell:

$ vim -c 'noau e foo.xlsx'

Si desea más granularidad que deshabilitar todos los autocmds, puede deshabilitar temporalmente los BufRead/ BufReadPreautocmds con la 'eventignore'opción.

:set ei=BufRead,BufReadPre
:e foo.xlsx
:set ei=
jamessan
fuente
¿También es posible deshabilitar solo el autocmd/ augroupcomo lo define el complemento zip? Me gusta esto (+1), pero si, por ejemplo, tiene autocmdque deshabilitar el resaltado de sintaxis y tal para archivos grandes (como es común), también lo deshabilitará como efecto secundario ...
Martin Tournoij
@Carpetsmoker No temporalmente. Si conoce el nombre del grupo (en este caso, "zip"), puede definir todos los autocmds definidos en ese grupo con augroup zip | exe 'au!' | augroup END.
jamessan
10

Esto parece ser el complemento "zip", que se envía con Vim y está habilitado de forma predeterminada.

:help zip tiene información al respecto, entre otras cosas:

PREVENCIÓN DE LA CARGA

Si por alguna razón no desea utilizar vim para examinar archivos comprimidos, puede poner las siguientes dos variables en su <.vimrc> para evitar que se cargue el complemento zip:

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

Después de agregar estas 2 líneas, puedo abrir un .ziparchivo como cualquier otro archivo.

Yo tampoco sabía sobre esto, por cierto; pero el mensaje de error mencionó zip#Browse, así que simplemente escribí :help zipy aterricé en la página de documentación correcta :-)

Consulte ¿Cómo navego a los temas en la documentación de Vim? para obtener más información y consejos sobre el sistema de ayuda de Vim.

Esto también funcionará para el tarcomplemento, excepto que use g:loaded_tarPlugin& g_loaded_tar.

Martin Tournoij
fuente
Eso hace el truco. Lástima que no puedo hacer +2 por vincular a la pregunta de documentación.
Roflo
@Roflo No puedo tomar ningún crédito por esa publicación, eso es todo el trabajo de romainl :-)
Martin Tournoij