459
|
1 *pi_netrw.txt* For Vim version 6.3. Last change: Jul 09, 2005
|
7
|
2
|
|
3
|
|
4 VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
|
|
5
|
9
|
6 *dav* *http* *network* *rcp* *scp*
|
|
7 *fetch* *netrw* *Nread* *rsync* *sftp*
|
|
8 *ftp* *netrw.vim* *Nwrite* *netrw-file*
|
7
|
9
|
|
10 ==============================================================================
|
|
11 0. Contents *netrw-contents*
|
|
12
|
459
|
13 1. Netrw Reference......................................|netrw-ref|
|
|
14 2. Network-Oriented File Transfer.......................|netrw-xfer|
|
|
15 NETRC..............................................|netrw-netrc|
|
|
16 PASSWORD...........................................|netrw-passwd|
|
|
17 3. Activation...........................................|netrw-activate|
|
|
18 4. Transparent File Transfer............................|netrw-transparent|
|
|
19 5. Ex Commands..........................................|netrw-ex|
|
|
20 6. Variables and Options................................|netrw-var|
|
|
21 7. Directory Browser....................................|netrw-browse| {{{1
|
|
22 Maps...............................................|netrw-maps|
|
|
23 Exploring..........................................|netrw-explore-cmds|
|
|
24 Quick Reference Commands Table.....................|netrw-browse-cmds|
|
|
25 Netrw Browser Variables............................|netrw-browse-var|
|
|
26 Introduction To Directory Browsing.................|netrw-browse-intro|
|
|
27 Directory Exploring Commands.......................|netrw-explore|
|
|
28 Refreshing The Listing.............................|netrw-ctrl-l|
|
|
29 Going Up...........................................|netrw--|
|
|
30 Browsing...........................................|netrw-cr|
|
|
31 Long Vs Short Listing..............................|netrw-i|
|
|
32 Making A New Directory.............................|netrw-d|
|
|
33 Deleting Files Or Directories......................|netrw-delete|
|
|
34 Renaming Files Or Directories......................|netrw-move|
|
|
35 Hiding Files Or Directories........................|g:netrw-a|
|
|
36 Edit File Or Directory Hiding List.................|netrw-h|
|
|
37 Browsing With A Horizontally Split Window..........|netrw-o|
|
|
38 Preview Window.....................................|netrw-p|
|
|
39 Selecting Sorting Style............................|netrw-s|
|
|
40 Editing The Sorting Sequence.......................|netrw-S|
|
|
41 Reversing Sorting Order............................|netrw-r|
|
|
42 Changing To A Predecessor Directory................|netrw-u|
|
|
43 Changing To A Successor Directory..................|netrw-U|
|
|
44 Browsing With A Vertically Split Window............|netrw-v|
|
|
45 Customizing Browsing With A User Function..........|netrw-x|
|
|
46 Making The Browsing Directory The Current Directory|netrw-c|
|
|
47 Bookmarking A Directory............................|netrw-b|
|
|
48 Changing To A Bookmarked Directory.................|netrw-B|
|
|
49 Listing Bookmarks And History......................|netrw-q|
|
|
50 Improving Directory Browsing.......................|netrw-list-hack| }}}1
|
|
51 8. Problems and Fixes...................................|netrw-problems|
|
|
52 9. Debugging............................................|netrw-debug|
|
|
53 10. History..............................................|netrw-history|
|
|
54 11. Credits..............................................|netrw-credits|
|
7
|
55
|
|
56 The functionality mentioned here is done via using |standard-plugin|
|
|
57 techniques. This plugin is only available if
|
|
58
|
9
|
59 set nocp " 'compatible' is not set
|
|
60 filetype plugin on " plugins are enabled
|
7
|
61
|
|
62 You can avoid loading this plugin by setting the "loaded_netrw" variable
|
|
63 in your <.vimrc> file: >
|
|
64
|
|
65 :let loaded_netrw = 1
|
|
66
|
|
67 {Vi does not have any of this}
|
|
68
|
|
69 ==============================================================================
|
|
70 1. Netrw Reference *netrw-ref*
|
|
71
|
|
72 OPTIONS
|
|
73 let g:netrw_ftp =0 use ftp (default) (uid password)
|
|
74 =1 use alternate ftp method (user uid password)
|
|
75 If you're having trouble with ftp, try changing the value
|
|
76 of this variable in your <.vimrc> to change methods
|
|
77
|
|
78 let g:netrw_ignorenetrc= 1
|
|
79 If you have a <.netrc> file but it doesn't work and you
|
|
80 want it ignored, then set this variable as shown. Its mere
|
|
81 existence is enough to cause <.netrc> to be ignored.
|
|
82
|
|
83 Controlling External Applications
|
|
84
|
9
|
85 Protocol Variable Default Value
|
|
86 -------- ---------------- -------------
|
|
87 dav: g:netrw_dav_cmd = "cadaver"
|
|
88 fetch: g:netrw_fetch_cmd = "fetch -o"
|
|
89 ftp: g:netrw_ftp_cmd = "ftp"
|
|
90 http: g:netrw_http_cmd = "fetch -o" if fetch is available
|
|
91 http: g:netrw_http_cmd = "wget -q -O" If wget is available
|
|
92 rcp: g:netrw_rcp_cmd = "rcp"
|
|
93 rsync: g:netrw_rsync_cmd = "rsync -a"
|
|
94 scp: g:netrw_scp_cmd = "scp -q"
|
7
|
95 sftp: g:netrw_sftp_cmd = "sftp"
|
|
96
|
22
|
97 READING *netrw-read* *netrw-nread*
|
7
|
98 :Nread ? give help
|
22
|
99 :Nread "machine:path" uses rcp
|
|
100 :Nread "machine path" uses ftp with <.netrc>
|
|
101 :Nread "machine id password path" uses ftp
|
|
102 :Nread "dav://machine[:port]/path" uses cadaver
|
|
103 :Nread "fetch://[user@]machine/path" uses fetch
|
|
104 :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc>
|
|
105 :Nread "http://[user@]machine/path" uses http uses wget
|
|
106 :Nread "rcp://[user@]machine/path" uses rcp
|
|
107 :Nread "rsync://[user@]machine[:port]/path" uses rsync
|
|
108 :Nread "scp://[user@]machine[[:#]port]/path" uses scp
|
|
109 :Nread "sftp://[user@]machine/path" uses sftp
|
7
|
110
|
22
|
111 WRITING *netrw-write* *netrw-nwrite*
|
9
|
112 :Nwrite ? give help
|
22
|
113 :Nwrite "machine:path" uses rcp
|
|
114 :Nwrite "machine path" uses ftp with <.netrc>
|
|
115 :Nwrite "machine id password path" uses ftp
|
|
116 :Nwrite "dav://machine[:port]/path" uses cadaver
|
|
117 :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc>
|
|
118 :Nwrite "rcp://[user@]machine/path" uses rcp
|
|
119 :Nwrite "rsync://[user@]machine[:port]/path" uses rsync
|
|
120 :Nwrite "scp://[user@]machine[[:#]port]/path" uses scp
|
|
121 :Nwrite "sftp://[user@]machine/path" uses sftp
|
7
|
122 http: not supported!
|
|
123
|
9
|
124 DIRECTORY LISTING
|
|
125 :Nread [protocol]://[user]@hostname/path/
|
|
126
|
7
|
127 USER AND PASSWORD CHANGING
|
|
128 Attempts to use ftp will prompt you for a user-id and a password.
|
|
129 These will be saved in g:netrw_uid and g:netrw_passwd Subsequent uses
|
|
130 of ftp will re-use those. If you need to use a different user id
|
|
131 and/or password, you'll want to call NetUserPass() first.
|
|
132
|
|
133 :NetUserPass [uid [password]] -- prompts as needed
|
|
134 :call NetUserPass() -- prompts for uid and password
|
|
135 :call NetUserPass("uid") -- prompts for password
|
|
136 :call NetUserPass("uid","password") -- sets global uid and password
|
|
137
|
22
|
138 VARIABLES *netrw-variables*
|
7
|
139 b:netrw_lastfile last file Network-read/written retained on
|
|
140 a per-buffer basis (supports plain :Nw )
|
|
141 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
|
|
145 g:netrw_ftp if it doesn't exist, use default ftp
|
|
146 =0 use default ftp (uid password)
|
|
147 =1 use alternate ftp method (user uid password)
|
|
148 g:netrw_ftpmode ="binary" (default)
|
24
|
149 ="ascii"
|
7
|
150 g:netrw_uid (ftp) user-id, retained on a per-session basis
|
|
151 g:netrw_passwd (ftp) password, retained on a per-session basis
|
24
|
152 g:netrw_win95ftp =1 if using Win95, will remove four trailing blank
|
|
153 lines that o/s's ftp "provides" on transfers
|
|
154 =0 force normal ftp behavior (no trailing line
|
|
155 removal)
|
7
|
156 g:netrw_cygwin =1 assume scp under windows is from cygwin
|
24
|
157 Also permits network browsing to use
|
|
158 ls with time and size sorting
|
7
|
159 (default if windows)
|
24
|
160 =0 assume Windows' scp accepts windows-style paths
|
|
161 Network browsing uses dir instead of ls
|
|
162 This option is ignored if you're using unix
|
|
163 g:netrw_use_nt_rcp=0 don't use the rcp of WinNT, Win2000 and WinXP
|
|
164 =1 use WinNT's rcp in binary mode (default)
|
7
|
165
|
22
|
166 PATHS *netrw-path*
|
|
167
|
|
168 Paths to files are generally user-directory relative for most protocols.
|
|
169 It is possible that some protocol will make paths relative to some
|
|
170 associated directory, however.
|
|
171
|
|
172 example: vim scp://user@host/somefile
|
|
173 example: vim scp://user@host/subdir1/subdir2/somefile
|
|
174
|
|
175 where "somefile" is the "user"'s home directory. If you wish to get a
|
|
176 file using root-relative paths, use the full path:
|
|
177
|
|
178 example: vim scp://user@host//somefile
|
|
179 example: vim scp://user@host//subdir1/subdir2/somefile
|
|
180
|
7
|
181
|
|
182 ==============================================================================
|
|
183 2. Network-Oriented File Transfer *netrw-xfer*
|
|
184
|
|
185 Network-oriented file transfer under Vim is implemented by a VimL-based script
|
|
186 (<netrw.vim>) using plugin techniques. It currently supports both reading
|
|
187 and writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
|
188 dav/cadaver, rsync, or sftp.
|
|
189
|
|
190 http is currently supported read-only via use of wget or fetch.
|
|
191
|
|
192 <netrw.vim> is a standard plugin which acts as glue between Vim and the
|
|
193 various file transfer programs. It uses autocommand events (BufReadCmd,
|
|
194 FileReadCmd, BufWriteCmd) to intercept reads/writes with url-like filenames. >
|
|
195
|
|
196 ex. vim ftp://hostname/path/to/file
|
|
197 <
|
|
198 The characters preceding the colon specify the protocol to use;
|
|
199 in the example, its ftp. The <netrw.vim> script then formulates
|
|
200 a command or a series of commands (typically ftp) which it issues
|
|
201 to an external program (ftp, scp, etc) which does the actual file
|
|
202 transfer/protocol. Files are read from/written to a temporary file
|
|
203 (under Unix/Linux, /tmp/...) which the <netrw.vim> script will
|
|
204 clean up.
|
|
205
|
|
206 One may modify any protocol's implementing external application
|
24
|
207 by setting a variable (ex. scp uses the variable g:netrw_scp_cmd,
|
7
|
208 which is defaulted to "scp -q").
|
|
209
|
|
210 Ftp, an old protocol, seems to be blessed by numerous implementations.
|
459
|
211 Unfortunately, some implementations are noisy (ie., add junk to the end
|
7
|
212 of the file). Thus, concerned users may decide to write a NetReadFixup()
|
|
213 function that will clean up after reading with their ftp. Some Unix systems
|
459
|
214 (ie., FreeBSD) provide a utility called "fetch" which uses the ftp protocol
|
7
|
215 but is not noisy and more convenient, actually, for <netrw.vim> to use.
|
|
216 Consequently, if "fetch" is executable, it will be used to do reads for
|
|
217 ftp://... (and http://...) . See |netrw-var| for more about this.
|
|
218
|
|
219 For rcp, scp, sftp, and http, one may use network-oriented file transfers
|
459
|
220 transparently; ie.
|
7
|
221 >
|
|
222 vim rcp://[user@]machine/path
|
|
223 vim scp://[user@]machine/path
|
|
224 <
|
|
225 If your ftp supports <.netrc>, then it too can be just as transparently used
|
|
226 if the needed triad of machine name, user id, and password are present in
|
|
227 that file. Your ftp must be able to use the <.netrc> file on its own, however.
|
|
228 >
|
|
229 vim ftp://[user@]machine[[:#]portnumber]/path
|
|
230 <
|
|
231 However, ftp will often need to query the user for the userid and password.
|
459
|
232 The latter will be done "silently"; ie. asterisks will show up instead of
|
7
|
233 the actually-typed-in password. Netrw will retain the userid and password
|
|
234 for subsequent read/writes from the most recent transfer so subsequent
|
|
235 transfers (read/write) to or from that machine will take place without
|
|
236 additional prompting.
|
|
237
|
|
238 *netrw-urls*
|
|
239 +=================================+============================+============+
|
9
|
240 | Reading | Writing | Uses |
|
7
|
241 +=================================+============================+============+
|
9
|
242 | DAV: | | |
|
|
243 | dav://host/path | | cadaver |
|
|
244 | :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
|
7
|
245 +---------------------------------+----------------------------+------------+
|
9
|
246 | FETCH: | | |
|
|
247 | fetch://[user@]host/path | | |
|
|
248 | fetch://[user@]host:http/path | Not Available | fetch |
|
|
249 | :Nread fetch://[user@]host/path| | |
|
7
|
250 +---------------------------------+----------------------------+------------+
|
9
|
251 | FILE: | | |
|
|
252 | file:///* | file:///* | |
|
|
253 | file://localhost/* | file://localhost/* | |
|
7
|
254 +---------------------------------+----------------------------+------------+
|
9
|
255 | FTP: (*3) | (*3) | |
|
|
256 | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
|
|
257 | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
|
|
258 | :Nread host path | :Nwrite host path | ftp+.netrc |
|
|
259 | :Nread host uid pass path | :Nwrite host uid pass path | ftp |
|
7
|
260 +---------------------------------+----------------------------+------------+
|
9
|
261 | HTTP: wget is executable: (*4) | | |
|
|
262 | http://[user@]host/path | Not Available | wget |
|
7
|
263 +---------------------------------+----------------------------+------------+
|
9
|
264 | HTTP: fetch is executable (*4) | | |
|
|
265 | http://[user@]host/path | Not Available | fetch |
|
7
|
266 +---------------------------------+----------------------------+------------+
|
9
|
267 | RCP: | | |
|
|
268 | rcp://[user@]host/path | rcp://[user@]host/path | rcp |
|
7
|
269 +---------------------------------+----------------------------+------------+
|
9
|
270 | RSYNC: | | |
|
|
271 | rsync://[user@]host/path | rsync://[user@]host/path | rsync |
|
|
272 | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
|
|
273 | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
|
7
|
274 +---------------------------------+----------------------------+------------+
|
9
|
275 | SCP: | | |
|
|
276 | scp://[user@]host/path | scp://[user@]host/path | scp |
|
|
277 | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
|
7
|
278 +---------------------------------+----------------------------+------------+
|
9
|
279 | SFTP: | | |
|
|
280 | sftp://[user@]host/path | sftp://[user@]host/path | sftp |
|
|
281 | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
|
7
|
282 +=================================+============================+============+
|
|
283
|
|
284 (*1) For an absolute path use scp://machine//path.
|
|
285
|
|
286 (*2) if <.netrc> is present, it is assumed that it will
|
|
287 work with your ftp client. Otherwise the script will
|
9
|
288 prompt for user-id and pasword.
|
7
|
289
|
9
|
290 (*3) for ftp, "machine" may be machine#port or machine:port
|
7
|
291 if a different port is needed than the standard ftp port
|
|
292
|
|
293 (*4) for http:..., if wget is available it will be used. Otherwise,
|
|
294 if fetch is available it will be used.
|
|
295
|
|
296 Both the :Nread and the :Nwrite ex-commands can accept multiple filenames.
|
|
297
|
|
298
|
|
299 NETRC *netrw-netrc*
|
|
300
|
|
301 The typical syntax for lines in a <.netrc> file is given as shown below.
|
|
302 Ftp under Unix usually support <.netrc>; Windows' ftp usually doesn't.
|
|
303 >
|
|
304 machine {full machine name} login {user-id} password "{password}"
|
|
305 default login {user-id} password "{password}"
|
|
306
|
|
307 Your ftp client must handle the use of <.netrc> on its own, but if the
|
|
308 <.netrc> file exists, an ftp transfer will not ask for the user-id or
|
|
309 password.
|
|
310
|
|
311 Note:
|
|
312 Since this file contains passwords, make very sure nobody else can
|
|
313 read this file! Most programs will refuse to use a .netrc that is
|
|
314 readable for others. Don't forget that the system administrator can
|
|
315 still read the file!
|
|
316
|
|
317
|
|
318 PASSWORD *netrw-passwd*
|
|
319
|
|
320 The script attempts to get passwords for ftp invisibly using |inputsecret()|,
|
|
321 a built-in Vim function. See |netrw-uidpass| for how to change the password
|
|
322 after one has set it.
|
|
323
|
|
324 Unfortunately there doesn't appear to be a way for netrw to feed a password
|
|
325 to scp. Thus every transfer via scp will require re-entry of the password.
|
|
326
|
|
327
|
|
328 ==============================================================================
|
|
329 3. Activation *netrw-activate*
|
|
330
|
|
331 Network-oriented file transfers are available by default whenever
|
|
332 |'nocompatible'| mode is enabled. The <netrw.vim> file resides in your
|
|
333 system's vim-plugin directory and is sourced automatically whenever you
|
|
334 bring up vim.
|
|
335
|
|
336
|
|
337 ==============================================================================
|
|
338 4. Transparent File Transfer *netrw-transparent*
|
|
339
|
|
340 Transparent file transfers occur whenever a regular file read or write
|
|
341 (invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is made.
|
|
342 Thus one may use files across networks as if they were local. >
|
|
343
|
|
344 vim ftp://[user@]machine/path
|
|
345 ...
|
|
346 :wq
|
|
347
|
|
348
|
|
349 ==============================================================================
|
|
350 5. Ex Commands *netrw-ex*
|
|
351
|
|
352 The usual read/write commands are supported. There are also a couple of
|
|
353 additional commands available.
|
|
354
|
|
355 :[range]Nw Write the specified lines to the current
|
|
356 file as specified in b:netrw_lastfile.
|
|
357
|
|
358 :[range]Nw {netfile} [{netfile}]...
|
|
359 Write the specified lines to the {netfile}.
|
|
360
|
|
361 :Nread
|
|
362 Read the specified lines into the current
|
|
363 buffer from the file specified in
|
|
364 b:netrw_lastfile.
|
|
365
|
|
366 :Nread {netfile} {netfile}...
|
|
367 Read the {netfile} after the current line.
|
|
368
|
|
369 *netrw-uidpass*
|
|
370 :call NetUserPass()
|
|
371 If b:netrw_uid and b:netrw_passwd don't exist,
|
|
372 this function query the user for them.
|
|
373
|
|
374 :call NetUserPass("userid")
|
|
375 This call will set the b:netrw_uid and, if
|
|
376 the password doesn't exist, will query the user for it.
|
|
377
|
|
378 :call NetUserPass("userid","passwd")
|
|
379 This call will set both the b:netrw_uid and b:netrw_passwd.
|
|
380 The user-id and password are used by ftp transfers. One may
|
|
381 effectively remove the user-id and password by using ""
|
|
382 strings.
|
|
383
|
|
384
|
|
385 ==============================================================================
|
9
|
386 6. Variables and Options *netrw-options* *netrw-var*
|
7
|
387
|
|
388 The script <netrw.vim> uses several variables which can affect <netrw.vim>'s
|
|
389 behavior. These variables typically may be set in the user's <.vimrc> file:
|
9
|
390 >
|
|
391 -------------
|
|
392 Netrw Options
|
|
393 -------------
|
|
394 Option Meaning
|
|
395 -------------- -----------------------------------------------
|
|
396 <
|
|
397 b:netrw_col Holds current cursor position (during NetWrite)
|
|
398 g:netrw_cygwin =1 assume scp under windows is from cygwin
|
|
399 (default/windows)
|
|
400 =0 assume scp under windows accepts windows
|
|
401 style paths (default/else)
|
|
402 g:netrw_ftp =0 use default ftp (uid password)
|
|
403 g:netrw_ftpmode ="binary" (default)
|
|
404 ="ascii" (your choice)
|
|
405 g:netrw_ignorenetrc =1 (default)
|
|
406 if you have a <.netrc> file but you don't
|
7
|
407 want it used, then set this variable. Its
|
|
408 mere existence is enough to cause <.netrc>
|
|
409 to be ignored.
|
9
|
410 b:netrw_lastfile Holds latest method/machine/path.
|
|
411 b:netrw_line Holds current line number (during NetWrite)
|
|
412 g:netrw_passwd Holds current password for ftp.
|
|
413 g:netrw_silent =0 transfers done normally
|
|
414 =1 transfers done silently
|
|
415 g:netrw_uid Holds current user-id for ftp.
|
|
416 =1 use alternate ftp (user uid password)
|
|
417 (see |netrw-options|)
|
|
418 g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
|
|
419 =1 use WinNT/2K/XP's rcp, binary mode
|
|
420 g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
|
|
421 =1 use default method to do ftp >
|
|
422 -----------------------------------------------------------------------
|
|
423 <
|
7
|
424 The script will also make use of the following variables internally, albeit
|
|
425 temporarily.
|
9
|
426 >
|
|
427 -------------------
|
|
428 Temporary Variables
|
|
429 -------------------
|
|
430 Variable Meaning
|
|
431 -------- ------------------------------------
|
|
432 <
|
7
|
433 g:netrw_method Index indicating rcp/ftp+.netrc/ftp
|
|
434 g:netrw_machine Holds machine name parsed from input
|
9
|
435 g:netrw_fname Holds filename being accessed >
|
|
436 ------------------------------------------------------------
|
|
437 <
|
|
438 *netrw-protocol*
|
7
|
439
|
9
|
440 Netrw supports a number of protocols. These protocols are invoked using the
|
|
441 variables listed below, and may be modified by the user.
|
7
|
442 >
|
|
443 ------------------------
|
9
|
444 Protocol Control Options
|
7
|
445 ------------------------
|
9
|
446 Option Type Setting Meaning
|
|
447 --------- -------- -------------- ---------------------------
|
|
448 <
|
|
449 netrw_ftp variable =doesn't exist userid set by "user userid"
|
|
450 =0 userid set by "user userid"
|
|
451 =1 userid set by "userid"
|
|
452 NetReadFixup function =doesn't exist no change
|
|
453 =exists Allows user to have files
|
|
454 read via ftp automatically
|
|
455 transformed however they wish
|
|
456 by NetReadFixup()
|
7
|
457 g:netrw_dav_cmd variable ="cadaver"
|
|
458 g:netrw_fetch_cmd variable ="fetch -o"
|
|
459 g:netrw_ftp_cmd variable ="ftp"
|
|
460 g:netrw_http_cmd variable ="fetch -o" else if fetch is executable
|
|
461 g:netrw_http_cmd variable ="wget -O" if wget is executable
|
9
|
462 g:netrw_list_cmd variable ="ssh HOSTNAME ls -Fa"
|
7
|
463 g:netrw_rcp_cmd variable ="rcp"
|
|
464 g:netrw_rsync_cmd variable ="rsync -a"
|
|
465 g:netrw_scp_cmd variable ="scp -q"
|
9
|
466 g:netrw_sftp_cmd variable ="sftp" >
|
|
467 -------------------------------------------------------------------------
|
7
|
468 <
|
12
|
469 *netrw-ftp*
|
7
|
470 The first two options both help with certain ftp's that give trouble otherwise.
|
|
471 In order to best understand how to use these options if ftp is giving you
|
|
472 troubles, a bit of discussion follows on how netrw does ftp reads.
|
|
473
|
|
474 The g:netrw_..._cmd variables specify the external program to use handle
|
|
475 the associated protocol (rcp, ftp, etc), plus any options.
|
|
476
|
9
|
477 The g:netrw_list_cmd's HOSTNAME entry will be changed via substitution with
|
|
478 whatever the current request is for a hostname.
|
|
479
|
|
480 For ftp, netrw typically builds up lines of one of the following formats in a
|
7
|
481 temporary file:
|
|
482 >
|
|
483 IF g:netrw_ftp !exists or is not 1 IF g:netrw_ftp exists and is 1
|
|
484 ---------------------------------- ------------------------------
|
9
|
485 <
|
|
486 open machine [port] open machine [port]
|
|
487 user userid password userid password
|
|
488 [g:netrw_ftpmode] password
|
|
489 get filename tempfile [g:netrw_ftpmode]
|
|
490 get filename tempfile >
|
|
491 ---------------------------------------------------------------------
|
7
|
492 <
|
|
493 Netrw then executes the lines above by use of a filter:
|
|
494 >
|
|
495 :%! {g:netrw_ftp_cmd} -i [-n]
|
|
496 <
|
|
497
|
|
498 where
|
|
499 g:netrw_ftp_cmd is usually "ftp",
|
|
500 -i tells ftp not to be interactive
|
|
501 -n means don't use netrc and is used for Method #3 (ftp w/o <.netrc>)
|
|
502
|
|
503 If <.netrc> exists it will be used to avoid having to query the user for
|
9
|
504 userid and password. The transferred file is put into a temporary file.
|
7
|
505 The temporary file is then read into the main editing session window that
|
|
506 requested it and the temporary file deleted.
|
|
507
|
|
508 If your ftp doesn't accept the "user" command and immediately just demands
|
|
509 a userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
|
|
510
|
12
|
511 *netrw-cadaver*
|
|
512 To handle the SSL certificate dialog for untrusted servers, one may pull
|
|
513 down the certificate and place it into /usr/ssl/cert.pem. This operation
|
|
514 renders the server treatment as "trusted".
|
|
515
|
459
|
516 *netrw-fixup* *netreadfixup*
|
7
|
517 If your ftp for whatever reason generates unwanted lines (such as AUTH
|
|
518 messages) you may write a NetReadFixup(tmpfile) function:
|
|
519 >
|
|
520 function! NetReadFixup(method,line1,line2)
|
|
521 " a:line1: first new line in current file
|
|
522 " a:line2: last new line in current file
|
|
523 if a:method == 1 "rcp
|
|
524 elseif a:method == 2 "ftp + <.netrc>
|
|
525 elseif a:method == 3 "ftp + machine,uid,password,filename
|
|
526 elseif a:method == 4 "scp
|
|
527 elseif a:method == 5 "http/wget
|
|
528 elseif a:method == 6 "dav/cadaver
|
|
529 elseif a:method == 7 "rsync
|
|
530 elseif a:method == 8 "fetch
|
|
531 elseif a:method == 9 "sftp
|
9
|
532 else " complain
|
7
|
533 endif
|
|
534 endfunction
|
|
535 >
|
|
536 The NetReadFixup() function will be called if it exists and thus allows
|
|
537 you to customize your reading process. As a further example, <netrw.vim>
|
|
538 contains just such a function to handle Windows 95 ftp. For whatever
|
|
539 reason, Windows 95's ftp dumps four blank lines at the end of a transfer,
|
|
540 and so it is desirable to automate their removal. Here's some code taken
|
|
541 from <netrw.vim> itself:
|
|
542 >
|
|
543 if has("win95") && g:netrw_win95ftp
|
9
|
544 fun! NetReadFixup(method, line1, line2)
|
7
|
545 if method == 3 " ftp (no <.netrc>)
|
9
|
546 let fourblanklines= line2 - 3
|
|
547 silent fourblanklines.",".line2."g/^\s*/d"
|
7
|
548 endif
|
|
549 endfunction
|
|
550 endif
|
|
551 >
|
|
552
|
|
553 ==============================================================================
|
22
|
554 7. Directory Browser *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
|
459
|
555
|
|
556 MAPS *netrw-maps*
|
|
557 ?................Help.......................................|netrw-help|
|
|
558 <cr>.............Browsing...................................|netrw-cr|
|
|
559 <del>............Deleting Files or Directories..............|netrw-delete|
|
|
560 -................Going Up...................................|netrw--|
|
|
561 a................Hiding Files or Directories................|netrw-a|
|
|
562 b................Bookmarking a Directory....................|netrw-b|
|
|
563 B................Changing to a Bookmarked Directory.........|netrw-B|
|
|
564 c................Make Browsing Directory The Current Dir....|netrw-c|
|
|
565 d................Make A New Directory.......................|netrw-d|
|
|
566 D................Deleting Files or Directories..............|netrw-D|
|
|
567 <c-h>............Edit File/Directory Hiding List............|netrw-h|
|
|
568 i................Long Listing...............................|netrw-i|
|
|
569 <c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
|
|
570 o................Browsing with a Horizontal Split...........|netrw-o|
|
|
571 p................Preview Window.............................|netrw-p|
|
|
572 q................Listing Bookmarks and History..............|netrw-q|
|
|
573 r................Reversing Sorting Order....................|netrw-r|
|
|
574 R................Renaming Files or Directories..............|netrw-R|
|
|
575 s................Selecting Sorting Style....................|netrw-s|
|
|
576 S................Editing the Sorting Sequence...............|netrw-S|
|
|
577 u................Changing to a Predecessor Directory........|netrw-u|
|
|
578 U................Changing to a Successor Directory..........|netrw-U|
|
|
579 v................Browsing with a Vertical Split.............|netrw-v|
|
|
580 x................Customizing Browsing.......................|netrw-x|
|
|
581
|
|
582 COMMANDS *netrw-explore-cmds*
|
|
583 :Explore[!] [dir].Explore directory of current file........|netrw-explore|
|
|
584 :Sexplore[!] [dir].Split & Explore directory of current file|netrw-explore|
|
|
585 :Hexplore[!] [dir].Horizontal Split & Explore...............|netrw-explore|
|
|
586 :Vexplore[!] [dir].Vertical Split & Explore.................|netrw-explore|
|
21
|
587
|
|
588 QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds*
|
11
|
589 >
|
15
|
590 ------- -----------
|
11
|
591 Command Explanation
|
|
592 ------- -----------
|
24
|
593 < ? Causes Netrw to issue help
|
11
|
594 <cr> Netrw will enter the directory or read the file
|
|
595 <del> Netrw will attempt to remove the file/directory
|
22
|
596 d Make a directory
|
11
|
597 D Netrw will attempt to remove the file(s)/directory(ies)
|
|
598 R Netrw will attempt to rename the file(s)/directory(ies)
|
|
599 - Makes Netrw go up one directory
|
24
|
600 a Toggles between normal display,
|
|
601 hiding (suppress display of files matching g:netrw_list_hide)
|
|
602 showing (display only files which match g:netrw_list_hide)
|
22
|
603 c Make current browsing directory the current directory
|
|
604 <c-h> Edit file hiding list
|
15
|
605 i Toggles between long and short listing
|
22
|
606 <c-l> Causes Netrw to refresh the directory listing
|
11
|
607 o Enter the file/directory under the cursor in a new browser
|
|
608 window. A horizontal split is used.
|
12
|
609 r Reverse sorting order
|
|
610 s Select sorting style: by name, time, or file size
|
11
|
611 v Enter the file/directory under the cursor in a new browser
|
|
612 window. A vertical split is used.
|
|
613 x Apply a function to a file.
|
24
|
614
|
21
|
615 NETRW BROWSER VARIABLES *netrw-browse-var*
|
11
|
616 >
|
22
|
617 --- -----------
|
|
618 Var Explanation
|
|
619 --- -----------
|
24
|
620 < g:netrw_alto change from above splitting to
|
|
621 below splitting by setting this
|
|
622 variable (see |netrw-o|)
|
459
|
623 default: =0
|
|
624
|
24
|
625 g:netrw_altv change from left splitting to
|
|
626 right splitting by setting this
|
|
627 variable (see |netrw-v|)
|
459
|
628 default: =0
|
|
629
|
22
|
630 g:netrw_ftp_browse_reject ftp can produce a number of errors
|
|
631 and warnings that can show up as
|
|
632 "directories" and "files" in the
|
|
633 listing. This pattern is used to
|
459
|
634 remove such embedded messages. By
|
|
635 default its value is:
|
|
636 '^total\s\+\d\+$\|
|
|
637 ^Trying\s\+\d\+.*$\|
|
|
638 ^KERBEROS_V\d rejected\|
|
|
639 ^Security extensions not\|
|
|
640 No such file\|
|
|
641 : connect to address [0-9a-fA-F:]*
|
|
642 : No route to host$'
|
|
643
|
|
644 g:netrw_ssh_browse_reject ssh can sometimes produce unwanted
|
|
645 lines/messages/banners/and whatnot
|
|
646 that one doesn't want masquerading
|
|
647 as "directories" and "files". Use
|
|
648 this pattern to remove such embedded
|
|
649 messages. By default its value is:
|
|
650 '^total\s\+\d\+$'
|
|
651
|
26
|
652 g:netrw_keepdir =1 (default) keep current directory
|
|
653 immune from the browsing directory.
|
|
654 =0 keep the current directory the
|
|
655 same as the browsing directory.
|
|
656 The browsing directory is contained in
|
|
657 b:netrw_curdir
|
459
|
658
|
22
|
659 g:netrw_list_cmd command for listing remote directories
|
459
|
660 default: (if ssh is executable)
|
|
661 "ssh HOSTNAME ls -FLa"
|
|
662
|
26
|
663 g:netrw_longlist if =1, then long listing will be default
|
459
|
664
|
24
|
665 g:netrw_ftp_list_cmd options for passing along to ftp for
|
|
666 directory listing. Defaults:
|
|
667 unix or g:netrw_cygwin set: : "ls -lF"
|
|
668 otherwise "dir"
|
459
|
669
|
22
|
670 g:netrw_list_hide comma separated list of patterns for
|
|
671 hiding files
|
459
|
672 default: ""
|
|
673
|
22
|
674 g:netrw_local_mkdir command for making a local directory
|
459
|
675 default: "ssh HOSTNAME mkdir"
|
|
676
|
22
|
677 g:netrw_local_rmdir remove directory command (rmdir)
|
459
|
678 default: "rmdir"
|
|
679
|
26
|
680 g:netrw_maxfilenamelen =32 by default, selected so as to make
|
|
681 long listings fit on 80 column displays.
|
|
682 If your screen is wider, and you have
|
|
683 file/directory names longer than 32 bytes,
|
|
684 you may set this option to keep listings
|
|
685 columnar.
|
459
|
686
|
22
|
687 g:netrw_mkdir_cmd command for making a remote directory
|
459
|
688 default: "ssh HOSTNAME mkdir"
|
|
689
|
22
|
690 g:netrw_rm_cmd command for removing files
|
459
|
691 default: "ssh HOSTNAME rm"
|
|
692
|
22
|
693 g:netrw_rmdir_cmd command for removing directories
|
459
|
694 default: "ssh HOSTNAME rmdir"
|
|
695
|
22
|
696 g:netrw_rmf_cmd command for removing softlinks
|
459
|
697 default: "ssh HOSTNAME rm -f"
|
|
698
|
22
|
699 g:netrw_hide if true, the hiding list is used
|
459
|
700 default: =0
|
|
701
|
22
|
702 g:netrw_sort_by sort by "name", "time", or "size"
|
459
|
703 default: "name"
|
|
704
|
22
|
705 g:netrw_sort_direction sorting direction: "normal" or "reverse"
|
459
|
706 default: "normal"
|
|
707
|
22
|
708 g:netrw_sort_sequence when sorting by name, first sort by the
|
|
709 comma-separated pattern sequence
|
459
|
710 default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
|
711 \.info$,\.swp$,\.obj$'
|
|
712
|
22
|
713 g:netrw_timefmt specify format string to strftime() (%c)
|
459
|
714 default: "%c"
|
|
715
|
22
|
716 g:netrw_winsize specify initial size of new o/v windows
|
459
|
717 default: ""
|
24
|
718
|
459
|
719 INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
|
12
|
720
|
22
|
721 Netrw supports the browsing of directories on the local system and on remote
|
|
722 hosts, including generating listing directories, entering directories, editing
|
|
723 files therein, deleting files/directories, making new directories, and moving
|
|
724 (renaming) files and directories. The Netrw browser generally implements the
|
|
725 previous explorer maps and commands for remote directories, although details
|
|
726 (such as pertinent global variable names) necessarily differ.
|
|
727
|
|
728 The Netrw remote file and directory browser handles two protocols: ssh and
|
|
729 ftp. The protocol in the url, if it is ftp, will cause netrw to use ftp
|
|
730 in its remote browsing. Any other protocol will be used for file transfers,
|
|
731 but otherwise the ssh protocol will be used to do remote directory browsing.
|
9
|
732
|
11
|
733 To enter the netrw directory browser, simply attempt to read a "file" with a
|
|
734 trailing slash and it will be interpreted as a request to list a directory:
|
9
|
735
|
|
736 vim [protocol]://[user@]hostname/path/
|
|
737
|
22
|
738 If you'd like to avoid entering the password in for directory listings, scp,
|
|
739 ssh interaction, etc, see |netrw-list-hack|.
|
12
|
740
|
459
|
741
|
|
742 DIRECTORY EXPLORING COMMANDS *netrw-explore*
|
|
743
|
|
744 :Explore[!] [dir].Explore directory of current file
|
|
745 :Sexplore[!] [dir].Split & Explore directory of current file
|
|
746 :Hexplore[!] [dir].Horizontal Split & Explore
|
|
747 :Vexplore[!] [dir].Vertical Split & Explore
|
|
748
|
|
749 The Explore command will open the local-directory browser on the current
|
|
750 file's directory (or on directory [dir] if specified). The window
|
|
751 will be split only if the file has been modified, otherwise the
|
|
752 browsing window will take over that window. Normally the splitting is
|
|
753 taken horizontally; the optional ! will use vertical splitting.
|
|
754
|
|
755 Sexplore will always split the window before invoking the local-directory
|
|
756 browser. As with Explore, the splitting is normally done horizontally,
|
|
757 but with the optional ! the splitting will be done vertically.
|
|
758
|
|
759 Hexplore does an Explore with |belowright| horizontal splitting; the
|
|
760 optional ! does the Explore with |aboveleft| horizontal splitting.
|
|
761
|
|
762 Vexplore does an Explore with |leftabove| vertical splitting; the optiona
|
|
763 ! does an Explore with |topleft| vertical splitting.
|
|
764
|
|
765
|
22
|
766 REFRESHING THE LISTING *netrw-ctrl-l*
|
12
|
767
|
22
|
768 To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
|
|
769 hit the <cr> when atop the ./ directory entry in the listing. One may also
|
|
770 refresh a local directory by using ":e .".
|
12
|
771
|
|
772
|
|
773 GOING UP *netrw--*
|
|
774
|
|
775 To go up a directory, press - or his the <cr> when atop the ../ directory
|
|
776 entry in the listing.
|
|
777
|
|
778 Netrw will modify the command in *g:netrw_list_cmd* to perform the directory
|
11
|
779 listing operation. By default the command is:
|
9
|
780
|
11
|
781 ssh HOSTNAME ls -FLa
|
9
|
782
|
22
|
783 where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
|
|
784 read. Naturally, the user may override this command with whatever is
|
|
785 preferred. The NetList function which implements remote directory browsing
|
|
786 expects that directories will be flagged by a trailing slash.
|
9
|
787
|
12
|
788
|
15
|
789 BROWSING *netrw-cr*
|
12
|
790
|
9
|
791 Browsing is simple: move the cursor onto a file or directory of interest.
|
11
|
792 Hitting the <cr> (the return key) will select the file or directory.
|
|
793 Directories will themselves be listed, and files will be opened using the
|
|
794 protocol given in the original read request.
|
|
795
|
459
|
796
|
15
|
797 LONG VS SHORT LISTING *netrw-i*
|
12
|
798
|
15
|
799 The short listing format gives just the files' and directories' names.
|
|
800 The long listing is either based on the "ls" command via ssh for remote
|
|
801 directories or displays the filename, file size (in bytes), and the
|
|
802 time and date of last modification for local directories.
|
|
803
|
|
804
|
22
|
805 MAKING A NEW DIRECTORY *netrw-d*
|
15
|
806
|
22
|
807 With the "d" map one may make a new directory either remotely (which
|
15
|
808 depends on the global variable g:netrw_mkdir_cmd) or locally (which depends on
|
|
809 the global variable g:netrw_local_mkdir). Netrw will issue a request for the
|
|
810 new directory's name. A bare <CR> at that point will abort the making of the
|
|
811 directory. Attempts to make a local directory that already exists (as either
|
|
812 a file or a directory) will be detected, reported on, and ignored.
|
|
813
|
459
|
814
|
21
|
815 DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D*
|
11
|
816
|
|
817 Deleting/removing files and directories involves moving the cursor to the
|
12
|
818 file/directory to be deleted and pressing "D". Directories must be empty first
|
|
819 before they can be successfully removed. If the directory is a softlink to a
|
|
820 directory, then netrw will make two requests to remove the directory before
|
|
821 succeeding. Netrw will ask for confirmation before doing the removal(s).
|
|
822 You may select a range of lines with the "V" command (visual selection),
|
|
823 and then pressing "D".
|
11
|
824
|
12
|
825 *g:netrw_rm_cmd*
|
|
826 The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used
|
|
827 to control the attempts to remove files and directories. The g:netrw_rm_cmd
|
|
828 is used with files, and its default value is:
|
11
|
829
|
|
830 g:netrw_rm_cmd: ssh HOSTNAME rm
|
|
831
|
12
|
832 *g:netrw_rmdir_cmd*
|
|
833 The g:netrw_rmdir_cmd variable is used to support the removal of directories.
|
|
834 Its default value is:
|
11
|
835
|
|
836 g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
|
|
837
|
12
|
838 *g:netrw_rmf_cmd*
|
11
|
839 If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
|
12
|
840 to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
|
11
|
841
|
|
842 g:netrw_rmf_cmd: ssh HOSTNAME rm -f
|
|
843
|
|
844
|
15
|
845 RENAMING FILES OR DIRECTORIES *netrw-move* *netrw-rename* *netrw-R*
|
11
|
846
|
|
847 Renaming/moving files and directories involves moving the cursor to the
|
|
848 file/directory to be moved (renamed) and pressing "R". You will then be
|
|
849 queried for where you want the file/directory to be moved. You may select a
|
|
850 range of lines with the "V" command (visual selection), and then pressing "R".
|
|
851
|
12
|
852 The g:netrw_rename_cmd variable is used to implement renaming. By default its
|
11
|
853 value is:
|
|
854
|
|
855 ssh HOSTNAME mv
|
|
856
|
21
|
857 One may rename a block of files and directories by selecting them with
|
|
858 the V (|linewise-visual|).
|
12
|
859
|
22
|
860
|
459
|
861 HIDING FILES OR DIRECTORIES *g:netrw-a* *g:netrw_list_hide*
|
12
|
862
|
24
|
863 Netrw's browsing facility allows one to use the hiding list in one of
|
|
864 three ways: ignore it, hide files which match, and show only those files
|
459
|
865 which match. The "a" map allows the user to cycle about these three ways.
|
|
866
|
|
867 The g:netrw_list_hide variable holds a comma delimited list of patterns
|
|
868 (ex. \.obj) which specify the hiding list. (also see |netrw-h|) To
|
|
869 set the hiding list, use the <c-h> map. As an example, to hide files
|
|
870 which begin with a ".", one may use the <c-h> map to set the hiding
|
|
871 list to '^\..*' (or one may put let g:netrw_list_hide= '^\..*' in
|
|
872 one's <.vimrc>). One may then use the "a" key to show all files,
|
|
873 hide matching files, or to show only the matching files.
|
12
|
874
|
|
875
|
459
|
876 EDIT FILE OR DIRECTORY HIDING LIST *netrw-h* *netrw-edithide*
|
15
|
877
|
22
|
878 The "<ctrl-h>" map brings up a requestor allowing the user to change the
|
21
|
879 file/directory hiding list. The hiding list consists of one or more patterns
|
|
880 delimited by commas. Files and/or directories satisfying these patterns will
|
36
|
881 either be hidden (ie. not shown) or be the only ones displayed (see |netrw-a|).
|
12
|
882
|
|
883
|
459
|
884 BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o* *netrw-horiz*
|
12
|
885
|
21
|
886 Normally one enters a file or directory using the <cr>. However, the "o" map
|
|
887 allows one to open a new window to hold the new directory listing or file. A
|
24
|
888 horizontal split is used. (for vertical splitting, see |netrw-v|)
|
|
889
|
|
890 Normally, the o key splits the window horizontally with the new window
|
|
891 and cursor at the top. To change to splitting the window horizontally
|
|
892 with the new window and cursor at the bottom, have
|
|
893
|
|
894 let g:netrw_alto = 1
|
|
895
|
|
896 in your <.vimrc>.
|
|
897
|
459
|
898
|
|
899 PREVIEW WINDOW *netrw-p* *netrw-preview*
|
24
|
900
|
|
901 One may use a preview window (currently only for local browsing) by using
|
|
902 the "p" key when the cursor is atop the desired filename to be previewed.
|
12
|
903
|
|
904
|
459
|
905 SELECTING SORTING STYLE *netrw-s* *netrw-sort*
|
12
|
906
|
|
907 One may select the sorting style by name, time, or (file) size. The
|
|
908 "s" map allows one to circulate among the three choices; the directory
|
|
909 listing will automatically be refreshed to reflect the selected style.
|
|
910
|
|
911
|
459
|
912 EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence*
|
22
|
913
|
|
914 When "Sorted by" is name, one may specify priority via the sorting
|
|
915 sequence (g:netrw_sort_sequence). The sorting sequence typically
|
|
916 prioritizes the name-listing by suffix, although any pattern will do.
|
|
917 Patterns are delimited by commas. The default sorting sequence is:
|
|
918 >
|
|
919 /$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
|
|
920 <
|
|
921 The lone * is where all filenames not covered by one of the other
|
|
922 patterns will end up. One may change the sorting sequence by modifying
|
|
923 the g:netrw_sort_sequence variable (either manually or in your <.vimrc>)
|
|
924 or by using the "S" map.
|
|
925
|
|
926
|
459
|
927 REVERSING SORTING ORDER *netrw-r* *netrw-reverse*
|
12
|
928
|
|
929 One may toggle between normal and reverse sorting order by pressing the
|
|
930 "r" key.
|
|
931
|
|
932
|
459
|
933 CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir*
|
36
|
934
|
|
935 Every time you change to a new directory (new for the current session),
|
|
936 netrw will save the directory in a recently-visited directory history
|
|
937 list (unless g:netrw_dirhistmax is zero; by default, its ten). With the
|
|
938 "u" map, one can change to an earlier directory (predecessor). To do
|
|
939 the opposite, see |netrw-U|.
|
|
940
|
|
941
|
459
|
942 CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir*
|
36
|
943
|
|
944 With the "U" map, one can change to a later directory (successor).
|
|
945 This map is the opposite of the "u" map. (see |netrw-u|) Use the
|
|
946 q map to list both the bookmarks and history. (see |netrw-q|)
|
|
947
|
|
948
|
12
|
949 BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v*
|
|
950
|
|
951 Normally one enters a file or directory using the <cr>. However, the "v"
|
|
952 map allows one to open a new window to hold the new directory listing or
|
24
|
953 file. A vertical split is used. (for horizontal splitting, see |netrw-o|)
|
|
954
|
|
955 Normally, the v key splits the window vertically with the new window
|
|
956 and cursor at the left. To change to splitting the window vertically
|
|
957 with the new window and cursor at the right, have
|
|
958
|
|
959 let g:netrw_altv = 1
|
|
960
|
|
961 in your <.vimrc>.
|
12
|
962
|
|
963
|
459
|
964 CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x* *netrw-handler*
|
12
|
965
|
|
966 One may "enter" a file with a special handler, thereby firing up a browser or
|
|
967 other application, for example, on a file by hitting the "x" key. Presumably
|
|
968 one could write handlers that would start OpenOffice programs (oowriter), etc,
|
|
969 based on the file's extension coupled with the user's hitting the "x" key atop
|
|
970 the file.
|
|
971
|
|
972 The Netrw executor applies a user-defined function to a file, based on its
|
|
973 extension. Of course, the handler function must exist for it to be called!
|
|
974 >
|
|
975 Ex. mypgm.html x ->
|
|
976 NetrwFileHandler_html("scp://user@host/some/path/mypgm.html")
|
|
977 <
|
|
978 See the <plugin/NetrwFileHandlers.vim> for an example of how to handle an html
|
|
979 file with mozilla.
|
|
980
|
|
981
|
26
|
982 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* *netrw-curdir*
|
22
|
983
|
26
|
984 By default, g:netrw_keepdir is 1. This setting means that the current
|
|
985 directory will not track the browsing directory. However, setting
|
|
986 g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the
|
|
987 currently browsed directory be the current directory.
|
|
988
|
|
989 With the default setting for g:netrw_keepdir, in order to make the two
|
|
990 directories the same, use the "c" map (just type c). That map will set
|
|
991 the current directory to the current browsing directory.
|
22
|
992
|
|
993
|
26
|
994 BOOKMARKING A DIRECTORY *netrw-b* *netrw-bookmark* *netrw-bookmarks*
|
22
|
995
|
|
996 One may easily "bookmark" a directory by using
|
|
997
|
|
998 {cnt}b
|
|
999
|
26
|
1000 Any count may be used. One may use viminfo's "!" option to retain bookmarks
|
36
|
1001 between vim sessions. See |netrw-B| for how to return to a bookmark and
|
|
1002 |netrw-q| for how to list them.
|
22
|
1003
|
|
1004
|
|
1005 CHANGING TO A BOOKMARKED DIRECTORY *netrw-B*
|
|
1006
|
|
1007 To change directory back to a bookmarked directory, use
|
|
1008
|
|
1009 {cnt}B
|
|
1010
|
36
|
1011 Any count may be used to reference any of the bookmarks. See |netrw-b|
|
|
1012 for how to bookmark a directory and |netrw-q| for how to list them.
|
22
|
1013
|
|
1014
|
459
|
1015 LISTING BOOKMARKS AND HISTORY *netrw-q* *netrw-listbookmark*
|
22
|
1016
|
36
|
1017 Pressing "q" will list the bookmarked directories and directory traversal
|
|
1018 history (query). (see |netrw-b|, |netrw-B|, |netrw-u|, and |netrw-U|)
|
22
|
1019
|
|
1020
|
459
|
1021 IMPROVING DIRECTORY BROWSING *netrw-listhack*
|
12
|
1022
|
|
1023 Especially with the remote directory browser, constantly entering the password
|
|
1024 is tedious.
|
|
1025
|
11
|
1026 For Linux/Unix systems, I suggest looking into
|
|
1027
|
|
1028 http://hacks.oreilly.com/pub/h/66
|
|
1029
|
|
1030 It gives a tip for setting up password-less use of ssh and scp, and discusses
|
|
1031 the associated security issues.
|
9
|
1032
|
|
1033
|
|
1034 ==============================================================================
|
24
|
1035 8. Problems and Fixes *netrw-problems*
|
|
1036
|
|
1037 (This section is likely to grow as I get feedback)
|
|
1038 (also see |netrw-debug|)
|
|
1039
|
|
1040 P1. I use windows 95, and my ftp dumps four blank lines at the
|
|
1041 end of every read.
|
|
1042
|
|
1043 See |netrw-fixup|, and put the following into your
|
|
1044 <.vimrc> file:
|
|
1045
|
|
1046 let g:netrw_win95ftp= 1
|
|
1047
|
|
1048
|
|
1049
|
|
1050 P2. I use windows, and my network browsing with ftp doesn't sort by
|
|
1051 time or size
|
|
1052
|
|
1053 Windows' ftp has a minimal support for ls (ie. it doesn't
|
|
1054 accept sorting options). It doesn't support the -F which
|
|
1055 gives an explanatory character (ABC/ for "ABC is a directory").
|
|
1056 Netrw uses dir to get its short and long listings. If you
|
|
1057 think your ftp does support a full-up ls, put the following
|
|
1058 into your <.vimrc>:
|
|
1059
|
|
1060 let g:netrw_ftp_list_cmd= "ls -lF"
|
|
1061
|
|
1062 Alternatively, if you have cygwin on your Windows box, put
|
|
1063 into your <.vimrc>:
|
|
1064
|
|
1065 let g:netrw_cygwin= 1
|
|
1066
|
|
1067 P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
|
|
1068 used ssh! That wasn't what I asked for...
|
|
1069
|
|
1070 Netrw has two methods for browsing remote directories: ssh
|
|
1071 and ftp. Unless you specify ftp specifically, ssh is used.
|
|
1072 When it comes time to do download a file (not just a directory
|
|
1073 listing), netrw will use the given protocol to do so.
|
|
1074
|
|
1075 P4. I would like long listings to be the default.
|
|
1076
|
26
|
1077 let g:netrw_longlist=1
|
|
1078
|
|
1079 Check out |netrw-browse-var| for more customizations that
|
|
1080 you can set.
|
24
|
1081
|
|
1082 P5. My times come up oddly in local browsing
|
|
1083
|
|
1084 Does your system's strftime() accept the "%c" to yield dates
|
|
1085 such as "Sun Apr 27 11:49:23 1997"? If not, do a "man strftime"
|
|
1086 and find out what option should be used. Then put it into
|
|
1087 your <.vimrc>:
|
|
1088 let g:netrw_timefmt= "%X" (where X is the option)
|
|
1089
|
26
|
1090 P6. I want my current directory to track my browsing.
|
|
1091 How do I do that?
|
24
|
1092
|
26
|
1093 let g:netrw_keepdir= 0
|
24
|
1094
|
|
1095
|
|
1096 ==============================================================================
|
|
1097 9. Debugging *netrw-debug*
|
7
|
1098
|
|
1099 The <netrw.vim> script is typically available as:
|
|
1100
|
|
1101 /usr/local/share/vim/vim6x/plugin/netrw.vim
|
|
1102
|
|
1103 which is loaded automatically at startup (assuming :set nocp).
|
|
1104
|
|
1105 1. Get the <Decho.vim> script, available as:
|
|
1106
|
|
1107 http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_scripts
|
|
1108 as "Decho, a vimL debugging aid"
|
|
1109 or
|
|
1110 http://vim.sourceforge.net/scripts/script.php?script_id=120
|
|
1111
|
22
|
1112 and put it into your local plugin directory.
|
|
1113
|
|
1114 2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need
|
|
1115 to put it into your .vim/plugin, too. You may obtain it from:
|
7
|
1116
|
22
|
1117 http://mysite.verizon.net/astronaut/vim/index.html#VimFuncs
|
|
1118 as "DrC's Utilities"
|
7
|
1119
|
22
|
1120 3. Edit the <netrw.vim> file by typing:
|
|
1121
|
|
1122 vim netrw.vim
|
7
|
1123 :DechoOn
|
22
|
1124 :wq
|
7
|
1125
|
22
|
1126 To restore to normal non-debugging behavior, edit <netrw.vim>
|
|
1127 by typing
|
7
|
1128
|
22
|
1129 vim netrw.vim
|
|
1130 :DechoOff
|
|
1131 :wq
|
|
1132
|
|
1133 This command, provided by <Decho.vim>, will comment out all
|
|
1134 Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
|
|
1135
|
|
1136 4. Then bring up vim and attempt a transfer. A set of messages
|
7
|
1137 should appear concerning the steps that <netrw.vim> took in
|
|
1138 attempting to read/write your file over the network. Please
|
|
1139 send that information to <netrw.vim>'s maintainer,
|
|
1140
|
36
|
1141 NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
7
|
1142
|
|
1143 ==============================================================================
|
24
|
1144 10. History *netrw-history*
|
7
|
1145
|
459
|
1146 v56: * LocalBrowse now saves autochdir setting, unsets it, and
|
|
1147 restores it before returning.
|
|
1148 * using vim's rename() instead of system + local_rename variable
|
|
1149 v55: * -bar used with :Explore :Sexplore etc to allow multiple
|
|
1150 commands to be separated by |s
|
|
1151 * browser listings now use the "nowrap" option
|
|
1152 * browser: some unuseful error messages now suppressed
|
|
1153 v54: * For backwards compatibility, Explore and Sexplore have been
|
|
1154 implemented. In addition, Hexplore and Vexplore commands
|
|
1155 are available, too.
|
|
1156 * <amatch> used instead of <afile> in the transparency
|
|
1157 support (BufReadCmd, FileReadCmd, FileWriteCmd)
|
|
1158 * ***netrw*** prepended to various error messages netrw may emit
|
|
1159 * g:netrw_port used instead of b:netrw_port for scp
|
|
1160 * any leading [:#] is removed from port numbers
|
|
1161 v53: * backslashes as well as slashes placed in various patterns
|
|
1162 (ex. g:netrw_sort_sequence) to better support Windows
|
36
|
1163 v52: * nonumber'ing now set for browsing buffers
|
|
1164 * when the hiding list hid all files, error messages ensued. Fixed
|
|
1165 * when browsing, swf is set, but directory is not set, when netrw
|
|
1166 was attempting to restore options, vim wanted to save a swapfile
|
|
1167 to a local directory using an url-style path. Fixed
|
|
1168 v51: * cygwin detection now automated (using windows and &shell is bash)
|
|
1169 * customizable browser "file" rejection patterns
|
|
1170 * directory history
|
|
1171 * :[range]w url now supported (ie. netrw has a FileWriteCmd event)
|
|
1172 * error messages have a "Press <cr> to continue" to allow them
|
|
1173 to be seen
|
|
1174 * directory browser displays no longer bother the swapfile
|
|
1175 * u/U commands to go up and down the history stack
|
|
1176 * history stack may be saved with viminfo with its "!" option
|
|
1177 * bugfixes associated with unwanted [No Files] entries
|
26
|
1178 v50: * directories now displayed using buftype=nofile; should keep the
|
|
1179 directory names as-is
|
|
1180 * attempts to remove empty "[No File]" buffers leftover
|
|
1181 from :file ..name.. commands
|
|
1182 * bugfix: a "caps-lock" editing difficulty left in v49 was fixed
|
|
1183 * syntax highlighting for "Showing:" the hiding list included
|
|
1184 * bookmarks can now be retained if "!" is in the viminfo option
|
36
|
1185 v49: * will use ftp for http://.../ browsing v48:
|
|
1186 * One may use ftp to do remote host file browsing
|
24
|
1187 * (windows and !cygwin) remote browsing with ftp can now use
|
|
1188 the "dir" command internally to provide listings
|
|
1189 * g:netrw_keepdir now allows one to keep the initial current
|
26
|
1190 directory as the current directory (normally the local file
|
|
1191 browser makes the currently viewed directory the current
|
|
1192 directory)
|
24
|
1193 * g:netrw_alto and g:netrw_altv now support alternate placement
|
|
1194 of windows started with o or v
|
|
1195 * Nread ? and Nwrite ? now uses echomsg (instead of echo) so
|
|
1196 :messages can repeat showing the help
|
|
1197 * bugfix: avoids problems with partial matches of directory names
|
|
1198 to prior buffers with longer names
|
26
|
1199 * one can suppress error messages with g:netrw_quiet ctrl-h used
|
|
1200 * instead of <Leader>h for editing hiding list one may edit the
|
|
1201 * sorting sequence with the S map now allows confirmation of
|
|
1202 * deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles
|
|
1203 * special file viewing with:
|
|
1204 (windows) rundll32 url.dll (gnome) gnome-open (kde)
|
|
1205 kfmclient If none of these are on the executable path, then
|
24
|
1206 NetrwFileHandlers.vim is used.
|
|
1207 * directory bookmarking during both local and remote browsing
|
|
1208 implemented
|
|
1209 * one may view all, use the hiding list to suppress, or use the
|
26
|
1210 hiding list to show-only remote and local file/directory
|
|
1211 listings
|
|
1212 * improved unusual file and directory name handling preview
|
|
1213 * window support
|
36
|
1214 v47: * now handles local directory browsing.
|
|
1215 v46: * now handles remote directory browsing
|
|
1216 * g:netrw_silent (if 1) will cause all transfers to be silent
|
26
|
1217 v45: * made the [user@]hostname:path form a bit more restrictive to
|
|
1218 better handle errors in using protocols (e.g. scp:usr@host:file
|
|
1219 was being recognized as an rcp request) v44: * changed from
|
|
1220 "rsync -a" to just "rsync"
|
9
|
1221 * somehow an editing error messed up the test to recognize
|
|
1222 use of the fetch method for NetRead.
|
|
1223 * more debugging statements included
|
26
|
1224 v43: * moved "Explanation" comments to <pi_netrw.txt> help file as
|
|
1225 "Network Reference" (|netrw-ref|)
|
9
|
1226 * <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
|
|
1227 * removed superfluous NetRestorePosn() calls
|
26
|
1228 v42: * now does BufReadPre and BufReadPost events on file:///* and
|
|
1229 file://localhost/* v41: * installed file:///* and
|
|
1230 file://localhost/* handling v40: * prevents redraw when a
|
|
1231 protocol error occurs so that the user may see it v39: * sftp
|
|
1232 support v38: * Now uses NetRestorePosn() calls with
|
|
1233 Nread/Nwrite commands
|
9
|
1234 * Temporary files now removed via bwipe! instead of bwipe
|
26
|
1235 (thanks to Dave Roberts) v37: * Claar's modifications which
|
|
1236 test if ftp is successful, otherwise give an error message
|
9
|
1237 * After a read, the alternate file was pointing to the temp file.
|
|
1238 The temp file buffer is now wiped out.
|
|
1239 * removed silent from transfer methods so user can see what's
|
|
1240 happening
|
7
|
1241
|
|
1242
|
|
1243 ==============================================================================
|
24
|
1244 11. Credits *netrw-credits*
|
7
|
1245
|
|
1246 Vim editor by Bram Moolenaar (Thanks, Bram!)
|
|
1247 dav support by C Campbell
|
|
1248 fetch support by Bram Moolenaar and C Campbell
|
|
1249 ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM> - NOSPAM
|
|
1250 http support by Bram Moolenaar <bram@moolenaar.net>
|
|
1251 rcp
|
|
1252 rsync support by C Campbell (suggested by Erik Warendorph)
|
|
1253 scp support by raf <raf@comdyn.com.au>
|
|
1254 sftp support by C Campbell
|
|
1255
|
|
1256 inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
|
|
1257
|
|
1258 Jérôme Augé -- also using new buffer method with ftp+.netrc
|
|
1259 Bram Moolenaar -- obviously vim itself, :e and v:cmdarg use, fetch,...
|
|
1260 Yasuhiro Matsumoto -- pointing out undo+0r problem and a solution
|
|
1261 Erik Warendorph -- for several suggestions (g:netrw_..._cmd
|
|
1262 variables, rsync etc)
|
|
1263 Doug Claar -- modifications to test for success with ftp operation
|
|
1264
|
|
1265 ==============================================================================
|
459
|
1266 vim:tw=78:ts=8:ft=help:norl:fdm=marker
|