Vim tự động mở rộng .gz
tệp khi tôi mở chúng, điều này thật tuyệt. Tuy nhiên, nó không nhận dạng được .GZ
(chữ hoa) theo cách tương tự. Rất tiếc, tôi không thể thay đổi phần mở rộng của các tệp mà tôi đang làm việc vì nhiều lý do khác nhau. Có một cách thực sự đơn giản để đăng ký với VIM rằng .GZ
giống với .gz
tệp không?VIM có thể giải nén tự động các tệp gzip với phần mở rộng tệp khác không?
8
A
Trả lời
10
Đặt này vào vimrc của bạn:
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
Nếu bạn muốn biết những gì autocmds đã được kích hoạt cho các tập tin gz bạn có thể làm:
:redir @x
:au
:redir END
"xp
/\.gz
Điều này cho thấy autocmds gzip liên quan đang ở trong nhóm gzip. Sau đó, :au gzip
cung cấp danh sách nhỏ gọn hơn.
tham khảo:
:help :autocmd
:help :augroup
autocmds gốc là trong plugin/gzip.vim trong thời gian chạy vim của bạn. Bạn có thể biết điều đó với :verbose au gzip
ý tưởng hay về augroup. Đừng quên tùy chọn 'bin', mặc dù – sehe
@sehe: câu trả lời được cập nhật với danh sách đầy đủ các autocmds (cho các bộ đệm mới mà không có các tệp hiện có, và cách tự lấy danh sách) – Benoit
+1 công việc tốt, câu trả lời tốt – sehe