Як сказати vim не намагатися розпакувати файл


15

Я намагаюся відкрити .xlsxфайл у Vim, але сталася помилка:

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

Я знаю, що це двійковий файл, але я хочу зробити кілька контрольних сум і, ймовірно, перетворити на шістнадцятковий.

Я помітив, що якщо я зміню розширення, Вім більше не намагатиметься розпакувати його. Що призводить мене до мого питання:

Чи є спосіб сказати vim, щоб відкрити файл, не намагаючись розпакувати його?

FWIW, я використовую Vim 7.4 під Windows 7.


Я отримую таку ж помилку в моїй системі Linux, тому, схоже, це не поведінка, характерна для Windows
Martin Tournoij,

1
Щойно з цікавості, чому ви робите контрольні суми / шестигранники зсередини vim?
Випадково832

@ Random832 з цього приводу, просто тому, що це перше, що мені прийшло в голову. У більшості інших випадків, тому що я можу перевірити діапазон замість цілого файлу, а шістнадцятковий, тому що я можу переключатися вперед і назад із сирим.
Roflo

Відповіді:


16

Така функціональність обробляється за допомогою autocmds . Щоб відключити autocmds для конкретної команди, ви можете використовувати :noautocmd(скорочено :noau). В цьому випадку

:noau e foo.xlsx

просто відкриє необроблений файл, а не запускає autocmds, які намагаються відкрити zip-файл.

Ви також можете використовувати це зі своєї оболонки:

$ vim -c 'noau e foo.xlsx'

Якщо ви хочете більше деталізації, ніж вимкнення всіх autocmds, ви можете тимчасово відключити BufRead/ BufReadPreautocmds за допомогою 'eventignore'параметра.

:set ei=BufRead,BufReadPre
:e foo.xlsx
:set ei=

Чи можливо також відключити тільки autocmd/ augroupяк визначено плагіном zip? Мені це подобається (+1), але якщо ви, наприклад, маєте autocmdвідключити виділення синтаксису та таке для великих файлів (як це прийнято), ви також відключите це як побічний ефект ...
Martin Tournoij,

@Carpetsmoker Не тимчасово. Якщо ви знаєте назву групи (в даному випадку "zip"), ви можете визначити всі autocmds, визначені в цій групі augroup zip | exe 'au!' | augroup END.
Jamessan

10

Це здається плагіну "zip", який постачається разом з Vim та включений за замовчуванням.

:help zip має деякі відомості про це, серед іншого:

ПОПЕРЕДЖЕННЯ НАВАННЯ

Якщо з якоїсь причини ви не хочете використовувати vim для вивчення заархівованих файлів, ви можете помістити наступні дві змінні у свій <.vimrc>, щоб запобігти завантаженню додатка zip:

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

Після додавання цих двох рядків я можу відкрити .zipфайл, як і будь-який інший файл.

Я, до речі, про це теж не знав; але згадувалося повідомлення про помилку zip#Browse, тому я просто набрав :help zipта приземлився на потрібній сторінці документації :-)

Див. Як перейти до тем у документації Vim? для отримання додаткової інформації та порад щодо системи допомоги Vim.

Це також буде працювати для tarплагіна, за винятком того, що ви використовуєте g:loaded_tarPlugin& g_loaded_tar.


Це робить трюк. Шкода, що я не можу +2 для посилання на питання документації.
Roflo

@Roflo Я не можу брати жодної заслуги за цю посаду, це все робота Romainl :-)
Мартін Турной
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.