1" Vim plugin for editing compressed files.
2" Maintainer: Bram Moolenaar <Bram@vim.org>
3" Last Change: 2010 Mar 10
4
5" Exit quickly when:
6" - this plugin was already loaded
7" - when 'compatible' is set
8" - some autocommands are already taking care of compressed files
9if exists("loaded_gzip") || &cp || exists("#BufReadPre#*.gz")
10  finish
11endif
12let loaded_gzip = 1
13
14augroup gzip
15  " Remove all gzip autocommands
16  au!
17
18  " Enable editing of gzipped files.
19  " The functions are defined in autoload/gzip.vim.
20  "
21  " Set binary mode before reading the file.
22  " Use "gzip -d", gunzip isn't always available.
23  autocmd BufReadPre,FileReadPre	*.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin
24  autocmd BufReadPost,FileReadPost	*.gz  call gzip#read("gzip -dn")
25  autocmd BufReadPost,FileReadPost	*.bz2 call gzip#read("bzip2 -d")
26  autocmd BufReadPost,FileReadPost	*.Z   call gzip#read("uncompress")
27  autocmd BufReadPost,FileReadPost	*.lzma call gzip#read("lzma -d")
28  autocmd BufReadPost,FileReadPost	*.xz  call gzip#read("xz -d")
29  autocmd BufWritePost,FileWritePost	*.gz  call gzip#write("gzip")
30  autocmd BufWritePost,FileWritePost	*.bz2 call gzip#write("bzip2")
31  autocmd BufWritePost,FileWritePost	*.Z   call gzip#write("compress -f")
32  autocmd BufWritePost,FileWritePost	*.lzma call gzip#write("lzma -z")
33  autocmd BufWritePost,FileWritePost	*.xz  call gzip#write("xz -z")
34  autocmd FileAppendPre			*.gz  call gzip#appre("gzip -dn")
35  autocmd FileAppendPre			*.bz2 call gzip#appre("bzip2 -d")
36  autocmd FileAppendPre			*.Z   call gzip#appre("uncompress")
37  autocmd FileAppendPre			*.lzma call gzip#appre("lzma -d")
38  autocmd FileAppendPre			*.xz   call gzip#appre("xz -d")
39  autocmd FileAppendPost		*.gz  call gzip#write("gzip")
40  autocmd FileAppendPost		*.bz2 call gzip#write("bzip2")
41  autocmd FileAppendPost		*.Z   call gzip#write("compress -f")
42  autocmd FileAppendPost		*.lzma call gzip#write("lzma -z")
43  autocmd FileAppendPost		*.xz call gzip#write("xz -z")
44augroup END
45