| 
									
										
										
										
											2022-06-28 13:44:46 +01:00
										 |  |  | *pi_zip.txt*	For Vim version 9.0.  Last change: 2021 Nov 08 | 
					
						
							| 
									
										
										
										
											2006-03-24 22:21:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-04-05 20:41:53 +00:00
										 |  |  | 				+====================+ | 
					
						
							|  |  |  | 				| Zip File Interface | | 
					
						
							|  |  |  | 				+====================+ | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-09 21:46:04 +01:00
										 |  |  | Author:  Charles E. Campbell  <NcampObell@SdrPchip.AorgM-NOSPAM> | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | 	  (remove NOSPAM from Campbell's email first) | 
					
						
							| 
									
										
										
										
											2016-09-16 20:02:31 +02:00
										 |  |  | Copyright: Copyright (C) 2005-2015 Charles E Campbell	 *zip-copyright* | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  | 	The VIM LICENSE (see |copyright|) applies to the files in this | 
					
						
							|  |  |  | 	package, including zipPlugin.vim, zip.vim, and pi_zip.vim.  except use | 
					
						
							|  |  |  | 	"zip.vim" instead of "VIM".  Like anything else that's free, zip.vim | 
					
						
							|  |  |  | 	and its associated files are provided *as is* and comes with no | 
					
						
							|  |  |  | 	warranty of any kind, either expressed or implied.  No guarantees of | 
					
						
							|  |  |  | 	merchantability.  No guarantees of suitability for any purpose.  By | 
					
						
							|  |  |  | 	using this plugin, you agree that in no event will the copyright | 
					
						
							|  |  |  | 	holder be liable for any damages resulting from the use of this | 
					
						
							|  |  |  | 	software. Use at your own risk! | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							| 
									
										
										
										
											2011-06-19 05:09:16 +02:00
										 |  |  | 1. Contents						*zip* *zip-contents* | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    1. Contents................................................|zip-contents| | 
					
						
							|  |  |  |    2. Usage...................................................|zip-usage| | 
					
						
							|  |  |  |    3. Additional Extensions...................................|zip-extension| | 
					
						
							|  |  |  |    4. History.................................................|zip-history| | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							| 
									
										
										
										
											2011-06-19 05:09:16 +02:00
										 |  |  | 2. Usage						*zip-usage* *zip-manual* | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    When one edits a *.zip file, this plugin will handle displaying a | 
					
						
							|  |  |  |    contents page.  Select a file to edit by moving the cursor atop | 
					
						
							|  |  |  |    the desired file, then hit the <return> key.  After editing, one may | 
					
						
							|  |  |  |    also write to the file.  Currently, one may not make a new file in | 
					
						
							|  |  |  |    zip archives via the plugin. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-09 21:46:04 +01:00
										 |  |  |    COMMANDS~ | 
					
						
							| 
									
										
										
										
											2016-09-16 20:02:31 +02:00
										 |  |  | 								*zip-x* | 
					
						
							| 
									
										
										
										
											2020-01-09 21:46:04 +01:00
										 |  |  |    x : extract a listed file when the cursor is atop it | 
					
						
							| 
									
										
										
										
											2016-09-16 20:02:31 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-09 21:46:04 +01:00
										 |  |  |    OPTIONS~ | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    							*g:zip_nomax* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If this variable exists and is true, the file window will not be | 
					
						
							|  |  |  |    automatically maximized when opened. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 							*g:zip_shq* | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    Different operating systems may use one or more shells to execute | 
					
						
							|  |  |  |    commands.  Zip will try to guess the correct quoting mechanism to | 
					
						
							|  |  |  |    allow spaces and whatnot in filenames; however, if it is incorrectly | 
					
						
							|  |  |  |    guessing the quote to use for your setup, you may use > | 
					
						
							|  |  |  | 	g:zip_shq | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  | <  which by default is a single quote under Unix (') and a double quote | 
					
						
							|  |  |  |    under Windows (").  If you'd rather have no quotes, simply set | 
					
						
							|  |  |  |    g:zip_shq to the empty string (let g:zip_shq= "") in your <.vimrc>. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    							*g:zip_unzipcmd* | 
					
						
							|  |  |  |    Use this option to specify the program which does the duty of "unzip". | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  |    It's used during browsing. By default: > | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    	let g:zip_unzipcmd= "unzip" | 
					
						
							|  |  |  | < | 
					
						
							|  |  |  | 							*g:zip_zipcmd* | 
					
						
							|  |  |  |    Use this option to specify the program which does the duty of "zip". | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  |    It's used during the writing (updating) of a file already in a zip | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    file; by default: > | 
					
						
							|  |  |  |    	let g:zip_zipcmd= "zip" | 
					
						
							| 
									
										
										
										
											2016-09-16 20:02:31 +02:00
										 |  |  | < | 
					
						
							|  |  |  | 							*g:zip_extractcmd* | 
					
						
							|  |  |  |    This option specifies the program (and any options needed) used to | 
					
						
							|  |  |  |    extract a file from a zip archive.  By default, > | 
					
						
							|  |  |  |    	let g:zip_extractcmd= g:zip_unzipcmd | 
					
						
							| 
									
										
										
										
											2010-05-14 23:24:24 +02:00
										 |  |  | < | 
					
						
							|  |  |  |    PREVENTING LOADING~ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    If for some reason you do not wish to use vim to examine zipped files, | 
					
						
							|  |  |  |    you may put the following two variables into your <.vimrc> to prevent | 
					
						
							| 
									
										
										
										
											2010-09-19 19:01:21 +02:00
										 |  |  |    the zip plugin from loading: > | 
					
						
							| 
									
										
										
										
											2010-05-14 23:24:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	let g:loaded_zipPlugin= 1 | 
					
						
							|  |  |  | 	let g:loaded_zip      = 1 | 
					
						
							|  |  |  | < | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							|  |  |  | 3. Additional Extensions					*zip-extension* | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |    Apparently there are a number of archivers which generate zip files that | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    don't use the .zip extension (.jar, .xpi, etc).  To handle such files, | 
					
						
							|  |  |  |    place a line in your <.vimrc> file: > | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	au BufReadCmd *.jar,*.xpi call zip#Browse(expand("<amatch>")) | 
					
						
							|  |  |  | < | 
					
						
							| 
									
										
										
										
											2008-07-13 17:41:49 +00:00
										 |  |  |    One can simply extend this line to accommodate additional extensions that | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  |    should be treated as zip files. | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-16 20:02:31 +02:00
										 |  |  |    Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc. | 
					
						
							|  |  |  |    Currently (11/30/15) it holds: > | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	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' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | ============================================================================== | 
					
						
							| 
									
										
										
										
											2011-06-19 05:09:16 +02:00
										 |  |  | 4. History							*zip-history* {{{1 | 
					
						
							| 
									
										
										
										
											2021-11-16 19:18:26 +00:00
										 |  |  |    v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has | 
					
						
							|  |  |  |    		      been changed to zipfile:// . This often shows up | 
					
						
							|  |  |  | 		      as zipfile:/// with zipped files that are root-based. | 
					
						
							| 
									
										
										
										
											2020-01-09 21:46:04 +01:00
										 |  |  |    v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could | 
					
						
							|  |  |  |    		      opened but the swapfile held unencrypted contents. | 
					
						
							|  |  |  | 		      The solution is to edit the contents of a zip file | 
					
						
							|  |  |  | 		      using the |:noswapfile| modifier. | 
					
						
							| 
									
										
										
										
											2016-09-16 20:02:31 +02:00
										 |  |  |    v28 Oct 08, 2014 * changed the sanity checks for executables to reflect | 
					
						
							|  |  |  |    		      the command actually to be attempted in zip#Read() | 
					
						
							|  |  |  | 		      and zip#Write() | 
					
						
							|  |  |  | 		    * added the extraction of a file capability | 
					
						
							|  |  |  |        Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list | 
					
						
							|  |  |  |        Sep 13, 2016 * added *.apk to the |g:zipPlugin_ext| list and | 
					
						
							|  |  |  | 		      sorted the suffices. | 
					
						
							|  |  |  |    v27 Jul 02, 2013 * sanity check: zipfile must have "PK" as its first | 
					
						
							|  |  |  | 		      two bytes. | 
					
						
							|  |  |  | 		    * modified to allow zipfile: entries in quickfix lists | 
					
						
							| 
									
										
										
										
											2013-04-24 18:51:19 +02:00
										 |  |  |    v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that | 
					
						
							|  |  |  | 		      are synonyms for .zip | 
					
						
							| 
									
										
										
										
											2012-01-20 21:08:56 +01:00
										 |  |  |    v25 Jun 27, 2011 * using keepj with unzip -Z | 
					
						
							|  |  |  | 		      (consistent with the -p variant) | 
					
						
							| 
									
										
										
										
											2013-04-24 18:51:19 +02:00
										 |  |  | 		    * (Ben Staniford) now uses | 
					
						
							|  |  |  | 			has("win32unix") && executable("cygpath") | 
					
						
							|  |  |  | 		      before converting to cygwin-style paths | 
					
						
							| 
									
										
										
										
											2011-06-19 05:09:16 +02:00
										 |  |  |    v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames | 
					
						
							|  |  |  | 		      fnameescape'd as well as shellquote'd | 
					
						
							|  |  |  | 		    * (Motoya Kurotsu) inserted keepj before 0d to protect | 
					
						
							|  |  |  | 		      jump list | 
					
						
							| 
									
										
										
										
											2008-06-24 21:16:56 +00:00
										 |  |  |    v17 May 09, 2008 * arno caught a security bug | 
					
						
							|  |  |  |    v15 Sep 07, 2007 * &shq now used if not the empty string for g:zip_shq | 
					
						
							| 
									
										
										
										
											2007-05-10 17:35:54 +00:00
										 |  |  |    v14 May 07, 2007 * using b:zipfile instead of w:zipfile to avoid problem | 
					
						
							|  |  |  |                       when editing alternate file to bring up a zipfile | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |    v10 May 02, 2006 * now using "redraw then echo" to show messages, instead | 
					
						
							|  |  |  |                       of "echo and prompt user" | 
					
						
							|  |  |  | 		    * g:zip_shq provided to allow for quoting control for the | 
					
						
							|  |  |  | 		      command being passed via :r! ... commands. | 
					
						
							| 
									
										
										
										
											2006-04-11 21:38:50 +00:00
										 |  |  |    v8 Apr 10, 2006 * Bram Moolenaar reported that he received an error message | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |                      due to "Pattern not found: ^.*\%0c"; this was caused by | 
					
						
							| 
									
										
										
										
											2006-04-11 21:38:50 +00:00
										 |  |  | 		     stridx finding a Name... at the beginning of the line; | 
					
						
							|  |  |  | 		     zip.vim tried 4,$s/^.*\%0c//, but that doesn't work. | 
					
						
							|  |  |  | 		     Fixed. | 
					
						
							| 
									
										
										
										
											2006-03-23 22:47:08 +00:00
										 |  |  |    v7 Mar 22, 2006 * escaped some characters that can cause filename handling | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |                      problems. | 
					
						
							| 
									
										
										
										
											2005-12-29 22:45:34 +00:00
										 |  |  |    v6 Dec 21, 2005 * writing to files not in directories caused problems - | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |                      fixed (pointed out by Christian Robinson) | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  |    v5 Nov 22, 2005 * report option workaround installed | 
					
						
							|  |  |  |    v3 Oct 18, 2005 * <amatch> used instead of <afile> in autocmds | 
					
						
							|  |  |  |    v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt) | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |                    * began testing under Windows; works thus far | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  | 		   * filetype detection fixed | 
					
						
							|  |  |  |       Nov 03, 2005 * handles writing zipfiles across a network using | 
					
						
							| 
									
										
										
										
											2007-05-05 17:54:07 +00:00
										 |  |  |                      netrw#NetWrite() | 
					
						
							| 
									
										
										
										
											2005-11-28 22:58:23 +00:00
										 |  |  |    v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ============================================================================== | 
					
						
							| 
									
										
										
										
											2020-10-26 21:12:46 +01:00
										 |  |  | vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker |