diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 0a25f2d..56825de 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -339,10 +339,8 @@
     )
 
 Netrw provides a lot of variables which allow you to customize netrw to your
-preferences.  One way to look at them is via the command :NetrwSettings (see
-|netrw-settings|) which will display your current netrw settings.  Most such
-settings are described below, in |netrw-browser-options|, and in
-|netrw-externapp|:
+preferences.  Most such settings are described below, in
+|netrw-browser-options|, and in |netrw-externapp|:
 
  *b:netrw_lastfile*	last file Network-read/written retained on a
 			per-buffer basis (supports plain :Nw )
@@ -765,9 +763,6 @@
 		strings (ie. "").
 		(related: |netrw-userpass|)
 
-:NetrwSettings  This command is described in |netrw-settings| -- used to
-		display netrw settings and change netrw behavior.
-
 
 ==============================================================================
 8. Variables and Options		*netrw-var* *netrw-settings* {{{1
@@ -1125,7 +1120,6 @@
 
 				*netrw-quickcom* *netrw-quickcoms*
 QUICK REFERENCE: COMMANDS	*netrw-explore-cmds* *netrw-browse-cmds* {{{2
-     :NetrwSettings............................................|netrw-settings|
      :Ntree....................................................|netrw-ntree|
      :Explore[!]  [dir] Explore directory of current file......|netrw-explore|
      :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
@@ -2950,17 +2944,6 @@
 autochdir sets the current directory to that containing the "file" (even if
 that "file" is itself a directory).
 
-NETRW SETTINGS WINDOW				*netrw-settings-window* {{{2
-
-With the NetrwSettings.vim plugin, >
-	:NetrwSettings
-will bring up a window with the many variables that netrw uses for its
-settings.  You may change any of their values; when you save the file, the
-settings therein will be used.  One may also press "?" on any of the lines for
-help on what each of the variables do.
-
-(also see: |netrw-browser-var| |netrw-protocol| |netrw-variables|)
-
 
 ==============================================================================
 OBTAINING A FILE					*netrw-obtain* *netrw-O* {{{2
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 30eb991..71a9616 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -9236,7 +9236,6 @@
 netrw-s	pi_netrw.txt	/*netrw-s*
 netrw-s-cr	pi_netrw.txt	/*netrw-s-cr*
 netrw-settings	pi_netrw.txt	/*netrw-settings*
-netrw-settings-window	pi_netrw.txt	/*netrw-settings-window*
 netrw-sexplore	pi_netrw.txt	/*netrw-sexplore*
 netrw-sort	pi_netrw.txt	/*netrw-sort*
 netrw-sort-sequence	pi_netrw.txt	/*netrw-sort-sequence*
diff --git a/runtime/pack/dist/opt/netrw/autoload/netrw.vim b/runtime/pack/dist/opt/netrw/autoload/netrw.vim
index a553c05..e19d4c4 100644
--- a/runtime/pack/dist/opt/netrw/autoload/netrw.vim
+++ b/runtime/pack/dist/opt/netrw/autoload/netrw.vim
@@ -19,7 +19,7 @@
     finish
 endif
 
-let g:loaded_netrw = "v181"
+let g:loaded_netrw = "v183"
 
 if !has("patch-9.1.1054") && !has('nvim')
     echoerr 'netrw needs Vim v9.1.1054'
diff --git a/runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim b/runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim
deleted file mode 100644
index 98e4b52..0000000
--- a/runtime/pack/dist/opt/netrw/autoload/netrwSettings.vim
+++ /dev/null
@@ -1,235 +0,0 @@
-" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
-" Former Maintainer: Charles E Campbell
-" Upstream: <https://github.com/saccarosium/netrw.vim>
-" Copyright:    Copyright (C) 1999-2007 Charles E. Campbell {{{
-"               Permission is hereby granted to use and distribute this code,
-"               with or without modifications, provided that this copyright
-"               notice is copied with it. Like anything else that's free,
-"               netrwSettings.vim is provided *as is* and comes with no
-"               warranty of any kind, either expressed or implied. 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. }}}
-
-if &cp || exists("g:loaded_netrwSettings")
-    finish
-endif
-
-let g:loaded_netrwSettings = "v181"
-
-" NetrwSettings: {{{
-
-function! netrwSettings#NetrwSettings()
-    " this call is here largely just to insure that netrw has been loaded
-    call netrw#WinPath("")
-    if !exists("g:loaded_netrw")
-        echohl WarningMsg
-        echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings"
-        echohl None
-        return
-    endif
-
-    above wincmd s
-    enew
-    setlocal noswapfile bh=wipe
-    set ft=vim
-    file Netrw\ Settings
-
-    " these variables have the following default effects when they don't
-    " exist (ie. have not been set by the user in his/her .vimrc)
-    if !exists("g:netrw_liststyle")
-        let g:netrw_liststyle= 0
-        let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
-    endif
-    if !exists("g:netrw_silent")
-        let g:netrw_silent= 0
-    endif
-    if !exists("g:netrw_use_nt_rcp")
-        let g:netrw_use_nt_rcp= 0
-    endif
-    if !exists("g:netrw_ftp")
-        let g:netrw_ftp= 0
-    endif
-    if !exists("g:netrw_ignorenetrc")
-        let g:netrw_ignorenetrc= 0
-    endif
-
-    put ='+ ---------------------------------------------'
-    put ='+  NetrwSettings:  by Charles E. Campbell'
-    put ='+ Press <F1> with cursor atop any line for help'
-    put ='+ ---------------------------------------------'
-    let s:netrw_settings_stop= line(".")
-
-    put =''
-    put ='+ Netrw Protocol Commands'
-    put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
-    put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
-    put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
-    put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
-    put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
-    put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
-    put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
-    put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
-    put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
-    let s:netrw_protocol_stop= line(".")
-    put = ''
-
-    put ='+Netrw Transfer Control'
-    put = 'let g:netrw_cygwin = '.g:netrw_cygwin
-    put = 'let g:netrw_ftp = '.g:netrw_ftp
-    put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
-    put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
-    put = 'let g:netrw_sshport = '.g:netrw_sshport
-    put = 'let g:netrw_silent = '.g:netrw_silent
-    put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
-    let s:netrw_xfer_stop= line(".")
-    put =''
-    put ='+ Netrw Messages'
-    put ='let g:netrw_use_errorwindow = '.g:netrw_use_errorwindow
-
-    put = ''
-    put ='+ Netrw Browser Control'
-    if exists("g:netrw_altfile")
-        put = 'let g:netrw_altfile = '.g:netrw_altfile
-    else
-        put = 'let g:netrw_altfile = 0'
-    endif
-    put = 'let g:netrw_alto = '.g:netrw_alto
-    put = 'let g:netrw_altv = '.g:netrw_altv
-    put = 'let g:netrw_banner = '.g:netrw_banner
-    if exists("g:netrw_bannerbackslash")
-        put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
-    else
-        put = '\" let g:netrw_bannerbackslash = (not defined)'
-    endif
-    put = 'let g:netrw_browse_split = '.g:netrw_browse_split
-    if exists("g:netrw_browsex_viewer")
-        put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
-    else
-        put = '\" let g:netrw_browsex_viewer = (not defined)'
-    endif
-    put = 'let g:netrw_compress = '.g:netrw_compress
-    if exists("g:Netrw_corehandler")
-        put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
-    else
-        put = '\" let g:Netrw_corehandler = (not defined)'
-    endif
-    put = 'let g:netrw_ctags = '.g:netrw_ctags
-    put = 'let g:netrw_cursor = '.g:netrw_cursor
-    let decompressline= line("$")
-    put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
-    if exists("g:netrw_dynamic_maxfilenamelen")
-        put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
-    else
-        put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
-    endif
-    put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
-    put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
-    let fnameescline= line("$")
-    put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
-    put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
-    put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
-    put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
-    put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
-    let globescline= line("$")
-    put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
-    put = 'let g:netrw_hide = '.g:netrw_hide
-    if exists("g:netrw_home")
-        put = 'let g:netrw_home = '.g:netrw_home
-    else
-        put = '\" let g:netrw_home = (not defined)'
-    endif
-    put = 'let g:netrw_keepdir = '.g:netrw_keepdir
-    put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
-    put = 'let g:netrw_list_hide = '.g:netrw_list_hide
-    put = 'let g:netrw_liststyle = '.g:netrw_liststyle
-    put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
-    put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
-    put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
-    put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
-    put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
-    put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
-    put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
-    put = 'let g:netrw_menu = '.g:netrw_menu
-    put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
-    put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
-    if exists("g:netrw_nobeval")
-        put = 'let g:netrw_nobeval = '.g:netrw_nobeval
-    else
-        put = '\" let g:netrw_nobeval = (not defined)'
-    endif
-    put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
-    put = 'let g:netrw_preview = '.g:netrw_preview
-    put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
-    put = 'let g:netrw_retmap = '.g:netrw_retmap
-    put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
-    put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
-    put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
-    put = 'let g:netrw_sort_by = '.g:netrw_sort_by
-    put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
-    put = 'let g:netrw_sort_options = '.g:netrw_sort_options
-    put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
-    put = 'let g:netrw_servername = '.g:netrw_servername
-    put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
-    put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
-    put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
-    put = 'let g:netrw_scpport = '.g:netrw_scpport
-    put = 'let g:netrw_sepchr = '.g:netrw_sepchr
-    put = 'let g:netrw_sshport = '.g:netrw_sshport
-    put = 'let g:netrw_timefmt = '.g:netrw_timefmt
-    let tmpfileescline= line("$")
-    put ='let g:netrw_tmpfile_escape...'
-    put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
-    put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
-    put = 'let g:netrw_winsize = '.g:netrw_winsize
-
-    put =''
-    put ='+ For help, place cursor on line and press <F1>'
-
-    1d
-    silent %s/^+/"/e
-    res 99
-    silent %s/= \([^0-9].*\)$/= '\1'/e
-    silent %s/= $/= ''/e
-    1
-
-    call setline(decompressline, "let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
-    call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
-    call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
-    call setline(tmpfileescline, "let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
-
-    set nomod
-
-    nmap <buffer> <silent> <F1> :call NetrwSettingHelp()<cr>
-    nnoremap <buffer> <silent> <leftmouse> <leftmouse> :call NetrwSettingHelp()<cr>
-    let tmpfile= tempname()
-    exe 'au BufWriteCmd	Netrw\ Settings	silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
-endfunction
-
-" }}}
-" NetrwSettingHelp: {{{
-
-function! NetrwSettingHelp()
-    let curline = getline(".")
-    if curline =~ '='
-        let varhelp = substitute(curline,'^\s*let ','','e')
-        let varhelp = substitute(varhelp,'\s*=.*$','','e')
-        try
-            exe "he ".varhelp
-        catch /^Vim\%((\a\+)\)\=:E149/
-            echo "***sorry*** no help available for <".varhelp.">"
-        endtry
-    elseif line(".") < s:netrw_settings_stop
-        he netrw-settings
-    elseif line(".") < s:netrw_protocol_stop
-        he netrw-externapp
-    elseif line(".") < s:netrw_xfer_stop
-        he netrw-variables
-    else
-        he netrw-browse-var
-    endif
-endfunction
-
-" }}}
-
-" vim:ts=8 sts=4 sw=4 et fdm=marker
diff --git a/runtime/pack/dist/opt/netrw/doc/netrw.txt b/runtime/pack/dist/opt/netrw/doc/netrw.txt
index 4464bd7..5db2cd8 100644
--- a/runtime/pack/dist/opt/netrw/doc/netrw.txt
+++ b/runtime/pack/dist/opt/netrw/doc/netrw.txt
@@ -339,10 +339,8 @@
     )
 
 Netrw provides a lot of variables which allow you to customize netrw to your
-preferences.  One way to look at them is via the command :NetrwSettings (see
-|netrw-settings|) which will display your current netrw settings.  Most such
-settings are described below, in |netrw-browser-options|, and in
-|netrw-externapp|:
+preferences.  Most such settings are described below, in
+|netrw-browser-options|, and in |netrw-externapp|:
 
  *b:netrw_lastfile*	last file Network-read/written retained on a
 			per-buffer basis (supports plain :Nw )
@@ -765,9 +763,6 @@
 		strings (ie. "").
 		(related: |netrw-userpass|)
 
-:NetrwSettings  This command is described in |netrw-settings| -- used to
-		display netrw settings and change netrw behavior.
-
 
 ==============================================================================
 8. Variables and Options		*netrw-var* *netrw-settings* {{{1
@@ -1125,7 +1120,6 @@
 
 				*netrw-quickcom* *netrw-quickcoms*
 QUICK REFERENCE: COMMANDS	*netrw-explore-cmds* *netrw-browse-cmds* {{{2
-     :NetrwSettings............................................|netrw-settings|
      :Ntree....................................................|netrw-ntree|
      :Explore[!]  [dir] Explore directory of current file......|netrw-explore|
      :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
@@ -2950,17 +2944,6 @@
 autochdir sets the current directory to that containing the "file" (even if
 that "file" is itself a directory).
 
-NETRW SETTINGS WINDOW				*netrw-settings-window* {{{2
-
-With the NetrwSettings.vim plugin, >
-	:NetrwSettings
-will bring up a window with the many variables that netrw uses for its
-settings.  You may change any of their values; when you save the file, the
-settings therein will be used.  One may also press "?" on any of the lines for
-help on what each of the variables do.
-
-(also see: |netrw-browser-var| |netrw-protocol| |netrw-variables|)
-
 
 ==============================================================================
 OBTAINING A FILE					*netrw-obtain* *netrw-O* {{{2
diff --git a/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim b/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
index 6764baa..2879f8b 100644
--- a/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
+++ b/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
@@ -15,7 +15,7 @@
     finish
 endif
 
-let g:loaded_netrwPlugin = "v181"
+let g:loaded_netrwPlugin = "v183"
 
 let s:keepcpo = &cpo
 set cpo&vim
@@ -71,12 +71,6 @@
 command! -nargs=* -bar -bang Pexplore call netrw#Explore(-2, 0, 0, <q-args>)
 
 " }}}
-" Commands: NetrwSettings {{{
-
-command! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
-command! -bang NetrwClean call netrw#Clean(<bang>0)
-
-" }}}
 " Maps: {{{
 
 if exists("g:netrw_usetab") && g:netrw_usetab
