diff options
author | Bram Moolenaar <Bram@vim.org> | 2007-05-05 17:54:07 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2007-05-05 17:54:07 +0000 |
commit | 9964e468c0209f6b8286e0b08109817c845a3079 (patch) | |
tree | 3c53288cff0d4c2e32169d8eb4cd53cc343ad0bc /runtime/doc/pi_netrw.txt | |
parent | d5ab34bd5ecc748d5502f149c476968e5ec2b7c9 (diff) |
updated for version 7.1a
Diffstat (limited to 'runtime/doc/pi_netrw.txt')
-rw-r--r-- | runtime/doc/pi_netrw.txt | 959 |
1 files changed, 667 insertions, 292 deletions
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 5c01d61acf..d5821de11b 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,17 +1,20 @@ -*pi_netrw.txt* For Vim version 7.0. Last change: 2006 May 02 +*pi_netrw.txt* For Vim version 7.1a. Last change: 2007 May 05 - NETRW REFERENCE MANUAL by Charles E. Campbell, Jr. + ----------------------------------------------------- + NETRW REFERENCE MANUAL by Charles E. Campbell, Jr. + ----------------------------------------------------- -*dav* *http* *network* *rcp* *scp* -*fetch* *netrw* *Nread* *rsync* *sftp* -*ftp* *netrw.vim* *Nwrite* *netrw-file* +*dav* *http* *network* *Nwrite* *netrw-file* +*fetch* *netrw* *Nread* *rcp* *scp* +*ftp* *netrw.vim* *Nsource* *rsync* *sftp* ============================================================================== -0. Contents *netrw-contents* +1. Contents *netrw-contents* -1. Starting With Netrw..................................|netrw-start| -2. Netrw Reference......................................|netrw-ref| +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| @@ -19,14 +22,14 @@ CHANGING THE USERID AND PASSWORD...................|netrw-chgup| VARIABLES..........................................|netrw-variables| PATHS..............................................|netrw-path| -3. Network-Oriented File Transfer.......................|netrw-xfer| +4. Network-Oriented File Transfer.......................|netrw-xfer| NETRC..............................................|netrw-netrc| PASSWORD...........................................|netrw-passwd| -4. Activation...........................................|netrw-activate| -5. Transparent File Transfer............................|netrw-transparent| -6. Ex Commands..........................................|netrw-ex| -7. Variables and Options................................|netrw-var| -8. Directory Browsing...................................|netrw-browse| {{{1 +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| @@ -38,38 +41,39 @@ Going Up...........................................|netrw--| Browsing...........................................|netrw-cr| Obtaining A File...................................|netrw-O| - Thin, Long, and Wide Listings......................|netrw-i| + 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| - Browsing With A Vertically Split Window............|netrw-v| Customizing Browsing With A User Function..........|netrw-x| Making The Browsing Directory The Current Directory|netrw-c| - Bookmarking A Directory............................|netrw-b| |netrw-Nb| - Changing To A Bookmarked Directory.................|netrw-B| |netrw-NB| + Bookmarking A Directory............................|netrw-mb| + Changing To A Bookmarked Directory.................|netrw-gb| Listing Bookmarks And History......................|netrw-q| Improving Directory Browsing.......................|netrw-listhack| }}}1 -9. Problems and Fixes...................................|netrw-problems| -10. Debugging............................................|netrw-debug| -11. History..............................................|netrw-history| -12. Credits..............................................|netrw-credits| +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 + 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: > @@ -79,14 +83,14 @@ in your <.vimrc> file: > {Vi does not have any of this} ============================================================================== -1. Starting With Netrw *netrw-start* +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 + set nocp " 'compatible' is not set + filetype plugin on " plugins are enabled < (see |'cp'| and |:filetype-plugin-on|) @@ -111,9 +115,9 @@ and has lines resembling > machine HOSTNAME login USERID password "PASSWORD" machine HOSTNAME login USERID password "PASSWORD" ... - default login USERID password "PASSWORD" + default login USERID password "PASSWORD" < -How about browsing -- ie. you just want to look around before editing a +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 . @@ -131,7 +135,7 @@ There's more protocols supported than scp and ftp, too: see the next section, |netrw-externapp|. ============================================================================== -2. Netrw Reference *netrw-ref* +3. Netrw Reference *netrw-ref* CONTROLLING EXTERNAL APPLICATIONS *netrw-externapp* @@ -140,8 +144,9 @@ CONTROLLING EXTERNAL APPLICATIONS *netrw-externapp* 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* = "fetch -o" if fetch is available - http: g:netrw_http_cmd = "wget -q -O" If wget is available + 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" @@ -174,10 +179,22 @@ WRITING *netrw-write* *netrw-nwrite* :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/ - CHANGING USERID AND PASSWORD *netrw-chgup* + *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 @@ -189,14 +206,12 @@ DIRECTORY LISTING *netrw-dirlist* :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 ) - *s:netrw_line* during :Nw/NetWrite, holds current line number - *s:netrw_col* during :Nw/NetWrite, holds current column number - s:netrw_line and s:netrw_col are used to - restore the cursor position on writes - *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) @@ -204,16 +219,36 @@ VARIABLES *netrw-variables* 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) + *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) @@ -226,7 +261,7 @@ VARIABLES *netrw-variables* 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) + =1 use WinNT's rcp in binary mode (default) PATHS *netrw-path* @@ -245,7 +280,7 @@ file using root-relative paths, use the full path: < ============================================================================== -3. Network-Oriented File Transfer *netrw-xfer* +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 @@ -267,12 +302,16 @@ series of commands (typically ftp) which it issues to an external program from/written to a temporary file (under Unix/Linux, /tmp/...) which the <netrw.vim> script will clean up. - *netrw-putty* *netrw-pscp* + *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_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 @@ -303,57 +342,57 @@ additional prompting. *netrw-urls* +=================================+============================+============+ - | Reading | Writing | Uses | + | Reading | Writing | Uses | +=================================+============================+============+ - | DAV: | | | - | dav://host/path | | cadaver | - | :Nread dav://host/path | :Nwrite dav://host/path | cadaver | + | 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| | | + | 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/* | | + | 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 | + | 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: wget is executable: (*4) | | | + | http://[user@]host/path | Not Available | wget | +---------------------------------+----------------------------+------------+ - | HTTP: fetch is executable (*4) | | | - | http://[user@]host/path | Not Available | fetch | + | HTTP: fetch is executable (*4) | | | + | http://[user@]host/path | Not Available | fetch | +---------------------------------+----------------------------+------------+ - | RCP: | | | - | rcp://[user@]host/path | rcp://[user@]host/path | rcp | + | 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 | + | 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) | + | 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) | + | 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 pasword. + prompt for user-id and password. - (*3) for ftp, "machine" may be machine#port or machine:port + (*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, @@ -393,7 +432,7 @@ However, |netrw-listhack| can help with this problem. ============================================================================== -4. Activation *netrw-activate* +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 @@ -408,7 +447,7 @@ up vim. I suggest that, at a minimum, you have at least the following in your < ============================================================================== -5. Transparent File Transfer *netrw-transparent* +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. @@ -423,12 +462,16 @@ such as netrw. ============================================================================== -6. Ex Commands *netrw-ex* +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. use :e url, :r url, :w url; -see |netrw-urls|). +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. @@ -443,7 +486,14 @@ see |netrw-urls|). :Nread {netfile} {netfile}... Read the {netfile} after the current line. - *netrw-uidpass* +: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. @@ -458,48 +508,50 @@ see |netrw-urls|). effectively remove the user-id and password by using "" strings. -:NetrwSettings This command is desribed in |netrw-settings| -- used to - display netrw settings and change netrw behavior. +:NetrwSettings This command is described in |netrw-settings| -- used to + display netrw settings and change netrw behavior. ============================================================================== -7. Variables and Options *netrw-options* *netrw-var* +8. Variables and Options *netrw-options* *netrw-var* -The script <netrw.vim> uses several variables which can affect <netrw.vim>'s -behavior. These variables typically may be set in the user's <.vimrc> file: -(also see |netrw-settings|) > +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 - ------------- + ------------- + 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 + 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 > + 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 @@ -522,25 +574,25 @@ 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 + Protocol Control Options ------------------------ - Option Type Setting Meaning - --------- -------- -------------- --------------------------- + 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() + 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_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 HOSTNAME ls -Fa" + 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" @@ -548,16 +600,19 @@ variables listed below, and may be modified by the user. ------------------------------------------------------------------------- < *netrw-ftp* -The first two options (netrw_ftp and NetReadFixup) both help with certain -ftp's that give trouble otherwise. In order to best understand how to use -these options if ftp is giving you troubles, a bit of discussion follows on -how netrw does ftp reads. -The g:netrw_..._cmd variables specify the external program to use handle the -associated protocol (rcp, ftp, etc), plus any options. +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). -The g:netrw_list_cmd's HOSTNAME entry will be changed via substitution with -whatever the current request is for a hostname. +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: @@ -565,18 +620,20 @@ 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 - get filename tempfile [g:netrw_ftpmode] - get filename tempfile > + 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 @@ -611,7 +668,7 @@ messages) you may write a NetReadFixup(tmpfile) function: elseif a:method == 7 "rsync elseif a:method == 8 "fetch elseif a:method == 9 "sftp - else " complain + else " complain endif endfunction > @@ -625,15 +682,15 @@ 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" + let fourblanklines= line2 - 3 + silent fourblanklines.",".line2."g/^\s*/d" endif endfunction endif > ============================================================================== -8. Directory Browsing *netrw-browse* *netrw-dir* *netrw-list* *netrw-help* +9. Directory Browsing *netrw-browse* *netrw-dir* *netrw-list* *netrw-help* MAPS *netrw-maps* <F1>.............Help.......................................|netrw-help| @@ -641,13 +698,13 @@ MAPS *netrw-maps* <del>............Deleting Files or Directories..............|netrw-delete| -................Going Up...................................|netrw--| a................Hiding Files or Directories................|netrw-a| - b................Bookmarking a Directory....................|netrw-b| - B................Changing to a Bookmarked Directory.........|netrw-B| + 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................Long Listing...............................|netrw-i| + 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| @@ -656,6 +713,7 @@ MAPS *netrw-maps* 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| @@ -666,6 +724,7 @@ MAPS *netrw-maps* :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| @@ -674,7 +733,7 @@ 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| @@ -682,27 +741,25 @@ QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds* 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) - b bookmark current directory; use Nb if compact listing - in use |netrw-b| - B go to previous bookmarked directory; use Nb if compact - listing is in use |netrw-B| + 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 Toggles between long and short listing |netrw-i| + i Cycle between thin, long, wide, and tree listings|netrw-i| <c-l> Causes Netrw to refresh the directory listing |netrw-ctrl-l| - Nb Same as b, but always available |netrw-Nb| - NB Same as B, but always available |netrw-NB| 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 @@ -716,16 +773,17 @@ NETRW BROWSER VARIABLES *netrw-browse-var* --- ----------- < *g:netrw_alto* change from above splitting to below splitting by setting this variable (see |netrw-o|) - default: =0 + default: =&sb (see |'sb'|) *g:netrw_altv* change from left splitting to right splitting by setting this variable (see |netrw-v|) - default: =0 + 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 + =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" @@ -772,9 +830,22 @@ NETRW BROWSER VARIABLES *netrw-browse-var* *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" + otherwise "dir" - *g:netrw_hide* if true, the hiding list is used + + *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 @@ -786,10 +857,14 @@ NETRW BROWSER VARIABLES *netrw-browse-var* *g:netrw_list_cmd* command for listing remote directories default: (if ssh is executable) - "ssh HOSTNAME ls -FLa" - - *g:netrw_longlist* if =1, then long listing will be default - + "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: "" @@ -807,16 +882,16 @@ NETRW BROWSER VARIABLES *netrw-browse-var* columnar. *g:netrw_mkdir_cmd* command for making a remote directory - default: "ssh HOSTNAME mkdir" + default: "ssh USEPORT HOSTNAME mkdir" *g:netrw_rm_cmd* command for removing files - default: "ssh HOSTNAME rm" + default: "ssh USEPORT HOSTNAME rm" *g:netrw_rmdir_cmd* command for removing directories - default: "ssh HOSTNAME rmdir" + default: "ssh USEPORT HOSTNAME rmdir" *g:netrw_rmf_cmd* command for removing softlinks - default: "ssh HOSTNAME rm -f" + default: "ssh USEPORT HOSTNAME rm -f" *g:netrw_sort_by* sort by "name", "time", or "size" default: "name" @@ -827,7 +902,7 @@ NETRW BROWSER VARIABLES *netrw-browse-var* *g:netrw_sort_sequence* when sorting by name, first sort by the comma-separated pattern sequence default: '[\/]$,*,\.bak$,\.o$,\.h$, - \.info$,\.swp$,\.obj$' + \.info$,\.swp$,\.obj$' *g:netrw_ssh_cmd* One may specify an executable command to use instead of ssh for remote actions @@ -841,6 +916,14 @@ NETRW BROWSER VARIABLES *netrw-browse-var* 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" @@ -888,33 +971,36 @@ 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-hexplore* *netrw-sexplore* -DIRECTORY EXPLORING COMMANDS *netrw-nexplore* *netrw-vexplore* + *netrw-explore* *netrw-pexplore* *netrw-te |