blob: 850dccb3cc79f1b46d3ce2bb7328be4beac65ff1 [file] [log] [blame]
Bram Moolenaara5792f52005-11-23 21:25:05 +00001*pi_netrw.txt* For Vim version 7.0. Last change: Aug 31, 2005
2
Bram Moolenaar071d4272004-06-13 20:20:40 +00003
4 VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
5
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00006*dav* *http* *network* *rcp* *scp*
7*fetch* *netrw* *Nread* *rsync* *sftp*
8*ftp* *netrw.vim* *Nwrite* *netrw-file*
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
10==============================================================================
110. Contents *netrw-contents*
12
Bram Moolenaar83bab712005-08-01 21:58:57 +0000131. Netrw Reference......................................|netrw-ref|
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +000014 CONTROLLING EXTERNAL APPLICTIONS...................|netrw-externapp|
15 READING............................................|netrw-read|
16 WRITING............................................|netrw-write|
17 DIRECTORY LISTING..................................|netrw-dirlist|
18 CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
19 VARIABLES..........................................|netrw-variables|
20 PATHS..............................................|netrw-path|
Bram Moolenaar83bab712005-08-01 21:58:57 +0000212. Network-Oriented File Transfer.......................|netrw-xfer|
22 NETRC..............................................|netrw-netrc|
23 PASSWORD...........................................|netrw-passwd|
243. Activation...........................................|netrw-activate|
254. Transparent File Transfer............................|netrw-transparent|
265. Ex Commands..........................................|netrw-ex|
276. Variables and Options................................|netrw-var|
Bram Moolenaara5792f52005-11-23 21:25:05 +0000287. Directory Browser....................................|netrw-browse| {{{1
Bram Moolenaar83bab712005-08-01 21:58:57 +000029 Maps...............................................|netrw-maps|
30 Exploring..........................................|netrw-explore-cmds|
31 Quick Reference Commands Table.....................|netrw-browse-cmds|
32 Netrw Browser Variables............................|netrw-browse-var|
33 Introduction To Directory Browsing.................|netrw-browse-intro|
34 Directory Exploring Commands.......................|netrw-explore|
35 Refreshing The Listing.............................|netrw-ctrl-l|
36 Going Up...........................................|netrw--|
37 Browsing...........................................|netrw-cr|
Bram Moolenaar578b49e2005-09-10 19:22:57 +000038 Obtaining A File...................................|netrw-O|
39 Thin, Long, and Wide Listings......................|netrw-i|
Bram Moolenaar83bab712005-08-01 21:58:57 +000040 Making A New Directory.............................|netrw-d|
41 Deleting Files Or Directories......................|netrw-delete|
42 Renaming Files Or Directories......................|netrw-move|
Bram Moolenaar482aaeb2005-09-29 18:26:07 +000043 Hiding Files Or Directories........................|netrw-a|
Bram Moolenaar83bab712005-08-01 21:58:57 +000044 Edit File Or Directory Hiding List.................|netrw-h|
45 Browsing With A Horizontally Split Window..........|netrw-o|
46 Preview Window.....................................|netrw-p|
47 Selecting Sorting Style............................|netrw-s|
48 Editing The Sorting Sequence.......................|netrw-S|
49 Reversing Sorting Order............................|netrw-r|
50 Changing To A Predecessor Directory................|netrw-u|
51 Changing To A Successor Directory..................|netrw-U|
52 Browsing With A Vertically Split Window............|netrw-v|
53 Customizing Browsing With A User Function..........|netrw-x|
54 Making The Browsing Directory The Current Directory|netrw-c|
Bram Moolenaar578b49e2005-09-10 19:22:57 +000055 Bookmarking A Directory............................|netrw-b| |netrw-Nb|
56 Changing To A Bookmarked Directory.................|netrw-B| |netrw-NB|
Bram Moolenaar83bab712005-08-01 21:58:57 +000057 Listing Bookmarks And History......................|netrw-q|
Bram Moolenaar578b49e2005-09-10 19:22:57 +000058 Improving Directory Browsing.......................|netrw-listhack| }}}1
Bram Moolenaar83bab712005-08-01 21:58:57 +0000598. Problems and Fixes...................................|netrw-problems|
609. Debugging............................................|netrw-debug|
6110. History..............................................|netrw-history|
6211. Credits..............................................|netrw-credits|
Bram Moolenaar071d4272004-06-13 20:20:40 +000063
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +000064The Netrw plugin is generally sourced automatically as it is a
65|standard-plugin|. That said, to make use of netrw, one must
66have plugins available which can be done with the following
67two lines in your <.vimrc>:
Bram Moolenaar071d4272004-06-13 20:20:40 +000068
Bram Moolenaar69a7cb42004-06-20 12:51:53 +000069 set nocp " 'compatible' is not set
70 filetype plugin on " plugins are enabled
Bram Moolenaar071d4272004-06-13 20:20:40 +000071
72You can avoid loading this plugin by setting the "loaded_netrw" variable
73in your <.vimrc> file: >
74
75 :let loaded_netrw = 1
76
77{Vi does not have any of this}
78
79==============================================================================
801. Netrw Reference *netrw-ref*
81
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +000082CONTROLLING EXTERNAL APPLICTIONS *netrw-externapp*
Bram Moolenaar071d4272004-06-13 20:20:40 +000083
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +000084 Protocol Variable Default Value
85 -------- ---------------- -------------
86 dav: *g:netrw_dav_cmd* = "cadaver"
87 fetch: *g:netrw_fetch_cmd* = "fetch -o"
88 ftp: *g:netrw_ftp_cmd* = "ftp"
89 http: *g:netrw_http_cmd* = "fetch -o" if fetch is available
90 http: g:netrw_http_cmd = "wget -q -O" If wget is available
91 rcp: *g:netrw_rcp_cmd* = "rcp"
92 rsync: *g:netrw_rsync_cmd* = "rsync -a"
93 scp: *g:netrw_scp_cmd* = "scp -q"
94 sftp: *g:netrw_sftp_cmd* = "sftp"
Bram Moolenaar071d4272004-06-13 20:20:40 +000095
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +000096READING *netrw-read* *netrw-nread*
Bram Moolenaar071d4272004-06-13 20:20:40 +000097 :Nread ? give help
Bram Moolenaard4755bb2004-09-02 19:12:26 +000098 :Nread "machine:path" uses rcp
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +000099 :Nread "machine path" uses ftp w/ <.netrc>
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000100 :Nread "machine id password path" uses ftp
101 :Nread "dav://machine[:port]/path" uses cadaver
102 :Nread "fetch://[user@]machine/path" uses fetch
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000103 :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000104 :Nread "http://[user@]machine/path" uses http uses wget
105 :Nread "rcp://[user@]machine/path" uses rcp
106 :Nread "rsync://[user@]machine[:port]/path" uses rsync
107 :Nread "scp://[user@]machine[[:#]port]/path" uses scp
108 :Nread "sftp://[user@]machine/path" uses sftp
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000110WRITING *netrw-write* *netrw-nwrite*
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000111 :Nwrite ? give help
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000112 :Nwrite "machine:path" uses rcp
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000113 :Nwrite "machine path" uses ftp w/ <.netrc>
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000114 :Nwrite "machine id password path" uses ftp
115 :Nwrite "dav://machine[:port]/path" uses cadaver
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000116 :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000117 :Nwrite "rcp://[user@]machine/path" uses rcp
118 :Nwrite "rsync://[user@]machine[:port]/path" uses rsync
119 :Nwrite "scp://[user@]machine[[:#]port]/path" uses scp
120 :Nwrite "sftp://[user@]machine/path" uses sftp
Bram Moolenaar071d4272004-06-13 20:20:40 +0000121 http: not supported!
122
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000123DIRECTORY LISTING *netrw-dirlist*
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000124 :Nread [protocol]://[user]@hostname/path/
125
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000126 CHANGING USERID AND PASSWORD *netrw-chgup*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000127 Attempts to use ftp will prompt you for a user-id and a password.
128 These will be saved in g:netrw_uid and g:netrw_passwd Subsequent uses
129 of ftp will re-use those. If you need to use a different user id
130 and/or password, you'll want to call NetUserPass() first.
131
132 :NetUserPass [uid [password]] -- prompts as needed
133 :call NetUserPass() -- prompts for uid and password
134 :call NetUserPass("uid") -- prompts for password
135 :call NetUserPass("uid","password") -- sets global uid and password
136
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000137VARIABLES *netrw-variables*
138 *b:netrw_lastfile* last file Network-read/written retained on a per-buffer
139 basis (supports plain :Nw )
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000141 *s:netrw_line* during :Nw/NetWrite, holds current line number
142 *s:netrw_col* during :Nw/NetWrite, holds current column number
143 s:netrw_line and s:netrw_col are used to
144 restore the cursor position on writes
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000145
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000146 *g:netrw_ftp* if it doesn't exist, use default ftp
147 =0 use default ftp (uid password)
148 =1 use alternate ftp method (user uid password)
149 If you're having trouble with ftp, try changing the
150 value of this variable to see if the alternate ftp
151 method works for your setup.
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000152
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000153 *g:netrw_ftpmode* ="binary" (default)
154 ="ascii"
Bram Moolenaarf6cf9872005-08-08 22:00:59 +0000155
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000156 *g:netrw_ignorenetrc* =0 (default)
157 =1 If you have a <.netrc> file but it doesn't work and
158 you want it ignored, then set this variable as shown.
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000159
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000160 *g:netrw_uid* (ftp) user-id, retained on a per-session basis
161 *g:netrw_passwd* (ftp) password, retained on a per-session basis
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000162
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000163 *g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank
164 lines that o/s's ftp "provides" on transfers
165 =0 force normal ftp behavior (no trailing line removal)
166
167 *g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
168 permits network browsing to use ls with time and
169 size sorting (default if windows)
170 =0 assume Windows' scp accepts windows-style paths
171 Network browsing uses dir instead of ls
172 This option is ignored if you're using unix
173
174 *g:netrw_use_nt_rcp* =0 don't use the rcp of WinNT, Win2000 and WinXP
175 =1 use WinNT's rcp in binary mode (default)
176
177PATHS *netrw-path*
178
179Paths to files are generally user-directory relative for most protocols.
180It is possible that some protocol will make paths relative to some
181associated directory, however.
182>
183 example: vim scp://user@host/somefile
184 example: vim scp://user@host/subdir1/subdir2/somefile
185<
186where "somefile" is the "user"'s home directory. If you wish to get a
187file using root-relative paths, use the full path:
188>
189 example: vim scp://user@host//somefile
190 example: vim scp://user@host//subdir1/subdir2/somefile
191<
Bram Moolenaar071d4272004-06-13 20:20:40 +0000192
193==============================================================================
1942. Network-Oriented File Transfer *netrw-xfer*
195
196Network-oriented file transfer under Vim is implemented by a VimL-based script
Bram Moolenaara5792f52005-11-23 21:25:05 +0000197(<netrw.vim>) using plugin techniques. It currently supports both reading
198and writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
Bram Moolenaar071d4272004-06-13 20:20:40 +0000199dav/cadaver, rsync, or sftp.
200
201http is currently supported read-only via use of wget or fetch.
202
203<netrw.vim> is a standard plugin which acts as glue between Vim and the
204various file transfer programs. It uses autocommand events (BufReadCmd,
205FileReadCmd, BufWriteCmd) to intercept reads/writes with url-like filenames. >
206
207 ex. vim ftp://hostname/path/to/file
208<
Bram Moolenaara5792f52005-11-23 21:25:05 +0000209The characters preceding the colon specify the protocol to use;
210in the example, its ftp. The <netrw.vim> script then formulates
211a command or a series of commands (typically ftp) which it issues
212to an external program (ftp, scp, etc) which does the actual file
213transfer/protocol. Files are read from/written to a temporary file
214(under Unix/Linux, /tmp/...) which the <netrw.vim> script will
215clean up.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000216
Bram Moolenaara5792f52005-11-23 21:25:05 +0000217One may modify any protocol's implementing external application
218by setting a variable (ex. scp uses the variable g:netrw_scp_cmd,
219which is defaulted to "scp -q").
Bram Moolenaar071d4272004-06-13 20:20:40 +0000220
221Ftp, an old protocol, seems to be blessed by numerous implementations.
Bram Moolenaara5792f52005-11-23 21:25:05 +0000222Unfortunately, some implementations are noisy (ie., add junk to the end
223of the file). Thus, concerned users may decide to write a NetReadFixup()
224function that will clean up after reading with their ftp. Some Unix systems
225(ie., FreeBSD) provide a utility called "fetch" which uses the ftp protocol
226but is not noisy and more convenient, actually, for <netrw.vim> to use.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000227Consequently, if "fetch" is executable, it will be used to do reads for
228ftp://... (and http://...) . See |netrw-var| for more about this.
229
230For rcp, scp, sftp, and http, one may use network-oriented file transfers
Bram Moolenaar83bab712005-08-01 21:58:57 +0000231transparently; ie.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000232>
233 vim rcp://[user@]machine/path
234 vim scp://[user@]machine/path
235<
236If your ftp supports <.netrc>, then it too can be just as transparently used
237if the needed triad of machine name, user id, and password are present in
238that file. Your ftp must be able to use the <.netrc> file on its own, however.
239>
240 vim ftp://[user@]machine[[:#]portnumber]/path
241<
242However, ftp will often need to query the user for the userid and password.
Bram Moolenaar83bab712005-08-01 21:58:57 +0000243The latter will be done "silently"; ie. asterisks will show up instead of
Bram Moolenaar071d4272004-06-13 20:20:40 +0000244the actually-typed-in password. Netrw will retain the userid and password
245for subsequent read/writes from the most recent transfer so subsequent
246transfers (read/write) to or from that machine will take place without
247additional prompting.
248
249 *netrw-urls*
250 +=================================+============================+============+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000251 | Reading | Writing | Uses |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000252 +=================================+============================+============+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000253 | DAV: | | |
254 | dav://host/path | | cadaver |
255 | :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000256 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000257 | FETCH: | | |
258 | fetch://[user@]host/path | | |
259 | fetch://[user@]host:http/path | Not Available | fetch |
260 | :Nread fetch://[user@]host/path| | |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000261 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000262 | FILE: | | |
263 | file:///* | file:///* | |
264 | file://localhost/* | file://localhost/* | |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000265 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000266 | FTP: (*3) | (*3) | |
267 | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
268 | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
269 | :Nread host path | :Nwrite host path | ftp+.netrc |
270 | :Nread host uid pass path | :Nwrite host uid pass path | ftp |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000271 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000272 | HTTP: wget is executable: (*4) | | |
273 | http://[user@]host/path | Not Available | wget |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000274 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000275 | HTTP: fetch is executable (*4) | | |
276 | http://[user@]host/path | Not Available | fetch |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000277 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000278 | RCP: | | |
279 | rcp://[user@]host/path | rcp://[user@]host/path | rcp |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000280 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000281 | RSYNC: | | |
282 | rsync://[user@]host/path | rsync://[user@]host/path | rsync |
283 | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
284 | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000285 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000286 | SCP: | | |
287 | scp://[user@]host/path | scp://[user@]host/path | scp |
288 | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000289 +---------------------------------+----------------------------+------------+
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000290 | SFTP: | | |
291 | sftp://[user@]host/path | sftp://[user@]host/path | sftp |
292 | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
Bram Moolenaar071d4272004-06-13 20:20:40 +0000293 +=================================+============================+============+
294
295 (*1) For an absolute path use scp://machine//path.
296
297 (*2) if <.netrc> is present, it is assumed that it will
298 work with your ftp client. Otherwise the script will
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000299 prompt for user-id and pasword.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000300
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000301 (*3) for ftp, "machine" may be machine#port or machine:port
Bram Moolenaar071d4272004-06-13 20:20:40 +0000302 if a different port is needed than the standard ftp port
303
304 (*4) for http:..., if wget is available it will be used. Otherwise,
305 if fetch is available it will be used.
306
307Both the :Nread and the :Nwrite ex-commands can accept multiple filenames.
308
309
310NETRC *netrw-netrc*
311
312The typical syntax for lines in a <.netrc> file is given as shown below.
313Ftp under Unix usually support <.netrc>; Windows' ftp usually doesn't.
314>
315 machine {full machine name} login {user-id} password "{password}"
316 default login {user-id} password "{password}"
317
318Your ftp client must handle the use of <.netrc> on its own, but if the
319<.netrc> file exists, an ftp transfer will not ask for the user-id or
320password.
321
322 Note:
323 Since this file contains passwords, make very sure nobody else can
324 read this file! Most programs will refuse to use a .netrc that is
325 readable for others. Don't forget that the system administrator can
326 still read the file!
327
328
329PASSWORD *netrw-passwd*
330
331The script attempts to get passwords for ftp invisibly using |inputsecret()|,
332a built-in Vim function. See |netrw-uidpass| for how to change the password
333after one has set it.
334
Bram Moolenaara5792f52005-11-23 21:25:05 +0000335Unfortunately there doesn't appear to be a way for netrw to feed a password
336to scp. Thus every transfer via scp will require re-entry of the password.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000337
338
339==============================================================================
3403. Activation *netrw-activate*
341
342Network-oriented file transfers are available by default whenever
343|'nocompatible'| mode is enabled. The <netrw.vim> file resides in your
Bram Moolenaara5792f52005-11-23 21:25:05 +0000344system's vim-plugin directory and is sourced automatically whenever you
345bring up vim.
346
Bram Moolenaar071d4272004-06-13 20:20:40 +0000347
348==============================================================================
3494. Transparent File Transfer *netrw-transparent*
350
351Transparent file transfers occur whenever a regular file read or write
352(invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is made.
Bram Moolenaara5792f52005-11-23 21:25:05 +0000353Thus one may use files across networks as if they were local. >
Bram Moolenaar071d4272004-06-13 20:20:40 +0000354
355 vim ftp://[user@]machine/path
356 ...
357 :wq
358
359
360==============================================================================
3615. Ex Commands *netrw-ex*
362
363The usual read/write commands are supported. There are also a couple of
364additional commands available.
365
366:[range]Nw Write the specified lines to the current
367 file as specified in b:netrw_lastfile.
368
369:[range]Nw {netfile} [{netfile}]...
370 Write the specified lines to the {netfile}.
371
Bram Moolenaara5792f52005-11-23 21:25:05 +0000372:Nread
373 Read the specified lines into the current
Bram Moolenaar071d4272004-06-13 20:20:40 +0000374 buffer from the file specified in
375 b:netrw_lastfile.
376
377:Nread {netfile} {netfile}...
378 Read the {netfile} after the current line.
379
Bram Moolenaar482aaeb2005-09-29 18:26:07 +0000380 *netrw-uidpass*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000381:call NetUserPass()
382 If b:netrw_uid and b:netrw_passwd don't exist,
383 this function query the user for them.
384
385:call NetUserPass("userid")
386 This call will set the b:netrw_uid and, if
387 the password doesn't exist, will query the user for it.
388
389:call NetUserPass("userid","passwd")
390 This call will set both the b:netrw_uid and b:netrw_passwd.
391 The user-id and password are used by ftp transfers. One may
392 effectively remove the user-id and password by using ""
393 strings.
394
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000395:NetrwSettings This command is desribed in |netrw-settings| -- used to
396 display netrw settings and change netrw behavior
397
Bram Moolenaar071d4272004-06-13 20:20:40 +0000398
399==============================================================================
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00004006. Variables and Options *netrw-options* *netrw-var*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000401
402The script <netrw.vim> uses several variables which can affect <netrw.vim>'s
403behavior. These variables typically may be set in the user's <.vimrc> file:
Bram Moolenaara5792f52005-11-23 21:25:05 +0000404>
405 -------------
406 Netrw Options
407 -------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000408 Option Meaning
409 -------------- -----------------------------------------------
410<
411 b:netrw_col Holds current cursor position (during NetWrite)
412 g:netrw_cygwin =1 assume scp under windows is from cygwin
413 (default/windows)
414 =0 assume scp under windows accepts windows
415 style paths (default/else)
416 g:netrw_ftp =0 use default ftp (uid password)
417 g:netrw_ftpmode ="binary" (default)
418 ="ascii" (your choice)
419 g:netrw_ignorenetrc =1 (default)
420 if you have a <.netrc> file but you don't
Bram Moolenaar071d4272004-06-13 20:20:40 +0000421 want it used, then set this variable. Its
422 mere existence is enough to cause <.netrc>
423 to be ignored.
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000424 b:netrw_lastfile Holds latest method/machine/path.
425 b:netrw_line Holds current line number (during NetWrite)
426 g:netrw_passwd Holds current password for ftp.
427 g:netrw_silent =0 transfers done normally
428 =1 transfers done silently
429 g:netrw_uid Holds current user-id for ftp.
Bram Moolenaar482aaeb2005-09-29 18:26:07 +0000430 =1 use alternate ftp (user uid password)
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000431 (see |netrw-options|)
432 g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
433 =1 use WinNT/2K/XP's rcp, binary mode
434 g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
435 =1 use default method to do ftp >
436 -----------------------------------------------------------------------
437<
Bram Moolenaar071d4272004-06-13 20:20:40 +0000438The script will also make use of the following variables internally, albeit
439temporarily.
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000440>
441 -------------------
442 Temporary Variables
443 -------------------
444 Variable Meaning
445 -------- ------------------------------------
446<
Bram Moolenaar071d4272004-06-13 20:20:40 +0000447 g:netrw_method Index indicating rcp/ftp+.netrc/ftp
448 g:netrw_machine Holds machine name parsed from input
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000449 g:netrw_fname Holds filename being accessed >
450 ------------------------------------------------------------
451<
Bram Moolenaar071d4272004-06-13 20:20:40 +0000452 *netrw-protocol*
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000453
454Netrw supports a number of protocols. These protocols are invoked using the
455variables listed below, and may be modified by the user.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000456>
457 ------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000458 Protocol Control Options
Bram Moolenaar071d4272004-06-13 20:20:40 +0000459 ------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000460 Option Type Setting Meaning
461 --------- -------- -------------- ---------------------------
462<
463 netrw_ftp variable =doesn't exist userid set by "user userid"
464 =0 userid set by "user userid"
465 =1 userid set by "userid"
466 NetReadFixup function =doesn't exist no change
467 =exists Allows user to have files
468 read via ftp automatically
469 transformed however they wish
470 by NetReadFixup()
Bram Moolenaar071d4272004-06-13 20:20:40 +0000471 g:netrw_dav_cmd variable ="cadaver"
472 g:netrw_fetch_cmd variable ="fetch -o"
473 g:netrw_ftp_cmd variable ="ftp"
474 g:netrw_http_cmd variable ="fetch -o" else if fetch is executable
475 g:netrw_http_cmd variable ="wget -O" if wget is executable
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000476 g:netrw_list_cmd variable ="ssh HOSTNAME ls -Fa"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000477 g:netrw_rcp_cmd variable ="rcp"
478 g:netrw_rsync_cmd variable ="rsync -a"
479 g:netrw_scp_cmd variable ="scp -q"
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000480 g:netrw_sftp_cmd variable ="sftp" >
481 -------------------------------------------------------------------------
Bram Moolenaar071d4272004-06-13 20:20:40 +0000482<
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000483 *netrw-ftp*
Bram Moolenaara5792f52005-11-23 21:25:05 +0000484The first two options both help with certain ftp's that give trouble otherwise.
485In order to best understand how to use these options if ftp is giving you
486troubles, a bit of discussion follows on how netrw does ftp reads.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000487
Bram Moolenaara5792f52005-11-23 21:25:05 +0000488The g:netrw_..._cmd variables specify the external program to use handle
489the associated protocol (rcp, ftp, etc), plus any options.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000490
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000491The g:netrw_list_cmd's HOSTNAME entry will be changed via substitution with
492whatever the current request is for a hostname.
493
494For ftp, netrw typically builds up lines of one of the following formats in a
Bram Moolenaar071d4272004-06-13 20:20:40 +0000495temporary file:
496>
497 IF g:netrw_ftp !exists or is not 1 IF g:netrw_ftp exists and is 1
498 ---------------------------------- ------------------------------
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000499<
500 open machine [port] open machine [port]
501 user userid password userid password
502 [g:netrw_ftpmode] password
503 get filename tempfile [g:netrw_ftpmode]
504 get filename tempfile >
505 ---------------------------------------------------------------------
Bram Moolenaar071d4272004-06-13 20:20:40 +0000506<
507Netrw then executes the lines above by use of a filter:
508>
509 :%! {g:netrw_ftp_cmd} -i [-n]
510<
511
512where
513 g:netrw_ftp_cmd is usually "ftp",
514 -i tells ftp not to be interactive
515 -n means don't use netrc and is used for Method #3 (ftp w/o <.netrc>)
516
517If <.netrc> exists it will be used to avoid having to query the user for
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000518userid and password. The transferred file is put into a temporary file.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000519The temporary file is then read into the main editing session window that
520requested it and the temporary file deleted.
521
Bram Moolenaara5792f52005-11-23 21:25:05 +0000522If your ftp doesn't accept the "user" command and immediately just demands
523a userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000524
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000525 *netrw-cadaver*
526To handle the SSL certificate dialog for untrusted servers, one may pull
527down the certificate and place it into /usr/ssl/cert.pem. This operation
528renders the server treatment as "trusted".
529
Bram Moolenaar83bab712005-08-01 21:58:57 +0000530 *netrw-fixup* *netreadfixup*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000531If your ftp for whatever reason generates unwanted lines (such as AUTH
532messages) you may write a NetReadFixup(tmpfile) function:
533>
534 function! NetReadFixup(method,line1,line2)
535 " a:line1: first new line in current file
536 " a:line2: last new line in current file
537 if a:method == 1 "rcp
538 elseif a:method == 2 "ftp + <.netrc>
539 elseif a:method == 3 "ftp + machine,uid,password,filename
540 elseif a:method == 4 "scp
541 elseif a:method == 5 "http/wget
542 elseif a:method == 6 "dav/cadaver
543 elseif a:method == 7 "rsync
544 elseif a:method == 8 "fetch
545 elseif a:method == 9 "sftp
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000546 else " complain
Bram Moolenaar071d4272004-06-13 20:20:40 +0000547 endif
548 endfunction
549>
Bram Moolenaara5792f52005-11-23 21:25:05 +0000550The NetReadFixup() function will be called if it exists and thus allows
551you to customize your reading process. As a further example, <netrw.vim>
552contains just such a function to handle Windows 95 ftp. For whatever
553reason, Windows 95's ftp dumps four blank lines at the end of a transfer,
554and so it is desirable to automate their removal. Here's some code taken
555from <netrw.vim> itself:
Bram Moolenaar071d4272004-06-13 20:20:40 +0000556>
557 if has("win95") && g:netrw_win95ftp
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000558 fun! NetReadFixup(method, line1, line2)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000559 if method == 3 " ftp (no <.netrc>)
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000560 let fourblanklines= line2 - 3
561 silent fourblanklines.",".line2."g/^\s*/d"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000562 endif
563 endfunction
564 endif
565>
566
567==============================================================================
Bram Moolenaara5792f52005-11-23 21:25:05 +00005687. Directory Browser *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
Bram Moolenaar83bab712005-08-01 21:58:57 +0000569
570MAPS *netrw-maps*
571 ?................Help.......................................|netrw-help|
572 <cr>.............Browsing...................................|netrw-cr|
573 <del>............Deleting Files or Directories..............|netrw-delete|
574 -................Going Up...................................|netrw--|
575 a................Hiding Files or Directories................|netrw-a|
576 b................Bookmarking a Directory....................|netrw-b|
577 B................Changing to a Bookmarked Directory.........|netrw-B|
578 c................Make Browsing Directory The Current Dir....|netrw-c|
579 d................Make A New Directory.......................|netrw-d|
580 D................Deleting Files or Directories..............|netrw-D|
581 <c-h>............Edit File/Directory Hiding List............|netrw-h|
582 i................Long Listing...............................|netrw-i|
583 <c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
584 o................Browsing with a Horizontal Split...........|netrw-o|
585 p................Preview Window.............................|netrw-p|
586 q................Listing Bookmarks and History..............|netrw-q|
587 r................Reversing Sorting Order....................|netrw-r|
588 R................Renaming Files or Directories..............|netrw-R|
589 s................Selecting Sorting Style....................|netrw-s|
590 S................Editing the Sorting Sequence...............|netrw-S|
591 u................Changing to a Predecessor Directory........|netrw-u|
592 U................Changing to a Successor Directory..........|netrw-U|
593 v................Browsing with a Vertical Split.............|netrw-v|
594 x................Customizing Browsing.......................|netrw-x|
595
596 COMMANDS *netrw-explore-cmds*
Bram Moolenaar488c6512005-08-11 20:09:58 +0000597 :Explore[!] [dir] Explore directory of current file........|netrw-explore|
598 :Sexplore[!] [dir] Split & Explore directory ...............|netrw-explore|
599 :Hexplore[!] [dir] Horizontal Split & Explore...............|netrw-explore|
600 :Vexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
601 :Pexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
602 :Nexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000603 :NetrwSettings.............................................|netrw-settings|
Bram Moolenaar269ec652004-07-29 08:43:53 +0000604
605QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds*
Bram Moolenaar843ee412004-06-30 16:16:41 +0000606>
Bram Moolenaar8299df92004-07-10 09:47:34 +0000607 ------- -----------
Bram Moolenaar843ee412004-06-30 16:16:41 +0000608 Command Explanation
609 ------- -----------
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000610< ? Causes Netrw to issue help
Bram Moolenaar843ee412004-06-30 16:16:41 +0000611 <cr> Netrw will enter the directory or read the file
612 <del> Netrw will attempt to remove the file/directory
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000613 d Make a directory
Bram Moolenaar843ee412004-06-30 16:16:41 +0000614 D Netrw will attempt to remove the file(s)/directory(ies)
615 R Netrw will attempt to rename the file(s)/directory(ies)
616 - Makes Netrw go up one directory
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000617 a Toggles between normal display,
618 hiding (suppress display of files matching g:netrw_list_hide)
619 showing (display only files which match g:netrw_list_hide)
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000620 c Make current browsing directory the current directory
621 <c-h> Edit file hiding list
Bram Moolenaar8299df92004-07-10 09:47:34 +0000622 i Toggles between long and short listing
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000623 <c-l> Causes Netrw to refresh the directory listing
Bram Moolenaar843ee412004-06-30 16:16:41 +0000624 o Enter the file/directory under the cursor in a new browser
625 window. A horizontal split is used.
Bram Moolenaar572cb562005-08-05 21:35:02 +0000626 p Preview the file
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000627 r Reverse sorting order
628 s Select sorting style: by name, time, or file size
Bram Moolenaar843ee412004-06-30 16:16:41 +0000629 v Enter the file/directory under the cursor in a new browser
630 window. A vertical split is used.
631 x Apply a function to a file.
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000632
Bram Moolenaar269ec652004-07-29 08:43:53 +0000633NETRW BROWSER VARIABLES *netrw-browse-var*
Bram Moolenaar843ee412004-06-30 16:16:41 +0000634>
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000635 --- -----------
636 Var Explanation
637 --- -----------
638< *g:netrw_alto* change from above splitting to below splitting
639 by setting this variable (see |netrw-o|)
640 default: =0
Bram Moolenaar83bab712005-08-01 21:58:57 +0000641
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000642 *g:netrw_altv* change from left splitting to right splitting
643 by setting this variable (see |netrw-v|)
644 default: =0
Bram Moolenaar83bab712005-08-01 21:58:57 +0000645
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000646 *g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
647 that can show up as "directories" and "files"
648 in the listing. This pattern is used to
649 remove such embedded messages. By default its
650 value is:
651 '^total\s\+\d\+$\|
652 ^Trying\s\+\d\+.*$\|
653 ^KERBEROS_V\d rejected\|
654 ^Security extensions not\|
655 No such file\|
656 : connect to address [0-9a-fA-F:]*
657 : No route to host$'
Bram Moolenaar83bab712005-08-01 21:58:57 +0000658
Bram Moolenaara5792f52005-11-23 21:25:05 +0000659 *g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
660 messages, banners, and whatnot that one doesn't
661 want masquerading as "directories" and "files".
662 Use this pattern to remove such embedded
663 messages. By default its value is:
664 '^total\s\+\d\+$'
Bram Moolenaar83bab712005-08-01 21:58:57 +0000665
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000666 *g:netrw_keepdir* =1 (default) keep current directory immune from
667 the browsing directory.
668 =0 keep the current directory the same as the
669 browsing directory.
670 The current browsing directory is contained in
671 b:netrw_curdir
Bram Moolenaar83bab712005-08-01 21:58:57 +0000672
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000673 *g:netrw_list_cmd* command for listing remote directories
674 default: (if ssh is executable)
675 "ssh HOSTNAME ls -FLa"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000676
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000677 *g:netrw_longlist* if =1, then long listing will be default
Bram Moolenaar83bab712005-08-01 21:58:57 +0000678
Bram Moolenaara5792f52005-11-23 21:25:05 +0000679 *g:netrw_ftp_list_cmd* options for passing along to ftp for directory
680 listing. Defaults:
681 unix or g:netrw_cygwin set: : "ls -lF"
682 otherwise "dir"
683
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000684 *g:netrw_list_hide* comma separated pattern list for hiding files
685 default: ""
Bram Moolenaar83bab712005-08-01 21:58:57 +0000686
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000687 *g:netrw_local_mkdir* command for making a local directory
Bram Moolenaara5792f52005-11-23 21:25:05 +0000688 default: "ssh HOSTNAME mkdir"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000689
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000690 *g:netrw_local_rmdir* remove directory command (rmdir)
691 default: "rmdir"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000692
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000693 *g:netrw_maxfilenamelen* =32 by default, selected so as to make long
694 listings fit on 80 column displays.
695 If your screen is wider, and you have file
696 or directory names longer than 32 bytes,
697 you may set this option to keep listings
698 columnar.
Bram Moolenaar83bab712005-08-01 21:58:57 +0000699
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000700 *g:netrw_mkdir_cmd* command for making a remote directory
701 default: "ssh HOSTNAME mkdir"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000702
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000703 *g:netrw_rm_cmd* command for removing files
704 default: "ssh HOSTNAME rm"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000705
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000706 *g:netrw_rmdir_cmd* command for removing directories
707 default: "ssh HOSTNAME rmdir"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000708
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000709 *g:netrw_rmf_cmd* command for removing softlinks
710 default: "ssh HOSTNAME rm -f"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000711
Bram Moolenaara5792f52005-11-23 21:25:05 +0000712 *g:netrw_hide* if true, the hiding list is used
713 default: =0
714
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000715 *g:netrw_sort_by* sort by "name", "time", or "size"
716 default: "name"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000717
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000718 *g:netrw_sort_direction* sorting direction: "normal" or "reverse"
719 default: "normal"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000720
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000721 *g:netrw_sort_sequence* when sorting by name, first sort by the
722 comma-separated pattern sequence
723 default: '[\/]$,*,\.bak$,\.o$,\.h$,
724 \.info$,\.swp$,\.obj$'
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000725
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000726 *g:netrw_timefmt* specify format string to strftime() (%c)
727 default: "%c"
Bram Moolenaar83bab712005-08-01 21:58:57 +0000728
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +0000729 *g:netrw_winsize* specify initial size of new o/v windows
730 default: ""
Bram Moolenaar83bab712005-08-01 21:58:57 +0000731
732INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000733
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000734Netrw supports the browsing of directories on the local system and on remote
Bram Moolenaara5792f52005-11-23 21:25:05 +0000735hosts, including generating listing directories, entering directories, editing
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000736files therein, deleting files/directories, making new directories, and moving
737(renaming) files and directories. The Netrw browser generally implements the
738previous explorer maps and commands for remote directories, although details
739(such as pertinent global variable names) necessarily differ.
740
741The Netrw remote file and directory browser handles two protocols: ssh and
742ftp. The protocol in the url, if it is ftp, will cause netrw to use ftp
743in its remote browsing. Any other protocol will be used for file transfers,
744but otherwise the ssh protocol will be used to do remote directory browsing.
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000745
Bram Moolenaara5792f52005-11-23 21:25:05 +0000746To enter the netrw directory browser, simply attempt to read a "file" with a
Bram Moolenaar843ee412004-06-30 16:16:41 +0000747trailing slash and it will be interpreted as a request to list a directory:
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000748
749 vim [protocol]://[user@]hostname/path/
750
Bram Moolenaara5792f52005-11-23 21:25:05 +0000751If you'd like to avoid entering the password in for directory listings, scp,
752ssh interaction, etc, see |netrw-listhack|.
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000753
Bram Moolenaarf6cf9872005-08-08 22:00:59 +0000754 *netrw-explore* *netrw-pexplore*
755 *netrw-hexplore* *netrw-sexplore*
756DIRECTORY EXPLORING COMMANDS *netrw-nexplore* *netrw-vexplore*
Bram Moolenaar83bab712005-08-01 21:58:57 +0000757
Bram Moolenaar488c6512005-08-11 20:09:58 +0000758 :Explore[!] [dir]... Explore directory of current file *:Explore*
759 :Sexplore[!] [dir]... Split&Explore directory of current file *:Sexplore*
760 :Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
761 :Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
Bram Moolenaar83bab712005-08-01 21:58:57 +0000762
Bram Moolenaar488c6512005-08-11 20:09:58 +0000763 Used with :Explore **/pattern :
764 :Nexplore............. go to next matching file *:Nexplore*
765 :Pexplore............. go to previous matching file *:Pexplore*
Bram Moolenaar83bab712005-08-01 21:58:57 +0000766
Bram Moolenaar488c6512005-08-11 20:09:58 +0000767:Explore will open the local-directory browser on the current file's
768 directory (or on directory [dir] if specified). The window will be
769 split only if the file has been modified, otherwise the browsing
770 window will take over that window. Normally the splitting is taken
771 horizontally.
772:Explore! is like :Explore, but will use vertical splitting.
773:Sexplore will always split the window before invoking the local-directory
774 browser. As with Explore, the splitting is normally done
775 horizontally.
776:Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
777:Hexplore [dir] does an :Explore with |:belowright| horizontal splitting.
778:Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
779:Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
780:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
Bram Moolenaar83bab712005-08-01 21:58:57 +0000781
Bram Moolenaar488c6512005-08-11 20:09:58 +0000782By default, these commands use the current file's directory. However, one
783may explicitly provide a directory (path) to use.
Bram Moolenaar83bab712005-08-01 21:58:57 +0000784
Bram Moolenaarf6cf9872005-08-08 22:00:59 +0000785(Following needs v7.0 or later) *netrw-starstar*
Bram Moolenaara5792f52005-11-23 21:25:05 +0000786When Explore, Sexplore, Hexplore, or Vexplore are used like
Bram Moolenaarf6cf9872005-08-08 22:00:59 +0000787>
788 :Explore **/filename_pattern
789<
790netrw will attempt to find a (sub)directory which matches the filename
791pattern. Internally, it produces a list of files which match the pattern
792and their paths; to that extent it resembles the Unix operation:
793>
794 find $(pwd) -name "$1" -exec "echo" "{}" ";" 2> /dev/null
795<
796The directory display is updated to show the subdirectory containing a
797matching file. One may then proceed to the next (or previous) matching files'
798directories by using Nexplore or Pexplore, respectively. If your console or
799gui produces recognizable shift-up or shift-down sequences, then you'll likely
Bram Moolenaara5792f52005-11-23 21:25:05 +0000800find the following mappings convenient:
Bram Moolenaar572cb562005-08-05 21:35:02 +0000801
802 <s-down> == Nexplore, and
803 <s-up> == Pexplore.
804
Bram Moolenaarf6cf9872005-08-08 22:00:59 +0000805As an example, consider
806>
Bram Moolenaar572cb562005-08-05 21:35:02 +0000807 :Explore **/*.c
808 :Nexplore
809 :Nexplore
810 :Pexplore
811<
Bram Moolenaarf6cf9872005-08-08 22:00:59 +0000812The status line will show, on the right hand side of the status line, a
813message like "Match 3 of 20".
814
Bram Moolenaar83bab712005-08-01 21:58:57 +0000815
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000816REFRESHING THE LISTING *netrw-ctrl-l*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000817
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000818To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
819hit the <cr> when atop the ./ directory entry in the listing. One may also
820refresh a local directory by using ":e .".
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000821
822
823GOING UP *netrw--*
824
Bram Moolenaara5792f52005-11-23 21:25:05 +0000825To go up a directory, press - or his the <cr> when atop the ../ directory
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000826entry in the listing.
827
Bram Moolenaara5792f52005-11-23 21:25:05 +0000828Netrw will modify the command in |g:netrw_list_cmd| to perform the directory
829listing operation. By default the command is:
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000830
Bram Moolenaar843ee412004-06-30 16:16:41 +0000831 ssh HOSTNAME ls -FLa
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000832
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000833where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
834read. Naturally, the user may override this command with whatever is
835preferred. The NetList function which implements remote directory browsing
836expects that directories will be flagged by a trailing slash.
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000837
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000838
Bram Moolenaar8299df92004-07-10 09:47:34 +0000839BROWSING *netrw-cr*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000840
Bram Moolenaar69a7cb42004-06-20 12:51:53 +0000841Browsing is simple: move the cursor onto a file or directory of interest.
Bram Moolenaar843ee412004-06-30 16:16:41 +0000842Hitting the <cr> (the return key) will select the file or directory.
843Directories will themselves be listed, and files will be opened using the
Bram Moolenaara5792f52005-11-23 21:25:05 +0000844protocol given in the original read request.
Bram Moolenaar843ee412004-06-30 16:16:41 +0000845
Bram Moolenaar83bab712005-08-01 21:58:57 +0000846
Bram Moolenaar578b49e2005-09-10 19:22:57 +0000847OBTAINING A FILE *netrw-O*
848
849When browsing a remote directory, one may obtain a file under the cursor (ie.
850get a copy on your local machine, but not edit it) by pressing the O key.
851Only ftp and scp are supported for this operation (but since these two are
Bram Moolenaara5792f52005-11-23 21:25:05 +0000852available for browsing, that shouldn't be a problem).
Bram Moolenaar578b49e2005-09-10 19:22:57 +0000853
854
855THIN, LONG, AND WIDE LISTINGS *netrw-i*
856
857The "i" map cycles between the thin, long, and wide listing formats.
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000858
Bram Moolenaar8299df92004-07-10 09:47:34 +0000859The short listing format gives just the files' and directories' names.
Bram Moolenaar578b49e2005-09-10 19:22:57 +0000860
Bram Moolenaar8299df92004-07-10 09:47:34 +0000861The long listing is either based on the "ls" command via ssh for remote
Bram Moolenaara5792f52005-11-23 21:25:05 +0000862directories or displays the filename, file size (in bytes), and the
863time and date of last modification for local directories.
Bram Moolenaar578b49e2005-09-10 19:22:57 +0000864
Bram Moolenaara5792f52005-11-23 21:25:05 +0000865The wide listing format has a multi-column display of the various
866files in the netrw current directory, rather like the Unix "ls" presents.
867In this mode the "b" and "B" maps are not available; instead, use
868Nb (|netrw-Nb|) and NB (|netrw-NB|).
Bram Moolenaar8299df92004-07-10 09:47:34 +0000869
870
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000871MAKING A NEW DIRECTORY *netrw-d*
Bram Moolenaar8299df92004-07-10 09:47:34 +0000872
Bram Moolenaara5792f52005-11-23 21:25:05 +0000873With the "d" map one may make a new directory either remotely (which
874depends on the global variable g:netrw_mkdir_cmd) or locally (which depends on
875the global variable g:netrw_local_mkdir). Netrw will issue a request for the
876new directory's name. A bare <CR> at that point will abort the making of the
Bram Moolenaar8299df92004-07-10 09:47:34 +0000877directory. Attempts to make a local directory that already exists (as either
878a file or a directory) will be detected, reported on, and ignored.
879
Bram Moolenaar83bab712005-08-01 21:58:57 +0000880
Bram Moolenaar269ec652004-07-29 08:43:53 +0000881DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D*
Bram Moolenaar843ee412004-06-30 16:16:41 +0000882
883Deleting/removing files and directories involves moving the cursor to the
Bram Moolenaara5792f52005-11-23 21:25:05 +0000884file/directory to be deleted and pressing "D". Directories must be empty first
885before they can be successfully removed. If the directory is a softlink to a
886directory, then netrw will make two requests to remove the directory before
887succeeding. Netrw will ask for confirmation before doing the removal(s).
888You may select a range of lines with the "V" command (visual selection),
889and then pressing "D".
Bram Moolenaar843ee412004-06-30 16:16:41 +0000890
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000891The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used
892to control the attempts to remove files and directories. The g:netrw_rm_cmd
893is used with files, and its default value is:
Bram Moolenaar843ee412004-06-30 16:16:41 +0000894
895 g:netrw_rm_cmd: ssh HOSTNAME rm
896
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000897The g:netrw_rmdir_cmd variable is used to support the removal of directories.
898Its default value is:
Bram Moolenaar843ee412004-06-30 16:16:41 +0000899
900 g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
901
902If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000903to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
Bram Moolenaar843ee412004-06-30 16:16:41 +0000904
905 g:netrw_rmf_cmd: ssh HOSTNAME rm -f
906
Bram Moolenaar843ee412004-06-30 16:16:41 +0000907
Bram Moolenaar8299df92004-07-10 09:47:34 +0000908RENAMING FILES OR DIRECTORIES *netrw-move* *netrw-rename* *netrw-R*
Bram Moolenaar843ee412004-06-30 16:16:41 +0000909
910Renaming/moving files and directories involves moving the cursor to the
911file/directory to be moved (renamed) and pressing "R". You will then be
912queried for where you want the file/directory to be moved. You may select a
913range of lines with the "V" command (visual selection), and then pressing "R".
914
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000915The g:netrw_rename_cmd variable is used to implement renaming. By default its
Bram Moolenaar843ee412004-06-30 16:16:41 +0000916value is:
917
918 ssh HOSTNAME mv
919
Bram Moolenaar269ec652004-07-29 08:43:53 +0000920One may rename a block of files and directories by selecting them with
921the V (|linewise-visual|).
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000922
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000923
Bram Moolenaar482aaeb2005-09-29 18:26:07 +0000924HIDING FILES OR DIRECTORIES *netrw-a*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000925
Bram Moolenaara5792f52005-11-23 21:25:05 +0000926Netrw's browsing facility allows one to use the hiding list in one of
927three ways: ignore it, hide files which match, and show only those files
928which match. The "a" map allows the user to cycle about these three ways.
Bram Moolenaar83bab712005-08-01 21:58:57 +0000929
Bram Moolenaara5792f52005-11-23 21:25:05 +0000930The g:netrw_list_hide variable holds a comma delimited list of patterns
931(ex. \.obj) which specify the hiding list. (also see |netrw-h|) To
932set the hiding list, use the <c-h> map. As an example, to hide files
933which begin with a ".", one may use the <c-h> map to set the hiding
934list to '^\..*' (or one may put let g:netrw_list_hide= '^\..*' in
935one's <.vimrc>). One may then use the "a" key to show all files,
936hide matching files, or to show only the matching files.
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000937
938
Bram Moolenaar83bab712005-08-01 21:58:57 +0000939EDIT FILE OR DIRECTORY HIDING LIST *netrw-h* *netrw-edithide*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000940
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000941The "<ctrl-h>" map brings up a requestor allowing the user to change the
Bram Moolenaar269ec652004-07-29 08:43:53 +0000942file/directory hiding list. The hiding list consists of one or more patterns
943delimited by commas. Files and/or directories satisfying these patterns will
Bram Moolenaara5792f52005-11-23 21:25:05 +0000944either be hidden (ie. not shown) or be the only ones displayed (see |netrw-a|).
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000945
946
Bram Moolenaar83bab712005-08-01 21:58:57 +0000947BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o* *netrw-horiz*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000948
Bram Moolenaar269ec652004-07-29 08:43:53 +0000949Normally one enters a file or directory using the <cr>. However, the "o" map
950allows one to open a new window to hold the new directory listing or file. A
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000951horizontal split is used. (for vertical splitting, see |netrw-v|)
952
Bram Moolenaara5792f52005-11-23 21:25:05 +0000953Normally, the o key splits the window horizontally with the new window
954and cursor at the top. To change to splitting the window horizontally
955with the new window and cursor at the bottom, have
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000956
957 let g:netrw_alto = 1
958
959in your <.vimrc>.
960
Bram Moolenaar83bab712005-08-01 21:58:57 +0000961
962PREVIEW WINDOW *netrw-p* *netrw-preview*
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000963
Bram Moolenaara5792f52005-11-23 21:25:05 +0000964One may use a preview window (currently only for local browsing) by using
965the "p" key when the cursor is atop the desired filename to be previewed.
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000966
967
Bram Moolenaar83bab712005-08-01 21:58:57 +0000968SELECTING SORTING STYLE *netrw-s* *netrw-sort*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000969
Bram Moolenaara5792f52005-11-23 21:25:05 +0000970One may select the sorting style by name, time, or (file) size. The
971"s" map allows one to circulate amongst the three choices; the directory
972listing will automatically be refreshed to reflect the selected style.
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000973
974
Bram Moolenaar83bab712005-08-01 21:58:57 +0000975EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence*
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000976
Bram Moolenaara5792f52005-11-23 21:25:05 +0000977When "Sorted by" is name, one may specify priority via the sorting
978sequence (g:netrw_sort_sequence). The sorting sequence typically
979prioritizes the name-listing by suffix, although any pattern will do.
980Patterns are delimited by commas. The default sorting sequence is:
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000981>
Bram Moolenaar488c6512005-08-11 20:09:58 +0000982 [\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000983<
Bram Moolenaara5792f52005-11-23 21:25:05 +0000984The lone * is where all filenames not covered by one of the other
985patterns will end up. One may change the sorting sequence by modifying
986the g:netrw_sort_sequence variable (either manually or in your <.vimrc>)
987or by using the "S" map.
Bram Moolenaard4755bb2004-09-02 19:12:26 +0000988
989
Bram Moolenaar83bab712005-08-01 21:58:57 +0000990REVERSING SORTING ORDER *netrw-r* *netrw-reverse*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000991
992One may toggle between normal and reverse sorting order by pressing the
993"r" key.
994
995
Bram Moolenaar83bab712005-08-01 21:58:57 +0000996CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir*
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000997
998Every time you change to a new directory (new for the current session),
999netrw will save the directory in a recently-visited directory history
1000list (unless g:netrw_dirhistmax is zero; by default, its ten). With the
1001"u" map, one can change to an earlier directory (predecessor). To do
1002the opposite, see |netrw-U|.
1003
1004
Bram Moolenaar83bab712005-08-01 21:58:57 +00001005CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir*
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001006
1007With the "U" map, one can change to a later directory (successor).
1008This map is the opposite of the "u" map. (see |netrw-u|) Use the
1009q map to list both the bookmarks and history. (see |netrw-q|)
1010
1011
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001012BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v*
1013
Bram Moolenaara5792f52005-11-23 21:25:05 +00001014Normally one enters a file or directory using the <cr>. However, the "v"
1015map allows one to open a new window to hold the new directory listing or
1016file. A vertical split is used. (for horizontal splitting, see |netrw-o|)
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001017
Bram Moolenaara5792f52005-11-23 21:25:05 +00001018Normally, the v key splits the window vertically with the new window
1019and cursor at the left. To change to splitting the window vertically
1020with the new window and cursor at the right, have
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001021
1022 let g:netrw_altv = 1
1023
1024in your <.vimrc>.
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001025
1026
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001027CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x* *netrw-handler*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001028
1029One may "enter" a file with a special handler, thereby firing up a browser or
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001030other application, for example, on a file by hitting the "x" key. The special
1031handler varies:
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001032
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001033 * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
1034 * for KDE (with kfmclient): kfmclient is used.
1035 * for Gnome (with gnome-open): gnome-open is used.
Bram Moolenaara5792f52005-11-23 21:25:05 +00001036 * otherwise the NetrwFileHandler plugin is used.
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001037
1038The file's suffix is used by these various approaches to determine an
Bram Moolenaara5792f52005-11-23 21:25:05 +00001039appropriate application to use to "handle" these files. Such things
1040as OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript
1041(*.ps, *.eps) can be handled.
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001042
Bram Moolenaara5792f52005-11-23 21:25:05 +00001043The NetrwFileHandler applies a user-defined function to a file, based on its
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001044extension. Of course, the handler function must exist for it to be called!
1045>
1046 Ex. mypgm.html x ->
Bram Moolenaara5792f52005-11-23 21:25:05 +00001047 NetrwFileHandler_html("scp://user@host/some/path/mypgm.html")
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001048<
Bram Moolenaara5792f52005-11-23 21:25:05 +00001049See the <plugin/NetrwFileHandlers.vim> for an example of how to handle an html
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001050file with mozilla.
1051
Bram Moolenaara5792f52005-11-23 21:25:05 +00001052One may write custom NetrwFileHandlers; please look at the
1053plugin/NetrwFileHandlers.vim script for examples. If its likely to be
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001054generally useful, please feel free to forward a copy to me for future
1055inclusion in the distribution.
1056
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001057
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001058MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* *netrw-curdir*
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001059
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001060By default, g:netrw_keepdir is 1. This setting means that the current
1061directory will not track the browsing directory. However, setting
1062g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the
1063currently browsed directory be the current directory.
1064
1065With the default setting for g:netrw_keepdir, in order to make the two
Bram Moolenaara5792f52005-11-23 21:25:05 +00001066directories the same, use the "c" map (just type c). That map will set
1067the current directory to the current browsing directory.
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001068
1069
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001070BOOKMARKING A DIRECTORY *netrw-b* *netrw-bookmark* *netrw-bookmarks*
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001071 *netrw-Nb*
Bram Moolenaar572cb562005-08-05 21:35:02 +00001072One may easily "bookmark" a directory by using >
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001073
1074 {cnt}b
Bram Moolenaar572cb562005-08-05 21:35:02 +00001075<
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001076Any count may be used. One may use viminfo's "!" option to retain bookmarks
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001077between vim sessions. See |netrw-B| for how to return to a bookmark and
1078|netrw-q| for how to list them.
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001079
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001080When wide listing is in use (see |netrw-i|), then the b map is not available;
1081instead, use {cnt}Nb.
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001082
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001083
1084CHANGING TO A BOOKMARKED DIRECTORY *netrw-NB* *netrw-B*
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001085
1086To change directory back to a bookmarked directory, use
1087
1088 {cnt}B
1089
Bram Moolenaara5792f52005-11-23 21:25:05 +00001090Any count may be used to reference any of the bookmarks. See |netrw-b|
1091for how to bookmark a directory and |netrw-q| for how to list them.
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001092
1093When wide listing is in use (see |netrw-i|), then the B map is not available;
1094instead, use {cnt}NB.
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001095
1096
Bram Moolenaar83bab712005-08-01 21:58:57 +00001097LISTING BOOKMARKS AND HISTORY *netrw-q* *netrw-listbookmark*
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001098
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001099Pressing "q" will list the bookmarked directories and directory traversal
1100history (query). (see |netrw-b|, |netrw-B|, |netrw-u|, and |netrw-U|)
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001101
1102
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001103IMPROVING DIRECTORY BROWSING *netrw-listhack*
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +00001104
1105Especially with the remote directory browser, constantly entering the password
1106is tedious.
1107
Bram Moolenaar843ee412004-06-30 16:16:41 +00001108For Linux/Unix systems, I suggest looking into
1109
1110 http://hacks.oreilly.com/pub/h/66
1111
1112It gives a tip for setting up password-less use of ssh and scp, and discusses
1113the associated security issues.
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001114
1115
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001116NETRW SETTINGS *netrw-settings*
1117
1118With the NetrwSettings.vim plugin, >
1119 :NetrwSettings
1120will bring up a window with the many variables that netrw uses for its
Bram Moolenaara5792f52005-11-23 21:25:05 +00001121settings. You may change any of their values; when you save the file,
1122the settings therein will be used. One may also press "?" on any of
1123the lines for help on what each of the variables do.
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001124
1125
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001126==============================================================================
Bram Moolenaarc0197e22004-09-13 20:26:32 +000011278. Problems and Fixes *netrw-problems*
1128
1129 (This section is likely to grow as I get feedback)
1130 (also see |netrw-debug|)
Bram Moolenaar488c6512005-08-11 20:09:58 +00001131 *netrw-p1*
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001132 P1. I use windows 95, and my ftp dumps four blank lines at the
1133 end of every read.
1134
1135 See |netrw-fixup|, and put the following into your
1136 <.vimrc> file:
1137
1138 let g:netrw_win95ftp= 1
Bram Moolenaarf6cf9872005-08-08 22:00:59 +00001139
Bram Moolenaar488c6512005-08-11 20:09:58 +00001140 *netrw-p2*
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001141 P2. I use windows, and my network browsing with ftp doesn't sort by
1142 time or size
1143
1144 Windows' ftp has a minimal support for ls (ie. it doesn't
1145 accept sorting options). It doesn't support the -F which
1146 gives an explanatory character (ABC/ for "ABC is a directory").
1147 Netrw uses dir to get its short and long listings. If you
1148 think your ftp does support a full-up ls, put the following
1149 into your <.vimrc>:
1150
1151 let g:netrw_ftp_list_cmd= "ls -lF"
1152
1153 Alternatively, if you have cygwin on your Windows box, put
1154 into your <.vimrc>:
1155
1156 let g:netrw_cygwin= 1
1157
Bram Moolenaar488c6512005-08-11 20:09:58 +00001158 *netrw-p3*
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001159 P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
1160 used ssh! That wasn't what I asked for...
1161
1162 Netrw has two methods for browsing remote directories: ssh
1163 and ftp. Unless you specify ftp specifically, ssh is used.
1164 When it comes time to do download a file (not just a directory
1165 listing), netrw will use the given protocol to do so.
1166
Bram Moolenaar488c6512005-08-11 20:09:58 +00001167 *netrw-p4*
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001168 P4. I would like long listings to be the default.
1169
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001170 let g:netrw_longlist=1
1171
1172 Check out |netrw-browse-var| for more customizations that
1173 you can set.
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001174
Bram Moolenaar488c6512005-08-11 20:09:58 +00001175 *netrw-p5*
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001176 P5. My times come up oddly in local browsing
1177
1178 Does your system's strftime() accept the "%c" to yield dates
1179 such as "Sun Apr 27 11:49:23 1997"? If not, do a "man strftime"
1180 and find out what option should be used. Then put it into
1181 your <.vimrc>:
1182 let g:netrw_timefmt= "%X" (where X is the option)
1183
Bram Moolenaar488c6512005-08-11 20:09:58 +00001184 *netrw-p6*
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001185 P6. I want my current directory to track my browsing.
1186 How do I do that?
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001187
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001188 let g:netrw_keepdir= 0
Bram Moolenaarf6cf9872005-08-08 22:00:59 +00001189
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001190
1191==============================================================================
11929. Debugging *netrw-debug*
Bram Moolenaar071d4272004-06-13 20:20:40 +00001193
1194The <netrw.vim> script is typically available as:
Bram Moolenaar488c6512005-08-11 20:09:58 +00001195>
Bram Moolenaar071d4272004-06-13 20:20:40 +00001196 /usr/local/share/vim/vim6x/plugin/netrw.vim
Bram Moolenaar488c6512005-08-11 20:09:58 +00001197< -or- >
1198 /usr/local/share/vim/vim7x/plugin/netrw.vim
1199<
Bram Moolenaar071d4272004-06-13 20:20:40 +00001200which is loaded automatically at startup (assuming :set nocp).
1201
1202 1. Get the <Decho.vim> script, available as:
1203
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001204 http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_scripts
1205 as "Decho, a vimL debugging aid"
Bram Moolenaar071d4272004-06-13 20:20:40 +00001206 or
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001207 http://vim.sourceforge.net/scripts/script.php?script_id=120
Bram Moolenaar071d4272004-06-13 20:20:40 +00001208
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001209 and put it into your local plugin directory.
Bram Moolenaarf6cf9872005-08-08 22:00:59 +00001210
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001211 2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need
1212 to put it into your .vim/plugin, too. You may obtain it from:
Bram Moolenaar071d4272004-06-13 20:20:40 +00001213
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001214 http://mysite.verizon.net/astronaut/vim/index.html#VimFuncs
1215 as "DrC's Utilities"
Bram Moolenaar071d4272004-06-13 20:20:40 +00001216
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001217 3. Edit the <netrw.vim> file by typing:
1218
1219 vim netrw.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +00001220 :DechoOn
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001221 :wq
Bram Moolenaar071d4272004-06-13 20:20:40 +00001222
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001223 To restore to normal non-debugging behavior, edit <netrw.vim>
1224 by typing
Bram Moolenaar071d4272004-06-13 20:20:40 +00001225
Bram Moolenaard4755bb2004-09-02 19:12:26 +00001226 vim netrw.vim
1227 :DechoOff
1228 :wq
1229
1230 This command, provided by <Decho.vim>, will comment out all
1231 Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
1232
1233 4. Then bring up vim and attempt a transfer. A set of messages
Bram Moolenaar071d4272004-06-13 20:20:40 +00001234 should appear concerning the steps that <netrw.vim> took in
1235 attempting to read/write your file over the network. Please
1236 send that information to <netrw.vim>'s maintainer,
1237
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001238 NdrOchip at ScampbellPfamily.AbizM - NOSPAM
Bram Moolenaar071d4272004-06-13 20:20:40 +00001239
1240==============================================================================
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000124110. History *netrw-history*
Bram Moolenaar071d4272004-06-13 20:20:40 +00001242
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001243 v67: * Passwords which contain blanks will now be surrounded by
1244 double-quotes automatically (Yongwei)
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001245 v66: * Netrw now seems to work with a few more Windows situations
1246 * O now obtains a file: remote browsing file -> local copy,
1247 locally browsing file -> current directory (see :pwd)
1248 * i now cycles between thin, long, and wide listing styles
1249 * NB and Nb are maps that are always available; corresponding
1250 B and b maps are only available when not using wide listing
1251 in order to allow them to be used for motions
1252 v65: * Browser functions now use NetOptionSave/Restore; in particular,
Bram Moolenaar8aff23a2005-08-19 20:40:30 +00001253 netrw now works around the report setting
Bram Moolenaar578b49e2005-09-10 19:22:57 +00001254 v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers
Bram Moolenaar8aff23a2005-08-19 20:40:30 +00001255 named "[Scratch]" instead of "/"
1256 * Bugfix - remote browsing with ftp was omitting the ./ and ../
Bram Moolenaar5b8d8fd2005-08-16 23:01:50 +00001257 v63: * netrw now takes advantage of autoload (and requires 7.0)
1258 * Bugfix - using r (to reverse sort) working again
1259 v62: * Bugfix - spaces allowed again in directory names with
1260 g:netrw_keepdir=0. In fact, I've tested netrw (again)
1261 with most ANSI punctuation marks for directory names.
1262 * Bugfix - NetrwSettings gave errors when g:netrw_silent
1263 had not be set.
Bram Moolenaar90cfdbe2005-08-12 19:59:19 +00001264 v61: * document upgrade -- netrw variable-based settings all should
1265 have tags. Supports NetrwSettings command.
1266 * several important variables are window-oriented. Netrw has
1267 to transfer these across a window split. See s:BufWinVars()
1268 and s:UseBufWinVars().
Bram Moolenaar488c6512005-08-11 20:09:58 +00001269 v60: * when using the i map to switch between long and short listings,
1270 netrw will now keep cursor on same line
1271 * "Match # of #" now uses status line
1272 * :Explore **/*.c will now work from a non-netrw-browser window
1273 * :Explore **/patterns can now be run in separate browser windows
1274 * active banner (hit <cr> will cause various things to happen)
Bram Moolenaarf6cf9872005-08-08 22:00:59 +00001275 v59: * bugfix -- another keepalt work-around installed (for vim6.3)
1276 * "Match # of #" for Explore **/pattern matches
Bram Moolenaar572cb562005-08-05 21:35:02 +00001277 v58: * Explore and relatives can now handle **/somefilepattern (v7)
1278 * Nexplore and Pexplore introduced (v7). shift-down and shift-up
1279 cursor keys will invoke Nexplore and Pexplore, respectively.
1280 * bug fixed with o and v
1281 * autochdir only worked around for vim when it has been
1282 compiled with either |+netbeans_intg| or |+sun_workshop|
1283 * Under Windows, all directories and files were being preceded
1284 with a "/" when local browsing. Fixed.
1285 * When: syntax highlighting is off, laststatus=2, and remote
1286 browsing is used, sometimes the laststatus highlighting
1287 bleeds into the entire display. Work around - do an extra
1288 redraw in that case.
1289 * Bugfix: when g:netrw_keepdir=0, due to re-use of buffers,
1290 netrw didn't change the directory when it should've
1291 * Bugfix: D and R commands work again
Bram Moolenaar1d94f9b2005-08-04 21:29:45 +00001292 v57: * Explore and relatives can now handle RO files
1293 * reverse sort restored with vim7's sort command
1294 * g:netrw_keepdir now being used to keep the current directory
1295 unchanged as intended (sense change)
1296 * vim 6.3 still supported
Bram Moolenaar83bab712005-08-01 21:58:57 +00001297 v56: * LocalBrowse now saves autochdir setting, unsets it, and
1298 restores it before returning.
1299 * using vim's rename() instead of system + local_rename variable
Bram Moolenaar1d94f9b2005-08-04 21:29:45 +00001300 * avoids changing directory when g:netrw_keepdir is false
Bram Moolenaar83bab712005-08-01 21:58:57 +00001301 v55: * -bar used with :Explore :Sexplore etc to allow multiple
1302 commands to be separated by |s
1303 * browser listings now use the "nowrap" option
1304 * browser: some unuseful error messages now suppressed
1305 v54: * For backwards compatibility, Explore and Sexplore have been
1306 implemented. In addition, Hexplore and Vexplore commands
1307 are available, too.
1308 * <amatch> used instead of <afile> in the transparency
1309 support (BufReadCmd, FileReadCmd, FileWriteCmd)
1310 * ***netrw*** prepended to various error messages netrw may emit
1311 * g:netrw_port used instead of b:netrw_port for scp
1312 * any leading [:#] is removed from port numbers
1313 v53: * backslashes as well as slashes placed in various patterns
1314 (ex. g:netrw_sort_sequence) to better support Windows
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001315 v52: * nonumber'ing now set for browsing buffers
1316 * when the hiding list hid all files, error messages ensued. Fixed
1317 * when browsing, swf is set, but directory is not set, when netrw
1318 was attempting to restore options, vim wanted to save a swapfile
1319 to a local directory using an url-style path. Fixed
1320 v51: * cygwin detection now automated (using windows and &shell is bash)
1321 * customizable browser "file" rejection patterns
1322 * directory history
1323 * :[range]w url now supported (ie. netrw has a FileWriteCmd event)
1324 * error messages have a "Press <cr> to continue" to allow them
1325 to be seen
1326 * directory browser displays no longer bother the swapfile
1327 * u/U commands to go up and down the history stack
1328 * history stack may be saved with viminfo with its "!" option
1329 * bugfixes associated with unwanted [No Files] entries
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001330 v50: * directories now displayed using buftype=nofile; should keep the
1331 directory names as-is
1332 * attempts to remove empty "[No File]" buffers leftover
1333 from :file ..name.. commands
1334 * bugfix: a "caps-lock" editing difficulty left in v49 was fixed
1335 * syntax highlighting for "Showing:" the hiding list included
1336 * bookmarks can now be retained if "!" is in the viminfo option
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001337 v49: * will use ftp for http://.../ browsing v48:
1338 * One may use ftp to do remote host file browsing
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001339 * (windows and !cygwin) remote browsing with ftp can now use
1340 the "dir" command internally to provide listings
1341 * g:netrw_keepdir now allows one to keep the initial current
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001342 directory as the current directory (normally the local file
1343 browser makes the currently viewed directory the current
1344 directory)
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001345 * g:netrw_alto and g:netrw_altv now support alternate placement
1346 of windows started with o or v
1347 * Nread ? and Nwrite ? now uses echomsg (instead of echo) so
1348 :messages can repeat showing the help
1349 * bugfix: avoids problems with partial matches of directory names
1350 to prior buffers with longer names
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001351 * one can suppress error messages with g:netrw_quiet ctrl-h used
1352 * instead of <Leader>h for editing hiding list one may edit the
1353 * sorting sequence with the S map now allows confirmation of
1354 * deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles
1355 * special file viewing with:
1356 (windows) rundll32 url.dll (gnome) gnome-open (kde)
1357 kfmclient If none of these are on the executable path, then
Bram Moolenaara5792f52005-11-23 21:25:05 +00001358 NetrwFileHandlers.vim is used.
Bram Moolenaarc0197e22004-09-13 20:26:32 +00001359 * directory bookmarking during both local and remote browsing
1360 implemented
1361 * one may view all, use the hiding list to suppress, or use the
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001362 hiding list to show-only remote and local file/directory
1363 listings
1364 * improved unusual file and directory name handling preview
1365 * window support
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00001366 v47: * now handles local directory browsing.
1367 v46: * now handles remote directory browsing
1368 * g:netrw_silent (if 1) will cause all transfers to be silent
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001369 v45: * made the [user@]hostname:path form a bit more restrictive to
1370 better handle errors in using protocols (e.g. scp:usr@host:file
1371 was being recognized as an rcp request) v44: * changed from
1372 "rsync -a" to just "rsync"
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001373 * somehow an editing error messed up the test to recognize
1374 use of the fetch method for NetRead.
1375 * more debugging statements included
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001376 v43: * moved "Explanation" comments to <pi_netrw.txt> help file as
1377 "Network Reference" (|netrw-ref|)
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001378 * <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
1379 * removed superfluous NetRestorePosn() calls
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001380 v42: * now does BufReadPre and BufReadPost events on file:///* and
1381 file://localhost/* v41: * installed file:///* and
1382 file://localhost/* handling v40: * prevents redraw when a
1383 protocol error occurs so that the user may see it v39: * sftp
1384 support v38: * Now uses NetRestorePosn() calls with
1385 Nread/Nwrite commands
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001386 * Temporary files now removed via bwipe! instead of bwipe
Bram Moolenaar3fdfa4a2004-10-07 21:02:47 +00001387 (thanks to Dave Roberts) v37: * Claar's modifications which
1388 test if ftp is successful, otherwise give an error message
Bram Moolenaar69a7cb42004-06-20 12:51:53 +00001389 * After a read, the alternate file was pointing to the temp file.
1390 The temp file buffer is now wiped out.
1391 * removed silent from transfer methods so user can see what's
1392 happening
Bram Moolenaar071d4272004-06-13 20:20:40 +00001393
1394
1395==============================================================================
Bram Moolenaarc0197e22004-09-13 20:26:32 +0000139611. Credits *netrw-credits*
Bram Moolenaar071d4272004-06-13 20:20:40 +00001397
1398 Vim editor by Bram Moolenaar (Thanks, Bram!)
1399 dav support by C Campbell
1400 fetch support by Bram Moolenaar and C Campbell
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001401 ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM>
Bram Moolenaar071d4272004-06-13 20:20:40 +00001402 http support by Bram Moolenaar <bram@moolenaar.net>
1403 rcp
1404 rsync support by C Campbell (suggested by Erik Warendorph)
1405 scp support by raf <raf@comdyn.com.au>
1406 sftp support by C Campbell
1407
1408 inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
1409
1410 Jérôme Augé -- also using new buffer method with ftp+.netrc
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001411 Bram Moolenaar -- obviously vim itself, :e and v:cmdarg use,
1412 fetch,...
Bram Moolenaar071d4272004-06-13 20:20:40 +00001413 Yasuhiro Matsumoto -- pointing out undo+0r problem and a solution
1414 Erik Warendorph -- for several suggestions (g:netrw_..._cmd
1415 variables, rsync etc)
Bram Moolenaar482aaeb2005-09-29 18:26:07 +00001416 Doug Claar -- modifications to test for success with ftp
1417 operation
Bram Moolenaar071d4272004-06-13 20:20:40 +00001418
1419==============================================================================
Bram Moolenaar83bab712005-08-01 21:58:57 +00001420 vim:tw=78:ts=8:ft=help:norl:fdm=marker