วิธีการบอกเป็นกลุ่มไม่พยายามที่จะแตกไฟล์


15

ฉันพยายามเปิด.xlsxไฟล์ใน Vim แต่มีข้อผิดพลาดว่า:

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

ฉันรู้ว่ามันเป็นไฟล์ไบนารี แต่ฉันต้องการที่จะตรวจสอบบางอย่างและอาจแปลงเป็นเลขฐานสิบหก

ฉันสังเกตเห็นว่าถ้าฉันเปลี่ยนนามสกุลแล้ว Vim จะไม่พยายามคลายซิปอีกต่อไป ซึ่งทำให้ฉันคำถามของฉัน:

มีวิธีบอก vim ให้เปิดไฟล์โดยไม่พยายามคลายซิปหรือไม่?

FWIW ฉันใช้ Vim 7.4 ใน Windows 7


ฉันได้รับข้อผิดพลาดเดียวกันในระบบ Linux ของฉันดังนั้นดูเหมือนว่าพฤติกรรมของ Windows จะไม่เฉพาะเจาะจง
Martin Tournoij

1
เพิ่งเกิดจากความอยากรู้อยากเห็นทำไมคุณทำเช็คซัม / hex ของคุณจากภายในกลุ่ม?
Random832

@ Random832 ในครั้งนี้เพียงเพราะมันเป็นสิ่งแรกที่เข้ามาในความคิดของฉัน เวลาส่วนใหญ่เพราะฉันสามารถตรวจสอบช่วงแทนไฟล์ทั้งหมดและฐานสิบหกเพราะฉันสามารถสลับไปมาด้วยดิบ
Roflo

คำตอบ:


16

ฟังก์ชั่นเช่นนี้จะถูกจัดการโดยautocmds เพื่อปิดใช้งาน autocmds สำหรับคำสั่งเฉพาะคุณสามารถใช้:noautocmd(ตัวย่อ:noau) ในกรณีนี้

:noau e foo.xlsx

จะเปิดไฟล์ raw แทนที่จะเรียกใช้ 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การไฮไลท์ไวยากรณ์ปิดการใช้งานและเช่นสำหรับไฟล์ขนาดใหญ่ (เป็นธรรมดา) แล้วคุณจะยังปิดการใช้งานที่เป็นผลข้างเคียง ...
มาร์ติน Tournoij

@Carpetsmoker ไม่ชั่วคราว ถ้าคุณรู้ว่าชื่อกลุ่ม (ในกรณีนี้ "ซิป") คุณสามารถ undefine ทั้งหมดของ autocmds augroup zip | exe 'au!' | augroup ENDที่กำหนดไว้ในกลุ่มนั้นด้วย
jamessan

10

ดูเหมือนว่าปลั๊กอิน "zip" ซึ่งมาพร้อมกับ Vim และเปิดใช้งานโดยค่าเริ่มต้น

:help zip มีข้อมูลบางอย่างเกี่ยวกับมันเหนือสิ่งอื่นใด:

การป้องกันการโหลด

หากด้วยเหตุผลบางอย่างที่คุณไม่ต้องการใช้เสียงเรียกเข้าเพื่อตรวจสอบไฟล์ซิปคุณอาจวางตัวแปรสองตัวต่อไปนี้ไว้ใน <.vimrc> ของคุณเพื่อป้องกันไม่ให้ปลั๊กอินซิปโหลด:

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

หลังจากเพิ่ม 2 บรรทัดฉันสามารถเปิด.zipไฟล์เป็นไฟล์อื่นได้

ฉันไม่รู้เกี่ยวกับเรื่องนี้เช่นกัน แต่ข้อความแสดงข้อผิดพลาดดังกล่าวzip#Browseดังนั้นฉันจึงพิมพ์:help zipและลงบนหน้าเอกสารที่ถูกต้อง :-)

ดูฉันจะนำทางไปยังหัวข้อต่างๆในเอกสารประกอบของ Vim ได้อย่างไร สำหรับข้อมูลเพิ่มเติมและเคล็ดลับเกี่ยวกับระบบช่วยเหลือของ Vim

นอกจากนี้ยังจะทำงานให้กับtarปลั๊กอินยกเว้นคุณใช้และg:loaded_tarPluging_loaded_tar


นั่นเป็นกลอุบาย เสียดายที่ฉันไม่สามารถ +2 สำหรับการลิงก์ไปยังคำถามเอกสาร
Roflo

@Roflo ฉันไม่สามารถรับเครดิตสำหรับโพสต์นั้นนั่นคือทั้งหมดที่ทำงานของromainl :-)
Martin Tournoij
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.