runtime: revert netrw update (#7557)

fixes #7527
fixes #7536
This commit is contained in:
Justin M. Keyes 2017-11-14 20:56:00 +01:00 committed by GitHub
parent 67e4529292
commit c5f001a46a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 676 additions and 1149 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler " netrwSettings.vim: makes netrw settings simpler
" Date: Nov 09, 2016 " Date: Dec 30, 2014
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 16 " Version: 15
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1 " Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp if exists("g:loaded_netrwSettings") || &cp
finish finish
endif endif
let g:loaded_netrwSettings = "v16" let g:loaded_netrwSettings = "v15"
if v:version < 700 if v:version < 700
echohl WarningMsg echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0" echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -154,13 +154,9 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_list_hide = '.g:netrw_list_hide put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd 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_localmkdir = '.g:netrw_localmkdir
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps

View File

@ -6,7 +6,7 @@
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM> Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first) (remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright* Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
The VIM LICENSE applies to the files in this package, including The VIM LICENSE applies to the files in this package, including
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
syntax/netrw.vim. Like anything else that's free, netrw.vim and its syntax/netrw.vim. Like anything else that's free, netrw.vim and its
@ -17,6 +17,7 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
holder be liable for any damages resulting from the use of this holder be liable for any damages resulting from the use of this
software. Use at your own risk! software. Use at your own risk!
*netrw* *netrw*
*dav* *ftp* *netrw-file* *rcp* *scp* *dav* *ftp* *netrw-file* *rcp* *scp*
*davs* *http* *netrw.vim* *rsync* *sftp* *davs* *http* *netrw.vim* *rsync* *sftp*
@ -72,7 +73,7 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
Improving Browsing..................................|netrw-ssh-hack| Improving Browsing..................................|netrw-ssh-hack|
Listing Bookmarks And History.......................|netrw-qb| Listing Bookmarks And History.......................|netrw-qb|
Making A New Directory..............................|netrw-d| Making A New Directory..............................|netrw-d|
Making The Browsing Directory The Current Directory.|netrw-cd| Making The Browsing Directory The Current Directory.|netrw-c|
Marking Files.......................................|netrw-mf| Marking Files.......................................|netrw-mf|
Unmarking Files.....................................|netrw-mF| Unmarking Files.....................................|netrw-mF|
Marking Files By Location List......................|netrw-qL| Marking Files By Location List......................|netrw-qL|
@ -82,7 +83,6 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX| Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
Marked Files: Arbitrary Vim Command.................|netrw-mv| Marked Files: Arbitrary Vim Command.................|netrw-mv|
Marked Files: Argument List.........................|netrw-ma| |netrw-mA| Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
Marked Files: Buffer List...........................|netrw-cb| |netrw-cB|
Marked Files: Compression And Decompression.........|netrw-mz| Marked Files: Compression And Decompression.........|netrw-mz|
Marked Files: Copying...............................|netrw-mc| Marked Files: Copying...............................|netrw-mc|
Marked Files: Diff..................................|netrw-md| Marked Files: Diff..................................|netrw-md|
@ -153,7 +153,7 @@ Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE' let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
< <
Netrw will substitute the host's machine name for "MACHINE" from the URL it is Netrw will substitute the host's machine name for "MACHINE" from the url it is
attempting to open, and so one may specify > attempting to open, and so one may specify >
userid userid
password password
@ -210,7 +210,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
http: g:netrw_http_cmd = "fetch" elseif fetch is available http: g:netrw_http_cmd = "fetch" elseif fetch is available
http: *g:netrw_http_put_cmd* = "curl -T" http: *g:netrw_http_put_cmd* = "curl -T"
rcp: *g:netrw_rcp_cmd* = "rcp" rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync" (see |g:netrw_rsync_sep|) rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q" scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp" sftp: *g:netrw_sftp_cmd* = "sftp"
file: *g:netrw_file_cmd* = "elinks" or "links" file: *g:netrw_file_cmd* = "elinks" or "links"
@ -221,7 +221,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
elinks : "-source >" elinks : "-source >"
links : "-dump >" links : "-dump >"
curl : "-L -o" curl : "-o"
wget : "-q -O" wget : "-q -O"
fetch : "-o" fetch : "-o"
< <
@ -236,7 +236,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
READING *netrw-read* *netrw-nread* {{{2 READING *netrw-read* *netrw-nread* {{{2
Generally, one may just use the URL notation with a normal editing Generally, one may just use the url notation with a normal editing
command, such as > command, such as >
:e ftp://[user@]machine/path :e ftp://[user@]machine/path
@ -258,7 +258,7 @@ READING *netrw-read* *netrw-nread* {{{2
WRITING *netrw-write* *netrw-nwrite* {{{2 WRITING *netrw-write* *netrw-nwrite* {{{2
One may just use the URL notation with a normal file writing One may just use the url notation with a normal file writing
command, such as > command, such as >
:w ftp://[user@]machine/path :w ftp://[user@]machine/path
@ -279,7 +279,7 @@ WRITING *netrw-write* *netrw-nwrite* {{{2
SOURCING *netrw-source* {{{2 SOURCING *netrw-source* {{{2
One may just use the URL notation with the normal file sourcing One may just use the url notation with the normal file sourcing
command, such as > command, such as >
:so ftp://[user@]machine/path :so ftp://[user@]machine/path
@ -477,7 +477,7 @@ file using root-relative paths, use the full path:
============================================================================== ==============================================================================
4. Network-Oriented File Transfer *netrw-xfer* {{{1 4. Network-Oriented File Transfer *netrw-xfer* {{{1
Network-oriented file transfer under Vim is implemented by a vim script Network-oriented file transfer under Vim is implemented by a VimL-based script
(<netrw.vim>) using plugin techniques. It currently supports both reading and (<netrw.vim>) using plugin techniques. It currently supports both reading and
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch, writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
dav/cadaver, rsync, or sftp. dav/cadaver, rsync, or sftp.
@ -530,7 +530,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"' let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
< <
(note: it has been reported that windows 7 with putty v0.6's "-batch" option (note: it has been reported that windows 7 with putty v0.6's "-batch" option
doesn't work, so its best to leave it off for that system) doesn't work, so it's best to leave it off for that system)
See |netrw-p8| for more about putty, pscp, psftp, etc. See |netrw-p8| for more about putty, pscp, psftp, etc.
@ -732,11 +732,11 @@ such as netrw.
The usual read/write commands are supported. There are also a few The usual read/write commands are supported. There are also a few
additional commands available. Often you won't need to use Nwrite or additional commands available. Often you won't need to use Nwrite or
Nread as shown in |netrw-transparent| (ie. simply use > Nread as shown in |netrw-transparent| (ie. simply use >
:e URL :e url
:r URL :r url
:w URL :w url
instead, as appropriate) -- see |netrw-urls|. In the explanations instead, as appropriate) -- see |netrw-urls|. In the explanations
below, a {netfile} is a URL to a remote file. below, a {netfile} is an url to a remote file.
*:Nwrite* *:Nw* *:Nwrite* *:Nw*
:[range]Nw[rite] Write the specified lines to the current :[range]Nw[rite] Write the specified lines to the current
@ -866,11 +866,9 @@ variables listed below, and may be modified by the user.
g:netrw_http_cmd var ="fetch -o" if fetch is available g:netrw_http_cmd var ="fetch -o" if fetch is available
g:netrw_http_cmd var ="wget -O" else if wget is available g:netrw_http_cmd var ="wget -O" else if wget is available
g:netrw_http_put_cmd var ="curl -T" g:netrw_http_put_cmd var ="curl -T"
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa" |g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
g:netrw_rcp_cmd var ="rcp" g:netrw_rcp_cmd var ="rcp"
g:netrw_rsync_cmd var ="rsync" g:netrw_rsync_cmd var ="rsync -a"
*g:netrw_rsync_sep* var ="/" used to separate the hostname
from the file spec
g:netrw_scp_cmd var ="scp -q" g:netrw_scp_cmd var ="scp -q"
g:netrw_sftp_cmd var ="sftp" > g:netrw_sftp_cmd var ="sftp" >
------------------------------------------------------------------------- -------------------------------------------------------------------------
@ -1007,7 +1005,7 @@ where [protocol] is typically scp or ftp. As an example, try: >
vim ftp://ftp.home.vim.org/pub/vim/ vim ftp://ftp.home.vim.org/pub/vim/
< <
For local directories, the trailing slash is not required. Again, because it's For local directories, the trailing slash is not required. Again, because it's
easy to miss: to browse remote directories, the URL must terminate with a easy to miss: to browse remote directories, the url must terminate with a
slash! slash!
If you'd like to avoid entering the password repeatedly for remote directory If you'd like to avoid entering the password repeatedly for remote directory
@ -1077,9 +1075,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
<c-r> Browse using a gvim server |netrw-ctrl-r| <c-r> Browse using a gvim server |netrw-ctrl-r|
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab| <c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
- Makes Netrw go up one directory |netrw--| - Makes Netrw go up one directory |netrw--|
a Cycles between normal display, |netrw-a| a Toggles between normal display, |netrw-a|
hiding (suppress display of files matching g:netrw_list_hide) hiding (suppress display of files matching g:netrw_list_hide)
and showing (display only files which match g:netrw_list_hide) showing (display only files which match g:netrw_list_hide)
c Make browsing directory the current directory |netrw-c| c Make browsing directory the current directory |netrw-c|
C Setting the editing window |netrw-C| C Setting the editing window |netrw-C|
d Make a directory |netrw-d| d Make a directory |netrw-d|
@ -1090,7 +1088,6 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
gh Quick hide/unhide of dot-files |netrw-gh| gh Quick hide/unhide of dot-files |netrw-gh|
gn Make top of tree the directory below the cursor |netrw-gn| gn Make top of tree the directory below the cursor |netrw-gn|
i Cycle between thin, long, wide, and tree listings |netrw-i| i Cycle between thin, long, wide, and tree listings |netrw-i|
I Toggle the displaying of the banner |netrw-I|
mb Bookmark current directory |netrw-mb| mb Bookmark current directory |netrw-mb|
mc Copy marked files to marked-file target directory |netrw-mc| mc Copy marked files to marked-file target directory |netrw-mc|
md Apply diff to marked files (up to 3) |netrw-md| md Apply diff to marked files (up to 3) |netrw-md|
@ -1170,26 +1167,25 @@ QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
BANNER DISPLAY *netrw-I* BANNER DISPLAY *netrw-I*
One may toggle the displaying of the banner by pressing "I". One may toggle the banner display on and off by pressing "I".
Also See: |g:netrw_banner| Also See: |g:netrw_banner|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2 BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
One may easily "bookmark" the currently browsed directory by using > One may easily "bookmark" the currently browsed directory by using >
mb mb
< <
*.netrwbook* *.netrwbook*
Bookmarks are retained in between sessions of vim in a file called .netrwbook Bookmarks are retained in between sessions in a $HOME/.netrwbook file, and are
as a |List|, which is typically stored in the first directory on the user's 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 If there are marked files and/or directories, mb will add them to the bookmark
list. list.
*netrw-:NetrwMB* *netrw-:NetrwMB*
Addtionally, one may use :NetrwMB to bookmark files or directories. > Addtionally, one may use :NetrwMB to bookmark files or directories. >
:NetrwMB[!] [files/directories] :NetrwMB[!] [files/directories]
@ -1208,7 +1204,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
invoked in the session). invoked in the session).
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
default, its stored on the first directory on the user's |'runtimepath'|. default, it's stored on the first directory on the user's |'runtimepath'|.
Related Topics: Related Topics:
|netrw-gb| how to return (go) to a bookmark |netrw-gb| how to return (go) to a bookmark
@ -1420,20 +1416,20 @@ Related Topics:
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2 CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
Every time you change to a new directory (new for the current session), netrw Every time you change to a new directory (new for the current session),
will save the directory in a recently-visited directory history list (unless netrw will save the directory in a recently-visited directory history
|g:netrw_dirhistmax| is zero; by default, it holds ten entries). With the "u" list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
map, one can change to an earlier directory (predecessor). To do the "u" map, one can change to an earlier directory (predecessor). To do
opposite, see |netrw-U|. the opposite, see |netrw-U|.
The "u" map also accepts counts to go back in the history several slots. For The "u" map also accepts counts to go back in the history several slots.
your convenience, qb (see |netrw-qb|) lists the history number which may be For your convenience, qb (see |netrw-qb|) lists the history number which may
used in that count. be used in that count.
*.netrwhist* *.netrwhist*
See |g:netrw_dirhistmax| for how to control the quantity of history stack See |g:netrw_dirhistmax| for how to control the quantity of history stack
slots. The file ".netrwhist" holds history when netrw (and vim) is not slots. The file ".netrwhist" holds history when netrw (and vim) is not
active. By default, its stored on the first directory on the user's active. By default, it's stored on the first directory on the user's
|'runtimepath'|. |'runtimepath'|.
Related Topics: Related Topics:
@ -1469,10 +1465,10 @@ changing the top of the tree listing.
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2 NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
With :NetrwClean one may easily remove netrw from one's home directory; With NetrwClean one may easily remove netrw from one's home directory;
more precisely, from the first directory on your |'runtimepath'|. more precisely, from the first directory on your |'runtimepath'|.
With :NetrwClean!, netrw will attempt to remove netrw from all directories on With NetrwClean!, netrw will attempt to remove netrw from all directories on
your |'runtimepath'|. Of course, you have to have write/delete permissions your |'runtimepath'|. Of course, you have to have write/delete permissions
correct to do this. correct to do this.
@ -1504,7 +1500,7 @@ Netrw determines which special handler by the following method:
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
used instead (see |netrw_filehandler|). used instead (see |netrw_filehandler|).
* for Windows 32 or 64, the URL and FileProtocolHandler dlls are used. * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
* for Gnome (with gnome-open): gnome-open is used. * for Gnome (with gnome-open): gnome-open is used.
* for KDE (with kfmclient) : kfmclient is used * for KDE (with kfmclient) : kfmclient is used
* for Mac OS X : open is used. * for Mac OS X : open is used.
@ -1520,10 +1516,9 @@ will apply a special handler to it (like "x" works when in a netrw buffer).
One may also use visual mode (see |visual-start|) to select the text that the One may also use visual mode (see |visual-start|) to select the text that the
special handler will use. Normally gx uses expand("<cfile>") to pick up the special handler will use. Normally gx uses expand("<cfile>") to pick up the
text under the cursor; one may change what |expand()| uses via the text under the cursor; one may change what |expand()| uses via the
|g:netrw_gx| variable (options include "<cword>", "<cWORD>"). Note that |g:netrw_gx| variable. Alternatively, one may select the text to be used by
expand("<cfile>") depends on the |'isfname'| setting. Alternatively, one may gx via first making a visual selection (see |visual-block|) or by changing
select the text to be used by gx by making a visual selection (see the |'isfname'| option (which is global, so netrw doesn't modify it).
|visual-block|) and then pressing gx.
Associated setting variables: Associated setting variables:
|g:netrw_gx| control how gx picks up the text under the cursor |g:netrw_gx| control how gx picks up the text under the cursor
@ -1615,11 +1610,6 @@ A further approach is to delete files which match a pattern.
This will cause the matching files to be marked. Then, This will cause the matching files to be marked. Then,
press "D". press "D".
If your vim has 7.4 with patch#1107, then |g:netrw_localrmdir| no longer
is used to remove directories; instead, vim's |delete()| is used with
the "d" option. Please note that only empty directories may be deleted
with the "D" mapping. Regular files are deleted with |delete()|, too.
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
used to control the attempts to remove remote files and directories. The used to control the attempts to remove remote files and directories. The
g:netrw_rm_cmd is used with files, and its default value is: g:netrw_rm_cmd is used with files, and its default value is:
@ -1683,18 +1673,17 @@ DIRECTORY EXPLORATION COMMANDS {{{2
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
window. window.
Those who like this method often also like tree style displays; Those who like this method often also often like tree style displays;
see |g:netrw_liststyle|. see |g:netrw_liststyle|.
:[N]Lexplore! [dir] is similar to :Lexplore, except that the full-height
Explorer window will open on the right hand side and an
uninitialized |g:netrw_chgwin| will be set to 1 (eg. edits will
preferentially occur in the leftmost window).
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw| Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|netrw-p| |netrw-P| |g:netrw_chgwin| |netrw-p| |netrw-P| |g:netrw_chgwin|
|netrw-c-tab| |g:netrw_winsize| |netrw-c-tab| |g:netrw_winsize|
:[N]Lexplore! is like :Lexplore, except that the full-height Explorer window
will open on the right hand side and an uninitialized |g:netrw_chgwin|
will be set to 1.
*netrw-:Sexplore* *netrw-:Sexplore*
:[N]Sexplore will always split the window before invoking the local-directory :[N]Sexplore will always split the window before invoking the local-directory
browser. As with Explore, the splitting is normally done browser. As with Explore, the splitting is normally done
@ -1856,11 +1845,9 @@ EXECUTING FILE UNDER CURSOR VIA SYSTEM() *netrw-X* {{{2
Pressing X while the cursor is atop an executable file will yield a prompt Pressing X while the cursor is atop an executable file will yield a prompt
using the filename asking for any arguments. Upon pressing a [return], netrw using the filename asking for any arguments. Upon pressing a [return], netrw
will then call |system()| with that command and arguments. The result will be will then call |system()| with that command and arguments. The result will
displayed by |:echomsg|, and so |:messages| will repeat display of the result. be displayed by |:echomsg|, and so |:messages| will repeat display of the
Ansi escape sequences will be stripped out. result. Ansi escape sequences will be stripped out.
See |cmdline-window| for directions for more on how to edit the arguments.
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2 FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
@ -2083,7 +2070,7 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|g:netrw_remote_mkdir| |netrw-%| |g:netrw_remote_mkdir| |netrw-%|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-cd* {{{2 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
By default, |g:netrw_keepdir| is 1. This setting means that the current By default, |g:netrw_keepdir| is 1. This setting means that the current
directory will not track the browsing directory. (done for backwards directory will not track the browsing directory. (done for backwards
@ -2098,9 +2085,6 @@ the two directories the same, use the "c" map (just type c). That map will
set Vim's notion of the current directory to netrw's current browsing set Vim's notion of the current directory to netrw's current browsing
directory. directory.
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
Associated setting variable: |g:netrw_keepdir| Associated setting variable: |g:netrw_keepdir|
MARKING FILES *netrw-:MF* *netrw-mf* {{{2 MARKING FILES *netrw-:MF* *netrw-mf* {{{2
@ -2145,7 +2129,6 @@ The following netrw maps make use of marked files:
|netrw-mg| Apply vimgrep to marked files |netrw-mg| Apply vimgrep to marked files
|netrw-mm| Move marked files to target |netrw-mm| Move marked files to target
|netrw-mp| Print marked files |netrw-mp| Print marked files
|netrw-ms| Netrw will source marked files
|netrw-mt| Set target for |netrw-mm| and |netrw-mc| |netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|netrw-mT| Generate tags using marked files |netrw-mT| Generate tags using marked files
|netrw-mv| Apply vim command to marked files |netrw-mv| Apply vim command to marked files
@ -2220,9 +2203,6 @@ converts "*" into ".*" (see |regexp|) and marks files based on that. In the
future I may make it possible to use |regexp|s instead of glob()-style future I may make it possible to use |regexp|s instead of glob()-style
expressions (yet-another-option). expressions (yet-another-option).
See |cmdline-window| for directions on more on how to edit the regular
expression.
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2 MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
(See |netrw-mf| and |netrw-mr| for how to mark files) (See |netrw-mf| and |netrw-mr| for how to mark files)
@ -2236,9 +2216,8 @@ the local marked file list, individually:
* run vim command * run vim command
* sil! keepalt wq! * sil! keepalt wq!
A prompt, "Enter vim command: ", will be issued to elicit the vim command you A prompt, "Enter vim command: ", will be issued to elicit the vim command
wish used. See |cmdline-window| for directions for more on how to edit the you wish used.
command.
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2 MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
@ -2289,17 +2268,7 @@ MARKED FILES: ARGUMENT LIST *netrw-ma* *netrw-mA*
Using ma, one moves filenames from the marked file list to the argument list. Using ma, one moves filenames from the marked file list to the argument list.
Using mA, one moves filenames from the argument list to the marked file list. Using mA, one moves filenames from the argument list to the marked file list.
See Also: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args| See Also: |netrw-qF| |argument-list| |:args|
MARKED FILES: BUFFER LIST *netrw-cb* *netrw-cB*
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the global marked-file list)
Using cb, one moves filenames from the marked file list to the buffer list.
Using cB, one copies filenames from the buffer list to the marked file list.
See Also: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2 MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
@ -2335,8 +2304,8 @@ One may also copy directories and their contents (local only) to a target
directory. directory.
Associated setting variables: Associated setting variables:
|g:netrw_localcopycmd| |g:netrw_localcopycmdopt| |g:netrw_localcopycmd|
|g:netrw_localcopydircmd| |g:netrw_localcopydircmdopt| |g:netrw_localcopydircmd|
|g:netrw_ssh_cmd| |g:netrw_ssh_cmd|
MARKED FILES: DIFF *netrw-md* {{{2 MARKED FILES: DIFF *netrw-md* {{{2
@ -2481,8 +2450,8 @@ When a remote set of files are tagged, the resulting tags file is "obtained";
ie. a copy is transferred to the local system's directory. The now local tags ie. a copy is transferred to the local system's directory. The now local tags
file is then modified so that one may use it through the network. The file is then modified so that one may use it through the network. The
modification made concerns the names of the files in the tags; each filename is modification made concerns the names of the files in the tags; each filename is
preceded by the netrw-compatible URL used to obtain it. When one subsequently preceded by the netrw-compatible url used to obtain it. When one subsequently
uses one of the go to tag actions (|tags|), the URL will be used by netrw to uses one of the go to tag actions (|tags|), the url will be used by netrw to
edit the desired file and go to the tag. edit the desired file and go to the tag.
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd| Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
@ -2584,8 +2553,8 @@ your browsing preferences. (see also: |netrw-settings|)
editing. It will also use the specified tab editing. It will also use the specified tab
and window numbers to perform editing and window numbers to perform editing
(see |clientserver|, |netrw-ctrl-r|) (see |clientserver|, |netrw-ctrl-r|)
This option does not affect the production of This option does not affect |:Lexplore|
|:Lexplore| windows. windows.
Related topics: Related topics:
|g:netrw_alto| |g:netrw_altv| |g:netrw_alto| |g:netrw_altv|
@ -2744,7 +2713,6 @@ your browsing preferences. (see also: |netrw-settings|)
*g:netrw_home* The home directory for where bookmarks and *g:netrw_home* The home directory for where bookmarks and
history are saved (as .netrwbook and history are saved (as .netrwbook and
.netrwhist). .netrwhist).
Netrw uses |expand()|on the string.
default: the first directory on the default: the first directory on the
|'runtimepath'| |'runtimepath'|
@ -2765,7 +2733,7 @@ your browsing preferences. (see also: |netrw-settings|)
default: (if ssh is executable) default: (if ssh is executable)
"ssh HOSTNAME ls -FLa" "ssh HOSTNAME ls -FLa"
*g:netrw_list_cmd_options* If this variable exists, then its contents are *g:netrw_list_cmd_options* If this variable exists, then its contents are
appended to the g:netrw_list_cmd. For appended to the g:netrw_list_cmd. For
example, use "2>/dev/null" to get rid of banner example, use "2>/dev/null" to get rid of banner
messages on unix systems. messages on unix systems.
@ -2791,52 +2759,26 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$' let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
default: "" default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows ="copy" Windows
Copies marked files (|netrw-mf|) to target Copies marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mc|) directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localcopycmdopt* ='' Linux/Unix/MacOS/Cygwin *g:netrw_localcopydircmd* ="cp -R" Linux/Unix/MacOS/Cygwin
=' \c copy' Windows ="xcopy /e /c /h/ /i /k" Windows
Options for the |g:netrw_localcopycmd|
*g:netrw_localcopydircmd* ="cp" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
Copies directories to target directory. Copies directories to target directory.
(|netrw-mc|, |netrw-mt|) (|netrw-mc|, |netrw-mt|)
*g:netrw_localcopydircmdopt* =" -R" Linux/Unix/MacOS/Cygwin *g:netrw_localmkdir* command for making a local directory
=" /c xcopy /e /c /h/ /i /k" Windows default: "mkdir"
Options for |g:netrw_localcopydircmd|
*g:netrw_localmkdir* ="mkdir" Linux/Unix/MacOS/Cygwin *g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows ="move" Windows
command for making a local directory
*g:netrw_localmkdiropt* ="" Linux/Unix/MacOS/Cygwin
=" /c mkdir" Windows
Options for |g:netrw_localmkdir|
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
Moves marked files (|netrw-mf|) to target Moves marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mm|) directory (|netrw-mt|, |netrw-mm|)
*g:netrw_localmovecmdopt* ="" Linux/Unix/MacOS/Cygwin *g:netrw_localrmdir* remove directory command (rmdir)
=" /c move" Windows default: "rmdir"
Options for |g:netrw_localmovecmd|
*g:netrw_localrmdir* ="rmdir" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
Remove directory command (rmdir)
This variable is only used if your vim is
earlier than 7.4 or if your vim doesn't
have patch#1107. Otherwise, |delete()|
is used with the "d" option.
*g:netrw_localrmdiropt* ="" Linux/Unix/MacOS/Cygwin
=" /c rmdir" Windows
Options for |g:netrw_localrmdir|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long *g:netrw_maxfilenamelen* =32 by default, selected so as to make long
listings fit on 80 column displays. listings fit on 80 column displays.
@ -2949,23 +2891,17 @@ your browsing preferences. (see also: |netrw-settings|)
netrwTilde : * netrwTilde : *
netrwTmp : tmp* *tmp netrwTmp : tmp* *tmp
In addition, those groups mentioned in These syntax highlighting groups are linked
|'suffixes'| are also added to the special to Folded or DiffChange by default
file highlighting group. (see |hl-Folded| and |hl-DiffChange|), but
These syntax highlighting groups are linked one may put lines like >
to netrwGray or Folded by default
(see |hl-Folded|), but one may put lines like >
hi link netrwCompress Visual hi link netrwCompress Visual
< into one's <.vimrc> to use one's own < into one's <.vimrc> to use one's own
preferences. Alternatively, one may preferences. Alternatively, one may
put such specifications into > put such specifications into
.vim/after/syntax/netrw.vim. .vim/after/syntax/netrw.vim.
< The netrwGray highlighting is set up by
netrw when > As an example, I myself use a dark-background
* netrwGray has not been previously
defined
* the gui is running
< As an example, I myself use a dark-background
colorscheme with the following in colorscheme with the following in
.vim/after/syntax/netrw.vim: > .vim/after/syntax/netrw.vim: >
@ -3200,8 +3136,8 @@ If there are no marked files: (see |netrw-mf|)
Renaming files and directories involves moving the cursor to the Renaming files and directories involves moving the cursor to the
file/directory to be moved (renamed) and pressing "R". You will then be file/directory to be moved (renamed) and pressing "R". You will then be
queried for what you want the file/directory to be renamed to. You may queried for what you want the file/directory to be renamed to You may select
select a range of lines with the "V" command (visual selection), and then a range of lines with the "V" command (visual selection), and then
press "R"; you will be queried for each file as to what you want it press "R"; you will be queried for each file as to what you want it
renamed to. renamed to.
@ -3233,20 +3169,16 @@ If there are marked files: (see |netrw-mf|)
Note that moving files is a dangerous operation; copies are safer. That's Note that moving files is a dangerous operation; copies are safer. That's
because a "move" for remote files is actually a copy + delete -- and if because a "move" for remote files is actually a copy + delete -- and if
the copy fails and the delete succeeds you may lose the file. the copy fails and the delete does not, you may lose the file.
Use at your own risk. Use at your own risk.
The *g:netrw_rename_cmd* variable is used to implement remote renaming. By The g:netrw_rename_cmd variable is used to implement remote renaming. By
default its value is: > default its value is:
ssh HOSTNAME mv ssh HOSTNAME mv
<
One may rename a block of files and directories by selecting them with
V (|linewise-visual|) when using thin style.
See |cmdline-editing| for more on how to edit the command line; in particular, One may rename a block of files and directories by selecting them with
you'll find <ctrl-f> (initiates cmdline window editing) and <ctrl-c> (uses the V (|linewise-visual|) when using thin style
command line under the cursor) useful in conjunction with the R command.
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2 SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
@ -3267,8 +3199,8 @@ number. Subsequent selection of a file to edit (|netrw-cr|) will use that
window. window.
* C : by itself, will select the current window holding a netrw buffer * C : by itself, will select the current window holding a netrw buffer
for subsequent editing via |netrw-cr|. The C mapping is only available for editing via |netrw-cr|. The C mapping is only available while in
while in netrw buffers. netrw buffers.
* [count]C : the count will be used as the window number to be used * [count]C : the count will be used as the window number to be used
for subsequent editing via |netrw-cr|. for subsequent editing via |netrw-cr|.
@ -3281,7 +3213,7 @@ window.
Using > Using >
let g:netrw_chgwin= -1 let g:netrw_chgwin= -1
will restore the default editing behavior will restore the default editing behavior
(ie. subsequent editing will use the current window). (ie. editing will use the current window).
Related topics: |netrw-cr| |g:netrw_browse_split| Related topics: |netrw-cr| |g:netrw_browse_split|
Associated setting variables: |g:netrw_chgwin| Associated setting variables: |g:netrw_chgwin|
@ -3302,9 +3234,9 @@ only if your terminal supports differentiating <c-tab> from a plain
* Else bring up a |:Lexplore| window * Else bring up a |:Lexplore| window
If |g:netrw_usetab| exists and is zero, or if there is a pre-existing mapping If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping
for <c-tab>, then the <c-tab> will not be mapped. One may map something other for <c-tab>, then the <c-tab> will not be mapped. One may map something other
than a <c-tab>, too: (but you'll still need to have had |g:netrw_usetab| set). > than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) >
nmap <unique> (whatever) <Plug>NetrwShrink nmap <unique> (whatever) <Plug>NetrwShrink
< <
@ -3337,10 +3269,9 @@ The user function is passed one argument; it resembles >
fun! ExampleUserMapFunc(islocal) fun! ExampleUserMapFunc(islocal)
< <
where a:islocal is 1 if its a local-directory system call or 0 when where a:islocal is 1 if it's a local-directory system call or 0 when
remote-directory system call. remote-directory system call.
*netrw-call* *netrw-expose* *netrw-modify*
Use netrw#Expose("varname") to access netrw-internal (script-local) Use netrw#Expose("varname") to access netrw-internal (script-local)
variables. variables.
Use netrw#Modify("varname",newvalue) to change netrw-internal variables. Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
@ -3662,7 +3593,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
*netrw-p16* *netrw-p16*
P16. When editing remote files (ex. :e ftp://hostname/path/file), P16. When editing remote files (ex. :e ftp://hostname/path/file),
under Windows I get an |E303| message complaining that its unable under Windows I get an |E303| message complaining that it's unable
to open a swap file. to open a swap file.
(romainl) It looks like you are starting Vim from a protected (romainl) It looks like you are starting Vim from a protected
@ -3716,7 +3647,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
P21. I've made a directory (or file) with an accented character, but P21. I've made a directory (or file) with an accented character, but
netrw isn't letting me enter that directory/read that file: netrw isn't letting me enter that directory/read that file:
Its likely that the shell or o/s is using a different encoding It's likely that the shell or o/s is using a different encoding
than you have vim (netrw) using. A patch to vim supporting than you have vim (netrw) using. A patch to vim supporting
"systemencoding" may address this issue in the future; for "systemencoding" may address this issue in the future; for
now, just have netrw use the proper encoding. For example: > now, just have netrw use the proper encoding. For example: >
@ -3832,102 +3763,6 @@ netrw:
============================================================================== ==============================================================================
12. History *netrw-history* {{{1 12. History *netrw-history* {{{1
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
x and gx (|netrw-x| and |netrw-gx|) were no
longer working. Fixed (using atril when
$DESKTOP_SESSION is "mate").
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
being restored with keepregstar rather than
keepregplus.
Nov 09, 2016 * Broke apart the command from the options,
mostly for Windows. Introduced new netrw
settings: |g:netrw_localcopycmdopt|
|g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
|g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
winwidth() with winheight()
Nov 22, 2016 * (glacambre) reported that files containing
spaces weren't being obtained properly via
scp. Fix: apparently using single quotes
such as with 'file name' wasn't enough; the
spaces inside the quotes also had to be
escaped (ie. 'file\ name').
* Also fixed obtain (|netrw-O|) to be able to
obtain files with spaces in their names
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
when atop "Hiding" in the banner also caused
the active-banner hiding control to occur
Jan 03, 2017 * (Enno Nagel) reported that attempting to
apply netrw to a directory that was without
read permission caused a syntax error.
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
using netrw#Call() better. Now returns
value of internal routines return, for example.
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
use |:edit| instead of |:read|. I also
changed the routine name to netrw#FileUrlEdit.
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
could generate a new listing buffer and
window instead of toggling the netrw display.
Unfortunately, the directions for eliciting
the problem weren't complete, so I may or
may not have fixed that issue.
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
Mar 21, 2017 * previously, netrw would specify (safe) settings
even when the setting was already safe for
netrw. Netrw now attempts to leave such
already-netrw-safe settings alone.
(affects s:NetrwOptionRestore() and
s:NetrwSafeOptions(); also introduced
s:NetrwRestoreSetting())
Jun 26, 2017 * (Christian Brabandt) provided a patch to
allow curl to follow redirects (ie. -L
option)
Jun 26, 2017 * (Callum Howard) reported a problem with
:Lexpore not removing the Lexplore window
after a change-directory
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
previously edited file (e.g. with CTRL-^)
after editing a file:// URL. Patch to
have a "keepalt" included.
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
did not work on directories in the current
tree
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
a function that returned a 0 while silently
invoking a shell command. The shell command
activated a ShellCmdPost event which in turn
called s:LocalBrowseRefresh(). That looks
over all netrw buffers for changes needing
refreshes. However, inside a |:map-<expr>|,
tab and window changes are disallowed. Fixed.
(affects netrw's s:LocalBrowseRefresh())
* |g:netrw_localrmdir| not used any more, but
the relevant patch that causes |delete()| to
take over was #1107 (not #1109).
* |expand()| is now used on |g:netrw_home|;
consequently, g:netrw_home may now use
environment variables
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
return without doing anything if invoked
when inside a non-netrw window
Jun 15, 2016 * gx now calls netrw#GX() which returns
the word under the cursor. The new
wrinkle: if one is in a netrw buffer,
then netrw's s:NetrwGetWord().
Jun 22, 2016 * Netrw was executing all its associated
Filetype commands silently; I'm going
to try doing that "noisily" and see if
folks have a problem with that.
Aug 12, 2016 * Changed order of tool selection for
handling http://... viewing.
(Nikolay Aleksandrovich Pavlov)
Aug 21, 2016 * Included hiding/showing/all for tree
listings
* Fixed refresh (^L) for tree listings
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
Feb 23, 2016 * s:ComposePath(base,subdir) now uses Feb 23, 2016 * s:ComposePath(base,subdir) now uses
fnameescape() on the base portion fnameescape() on the base portion
@ -3959,9 +3794,9 @@ netrw:
tell me how they're useful and should be tell me how they're useful and should be
retained? retained?
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the Nov 20, 2015 * gx (|netrw-gx|) on an url downloaded the
file in addition to simply bringing up the file in addition to simply bringing up the
URL in a browser. Fixed. url in a browser. Fixed.
Nov 23, 2015 * Added |g:netrw_sizestyle| support Nov 23, 2015 * Added |g:netrw_sizestyle| support
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
maps. maps.

View File

@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin") if &cp || exists("g:loaded_netrwPlugin")
finish finish
endif endif
let g:loaded_netrwPlugin = "v162" let g:loaded_netrwPlugin = "v156"
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
"DechoRemOn "DechoRemOn
@ -42,8 +42,8 @@ augroup END
" Network Browsing Reading Writing: {{{2 " Network Browsing Reading Writing: {{{2
augroup Network augroup Network
au! au!
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>")) au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>")) au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>")) au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>")) au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>")) au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
@ -59,7 +59,7 @@ com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos) com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
com! -nargs=* NetUserPass call NetUserPass(<f-args>) com! -nargs=* NetUserPass call NetUserPass(<f-args>)
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos) com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>) com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2 " Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>) com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
if !hasmapto('<Plug>NetrwBrowseX') if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX nmap <unique> gx <Plug>NetrwBrowseX
endif endif
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr> nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
endif endif
if maparg('gx','v') == "" if maparg('gx','v') == ""
if !hasmapto('<Plug>NetrwBrowseXVis') if !hasmapto('<Plug>NetrwBrowseXVis')
@ -129,15 +129,19 @@ fun! s:LocalBrowse(dirname)
elseif isdirectory(a:dirname) elseif isdirectory(a:dirname)
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)") " call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
" call Dredir("LocalBrowse ft last set: ","verbose set ft") " call Dredir("LocalBrowse ft last set: ","verbose set ft")
" call Decho("(s:LocalBrowse) COMBAK#23: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
sil! call netrw#LocalBrowseCheck(a:dirname) sil! call netrw#LocalBrowseCheck(a:dirname)
" call Decho("(s:LocalBrowse) COMBAK#24: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
exe w:netrw_bannercnt exe w:netrw_bannercnt
" call Decho("(s:LocalBrowse) COMBAK#25: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
endif endif
else else
" not a directory, ignore it " not a directory, ignore it
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...") " call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
endif endif
" call Decho("(s:LocalBrowse) COMBAK#26: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
" call Dret("s:LocalBrowse") " call Dret("s:LocalBrowse")
endfun endfun

View File

@ -1,8 +1,11 @@
" Language : Netrw Listing Syntax " Language : Netrw Remote-Directory Listing Syntax
" Maintainer : Charles E. Campbell " Maintainer : Charles E. Campbell
" Last change: Oct 31, 2016 " Last change: Oct 06, 2014
" Version : 20 NOT RELEASED " Version : 19
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Syntax Clearing: {{{1
" quit when a syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
endif endif
@ -52,30 +55,24 @@ syn match netrwLink "-->" contained skipwhite
" ----------------------------- " -----------------------------
" Special filetype highlighting {{{1 " Special filetype highlighting {{{1
" ----------------------------- " -----------------------------
if exists("g:netrw_special_syntax") && g:netrw_special_syntax if exists("g:netrw_special_syntax") && netrw_special_syntax
if exists("+suffixes") && &suffixes != "" syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
let suflist= join(split(&suffixes,',')) syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
endif
syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
if has("unix") if has("unix")
syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
endif endif
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
endif endif
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
@ -104,42 +101,21 @@ if !exists("did_drchip_netrwlist_syntax")
hi default link netrwLink Special hi default link netrwLink Special
" special syntax highlighting (see :he g:netrw_special_syntax) " special syntax highlighting (see :he g:netrw_special_syntax)
hi default link netrwBak NonText
hi default link netrwCompress Folded
hi default link netrwCoreDump WarningMsg hi default link netrwCoreDump WarningMsg
hi default link netrwData DiffChange hi default link netrwData DiffChange
hi default link netrwHdr netrwPlain hi default link netrwHdr netrwPlain
hi default link netrwLex netrwPlain hi default link netrwLex netrwPlain
hi default link netrwLib DiffChange hi default link netrwLib DiffChange
hi default link netrwMakefile DiffChange hi default link netrwMakefile DiffChange
hi default link netrwObj Folded
hi default link netrwTilde Folded
hi default link netrwTmp Folded
hi default link netrwTags Folded
hi default link netrwYacc netrwPlain hi default link netrwYacc netrwPlain
hi default link netrwPix Special
hi default link netrwBak netrwGray
hi default link netrwCompress netrwGray
hi default link netrwSpecFile netrwGray
hi default link netrwObj netrwGray
hi default link netrwTags netrwGray
hi default link netrwTilde netrwGray
hi default link netrwTmp netrwGray
endif endif
" set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
" can be hard/impossible to read). Users may override this in a colorscheme by
" specifying netrwGray highlighting.
redir => s:netrwgray
sil hi netrwGray
redir END
if s:netrwgray !~ 'guifg'
if has("gui") && has("gui_running")
if &bg == "dark"
exe "hi netrwGray gui=NONE guifg=gray30"
else
exe "hi netrwGray gui=NONE guifg=gray70"
endif
else
hi link netrwGray Folded
endif
endif
" Current Syntax: {{{1 " Current Syntax: {{{1
let b:current_syntax = "netrwlist" let b:current_syntax = "netrwlist"
" --------------------------------------------------------------------- " ---------------------------------------------------------------------