git-svn-id: https://vimsuite.svn.sourceforge.net/svnroot/vimsuite/trunk@133 eb2d0018-73a3-4aeb-bfe9-1def61c9ec69
2134 lines
95 KiB
Plaintext
2134 lines
95 KiB
Plaintext
*pi_netrw.txt* For Vim version 7.0. Last change: 2007 Mar 21
|
|
|
|
-----------------------------------------------------
|
|
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
|
|
-----------------------------------------------------
|
|
|
|
|
|
*dav* *http* *network* *Nwrite* *netrw-file*
|
|
*fetch* *netrw* *Nread* *rcp* *scp*
|
|
*ftp* *netrw.vim* *Nsource* *rsync* *sftp*
|
|
|
|
==============================================================================
|
|
1. Contents *netrw-contents*
|
|
|
|
1. Contents.............................................|netrw-contents|
|
|
2. Starting With Netrw..................................|netrw-start|
|
|
3. Netrw Reference......................................|netrw-ref|
|
|
CONTROLLING EXTERNAL APPLICATIONS..................|netrw-externapp|
|
|
READING............................................|netrw-read|
|
|
WRITING............................................|netrw-write|
|
|
DIRECTORY LISTING..................................|netrw-dirlist|
|
|
CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
|
|
VARIABLES..........................................|netrw-variables|
|
|
PATHS..............................................|netrw-path|
|
|
4. Network-Oriented File Transfer.......................|netrw-xfer|
|
|
NETRC..............................................|netrw-netrc|
|
|
PASSWORD...........................................|netrw-passwd|
|
|
5. Activation...........................................|netrw-activate|
|
|
6. Transparent File Transfer............................|netrw-transparent|
|
|
7. Ex Commands..........................................|netrw-ex|
|
|
8. Variables and Options................................|netrw-var|
|
|
9. Directory Browsing...................................|netrw-browse| {{{1
|
|
Maps...............................................|netrw-maps|
|
|
Exploring..........................................|netrw-explore-cmds|
|
|
Quick Reference Commands Table.....................|netrw-browse-cmds|
|
|
Netrw Browser Variables............................|netrw-browse-var|
|
|
Introduction To Directory Browsing.................|netrw-browse-intro|
|
|
Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
|
|
Directory Exploring Commands.......................|netrw-explore|
|
|
Refreshing The Listing.............................|netrw-ctrl-l|
|
|
Going Up...........................................|netrw--|
|
|
Browsing...........................................|netrw-cr|
|
|
Obtaining A File...................................|netrw-O|
|
|
Change Listing Style...............................|netrw-i|
|
|
Making A New Directory.............................|netrw-d|
|
|
Deleting Files Or Directories......................|netrw-D|
|
|
Renaming Files Or Directories......................|netrw-move|
|
|
Hiding Files Or Directories........................|netrw-a|
|
|
Edit File Or Directory Hiding List.................|netrw-ctrl-h|
|
|
Browsing With A Horizontally Split Window..........|netrw-o|
|
|
Browsing With A Vertically Split Window............|netrw-v|
|
|
Browsing With A New Tab............................|netrw-t|
|
|
Preview Window.....................................|netrw-p|
|
|
Selecting Sorting Style............................|netrw-s|
|
|
Editing The Sorting Sequence.......................|netrw-S|
|
|
Reversing Sorting Order............................|netrw-r|
|
|
Changing To A Predecessor Directory................|netrw-u|
|
|
Changing To A Successor Directory..................|netrw-U|
|
|
Customizing Browsing With A User Function..........|netrw-x|
|
|
Making The Browsing Directory The Current Directory|netrw-c|
|
|
Bookmarking A Directory............................|netrw-mb|
|
|
Changing To A Bookmarked Directory.................|netrw-gb|
|
|
Listing Bookmarks And History......................|netrw-q|
|
|
Improving Directory Browsing.......................|netrw-listhack| }}}1
|
|
10. Problems and Fixes...................................|netrw-problems|
|
|
11. Debugging............................................|netrw-debug|
|
|
12. History..............................................|netrw-history|
|
|
13. Credits..............................................|netrw-credits|
|
|
|
|
The Netrw plugin is generally sourced automatically as it is a
|
|
|standard-plugin|. That said, to make use of netrw, one must
|
|
have plugins available which can be done with the following
|
|
two lines in your <.vimrc>: >
|
|
|
|
set nocp " 'compatible' is not set
|
|
filetype plugin on " plugins are enabled
|
|
<
|
|
You can avoid loading this plugin by setting the "loaded_netrw" variable
|
|
in your <.vimrc> file: >
|
|
|
|
:let loaded_netrw = 1
|
|
|
|
{Vi does not have any of this}
|
|
|
|
==============================================================================
|
|
2. Starting With Netrw *netrw-start*
|
|
|
|
Netrw makes reading, writing, and browsing over a network connection easy!
|
|
First, make sure that you have plugins enabled, so you'll need to have at
|
|
least the following in your <.vimrc>: (or see |netrw-activate|) >
|
|
|
|
set nocp " 'compatible' is not set
|
|
filetype plugin on " plugins are enabled
|
|
<
|
|
(see |'cp'| and |:filetype-plugin-on|)
|
|
|
|
Netrw supports "transparent" editing of files on other machines using urls
|
|
(see |netrw-transparent|). As an example of this, let's assume you have an
|
|
account on some other machine; try >
|
|
|
|
vim scp://hostname/path/to/file
|
|
<
|
|
if you have an ssh connection. Want to make ssh/scp easier to use? Check
|
|
out |netrw-listhack|!
|
|
|
|
What if you have ftp, not ssh/scp? That's easy, too; try >
|
|
|
|
vim ftp://hostname/path/to/file
|
|
<
|
|
Want to make ftp simpler to use? See if your ftp supports a file called
|
|
<.netrc> -- typically it goes in your home directory, has read/write
|
|
permissions for only the user to read (ie. not group, world, other, etc),
|
|
and has lines resembling >
|
|
|
|
machine HOSTNAME login USERID password "PASSWORD"
|
|
machine HOSTNAME login USERID password "PASSWORD"
|
|
...
|
|
default login USERID password "PASSWORD"
|
|
<
|
|
Now about browsing -- ie. when you just want to look around before editing a
|
|
file. For browsing on your current host, just "edit" a directory: >
|
|
|
|
vim .
|
|
vim /home/userid/path
|
|
<
|
|
For browsing on a remote host, "edit" a directory (but make sure that
|
|
the directory name is followed by a "/"): >
|
|
|
|
vim scp://hostname/
|
|
vim ftp://hostname/path/to/dir/
|
|
<
|
|
See |netrw-browse| for more!
|
|
|
|
There's more protocols supported than scp and ftp, too: see the next
|
|
section, |netrw-externapp|.
|
|
|
|
==============================================================================
|
|
3. Netrw Reference *netrw-ref*
|
|
|
|
CONTROLLING EXTERNAL APPLICATIONS *netrw-externapp*
|
|
|
|
Protocol Variable Default Value
|
|
-------- ---------------- -------------
|
|
dav: *g:netrw_dav_cmd* = "cadaver"
|
|
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
|
|
ftp: *g:netrw_ftp_cmd* = "ftp"
|
|
http: *g:netrw_http_cmd* = "curl -o" if curl is available
|
|
http: g:netrw_http_cmd = "wget -q -O" else if wget is available
|
|
http: g:netrw_http_cmd = "fetch -o" else if fetch is available
|
|
rcp: *g:netrw_rcp_cmd* = "rcp"
|
|
rsync: *g:netrw_rsync_cmd* = "rsync -a"
|
|
scp: *g:netrw_scp_cmd* = "scp -q"
|
|
sftp: *g:netrw_sftp_cmd* = "sftp"
|
|
|
|
READING *netrw-read* *netrw-nread*
|
|
:Nread ? give help
|
|
:Nread "machine:path" uses rcp
|
|
:Nread "machine path" uses ftp w/ <.netrc>
|
|
:Nread "machine id password path" uses ftp
|
|
:Nread "dav://machine[:port]/path" uses cadaver
|
|
:Nread "fetch://[user@]machine/path" uses fetch
|
|
:Nread "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
|
|
:Nread "http://[user@]machine/path" uses http uses wget
|
|
:Nread "rcp://[user@]machine/path" uses rcp
|
|
:Nread "rsync://[user@]machine[:port]/path" uses rsync
|
|
:Nread "scp://[user@]machine[[:#]port]/path" uses scp
|
|
:Nread "sftp://[user@]machine/path" uses sftp
|
|
|
|
WRITING *netrw-write* *netrw-nwrite*
|
|
:Nwrite ? give help
|
|
:Nwrite "machine:path" uses rcp
|
|
:Nwrite "machine path" uses ftp w/ <.netrc>
|
|
:Nwrite "machine id password path" uses ftp
|
|
:Nwrite "dav://machine[:port]/path" uses cadaver
|
|
:Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
|
|
:Nwrite "rcp://[user@]machine/path" uses rcp
|
|
:Nwrite "rsync://[user@]machine[:port]/path" uses rsync
|
|
:Nwrite "scp://[user@]machine[[:#]port]/path" uses scp
|
|
:Nwrite "sftp://[user@]machine/path" uses sftp
|
|
http: not supported!
|
|
|
|
SOURCING *netrw-source*
|
|
:Nsource ? give help
|
|
:Nsource "dav://machine[:port]/path" uses cadaver
|
|
:Nsource "fetch://[user@]machine/path" uses fetch
|
|
:Nsource "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
|
|
:Nsource "http://[user@]machine/path" uses http uses wget
|
|
:Nsource "rcp://[user@]machine/path" uses rcp
|
|
:Nsource "rsync://[user@]machine[:port]/path" uses rsync
|
|
:Nsource "scp://[user@]machine[[:#]port]/path" uses scp
|
|
:Nsource "sftp://[user@]machine/path" uses sftp
|
|
|
|
DIRECTORY LISTING *netrw-dirlist*
|
|
:Nread [protocol]://[user]@hostname/path/
|
|
|
|
*netrw-login* *netrw-password*
|
|
CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass*
|
|
Attempts to use ftp will prompt you for a user-id and a password.
|
|
These will be saved in g:netrw_uid and g:netrw_passwd Subsequent uses
|
|
of ftp will re-use those. If you need to use a different user id
|
|
and/or password, you'll want to call NetUserPass() first.
|
|
|
|
:NetUserPass [uid [password]] -- prompts as needed
|
|
:call NetUserPass() -- prompts for uid and password
|
|
:call NetUserPass("uid") -- prompts for password
|
|
:call NetUserPass("uid","password") -- sets global uid and password
|
|
|
|
VARIABLES *netrw-variables*
|
|
|
|
(see also: |netrw-browse-var||netrw-protocol||netrw-settings||netrw-var|)
|
|
|
|
*b:netrw_lastfile* last file Network-read/written retained on a per-buffer
|
|
basis (supports plain :Nw )
|
|
|
|
*g:netrw_ftp* if it doesn't exist, use default ftp
|
|
=0 use default ftp (uid password)
|
|
=1 use alternate ftp method (user uid password)
|
|
If you're having trouble with ftp, try changing the
|
|
value of this variable to see if the alternate ftp
|
|
method works for your setup.
|
|
|
|
*g:netrw_extracmd* default: doesn't exist
|
|
If this variable exists, then any string it contains
|
|
will be placed into the commands set to your ftp
|
|
client. As an example:
|
|
="passive"
|
|
|
|
*g:netrw_ftpmode* ="binary" (default)
|
|
="ascii"
|
|
|
|
*g:netrw_ignorenetrc* =0 (default for linux, cygwin)
|
|
=1 If you have a <.netrc> file but it doesn't work and
|
|
you want it ignored, then set this variable as shown.
|
|
(default for Windows + cmd.exe)
|
|
|
|
*g:netrw_menu* =0 disable netrw's menu
|
|
=1 (default) netrw's menu enabled
|
|
|
|
*g:netrw_nogx* if this variable exists, then the "gx" map will not
|
|
be available (see |netrw-gx|)
|
|
|
|
*g:netrw_uid* (ftp) user-id, retained on a per-session basis
|
|
*g:netrw_passwd* (ftp) password, retained on a per-session basis
|
|
|
|
*g:netrw_shq* = "'" for Unix/Linux systems (ie. a single quote)
|
|
= "'" for Windows + cygwin systems (ie. a single quote)
|
|
= '"' for Windows systems, not using cygwin
|
|
(ie. a double quote)
|
|
Controls the quoting character used during scp and ftp
|
|
commands.
|
|
|
|
*g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank
|
|
lines that o/s's ftp "provides" on transfers
|
|
=0 force normal ftp behavior (no trailing line removal)
|
|
|
|
*g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
|
|
permits network browsing to use ls with time and
|
|
size sorting (default if windows)
|
|
=0 assume Windows' scp accepts windows-style paths
|
|
Network browsing uses dir instead of ls
|
|
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
|
|
=1 use WinNT's rcp in binary mode (default)
|
|
|
|
PATHS *netrw-path*
|
|
|
|
Paths to files are generally user-directory relative for most protocols.
|
|
It is possible that some protocol will make paths relative to some
|
|
associated directory, however.
|
|
>
|
|
example: vim scp://user@host/somefile
|
|
example: vim scp://user@host/subdir1/subdir2/somefile
|
|
<
|
|
where "somefile" is the "user"'s home directory. If you wish to get a
|
|
file using root-relative paths, use the full path:
|
|
>
|
|
example: vim scp://user@host//somefile
|
|
example: vim scp://user@host//subdir1/subdir2/somefile
|
|
<
|
|
|
|
==============================================================================
|
|
4. Network-Oriented File Transfer *netrw-xfer*
|
|
|
|
Network-oriented file transfer under Vim is implemented by a VimL-based script
|
|
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
|
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
|
dav/cadaver, rsync, or sftp.
|
|
|
|
http is currently supported read-only via use of wget or fetch.
|
|
|
|
<netrw.vim> is a standard plugin which acts as glue between Vim and the
|
|
various file transfer programs. It uses autocommand events (BufReadCmd,
|
|
FileReadCmd, BufWriteCmd) to intercept reads/writes with url-like filenames. >
|
|
|
|
ex. vim ftp://hostname/path/to/file
|
|
<
|
|
The characters preceding the colon specify the protocol to use; in the
|
|
example, its ftp. The <netrw.vim> script then formulates a command or a
|
|
series of commands (typically ftp) which it issues to an external program
|
|
(ftp, scp, etc) which does the actual file transfer/protocol. Files are read
|
|
from/written to a temporary file (under Unix/Linux, /tmp/...) which the
|
|
<netrw.vim> script will clean up.
|
|
|
|
*netrw-putty* *netrw-pscp* *netrw-psftp*
|
|
One may modify any protocol's implementing external application by setting a
|
|
variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
|
"scp -q"). As an example, consider using PuTTY: >
|
|
|
|
let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
|
|
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
|
<
|
|
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
|
|
|
Ftp, an old protocol, seems to be blessed by numerous implementations.
|
|
Unfortunately, some implementations are noisy (ie., add junk to the end of the
|
|
file). Thus, concerned users may decide to write a NetReadFixup() function
|
|
that will clean up after reading with their ftp. Some Unix systems (ie.,
|
|
FreeBSD) provide a utility called "fetch" which uses the ftp protocol but is
|
|
not noisy and more convenient, actually, for <netrw.vim> to use.
|
|
Consequently, if "fetch" is executable, it will be used to do reads for
|
|
ftp://... (and http://...) . See |netrw-var| for more about this.
|
|
|
|
For rcp, scp, sftp, and http, one may use network-oriented file transfers
|
|
transparently; ie.
|
|
>
|
|
vim rcp://[user@]machine/path
|
|
vim scp://[user@]machine/path
|
|
<
|
|
If your ftp supports <.netrc>, then it too can be just as transparently used
|
|
if the needed triad of machine name, user id, and password are present in
|
|
that file. Your ftp must be able to use the <.netrc> file on its own, however.
|
|
>
|
|
vim ftp://[user@]machine[[:#]portnumber]/path
|
|
<
|
|
However, ftp will often need to query the user for the userid and password.
|
|
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
|
|
for subsequent read/writes from the most recent transfer so subsequent
|
|
transfers (read/write) to or from that machine will take place without
|
|
additional prompting.
|
|
|
|
*netrw-urls*
|
|
+=================================+============================+============+
|
|
| Reading | Writing | Uses |
|
|
+=================================+============================+============+
|
|
| DAV: | | |
|
|
| dav://host/path | | cadaver |
|
|
| :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
|
|
+---------------------------------+----------------------------+------------+
|
|
| FETCH: | | |
|
|
| fetch://[user@]host/path | | |
|
|
| fetch://[user@]host:http/path | Not Available | fetch |
|
|
| :Nread fetch://[user@]host/path| | |
|
|
+---------------------------------+----------------------------+------------+
|
|
| FILE: | | |
|
|
| file:///* | file:///* | |
|
|
| file://localhost/* | file://localhost/* | |
|
|
+---------------------------------+----------------------------+------------+
|
|
| FTP: (*3) | (*3) | |
|
|
| ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
|
|
| :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
|
|
| :Nread host path | :Nwrite host path | ftp+.netrc |
|
|
| :Nread host uid pass path | :Nwrite host uid pass path | ftp |
|
|
+---------------------------------+----------------------------+------------+
|
|
| HTTP: wget is executable: (*4) | | |
|
|
| http://[user@]host/path | Not Available | wget |
|
|
+---------------------------------+----------------------------+------------+
|
|
| HTTP: fetch is executable (*4) | | |
|
|
| http://[user@]host/path | Not Available | fetch |
|
|
+---------------------------------+----------------------------+------------+
|
|
| RCP: | | |
|
|
| rcp://[user@]host/path | rcp://[user@]host/path | rcp |
|
|
+---------------------------------+----------------------------+------------+
|
|
| RSYNC: | | |
|
|
| rsync://[user@]host/path | rsync://[user@]host/path | rsync |
|
|
| :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
|
|
| :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
|
|
+---------------------------------+----------------------------+------------+
|
|
| SCP: | | |
|
|
| scp://[user@]host/path | scp://[user@]host/path | scp |
|
|
| :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
|
|
+---------------------------------+----------------------------+------------+
|
|
| SFTP: | | |
|
|
| sftp://[user@]host/path | sftp://[user@]host/path | sftp |
|
|
| :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
|
|
+=================================+============================+============+
|
|
|
|
(*1) For an absolute path use scp://machine//path.
|
|
|
|
(*2) if <.netrc> is present, it is assumed that it will
|
|
work with your ftp client. Otherwise the script will
|
|
prompt for user-id and password.
|
|
|
|
(*3) for ftp, "machine" may be machine#port or machine:port
|
|
if a different port is needed than the standard ftp port
|
|
|
|
(*4) for http:..., if wget is available it will be used. Otherwise,
|
|
if fetch is available it will be used.
|
|
|
|
Both the :Nread and the :Nwrite ex-commands can accept multiple filenames.
|
|
|
|
|
|
NETRC *netrw-netrc*
|
|
|
|
The typical syntax for lines in a <.netrc> file is given as shown below.
|
|
Ftp under Unix usually supports <.netrc>; ftp under Windows usually doesn't.
|
|
>
|
|
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 using |inputsecret()|,
|
|
a built-in Vim function. See |netrw-uidpass| for how to change the password
|
|
after one has set it.
|
|
|
|
Unfortunately there doesn't appear to be a way for netrw to feed a password to
|
|
scp. Thus every transfer via scp will require re-entry of the password.
|
|
However, |netrw-listhack| can help with this problem.
|
|
|
|
|
|
==============================================================================
|
|
5. Activation *netrw-activate*
|
|
|
|
Network-oriented file transfers are available by default whenever Vim's
|
|
|'nocompatible'| mode is enabled. The <netrw.vim> file resides in your
|
|
system's vim-plugin directory and is sourced automatically whenever you bring
|
|
up vim. I suggest that, at a minimum, you have at least the following in your
|
|
<.vimrc> customization file: >
|
|
|
|
set nocp
|
|
if version >= 600
|
|
filetype plugin indent on
|
|
endif
|
|
<
|
|
|
|
==============================================================================
|
|
6. 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 just as simply as if they were local. >
|
|
|
|
vim ftp://[user@]machine/path
|
|
...
|
|
:wq
|
|
|
|
See |netrw-activate| for more on how to encourage your vim to use plugins
|
|
such as netrw.
|
|
|
|
|
|
==============================================================================
|
|
7. Ex Commands *netrw-ex*
|
|
|
|
The usual read/write commands are supported. There are also a few
|
|
additional commands available. Often you won't need to use Nw or
|
|
Nread as shown in |netrw-transparent| (ie. simply use >
|
|
:e url
|
|
:r url
|
|
:w url
|
|
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
|
below, a {netfile} is an url to a remote file.
|
|
|
|
:[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.
|
|
|
|
:Nsource {netfile}
|
|
Source the {netfile}.
|
|
To start up vim using a remote .vimrc, one may use
|
|
the following (all on one line) (tnx to Antoine Mechelynck) >
|
|
vim -u NORC -N
|
|
--cmd "runtime plugin/netrwPlugin.vim"
|
|
--cmd "source scp://HOSTNAME/.vimrc"
|
|
< *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.
|
|
|
|
:NetrwSettings This command is described in |netrw-settings| -- used to
|
|
display netrw settings and change netrw behavior.
|
|
|
|
|
|
==============================================================================
|
|
8. Variables and Options *netrw-options* *netrw-var*
|
|
|
|
The <netrw.vim> script provides several variables which act as options to
|
|
ffect <netrw.vim>'s behavior. These variables typically may be set in the
|
|
user's <.vimrc> file:
|
|
(see also: |netrw-settings||netrw-browse-var||netrw-protocol||netrw-settings|) >
|
|
|
|
-------------
|
|
Netrw Options
|
|
-------------
|
|
Option Meaning
|
|
-------------- -----------------------------------------------
|
|
<
|
|
b:netrw_col Holds current cursor position (during NetWrite)
|
|
g:netrw_cygwin =1 assume scp under windows is from cygwin
|
|
(default/windows)
|
|
=0 assume scp under windows accepts windows
|
|
style paths (default/else)
|
|
g:netrw_ftp =0 use default ftp (uid password)
|
|
g:netrw_ftpmode ="binary" (default)
|
|
="ascii" (your choice)
|
|
g:netrw_ignorenetrc =1 (default)
|
|
if you have a <.netrc> file but you don't
|
|
want it used, then set this variable. Its
|
|
mere existence is enough to cause <.netrc>
|
|
to be ignored.
|
|
b:netrw_lastfile Holds latest method/machine/path.
|
|
b:netrw_line Holds current line number (during NetWrite)
|
|
g:netrw_passwd Holds current password for ftp.
|
|
g:netrw_silent =0 transfers done normally
|
|
=1 transfers done silently
|
|
g:netrw_uid Holds current user-id for ftp.
|
|
=1 use alternate ftp (user uid password)
|
|
(see |netrw-options|)
|
|
g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
|
|
=1 use WinNT/2K/XP's rcp, binary mode
|
|
g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
|
|
=1 use default method to do ftp >
|
|
-----------------------------------------------------------------------
|
|
<
|
|
The script will also make use of the following variables internally, albeit
|
|
temporarily.
|
|
>
|
|
-------------------
|
|
Temporary Variables
|
|
-------------------
|
|
Variable Meaning
|
|
-------- ------------------------------------
|
|
<
|
|
g:netrw_method Index indicating rcp/ftp+.netrc/ftp
|
|
g:netrw_machine Holds machine name parsed from input
|
|
g:netrw_fname Holds filename being accessed >
|
|
------------------------------------------------------------
|
|
<
|
|
*netrw-protocol*
|
|
|
|
Netrw supports a number of protocols. These protocols are invoked using the
|
|
variables listed below, and may be modified by the user.
|
|
>
|
|
------------------------
|
|
Protocol Control Options
|
|
------------------------
|
|
Option Type Setting Meaning
|
|
--------- -------- -------------- ---------------------------
|
|
<
|
|
netrw_ftp variable =doesn't exist userid set by "user userid"
|
|
=0 userid set by "user userid"
|
|
=1 userid set by "userid"
|
|
NetReadFixup function =doesn't exist no change
|
|
=exists Allows user to have files
|
|
read via ftp automatically
|
|
transformed however they wish
|
|
by NetReadFixup()
|
|
g:netrw_dav_cmd variable ="cadaver"
|
|
g:netrw_fetch_cmd variable ="fetch -o" if fetch is available
|
|
g:netrw_ftp_cmd variable ="ftp"
|
|
g:netrw_http_cmd variable ="fetch -o" if fetch is available
|
|
g:netrw_http_cmd variable ="wget -O" else if wget is available
|
|
g:netrw_list_cmd variable ="ssh USEPORT HOSTNAME ls -Fa"
|
|
g:netrw_rcp_cmd variable ="rcp"
|
|
g:netrw_rsync_cmd variable ="rsync -a"
|
|
g:netrw_scp_cmd variable ="scp -q"
|
|
g:netrw_sftp_cmd variable ="sftp" >
|
|
-------------------------------------------------------------------------
|
|
<
|
|
*netrw-ftp*
|
|
|
|
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
|
|
include command line options (such as -p for passive mode).
|
|
|
|
Browsing is supported by using the |g:netrw_list_cmd|; the substring
|
|
"HOSTNAME" will be changed via substitution with whatever the current request
|
|
is for a hostname.
|
|
|
|
Two options (|g:netrw_ftp| and |netrw-fixup|) both help with certain ftp's
|
|
that give trouble . In order to best understand how to use these options if
|
|
ftp is giving you troubles, a bit of discussion is provided on how netrw does
|
|
ftp reads.
|
|
|
|
For ftp, netrw typically builds up lines of one of the following formats in a
|
|
temporary file:
|
|
>
|
|
IF g:netrw_ftp !exists or is not 1 IF g:netrw_ftp exists and is 1
|
|
---------------------------------- ------------------------------
|
|
<
|
|
open machine [port] open machine [port]
|
|
user userid password userid password
|
|
[g:netrw_ftpmode] password
|
|
[g:netrw_extracmd] [g:netrw_ftpmode]
|
|
get filename tempfile [g:netrw_extracmd]
|
|
get filename tempfile >
|
|
---------------------------------------------------------------------
|
|
<
|
|
The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional.
|
|
|
|
Netrw then executes the lines above by use of a filter:
|
|
>
|
|
:%! {g:netrw_ftp_cmd} -i [-n]
|
|
<
|
|
where
|
|
g:netrw_ftp_cmd is usually "ftp",
|
|
-i tells ftp not to be interactive
|
|
-n means don't use netrc and is used for Method #3 (ftp w/o <.netrc>)
|
|
|
|
If <.netrc> exists it will be used to avoid having to query the user for
|
|
userid and password. The transferred file is put into a temporary file.
|
|
The temporary file is then read into the main editing session window that
|
|
requested it and the temporary file deleted.
|
|
|
|
If your ftp doesn't accept the "user" command and immediately just demands a
|
|
userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
|
|
|
|
*netrw-cadaver*
|
|
To handle the SSL certificate dialog for untrusted servers, one may pull
|
|
down the certificate and place it into /usr/ssl/cert.pem. This operation
|
|
renders the server treatment as "trusted".
|
|
|
|
*netrw-fixup* *netreadfixup*
|
|
If your ftp for whatever reason generates unwanted lines (such as AUTH
|
|
messages) you may write a NetReadFixup(tmpfile) function:
|
|
>
|
|
function! NetReadFixup(method,line1,line2)
|
|
" a:line1: first new line in current file
|
|
" a:line2: last new line in current file
|
|
if a:method == 1 "rcp
|
|
elseif a:method == 2 "ftp + <.netrc>
|
|
elseif a:method == 3 "ftp + machine,uid,password,filename
|
|
elseif a:method == 4 "scp
|
|
elseif a:method == 5 "http/wget
|
|
elseif a:method == 6 "dav/cadaver
|
|
elseif a:method == 7 "rsync
|
|
elseif a:method == 8 "fetch
|
|
elseif a:method == 9 "sftp
|
|
else " complain
|
|
endif
|
|
endfunction
|
|
>
|
|
The NetReadFixup() function will be called if it exists and thus allows you to
|
|
customize your reading process. As a further example, <netrw.vim> contains
|
|
just such a function to handle Windows 95 ftp. For whatever reason, Windows
|
|
95's ftp dumps four blank lines at the end of a transfer, and so it is
|
|
desirable to automate their removal. Here's some code taken from <netrw.vim>
|
|
itself:
|
|
>
|
|
if has("win95") && g:netrw_win95ftp
|
|
fun! NetReadFixup(method, line1, line2)
|
|
if method == 3 " ftp (no <.netrc>)
|
|
let fourblanklines= line2 - 3
|
|
silent fourblanklines.",".line2."g/^\s*/d"
|
|
endif
|
|
endfunction
|
|
endif
|
|
>
|
|
|
|
==============================================================================
|
|
9. Directory Browsing *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
|
|
|
|
MAPS *netrw-maps*
|
|
<F1>.............Help.......................................|netrw-help|
|
|
<cr>.............Browsing...................................|netrw-cr|
|
|
<del>............Deleting Files or Directories..............|netrw-delete|
|
|
-................Going Up...................................|netrw--|
|
|
a................Hiding Files or Directories................|netrw-a|
|
|
mb...............Bookmarking a Directory....................|netrw-mb|
|
|
gb...............Changing to a Bookmarked Directory.........|netrw-gb|
|
|
c................Make Browsing Directory The Current Dir....|netrw-c|
|
|
d................Make A New Directory.......................|netrw-d|
|
|
D................Deleting Files or Directories..............|netrw-D|
|
|
<c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
|
|
i................Change Listing Style.......................|netrw-i|
|
|
<c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
|
|
o................Browsing with a Horizontal Split...........|netrw-o|
|
|
p................Preview Window.............................|netrw-p|
|
|
q................Listing Bookmarks and History..............|netrw-q|
|
|
r................Reversing Sorting Order....................|netrw-r|
|
|
R................Renaming Files or Directories..............|netrw-R|
|
|
s................Selecting Sorting Style....................|netrw-s|
|
|
S................Editing the Sorting Sequence...............|netrw-S|
|
|
t................Browsing with a new tab....................|netrw-t|
|
|
u................Changing to a Predecessor Directory........|netrw-u|
|
|
U................Changing to a Successor Directory..........|netrw-U|
|
|
v................Browsing with a Vertical Split.............|netrw-v|
|
|
x................Customizing Browsing.......................|netrw-x|
|
|
|
|
COMMANDS *netrw-explore-cmds*
|
|
:Explore[!] [dir] Explore directory of current file........|netrw-explore|
|
|
:Sexplore[!] [dir] Split & Explore directory ...............|netrw-explore|
|
|
:Hexplore[!] [dir] Horizontal Split & Explore...............|netrw-explore|
|
|
:Vexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
|
|
:Texplore[!] [dir] Tab & Explore............................|netrw-explore|
|
|
:Pexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
|
|
:Nexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
|
|
:NetrwSettings.............................................|netrw-settings|
|
|
|
|
QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds*
|
|
>
|
|
------- -----------
|
|
Command Explanation
|
|
------- -----------
|
|
< <F1> Causes Netrw to issue help
|
|
<cr> Netrw will enter the directory or read the file |netrw-cr|
|
|
<del> Netrw will attempt to remove the file/directory |netrw-del|
|
|
- Makes Netrw go up one directory |netrw--|
|
|
a Toggles between normal display, |netrw-a|
|
|
hiding (suppress display of files matching g:netrw_list_hide)
|
|
showing (display only files which match g:netrw_list_hide)
|
|
mb bookmark current directory
|
|
gb go to previous bookmarked directory
|
|
c Make current browsing directory the current directory |netrw-c|
|
|
d Make a directory |netrw-d|
|
|
D Netrw will attempt to remove the file(s)/directory(ies) |netrw-D|
|
|
<c-h> Edit file hiding list |netrw-ctrl-h|
|
|
i Cycle between thin, long, wide, and tree listings|netrw-i|
|
|
<c-l> Causes Netrw to refresh the directory listing |netrw-ctrl-l|
|
|
o Enter the file/directory under the cursor in a new browser
|
|
window. A horizontal split is used. |netrw-o|
|
|
O Obtain a file specified by cursor |netrw-O|
|
|
p Preview the file |netrw-p|
|
|
P Browse in the previously used window |netrw-P|
|
|
q List bookmarked directories and history |netrw-q|
|
|
r Reverse sorting order |netrw-r|
|
|
R Rename the designed file(s)/directory(ies) |netrw-R|
|
|
s Select sorting style: by name, time, or file size |netrw-s|
|
|
S Specify suffix priority for name-sorting |netrw-S|
|
|
t Enter the file/directory under the cursor in a new tab|netrw-t|
|
|
u Change to recently-visited directory |netrw-u|
|
|
U Change to subsequently-visited directory |netrw-U|
|
|
v Enter the file/directory under the cursor in a new browser
|
|
window. A vertical split is used. |netrw-v|
|
|
x Apply a function to a file. (special browsers) |netrw-x|
|
|
|
|
NETRW BROWSER VARIABLES *netrw-browse-var*
|
|
>
|
|
--- -----------
|
|
Var Explanation
|
|
--- -----------
|
|
< *g:netrw_alto* change from above splitting to below splitting
|
|
by setting this variable (see |netrw-o|)
|
|
default: =&sb (see |'sb'|)
|
|
|
|
*g:netrw_altv* change from left splitting to right splitting
|
|
by setting this variable (see |netrw-v|)
|
|
default: =&spr (see |'spr'|)
|
|
|
|
*g:netrw_browse_split* when browsing, <cr> will open the file by:
|
|
=0: re-using the same window
|
|
=1: horizontally splitting the window first
|
|
=2: vertically splitting the window first
|
|
=3: open file in new tab
|
|
|
|
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
|
"kfmclient exec"
|
|
"gnome-open"
|
|
< If >
|
|
"-"
|
|
< is used, then netrwFileHandler() will look for
|
|
a script/function to handle the given
|
|
extension. (see |netrw_filehandler|).
|
|
|
|
*g:netrw_fastbrowse* =0: slow speed browsing, never re-use
|
|
directory listings; always obtain
|
|
directory listings.
|
|
=1: medium speed browsing, re-use directory
|
|
listings only when remote browsing.
|
|
(default value)
|
|
=2: fast browsing, only obtains directory
|
|
listings when the directory hasn't been
|
|
seen before (or |netrw-ctrl-l| is used).
|
|
Fast browsing retains old directory listing
|
|
buffers so that they don't need to be
|
|
re-acquired. This feature is especially
|
|
important for remote browsing. However, if
|
|
a file is introduced or deleted into or from
|
|
such directories, the old directory buffer
|
|
becomes out-of-date. One may always refresh
|
|
such a directory listing with |netrw-ctrl-l|.
|
|
This option gives the choice of the trade-off
|
|
between accuracy and speed to the user.
|
|
|
|
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
|
|
that can show up as "directories" and "files"
|
|
in the listing. This pattern is used to
|
|
remove such embedded messages. By default its
|
|
value is:
|
|
'^total\s\+\d\+$\|
|
|
^Trying\s\+\d\+.*$\|
|
|
^KERBEROS_V\d rejected\|
|
|
^Security extensions not\|
|
|
No such file\|
|
|
: connect to address [0-9a-fA-F:]*
|
|
: No route to host$'
|
|
|
|
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
|
|
listing. Defaults:
|
|
unix or g:netrw_cygwin set: : "ls -lF"
|
|
otherwise "dir"
|
|
|
|
|
|
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
|
|
listing, sorted by size of file.
|
|
Defaults:
|
|
unix or g:netrw_cygwin set: : "ls -slF"
|
|
otherwise "dir"
|
|
|
|
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
|
|
listing, sorted by time of last modification.
|
|
Defaults:
|
|
unix or g:netrw_cygwin set: : "ls -tlF"
|
|
otherwise "dir"
|
|
|
|
*g:netrw_hide* if true, the hiding list is used
|
|
default: =0
|
|
|
|
*g:netrw_keepdir* =1 (default) keep current directory immune from
|
|
the browsing directory.
|
|
=0 keep the current directory the same as the
|
|
browsing directory.
|
|
The current browsing directory is contained in
|
|
b:netrw_curdir (also see |netrw-c|)
|
|
|
|
*g:netrw_list_cmd* command for listing remote directories
|
|
default: (if ssh is executable)
|
|
"ssh HOSTNAME ls -FLa"
|
|
|
|
*g:netrw_liststyle* Set the default listing style:
|
|
= 0: thin listing (one file per line)
|
|
= 1: long listing (one file per line with time
|
|
stamp information and file size)
|
|
= 2: wide listing (multiple files in columns)
|
|
= 3: tree style listing
|
|
*g:netrw_list_hide* comma separated pattern list for hiding files
|
|
default: ""
|
|
|
|
*g:netrw_local_mkdir* command for making a local directory
|
|
default: "mkdir"
|
|
|
|
*g:netrw_local_rmdir* remove directory command (rmdir)
|
|
default: "rmdir"
|
|
|
|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
|
listings fit on 80 column displays.
|
|
If your screen is wider, and you have file
|
|
or directory names longer than 32 bytes,
|
|
you may set this option to keep listings
|
|
columnar.
|
|
|
|
*g:netrw_mkdir_cmd* command for making a remote directory
|
|
default: "ssh USEPORT HOSTNAME mkdir"
|
|
|
|
*g:netrw_rm_cmd* command for removing files
|
|
default: "ssh USEPORT HOSTNAME rm"
|
|
|
|
*g:netrw_rmdir_cmd* command for removing directories
|
|
default: "ssh USEPORT HOSTNAME rmdir"
|
|
|
|
*g:netrw_rmf_cmd* command for removing softlinks
|
|
default: "ssh USEPORT HOSTNAME rm -f"
|
|
|
|
*g:netrw_sort_by* sort by "name", "time", or "size"
|
|
default: "name"
|
|
|
|
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
|
|
default: "normal"
|
|
|
|
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
|
comma-separated pattern sequence
|
|
default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
|
\.info$,\.swp$,\.obj$'
|
|
|
|
*g:netrw_ssh_cmd* One may specify an executable command
|
|
to use instead of ssh for remote actions
|
|
such as listing, file removal, etc.
|
|
default: ssh
|
|
|
|
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
|
messages, banners, and whatnot that one doesn't
|
|
want masquerading as "directories" and "files".
|
|
Use this pattern to remove such embedded
|
|
messages. By default its value is:
|
|
'^total\s\+\d\+$'
|
|
|
|
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
|
|
for browser buffers. However, under some
|
|
systems this apparently is causing nasty
|
|
ml_get errors to appear; if you're getting
|
|
ml_get errors, try putting
|
|
let g:netrw_use_noswf= 0
|
|
in your .vimrc.
|
|
|
|
*g:netrw_timefmt* specify format string to strftime() (%c)
|
|
default: "%c"
|
|
|
|
*g:netrw_winsize* specify initial size of new o/v windows
|
|
default: ""
|
|
|
|
*g:NetrwTopLvlMenu* This variable specifies the top level
|
|
menu name; by default, its "Netrw.". If
|
|
you wish to change this, do so in your
|
|
.vimrc.
|
|
|
|
INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
|
|
|
|
Netrw supports the browsing of directories on the local system and on remote
|
|
hosts, including listing files and directories, entering directories, editing
|
|
files therein, deleting files/directories, making new directories, and moving
|
|
(renaming) files and directories. The Netrw browser generally implements the
|
|
previous explorer maps and commands for remote directories, although details
|
|
(such as pertinent global variable names) necessarily differ.
|
|
|
|
The Netrw remote file and directory browser handles two protocols: ssh and
|
|
ftp. The protocol in the url, if it is ftp, will cause netrw to use ftp
|
|
in its remote browsing. Any other protocol will be used for file transfers,
|
|
but otherwise the ssh protocol will be used to do remote directory browsing.
|
|
|
|
To use Netrw's remote directory browser, simply attempt to read a "file" with a
|
|
trailing slash and it will be interpreted as a request to list a directory:
|
|
|
|
vim [protocol]://[user@]hostname/path/
|
|
|
|
For local directories, the trailing slash is not required.
|
|
|
|
If you'd like to avoid entering the password in for remote directory listings
|
|
with ssh or scp, see |netrw-listhack|.
|
|
|
|
|
|
NETRW BROWSING AND OPTION INCOMPATIBILITIES *netrw-incompatible*
|
|
|
|
Netrw will not work properly with >
|
|
|
|
:set acd
|
|
:set fo=...ta...
|
|
<
|
|
If either of these options are present when browsing is attempted, netrw
|
|
will change them by using noacd and removing the ta suboptions from the
|
|
|'formatoptions'|.
|
|
|
|
*netrw-explore* *netrw-pexplore* *netrw-texplore*
|
|
*netrw-hexplore* *netrw-sexplore* *netrw-nexplore*
|
|
*netrw-vexplore*
|
|
DIRECTORY EXPLORING COMMANDS
|
|
|
|
:Explore[!] [dir]... Explore directory of current file *:Explore*
|
|
:Sexplore[!] [dir]... Split&Explore directory of current file *:Sexplore*
|
|
:Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
|
|
:Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
|
|
:Texplore [dir]... Tab & Explore *:Texplore*
|
|
|
|
Used with :Explore **/pattern : (also see |netrw-starstar|)
|
|
:Nexplore............. go to next matching file *:Nexplore*
|
|
:Pexplore............. go to previous matching file *:Pexplore*
|
|
|
|
:Explore will open the local-directory browser on the current file's
|
|
directory (or on directory [dir] if specified). The window will be
|
|
split only if the file has been modified, otherwise the browsing
|
|
window will take over that window. Normally the splitting is taken
|
|
horizontally.
|
|
:Explore! is like :Explore, but will use vertical splitting.
|
|
:Sexplore will always split the window before invoking the local-directory
|
|
browser. As with Explore, the splitting is normally done
|
|
horizontally.
|
|
:Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
|
|
:Hexplore [dir] does an :Explore with |:belowright| horizontal splitting.
|
|
:Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
|
|
:Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
|
|
:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
|
|
:Texplore [dir] does a tabnew before generating the browser window
|
|
|
|
By default, these commands use the current file's directory. However, one
|
|
may explicitly provide a directory (path) to use.
|
|
|
|
*netrw-starstar*
|
|
When Explore, Sexplore, Hexplore, or Vexplore are used with a **/filepat,
|
|
such as:
|
|
>
|
|
:Explore **/filename_pattern
|
|
<
|
|
netrw will attempt to find a file in the current directory or any subdirectory
|
|
which matches the filename pattern. Internally, it produces a list of files
|
|
which match the pattern and their paths; to that extent it resembles the Unix
|
|
operation:
|
|
>
|
|
find $(pwd) -name "$1" -exec "echo" "{}" ";" 2> /dev/null
|
|
<
|
|
The directory display is updated to show the subdirectory containing a
|
|
matching file. One may then proceed to the next (or previous) matching files'
|
|
directories by using Nexplore or Pexplore, respectively. If your console or
|
|
gui produces recognizable shift-up or shift-down sequences, then you'll likely
|
|
find using shift-downarrow and shift-uparrow convenient. They're mapped by
|
|
netrw:
|
|
|
|
<s-down> == Nexplore, and
|
|
<s-up> == Pexplore.
|
|
|
|
As an example, consider
|
|
>
|
|
:Explore **/*.c
|
|
:Nexplore
|
|
:Nexplore
|
|
:Pexplore
|
|
<
|
|
The status line will show, on the right hand side of the status line, a
|
|
message like "Match 3 of 20".
|
|
|
|
*netrw-starpat*
|
|
When Explore, Sexplore, Hexplore, or Vexplore are used with a */pattern,
|
|
such as:
|
|
>
|
|
:Explore */pattern
|
|
<
|
|
netrw will use |:vimgrep| to find files which contain the given pattern.
|
|
Like what happens with |netrw-starstar|, a list of files which contain
|
|
matches to the given pattern is generated. The cursor will then jump
|
|
to the first file with the given pattern; |:Nexplore|, |:Pexplore|, and
|
|
the shifted-down and -up arrows work with the list to move to the next
|
|
or previous files in that list.
|
|
|
|
*netrw-starstarpat*
|
|
When Explore, Sexplore, Hexplore, or Vexplore are used with a **//pattern,
|
|
such as:
|
|
>
|
|
:Explore **//pattern
|
|
<
|
|
then Explore will use |:vimgrep| to find files like |netrw-starpat|;
|
|
however, Explore will also search subdirectories as well as the current
|
|
directory.
|
|
|
|
|
|
REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l*
|
|
|
|
To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
|
|
hit the <cr> when atop the ./ directory entry in the listing. One may also
|
|
refresh a local directory by using ":e .".
|
|
|
|
|
|
GOING UP *netrw--*
|
|
|
|
To go up a directory, press "-" or press the <cr> when atop the ../ directory
|
|
entry in the listing.
|
|
|
|
Netrw will use the command in |g:netrw_list_cmd| to perform the directory
|
|
listing operation after changing HOSTNAME to the host specified by the
|
|
user-provided url. By default netrw provides the command as:
|
|
|
|
ssh HOSTNAME ls -FLa
|
|
|
|
where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
|
|
read. Naturally, the user may override this command with whatever is
|
|
preferred. The NetList function which implements remote directory browsing
|
|
expects that directories will be flagged by a trailing slash.
|
|
|
|
|
|
BROWSING *netrw-cr*
|
|
|
|
Browsing is simple: move the cursor onto a file or directory of interest.
|
|
Hitting the <cr> (the return key) will select the file or directory.
|
|
Directories will themselves be listed, and files will be opened using the
|
|
protocol given in the original read request.
|
|
|
|
CAVEAT: There are four forms of listing (see |netrw-i|). Netrw assumes
|
|
that two or more spaces delimit filenames and directory names for the long
|
|
and wide listing formats. Thus, if your filename or directory name has two
|
|
or more spaces embedded in it, or any trailing spaces, then you'll need to
|
|
use the "thin" format to select it.
|
|
|
|
The |g:netrw_browse_split| option, which is zero by default, may be used to
|
|
cause the opening of files to be done in a new window or tab. When the option
|
|
is one or two, the splitting will be taken horizontally or vertically,
|
|
respectively. When the option is set to three, a <cr> will cause the file
|
|
to appear in a new tab.
|
|
|
|
|
|
OBTAINING A FILE *netrw-O*
|
|
|
|
When browsing a remote directory, one may obtain a file under the cursor (ie.
|
|
get a copy on your local machine, but not edit it) by pressing the O key.
|
|
Only ftp and scp are supported for this operation (but since these two are
|
|
available for browsing, that shouldn't be a problem). The status bar
|
|
will then show, on its right hand side, a message like "Obtaining filename".
|
|
The statusline will be restored after the transfer is complete.
|
|
|
|
Netrw can also "obtain" a file using the local browser. Netrw's display
|
|
of a directory is not necessarily the same as Vim's "current directory",
|
|
unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>. One may select
|
|
a file using the local browser (by putting the cursor on it) and pressing
|
|
"O" will then "obtain" the file; ie. copy it to Vim's current directory.
|
|
|
|
Related topics:
|
|
* To see what the current directory is, use |:pwd|
|
|
* To make the currently browsed directory the current directory, see |netrw-c|
|
|
* To automatically make the currently browsed directory the current
|
|
directory, see |g:netrw_keepdir|.
|
|
|
|
|
|
CHANGE LISTING STYLE *netrw-i*
|
|
|
|
The "i" map cycles between the thin, long, wide, and tree listing formats.
|
|
|
|
The short listing format gives just the files' and directories' names.
|
|
|
|
The long listing is either based on the "ls" command via ssh for remote
|
|
directories or displays the filename, file size (in bytes), and the time and
|
|
date of last modification for local directories. With the long listing
|
|
format, netrw is not able to recognize filenames which have trailing spaces.
|
|
Use the thin listing format for such files.
|
|
|
|
The wide listing format uses two or more contiguous spaces to delineate
|
|
filenames; when using that format, netrw won't be able to recognize or use
|
|
filenames which have two or more contiguous spaces embedded in the name or any
|
|
trailing spaces. The thin listing format will, however, work with such files.
|
|
This listing format is the most compact.
|
|
|
|
The tree listing format has a top directory followed by files and directories
|
|
preceded by a "|". One may open and close directories by pressing the <cr>
|
|
key while atop the directory name. There is only one tree listing buffer;
|
|
hence, using "v" or "o" on a subdirectory will only show the same buffer,
|
|
twice.
|
|
|
|
|
|
MAKING A NEW DIRECTORY *netrw-d*
|
|
|
|
With the "d" map one may make a new directory either remotely (which depends
|
|
on the global variable g:netrw_mkdir_cmd) or locally (which depends on the
|
|
global variable g:netrw_local_mkdir). Netrw will issue a request for the new
|
|
directory's name. A bare <CR> at that point will abort the making of the
|
|
directory. Attempts to make a local directory that already exists (as either
|
|
a file or a directory) will be detected, reported on, and ignored.
|
|
|
|
|
|
DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D* *netrw-del*
|
|
|
|
Deleting/removing files and directories involves moving the cursor to the
|
|
file/directory to be deleted and pressing "D". Directories must be empty
|
|
first before they can be successfully removed. If the directory is a softlink
|
|
to a directory, then netrw will make two requests to remove the directory
|
|
before succeeding. Netrw will ask for confirmation before doing the
|
|
removal(s). You may select a range of lines with the "V" command (visual
|
|
selection), and then pressing "D".
|
|
|
|
The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used
|
|
to control the attempts to remove files and directories. The g:netrw_rm_cmd
|
|
is used with files, and its default value is:
|
|
|
|
g:netrw_rm_cmd: ssh HOSTNAME rm
|
|
|
|
The g:netrw_rmdir_cmd variable is used to support the removal of directories.
|
|
Its default value is:
|
|
|
|
g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
|
|
|
|
If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
|
|
to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
|
|
|
|
g:netrw_rmf_cmd: ssh HOSTNAME rm -f
|
|
|
|
|
|
RENAMING FILES OR DIRECTORIES *netrw-move* *netrw-rename* *netrw-R*
|
|
|
|
Renaming/moving files and directories involves moving the cursor to the
|
|
file/directory to be moved (renamed) and pressing "R". You will then be
|
|
queried for where you want the file/directory to be moved. You may select a
|
|
range of lines with the "V" command (visual selection), and then pressing "R".
|
|
|
|
The g:netrw_rename_cmd variable is used to implement renaming. By default its
|
|
value is:
|
|
|
|
ssh HOSTNAME mv
|
|
|
|
One may rename a block of files and directories by selecting them with
|
|
the V (|linewise-visual|).
|
|
|
|
|
|
HIDING FILES OR DIRECTORIES *netrw-a* *netrw-hiding*
|
|
|
|
Netrw's browsing facility allows one to use the hiding list in one of three
|
|
ways: ignore it, hide files which match, and show only those files which
|
|
match. The "a" map allows the user to cycle about these three ways.
|
|
|
|
The g:netrw_list_hide variable holds a comma delimited list of patterns (ex.
|
|
\.obj) which specify the hiding list. (also see |netrw-ctrl-h|) To set the
|
|
hiding list, use the <c-h> map. As an example, to hide files which begin with
|
|
a ".", one may use the <c-h> map to set the hiding list to '^\..*' (or one may
|
|
put let g:netrw_list_hide= '^\..*' in one's <.vimrc>). One may then use the
|
|
"a" key to show all files, hide matching files, or to show only the matching
|
|
files.
|
|
|
|
Example: ^.*\.[ch]
|
|
This hiding list command will hide/show all *.c and *.h files.
|
|
|
|
Example: ^.*\.c,^.*\.h
|
|
This hiding list command will also hide/show all *.c and *.h
|
|
files.
|
|
|
|
Don't forget to use the "a" map to select the normal/hiding/show mode you want!
|
|
|
|
*netrw-ctrl_h*
|
|
EDIT FILE OR DIRECTORY HIDING LIST *netrw-ctrl-h* *netrw-edithide*
|
|
|
|
The "<ctrl-h>" map brings up a requestor allowing the user to change the
|
|
file/directory hiding list. The hiding list consists of one or more patterns
|
|
delimited by commas. Files and/or directories satisfying these patterns will
|
|
either be hidden (ie. not shown) or be the only ones displayed (see
|
|
|netrw-a|).
|
|
|
|
|
|
BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o* *netrw-horiz*
|
|
|
|
Normally one enters a file or directory using the <cr>. However, the "o" map
|
|
allows one to open a new window to hold the new directory listing or file. A
|
|
horizontal split is used. (for vertical splitting, see |netrw-v|)
|
|
|
|
Normally, the o key splits the window horizontally with the new window and
|
|
cursor at the top. To change to splitting the window horizontally with the
|
|
new window and cursor at the bottom, have
|
|
|
|
let g:netrw_alto = 1
|
|
|
|
in your <.vimrc>. (also see |netrw-t| |netrw-v| |g:netrw_alto|)
|
|
|
|
There is only one tree listing buffer; using "o" on a displayed subdirectory
|
|
will split the screen, but the same buffer will be shown twice.
|
|
|
|
|
|
BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v*
|
|
|
|
Normally one enters a file or directory using the <cr>. However, the "v" map
|
|
allows one to open a new window to hold the new directory listing or file. A
|
|
vertical split is used. (for horizontal splitting, see |netrw-o|)
|
|
|
|
Normally, the v key splits the window vertically with the new window and
|
|
cursor at the left. To change to splitting the window vertically with the new
|
|
window and cursor at the right, have
|
|
|
|
let g:netrw_altv = 1
|
|
|
|
in your <.vimrc>. (also see: |netrw-o| |netrw-t| |g:netrw_altv|)
|
|
|
|
There is only one tree listing buffer; using "v" on a displayed subdirectory
|
|
will split the screen, but the same buffer will be shown twice.
|
|
|
|
|
|
BROWSING WITH A NEW TAB *netrw-t*
|
|
|
|
Normally one enters a file or directory using the <cr>. The "t" map
|
|
allows one to open a new window hold the new directory listing or file in a
|
|
new tab. (also see: |netrw-o| |netrw-v|)
|
|
|
|
|
|
PREVIEW WINDOW *netrw-p* *netrw-preview*
|
|
|
|
One may use a preview window by using the "p" key when the cursor is atop the
|
|
desired filename to be previewed.
|
|
|
|
|
|
PREVIOUS WINDOW *netrw-P* *netrw-prvwin*
|
|
|
|
To edit a file or directory in the previously used window (see :he |CTRL-W_P|),
|
|
press a "P". If there's only one window, then the one window will be
|
|
horizontally split (above/below splitting is controlled by |g:netrw_alto|,
|
|
and its initial size is controlled by |g:netrw_winsize|).
|
|
|
|
If there's more than one window, the previous window will be re-used on
|
|
the selected file/directory. If the previous window's associated buffer
|
|
has been modified, and there's only one window with that buffer, then
|
|
the user will be asked if s/he wishes to save the buffer first (yes,
|
|
no, or cancel).
|
|
|
|
|
|
SELECTING SORTING STYLE *netrw-s* *netrw-sort*
|
|
|
|
One may select the sorting style by name, time, or (file) size. The "s" map
|
|
allows one to circulate amongst the three choices; the directory listing will
|
|
automatically be refreshed to reflect the selected style.
|
|
|
|
|
|
EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence*
|
|
|
|
When "Sorted by" is name, one may specify priority via the sorting sequence
|
|
(g:netrw_sort_sequence). The sorting sequence typically prioritizes the
|
|
name-listing by suffix, although any pattern will do. Patterns are delimited
|
|
by commas. The default sorting sequence is:
|
|
>
|
|
[\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
|
|
<
|
|
The lone * is where all filenames not covered by one of the other patterns
|
|
will end up. One may change the sorting sequence by modifying the
|
|
g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
|
|
using the "S" map.
|
|
|
|
|
|
REVERSING SORTING ORDER *netrw-r* *netrw-reverse*
|
|
|
|
One may toggle between normal and reverse sorting order by pressing the
|
|
"r" key.
|
|
|
|
|
|
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir*
|
|
|
|
Every time you change to a new directory (new for the current session),
|
|
netrw will save the directory in a recently-visited directory history
|
|
list (unless g:netrw_dirhistmax is zero; by default, its ten). With the
|
|
"u" map, one can change to an earlier directory (predecessor). To do
|
|
the opposite, see |netrw-U|.
|
|
|
|
|
|
CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir*
|
|
|
|
With the "U" map, one can change to a later directory (successor).
|
|
This map is the opposite of the "u" map. (see |netrw-u|) Use the
|
|
q map to list both the bookmarks and history. (see |netrw-q|)
|
|
|
|
*netrw-gx*
|
|
CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x* *netrw-handler*
|
|
(also see |netrw_filehandler|)
|
|
|
|
Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
|
|
best seen with a special handler (ie. a tool provided with your computer).
|
|
Netrw allows one to invoke such special handlers by: >
|
|
|
|
* when Exploring, hit the "x" key
|
|
* when editing, hit gx with the cursor atop the special filename
|
|
< (not available if the |g:netrw_nogx| variable exists)
|
|
|
|
Netrw determines which special handler by the following method:
|
|
|
|
* if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
|
|
view files. Examples of useful settings (place into your <.vimrc>): >
|
|
|
|
:let g:netrw_browsex_viewer= "kfmclient exec"
|
|
< or >
|
|
:let g:netrw_browsex_viewer= "gnome-open"
|
|
<
|
|
If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
|
|
invoked first (see |netrw_filehandler|).
|
|
|
|
* for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
|
|
* for Gnome (with gnome-open): gnome-open is used.
|
|
* for KDE (with kfmclient): kfmclient is used.
|
|
* otherwise the netrwFileHandler plugin is used.
|
|
|
|
The file's suffix is used by these various approaches to determine an
|
|
appropriate application to use to "handle" these files. Such things as
|
|
OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript (*.ps,
|
|
*.eps) can be handled.
|
|
|
|
*netrw_filehandler*
|
|
|
|
The "x" map applies a function to a file, based on its extension. Of course,
|
|
the handler function must exist for it to be called!
|
|
>
|
|
Ex. mypgm.html x ->
|
|
NFH_html("scp://user@host/some/path/mypgm.html")
|
|
<
|
|
Users may write their own netrw File Handler functions to support more
|
|
suffixes with special handling. See <plugin/netrwFileHandlers.vim> for
|
|
examples on how to make file handler functions. As an example: >
|
|
|
|
" NFH_suffix(filename)
|
|
fun! NFH_suffix(filename)
|
|
..do something special with filename..
|
|
endfun
|
|
<
|
|
These functions need to be defined in some file in your .vim/plugin
|
|
(vimfiles\plugin) directory. Vim's function names may not have punctuation
|
|
characters (except for the underscore) in them. To support suffices that
|
|
contain such characters, netrw will first convert the suffix using the
|
|
following table: >
|
|
|
|
@ -> AT ! -> EXCLAMATION % -> PERCENT
|
|
: -> COLON = -> EQUAL ? -> QUESTION
|
|
, -> COMMA - -> MINUS ; -> SEMICOLON
|
|
$ -> DOLLAR + -> PLUS ~ -> TILDE
|
|
<
|
|
So, for example: >
|
|
|
|
file.rcs,v -> NFH_rcsCOMMAv()
|
|
<
|
|
If more such translations are necessary, please send me email: >
|
|
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
|
with a request.
|
|
|
|
|
|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* *netrw-curdir*
|
|
|
|
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
|
directory will not track the browsing directory.
|
|
|
|
Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
|
|
track netrw's browsing directory.
|
|
|
|
However, given the default setting for g:netrw_keepdir of 1 where netrw
|
|
maintains its own separate notion of the current directory, in order to make
|
|
the two directories the same, use the "c" map (just type c). That map will
|
|
set Vim's notion of the current directory to netrw's current browsing
|
|
directory.
|
|
|
|
|
|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks*
|
|
One may easily "bookmark" a directory by using >
|
|
|
|
{cnt}mb
|
|
<
|
|
Any count may be used. One may use viminfo's "!" option to retain bookmarks
|
|
between vim sessions. See |netrw-gb| for how to return to a bookmark and
|
|
|netrw-q| for how to list them.
|
|
|
|
|
|
CHANGING TO A BOOKMARKED DIRECTORY *netrw-gb*
|
|
|
|
To change directory back to a bookmarked directory, use
|
|
|
|
{cnt}gb
|
|
|
|
Any count may be used to reference any of the bookmarks. See |netrw-mb| on
|
|
how to bookmark a directory and |netrw-q| on how to list bookmarks.
|
|
|
|
|
|
LISTING BOOKMARKS AND HISTORY *netrw-q* *netrw-listbookmark*
|
|
|
|
Pressing "q" will list the bookmarked directories and directory traversal
|
|
history (query). (see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
|
|
|
|
|
|
IMPROVING DIRECTORY BROWSING *netrw-listhack*
|
|
|
|
Especially with the remote directory browser, constantly entering the password
|
|
is tedious.
|
|
|
|
For Linux/Unix systems, the book "Linux Server Hacks - 100 industrial strength
|
|
tips & tools" by Rob Flickenger (O'Reilly, ISBN 0-596-00461-3), gives a tip
|
|
for setting up no-password ssh and scp, plus discusses associated security
|
|
issues. It used to be available at http://hacks.oreilly.com/pub/h/66 ,
|
|
but apparently that address is now being redirected to some "hackzine".
|
|
I'll attempt a summary:
|
|
|
|
1. Generate a public/private key pair on the ssh server:
|
|
ssh-keygen -t rsa
|
|
(saving the file in ~/.ssh/id_rsa is ok)
|
|
2. Just hit the <CR> when asked for passphrase (twice).
|
|
3. This creates two files:
|
|
~/.ssh/id_rsa
|
|
~/.ssh/id_rsa.pub
|
|
4. On the client:
|
|
cd
|
|
mkdir .ssh
|
|
chmod 0700 .ssh
|
|
scp {serverhostname}:.ssh/id_rsa.pub .
|
|
cat id_rsa.pub >> .ssh/authorized_keys2
|
|
|
|
For Windows, folks on the vim mailing list have mentioned that Pageant helps
|
|
with avoiding the constant need to enter the password.
|
|
|
|
|
|
NETRW SETTINGS *netrw-settings*
|
|
|
|
With the NetrwSettings.vim plugin, >
|
|
:NetrwSettings
|
|
will bring up a window with the many variables that netrw uses for its
|
|
settings. You may change any of their values; when you save the file, the
|
|
settings therein will be used. One may also press "?" on any of the lines for
|
|
help on what each of the variables do.
|
|
|
|
(see also: |netrw-browse-var||netrw-protocol||netrw-var||netrw-variables|)
|
|
|
|
|
|
==============================================================================
|
|
10. Problems and Fixes *netrw-problems*
|
|
|
|
(This section is likely to grow as I get feedback)
|
|
(also see |netrw-debug|)
|
|
*netrw-p1*
|
|
P1. I use windows 95, and my ftp dumps four blank lines at the
|
|
end of every read.
|
|
|
|
See |netrw-fixup|, and put the following into your
|
|
<.vimrc> file:
|
|
|
|
let g:netrw_win95ftp= 1
|
|
|
|
*netrw-p2*
|
|
P2. I use Windows, and my network browsing with ftp doesn't sort by
|
|
time or size! -or- The remote system is a Windows server; why
|
|
don't I get sorts by time or size?
|
|
|
|
Windows' ftp has a minimal support for ls (ie. it doesn't
|
|
accept sorting options). It doesn't support the -F which
|
|
gives an explanatory character (ABC/ for "ABC is a directory").
|
|
Netrw then uses "dir" to get both its short and long listings.
|
|
If you think your ftp does support a full-up ls, put the
|
|
following into your <.vimrc>: >
|
|
|
|
let g:netrw_ftp_list_cmd = "ls -lF"
|
|
let g:netrw_ftp_timelist_cmd= "ls -tlF"
|
|
let g:netrw_ftp_sizelist_cmd= "ls -slF"
|
|
<
|
|
Alternatively, if you have cygwin on your Windows box, put
|
|
into your <.vimrc>: >
|
|
|
|
let g:netrw_cygwin= 1
|
|
<
|
|
This problem also occurs when the remote system is Windows.
|
|
In this situation, the various g:netrw_ftp_[time|size]list_cmds
|
|
are as shown above, but the remote system will not correctly
|
|
modify its listing behavior.
|
|
|
|
|
|
*netrw-p3*
|
|
P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
|
|
used ssh! That wasn't what I asked for...
|
|
|
|
Netrw has two methods for browsing remote directories: ssh
|
|
and ftp. Unless you specify ftp specifically, ssh is used.
|
|
When it comes time to do download a file (not just a directory
|
|
listing), netrw will use the given protocol to do so.
|
|
|
|
*netrw-p4*
|
|
P4. I would like long listings to be the default.
|
|
|
|
let g:netrw_liststyle= 1
|
|
|
|
Check out |netrw-browse-var| for more customizations that
|
|
you can set.
|
|
|
|
*netrw-p5*
|
|
P5. My times come up oddly in local browsing
|
|
|
|
Does your system's strftime() accept the "%c" to yield dates
|
|
such as "Sun Apr 27 11:49:23 1997"? If not, do a "man strftime"
|
|
and find out what option should be used. Then put it into
|
|
your <.vimrc>:
|
|
let g:netrw_timefmt= "%X" (where X is the option)
|
|
|
|
*netrw-p6*
|
|
P6. I want my current directory to track my browsing.
|
|
How do I do that?
|
|
|
|
let g:netrw_keepdir= 0
|
|
|
|
*netrw-p7*
|
|
P7. I use Chinese (or other non-ascii) characters in my filenames, and
|
|
netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
|
|
|
|
(taken from an answer provided by Wu Yongwei on the vim
|
|
mailing list)
|
|
I now see the problem. You code page is not 936, right? Vim
|
|
seems only able to open files with names that are valid in the
|
|
current code page, as are many other applications that do not
|
|
use the Unicode version of Windows APIs. This is an OS-related
|
|
issue. You should not have such problems when the system
|
|
locale uses UTF-8, such as modern Linux distros.
|
|
|
|
(...it is one more reason to recommend that people use utf-8!)
|
|
|
|
*netrw-p8*
|
|
P8. I'm getting "ssh is not executable on your system" -- what do I
|
|
do?
|
|
|
|
(Dudley Fox) Most people I know use putty for windows ssh. It
|
|
is a free ssh/telnet application. You can read more about it
|
|
here:
|
|
|
|
http://www.chiark.greenend.org.uk/~sgtatham/putty/ Also:
|
|
|
|
(Marlin Unruh) This program also works for me. It's a single
|
|
executable, so he/she can copy it into the Windows\System32
|
|
folder and create a shortcut to it.
|
|
|
|
(Dudley Fox) You might also wish to consider plink, as it
|
|
sounds most similar to what you are looking for. plink is an
|
|
application in the putty suite.
|
|
|
|
http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
|
|
|
|
(Vissale Neang) Maybe you can try OpenSSH for windows, which
|
|
can be obtained from:
|
|
|
|
http://sshwindows.sourceforge.net/
|
|
|
|
It doesn't need the full Cygwin package.
|
|
|
|
(Antoine Mechelynck) For individual Unix-like programs needed
|
|
for work in a native-Windows environment, I recommend getting
|
|
them from the GnuWin32 project on sourceforge if it has them:
|
|
|
|
http://gnuwin32.sourceforge.net/
|
|
|
|
Unlike Cygwin, which sets up a Unix-like virtual machine on
|
|
top of Windows, GnuWin32 is a rewrite of Unix utilities with
|
|
Windows system calls, and its programs works quite well in the
|
|
cmd.exe "Dos box".
|
|
|
|
(dave) Download WinSCP and use that to connect to the server.
|
|
In Preferences > Editors, set gvim as your editor:
|
|
|
|
- Click "Add..."
|
|
- Set External Editor (adjust path as needed, include
|
|
the quotes and !.! at the end):
|
|
"c:\Program Files\Vim\vim70\gvim.exe" !.!
|
|
- Check that the filetype in the box below is
|
|
{asterisk}.{asterisk} (all files), or whatever types
|
|
you want (cec: change {asterisk} to * ; I had to
|
|
write it that way because otherwise the helptags
|
|
system thinks its a tag)
|
|
- Make sure its at the top of the listbox (click it,
|
|
then click "Up" if its not)
|
|
If using the Norton Commander style, you just have to hit <F4>
|
|
to edit a file in a local copy of gvim.
|
|
|
|
(Vit Gottwald) How to generate public/private key and save
|
|
public key it on server: >
|
|
http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready
|
|
8.3 Getting ready for public key authentication
|
|
<
|
|
How to use private key with 'pscp': >
|
|
http://www.tartarus.org/~simon/puttydoc/Chapter5.html
|
|
5.2.4 Using public key authentication with PSCP
|
|
<
|
|
(cec) To make proper use of these suggestions above, you will
|
|
need to modify the following user-settable variables in your
|
|
.vimrc:
|
|
|
|
|g:netrw_ssh_cmd| |g:netrw_list_cmd| |g:netrw_mkdir_cmd|
|
|
|g:netrw_rm_cmd| |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
|
|
|
|
The first one (|g:netrw_ssh_cmd|) is the most important; most
|
|
of the others will use the string in g:netrw_ssh_cmd by
|
|
default.
|
|
*netrw-p9* *netrw-ml_get*
|
|
P9. I'm browsing, changing directory, and bang! ml_get errors
|
|
appear and I have to kill vim. Any way around this?
|
|
|
|
Normally netrw attempts to avoid writing swapfiles for
|
|
its temporary directory buffers. However, on some systems
|
|
this attempt appears to be causing ml_get errors to
|
|
appear. Please try setting |g:netrw_use_noswf| to 0
|
|
in your <.vimrc>: >
|
|
let g:netrw_use_noswf= 0
|
|
<
|
|
|
|
==============================================================================
|
|
11. Debugging *netrw-debug*
|
|
|
|
The <netrw.vim> script is typically available as:
|
|
>
|
|
/usr/local/share/vim/vim6x/plugin/netrw.vim
|
|
< -or- >
|
|
/usr/local/share/vim/vim7x/plugin/netrw.vim
|
|
<
|
|
which is loaded automatically at startup (assuming :set nocp).
|
|
|
|
1. Get the <Decho.vim> script, available as:
|
|
|
|
http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_scripts
|
|
as "Decho, a vimL debugging aid"
|
|
or
|
|
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
|
|
|
and put it into your local plugin directory.
|
|
|
|
2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need
|
|
to put it into your .vim/plugin, too. You may obtain it from:
|
|
|
|
http://mysite.verizon.net/astronaut/vim/index.html#VimFuncs
|
|
as "DrC's Utilities"
|
|
|
|
3. Edit the <netrw.vim> file by typing:
|
|
|
|
vim netrw.vim
|
|
:DechoOn
|
|
:wq
|
|
|
|
To restore to normal non-debugging behavior, edit <netrw.vim>
|
|
by typing
|
|
|
|
vim netrw.vim
|
|
:DechoOff
|
|
:wq
|
|
|
|
This command, provided by <Decho.vim>, will comment out all
|
|
Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
|
|
|
|
4. Then bring up vim and attempt a transfer or do browsing. A set of
|
|
messages should appear concerning the steps that <netrw.vim> took
|
|
in attempting to read/write your file over the network.
|
|
|
|
To save the file, use >
|
|
:wincmd j
|
|
:set bt=
|
|
:w! DBG
|
|
< Please send that information to <netrw.vim>'s maintainer, >
|
|
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
|
<
|
|
==============================================================================
|
|
12. History *netrw-history* {{{1
|
|
|
|
v108: Jan 03, 2007 * included preview map (|netrw-p|), supporting
|
|
remote browsing
|
|
* netrw can now source remote files
|
|
Jan 26, 2007 * Colton Jamieson noted that remote directory
|
|
browsing did not support alternate port
|
|
selection. This feature has now been extended
|
|
to apply to all remote browsing commands via ssh.
|
|
(list, remove/delete, rename)
|
|
Jan 31, 2007 * Luis Florit reported that @* was an invalid
|
|
register. The @* register is now only saved and
|
|
restored if |guioptions| contains "a".
|
|
Feb 02, 2007 * Fixed a bug that cropped up when writing files
|
|
via scp using cygwin
|
|
Feb 08, 2007 * tree listing mode managed to stop working again;
|
|
fixed again!
|
|
Feb 15, 2007 * Guido Van Hoecke reported that netrw didn't
|
|
handle browsing well with M$ ftp servers. He even
|
|
set up a temporary account for me to test with
|
|
(thanks!). Netrw now can browse M$ ftp servers.
|
|
v107: Oct 12, 2006 * bypassed the autowrite option
|
|
Oct 24, 2006 * handles automatic decompression of *.gz and *.bz2
|
|
files
|
|
Nov 03, 2006 * Explore will highlight matching files when
|
|
**/pattern is used (and if the |'hls'| option
|
|
is set)
|
|
Nov 09, 2006 * a debugging line, when enabled, was inadvertently
|
|
bringing up help instead of simply reporting on
|
|
list contents
|
|
Nov 21, 2006 * tree listing improved (cursor remains put)
|
|
Nov 27, 2006 * fixed b:netrw_curdir bug when repeated "i"s were
|
|
pressed.
|
|
Dec 15, 2006 * considerable qty of changes, mostly to share more
|
|
code between local and remote browsing. Includes
|
|
support for tree-style listing for both remote
|
|
and local browsing.
|
|
Dec 15, 2006 * Included Peter Bengtsson's modifications to
|
|
support the Amiga.
|
|
v106: Sep 21, 2006 * removed old v:version<700 code as netrw now
|
|
requires vim 7.0
|
|
* worked around a bug where register * was
|
|
overwritten during local browsing
|
|
v104: Sep 05, 2006 * as suggested by Rodolfo Borges, :Explore and
|
|
variants will position the cursor on the file
|
|
just having been edited
|
|
* changed default |g:netrw_sort_sequence| order
|
|
* changed b, Nb to simply mb (see |netrw-mb|)
|
|
* changed B, NB to simply gb (see |netrw-gb|)
|
|
* tree listing style (see |g:netrw_liststyle|)
|
|
* attempts to retain the alternate file
|
|
v103: Jul 26, 2006 * used Yakov Lerner's tip#1289 to improve netrw
|
|
error message display
|
|
* wide listings didn't handle files with backslashes
|
|
in their names properly. A symptom was an
|
|
inability to open files.
|
|
Aug 09, 2006 * included "t" mapping for opening tabbed windows,
|
|
both for remote and local browsing
|
|
* changed netrw_longlist to netrw_liststyle
|
|
Aug 15, 2006 * fixed one of the NB maps
|
|
Aug 22, 2006 * changed *Explore commands to use -nargs=* instead
|
|
of -nargs=?. Allows both -complete=dir _and_ the
|
|
starstar arguments to work (-nargs=? seems to
|
|
require one or the other).
|
|
Aug 23, 2006 * copied all w:.. variables across splits to
|
|
new windows
|
|
Aug 25, 2006 * when g:netrw_browsex_viewer was '-'
|
|
(see |g:netrw_browsex_viewer|) it wasn't causing
|
|
netrwFileHandlers#Invoke() to be called as it
|
|
was expected to. (tnx Steve Dugaro)
|
|
Aug 29, 2006 * changed NetBrowseX() to use "setlocal ... noswf"
|
|
instead of "set ... noswf" (tnx Benji Fisher)
|
|
Aug 31, 2006 * tabs and fastbrowse<=1 didn't work together.
|
|
v102: Jun 15, 2006 * chgd netrwPlugin to call netrw#LocalBrowseCheck()
|
|
* bugfix: g:netrw_keepdir==0 had stopped working
|
|
Jul 06, 2006 * bugfix: NetOptionSave/Restore now saves/restores
|
|
the unnamed register (|registers|)
|
|
Jul 07, 2006 * |g:netrw_menu| support included
|
|
Jul 13, 2006 * :Texplore command implemented
|
|
Jul 17, 2006 * NetSplit and (Local|Net)BrowseChgDir() were both
|
|
splitting windows. This affected o, v, and
|
|
g:netrw_browse_split.
|
|
Jul 20, 2006 * works around wildignore setting (was causing
|
|
netrw's local browser not to list wildignore'd
|
|
files)
|
|
Jul 24, 2006 * <leftmouse> acts as a <cr> for selecting a file
|
|
<rightmouse> acts as a <del> for deleting a file
|
|
v100: May 14, 2006 * when using Windows and shell==cmd.exe, the
|
|
default for g:netrw_ignorenetrc is now 1
|
|
* bugfix: unwanted ^Ms now removed
|
|
(affected shell==cmd.exe - Windows)
|
|
* added Bookmarks and History to the menu
|
|
* an error message about non-existing
|
|
w:netrw_longlist was appearing during attempts to
|
|
Explore (fixed)
|
|
* g:netrw_shq now available to make netrw use
|
|
specified style of quotes for commands
|
|
May 29, 2006 * user NFH_*() functions were inadvertently being
|
|
ignored
|
|
* fixed a Windows non-cygwin ftp handling problem.
|
|
* hiding pattern candidate separators included some
|
|
characters it shouldn't have (tnx to Osei Poku)
|
|
Jun 01, 2006 * for browsing, netrw was supposed to use "dir"
|
|
instead of "ls -lF" when using
|
|
ftp+non-cygwin+windows. Fixed.
|
|
* an inadvertently left-in-place debugging statement
|
|
was preventing use of the "x" key with browsing.
|
|
Jun 05, 2006 * g:netrw_nogx available to prevent making the gx
|
|
map (see |g:netrw_nogx|)
|
|
* bugfix, Explore woulnd't change directory
|
|
properly (vim ., :Explore subdirname)
|
|
Jun 06, 2006 * moved history to 2nd line in Netrw menu
|
|
* fixed delete for unix-based systems
|
|
Jun 07, 2006 * x key now works for windows-noncygwin-ftp
|
|
Jun 08, 2006 * Explore */pat and **//pat now wraps
|
|
v99: May 09, 2006 * g:netrw_browse_split=3 for opening files in new
|
|
tabs implemented.
|
|
May 12, 2006 * deletes temporary file at end of NetRead()
|
|
* visual mode based Obtain implemented
|
|
* added -complete=dir to the various Explore
|
|
commands
|
|
v98: May 02, 2006 * the "p" key didn't work properly when the browsing
|
|
directory name had spaces in it.
|
|
v97: May 01, 2006 * exists("&acd") now used to determine if
|
|
the 'acd' option exists
|
|
* "obtain" now works again under Windows
|
|
v96: * bugfix - the |'acd'| option is not always defined but is
|
|
now bypassed only when it is
|
|
v95: * bugfix - Hiding mode worked correctly (don't show any file
|
|
matching any of the g:netrw_hide patterns), but
|
|
but showing mode was showing only those files that didn't
|
|
match any of the g:netrw_hide patterns. Instead, it now
|
|
shows all files that match any of the g:netrw_hide patterns
|
|
(the difference between a logical and and logical or).
|
|
v94: * bugfix - a Decho() had a missing quote; only affects things
|
|
when debugging was enabled.
|
|
v93: * bugfix - removed FocusGained event from causing a slow-browser
|
|
refresh for Windows
|
|
v92: * :Explore **//pattern implemented (**/filepattern already taken)
|
|
v91: * :Explore */pattern implemented
|
|
* |'acd'| option bypassed
|
|
v90: * mark ', as suggested by Yegappan Lakshmanan, used to help
|
|
guarantee entry into the jump list when appropriate.
|
|
* <s-down> and <s-up> are no longer defined until a
|
|
:Explore **/pattern is used (if the user already has a map
|
|
for them). They will be defined for new browser windows
|
|
from that point forward.
|
|
v89: * A <s-down>, <s-up>, :Nexplore, or a :Pexplore without having
|
|
first done an :Explore **/pattern (see |netrw-starstar|) caused
|
|
a lot of unhelpful error messages to appear
|
|
v88: * moved DrChip.Netrw menu to Netrw. Now has priority 80 by
|
|
default. g:NetrwTopLvlMenu == "Netrw" and can be changed
|
|
by the user to suit. The priority is g:NetrwMenuPriority.
|
|
* Changed filetype for browser displays from netrwlist to netrw.
|
|
v87: * bug fix -- menus were partially disappearing
|
|
v85: * bug fix -- missing an endif
|
|
* bug fix -- handles spaces in names and directories when using
|
|
ftp-based browsing
|
|
v83: * disabled stop-acd handling; the change in directory handling
|
|
may allow acd to be used again. Awaiting feedback.
|
|
* D was refusing to delete remote files/directories in wide
|
|
listing mode.
|
|
v81: * FocusGained also used to refresh/wipe local browser directory
|
|
buffers
|
|
* (bugfix) netrw was leaving [Scratch] buffers behind when the
|
|
the user had the "hidden" option set. The 'hidden' option is
|
|
now bypassed.
|
|
v80: * ShellCmdPost event used in conjunction with g:netrw_fastbrowse
|
|
to refresh/wipe local browser directory buffers.
|
|
v79: * directories are now displayed with nowrap
|
|
* (bugfix) if the column width was smaller than the largest
|
|
file's name, then netrw would hang when using wide-listing
|
|
mode - fixed
|
|
* g:netrw_fastbrowse introduced
|
|
v78: * progress has been made on allowing spaces inside directory
|
|
names for remote work (reading, writing, browsing). (scp)
|
|
v77: * Mikolaj Machowski fixed a bug in a substitute command
|
|
* g:netrw_browsex_viewer implemented
|
|
* Mikolaj Machowski pointed out that gnome-open is often
|
|
executable under KDE systems, although it is effectively
|
|
not functional. NetBrowseX now looks for "kicker" as
|
|
a running process to determine if KDE is actually the
|
|
really running.
|
|
* Explorer's O functionality was inadvertently left out.
|
|
Netrw now does the same thing, but with the "P" key.
|
|
* added g:netrw_browse_split option
|
|
* fixed a bug where the directory contained a "." but
|
|
the file didn't (was treating the dirname from "."
|
|
onwards as a suffix)
|
|
v76: * "directory is missing" error message now restores echo
|
|
highlighting
|
|
v75: * file://... now conforms to RFC2396 (thanks to S. Zacchiroli)
|
|
* if the binary option is set, then NetWrite() will only write
|
|
the whole file (line numbers don't make sense with this).
|
|
Supports writing of tar and zip files.
|
|
v74: * bugfix (vim, then :Explore) now works
|
|
* ctrl-L keeps cursor at same screen location (both local and
|
|
remote browsing)
|
|
* netrw now can read remote zip and tar files
|
|
* Obtain now uses WinXP ftp+.netrc successfully
|
|
v73: * bugfix -- scp://host/path/file was getting named incorrectly
|
|
* netrw detects use of earlier-than-7.0 version of vim and issues
|
|
a pertinent error message.
|
|
* netrwSettings.vim is now uses autoloading. Only
|
|
<netrwPlugin.vim> is needed as a pure plugin
|
|
(ie. always loaded).
|
|
v72: * bugfix -- formerly, one could prevent the loading of netrw
|
|
by "let g:loaded_netrw=1"; when autoloading became supported,
|
|
this feature was lost. It is now restored.
|
|
v71: * bugfix -- made some "set nomodifiable"s into setlocal variants
|
|
(allows :e somenewfile to be modifiable as usual)
|
|
* NetrwSettings calls a netrw function, thereby assuring that
|
|
netrw has loaded. However, if netrw does not load for whatever
|
|
reason, then NetrwSettings will now issue a warning message.
|
|
* For what reason I don't recall, when wget and fetch are both
|
|
not present, and an attempt to read a http://... url is made,
|
|
netrw exited. It now only returns.
|
|
* When ch=1, on the second and subsequent uses of browsing Netrw
|
|
would issue a blank line to clear the echo'd messages. This
|
|
caused an annoying "Hit-Enter" prompt; now a blank line message
|
|
is echo'd only if &ch>1.
|
|
v70: * when using |netrw-O|, the "Obtaining filename" message is now
|
|
shown using |hl-User9|. If User9 has not been defined, netrw
|
|
will define it.
|
|
v69: * Bugfix: win95/98 machines were experiencing a
|
|
"E121: Undefined variable: g:netrw_win95ftp" message
|
|
v68: * double-click-leftmouse selects word under mouse
|
|
v67: * Passwords which contain blanks will now be surrounded by
|
|
double-quotes automatically (Yongwei)
|
|
v66: * Netrw now seems to work with a few more Windows situations
|
|
* O now obtains a file: remote browsing file -> local copy,
|
|
locally browsing file -> current directory (see :pwd)
|
|
* i now cycles between thin, long, and wide listing styles
|
|
* NB and Nb are maps that are always available; corresponding
|
|
B and b maps are only available when not using wide listing
|
|
in order to allow them to be used for motions
|
|
v65: * Browser functions now use NetOptionSave/Restore; in particular,
|
|
netrw now works around the report setting
|
|
v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers
|
|
named "[Scratch]" instead of "/"
|
|
* Bugfix - remote browsing with ftp was omitting the ./ and ../
|
|
v63: * netrw now takes advantage of autoload (and requires 7.0)
|
|
* Bugfix - using r (to reverse sort) working again
|
|
v62: * Bugfix - spaces allowed again in directory names with
|
|
g:netrw_keepdir=0. In fact, I've tested netrw (again)
|
|
with most ANSI punctuation marks for directory names.
|
|
* Bugfix - NetrwSettings gave errors when g:netrw_silent
|
|
had not be set.
|
|
v61: * document upgrade -- netrw variable-based settings all should
|
|
have tags. Supports NetrwSettings command.
|
|
* several important variables are window-oriented. Netrw has
|
|
to transfer these across a window split. See s:BufWinVars()
|
|
and s:UseBufWinVars().
|
|
v60: * when using the i map to switch between long and short listings,
|
|
netrw will now keep cursor on same line
|
|
* "Match # of #" now uses status line
|
|
* :Explore **/*.c will now work from a non-netrw-browser window
|
|
* :Explore **/patterns can now be run in separate browser windows
|
|
* active banner (hit <cr> will cause various things to happen)
|
|
v59: * bugfix -- another keepalt work-around installed (for vim6.3)
|
|
* "Match # of #" for Explore **/pattern matches
|
|
v58: * Explore and relatives can now handle **/somefilepattern (v7)
|
|
* Nexplore and Pexplore introduced (v7). shift-down and shift-up
|
|
cursor keys will invoke Nexplore and Pexplore, respectively.
|
|
* bug fixed with o and v
|
|
* autochdir only worked around for vim when it has been
|
|
compiled with either |+netbeans_intg| or |+sun_workshop|
|
|
* Under Windows, all directories and files were being preceded
|
|
with a "/" when local browsing. Fixed.
|
|
* When: syntax highlighting is off, laststatus=2, and remote
|
|
browsing is used, sometimes the laststatus highlighting
|
|
bleeds into the entire display. Work around - do an extra
|
|
redraw in that case.
|
|
* Bugfix: when g:netrw_keepdir=0, due to re-use of buffers,
|
|
netrw didn't change the directory when it should've
|
|
* Bugfix: D and R commands work again
|
|
v57: * Explore and relatives can now handle RO files
|
|
* reverse sort restored with vim7's sort command
|
|
* g:netrw_keepdir now being used to keep the current directory
|
|
unchanged as intended (sense change)
|
|
* vim 6.3 still supported
|
|
v56: * LocalBrowse now saves autochdir setting, unsets it, and
|
|
restores it before returning.
|
|
* using vim's rename() instead of system + local_rename variable
|
|
* avoids changing directory when g:netrw_keepdir is false
|
|
v55: * -bar used with :Explore :Sexplore etc to allow multiple
|
|
commands to be separated by |s
|
|
* browser listings now use the "nowrap" option
|
|
* browser: some unuseful error messages now suppressed
|
|
v54: * For backwards compatibility, Explore and Sexplore have been
|
|
implemented. In addition, Hexplore and Vexplore commands
|
|
are available, too.
|
|
* <amatch> used instead of <afile> in the transparency
|
|
support (BufReadCmd, FileReadCmd, FileWriteCmd)
|
|
* ***netrw*** prepended to various error messages netrw may emit
|
|
* g:netrw_port used instead of b:netrw_port for scp
|
|
* any leading [:#] is removed from port numbers
|
|
v53: * backslashes as well as slashes placed in various patterns
|
|
(ex. g:netrw_sort_sequence) to better support Windows
|
|
v52: * nonumber'ing now set for browsing buffers
|
|
* when the hiding list hid all files, error messages ensued. Fixed
|
|
* when browsing, swf is set, but directory is not set, when netrw
|
|
was attempting to restore options, vim wanted to save a swapfile
|
|
to a local directory using an url-style path. Fixed
|
|
v51: * cygwin detection now automated (using windows and &shell is bash)
|
|
* customizable browser "file" rejection patterns
|
|
* directory history
|
|
* :[range]w url now supported (ie. netrw has a FileWriteCmd event)
|
|
* error messages have a "Press <cr> to continue" to allow them
|
|
to be seen
|
|
* directory browser displays no longer bother the swapfile
|
|
* u/U commands to go up and down the history stack
|
|
* history stack may be saved with viminfo with its "!" option
|
|
* bugfixes associated with unwanted [No Files] entries
|
|
v50: * directories now displayed using buftype=nofile; should keep the
|
|
directory names as-is
|
|
* attempts to remove empty "[No File]" buffers leftover
|
|
from :file ..name.. commands
|
|
* bugfix: a "caps-lock" editing difficulty left in v49 was fixed
|
|
* syntax highlighting for "Showing:" the hiding list included
|
|
* bookmarks can now be retained if "!" is in the viminfo option
|
|
v49: * will use ftp for http://.../ browsing v48:
|
|
* One may use ftp to do remote host file browsing
|
|
* (windows and !cygwin) remote browsing with ftp can now use
|
|
the "dir" command internally to provide listings
|
|
* g:netrw_keepdir now allows one to keep the initial current
|
|
directory as the current directory (normally the local file
|
|
browser makes the currently viewed directory the current
|
|
directory)
|
|
* g:netrw_alto and g:netrw_altv now support alternate placement
|
|
of windows started with o or v
|
|
* Nread ? and Nwrite ? now uses echomsg (instead of echo) so
|
|
:messages can repeat showing the help
|
|
* bugfix: avoids problems with partial matches of directory names
|
|
to prior buffers with longer names
|
|
* one can suppress error messages with g:netrw_quiet ctrl-h used
|
|
* instead of <Leader>h for editing hiding list one may edit the
|
|
* sorting sequence with the S map now allows confirmation of
|
|
* deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles
|
|
* special file viewing with:
|
|
(windows) rundll32 url.dll (gnome) gnome-open (kde)
|
|
kfmclient If none of these are on the executable path, then
|
|
netrwFileHandlers.vim is used.
|
|
* directory bookmarking during both local and remote browsing
|
|
implemented
|
|
* one may view all, use the hiding list to suppress, or use the
|
|
hiding list to show-only remote and local file/directory
|
|
listings
|
|
* improved unusual file and directory name handling preview
|
|
* window support
|
|
v47: * now handles local directory browsing.
|
|
v46: * now handles remote directory browsing
|
|
* g:netrw_silent (if 1) will cause all transfers to be silent
|
|
v45: * made the [user@]hostname:path form a bit more restrictive to
|
|
better handle errors in using protocols (e.g. scp:usr@host:file
|
|
was being recognized as an rcp request) v44: * changed from
|
|
"rsync -a" to just "rsync"
|
|
* somehow an editing error messed up the test to recognize
|
|
use of the fetch method for NetRead.
|
|
* more debugging statements included
|
|
v43: * moved "Explanation" comments to <pi_netrw.txt> help file as
|
|
"Network Reference" (|netrw-ref|)
|
|
* <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
|
|
* removed superfluous NetRestorePosn() calls
|
|
v42: * now does BufReadPre and BufReadPost events on file:///* and
|
|
file://localhost/* v41: * installed file:///* and
|
|
file://localhost/* handling v40: * prevents redraw when a
|
|
protocol error occurs so that the user may see it v39: * sftp
|
|
support v38: * Now uses NetRestorePosn() calls with
|
|
Nread/Nwrite commands
|
|
* Temporary files now removed via bwipe! instead of bwipe
|
|
(thanks to Dave Roberts) v37: * Claar's modifications which
|
|
test if ftp is successful, otherwise give an error message
|
|
* After a read, the alternate file was pointing to the temp file.
|
|
The temp file buffer is now wiped out.
|
|
* removed silent from transfer methods so user can see what's
|
|
happening
|
|
|
|
|
|
==============================================================================
|
|
12. Credits *netrw-credits* {{{1
|
|
|
|
Vim editor by Bram Moolenaar (Thanks, Bram!)
|
|
dav support by C Campbell
|
|
fetch support by Bram Moolenaar and C Campbell
|
|
ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
|
http support by Bram Moolenaar <bram@moolenaar.net>
|
|
rcp
|
|
rsync support by C Campbell (suggested by Erik Warendorph)
|
|
scp support by raf <raf@comdyn.com.au>
|
|
sftp support by C Campbell
|
|
|
|
inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
|
|
|
|
Jérôme Augé -- also using new buffer method with ftp+.netrc
|
|
Bram Moolenaar -- obviously vim itself, :e and v:cmdarg use,
|
|
fetch,...
|
|
Yasuhiro Matsumoto -- pointing out undo+0r problem and a solution
|
|
Erik Warendorph -- for several suggestions (g:netrw_..._cmd
|
|
variables, rsync etc)
|
|
Doug Claar -- modifications to test for success with ftp
|
|
operation
|
|
|
|
==============================================================================
|
|
vim:tw=78:ts=8:ft=help:norl:fdm=marker
|