vim proj.dia
fornece dados binários.
Se renomeado, o vim o abre descompactando:
$ mv proj.dia proj.dia.gz
$ vim proj.dia.gz
Como fazer com que o .dia
ato seja o mesmo .gz
?
fonte
vim proj.dia
fornece dados binários.
Se renomeado, o vim o abre descompactando:
$ mv proj.dia proj.dia.gz
$ vim proj.dia.gz
Como fazer com que o .dia
ato seja o mesmo .gz
?
Se olharmos /usr/share/vim/vim80/plugin/gzip.vim
, podemos ver como o plugin faz isso:
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
Existem outras extensões de arquivo aqui também (bzip2, xz etc.), mas as removi por uma questão de brevidade.
Para adicionar seus próprios comandos a isso, você pode adicioná-lo ao seu arquivo 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
Precisamos adicionar a -S .dia
opção para gzip
ler e gravar *.dia
arquivos, em vez de *.gz
arquivos. O mais próximo possível das plataformas mais comuns (Linux, {Free, Open} BSD, OSX) é compatível com essa opção, mas algumas não são (nesse caso, você precisará escrever um script de wrapper para mover o arquivo antes de descompactar e depois compressão).