update netrw

git-svn-id: https://vimsuite.svn.sourceforge.net/svnroot/vimsuite/trunk@196 eb2d0018-73a3-4aeb-bfe9-1def61c9ec69
This commit is contained in:
alterdepp 2011-05-26 11:53:05 +00:00
parent 8bc36a154b
commit c0b4288fb8
6 changed files with 1691 additions and 1075 deletions

View File

@ -9,7 +9,7 @@ ScriptID SourceID Filename
51 171 cscope_macros.vim 51 171 cscope_macros.vim
102 13435 DirDiff.vim 102 13435 DirDiff.vim
1189 8687 matrix.vim 1189 8687 matrix.vim
1173 13972 tcomment 1173 15731 tcomment
948 2878 Scons Compiler plugin 948 2878 Scons Compiler plugin
1709 6421 Scons Syntax file 1709 6421 Scons Syntax file
1772 7248 DAMOS.zip DAMOS tools (von Stefan) 1772 7248 DAMOS.zip DAMOS tools (von Stefan)
@ -23,13 +23,13 @@ ScriptID SourceID Filename
2048 7817 BlockDiff 2048 7817 BlockDiff
39 8196 matchit.vim 39 8196 matchit.vim
2092 8095 reloaded.vim (matrix colorscheme) 2092 8095 reloaded.vim (matrix colorscheme)
848 8203 SrchRplcHiGrp.vim (Search/Replace on Syntax Group) 848 14668 SrchRplcHiGrp.vim (Search/Replace on Syntax Group)
294 10110 Align.vim 294 10110 Align.vim
479 9276 MultipleSearch.vba 479 9276 MultipleSearch.vba
1066 7618 cecutil.vim 1066 7618 cecutil.vim
1173 13972 tComment.vim 1173 15731 tComment.vim
2701 13194 editsrec 2701 13194 editsrec
3280 14068 Tabbi 3280 14334 Tabbi
642 8136 :AutoInstall: getscript.vim 642 8136 :AutoInstall: getscript.vim
1075 11979 :AutoInstall: netrw.vim 1075 15352 :AutoInstall: netrw.vim
1502 11981 :AutoInstall: vimball.vim 1502 15362 :AutoInstall: vimball.vim

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.2. Last change: 2009 Dec 28 *pi_netrw.txt* For Vim version 7.3. Last change: 2011 Apr 01
----------------------------------------------------- -----------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr. NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
@ -6,7 +6,7 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM> Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first) (remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 2009 Charles E Campbell, Jr *netrw-copyright* Copyright: Copyright (C) 1999-2011 Charles E Campbell, Jr *netrw-copyright*
Permission is hereby granted to use and distribute this code, with Permission is hereby granted to use and distribute this code, with
or without modifications, provided that this copyright notice is or without modifications, provided that this copyright notice is
copied with it. Like anything else that's free, netrw.vim, copied with it. Like anything else that's free, netrw.vim,
@ -19,9 +19,9 @@ Copyright: Copyright (C) 2009 Charles E Campbell, Jr *netrw-copyright*
use of this software. use of this software.
*dav* *ftp* *netrw-file* *Nread* *rcp* *scp* *dav* *ftp* *netrw-file* *rcp* *scp*
*davs* *http* *netrw.vim* *Nsource* *rsync* *sftp* *davs* *http* *netrw.vim* *rsync* *sftp*
*fetch* *netrw* *network* *Nwrite* *fetch* *netrw* *network*
============================================================================== ==============================================================================
1. Contents *netrw-contents* {{{1 1. Contents *netrw-contents* {{{1
@ -41,7 +41,7 @@ Copyright: Copyright (C) 2009 Charles E Campbell, Jr *netrw-copyright*
NETRC..............................................|netrw-netrc| NETRC..............................................|netrw-netrc|
PASSWORD...........................................|netrw-passwd| PASSWORD...........................................|netrw-passwd|
5. Activation...........................................|netrw-activate| 5. Activation...........................................|netrw-activate|
6. Transparent File Editing.............................|netrw-transparent| 6. Transparent Remote File Editing......................|netrw-transparent|
7. Ex Commands..........................................|netrw-ex| 7. Ex Commands..........................................|netrw-ex|
8. Variables and Options................................|netrw-var| 8. Variables and Options................................|netrw-var|
9. Browsing.............................................|netrw-browse| 9. Browsing.............................................|netrw-browse|
@ -65,6 +65,7 @@ Copyright: Copyright (C) 2009 Charles E Campbell, Jr *netrw-copyright*
Displaying Information About File..................|netrw-qf| Displaying Information About File..................|netrw-qf|
Edit File Or Directory Hiding List.................|netrw-ctrl-h| Edit File Or Directory Hiding List.................|netrw-ctrl-h|
Editing The Sorting Sequence.......................|netrw-S| Editing The Sorting Sequence.......................|netrw-S|
Forcing treatment as a file or directory...........|netrw-gd| |netrw-gf|
Going Up...........................................|netrw--| Going Up...........................................|netrw--|
Hiding Files Or Directories........................|netrw-a| Hiding Files Or Directories........................|netrw-a|
Improving Browsing.................................|netrw-ssh-hack| Improving Browsing.................................|netrw-ssh-hack|
@ -158,7 +159,7 @@ There are more protocols supported by netrw than just scp and ftp, too: see the
next section, |netrw-externapp|, on how to use these external applications with next section, |netrw-externapp|, on how to use these external applications with
netrw and vim. netrw and vim.
PREVENTING LOADING PREVENTING LOADING *netrw-noload*
If you want to use plugins, but for some reason don't wish to use netrw, then If you want to use plugins, but for some reason don't wish to use netrw, then
you need to avoid loading both the plugin and the autoload portions of netrw. you need to avoid loading both the plugin and the autoload portions of netrw.
@ -169,7 +170,7 @@ You may do so by placing the following two lines in your <.vimrc>: >
< <
============================================================================== ==============================================================================
3. Netrw Reference *netrw-ref* {{{1 3. Netrw Reference *netrw-ref* {{{1
Netrw supports several protocols in addition to scp and ftp as mentioned Netrw supports several protocols in addition to scp and ftp as mentioned
in |netrw-start|. These include dav, fetch, http,... well, just look in |netrw-start|. These include dav, fetch, http,... well, just look
@ -180,19 +181,19 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
Protocol Variable Default Value Protocol Variable Default Value
-------- ---------------- ------------- -------- ---------------- -------------
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp" ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available http: *g:netrw_http_cmd* = "elinks" if elinks is available
http: g:netrw_http_cmd = "links" elseif links is available http: g:netrw_http_cmd = "links" elseif links is available
http: g:netrw_http_cmd = "curl" elseif curl is available http: g:netrw_http_cmd = "curl" elseif curl is available
http: g:netrw_http_cmd = "wget" elseif wget is available http: g:netrw_http_cmd = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available http: g:netrw_http_cmd = "fetch" elseif fetch is available
rcp: *g:netrw_rcp_cmd* = "rcp" rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a" 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"
*g:netrw_http_xcmd* : the option string for http://... protocols are *g:netrw_http_xcmd* : the option string for http://... protocols are
specified via this variable and may be independently overridden. By specified via this variable and may be independently overridden. By
@ -316,86 +317,95 @@ settings are described below, in |netrw-browser-options|, and in
|netrw-externapp|: |netrw-externapp|:
*b:netrw_lastfile* last file Network-read/written retained on a *b:netrw_lastfile* last file Network-read/written retained on a
per-buffer basis (supports plain :Nw ) per-buffer basis (supports plain :Nw )
*g:netrw_bufsettings* the settings that netrw buffers have
(default) noma nomod nonu nowrap ro nobl
*g:netrw_chgwin* specifies a window number where file edits will take *g:netrw_chgwin* specifies a window number where file edits will take
place. (also see |netrw-C|) place. (also see |netrw-C|)
(default) not defined (default) not defined
*g:Netrw_funcref* specifies a function to be called when netrw edits
a file. The file is first edited, and then the
function reference (|Funcref|) is called.
(default) not defined
*g:Netrw_funcref* specifies a function (or functions) to be called when
netrw edits a file. The file is first edited, and
then the function reference (|Funcref|) is called.
This variable may also hold a |List| of Funcrefs.
(default) not defined
>
Example: place in .vimrc; affects all file opening
fun! MyFuncRef()
endfun
let g:Netrw_funcref= function("MyFuncRef")
<
*g:netrw_ftp* if it doesn't exist, use default ftp *g:netrw_ftp* if it doesn't exist, use default ftp
=0 use default ftp (uid password) =0 use default ftp (uid password)
=1 use alternate ftp method (user uid password) =1 use alternate ftp method (user uid password)
If you're having trouble with ftp, try changing the If you're having trouble with ftp, try changing the
value of this variable to see if the alternate ftp value of this variable to see if the alternate ftp
method works for your setup. method works for your setup.
*g:netrw_ftpextracmd* default: doesn't exist *g:netrw_ftpextracmd* default: doesn't exist
If this variable exists, then any string it contains If this variable exists, then any string it contains
will be placed into the commands set to your ftp will be placed into the commands set to your ftp
client. As an example: client. As an example:
="passive" ="passive"
*g:netrw_ftpmode* ="binary" (default) *g:netrw_ftpmode* ="binary" (default)
="ascii" ="ascii"
*g:netrw_ignorenetrc* =0 (default for linux, cygwin) *g:netrw_ignorenetrc* =0 (default for linux, cygwin)
=1 If you have a <.netrc> file but it doesn't work and =1 If you have a <.netrc> file but it doesn't work and
you want it ignored, then set this variable as you want it ignored, then set this variable as
shown. (default for Windows + cmd.exe) shown. (default for Windows + cmd.exe)
*g:netrw_menu* =0 disable netrw's menu *g:netrw_menu* =0 disable netrw's menu
=1 (default) netrw's menu enabled =1 (default) netrw's menu enabled
*g:netrw_nogx* if this variable exists, then the "gx" map will not *g:netrw_nogx* if this variable exists, then the "gx" map will not
be available (see |netrw-gx|) be available (see |netrw-gx|)
*g:netrw_uid* (ftp) user-id, retained on a per-vim-session basis *g:netrw_uid* (ftp) user-id, retained on a per-vim-session basis
*s:netrw_passwd* (ftp) password, retained on a per-vim-session basis *s:netrw_passwd* (ftp) password, retained on a per-vim-session basis
*g:netrw_preview* =0 (default) preview window shown in a horizontally *g:netrw_preview* =0 (default) preview window shown in a horizontally
split window split window
=1 preview window shown in a vertically split window. =1 preview window shown in a vertically split window.
Also affects the "previous window" (see |netrw-P|) in Also affects the "previous window" (see |netrw-P|) in
the same way. the same way.
*g:netrw_scpport* = "-P" : option to use to set port for scp *g:netrw_scpport* = "-P" : option to use to set port for scp
*g:netrw_sshport* = "-p" : option to use to set port for ssh *g:netrw_sshport* = "-p" : option to use to set port for ssh
*g:netrw_sepchr* =\0xff *g:netrw_sepchr* =\0xff
=\0x01 for enc == euc-jp (and perhaps it should be for =\0x01 for enc == euc-jp (and perhaps it should be for
others, too, please let me others, too, please let me
know) know)
Separates priority codes from filenames internally. Separates priority codes from filenames internally.
See |netrw-p12|. See |netrw-p12|.
*g:netrw_silent* =0 : transfers done normally *g:netrw_silent* =0 : transfers done normally
=1 : transfers done silently =1 : transfers done silently
*g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one *g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one
line window. This window provides reliable line window. This window provides reliable
delivery of messages. (default) delivery of messages. (default)
=0 : messages from netrw will use echoerr ; =0 : messages from netrw will use echoerr ;
messages don't always seem to show up this messages don't always seem to show up this
way, but one doesn't have to quit the window. way, but one doesn't have to quit the window.
*g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank *g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank
lines that o/s's ftp "provides" on transfers lines that o/s's ftp "provides" on transfers
=0 force normal ftp behavior (no trailing line removal) =0 force normal ftp behavior (no trailing line removal)
*g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also *g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
permits network browsing to use ls with time and permits network browsing to use ls with time and
size sorting (default if windows) size sorting (default if windows)
=0 assume Windows' scp accepts windows-style paths =0 assume Windows' scp accepts windows-style paths
Network browsing uses dir instead of ls Network browsing uses dir instead of ls
This option is ignored if you're using unix This option is ignored if you're using unix
*g:netrw_use_nt_rcp* =0 don't use the rcp of WinNT, Win2000 and WinXP *g:netrw_use_nt_rcp* =0 don't use the rcp of WinNT, Win2000 and WinXP
=1 use WinNT's rcp in binary mode (default) =1 use WinNT's rcp in binary mode (default)
PATHS *netrw-path* {{{2 PATHS *netrw-path* {{{2
@ -491,7 +501,23 @@ that file. Your ftp must be able to use the <.netrc> file on its own, however.
> >
vim ftp://[user@]machine[[:#]portnumber]/path vim ftp://[user@]machine[[:#]portnumber]/path
< <
However, ftp will often need to query the user for the userid and password. Windows provides an ftp (typically c:\Windows\System32\ftp.exe) which uses
an option, -s:filename (filename can and probably should be a full path)
which contains ftp commands which will be automatically run whenever ftp
starts. You may use this feature to enter a user and password for one site: >
userid
password
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines only)
netrw will substitute the current machine name requested for ftp connection
for MACHINE. Hence one can have multiple machine.ftp files containing login
and password for ftp. Example: >
g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
vim ftp://myhost.somewhere.net/
will use a file >
C:\Users\Myself\myhost.ftp
<
Often, ftp will need to query the user for the userid and password.
The latter will be done "silently"; ie. asterisks will show up instead of The latter will be done "silently"; ie. asterisks will show up instead of
the actually-typed-in password. Netrw will retain the userid and password the actually-typed-in password. Netrw will retain the userid and password
for subsequent read/writes from the most recent transfer so subsequent for subsequent read/writes from the most recent transfer so subsequent
@ -589,7 +615,7 @@ password.
PASSWORD *netrw-passwd* PASSWORD *netrw-passwd*
The script attempts to get passwords for ftp invisibly using |inputsecret()|, The script attempts to get passwords for ftp invisibly using |inputsecret()|,
a built-in Vim function. See |netrw-uidpass| for how to change the password a built-in Vim function. See |netrw-userpass| for how to change the password
after one has set it. after one has set it.
Unfortunately there doesn't appear to be a way for netrw to feed a password to Unfortunately there doesn't appear to be a way for netrw to feed a password to
@ -615,7 +641,7 @@ your <.vimrc> customization file: >
< <
============================================================================== ==============================================================================
6. Transparent File Editing *netrw-transparent* {{{1 6. Transparent Remote File Editing *netrw-transparent* {{{1
Transparent file transfers occur whenever a regular file read or write Transparent file transfers occur whenever a regular file read or write
(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd| (invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
@ -642,18 +668,22 @@ Nread as shown in |netrw-transparent| (ie. simply use >
instead, as appropriate) -- see |netrw-urls|. In the explanations instead, as appropriate) -- see |netrw-urls|. In the explanations
below, a {netfile} is an url to a remote file. below, a {netfile} is an url to a remote file.
*:Nwrite* *:Nw*
:[range]Nw[rite] Write the specified lines to the current :[range]Nw[rite] Write the specified lines to the current
file as specified in b:netrw_lastfile. file as specified in b:netrw_lastfile.
(related: |netrw-nwrite|)
:[range]Nw[rite] {netfile} [{netfile}]... :[range]Nw[rite] {netfile} [{netfile}]...
Write the specified lines to the {netfile}. Write the specified lines to the {netfile}.
*:Nread* *:Nr*
:Nr[ead] Read the lines from the file specified in b:netrw_lastfile :Nr[ead] Read the lines from the file specified in b:netrw_lastfile
into the current buffer. into the current buffer. (related: |netrw-nread|)
:Nr[ead] {netfile} {netfile}... :Nr[ead] {netfile} {netfile}...
Read the {netfile} after the current line. Read the {netfile} after the current line.
*:Nsource* *:Ns*
:Ns[ource] {netfile} :Ns[ource] {netfile}
Source the {netfile}. Source the {netfile}.
To start up vim using a remote .vimrc, one may use To start up vim using a remote .vimrc, one may use
@ -661,20 +691,24 @@ below, a {netfile} is an url to a remote file.
vim -u NORC -N vim -u NORC -N
--cmd "runtime plugin/netrwPlugin.vim" --cmd "runtime plugin/netrwPlugin.vim"
--cmd "source scp://HOSTNAME/.vimrc" --cmd "source scp://HOSTNAME/.vimrc"
< *netrw-uidpass* < (related: |netrw-source|)
:call NetUserPass()
:call NetUserPass() *NetUserPass()*
If g:netrw_uid and s:netrw_passwd don't exist, If g:netrw_uid and s:netrw_passwd don't exist,
this function will query the user for them. this function will query the user for them.
(related: |netrw-userpass|)
:call NetUserPass("userid") :call NetUserPass("userid")
This call will set the g:netrw_uid and, if This call will set the g:netrw_uid and, if
the password doesn't exist, will query the user for it. the password doesn't exist, will query the user for it.
(related: |netrw-userpass|)
:call NetUserPass("userid","passwd") :call NetUserPass("userid","passwd")
This call will set both the g:netrw_uid and s:netrw_passwd. This call will set both the g:netrw_uid and s:netrw_passwd.
The user-id and password are used by ftp transfers. One may The user-id and password are used by ftp transfers. One may
effectively remove the user-id and password by using empty effectively remove the user-id and password by using empty
strings (ie. ""). strings (ie. "").
(related: |netrw-userpass|)
:NetrwSettings This command is described in |netrw-settings| -- used to :NetrwSettings This command is described in |netrw-settings| -- used to
display netrw settings and change netrw behavior. display netrw settings and change netrw behavior.
@ -688,9 +722,7 @@ below, a {netfile} is an url to a remote file.
The <netrw.vim> script provides several variables which act as options to The <netrw.vim> script provides several variables which act as options to
affect <netrw.vim>'s file transfer behavior. These variables typically may be affect <netrw.vim>'s file transfer behavior. These variables typically may be
set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|) set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
> >
------------- -------------
Netrw Options Netrw Options
------------- -------------
@ -772,8 +804,10 @@ variables listed below, and may be modified by the user.
The g:netrw_..._cmd options (|g:netrw_ftp_cmd| and |g:netrw_sftp_cmd|) The g:netrw_..._cmd options (|g:netrw_ftp_cmd| and |g:netrw_sftp_cmd|)
specify the external program to use handle the ftp protocol. They may specify the external program to use handle the ftp protocol. They may
include command line options (such as -p for passive mode). include command line options (such as -p for passive mode). Example: >
let g:netrw_ftp_cmd= "ftp -p"
<
Browsing is supported by using the |g:netrw_list_cmd|; the substring Browsing is supported by using the |g:netrw_list_cmd|; the substring
"HOSTNAME" will be changed via substitution with whatever the current request "HOSTNAME" will be changed via substitution with whatever the current request
is for a hostname. is for a hostname.
@ -792,12 +826,12 @@ temporary file:
open machine [port] open machine [port] open machine [port] open machine [port]
user userid password userid password user userid password userid password
[g:netrw_ftpmode] password [g:netrw_ftpmode] password
[g:netrw_extracmd] [g:netrw_ftpmode] [g:netrw_ftpextracmd] [g:netrw_ftpmode]
get filename tempfile [g:netrw_extracmd] get filename tempfile [g:netrw_extracmd]
get filename tempfile > get filename tempfile >
--------------------------------------------------------------------- ---------------------------------------------------------------------
< <
The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional. The |g:netrw_ftpmode| and |g:netrw_ftpextracmd| are optional.
Netrw then executes the lines above by use of a filter: Netrw then executes the lines above by use of a filter:
> >
@ -1025,6 +1059,8 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
to the netrw browser window. See |g:netrw_retmap|. to the netrw browser window. See |g:netrw_retmap|.
<s-leftmouse> (gvim only) like mf, will mark files <s-leftmouse> (gvim only) like mf, will mark files
(to disable mouse buttons while browsing: |g:netrw_mousemaps|)
*netrw-quickcom* *netrw-quickcoms* *netrw-quickcom* *netrw-quickcoms*
QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2 QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
:NetrwClean[!] ...........................................|netrw-clean| :NetrwClean[!] ...........................................|netrw-clean|
@ -1202,11 +1238,11 @@ Related Topics:
|netrw-qb| how to list bookmarks |netrw-qb| how to list bookmarks
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), Every time you change to a new directory (new for the current session),
netrw will save the directory in a recently-visited directory history netrw will save the directory in a recently-visited directory history
list (unless g:netrw_dirhistmax is zero; by default, it's ten). With the list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
"u" map, one can change to an earlier directory (predecessor). To do "u" map, one can change to an earlier directory (predecessor). To do
the opposite, see |netrw-U|. the opposite, see |netrw-U|.
@ -1508,6 +1544,19 @@ Related topics: |netrw-s| |netrw-S|
Associated setting variables: |g:netrw_sort_sequence| |g:netrw_sort_options| Associated setting variables: |g:netrw_sort_sequence| |g:netrw_sort_options|
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
Remote symbolic links (ie. those listed via ssh or ftp) are problematic
in that it is difficult to tell whether they link to a file or to a
directory.
To force treatment as a file: use >
gd
<
To force treatment as a directory: use >
gf
<
GOING UP *netrw--* {{{2 GOING UP *netrw--* {{{2
To go up a directory, press "-" or press the <cr> when atop the ../ directory To go up a directory, press "-" or press the <cr> when atop the ../ directory
@ -1721,6 +1770,16 @@ the cursor atop a marked file and press "mf". This process also works
with <s-leftmouse> using gvim. One may unmark all files by pressing with <s-leftmouse> using gvim. One may unmark all files by pressing
"mu" (see |netrw-mu|). "mu" (see |netrw-mu|).
Marked files are highlighted using the "netrwMarkFile" highlighting group,
which by default is linked to "Identifier" (see Identifier under
|group-name|). You may change the highlighting group by putting something
like >
highlight clear netrwMarkFile
hi link netrwMarkFile ..whatever..
<
into $HOME/.vim/after/syntax/netrw.vim .
*markfilelist* *global_markfilelist* *local_markfilelist* *markfilelist* *global_markfilelist* *local_markfilelist*
All marked files are entered onto the global marked file list; there is only All marked files are entered onto the global marked file list; there is only
one such list. In addition, every netrw buffer also has its own local marked one such list. In addition, every netrw buffer also has its own local marked
@ -1770,7 +1829,8 @@ MARKED FILES: COPYING *netrw-mc* {{{2
(Uses the global marked file list) (Uses the global marked file list)
Select a target directory with mt (|netrw-mt|). Then change directory, Select a target directory with mt (|netrw-mt|). Then change directory,
select file(s) (see |netrw-mf|), and press "mc". select file(s) (see |netrw-mf|), and press "mc". The copy is done
from the current window (where one does the mf) to the target.
Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd| Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
@ -1822,7 +1882,8 @@ MARKED FILES: MOVING *netrw-mm* {{{2
Use at your own risk! Use at your own risk!
Select a target directory with mt (|netrw-mt|). Then change directory, Select a target directory with mt (|netrw-mt|). Then change directory,
select file(s) (see |netrw-mf|), and press "mm". select file(s) (see |netrw-mf|), and press "mm". The move is done
from the current window (where one does the mf) to the target.
Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd| Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
@ -1903,21 +1964,21 @@ your browsing preferences. (see also: |netrw-settings|)
--- ----------- --- -----------
Var Explanation Var Explanation
--- ----------- --- -----------
< *g:netrw_alto* change from above splitting to below splitting < *g:netrw_alto* change from above splitting to below splitting
by setting this variable (see |netrw-o|) by setting this variable (see |netrw-o|)
default: =&sb (see |'sb'|) default: =&sb (see |'sb'|)
*g:netrw_altv* change from left splitting to right splitting *g:netrw_altv* change from left splitting to right splitting
by setting this variable (see |netrw-v|) by setting this variable (see |netrw-v|)
default: =&spr (see |'spr'|) default: =&spr (see |'spr'|)
*g:netrw_banner* enable/suppress the banner *g:netrw_banner* enable/suppress the banner
=0: suppress the banner =0: suppress the banner
=1: banner is enabled (default) =1: banner is enabled (default)
NOTE: suppressing the banner is a new feature NOTE: suppressing the banner is a new feature
which may cause problems. which may cause problems.
*g:netrw_browse_split* when browsing, <cr> will open the file by: *g:netrw_browse_split* when browsing, <cr> will open the file by:
=0: re-using the same window =0: re-using the same window
=1: horizontally splitting the window first =1: horizontally splitting the window first
=2: vertically splitting the window first =2: vertically splitting the window first
@ -1927,7 +1988,7 @@ your browsing preferences. (see also: |netrw-settings|)
to get vertical splitting instead of to get vertical splitting instead of
horizontal splitting. horizontal splitting.
*g:netrw_browsex_viewer* specify user's preference for a viewer: > *g:netrw_browsex_viewer* specify user's preference for a viewer: >
"kfmclient exec" "kfmclient exec"
"gnome-open" "gnome-open"
< If > < If >
@ -1936,35 +1997,48 @@ your browsing preferences. (see also: |netrw-settings|)
a script/function to handle the given a script/function to handle the given
extension. (see |netrw_filehandler|). extension. (see |netrw_filehandler|).
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME" *g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
Windows: "cacls FILENAME /e /p PERM" Windows: "cacls FILENAME /e /p PERM"
Used to change access permission for a file. Used to change access permission for a file.
*g:netrw_compress* ="gzip" *g:netrw_compress* ="gzip"
Will compress marked files with this Will compress marked files with this
command command
*g:netrw_ctags* ="ctags" *g:netrw_ctags* ="ctags"
The default external program used to create tags The default external program used to create tags
*g:netrw_cursorline* = 1 (default) *g:netrw_cursor* = 2 (default)
will use the |'cursorline'| local setting when This option controls the use of the
|g:netrw_liststyle| ==0 (thin listing) or |'cursorline'| (cul) and |'cursorcolumn'|
|g:netrw_liststyle| ==1 (long listing) or (cuc) settings by netrw:
|g:netrw_liststyle| ==3 (tree listing)
(ie. doesn't affect the wide listing)
=0: off
=2: like ==1, but the wide listing gets both
cursorline and |'cursorcolumn'|locally set
*g:netrw_decompress* = { ".gz" : "gunzip" , Value Thin-Long-Tree Wide
=0 u-cul u-cuc u-cul u-cuc
=1 u-cul u-cuc cul u-cuc
=2 cul u-cuc cul u-cuc
=3 cul u-cuc cul cuc
=4 cul cuc cul cuc
Where
u-cul : user's |'cursorline'| setting used
u-cuc : user's |'cursorcolumn'| setting used
cul : |'cursorline'| locally set
cuc : |'cursorcolumn'| locally set
*g:netrw_decompress* = { ".gz" : "gunzip" ,
".bz2" : "bunzip2" , ".bz2" : "bunzip2" ,
".zip" : "unzip" , ".zip" : "unzip" ,
".tar" : "tar -xf"} ".tar" : "tar -xf"}
A dictionary mapping suffices to A dictionary mapping suffices to
decompression programs. decompression programs.
*g:netrw_fastbrowse* =0: slow speed directory browsing; *g:netrw_dirhistmax* =10: controls maximum quantity of past
history. May be zero to supppress
history.
(related: |netrw-qb| |netrw-u| |netrw-U|)
*g:netrw_fastbrowse* =0: slow speed directory browsing;
never re-uses directory listings, never re-uses directory listings,
always obtains directory listings. always obtains directory listings.
=1: medium speed directory browsing; =1: medium speed directory browsing;
@ -1988,10 +2062,10 @@ your browsing preferences. (see also: |netrw-settings|)
trading off accuracy (ie. up-to-date listing) trading off accuracy (ie. up-to-date listing)
versus speed. versus speed.
*g:netrw_fname_escape* =' ?&;%' *g:netrw_fname_escape* =' ?&;%'
Used on filenames before remote reading/writing Used on filenames before remote reading/writing
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings *g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
that can show up as "directories" and "files" that can show up as "directories" and "files"
in the listing. This pattern is used to in the listing. This pattern is used to
remove such embedded messages. By default its remove such embedded messages. By default its
@ -2004,86 +2078,87 @@ your browsing preferences. (see also: |netrw-settings|)
: connect to address [0-9a-fA-F:]* : connect to address [0-9a-fA-F:]*
: No route to host$' : No route to host$'
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory *g:netrw_ftp_list_cmd* options for passing along to ftp for directory
listing. Defaults: listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF" unix or g:netrw_cygwin set: : "ls -lF"
otherwise "dir" otherwise "dir"
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory *g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
listing, sorted by size of file. listing, sorted by size of file.
Defaults: Defaults:
unix or g:netrw_cygwin set: : "ls -slF" unix or g:netrw_cygwin set: : "ls -slF"
otherwise "dir" otherwise "dir"
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory *g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
listing, sorted by time of last modification. listing, sorted by time of last modification.
Defaults: Defaults:
unix or g:netrw_cygwin set: : "ls -tlF" unix or g:netrw_cygwin set: : "ls -tlF"
otherwise "dir" otherwise "dir"
*g:netrw_glob_escape* ='[]*?`{~$' *g:netrw_glob_escape* ='[]*?`{~$' (unix)
='[]*?`{$' (windows
These characters in directory names are These characters in directory names are
escaped before applying glob() escaped before applying glob()
*g:netrw_hide* if true, the hiding list is used *g:netrw_hide* if true, the hiding list is used
default: =0 default: =0
*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).
default: the first directory on the default: the first directory on the
|'runtimepath'| |'runtimepath'|
*g:netrw_keepdir* =1 (default) keep current directory immune from *g:netrw_keepdir* =1 (default) keep current directory immune from
the browsing directory. the browsing directory.
=0 keep the current directory the same as the =0 keep the current directory the same as the
browsing directory. browsing directory.
The current browsing directory is contained in The current browsing directory is contained in
b:netrw_curdir (also see |netrw-c|) b:netrw_curdir (also see |netrw-c|)
*g:netrw_list_cmd* command for listing remote directories *g:netrw_list_cmd* command for listing remote directories
default: (if ssh is executable) default: (if ssh is executable)
"ssh HOSTNAME ls -FLa" "ssh HOSTNAME ls -FLa"
*g:netrw_liststyle* Set the default listing style: *g:netrw_liststyle* Set the default listing style:
= 0: thin listing (one file per line) = 0: thin listing (one file per line)
= 1: long listing (one file per line with time = 1: long listing (one file per line with time
stamp information and file size) stamp information and file size)
= 2: wide listing (multiple files in columns) = 2: wide listing (multiple files in columns)
= 3: tree style listing = 3: tree style listing
*g:netrw_list_hide* comma separated pattern list for hiding files *g:netrw_list_hide* comma separated pattern list for hiding files
Patterns are regular expressions (see |regexp|) Patterns are regular expressions (see |regexp|)
Example: let g:netrw_list_hide= '.*\.swp$' Example: let g:netrw_list_hide= '.*\.swp$'
default: "" default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
="copy" 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_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin *g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
="move" Windows ="move" 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_local_mkdir* command for making a local directory *g:netrw_local_mkdir* command for making a local directory
default: "mkdir" default: "mkdir"
*g:netrw_local_rmdir* remove directory command (rmdir) *g:netrw_local_rmdir* remove directory command (rmdir)
default: "rmdir" default: "rmdir"
*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.
If your screen is wider, and you have file If your screen is wider, and you have file
or directory names longer than 32 bytes, or directory names longer than 32 bytes,
you may set this option to keep listings you may set this option to keep listings
columnar. columnar.
*g:netrw_mkdir_cmd* command for making a remote directory *g:netrw_mkdir_cmd* command for making a remote directory
default: "ssh USEPORT HOSTNAME mkdir" default: "ssh USEPORT HOSTNAME mkdir"
*g:netrw_mousemaps* =1 (default) enables the mouse buttons *g:netrw_mousemaps* =1 (default) enables the mouse buttons
while browsing: while browsing:
leftmouse : open file/directory leftmouse : open file/directory
shift-leftmouse : mark file shift-leftmouse : mark file
@ -2091,7 +2166,7 @@ your browsing preferences. (see also: |netrw-settings|)
rightmouse : remove file/directory rightmouse : remove file/directory
=0: disables mouse maps =0: disables mouse maps
*g:netrw_retmap* if it exists and is set to one, then: *g:netrw_retmap* if it exists and is set to one, then:
* if in a netrw-selected file, AND * if in a netrw-selected file, AND
* no normal-mode <2-leftmouse> mapping exists, * no normal-mode <2-leftmouse> mapping exists,
then the <2-leftmouse> will be mapped for easy then the <2-leftmouse> will be mapped for easy
@ -2110,22 +2185,22 @@ your browsing preferences. (see also: |netrw-settings|)
default: =0 default: =0
*g:netrw_rm_cmd* command for removing files *g:netrw_rm_cmd* command for removing files
default: "ssh USEPORT HOSTNAME rm" default: "ssh USEPORT HOSTNAME rm"
*g:netrw_rmdir_cmd* command for removing directories *g:netrw_rmdir_cmd* command for removing directories
default: "ssh USEPORT HOSTNAME rmdir" default: "ssh USEPORT HOSTNAME rmdir"
*g:netrw_rmf_cmd* command for removing softlinks *g:netrw_rmf_cmd* command for removing softlinks
default: "ssh USEPORT HOSTNAME rm -f" default: "ssh USEPORT HOSTNAME rm -f"
*g:netrw_sort_by* sort by "name", "time", or "size" *g:netrw_sort_by* sort by "name", "time", or "size"
default: "name" default: "name"
*g:netrw_sort_direction* sorting direction: "normal" or "reverse" *g:netrw_sort_direction* sorting direction: "normal" or "reverse"
default: "normal" default: "normal"
*g:netrw_sort_options* sorting is done using |:sort|; this *g:netrw_sort_options* sorting is done using |:sort|; this
variable's value is appended to the variable's value is appended to the
sort command. Thus one may ignore case, sort command. Thus one may ignore case,
for example, with the following in your for example, with the following in your
@ -2133,14 +2208,14 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_sort_options="i" let g:netrw_sort_options="i"
< default: "" < default: ""
*g:netrw_sort_sequence* when sorting by name, first sort by the *g:netrw_sort_sequence* when sorting by name, first sort by the
comma-separated pattern sequence. Note that comma-separated pattern sequence. Note that
the filigree added to indicate filetypes the filigree added to indicate filetypes
should be accounted for in your pattern. should be accounted for in your pattern.
default: '[\/]$,*,\.bak$,\.o$,\.h$, default: '[\/]$,*,\.bak$,\.o$,\.h$,
\.info$,\.swp$,\.obj$' \.info$,\.swp$,\.obj$'
*g:netrw_special_syntax* If true, then certain files will be shown *g:netrw_special_syntax* If true, then certain files will be shown
in special syntax in the browser: in special syntax in the browser:
netrwBak : *.bak netrwBak : *.bak
@ -2151,7 +2226,7 @@ your browsing preferences. (see also: |netrw-settings|)
netrwMakefile: [mM]akefile *.mak netrwMakefile: [mM]akefile *.mak
netrwObj : *.o *.obj netrwObj : *.o *.obj
netrwTags : tags ANmenu ANtags netrwTags : tags ANmenu ANtags
netrwTilde : *~ netrwTilde : *~
netrwTmp : tmp* *tmp netrwTmp : tmp* *tmp
These syntax highlighting groups are linked These syntax highlighting groups are linked
@ -2162,12 +2237,12 @@ your browsing preferences. (see also: |netrw-settings|)
< into one's <.vimrc> to use one's own < into one's <.vimrc> to use one's own
preferences. preferences.
*g:netrw_ssh_cmd* One may specify an executable command *g:netrw_ssh_cmd* One may specify an executable command
to use instead of ssh for remote actions to use instead of ssh for remote actions
such as listing, file removal, etc. such as listing, file removal, etc.
default: ssh default: ssh
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines, *g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
messages, banners, and whatnot that one doesn't messages, banners, and whatnot that one doesn't
want masquerading as "directories" and "files". want masquerading as "directories" and "files".
Use this pattern to remove such embedded Use this pattern to remove such embedded
@ -2175,11 +2250,11 @@ your browsing preferences. (see also: |netrw-settings|)
'^total\s\+\d\+$' '^total\s\+\d\+$'
*g:netrw_tmpfile_escape* =' &;' *g:netrw_tmpfile_escape* =' &;'
escape() is applied to all temporary files escape() is applied to all temporary files
to escape these characters. to escape these characters.
*g:netrw_timefmt* specify format string to vim's strftime(). *g:netrw_timefmt* specify format string to vim's strftime().
The default, "%c", is "the preferred date The default, "%c", is "the preferred date
and time representation for the current and time representation for the current
locale" according to my manpage entry for locale" according to my manpage entry for
@ -2189,7 +2264,7 @@ your browsing preferences. (see also: |netrw-settings|)
" %a %Y-%m-%d %I-%M-%S %p" " %a %Y-%m-%d %I-%M-%S %p"
default: "%c" default: "%c"
*g:netrw_use_noswf* netrw normally avoids writing swapfiles *g:netrw_use_noswf* netrw normally avoids writing swapfiles
for browser buffers. However, under some for browser buffers. However, under some
systems this apparently is causing nasty systems this apparently is causing nasty
ml_get errors to appear; if you're getting ml_get errors to appear; if you're getting
@ -2197,12 +2272,12 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_use_noswf= 0 let g:netrw_use_noswf= 0
in your .vimrc. in your .vimrc.
*g:netrw_winsize* specify initial size of new windows made with *g:netrw_winsize* specify initial size of new windows made with
"o" (see |netrw-o|), "v" (see |netrw-v|), "o" (see |netrw-o|), "v" (see |netrw-v|),
|:Hexplore| or |:Vexplore|. |:Hexplore| or |:Vexplore|.
default: "" default: ""
*g:netrw_xstrlen* Controls how netrw computes string lengths, *g:netrw_xstrlen* Controls how netrw computes string lengths,
including multi-byte characters' string including multi-byte characters' string
length. (thanks to N Weibull, T Mechelynck) length. (thanks to N Weibull, T Mechelynck)
=0: uses Vim's built-in strlen() =0: uses Vim's built-in strlen()
@ -2218,7 +2293,7 @@ your browsing preferences. (see also: |netrw-settings|)
immediately preceded by lam, one immediately preceded by lam, one
otherwise, etc) otherwise, etc)
*g:NetrwTopLvlMenu* This variable specifies the top level *g:NetrwTopLvlMenu* This variable specifies the top level
menu name; by default, it's "Netrw.". If menu name; by default, it's "Netrw.". If
you wish to change this, do so in your you wish to change this, do so in your
.vimrc. .vimrc.
@ -2234,7 +2309,7 @@ file you edit; this apparently also applies to directories. In other words,
autochdir sets the current directory to that containing the "file" (even if autochdir sets the current directory to that containing the "file" (even if
that "file" is itself a directory). that "file" is itself a directory).
NETRW SETTINGS *netrw-settings* {{{2 NETRW BROWSER SETTINGS *netrw-settings* {{{2
With the NetrwSettings.vim plugin, > With the NetrwSettings.vim plugin, >
:NetrwSettings :NetrwSettings
@ -2278,6 +2353,7 @@ Related topics:
directory, see |g:netrw_keepdir|. directory, see |g:netrw_keepdir|.
*netrw-createfile*
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%* OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
To open a file in netrw's current directory, press "%". This map will To open a file in netrw's current directory, press "%". This map will
@ -2293,6 +2369,18 @@ the browser (where the cursor will remain) and the file (see |:pedit|).
By default, the split will be taken horizontally; one may use vertical By default, the split will be taken horizontally; one may use vertical
splitting if one has set |g:netrw_preview| first. splitting if one has set |g:netrw_preview| first.
An interesting set of netrw settings is: >
let g:netrw_preview = 1
let g:netrw_liststyle = 3
let g:netrw_winsize = 30
These will:
1. Make vertical splitting the default for previewing files
2. Make the default listing style "tree"
3. When a vertical preview window is opened, the directory listing
will use only 30 columns; the rest of the window is used for the
preview window.
PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2 PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
@ -2523,13 +2611,13 @@ Associated setting variables: |g:netrw_chgwin|
(Vit Gottwald) How to generate public/private key and save (Vit Gottwald) How to generate public/private key and save
public key it on server: > public key it on server: >
http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter8.html#pubkey-gettingready
8.3 Getting ready for public key authentication (8.3 Getting ready for public key authentication)
< <
How to use a private key with 'pscp': > How to use a private key with 'pscp': >
http://www.tartarus.org/~simon/puttydoc/Chapter5.html http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter5.html
5.2.4 Using public key authentication with PSCP (5.2.4 Using public key authentication with PSCP)
< <
(Ben Schmidt) I find the ssh included with cwRsync is (Ben Schmidt) I find the ssh included with cwRsync is
brilliant, and install cwRsync or cwRsyncServer on most brilliant, and install cwRsync or cwRsyncServer on most
@ -2597,16 +2685,39 @@ Associated setting variables: |g:netrw_chgwin|
Multibyte encodings use two (or more) bytes per character. Multibyte encodings use two (or more) bytes per character.
You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|. 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
subdirectories. How may I fix this?
(mikeyao) If you want to use vim via ssh and putty under Windows,
try combining the use of pscp/psftp with plink. pscp/psftp will
be used to connect and plink will be used to execute commands on
the server, for example: list files and directory using 'ls'.
These are the settings I use to do this:
>
" list files, it's the key setting, if you haven't set,
" you will get a blank buffer
let g:netrw_list_cmd = "plink HOSTNAME ls -Fa"
" if you haven't add putty directory in system path, you should
" specify scp/sftp command. For examples:
"let g:netrw_sftp_cmd = "d:\\dev\\putty\\PSFTP.exe"
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
<
============================================================================== ==============================================================================
11. Debugging Netrw Itself *netrw-debug* {{{1 11. Debugging Netrw Itself *netrw-debug* {{{1
The <netrw.vim> script is typically available as: The <netrw.vim> script is typically available as something like:
> >
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim6x/autoload/netrw.vim
< -or- >
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim /usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim7x/autoload/netrw.vim /usr/local/share/vim/vim7x/autoload/netrw.vim
< -or- >
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim6x/autoload/netrw.vim
< <
which is loaded automatically at startup (assuming :set nocp). which is loaded automatically at startup (assuming :set nocp).
@ -2651,6 +2762,65 @@ which is loaded automatically at startup (assuming :set nocp).
============================================================================== ==============================================================================
12. History *netrw-history* {{{1 12. History *netrw-history* {{{1
v141: Aug 28, 2010 * added -s:... support for Windows ftp
* restored 2-leftmouse for :Rex-like return
* added balloon help for banner
Oct 26, 2010 * :Texplore changed to start from netrw's idea
of the current directory, not pwd's
Feb 10, 2011 * netrwPlugin modified to use BufReadCmd
when the "filename" ends with a "/" or a "\"
Avoids "... is a directory" message, works
inside a try-catch-endtry clause.
Feb 22, 2011 * for menus, &go =~# used to insure correct case
Apr 01, 2011 * changed g:netrw_cursorcolumn to g:netrw_cursor
In addition, there's more supported settings for
it.
v140: Jul 27, 2010 * (Lech Lorens) unexpected change of window
v139: May 14, 2010 * when viewing remote directory listings and
changing listing style, going to tree listing
mode was issuing two rather useless messages
about the buffer name. They have now been
silenced.
* (Jean Johner) with "behave mswin", clicking
on a filename in wide mode opened a new file
with a missing first letter
* (Britton Kerin) wanted netrw listings to be
buflisted; the |g:netrw_bufsettings| option
permits that.
Jun 18, 2010 * (Jan Steffens) added support for xz compression
Jun 23, 2010 * vimdiff dir1 dir2 now works
Jul 27, 2010 * (John Orr) pointed out that the intended maparg
test for gx was actually testing for g rather
than gx. Fixed.
v138: May 01, 2010 * added the bomb setting to the Save-Set-Restore
option handling (for Tony M)
May 14, 2010 * (Bram Moolenaar) netrw optionally sets cursorline
(and sometimes cursorcolumn) for its display.
This option setting was leaking through with
remote file handling.
v137: Dec 28, 2009 * modified the preview window handling for
vertically split windows. The preview
window will take up all but g:netrw_winsize
columns of the original window; those
g:netrw_winsize columns will be used for
the netrw listing.
* (Simon Dambe) removed "~" from
|g:netrw_glob_escape| under Windows
* (Bram Moolenaar) modified test for status bar
click with leftmouse. Moved code to
s:NetrwLeftmouse().
Feb 24, 2010 * (for Jean Johner) added insert-mode maps; one
can get into insert mode with netrw via
ctrl-o :e .
Mar 15, 2010 * (Dominique Pellé) Directory with backslashes such
as foo\bar were not being entered/left properly
Mar 15, 2010 * Using :Explore .. and causing two FocusGained
events caused the directory to change. Fixed.
Mar 22, 2010 * Last fix caused problems for *//pat and */filepat
searches.
Mar 30, 2010 * With :set hidden and changing listing styles 8
times, the tree listing buffer was being marked
as modified upon exit. Fixed.
v136: Jan 14, 2009 * extended |g:Netrw_funcref| to also handle lists v136: Jan 14, 2009 * extended |g:Netrw_funcref| to also handle lists
of function references of function references
Jan 14, 2009 * (reported by Marvin Renich) with spell check Jan 14, 2009 * (reported by Marvin Renich) with spell check

View File

@ -21,6 +21,12 @@
:MkVimball pi_vimball.txt /*:MkVimball* :MkVimball pi_vimball.txt /*:MkVimball*
:NetrwClean pi_netrw.txt /*:NetrwClean* :NetrwClean pi_netrw.txt /*:NetrwClean*
:Nexplore pi_netrw.txt /*:Nexplore* :Nexplore pi_netrw.txt /*:Nexplore*
:Nr pi_netrw.txt /*:Nr*
:Nread pi_netrw.txt /*:Nread*
:Ns pi_netrw.txt /*:Ns*
:Nsource pi_netrw.txt /*:Nsource*
:Nw pi_netrw.txt /*:Nw*
:Nwrite pi_netrw.txt /*:Nwrite*
:Pexplore pi_netrw.txt /*:Pexplore* :Pexplore pi_netrw.txt /*:Pexplore*
:RI visincr.txt /*:RI* :RI visincr.txt /*:RI*
:RID visincr.txt /*:RID* :RID visincr.txt /*:RID*
@ -63,9 +69,7 @@ MultipleSearch-commands MultipleSearch.txt /*MultipleSearch-commands*
MultipleSearch-mappings MultipleSearch.txt /*MultipleSearch-mappings* MultipleSearch-mappings MultipleSearch.txt /*MultipleSearch-mappings*
MultipleSearch-settings MultipleSearch.txt /*MultipleSearch-settings* MultipleSearch-settings MultipleSearch.txt /*MultipleSearch-settings*
MultipleSearch.txt MultipleSearch.txt /*MultipleSearch.txt* MultipleSearch.txt MultipleSearch.txt /*MultipleSearch.txt*
Nread pi_netrw.txt /*Nread* NetUserPass() pi_netrw.txt /*NetUserPass()*
Nsource pi_netrw.txt /*Nsource*
Nwrite pi_netrw.txt /*Nwrite*
SR SrchRplcHiGrp.txt /*SR* SR SrchRplcHiGrp.txt /*SR*
SRChooseHiGrp SrchRplcHiGrp.txt /*SRChooseHiGrp* SRChooseHiGrp SrchRplcHiGrp.txt /*SRChooseHiGrp*
SRDispHiGrp SrchRplcHiGrp.txt /*SRDispHiGrp* SRDispHiGrp SrchRplcHiGrp.txt /*SRDispHiGrp*
@ -1441,14 +1445,16 @@ g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_banner pi_netrw.txt /*g:netrw_banner* g:netrw_banner pi_netrw.txt /*g:netrw_banner*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split* g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer* g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm* g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm*
g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin* g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
g:netrw_compress pi_netrw.txt /*g:netrw_compress* g:netrw_compress pi_netrw.txt /*g:netrw_compress*
g:netrw_ctags pi_netrw.txt /*g:netrw_ctags* g:netrw_ctags pi_netrw.txt /*g:netrw_ctags*
g:netrw_cursorline pi_netrw.txt /*g:netrw_cursorline* g:netrw_cursor pi_netrw.txt /*g:netrw_cursor*
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin* g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd* g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
g:netrw_decompress pi_netrw.txt /*g:netrw_decompress* g:netrw_decompress pi_netrw.txt /*g:netrw_decompress*
g:netrw_dirhistmax pi_netrw.txt /*g:netrw_dirhistmax*
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse* g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd* g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape* g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
@ -1610,6 +1616,7 @@ netrw-clean pi_netrw.txt /*netrw-clean*
netrw-contents pi_netrw.txt /*netrw-contents* netrw-contents pi_netrw.txt /*netrw-contents*
netrw-copyright pi_netrw.txt /*netrw-copyright* netrw-copyright pi_netrw.txt /*netrw-copyright*
netrw-cr pi_netrw.txt /*netrw-cr* netrw-cr pi_netrw.txt /*netrw-cr*
netrw-createfile pi_netrw.txt /*netrw-createfile*
netrw-credits pi_netrw.txt /*netrw-credits* netrw-credits pi_netrw.txt /*netrw-credits*
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h* netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l* netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
@ -1633,7 +1640,9 @@ netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp* netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-ftype pi_netrw.txt /*netrw-ftype* netrw-ftype pi_netrw.txt /*netrw-ftype*
netrw-gb pi_netrw.txt /*netrw-gb* netrw-gb pi_netrw.txt /*netrw-gb*
netrw-gd pi_netrw.txt /*netrw-gd*
netrw-getftype pi_netrw.txt /*netrw-getftype* netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gf pi_netrw.txt /*netrw-gf*
netrw-gh pi_netrw.txt /*netrw-gh* netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gp pi_netrw.txt /*netrw-gp* netrw-gp pi_netrw.txt /*netrw-gp*
netrw-gx pi_netrw.txt /*netrw-gx* netrw-gx pi_netrw.txt /*netrw-gx*
@ -1675,6 +1684,7 @@ netrw-mx pi_netrw.txt /*netrw-mx*
netrw-mz pi_netrw.txt /*netrw-mz* netrw-mz pi_netrw.txt /*netrw-mz*
netrw-netrc pi_netrw.txt /*netrw-netrc* netrw-netrc pi_netrw.txt /*netrw-netrc*
netrw-nexplore pi_netrw.txt /*netrw-nexplore* netrw-nexplore pi_netrw.txt /*netrw-nexplore*
netrw-noload pi_netrw.txt /*netrw-noload*
netrw-nread pi_netrw.txt /*netrw-nread* netrw-nread pi_netrw.txt /*netrw-nread*
netrw-nwrite pi_netrw.txt /*netrw-nwrite* netrw-nwrite pi_netrw.txt /*netrw-nwrite*
netrw-o pi_netrw.txt /*netrw-o* netrw-o pi_netrw.txt /*netrw-o*
@ -1684,6 +1694,7 @@ netrw-p1 pi_netrw.txt /*netrw-p1*
netrw-p10 pi_netrw.txt /*netrw-p10* netrw-p10 pi_netrw.txt /*netrw-p10*
netrw-p11 pi_netrw.txt /*netrw-p11* netrw-p11 pi_netrw.txt /*netrw-p11*
netrw-p12 pi_netrw.txt /*netrw-p12* netrw-p12 pi_netrw.txt /*netrw-p12*
netrw-p13 pi_netrw.txt /*netrw-p13*
netrw-p2 pi_netrw.txt /*netrw-p2* netrw-p2 pi_netrw.txt /*netrw-p2*
netrw-p3 pi_netrw.txt /*netrw-p3* netrw-p3 pi_netrw.txt /*netrw-p3*
netrw-p4 pi_netrw.txt /*netrw-p4* netrw-p4 pi_netrw.txt /*netrw-p4*
@ -1734,7 +1745,6 @@ netrw-texplore pi_netrw.txt /*netrw-texplore*
netrw-todo pi_netrw.txt /*netrw-todo* netrw-todo pi_netrw.txt /*netrw-todo*
netrw-transparent pi_netrw.txt /*netrw-transparent* netrw-transparent pi_netrw.txt /*netrw-transparent*
netrw-u pi_netrw.txt /*netrw-u* netrw-u pi_netrw.txt /*netrw-u*
netrw-uidpass pi_netrw.txt /*netrw-uidpass*
netrw-updir pi_netrw.txt /*netrw-updir* netrw-updir pi_netrw.txt /*netrw-updir*
netrw-urls pi_netrw.txt /*netrw-urls* netrw-urls pi_netrw.txt /*netrw-urls*
netrw-userpass pi_netrw.txt /*netrw-userpass* netrw-userpass pi_netrw.txt /*netrw-userpass*

View File

@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network " netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION " PLUGIN SECTION
" Date: Aug 10, 2008 " Date: Feb 10, 2011
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin") if &cp || exists("g:loaded_netrwPlugin")
finish finish
endif endif
let g:loaded_netrwPlugin = "v136" let g:loaded_netrwPlugin = "v141"
if v:version < 702 if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
finish finish
@ -34,9 +34,13 @@ set cpo&vim
" Local Browsing: {{{2 " Local Browsing: {{{2
augroup FileExplorer augroup FileExplorer
au! au!
au BufEnter * silent! call s:LocalBrowse(expand("<amatch>")) " au BufReadCmd *[/\\] sil! call s:LocalBrowse(expand("<amatch>"))
" au BufEnter *[^/\\] sil! call s:LocalBrowse(expand("<amatch>"))
" au VimEnter *[^/\\] sil! call s:VimEnter(expand("<amatch>"))
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
if has("win32") || has("win95") || has("win64") || has("win16") if has("win32") || has("win95") || has("win64") || has("win16")
au BufEnter .* silent! call s:LocalBrowse(expand("<amatch>")) au BufEnter .* sil! call s:LocalBrowse(expand("<amatch>"))
endif endif
augroup END augroup END
@ -44,10 +48,10 @@ augroup END
augroup Network augroup Network
au! au!
if has("win32") || has("win95") || has("win64") || has("win16") if has("win32") || has("win95") || has("win64") || has("win16")
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>"))) au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
else else
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>"))) au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>"))) au BufReadCmd file://localhost/* call netrw#FileUrlRead(substitute(expand("<amatch>")),'file://localhost/','file:///','')
endif endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>")) au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>")) au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
@ -80,7 +84,7 @@ com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
com! -bang NetrwClean call netrw#NetrwClean(<bang>0) com! -bang NetrwClean call netrw#NetrwClean(<bang>0)
" Maps: " Maps:
if !exists("g:netrw_nogx") && maparg('g','n') == "" if !exists("g:netrw_nogx") && maparg('gx','n') == ""
if !hasmapto('<Plug>NetrwBrowseX') if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX nmap <unique> gx <Plug>NetrwBrowseX
endif endif
@ -99,15 +103,23 @@ fun! s:LocalBrowse(dirname)
" string is the current directory and not checking would break " string is the current directory and not checking would break
" things such as the help command. " things such as the help command.
if a:dirname != '' && isdirectory(a:dirname) if a:dirname != '' && isdirectory(a:dirname)
silent! call netrw#LocalBrowseCheck(a:dirname) sil! call netrw#LocalBrowseCheck(a:dirname)
endif endif
elseif isdirectory(a:dirname) elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir" " echomsg "dirname<".dirname."> isdir"
silent! call netrw#LocalBrowseCheck(a:dirname) sil! call netrw#LocalBrowseCheck(a:dirname)
endif endif
" not a directory, ignore it " not a directory, ignore it
endfun endfun
" ---------------------------------------------------------------------
" s:VimEnter: {{{2
fun! s:VimEnter(dirname)
let curwin= winnr()
windo if a:dirname != expand("%")|call s:LocalBrowse(expand("%:p"))|endif
exe curwin."wincmd w"
endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" NetrwStatusLine: {{{1 " NetrwStatusLine: {{{1
fun! NetrwStatusLine() fun! NetrwStatusLine()

View File

@ -88,7 +88,7 @@ if !exists("did_drchip_netrwlist_syntax")
hi default link netrwTimeSep netrwDateSep hi default link netrwTimeSep netrwDateSep
hi default link netrwComma netrwComment hi default link netrwComma netrwComment
hi default link netrwHide netrwComment hi default link netrwHide netrwComment
hi default link netrwMarkFile Identifier hi default link netrwMarkFile DiffChange
" 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 netrwBak NonText