1

出于调试目的,我从服务器/客户端嗅探了一些请求和响应。压缩已启用,因此响应以 gzip 格式发送。我知道可能我可以禁用mod_deflate,但是......出于好奇,有没有办法直接在 vim 中解压缩 gzipped 响应?

下面是一个响应示例:

HTTP/1.1 200 OK
Date: Tue, 09 Jul 2013 08:00:18 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.19
Content-Disposition: inline; filename="combo"
Last-Modified: Tue, 09 Jul 2013 08:00:18 GMT
Expires: Tue, 09 Jul 2013 08:00:20 GMT
Pragma: 
Accept-Ranges: none
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 209
Keep-Alive: timeout=15, max=79
Connection: Keep-Alive
Content-Type: text/css

^_<8b>^H^@^@^@^@^@^@^C<94><8f>Í^N<82>0^P<84>ï>E^SÏ%^H)<87>öiJ»@cm<9b>º <84>øîò#ê^Ac<ìafvçË&JZpZF
^]8¤A:°d,¥:×Ñ·NSå­<8f>üX^T<85>(}Ô^Py^VzrõÖhòáÒ<9b>ÑØp<92><92>9<9e>'^U÷C²[<9f>^L­É©ï Z9L^@<87>S¶^G­ªj<83><9e>ÞPÆ<98>¸ÈX^[GÑ^GNYè7m¡ÂÕø<8f>Ýdɲ<84>^F-<90>qmãùÄdë7"H­<8d>«y*^Pz¤Ò<9a>Úq5<9d>@üÎZÄë¿g+ûÕö^@^@^@ÿÿ^C^@d«^X^^<94>^A^@^@

我想选择 gzipped 文本部分并即时解压缩(也许在其上运行终端命令?类似于:!sort对行进行排序......)

4

1 回答 1

2

选择压缩后的文本部分(或提供范围,例如:/^$\n\zs/,$)。然后,您可以通过外部gunzip命令(自然必须安装且可访问)通过管道将其解压缩:

:!gunzip -

当我测试这个时,缓冲区必须在'binary'mode:中打开:edit ++bin filename。另外,我得到gzip: stdin: unexpected end of file了解压后的内容,但这可能是可以容忍的。

于 2013-07-09T08:51:28.777 回答