Pi_zip

Nvim 的 :help 頁面,由 原始碼 使用 tree-sitter-vimdoc 解析器 產生


+====================+ | Zip 檔案介面 | +====================+
作者:Charles E. Campbell <[email protected]> (先移除 Campbell 電子郵件中的 NOSPAM) 版權:Copyright (C) 2005-2015 Charles E Campbell。VIM 授權 (請參閱 copyright) 適用於此套件中的檔案,包括 zipPlugin.vim、zip.vim 和 pi_zip.vim。除了使用 "zip.vim" 而非 "VIM"。如同任何免費的東西,zip.vim 及其相關檔案均按原樣提供,不提供任何明示或暗示的擔保。不保證適銷性。不保證適用於任何目的。使用此插件即表示您同意,在任何情況下,版權持有人均不對因使用此軟體而造成的任何損害負責。使用風險自負!

1. 內容 zip zip-contents

1. 內容................................................|zip-contents| 2. 用法...................................................|zip-usage| 3. 其他擴充...............................................|zip-extension| 4. 歷史.................................................|zip-history|
當編輯 *.zip 檔案時,此插件將處理顯示內容頁面。選擇要編輯的檔案,將游標移至所需的檔案上方,然後按下 <return> 鍵。編輯後,也可以寫入檔案。目前,無法透過此插件在 zip 壓縮檔中建立新檔案。
指令~ zip-x
x : 當游標位於清單中的檔案上方時,提取該檔案
選項~
如果此變數存在且為 true,則檔案視窗在開啟時不會自動最大化。
g:zip_shq
不同的作業系統可能會使用一個或多個 shell 來執行指令。Zip 將嘗試猜測正確的引號機制,以允許檔案名稱中包含空格等;但是,如果它錯誤地猜測了適用於您設定的引號,您可以使用
g:zip_shq
預設情況下,在 Unix 下是單引號 ('),在 Windows 下是雙引號 (")。如果您寧願不使用引號,只需在您的 <.vimrc> 中將 g:zip_shq 設定為空字串 (let g:zip_shq= "") 即可。
g:zip_unzipcmd
使用此選項指定執行 "unzip" 功能的程式。它在瀏覽期間使用。預設情況下
let g:zip_unzipcmd= "unzip"
g:zip_zipcmd
使用此選項指定執行 "zip" 功能的程式。它用於寫入(更新)zip 檔案中已有的檔案;預設情況下
let g:zip_zipcmd= "zip"
g:zip_extractcmd
此選項指定用於從 zip 壓縮檔中提取檔案的程式(以及所需的任何選項)。預設情況下,
let g:zip_extractcmd= g:zip_unzipcmd
g:zip_exec
為了安全起見,可以防止 Vim 在開啟緩衝區時自動執行可執行檔。此選項(預設值:"1")可用於防止在設定為 "0" 時執行 "unzip" 指令
let g:zip_exec=0
防止載入~
如果由於某些原因您不希望使用 vim 來檢查 zip 檔案,您可以將以下兩個變數放入您的 <.vimrc> 中,以防止載入 zip 插件
let g:loaded_zipPlugin= 1
let g:loaded_zip      = 1

3. 其他擴充 zip-extension

顯然,有許多壓縮程式會產生不使用 .zip 副檔名的 zip 檔案 (.jar、.xpi 等)。若要處理此類檔案,請在您的 <.vimrc> 檔案中加入一行
au BufReadCmd *.jar,*.xpi call zip#Browse(expand("<amatch>"))
可以簡單地擴充此行,以容納應視為 zip 檔案的其他副檔名。
或者,也可以在 .vimrc 中變更 g:zipPlugin_ext。目前 (2015/11/30) 它包含
 let g:zipPlugin_ext= '*.zip,*.jar,*.xpi,*.ja,*.war,*.ear,*.celzip,
\ *.oxt,*.kmz,*.wsz,*.xap,*.docx,*.docm,*.dotx,*.dotm,*.potx,*.potm,
\ *.ppsx,*.ppsm,*.pptx,*.pptm,*.ppam,*.sldx,*.thmx,*.xlam,*.xlsx,*.xlsm,
\ *.xlsb,*.xltx,*.xltm,*.xlam,*.crtx,*.vdw,*.glox,*.gcsx,*.gqsx,*.epub'

4. 歷史 zip-history {{{1

v33 2021 年 12 月 07 日 * *.xlam 在 zipPlugin 中被提及兩次 v32 2021 年 10 月 22 日 * 為了避免 vim 8.2 修補程式的問題,zipfile: 已變更為 zipfile:// 。這通常在以根為基礎的 zip 檔案中顯示為 zipfile:/// 。v29 2017 年 4 月 02 日 * (Klartext) 回報說可以開啟加密的 zip 檔案,但交換檔會保留未加密的內容。解決方案是使用 :noswapfile 修飾符編輯 zip 檔案的內容。v28 2014 年 10 月 08 日 * 已變更可執行檔的健全性檢查,以反映 zip#Read() 和 zip#Write() 中實際嘗試的指令 * 新增了提取檔案的功能 2015 年 11 月 30 日 * 將 *.epub 新增至 g:zipPlugin_ext 清單 2016 年 9 月 13 日 * 將 *.apk 新增至 g:zipPlugin_ext 清單並排序後綴。v27 2013 年 7 月 02 日 * 健全性檢查:zipfile 的前兩個位元組必須是 "PK"。 * 修改為允許 quickfix 清單中的 zipfile: 項目 v26 2012 年 11 月 15 日 * (Jason Spiro) 提供了許多與 .zip 同義的新副檔名 v25 2011 年 6 月 27 日 * 使用 keepj 和 unzip -Z(與 -p 變體一致) * (Ben Staniford) 現在在轉換為 cygwin 風格的路徑之前,會先使用 has("win32unix") && executable("cygpath") v24 2010 年 6 月 21 日 * (Cédric Bosdonnat) unzip 似乎也需要 fnameescape 和 shellquote 的檔案名稱 * (Motoya Kurotsu) 在 0d 之前插入 keepj,以保護跳躍清單 v17 2008 年 5 月 09 日 * arno 發現了一個安全漏洞 v15 2007 年 9 月 07 日 * 如果 g:zip_shq 不是空字串,則現在會使用 &shq v14 2007 年 5 月 07 日 * 使用 b:zipfile 而非 w:zipfile,以避免在編輯替代檔案以調出 zip 檔案時出現問題 v10 2006 年 5 月 02 日 * 現在使用「redraw then echo」來顯示訊息,而不是「echo 和提示使用者」 * 提供 g:zip_shq 以允許控制透過 :r! ... 指令傳遞的指令的引號。v8 2006 年 4 月 10 日 * Bram Moolenaar 回報說,由於 "Pattern not found: ^.*\%0c" 而收到錯誤訊息;這是由於 stridx 在行首找到 Name... 所致;zip.vim 嘗試了 4,$s/^.*\%0c//,但這無效。已修正。v7 2006 年 3 月 22 日 * 跳脫了一些可能導致檔案名稱處理問題的字元。v6 2005 年 12 月 21 日 * 寫入不在目錄中的檔案會造成問題 - 已修正 (Christian Robinson 指出) v5 2005 年 11 月 22 日 * 安裝了報告選項的解決方法 v3 2005 年 10 月 18 日 * 在自動指令中使用 <amatch> 而非 <afile> v2 2005 年 9 月 16 日 * 靜音了一些指令 (避免按下 Enter 提示) * 開始在 Windows 下測試;目前為止運作正常 * 已修正檔案類型偵測 2005 年 11 月 03 日 * 使用 netrw#NetWrite() 處理透過網路寫入 zip 檔案 v1 2005 年 9 月 15 日 * 初始版本,具有瀏覽、讀取和寫入功能
主要
指令索引
快速參考