edef149537a21d5a305c4502dcaeefe99e69e9b2
[MacVim.git] / runtime / plugin / gzip.vim
blobedef149537a21d5a305c4502dcaeefe99e69e9b2
1 " Vim plugin for editing compressed files.
2 " Maintainer: Bram Moolenaar <Bram@vim.org>
3 " Last Change: 2010 Mar 10
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
9 if exists("loaded_gzip") || &cp || exists("#BufReadPre#*.gz")
10   finish
11 endif
12 let loaded_gzip = 1
14 augroup gzip
15   " Remove all gzip autocommands
16   au!
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")
44 augroup END