2011-09-16 11 views
8

विम स्वचालित रूप से .gz फ़ाइलों को विस्तारित करता है जब मैं उन्हें खोलता हूं, जो कि बढ़िया है। हालांकि, यह उसी तरह .GZ (ऊपरी मामला) को पुनः पहचान नहीं करता है। दुर्भाग्य से मैं उन फ़ाइलों के फ़ाइल एक्सटेंशन को नहीं बदल सकता जिनके साथ मैं विभिन्न कारणों से काम कर रहा हूं। क्या वीआईएम के साथ पंजीकरण करने का कोई वास्तविक तरीका है कि .GZ.gz फाइलों के समान हैं?क्या वीआईएम स्वचालित रूप से एक अलग फ़ाइल एक्सटेंशन के साथ gzip फ़ाइलों को असम्पीडित कर सकता है?

augroup gzip 
au BufReadPre  *.GZ setlocal bin 
au BufRead  *.GZ call gzip#read("gzip -dn") 
au BufWritePost *.GZ call gzip#write("gzip") 
au FileAppendPost *.GZ call gzip#write("gzip") 
au FileAppendPre *.GZ call gzip#appre("gzip -dn") 
au FileReadPost *.GZ call gzip#read("gzip -dn") 
au FileReadPre *.GZ setlocal bin 
au FileWritePost *.GZ call gzip#write("gzip") 
augroup END 

आप को पता है कि पहले से ही autocmds GZ फ़ाइलें आप कर सकते थे के लिए सक्रिय थे चाहते हैं:

:redir @x 
:au 
:redir END 
"xp 
/\.gz 

यह दिखाता है कि gzip से संबंधित autocmds

उत्तर

10

अपने .vimrc में इस रखो gzip समूह में हैं। फिर :au gzip एक और कॉम्पैक्ट सूची देता है।

संदर्भ:

:help :autocmd 
:help :augroup 

मूल autocmds अपने vim क्रम में प्लगइन/gzip.vim में हैं। आप बता सकते हैं कि augroup के बारे में :verbose au gzip

+1

अच्छा विचार के साथ। 'Bin' विकल्प मत भूलना, हालांकि – sehe

+0

@sehe: पूर्ण autocmds की सूची के साथ अद्यतन जवाब (यह भी मौजूदा फ़ाइलों के बिना नई बफ़र्स के लिए, और कैसे अपने आप को सूची प्राप्त करने के लिए) – Benoit

+0

+1 अच्छा काम करते हैं, अच्छा जवाब – sehe