diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 709b847..9a75a95 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 8.1.  Last change: 2019 May 05
+*pi_netrw.txt*  For Vim version 8.1.  Last change: 2019 Jul 17
 
 	    ------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell
@@ -1184,7 +1184,7 @@
 								*.netrwbook*
 Bookmarks are retained in between sessions of vim in a file called .netrwbook
 as a |List|, which is typically stored in the first directory on the user's
-'|runtimepath|'; entries are kept in sorted order.
+'runtimepath'; entries are kept in sorted order.
 
 If there are marked files and/or directories, mb will add them to the bookmark
 list.
@@ -2094,7 +2094,7 @@
 
 However, given the default setting for g:netrw_keepdir of 1 where netrw
 maintains its own separate notion of the current directory, in order to make
-the two directories the same, use the "c" map (just type c).  That map will
+the two directories the same, use the "cd" map (type cd).  That map will
 set Vim's notion of the current directory to netrw's current browsing
 directory.
 
@@ -2739,7 +2739,7 @@
 				=0 : show all
 				=1 : show not-hidden files
 				=2 : show hidden files only
-				 default: =0
+				 default: =1
 
   *g:netrw_home*		The home directory for where bookmarks and
 				history are saved (as .netrwbook and
@@ -2940,14 +2940,23 @@
 
 					netrwBak     : *.bak
 					netrwCompress: *.gz *.bz2 *.Z *.zip
+					netrwCoreDump: core.\d\+
 					netrwData    : *.dat
+					netrwDoc     : *.doc,*.txt,*.pdf,
+					               *.pdf,*.docx
 					netrwHdr     : *.h
+					netrwLex     : *.l *.lex
 					netrwLib     : *.a *.so *.lib *.dll
 					netrwMakefile: [mM]akefile *.mak
 					netrwObj     : *.o *.obj
+					netrwPix     : *.bmp,*.fit,*.fits,*.gif,
+					               *.jpg,*.jpeg,*.pcx,*.ppc
+					               *.pgm,*.png,*.psd,*.rgb
+					               *.tif,*.xbm,*.xcf
 					netrwTags    : tags ANmenu ANtags
 					netrwTilde   : *
 					netrwTmp     : tmp* *tmp
+					netrwYacc    : *.y
 
 				In addition, those groups mentioned in
 				|'suffixes'| are also added to the special
@@ -3032,8 +3041,9 @@
 				current netrw buffer's window to be used for
 				the new window.
 				 If g:netrw_winsize is less than zero, then
-				the absolute value of g:netrw_winsize lines
-				or columns will be used for the new window.
+				the absolute value of g:netrw_winsize will be
+				used to specify the quantity of lines or
+				columns for the new window.
 				 If g:netrw_winsize is zero, then a normal
 				split will be made (ie. |'equalalways'| will
 				take effect, for example).
@@ -3371,7 +3381,7 @@
 	(This section is likely to grow as I get feedback)
 	(also see |netrw-debug|)
 								*netrw-p1*
-	P1. I use windows 95, and my ftp dumps four blank lines at the
+	P1. I use windows 95, and my ftp dumps four blank lines at the      {{{2
 	    end of every read.
 
 		See |netrw-fixup|, and put the following into your
@@ -3380,7 +3390,7 @@
 			let g:netrw_win95ftp= 1
 
 								*netrw-p2*
-	P2. I use Windows, and my network browsing with ftp doesn't sort by
+	P2. I use Windows, and my network browsing with ftp doesn't sort by {{{2
 	    time or size!  -or-  The remote system is a Windows server; why
 	    don't I get sorts by time or size?
 
@@ -3407,7 +3417,7 @@
 
 
 								*netrw-p3*
-	P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
+	P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw {{{2
 	    used ssh!  That wasn't what I asked for...
 
 		Netrw has two methods for browsing remote directories: ssh
@@ -3416,7 +3426,7 @@
 		listing), netrw will use the given protocol to do so.
 
 								*netrw-p4*
-	P4. I would like long listings to be the default.
+	P4. I would like long listings to be the default.                   {{{2
 
 		Put the following statement into your |.vimrc|: >
 
@@ -3426,7 +3436,7 @@
 		you can set.
 
 								*netrw-p5*
-	P5. My times come up oddly in local browsing
+	P5. My times come up oddly in local browsing                        {{{2
 
 		Does your system's strftime() accept the "%c" to yield dates
 		such as "Sun Apr 27 11:49:23 1997"?  If not, do a
@@ -3436,7 +3446,7 @@
 			let g:netrw_timefmt= "%X"  (where X is the option)
 <
 								*netrw-p6*
-	P6. I want my current directory to track my browsing.
+	P6. I want my current directory to track my browsing.               {{{2
 	    How do I do that?
 
 	    Put the following line in your |.vimrc|:
@@ -3444,8 +3454,8 @@
 		let g:netrw_keepdir= 0
 <
 								*netrw-p7*
-	P7. I use Chinese (or other non-ascii) characters in my filenames, and
-	    netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
+	P7. I use Chinese (or other non-ascii) characters in my filenames,  {{{2
+	    and netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
 
 		(taken from an answer provided by Wu Yongwei on the vim
 		mailing list)
@@ -3459,7 +3469,7 @@
 		(...it is one more reason to recommend that people use utf-8!)
 
 								*netrw-p8*
-	P8. I'm getting "ssh is not executable on your system" -- what do I
+	P8. I'm getting "ssh is not executable on your system" -- what do I {{{2
 	    do?
 
 		(Dudley Fox) Most people I know use putty for windows ssh.  It
@@ -3502,7 +3512,7 @@
 			- Click "Add..."
 			- Set External Editor (adjust path as needed, include
 			  the quotes and !.! at the end):
-			    "c:\Program Files\Vim\vim81\gvim.exe" !.!
+			    "c:\Program Files\Vim\vim70\gvim.exe" !.!
 			- Check that the filetype in the box below is
 			  {asterisk}.{asterisk} (all files), or whatever types
 			  you want (cec: change {asterisk} to * ; I had to
@@ -3542,7 +3552,7 @@
 		default.
 
 						*netrw-p9* *netrw-ml_get*
-	P9. I'm browsing, changing directory, and bang!  ml_get errors
+	P9. I'm browsing, changing directory, and bang!  ml_get errors      {{{2
 	    appear and I have to kill vim.  Any way around this?
 
 		Normally netrw attempts to avoid writing swapfiles for
@@ -3553,7 +3563,7 @@
 			let g:netrw_use_noswf= 0
 <
 								*netrw-p10*
-	P10. I'm being pestered with "[something] is a directory" and
+	P10. I'm being pestered with "[something] is a directory" and       {{{2
 	     "Press ENTER or type command to continue" prompts...
 
 		The "[something] is a directory" prompt is issued by Vim,
@@ -3564,8 +3574,8 @@
 		your <.vimrc> file.
 
 								*netrw-p11*
-	P11. I want to have two windows; a thin one on the left and my editing
-	     window on the right.  How may I accomplish this?
+	P11. I want to have two windows; a thin one on the left and my      {{{2
+	     editing window on the right.  How may I accomplish this?
 
 	     You probably want netrw running as in a side window.  If so, you
 	     will likely find that ":[N]Lexplore" does what you want.  The
@@ -3590,7 +3600,7 @@
 
 
 								*netrw-p12*
-	P12. My directory isn't sorting correctly, or unwanted letters are
+	P12. My directory isn't sorting correctly, or unwanted letters are  {{{2
 	     appearing in the listed filenames, or things aren't lining
 	     up properly in the wide listing, ...
 
@@ -3600,9 +3610,9 @@
 	     You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|.
 
 								*netrw-p13*
-	P13. I'm a Windows + putty + ssh user, and when I attempt to browse,
-	     the directories are missing trailing "/"s so netrw treats them
-	     as file transfers instead of as attempts to browse
+	P13. I'm a Windows + putty + ssh user, and when I attempt to        {{{2
+	     browse, the directories are missing trailing "/"s so netrw treats
+	     them as file transfers instead of as attempts to browse
 	     subdirectories.  How may I fix this?
 
 	     (mikeyao) If you want to use vim via ssh and putty under Windows,
@@ -3621,7 +3631,7 @@
 	    "let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
 <
 								*netrw-p14*
-	P14. I would like to speed up writes using Nwrite and scp/ssh
+	P14. I would like to speed up writes using Nwrite and scp/ssh       {{{2
 	     style connections.  How?  (Thomer M. Gil)
 
 	     Try using ssh's ControlMaster and ControlPath (see the ssh_config
@@ -3648,8 +3658,8 @@
 		vim scp://host.domain.com//home/user/.bashrc
 <
 								*netrw-p15*
-	P15. How may I use a double-click instead of netrw's usual single click
-	     to open a file or directory?  (Ben Fritz)
+	P15. How may I use a double-click instead of netrw's usual single   {{{2
+	     click to open a file or directory?  (Ben Fritz)
 
 	     First, disable netrw's mapping with >
 		    let g:netrw_mousemaps= 0
@@ -3661,7 +3671,7 @@
 	     (see |g:netrw_mousemaps|)
 
 								*netrw-p16*
-	P16. When editing remote files (ex. :e ftp://hostname/path/file),
+	P16. When editing remote files (ex. :e ftp://hostname/path/file),   {{{2
 	     under Windows I get an |E303| message complaining that its unable
 	     to open a swap file.
 
@@ -3670,7 +3680,7 @@
 	     directory.
 
 								*netrw-p17*
-	P17. Netrw is closing buffers on its own.
+	P17. Netrw is closing buffers on its own.                           {{{2
 	     What steps will reproduce the problem?
 		1. :Explore, navigate directories, open a file
 		2. :Explore, open another file
@@ -3684,14 +3694,14 @@
 		    a ":ls!" will show them (although ":ls" does not).
 
 								*netrw-P18*
-	P18. How to locally edit a file that's only available via
+	P18. How to locally edit a file that's only available via           {{{2
 	     another server accessible via ssh?
 	     See http://stackoverflow.com/questions/12469645/
 	     "Using Vim to Remotely Edit A File on ServerB Only
 	      Accessible From ServerA"
 
 								*netrw-P19*
-	P19. How do I get numbering on in directory listings?
+	P19. How do I get numbering on in directory listings?               {{{2
 		With |g:netrw_bufsettings|, you can control netrw's buffer
 		settings; try putting >
 		  let g:netrw_bufsettings="noma nomod nu nobl nowrap ro nornu"
@@ -3700,7 +3710,7 @@
 		  let g:netrw_bufsettings="noma nomod nonu nobl nowrap ro rnu"
 <
 								*netrw-P20*
-	P20. How may I have gvim start up showing a directory listing?
+	P20. How may I have gvim start up showing a directory listing?      {{{2
 		Try putting the following code snippet into your .vimrc: >
 		    augroup VimStartup
 		      au!
@@ -3713,8 +3723,8 @@
 		(ie. a "huge" vim version).
 
 								*netrw-P21*
-	P21. I've made a directory (or file) with an accented character, but
-		netrw isn't letting me enter that directory/read that file:
+	P21. I've made a directory (or file) with an accented character,    {{{2
+		but netrw isn't letting me enter that directory/read that file:
 
 		Its likely that the shell or o/s is using a different encoding
 		than you have vim (netrw) using.  A patch to vim supporting
@@ -3724,7 +3734,7 @@
 			au FileType netrw set enc=latin1
 <
 								*netrw-P22*
-	P22. I get an error message when I try to copy or move a file:
+	P22. I get an error message when I try to copy or move a file:      {{{2
 
 		**error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!
 
@@ -3752,8 +3762,8 @@
 
 The <netrw.vim> script is typically installed on systems as something like:
 >
-	/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
-	/usr/local/share/vim/vim8x/autoload/netrw.vim
+	/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
+	/usr/local/share/vim/vim7x/autoload/netrw.vim
 		(see output of :echo &rtp)
 <
 which is loaded automatically at startup (assuming :set nocp).  If you
@@ -3832,6 +3842,16 @@
 ==============================================================================
 12. History						*netrw-history* {{{1
 
+	v163:	Dec 05, 2017	* (Cristi Balan) reported that a setting ('sel')
+				  was left changed
+				* (Holger Mitschke) reported a problem with
+				  saving and restoring history.  Fixed.
+				* Hopefully I fixed a nasty bug that caused a
+				  file rename to wipe out a buffer that it
+				  should not have wiped out.
+				* (Holger Mitschke) amended this help file
+				  with additional |g:netrw_special_syntax|
+				  items
 	v162:	Sep 19, 2016	* (haya14busa) pointed out two syntax errors
 				  with a patch; these are now fixed.
 		Oct 26, 2016	* I started using mate-terminal and found that
