# Vim documentation: pi_netrw

main help file

    *pi_netrw.txt*   For Vim version 6.0at.  Last change: 2001 Jul 28

    		  VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.

    *http* *scp* *rcp*

    Network-Oriented File Transfers with Vim		*netrw* *network*
    1. Network-Oriented File Transfer			|netrw-xfer|
    2. Activation						|netrw-activate|
    3. Ex Commands						|netrw-ex|
    4. Variables						|netrw-var|

    The functionality mentioned here is a |standard-plugin|.
    This plugin is only available if 'compatible' is not set.
    You can avoid loading this plugin by setting the "loaded_netrw" variable:
    	:let loaded_netrw = 1

    {Vi does not have any of this}

    ==============================================================================

    1. Network-Oriented File Transfer			*netrw-xfer*

    Network-oriented file transfer under Vim is implemented by a VimL-based
    script (<netrw.vim>).  It currently supports both reading and writing
    across networks using rcp, scp, ftp, or ftp+<.netrc> as appropriate.
    http is supported read-only.

        Reading				Writing			Uses
        --------------------------	---------------------------	----------
        * rcp://machine/path	* rcp://machine/path		rcp
        :Nread rcp://machine/path	:Nwrite rcp://machine/path		rcp

        * scp://machine/path	* scp://machine/path		scp
        :Nread scp://machine/path	:Nwrite scp://machine/path		scp

     *	ftp://machine/path *	ftp://machine/path ftp
     :Nread	ftp://machine/path :Nwrite	ftp://machine/path ftp+**
        :Nread machine path		:Nwrite machine path		ftp+.netrc
        :Nread machine uid pass path	:Nwrite machine uid pass path	ftp

     *	http://machine/path wget
     :Nread	http://machine/path wget

    	(*) transparent file transfer: i.e. vim rcp://machine/path
     :r	ftp://machine/path
     :w	ftp://machine/path

    	(**) if <.netrc> is present, it is assumed that it will
    	     work with your ftp client.  Otherwise the script will
    	     prompt for user-id and pasword.

    Both the :Nread and the :Nwrite command can accept multiple filenames:

    	:Nread rcp://machine/path1 rcp://machine/path2

    NETRC							*netrw-netrc*

    The ftp transfers can make use of the optional <.netrc> file.  The typical
    syntax for lines in a <.netrc> file is given as shown below.

    	machine {full machine name} login {user-id} password "{password}"
    	default			    login {user-id} password "{password}"

    Your ftp client must handle the use of <.netrc> on its own, but if the
    <.netrc> file exists, an ftp transfer will not ask for the user-id or
    password.

    	Note:
    	Since this file contains passwords, make very sure nobody else can
    	read this file!  Most programs will refuse to use a .netrc that is
    	readable for others.  Don't forget that the system administrator can
    	still read the file!

    PASSWORD						*netrw-passwd*

    The script attempts to get passwords for ftp invisibly.  If the user has
    explicitly specified both foreground and background colors for Normal
    highlighting (see following example)

      hi Normal      term=NONE cterm=NONE gui=NONE  start=<Esc>[m<Esc>[1;32;m
      \		 stop=t_me   guifg=green      guibg=navyblue  ctermfg=2

    then the script can use those colors to keep the password request
    "invisible".  See |netrw-uidpass| for how to change the password after
    one has set it.

    ==============================================================================

    2. Activation						*netrw-activate*

    Network-oriented file transfers are available by default whenever
    |'nocompatible'| mode is enabled.

    TRANSPARENT FILE TRANSFER				*netrw-transparent*

    Transparent file transfers occur whenever a regular file read or write
    (invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is
    made.  Thus one may use files across networks as if they were local.

    	vim ftp://machine/path
    	...
    	:wq

    ==============================================================================

    3. Ex Commands						*netrw-ex*

    The usual read/write commands are supported.  There are also a couple of
    additional commands available.

    :[range]Nw			Write the specified lines to the current
    				file as specified in b:netrw_lastfile.

    :[range]Nw {netfile} [{netfile}]...
    				Write the specified lines to the {netfile}.

    :Nread				Read the specified lines into the current
    				buffer from the file specified in
    				b:netrw_lastfile.

    :Nread {netfile} {netfile}...	Read the {netfile} after the current line.

    							*netrw-uidpass*
    :call NetUserPass()		If b:netrw_uid and b:netrw_passwd don't exist,
    				this function query the user for them.

    :call NetUserPass("userid")	This call will set the b:netrw_uid and, if
    				the password doesn't exist, will query the
    				user for it.

    :call NetUserPass("userid","passwd")
    				This call will set both the b:netrw_uid and
    				b:netrw_passwd.  The user-id and password
    				are used by ftp transfers.  One may
    				effectively remove the user-id and password
    				by using "" strings.

    ==============================================================================

    4. Variables						*netrw-var*

    The script <netrw.vim> uses several variables:

    	netrw_uid			Holds current user-id for ftp.
    	netrw_passwd		Holds current password for ftp.
    	b:netrw_lastfile	Holds latest method/machine/path.

    The script will also make use of the following variables internally,
    albeit temporarily.

    	s:netrw_method		Index indicating rcp/ftp+.netrc/ftp
    	s:netrw_machine		Holds machine name parsed from input
    	s:netrw_fname       Holds filename being accessed

    ==============================================================================
    top - main help file