回答:
見てみると/usr/share/vim/vim80/plugin/gzip.vim、プラグインがこれをどのように行うかがわかります。
augroup gzip
  " Remove all gzip autocommands
  au!
  " Enable editing of gzipped files.
  " The functions are defined in autoload/gzip.vim.
  "
  " Set binary mode before reading the file.
  " Use "gzip -d", gunzip isn't always available.
  autocmd BufReadPre,FileReadPre      *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz setlocal bin
  autocmd BufReadPost,FileReadPost    *.gz  call gzip#read("gzip -dn")
  autocmd BufWritePost,FileWritePost  *.gz  call gzip#write("gzip")
  autocmd FileAppendPre               *.gz  call gzip#appre("gzip -dn")
  autocmd FileAppendPost              *.gz  call gzip#write("gzip")
augroup END
ここにも他のファイル拡張子(bzip2、xzなど)がありますが、簡潔にするために削除しました。
これに独自のコマンドを追加するには、これをvimrcファイルに追加します。
augroup gzip_local
    autocmd!
    autocmd BufReadPre,FileReadPre     *.dia setlocal bin
    autocmd BufReadPost,FileReadPost   *.dia call gzip#read("gzip -dn -S .dia")
    autocmd BufWritePost,FileWritePost *.dia call gzip#write("gzip -S .dia")
    autocmd FileAppendPre              *.dia call gzip#appre("gzip -dn -S .dia")
    autocmd FileAppendPost             *.dia call gzip#write("gzip -S .dia")
augroup END
ファイルではなく、ファイルを読み書き-S .diaするためのオプションを追加する必要があります。ほとんどの一般的なプラットフォーム(Linux、{Free、Open} BSD、OSX)がこのオプションをサポートしているのを確認できるのと同じくらいですが、一部はサポートしていない場合があります(その場合、解凍前と解凍後にファイルを移動するラッパースクリプトを記述する必要があります。圧縮)。gzip*.dia*.gz