1702
|
1 *pi_netrw.txt* For Vim version 7.2. Last change: 2008 Aug 08
|
7
|
2
|
1121
|
3 -----------------------------------------------------
|
|
4 NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
|
|
5 -----------------------------------------------------
|
7
|
6
|
559
|
7
|
1621
|
8 *dav* *ftp* *netrw-file* *Nread* *rcp* *scp*
|
|
9 *davs* *http* *netrw.vim* *Nsource* *rsync* *sftp*
|
|
10 *fetch* *netrw* *network* *Nwrite*
|
7
|
11
|
|
12 ==============================================================================
|
1621
|
13 1. Contents *netrw-contents* {{{1
|
7
|
14
|
1121
|
15 1. Contents.............................................|netrw-contents|
|
|
16 2. Starting With Netrw..................................|netrw-start|
|
|
17 3. Netrw Reference......................................|netrw-ref|
|
1621
|
18 EXTERNAL APPLICATIONS AND PROTOCOLS................|netrw-externapp|
|
482
|
19 READING............................................|netrw-read|
|
|
20 WRITING............................................|netrw-write|
|
|
21 DIRECTORY LISTING..................................|netrw-dirlist|
|
|
22 CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
|
1621
|
23 VARIABLES AND SETTINGS.............................|netrw-variables|
|
482
|
24 PATHS..............................................|netrw-path|
|
1121
|
25 4. Network-Oriented File Transfer.......................|netrw-xfer|
|
459
|
26 NETRC..............................................|netrw-netrc|
|
|
27 PASSWORD...........................................|netrw-passwd|
|
1121
|
28 5. Activation...........................................|netrw-activate|
|
1621
|
29 6. Transparent File Editing.............................|netrw-transparent|
|
1121
|
30 7. Ex Commands..........................................|netrw-ex|
|
|
31 8. Variables and Options................................|netrw-var|
|
1621
|
32 9. Browsing.............................................|netrw-browse|
|
|
33 Introduction To Browsing...........................|netrw-intro-browse|
|
|
34 Quick Reference: Maps..............................|netrw-browse-maps|
|
|
35 Quick Reference: Commands..........................|netrw-browse-cmds|
|
|
36 Bookmarking A Directory............................|netrw-mb|
|
459
|
37 Browsing...........................................|netrw-cr|
|
1621
|
38 Browsing With A Horizontally Split Window..........|netrw-o|
|
|
39 Browsing With A New Tab............................|netrw-t|
|
|
40 Browsing With A Vertically Split Window............|netrw-v|
|
1121
|
41 Change Listing Style...............................|netrw-i|
|
1621
|
42 Changing To A Bookmarked Directory.................|netrw-gb|
|
459
|
43 Changing To A Predecessor Directory................|netrw-u|
|
|
44 Changing To A Successor Directory..................|netrw-U|
|
|
45 Customizing Browsing With A User Function..........|netrw-x|
|
1621
|
46 Deleting Files Or Directories......................|netrw-D|
|
|
47 Directory Exploring Commands.......................|netrw-explore|
|
|
48 Exploring With Stars and Patterns..................|netrw-star|
|
|
49 Displaying Information About File..................|netrw-qf|
|
|
50 Edit File Or Directory Hiding List.................|netrw-ctrl-h|
|
|
51 Editing The Sorting Sequence.......................|netrw-S|
|
|
52 Going Up...........................................|netrw--|
|
|
53 Hiding Files Or Directories........................|netrw-a|
|
|
54 Improving Browsing.................................|netrw-ssh-hack|
|
|
55 Listing Bookmarks And History......................|netrw-qb|
|
|
56 Making A New Directory.............................|netrw-d|
|
459
|
57 Making The Browsing Directory The Current Directory|netrw-c|
|
1621
|
58 Marking Files......................................|netrw-mf|
|
|
59 Marking Files By Regular Expression................|netrw-mr|
|
|
60 Marked Files: Arbitrary Command....................|netrw-mx|
|
|
61 Marked Files: Compression And Decompression........|netrw-mz|
|
|
62 Marked Files: Copying..............................|netrw-mc|
|
|
63 Marked Files: Diff.................................|netrw-md|
|
|
64 Marked Files: Editing..............................|netrw-me|
|
|
65 Marked Files: Grep.................................|netrw-mg|
|
|
66 Marked Files: Hiding and Unhiding by Suffix........|netrw-mh|
|
|
67 Marked Files: Moving...............................|netrw-mm|
|
|
68 Marked Files: Printing.............................|netrw-mp|
|
|
69 Marked Files: Sourcing.............................|netrw-ms|
|
|
70 Marked Files: Tagging..............................|netrw-mT|
|
|
71 Marked Files: Setting the Target Directory.........|netrw-mt|
|
|
72 Marked Files: Unmarking............................|netrw-mu|
|
|
73 Netrw Browser Variables............................|netrw-browser-var|
|
|
74 Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
|
|
75 Netrw Settings.....................................|netrw-settings|
|
|
76 Obtaining A File...................................|netrw-O|
|
|
77 Preview Window.....................................|netrw-p|
|
|
78 Previous Window....................................|netrw-P|
|
|
79 Refreshing The Listing.............................|netrw-ctrl-l|
|
|
80 Renaming Files Or Directories......................|netrw-move|
|
|
81 Reversing Sorting Order............................|netrw-r|
|
|
82 Selecting Sorting Style............................|netrw-s|
|
1121
|
83 10. Problems and Fixes...................................|netrw-problems|
|
1621
|
84 11. Debugging Netrw Itself...............................|netrw-debug|
|
1121
|
85 12. History..............................................|netrw-history|
|
|
86 13. Credits..............................................|netrw-credits|
|
7
|
87
|
|
88 {Vi does not have any of this}
|
|
89
|
|
90 ==============================================================================
|
1621
|
91 2. Starting With Netrw *netrw-start* {{{1
|
|
92
|
|
93 Netrw makes reading files, writing files, browsing over a network, and
|
|
94 browsing locally easy! First, make sure that you have plugins enabled, so
|
|
95 you'll need to have at least the following in your <.vimrc>:
|
|
96 (or see |netrw-activate|) >
|
650
|
97
|
1121
|
98 set nocp " 'compatible' is not set
|
|
99 filetype plugin on " plugins are enabled
|
650
|
100 <
|
|
101 (see |'cp'| and |:filetype-plugin-on|)
|
|
102
|
|
103 Netrw supports "transparent" editing of files on other machines using urls
|
|
104 (see |netrw-transparent|). As an example of this, let's assume you have an
|
1621
|
105 account on some other machine; if you can use scp, try: >
|
650
|
106
|
|
107 vim scp://hostname/path/to/file
|
|
108 <
|
1621
|
109 Want to make ssh/scp easier to use? Check out |netrw-ssh-hack|!
|
|
110
|
|
111 So, what if you have ftp, not ssh/scp? That's easy, too; try >
|
650
|
112
|
|
113 vim ftp://hostname/path/to/file
|
|
114 <
|
|
115 Want to make ftp simpler to use? See if your ftp supports a file called
|
|
116 <.netrc> -- typically it goes in your home directory, has read/write
|
|
117 permissions for only the user to read (ie. not group, world, other, etc),
|
|
118 and has lines resembling >
|
|
119
|
|
120 machine HOSTNAME login USERID password "PASSWORD"
|
|
121 machine HOSTNAME login USERID password "PASSWORD"
|
|
122 ...
|
1121
|
123 default login USERID password "PASSWORD"
|
650
|
124 <
|
1621
|
125 Now about browsing -- when you just want to look around before editing a
|
650
|
126 file. For browsing on your current host, just "edit" a directory: >
|
|
127
|
|
128 vim .
|
|
129 vim /home/userid/path
|
|
130 <
|
|
131 For browsing on a remote host, "edit" a directory (but make sure that
|
|
132 the directory name is followed by a "/"): >
|
|
133
|
|
134 vim scp://hostname/
|
|
135 vim ftp://hostname/path/to/dir/
|
|
136 <
|
|
137 See |netrw-browse| for more!
|
|
138
|
1621
|
139 There are more protocols supported by netrw just than scp and ftp, too: see the
|
|
140 next section, |netrw-externapp|, for how to use these external applications.
|
|
141
|
|
142 If you want to use plugins, but for some reason don't wish to use netrw, then
|
|
143 you need to avoid loading both the plugin and the autoload portions of netrw.
|
|
144 You may do so by placing the following two lines in your <.vimrc>: >
|
|
145
|
|
146 :let g:loaded_netrw = 1
|
|
147 :let g:loaded_netrwPlugin = 1
|
|
148 <
|
650
|
149
|
|
150 ==============================================================================
|
1621
|
151 3. Netrw Reference *netrw-ref* {{{1
|
|
152
|
|
153 Netrw supports several protocols in addition to scp and ftp mentioned
|
|
154 in |netrw-start|. These include dav, fetch, http,... well, just look
|
|
155 at the list in |netrw-externapp|. Each protocol is associated with a
|
|
156 variable which holds the default command supporting that protocol.
|
|
157
|
|
158 EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
7
|
159
|
482
|
160 Protocol Variable Default Value
|
|
161 -------- ---------------- -------------
|
|
162 dav: *g:netrw_dav_cmd* = "cadaver"
|
650
|
163 fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
|
482
|
164 ftp: *g:netrw_ftp_cmd* = "ftp"
|
1621
|
165 http: *g:netrw_http_cmd* = "curl -o" if curl is available
|
|
166 http: g:netrw_http_cmd = "wget -q -O" elseif wget is available
|
|
167 http: g:netrw_http_cmd = "fetch -o" elseif fetch is available
|
482
|
168 rcp: *g:netrw_rcp_cmd* = "rcp"
|
|
169 rsync: *g:netrw_rsync_cmd* = "rsync -a"
|
|
170 scp: *g:netrw_scp_cmd* = "scp -q"
|
|
171 sftp: *g:netrw_sftp_cmd* = "sftp"
|
7
|
172
|
1621
|
173 READING *netrw-read* *netrw-nread* {{{2
|
|
174
|
|
175 Generally, one may just use the url notation with a normal editing
|
|
176 command, such as >
|
|
177
|
|
178 :e ftp://[user@]machine/path
|
|
179 <
|
|
180 Netrw also provides the Nread command:
|
|
181
|
7
|
182 :Nread ? give help
|
22
|
183 :Nread "machine:path" uses rcp
|
482
|
184 :Nread "machine path" uses ftp w/ <.netrc>
|
22
|
185 :Nread "machine id password path" uses ftp
|
|
186 :Nread "dav://machine[:port]/path" uses cadaver
|
|
187 :Nread "fetch://[user@]machine/path" uses fetch
|
482
|
188 :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
|
22
|
189 :Nread "http://[user@]machine/path" uses http uses wget
|
|
190 :Nread "rcp://[user@]machine/path" uses rcp
|
|
191 :Nread "rsync://[user@]machine[:port]/path" uses rsync
|
|
192 :Nread "scp://[user@]machine[[:#]port]/path" uses scp
|
|
193 :Nread "sftp://[user@]machine/path" uses sftp
|
7
|
194
|
1621
|
195 WRITING *netrw-write* *netrw-nwrite* {{{2
|
|
196
|
|
197 One may just use the url notation with a normal file writing
|
|
198 command, such as >
|
|
199
|
|
200 :w ftp://[user@]machine/path
|
|
201 <
|
|
202 Netrw also provides the Nwrite command:
|
|
203
|
794
|
204 :Nwrite ? give help
|
22
|
205 :Nwrite "machine:path" uses rcp
|
482
|
206 :Nwrite "machine path" uses ftp w/ <.netrc>
|
22
|
207 :Nwrite "machine id password path" uses ftp
|
|
208 :Nwrite "dav://machine[:port]/path" uses cadaver
|
482
|
209 :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
|
22
|
210 :Nwrite "rcp://[user@]machine/path" uses rcp
|
|
211 :Nwrite "rsync://[user@]machine[:port]/path" uses rsync
|
|
212 :Nwrite "scp://[user@]machine[[:#]port]/path" uses scp
|
|
213 :Nwrite "sftp://[user@]machine/path" uses sftp
|
7
|
214 http: not supported!
|
|
215
|
1621
|
216 SOURCING *netrw-source* {{{2
|
|
217
|
|
218 One may just use the url notation with the normal file sourcing
|
|
219 command, such as >
|
|
220
|
|
221 :so ftp://[user@]machine/path
|
|
222 <
|
|
223 Netrw also provides the Nsource command:
|
|
224
|
1121
|
225 :Nsource ? give help
|
|
226 :Nsource "dav://machine[:port]/path" uses cadaver
|
|
227 :Nsource "fetch://[user@]machine/path" uses fetch
|
|
228 :Nsource "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
|
|
229 :Nsource "http://[user@]machine/path" uses http uses wget
|
|
230 :Nsource "rcp://[user@]machine/path" uses rcp
|
|
231 :Nsource "rsync://[user@]machine[:port]/path" uses rsync
|
|
232 :Nsource "scp://[user@]machine[[:#]port]/path" uses scp
|
|
233 :Nsource "sftp://[user@]machine/path" uses sftp
|
|
234
|
1621
|
235 DIRECTORY LISTING *netrw-dirlist* {{{2
|
|
236
|
|
237 One may browse a directory to get a listing by simply attempting to
|
|
238 edit the directory: >
|
|
239
|
|
240 :e scp://[user]@hostname/path/
|
|
241 :e ftp://[user]@hostname/path/
|
|
242 <
|
|
243 For remote directories (ie. those using scp or ftp), that trailing
|
|
244 "/" is necessary (it tells netrw that its to treat it as a directory
|
|
245 to browse instead of a file to download).
|
|
246
|
|
247 However, the Nread command can also be used to accomplish this:
|
|
248
|
9
|
249 :Nread [protocol]://[user]@hostname/path/
|
|
250
|
1621
|
251 *netrw-login* *netrw-password*
|
|
252 CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
|
1209
|
253
|
7
|
254 Attempts to use ftp will prompt you for a user-id and a password.
|
1209
|
255 These will be saved in global variables g:netrw_uid and
|
1621
|
256 s:netrw_passwd; subsequent uses of ftp will re-use those two items to
|
1209
|
257 simplify the further use of ftp. However, if you need to use a
|
|
258 different user id and/or password, you'll want to call NetUserPass()
|
|
259 first. To work around the need to enter passwords, check if your ftp
|
|
260 supports a <.netrc> file in your home directory. Also see
|
|
261 |netrw-passwd| (and if you're using ssh/scp hoping to figure out how
|
1621
|
262 to not need to use passwords, look at |netrw-ssh-hack|).
|
7
|
263
|
|
264 :NetUserPass [uid [password]] -- prompts as needed
|
|
265 :call NetUserPass() -- prompts for uid and password
|
|
266 :call NetUserPass("uid") -- prompts for password
|
|
267 :call NetUserPass("uid","password") -- sets global uid and password
|
|
268
|
1621
|
269 NETRW VARIABLES AND SETTINGS *netrw-variables* {{{2
|
|
270 (also see: |netrw-browser-var| |netrw-protocol| |netrw-settings| |netrw-var|)
|
|
271
|
|
272 Netrw provides a lot of variables which allow you to customize netrw to your
|
|
273 preferences. One way to look at them is via the command :NetrwSettings (see
|
|
274 |netrw-settings|) which will display your current netrw settings. Most such
|
|
275 settings are described below, in |netrw-browser-options|, and in
|
|
276 |netrw-externapp|:
|
1121
|
277
|
482
|
278 *b:netrw_lastfile* last file Network-read/written retained on a per-buffer
|
|
279 basis (supports plain :Nw )
|
|
280
|
|
281 *g:netrw_ftp* if it doesn't exist, use default ftp
|
|
282 =0 use default ftp (uid password)
|
|
283 =1 use alternate ftp method (user uid password)
|
|
284 If you're having trouble with ftp, try changing the
|
|
285 value of this variable to see if the alternate ftp
|
|
286 method works for your setup.
|
|
287
|
1121
|
288 *g:netrw_extracmd* default: doesn't exist
|
|
289 If this variable exists, then any string it contains
|
|
290 will be placed into the commands set to your ftp
|
|
291 client. As an example:
|
|
292 ="passive"
|
|
293
|
482
|
294 *g:netrw_ftpmode* ="binary" (default)
|
|
295 ="ascii"
|
|
296
|
1121
|
297 *g:netrw_ignorenetrc* =0 (default for linux, cygwin)
|
794
|
298 =1 If you have a <.netrc> file but it doesn't work and
|
1621
|
299 you want it ignored, then set this variable as
|
|
300 shown. (default for Windows + cmd.exe)
|
1121
|
301
|
|
302 *g:netrw_menu* =0 disable netrw's menu
|
|
303 =1 (default) netrw's menu enabled
|
|
304
|
|
305 *g:netrw_nogx* if this variable exists, then the "gx" map will not
|
|
306 be available (see |netrw-gx|)
|
482
|
307
|
|
308 *g:netrw_uid* (ftp) user-id, retained on a per-session basis
|
1621
|
309 *s:netrw_passwd* (ftp) password, retained on a per-session basis
|
|
310
|
|
311 *g:netrw_preview* =0 (default) preview window shown in a horizontally
|
|
312 split window
|
|
313 =1 preview window shown in a vertically split window.
|
|
314 Also affects the "previous window" (see |netrw-P|) in
|
|
315 the same way.
|
7
|
316
|
1209
|
317 *g:netrw_scpport* = "-P" : option to use to set port for scp
|
|
318 *g:netrw_sshport* = "-p" : option to use to set port for ssh
|
|
319
|
1621
|
320 *g:netrw_silent* =0 : transfers done normally
|
|
321 =1 : transfers done silently
|
|
322
|
1209
|
323 *g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one
|
|
324 line window. This window provides reliable
|
|
325 delivery of messages. (default)
|
|
326 =0 : messages from netrw will use echoerr ;
|
|
327 messages don't always seem to show up this
|
|
328 way, but one doesn't have to quit the window.
|
|
329
|
482
|
330 *g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank
|
|
331 lines that o/s's ftp "provides" on transfers
|
|
332 =0 force normal ftp behavior (no trailing line removal)
|
22
|
333
|
482
|
334 *g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also
|
|
335 permits network browsing to use ls with time and
|
|
336 size sorting (default if windows)
|
|
337 =0 assume Windows' scp accepts windows-style paths
|
|
338 Network browsing uses dir instead of ls
|
|
339 This option is ignored if you're using unix
|
|
340
|
|
341 *g:netrw_use_nt_rcp* =0 don't use the rcp of WinNT, Win2000 and WinXP
|
1121
|
342 =1 use WinNT's rcp in binary mode (default)
|
22
|
343
|
1621
|
344 PATHS *netrw-path* {{{2
|
466
|
345
|
482
|
346 Paths to files are generally user-directory relative for most protocols.
|
|
347 It is possible that some protocol will make paths relative to some
|
|
348 associated directory, however.
|
|
349 >
|
|
350 example: vim scp://user@host/somefile
|
|
351 example: vim scp://user@host/subdir1/subdir2/somefile
|
|
352 <
|
1621
|
353 where "somefile" is in the "user"'s home directory. If you wish to get a
|
482
|
354 file using root-relative paths, use the full path:
|
|
355 >
|
|
356 example: vim scp://user@host//somefile
|
|
357 example: vim scp://user@host//subdir1/subdir2/somefile
|
|
358 <
|
7
|
359
|
|
360 ==============================================================================
|
1621
|
361 4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
7
|
362
|
|
363 Network-oriented file transfer under Vim is implemented by a VimL-based script
|
559
|
364 (<netrw.vim>) using plugin techniques. It currently supports both reading and
|
|
365 writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
7
|
366 dav/cadaver, rsync, or sftp.
|
|
367
|
|
368 http is currently supported read-only via use of wget or fetch.
|
|
369
|
|
370 <netrw.vim> is a standard plugin which acts as glue between Vim and the
|
|
371 various file transfer programs. It uses autocommand events (BufReadCmd,
|
|
372 FileReadCmd, BufWriteCmd) to intercept reads/writes with url-like filenames. >
|
|
373
|
|
374 ex. vim ftp://hostname/path/to/file
|
|
375 <
|
559
|
376 The characters preceding the colon specify the protocol to use; in the
|
1621
|
377 example, it's ftp. The <netrw.vim> script then formulates a command or a
|
559
|
378 series of commands (typically ftp) which it issues to an external program
|
|
379 (ftp, scp, etc) which does the actual file transfer/protocol. Files are read
|
|
380 from/written to a temporary file (under Unix/Linux, /tmp/...) which the
|
|
381 <netrw.vim> script will clean up.
|
7
|
382
|
1121
|
383 *netrw-putty* *netrw-pscp* *netrw-psftp*
|
559
|
384 One may modify any protocol's implementing external application by setting a
|
|
385 variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
794
|
386 "scp -q"). As an example, consider using PuTTY: >
|
1121
|
387
|
|
388 let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
|
|
389 let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
794
|
390 <
|
1121
|
391 See |netrw-p8| for more about putty, pscp, psftp, etc.
|
|
392
|
7
|
393 Ftp, an old protocol, seems to be blessed by numerous implementations.
|
559
|
394 Unfortunately, some implementations are noisy (ie., add junk to the end of the
|
|
395 file). Thus, concerned users may decide to write a NetReadFixup() function
|
|
396 that will clean up after reading with their ftp. Some Unix systems (ie.,
|
|
397 FreeBSD) provide a utility called "fetch" which uses the ftp protocol but is
|
|
398 not noisy and more convenient, actually, for <netrw.vim> to use.
|
7
|
399 Consequently, if "fetch" is executable, it will be used to do reads for
|
|
400 ftp://... (and http://...) . See |netrw-var| for more about this.
|
|
401
|
|
402 For rcp, scp, sftp, and http, one may use network-oriented file transfers
|
459
|
403 transparently; ie.
|
7
|
404 >
|
|
405 vim rcp://[user@]machine/path
|
|
406 vim scp://[user@]machine/path
|
|
407 <
|
|
408 If your ftp supports <.netrc>, then it too can be just as transparently used
|
|
409 if the needed triad of machine name, user id, and password are present in
|
|
410 that file. Your ftp must be able to use the <.netrc> file on its own, however.
|
|
411 >
|
|
412 vim ftp://[user@]machine[[:#]portnumber]/path
|
|
413 <
|
|
414 However, ftp will often need to query the user for the userid and password.
|
459
|
415 The latter will be done "silently"; ie. asterisks will show up instead of
|
7
|
416 the actually-typed-in password. Netrw will retain the userid and password
|
|
417 for subsequent read/writes from the most recent transfer so subsequent
|
|
418 transfers (read/write) to or from that machine will take place without
|
|
419 additional prompting.
|
|
420
|
|
421 *netrw-urls*
|
|
422 +=================================+============================+============+
|
1121
|
423 | Reading | Writing | Uses |
|
7
|
424 +=================================+============================+============+
|
1121
|
425 | DAV: | | |
|
|
426 | dav://host/path | | cadaver |
|
|
427 | :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
|
7
|
428 +---------------------------------+----------------------------+------------+
|
1621
|
429 | DAV + SSL: | | |
|
|
430 | davs://host/path | | cadaver |
|
|
431 | :Nread davs://host/path | :Nwrite davs://host/path | cadaver |
|
|
432 +---------------------------------+----------------------------+------------+
|
1121
|
433 | FETCH: | | |
|
|
434 | fetch://[user@]host/path | | |
|
|
435 | fetch://[user@]host:http/path | Not Available | fetch |
|
|
436 | :Nread fetch://[user@]host/path| | |
|
7
|
437 +---------------------------------+----------------------------+------------+
|
1121
|
438 | FILE: | | |
|
|
439 | file:///* | file:///* | |
|
|
440 | file://localhost/* | file://localhost/* | |
|
7
|
441 +---------------------------------+----------------------------+------------+
|
1121
|
442 | FTP: (*3) | (*3) | |
|
|
443 | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
|
|
444 | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
|
|
445 | :Nread host path | :Nwrite host path | ftp+.netrc |
|
|
446 | :Nread host uid pass path | :Nwrite host uid pass path | ftp |
|
7
|
447 +---------------------------------+----------------------------+------------+
|
1121
|
448 | HTTP: wget is executable: (*4) | | |
|
|
449 | http://[user@]host/path | Not Available | wget |
|
7
|
450 +---------------------------------+----------------------------+------------+
|
1121
|
451 | HTTP: fetch is executable (*4) | | |
|
|
452 | http://[user@]host/path | Not Available | fetch |
|
7
|
453 +---------------------------------+----------------------------+------------+
|
1121
|
454 | RCP: | | |
|
|
455 | rcp://[user@]host/path | rcp://[user@]host/path | rcp |
|
7
|
456 +---------------------------------+----------------------------+------------+
|
1121
|
457 | RSYNC: | | |
|
|
458 | rsync://[user@]host/path | rsync://[user@]host/path | rsync |
|
|
459 | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
|
|
460 | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
|
7
|
461 +---------------------------------+----------------------------+------------+
|
1121
|
462 | SCP: | | |
|
|
463 | scp://[user@]host/path | scp://[user@]host/path | scp |
|
|
464 | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
|
7
|
465 +---------------------------------+----------------------------+------------+
|
1121
|
466 | SFTP: | | |
|
|
467 | sftp://[user@]host/path | sftp://[user@]host/path | sftp |
|
|
468 | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
|
7
|
469 +=================================+============================+============+
|
|
470
|
|
471 (*1) For an absolute path use scp://machine//path.
|
|
472
|
|
473 (*2) if <.netrc> is present, it is assumed that it will
|
|
474 work with your ftp client. Otherwise the script will
|
1121
|
475 prompt for user-id and password.
|
7
|
476
|
1121
|
477 (*3) for ftp, "machine" may be machine#port or machine:port
|
7
|
478 if a different port is needed than the standard ftp port
|
|
479
|
|
480 (*4) for http:..., if wget is available it will be used. Otherwise,
|
|
481 if fetch is available it will be used.
|
|
482
|
|
483 Both the :Nread and the :Nwrite ex-commands can accept multiple filenames.
|
|
484
|
|
485
|
|
486 NETRC *netrw-netrc*
|
|
487
|
1621
|
488 The <.netrc> file, typically located in your home directory, contains lines
|
|
489 therein which map a hostname (machine name) to the user id and password you
|
|
490 prefer to use with it.
|
|
491
|
7
|
492 The typical syntax for lines in a <.netrc> file is given as shown below.
|
799
|
493 Ftp under Unix usually supports <.netrc>; ftp under Windows usually doesn't.
|
7
|
494 >
|
|
495 machine {full machine name} login {user-id} password "{password}"
|
|
496 default login {user-id} password "{password}"
|
|
497
|
|
498 Your ftp client must handle the use of <.netrc> on its own, but if the
|
|
499 <.netrc> file exists, an ftp transfer will not ask for the user-id or
|
|
500 password.
|
|
501
|
|
502 Note:
|
|
503 Since this file contains passwords, make very sure nobody else can
|
|
504 read this file! Most programs will refuse to use a .netrc that is
|
|
505 readable for others. Don't forget that the system administrator can
|
1621
|
506 still read the file! Ie. for Linux/Unix: chmod 600 .netrc
|
7
|
507
|
|
508
|
|
509 PASSWORD *netrw-passwd*
|
|
510
|
|
511 The script attempts to get passwords for ftp invisibly using |inputsecret()|,
|
|
512 a built-in Vim function. See |netrw-uidpass| for how to change the password
|
|
513 after one has set it.
|
|
514
|
559
|
515 Unfortunately there doesn't appear to be a way for netrw to feed a password to
|
|
516 scp. Thus every transfer via scp will require re-entry of the password.
|
1621
|
517 However, |netrw-ssh-hack| can help with this problem.
|
7
|
518
|
|
519
|
|
520 ==============================================================================
|
1621
|
521 5. Activation *netrw-activate* {{{1
|
7
|
522
|
799
|
523 Network-oriented file transfers are available by default whenever Vim's
|
1621
|
524 |'nocompatible'| mode is enabled. Netrw's script files reside in your
|
|
525 system's plugin, autoload, and syntax directories; just the
|
|
526 plugin/netrwPlugin.vim script is sourced automatically whenever you bring up
|
|
527 vim. The main script in autoload/netrw.vim is only loaded when you actually
|
|
528 use netrw. I suggest that, at a minimum, you have at least the following in
|
|
529 your <.vimrc> customization file: >
|
799
|
530
|
559
|
531 set nocp
|
|
532 if version >= 600
|
|
533 filetype plugin indent on
|
|
534 endif
|
|
535 <
|
7
|
536
|
|
537 ==============================================================================
|
1621
|
538 6. Transparent File Editing *netrw-transparent* {{{1
|
7
|
539
|
|
540 Transparent file transfers occur whenever a regular file read or write
|
1621
|
541 (invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
|
|
542 events) is made. Thus one may read, write, or source files across networks
|
|
543 just as easily as if they were local files! >
|
7
|
544
|
|
545 vim ftp://[user@]machine/path
|
|
546 ...
|
|
547 :wq
|
|
548
|
559
|
549 See |netrw-activate| for more on how to encourage your vim to use plugins
|
|
550 such as netrw.
|
7
|
551
|
799
|
552
|
7
|
553 ==============================================================================
|
1621
|
554 7. Ex Commands *netrw-ex* {{{1
|
7
|
555
|
799
|
556 The usual read/write commands are supported. There are also a few
|
1621
|
557 additional commands available. Often you won't need to use Nwrite or
|
1121
|
558 Nread as shown in |netrw-transparent| (ie. simply use >
|
|
559 :e url
|
|
560 :r url
|
|
561 :w url
|
|
562 instead, as appropriate) -- see |netrw-urls|. In the explanations
|
|
563 below, a {netfile} is an url to a remote file.
|
7
|
564
|
1621
|
565 :[range]Nw[rite] Write the specified lines to the current
|
7
|
566 file as specified in b:netrw_lastfile.
|
|
567
|
1621
|
568 :[range]Nw[rite] {netfile} [{netfile}]...
|
7
|
569 Write the specified lines to the {netfile}.
|
|
570
|
1621
|
571 :Nr[ead] Read the specified lines into the current
|
7
|
572 buffer from the file specified in
|
|
573 b:netrw_lastfile.
|
|
574
|
1621
|
575 :Nr[ead] {netfile} {netfile}...
|
7
|
576 Read the {netfile} after the current line.
|
|
577
|
1621
|
578 :Ns[ource] {netfile}
|
1121
|
579 Source the {netfile}.
|
|
580 To start up vim using a remote .vimrc, one may use
|
|
581 the following (all on one line) (tnx to Antoine Mechelynck) >
|
|
582 vim -u NORC -N
|
|
583 --cmd "runtime plugin/netrwPlugin.vim"
|
|
584 --cmd "source scp://HOSTNAME/.vimrc"
|
|
585 < *netrw-uidpass*
|
7
|
586 :call NetUserPass()
|
1621
|
587 If g:netrw_uid and s:netrw_passwd don't exist,
|
|
588 this function will query the user for them.
|
7
|
589
|
|
590 :call NetUserPass("userid")
|
1621
|
591 This call will set the g:netrw_uid and, if
|
7
|
592 the password doesn't exist, will query the user for it.
|
|
593
|
|
594 :call NetUserPass("userid","passwd")
|
1621
|
595 This call will set both the g:netrw_uid and s:netrw_passwd.
|
7
|
596 The user-id and password are used by ftp transfers. One may
|
1621
|
597 effectively remove the user-id and password by using empty
|
|
598 strings (ie. "").
|
7
|
599
|
1121
|
600 :NetrwSettings This command is described in |netrw-settings| -- used to
|
|
601 display netrw settings and change netrw behavior.
|
482
|
602
|
7
|
603
|
|
604 ==============================================================================
|
1621
|
605 8. Variables and Options *netrw-options* *netrw-var* {{{1
|
|
606
|
|
607 (if you're interested in the netrw browser settings, see: |netrw-browser-var|)
|
7
|
608
|
1121
|
609 The <netrw.vim> script provides several variables which act as options to
|
1621
|
610 affect <netrw.vim>'s file transfer behavior. These variables typically may be
|
|
611 set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
|
|
612
|
|
613 >
|
559
|
614
|
1121
|
615 -------------
|
|
616 Netrw Options
|
|
617 -------------
|
9
|
618 Option Meaning
|
|
619 -------------- -----------------------------------------------
|
|
620 <
|
1121
|
621 b:netrw_col Holds current cursor position (during NetWrite)
|
|
622 g:netrw_cygwin =1 assume scp under windows is from cygwin
|
|
623 (default/windows)
|
|
624 =0 assume scp under windows accepts windows
|
|
625 style paths (default/else)
|
|
626 g:netrw_ftp =0 use default ftp (uid password)
|
|
627 g:netrw_ftpmode ="binary" (default)
|
|
628 ="ascii" (your choice)
|
|
629 g:netrw_ignorenetrc =1 (default)
|
|
630 if you have a <.netrc> file but you don't
|
7
|
631 want it used, then set this variable. Its
|
|
632 mere existence is enough to cause <.netrc>
|
|
633 to be ignored.
|
1121
|
634 b:netrw_lastfile Holds latest method/machine/path.
|
|
635 b:netrw_line Holds current line number (during NetWrite)
|
|
636 g:netrw_passwd Holds current password for ftp.
|
|
637 g:netrw_silent =0 transfers done normally
|
|
638 =1 transfers done silently
|
|
639 g:netrw_uid Holds current user-id for ftp.
|
|
640 =1 use alternate ftp (user uid password)
|
|
641 (see |netrw-options|)
|
|
642 g:netrw_use_nt_rcp =0 don't use WinNT/2K/XP's rcp (default)
|
|
643 =1 use WinNT/2K/XP's rcp, binary mode
|
|
644 g:netrw_win95ftp =0 use unix-style ftp even if win95/98/ME/etc
|
|
645 =1 use default method to do ftp >
|
9
|
646 -----------------------------------------------------------------------
|
|
647 <
|
7
|
648 The script will also make use of the following variables internally, albeit
|
|
649 temporarily.
|
9
|
650 >
|
|
651 -------------------
|
|
652 Temporary Variables
|
|
653 -------------------
|
|
654 Variable Meaning
|
|
655 -------- ------------------------------------
|
|
656 <
|
7
|
657 g:netrw_method Index indicating rcp/ftp+.netrc/ftp
|
|
658 g:netrw_machine Holds machine name parsed from input
|
9
|
659 g:netrw_fname Holds filename being accessed >
|
|
660 ------------------------------------------------------------
|
|
661 <
|
1621
|
662 *netrw-protocol*
|
7
|
663
|
9
|
664 Netrw supports a number of protocols. These protocols are invoked using the
|
|
665 variables listed below, and may be modified by the user.
|
7
|
666 >
|
|
667 ------------------------
|
1121
|
668 Protocol Control Options
|
7
|
669 ------------------------
|
1121
|
670 Option Type Setting Meaning
|
|
671 --------- -------- -------------- ---------------------------
|
9
|
672 <
|
1121
|
673 netrw_ftp variable =doesn't exist userid set by "user userid"
|
|
674 =0 userid set by "user userid"
|
|
675 =1 userid set by "userid"
|
|
676 NetReadFixup function =doesn't exist no change
|
|
677 =exists Allows user to have files
|
|
678 read via ftp automatically
|
|
679 transformed however they wish
|
|
680 by NetReadFixup()
|
7
|
681 g:netrw_dav_cmd variable ="cadaver"
|
1121
|
682 g:netrw_fetch_cmd variable ="fetch -o" if fetch is available
|
7
|
683 g:netrw_ftp_cmd variable ="ftp"
|
650
|
684 g:netrw_http_cmd variable ="fetch -o" if fetch is available
|
|
685 g:netrw_http_cmd variable ="wget -O" else if wget is available
|
1121
|
686 g:netrw_list_cmd variable ="ssh USEPORT HOSTNAME ls -Fa"
|
7
|
687 g:netrw_rcp_cmd variable ="rcp"
|
|
688 g:netrw_rsync_cmd variable ="rsync -a"
|
|
689 g:netrw_scp_cmd variable ="scp -q"
|
9
|
690 g:netrw_sftp_cmd variable ="sftp" >
|
|
691 -------------------------------------------------------------------------
|
7
|
692 <
|
12
|
693 *netrw-ftp*
|
1121
|
694
|
|
695 The g:netrw_..._cmd options (|g:netrw_ftp_cmd| and |g:netrw_sftp_cmd|)
|
|
696 specify the external program to use handle the ftp protocol. They may
|
|
697 include command line options (such as -p for passive mode).
|
7
|
698
|
1121
|
699 Browsing is supported by using the |g:netrw_list_cmd|; the substring
|
|
700 "HOSTNAME" will be changed via substitution with whatever the current request
|
|
701 is for a hostname.
|
7
|
702
|
1121
|
703 Two options (|g:netrw_ftp| and |netrw-fixup|) both help with certain ftp's
|
|
704 that give trouble . In order to best understand how to use these options if
|
|
705 ftp is giving you troubles, a bit of discussion is provided on how netrw does
|
|
706 ftp reads.
|
9
|
707
|
|
708 For ftp, netrw typically builds up lines of one of the following formats in a
|
7
|
709 temporary file:
|
|
710 >
|
|
711 IF g:netrw_ftp !exists or is not 1 IF g:netrw_ftp exists and is 1
|
|
712 ---------------------------------- ------------------------------
|
9
|
713 <
|
1121
|
714 open machine [port] open machine [port]
|
|
715 user userid password userid password
|
|
716 [g:netrw_ftpmode] password
|
|
717 [g:netrw_extracmd] [g:netrw_ftpmode]
|
|
718 get filename tempfile [g:netrw_extracmd]
|
|
719 get filename tempfile >
|
9
|
720 ---------------------------------------------------------------------
|
7
|
721 <
|
1121
|
722 The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional.
|
|
723
|
7
|
724 Netrw then executes the lines above by use of a filter:
|
|
725 >
|
|
726 :%! {g:netrw_ftp_cmd} -i [-n]
|
|
727 <
|
|
728 where
|
|
729 g:netrw_ftp_cmd is usually "ftp",
|
|
730 -i tells ftp not to be interactive
|
|
731 -n means don't use netrc and is used for Method #3 (ftp w/o <.netrc>)
|
|
732
|
|
733 If <.netrc> exists it will be used to avoid having to query the user for
|
9
|
734 userid and password. The transferred file is put into a temporary file.
|
7
|
735 The temporary file is then read into the main editing session window that
|
|
736 requested it and the temporary file deleted.
|
|
737
|
559
|
738 If your ftp doesn't accept the "user" command and immediately just demands a
|
|
739 userid, then try putting "let netrw_ftp=1" in your <.vimrc>.
|
7
|
740
|
12
|
741 *netrw-cadaver*
|
|
742 To handle the SSL certificate dialog for untrusted servers, one may pull
|
|
743 down the certificate and place it into /usr/ssl/cert.pem. This operation
|
|
744 renders the server treatment as "trusted".
|
|
745
|
794
|
746 *netrw-fixup* *netreadfixup*
|
7
|
747 If your ftp for whatever reason generates unwanted lines (such as AUTH
|
|
748 messages) you may write a NetReadFixup(tmpfile) function:
|
|
749 >
|
|
750 function! NetReadFixup(method,line1,line2)
|
|
751 " a:line1: first new line in current file
|
|
752 " a:line2: last new line in current file
|
|
753 if a:method == 1 "rcp
|
|
754 elseif a:method == 2 "ftp + <.netrc>
|
|
755 elseif a:method == 3 "ftp + machine,uid,password,filename
|
|
756 elseif a:method == 4 "scp
|
|
757 elseif a:method == 5 "http/wget
|
|
758 elseif a:method == 6 "dav/cadaver
|
|
759 elseif a:method == 7 "rsync
|
|
760 elseif a:method == 8 "fetch
|
|
761 elseif a:method == 9 "sftp
|
1121
|
762 else " complain
|
7
|
763 endif
|
|
764 endfunction
|
|
765 >
|
559
|
766 The NetReadFixup() function will be called if it exists and thus allows you to
|
|
767 customize your reading process. As a further example, <netrw.vim> contains
|
|
768 just such a function to handle Windows 95 ftp. For whatever reason, Windows
|
|
769 95's ftp dumps four blank lines at the end of a transfer, and so it is
|
|
770 desirable to automate their removal. Here's some code taken from <netrw.vim>
|
|
771 itself:
|
7
|
772 >
|
|
773 if has("win95") && g:netrw_win95ftp
|
9
|
774 fun! NetReadFixup(method, line1, line2)
|
7
|
775 if method == 3 " ftp (no <.netrc>)
|
1121
|
776 let fourblanklines= line2 - 3
|
|
777 silent fourblanklines.",".line2."g/^\s*/d"
|
7
|
778 endif
|
|
779 endfunction
|
|
780 endif
|
|
781 >
|
|
782
|
|
783 ==============================================================================
|
1621
|
784 9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1
|
|
785 *netrw-browser* *netrw-dir* *netrw-list*
|
|
786
|
|
787 INTRODUCTION TO BROWSING *netrw-intro-browse* {{{2
|
|
788 (Quick References: |netrw-quickmaps| |netrw-quickcoms|)
|
|
789
|
|
790 Netrw supports the browsing of directories on your local system and on remote
|
|
791 hosts; browsing includes listing files and directories, entering directories,
|
|
792 editing files therein, deleting files/directories, making new directories,
|
|
793 moving (renaming) files and directories, copying files and directories, etc.
|
|
794 One may mark files and execute any system command on them! The Netrw browser
|
|
795 generally implements the previous explorer's maps and commands for remote
|
|
796 directories, although details (such as pertinent global variable names)
|
|
797 necessarily differ. To browse a directory, simply "edit" it! >
|
|
798
|
|
799 vim /your/directory/
|
|
800 vim .
|
|
801 vim c:\your\directory\
|
|
802 <
|
|
803 (Related topics: |netrw-cr| |netrw-o| |netrw-p| |netrw-P| |netrw-t|
|
|
804 |netrw-mf| |netrw-mx| |netrw-D| |netrw-R| |netrw-v| )
|
22
|
805
|
|
806 The Netrw remote file and directory browser handles two protocols: ssh and
|
1621
|
807 ftp. The protocol in the url, if it is ftp, will cause netrw also to use ftp
|
|
808 in its remote browsing. Specifying any other protocol will cause it to be
|
|
809 used for file transfers; but the ssh protocol will be used to do remote
|
|
810 browsing.
|
|
811
|
|
812 To use Netrw's remote directory browser, simply attempt to read a "file" with
|
|
813 a trailing slash and it will be interpreted as a request to list a directory:
|
|
814 >
|
9
|
815 vim [protocol]://[user@]hostname/path/
|
1621
|
816 <
|
|
817 where [protocol] is typically scp or ftp. As an example, try: >
|
|
818
|
|
819 vim ftp://ftp.home.vim.org/pub/vim/
|
719
|
820 <
|
1621
|
821 For local directories, the trailing slash is not required. Again, because its
|
|
822 easy to miss: to browse remote directories, the url must terminate with a
|
|
823 slash!
|
|
824
|
|
825 If you'd like to avoid entering the password repeatedly for remote directory
|
|
826 listings with ssh or scp, see |netrw-ssh-hack|. To avoid password entry with
|
|
827 ftp, see |netrw-netrc| (if your ftp supports it).
|
|
828
|
|
829 There are several things you can do to affect the browser's display of files:
|
|
830
|
|
831 * To change the listing style, press the "i" key (|netrw-i|).
|
|
832 Currently there are four styles: thin, long, wide, and tree.
|
|
833
|
|
834 * To hide files (don't want to see those xyz~ files anymore?) see
|
|
835 |netrw-ctrl-h|.
|
|
836
|
|
837 * Press s to sort files by name, time, or size.
|
|
838
|
|
839 See |netrw-browse-cmds| for all the things you can do with netrw!
|
|
840
|
|
841
|
|
842 QUICK HELP *netrw-quickhelp* {{{2
|
|
843 (Use ctrl-] to select a topic)~
|
|
844 Intro to Browsing...............................|netrw-intro-browse|
|
|
845 Quick Reference: Maps.........................|netrw-quickmap|
|
|
846 Quick Reference: Commands.....................|netrw-browse-cmds|
|
|
847 Hiding
|
|
848 Edit hiding list..............................|netrw-ctrl-h|
|
|
849 Hiding Files or Directories...................|netrw-a|
|
|
850 Hiding/Unhiding by suffix.....................|netrw-mh|
|
|
851 Hiding dot-files.............................|netrw-gh|
|
|
852 Listing Style
|
|
853 Select listing style (thin/long/wide/tree)....|netrw-i|
|
|
854 Associated setting variable...................|g:netrw_liststyle|
|
|
855 Shell command used to perform listing.........|g:netrw_list_cmd|
|
|
856 Quick file info...............................|netrw-qf|
|
|
857 Sorted by
|
|
858 Select sorting style (name/time/size).........|netrw-s|
|
|
859 Editing the sorting sequence..................|netrw-S|
|
1668
|
860 Sorting options...............................|g:netrw_sort_options|
|
1621
|
861 Associated setting variable...................|g:netrw_sort_sequence|
|
|
862 Reverse sorting order.........................|netrw-r|
|
|
863
|
|
864
|
|
865 *netrw-quickmap* *netrw-quickmaps*
|
|
866 QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
466
|
867 >
|
1621
|
868 --- ----------------- ----
|
|
869 Map Quick Explanation Link
|
|
870 --- ----------------- ----
|
|
871 < <F1> Causes Netrw to issue help
|
|
872 <cr> Netrw will enter the directory or read the file |netrw-cr|
|
|
873 <del> Netrw will attempt to remove the file/directory |netrw-del|
|
|
874 - Makes Netrw go up one directory |netrw--|
|
|
875 a Toggles between normal display, |netrw-a|
|
|
876 hiding (suppress display of files matching g:netrw_list_hide)
|
|
877 showing (display only files which match g:netrw_list_hide)
|
|
878 c Make browsing directory the current directory |netrw-c|
|
|
879 d Make a directory |netrw-d|
|
|
880 D Attempt to remove the file(s)/directory(ies) |netrw-D|
|
|
881 gb Go to previous bookmarked directory |netrw-gb|
|
|
882 gh Quick hide/unhide of dot-files |netrw-gh|
|
|
883 gi Display information on file |netrw-qf|
|
|
884 <c-h> Edit file hiding list |netrw-ctrl-h|
|
|
885 i Cycle between thin, long, wide, and tree listings |netrw-i|
|
|
886 <c-l> Causes Netrw to refresh the directory listing |netrw-ctrl-l|
|
|
887 mb Bookmark current directory |netrw-mb|
|
|
888 mc Copy marked files to marked-file target directory |netrw-mc|
|
|
889 md Apply diff to marked files (up to 3) |netrw-md|
|
|
890 me Place marked files on arg list and edit them |netrw-me|
|
|
891 mf Mark a file |netrw-mf|
|
|
892 mh Toggle marked file suffices' presence on hiding list |netrw-mh|
|
|
893 mm Move marked files to marked-file target directory |netrw-mm|
|
|
894 mp Print marked files |netrw-mp|
|
|
895 mr Mark files satisfying a |regexp| |netrw-mr|
|
|
896 mt Current browsing directory becomes markfile target |netrw-mt|
|
|
897 mT Apply ctags to marked files |netrw-mT|
|
|
898 mu Unmark all marked files |netrw-mu|
|
|
899 mx Apply arbitrary shell command to marked files |netrw-mx|
|
|
900 mz Compress/decompress marked files |netrw-mz|
|
|
901 o Enter the file/directory under the cursor in a new |netrw-o|
|
|
902 browser window. A horizontal split is used.
|
|
903 O Obtain a file specified by cursor |netrw-O|
|
|
904 p Preview the file |netrw-p|
|
|
905 P Browse in the previously used window |netrw-P|
|
|
906 q List bookmarked directories and history |netrw-qb|
|
|
907 r Reverse sorting order |netrw-r|
|
|
908 R Rename the designed file(s)/directory(ies) |netrw-R|
|
|
909 s Select sorting style: by name, time, or file size |netrw-s|
|
|
910 S Specify suffix priority for name-sorting |netrw-S|
|
|
911 t Enter the file/directory under the cursor in a new tab|netrw-t|
|
|
912 u Change to recently-visited directory |netrw-u|
|
|
913 U Change to subsequently-visited directory |netrw-U|
|
|
914 v Enter the file/directory under the cursor in a new |netrw-v|
|
|
915 browser window. A vertical split is used.
|
|
916 x View file with an associated program |netrw-x|
|
|
917
|
1668
|
918 % Open a new file in netrw's current directory |netrw-%|
|
|
919
|
1621
|
920 <leftmouse> (gvim only) selects word under mouse as if a <cr>
|
|
921 had been pressed (ie. edit file, change directory)
|
|
922 <middlemouse> (gvim only) same as P selecting word under mouse;
|
|
923 see |netrw-P|
|
|
924 <rightmouse> (gvim only) delete file/directory using word under
|
|
925 mouse
|
|
926 <2-leftmouse> (gvim only) when:
|
|
927 * in a netrw-selected file, AND
|
|
928 * |g:netrw_retmap| == 1 AND
|
|
929 * the user doesn't already have a <2-leftmouse> mapping
|
|
930 defined before netrw is autoloaded,
|
|
931 then a double clicked leftmouse button will return
|
|
932 to the netrw browser window.
|
|
933 <s-leftmouse> (gvim only) like mf, will mark files
|
|
934
|
|
935 *netrw-quickcom* *netrw-quickcoms*
|
|
936 QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
|
|
937 :NetrwClean[!] ...........................................|netrw-clean|
|
|
938 :NetrwSettings ...........................................|netrw-settings|
|
|
939 :Explore[!] [dir] Explore directory of current file......|netrw-explore|
|
|
940 :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
|
|
941 :Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
|
|
942 :Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
|
|
943 :Rexplore Return to Explorer.....................|netrw-explore|
|
|
944 :Sexplore[!] [dir] Split & Explore directory .............|netrw-explore|
|
|
945 :Texplore[!] [dir] Tab & Explore..........................|netrw-explore|
|
|
946 :Vexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
|
|
947
|
|
948 BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
|
|
949 One may easily "bookmark" a directory by using >
|
|
950
|
|
951 {cnt}mb
|
839
|
952 <
|
1621
|
953 Any count may be used. One may use viminfo's "!" option (|'viminfo'|) to
|
|
954 retain bookmarks between vim sessions. See |netrw-gb| for how to return
|
|
955 to a bookmark and |netrw-qb| for how to list them.
|
|
956
|
|
957
|
|
958 BROWSING *netrw-cr* {{{2
|
12
|
959
|
9
|
960 Browsing is simple: move the cursor onto a file or directory of interest.
|
11
|
961 Hitting the <cr> (the return key) will select the file or directory.
|
|
962 Directories will themselves be listed, and files will be opened using the
|
1121
|
963 protocol given in the original read request.
|
559
|
964
|
1621
|
965 CAVEAT: There are four forms of listing (see |netrw-i|). Netrw assumes that
|
|
966 two or more spaces delimit filenames and directory names for the long and
|
|
967 wide listing formats. Thus, if your filename or directory name has two or
|
|
968 more sequential spaces embedded in it, or any trailing spaces, then you'll
|
|
969 need to use the "thin" format to select it.
|
519
|
970
|
650
|
971 The |g:netrw_browse_split| option, which is zero by default, may be used to
|
1621
|
972 cause the opening of files to be done in a new window or tab instead of the
|
|
973 default. When the option is one or two, the splitting will be taken
|
|
974 horizontally or vertically, respectively. When the option is set to three, a
|
|
975 <cr> will cause the file to appear in a new tab.
|
|
976
|
|
977
|
|
978 When using the gui (gvim) one may select a file by pressing the <leftmouse>
|
|
979 button. In addtion, if
|
|
980
|
|
981 *|g:netrw_retmap| == 1 AND (its default value is 0)
|
|
982 * in a netrw-selected file, AND
|
|
983 * the user doesn't already have a <2-leftmouse> mapping defined before
|
|
984 netrw is loaded
|
|
985
|
|
986 then a doubly-clicked leftmouse button will return to the netrw browser
|
|
987 window.
|
|
988
|
|
989 Netrw attempts to speed up browsing, especially for remote browsing where one
|
|
990 may have to enter passwords, by keeping and re-using previously obtained
|
|
991 directory listing buffers. The |g:netrw_fastbrowse| variable is used to
|
|
992 control this behavior; one may have slow browsing (no buffer re-use), medium
|
|
993 speed browsing (re-use directory buffer listings only for remote directories),
|
|
994 and fast browsing (re-use directory buffer listings as often as possible).
|
|
995 The price for such re-use is that when changes are made (such as new files
|
|
996 are introduced into a directory), the listing may become out-of-date. One may
|
|
997 always refresh directory listing buffers by pressing ctrl-L (see
|
|
998 |netrw-ctrl-l|).
|
|
999
|
|
1000
|
|
1001 Related topics: |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
|
|
1002 Associated setting variables: |g:netrw_browse_split| |g:netrw_fastbrowse|
|
|
1003 |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
|
|
1004 |g:netrw_ftp_timelist_cmd| |g:netrw_ssh_cmd|
|
|
1005 |g:netrw_ssh_browse_reject| |g:netrw_use_noswf|
|
|
1006
|
|
1007
|
|
1008 BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o* *netrw-horiz* {{{2
|
|
1009
|
|
1010 Normally one enters a file or directory using the <cr>. However, the "o" map
|
|
1011 allows one to open a new window to hold the new directory listing or file. A
|
|
1012 horizontal split is used. (for vertical splitting, see |netrw-v|)
|
|
1013
|
|
1014 Normally, the o key splits the window horizontally with the new window and
|
|
1015 cursor at the top. To change to splitting the window horizontally with the
|
|
1016 new window and cursor at the bottom, have
|
|
1017
|
|
1018 let g:netrw_alto = 1
|
|
1019
|
|
1020 in your <.vimrc>. (also see |netrw-t| |netrw-v|)
|
|
1021
|
|
1022 There is only one tree listing buffer; using "o" on a displayed subdirectory
|
|
1023 will split the screen, but the same buffer will be shown twice.
|
|
1024
|
|
1025 Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
|
|
1026
|
|
1027
|
|
1028 BROWSING WITH A NEW TAB *netrw-t* {{{2
|
|
1029
|
|
1030 Normally one enters a file or directory using the <cr>. The "t" map
|
|
1031 allows one to open a new window hold the new directory listing or file in a
|
|
1032 new tab. (also see: |netrw-o| |netrw-v|)
|
|
1033
|
|
1034
|
|
1035 BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v* {{{2
|
|
1036
|
|
1037 Normally one enters a file or directory using the <cr>. However, the "v" map
|
|
1038 allows one to open a new window to hold the new directory listing or file. A
|
|
1039 vertical split is used. (for horizontal splitting, see |netrw-o|)
|
|
1040
|
|
1041 Normally, the v key splits the window vertically with the new window and
|
|
1042 cursor at the left. To change to splitting the window vertically with the new
|
|
1043 window and cursor at the right, have
|
|
1044
|
|
1045 let g:netrw_altv = 1
|
|
1046
|
|
1047 in your <.vimrc>. (also see: |netrw-o| |netrw-t|)
|
|
1048
|
|
1049 There is only one tree listing buffer; using "v" on a displayed subdirectory
|
|
1050 will split the screen, but the same buffer will be shown twice.
|
|
1051
|
|
1052 Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
|
|
1053
|
|
1054 CHANGE LISTING STYLE *netrw-i* {{{2
|
519
|
1055
|
1121
|
1056 The "i" map cycles between the thin, long, wide, and tree listing formats.
|
12
|
1057
|
15
|
1058 The short listing format gives just the files' and directories' names.
|
519
|
1059
|
15
|
1060 The long listing is either based on the "ls" command via ssh for remote
|
559
|
1061 directories or displays the filename, file size (in bytes), and the time and
|
|
1062 date of last modification for local directories. With the long listing
|
|
1063 format, netrw is not able to recognize filenames which have trailing spaces.
|
|
1064 Use the thin listing format for such files.
|
519
|
1065
|
1121
|
1066 The wide listing format uses two or more contiguous spaces to delineate
|
|
1067 filenames; when using that format, netrw won't be able to recognize or use
|
|
1068 filenames which have two or more contiguous spaces embedded in the name or any
|
|
1069 trailing spaces. The thin listing format will, however, work with such files.
|
|
1070 This listing format is the most compact.
|
|
1071
|
|
1072 The tree listing format has a top directory followed by files and directories
|
|
1073 preceded by a "|". One may open and close directories by pressing the <cr>
|
|
1074 key while atop the directory name. There is only one tree listing buffer;
|
|
1075 hence, using "v" or "o" on a subdirectory will only show the same buffer,
|
|
1076 twice.
|
15
|
1077
|
1621
|
1078 Associated setting variables: |g:netrw_liststyle| |g:netrw_maxfilenamelen|
|
|
1079 |g:netrw_timefmt| |g:netrw_list_cmd|
|
|
1080
|
|
1081
|
|
1082 CHANGING TO A BOOKMARKED DIRECTORY *netrw-gb* {{{2
|
|
1083
|
|
1084 To change directory back to a bookmarked directory, use
|
|
1085
|
|
1086 {cnt}gb
|
|
1087
|
|
1088 Any count may be used to reference any of the bookmarks. See |netrw-mb| on
|
|
1089 how to bookmark a directory and |netrw-qb| on how to list bookmarks.
|
|
1090
|
|
1091
|
|
1092 CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
36
|
1093
|
|
1094 Every time you change to a new directory (new for the current session),
|
|
1095 netrw will save the directory in a recently-visited directory history
|
1621
|
1096 list (unless g:netrw_dirhistmax is zero; by default, it's ten). With the
|
36
|
1097 "u" map, one can change to an earlier directory (predecessor). To do
|
|
1098 the opposite, see |netrw-U|.
|
|
1099
|
|
1100
|
1621
|
1101 CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir* {{{2
|
36
|
1102
|
|
1103 With the "U" map, one can change to a later directory (successor).
|
|
1104 This map is the opposite of the "u" map. (see |netrw-u|) Use the
|
1621
|
1105 q map to list both the bookmarks and history. (see |netrw-qb|)
|
|
1106
|
|
1107
|
|
1108 NETRW CLEAN *netrw-clean* *:NetrwClean*
|
|
1109
|
|
1110 With :NetrwClean one may easily remove netrw from one's home directory;
|
|
1111 more precisely, from the first directory on your |'runtimepath'|.
|
|
1112
|
|
1113 With :NetrwClean!, netrw will remove netrw from all directories on your
|
|
1114 |'runtimepath'|.
|
|
1115
|
|
1116 With either form of the command, netrw will first ask for confirmation
|
|
1117 that the removal is in fact what you want to do. If netrw doesn't have
|
|
1118 permission to remove a file, it will issue an error message.
|
36
|
1119
|
1121
|
1120 *netrw-gx*
|
1621
|
1121 CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x* *netrw-handler* {{{2
|
1121
|
1122 (also see |netrw_filehandler|)
|
650
|
1123
|
|
1124 Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
|
|
1125 best seen with a special handler (ie. a tool provided with your computer).
|
|
1126 Netrw allows one to invoke such special handlers by: >
|
12
|
1127
|
650
|
1128 * when Exploring, hit the "x" key
|
|
1129 * when editing, hit gx with the cursor atop the special filename
|
1121
|
1130 < (not available if the |g:netrw_nogx| variable exists)
|
|
1131
|
650
|
1132 Netrw determines which special handler by the following method:
|
|
1133
|
|
1134 * if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
|
|
1135 view files. Examples of useful settings (place into your <.vimrc>): >
|
|
1136
|
|
1137 :let g:netrw_browsex_viewer= "kfmclient exec"
|
|
1138 < or >
|
|
1139 :let g:netrw_browsex_viewer= "gnome-open"
|
|
1140 <
|
|
1141 If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
|
|
1142 invoked first (see |netrw_filehandler|).
|
12
|
1143
|
1121
|
1144 * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
|
650
|
1145 * for Gnome (with gnome-open): gnome-open is used.
|
1621
|
1146 * for KDE (with kfmclient) : kfmclient is used.
|
|
1147 * for Mac OS X : open is used.
|
559
|
1148 * otherwise the netrwFileHandler plugin is used.
|
482
|
1149
|
|
1150 The file's suffix is used by these various approaches to determine an
|
559
|
1151 appropriate application to use to "handle" these files. Such things as
|
|
1152 OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript (*.ps,
|
|
1153 *.eps) can be handled.
|
482
|
1154
|
650
|
1155 *netrw_filehandler*
|
1121
|
1156
|
|
1157 The "x" map applies a function to a file, based on its extension. Of course,
|
|
1158 the handler function must exist for it to be called!
|
12
|
1159 >
|
|
1160 Ex. mypgm.html x ->
|
1121
|
1161 NFH_html("scp://user@host/some/path/mypgm.html")
|
12
|
1162 <
|
1121
|
1163 Users may write their own netrw File Handler functions to support more
|
|
1164 suffixes with special handling. See <plugin/netrwFileHandlers.vim> for
|
|
1165 examples on how to make file handler functions. As an example: >
|
12
|
1166
|
1121
|
1167 " NFH_suffix(filename)
|
|
1168 fun! NFH_suffix(filename)
|
|
1169 ..do something special with filename..
|
|
1170 endfun
|
|
1171 <
|
|
1172 These functions need to be defined in some file in your .vim/plugin
|
|
1173 (vimfiles\plugin) directory. Vim's function names may not have punctuation
|
|
1174 characters (except for the underscore) in them. To support suffices that
|
|
1175 contain such characters, netrw will first convert the suffix using the
|
|
1176 following table: >
|
650
|
1177
|
1121
|
1178 @ -> AT ! -> EXCLAMATION % -> PERCENT
|
|
1179 : -> COLON = -> EQUAL ? -> QUESTION
|
|
1180 , -> COMMA - -> MINUS ; -> SEMICOLON
|
|
1181 $ -> DOLLAR + -> PLUS ~ -> TILDE
|
|
1182 <
|
|
1183 So, for example: >
|
650
|
1184
|
1121
|
1185 file.rcs,v -> NFH_rcsCOMMAv()
|
|
1186 <
|
|
1187 If more such translations are necessary, please send me email: >
|
|
1188 NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
|
1189 with a request.
|
482
|
1190
|
1621
|
1191 Associated setting variable: |g:netrw_browsex_viewer|
|
|
1192
|
|
1193 *netrw-curdir*
|
|
1194 DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D* *netrw-del* {{{2
|
|
1195
|
|
1196 If files have not been marked with |netrw-mf|: (local marked file list)
|
|
1197
|
|
1198 Deleting/removing files and directories involves moving the cursor to the
|
|
1199 file/directory to be deleted and pressing "D". Directories must be empty
|
|
1200 first before they can be successfully removed. If the directory is a
|
|
1201 softlink to a directory, then netrw will make two requests to remove the
|
|
1202 directory before succeeding. Netrw will ask for confirmation before doing
|
|
1203 the removal(s). You may select a range of lines with the "V" command
|
|
1204 (visual selection), and then pressing "D".
|
|
1205
|
|
1206 If files have been marked with |netrw-mf|: (local marked file list)
|
|
1207
|
|
1208 Marked files (and empty directories) will be deleted; again, you'll be
|
|
1209 asked to confirm the deletion before it actually takes place.
|
|
1210
|
|
1211 The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
|
1212 used to control the attempts to remove files and directories. The
|
|
1213 g:netrw_rm_cmd is used with files, and its default value is:
|
|
1214
|
|
1215 g:netrw_rm_cmd: ssh HOSTNAME rm
|
|
1216
|
|
1217 The g:netrw_rmdir_cmd variable is used to support the removal of directories.
|
|
1218 Its default value is:
|
|
1219
|
|
1220 g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
|
|
1221
|
|
1222 If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
|
|
1223 to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
|
|
1224
|
|
1225 g:netrw_rmf_cmd: ssh HOSTNAME rm -f
|
|
1226
|
|
1227 Associated setting variable: |g:netrw_local_rmdir| |g:netrw_rm_cmd|
|
|
1228 |g:netrw_rmdir_cmd| |g:netrw_ssh_cmd|
|
|
1229
|
|
1230
|
|
1231 *netrw-explore* *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
|
|
1232 *netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
|
|
1233 DIRECTORY EXPLORATION COMMANDS {{{2
|
|
1234
|
|
1235 :Explore[!] [dir]... Explore directory of current file *:Explore*
|
|
1236 :Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
|
|
1237 :Rexplore ... Return to Explorer *:Rexplore*
|
|
1238 :Sexplore[!] [dir]... Split&Explore directory of current file *:Sexplore*
|
|
1239 :Texplore [dir]... Tab & Explore *:Texplore*
|
|
1240 :Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
|
|
1241
|
|
1242 Used with :Explore **/pattern : (also see |netrw-starstar|)
|
|
1243 :Nexplore............. go to next matching file *:Nexplore*
|
|
1244 :Pexplore............. go to previous matching file *:Pexplore*
|
|
1245
|
|
1246 :Explore will open the local-directory browser on the current file's
|
|
1247 directory (or on directory [dir] if specified). The window will be
|
|
1248 split only if the file has been modified, otherwise the browsing
|
|
1249 window will take over that window. Normally the splitting is taken
|
|
1250 horizontally.
|
|
1251 :Explore! is like :Explore, but will use vertical splitting.
|
|
1252 :Sexplore will always split the window before invoking the local-directory
|
|
1253 browser. As with Explore, the splitting is normally done
|
|
1254 horizontally.
|
|
1255 :Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
|
|
1256 :Hexplore [dir] does an :Explore with |:belowright| horizontal splitting.
|
|
1257 :Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
|
|
1258 :Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
|
|
1259 :Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
|
|
1260 :Texplore [dir] does a tabnew before generating the browser window
|
|
1261
|
|
1262 By default, these commands use the current file's directory. However, one
|
|
1263 may explicitly provide a directory (path) to use.
|
|
1264
|
|
1265 The |g:netrw_winsize| variable also is used, if specified by the user, to
|
|
1266 size Hexplore and Vexplore windows.
|
|
1267
|
|
1268 :Rexplore This command is a little different from the others. When one
|
|
1269 edits a file, for example by pressing <cr> when atop a file in
|
|
1270 a netrw browser window, :Rexplore will return the display to
|
|
1271 that of the last netrw browser window. Its a command version
|
|
1272 of <2-leftmouse> (which is only available under gvim and
|
|
1273 cooperative terms).
|
|
1274
|
|
1275
|
|
1276 *netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
|
|
1277 EXPLORING WITH STARS AND PATTERNS
|
|
1278
|
|
1279 When Explore, Sexplore, Hexplore, or Vexplore are used with one of the
|
|
1280 following four styles, Explore generates a list of files which satisfy
|
|
1281 the request. >
|
|
1282
|
|
1283 */filepat files in current directory which satisfy filepat
|
|
1284 **/filepat files in current directory or below which satisfy the
|
|
1285 file pattern
|
|
1286 *//pattern files in the current directory which contain the
|
|
1287 pattern (vimgrep is used)
|
|
1288 **//pattern files in the current directory or below which contain
|
|
1289 the pattern (vimgrep is used)
|
464
|
1290 <
|
1621
|
1291 The cursor will be placed on the first file in the list. One may then
|
|
1292 continue to go to subsequent files on that list via |:Nexplore| or to
|
|
1293 preceding files on that list with |:Pexplore|. Explore will update the
|
|
1294 directory and place the cursor appropriately.
|
|
1295
|
|
1296 A plain >
|
|
1297 :Explore
|
|
1298 will clear the explore list.
|
|
1299
|
|
1300 If your console or gui produces recognizable shift-up or shift-down sequences,
|
|
1301 then you'll likely find using shift-downarrow and shift-uparrow convenient.
|
|
1302 They're mapped by netrw:
|
|
1303
|
|
1304 <s-down> == Nexplore, and
|
|
1305 <s-up> == Pexplore.
|
|
1306
|
|
1307 As an example, consider
|
|
1308 >
|
|
1309 :Explore */*.c
|
|
1310 :Nexplore
|
|
1311 :Nexplore
|
|
1312 :Pexplore
|
|
1313 <
|
|
1314 The status line will show, on the right hand side of the status line, a
|
|
1315 message like "Match 3 of 20".
|
|
1316
|
|
1317 Associated setting variables: |g:netrw_keepdir| |g:netrw_browse_split|
|
|
1318 |g:netrw_fastbrowse| |g:netrw_ftp_browse_reject|
|
|
1319 |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
|
|
1320 |g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
|
|
1321 |g:netrw_liststyle|
|
|
1322
|
|
1323
|
|
1324 DISPLAYING INFORMATION ABOUT FILE *netrw-qf* {{{2
|
|
1325
|
|
1326 With the cursor atop a filename, pressing "qf" will reveal the file's size
|
|
1327 and last modification timestamp. Currently this capability is only available
|
|
1328 for local files.
|
|
1329
|
|
1330
|
|
1331 EDIT FILE OR DIRECTORY HIDING LIST *netrw-ctrl-h* *netrw-edithide* {{{2
|
|
1332
|
|
1333 The "<ctrl-h>" map brings up a requestor allowing the user to change the
|
|
1334 file/directory hiding list contained in |g:netrw_list_hide|. The hiding list
|
|
1335 consists of one or more patterns delimited by commas. Files and/or
|
|
1336 directories satisfying these patterns will either be hidden (ie. not shown) or
|
|
1337 be the only ones displayed (see |netrw-a|).
|
|
1338
|
|
1339 The "gh" mapping (see |netrw-gh|) quickly alternates between the usual
|
|
1340 hiding list and the hiding of files or directories that begin with ".".
|
|
1341
|
|
1342 Associated setting variables: |g:netrw_hide| |g:netrw_list_hide|
|
|
1343 Associated topics: |netrw-a| |netrw-gh| |netrw-mh|
|
|
1344
|
|
1345
|
|
1346 EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence* {{{2
|
|
1347
|
|
1348 When "Sorted by" is name, one may specify priority via the sorting sequence
|
|
1349 (g:netrw_sort_sequence). The sorting sequence typically prioritizes the
|
|
1350 name-listing by suffix, although any pattern will do. Patterns are delimited
|
|
1351 by commas. The default sorting sequence is (all one line):
|
|
1352 >
|
|
1353 '[\/]$,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,
|
|
1354 \.swp$,\.bak$,\~$'
|
|
1355 <
|
|
1356 The lone * is where all filenames not covered by one of the other patterns
|
|
1357 will end up. One may change the sorting sequence by modifying the
|
|
1358 g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
|
|
1359 using the "S" map.
|
|
1360
|
1668
|
1361 Related topics: |netrw-s| |netrw-S|
|
|
1362 Associated setting variables: |g:netrw_sort_sequence| |g:netrw_sort_options|
|
1621
|
1363
|
|
1364
|
|
1365 GOING UP *netrw--* {{{2
|
|
1366
|
|
1367 To go up a directory, press "-" or press the <cr> when atop the ../ directory
|
|
1368 entry in the listing.
|
|
1369
|
|
1370 Netrw will use the command in |g:netrw_list_cmd| to perform the directory
|
|
1371 listing operation after changing HOSTNAME to the host specified by the
|
|
1372 user-provided url. By default netrw provides the command as:
|
|
1373
|
|
1374 ssh HOSTNAME ls -FLa
|
|
1375
|
|
1376 where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
|
|
1377 read. Naturally, the user may override this command with whatever is
|
|
1378 preferred. The NetList function which implements remote browsing
|
|
1379 expects that directories will be flagged by a trailing slash.
|
|
1380
|
|
1381
|
|
1382 HIDING FILES OR DIRECTORIES *netrw-a* *netrw-hiding* {{{2
|
|
1383
|
|
1384 Netrw's browsing facility allows one to use the hiding list in one of three
|
|
1385 ways: ignore it, hide files which match, and show only those files which
|
|
1386 match.
|
|
1387
|
|
1388 If no files have been marked via |netrw-mf|:
|
|
1389
|
|
1390 The "a" map allows the user to cycle through the three hiding modes.
|
|
1391
|
|
1392 The |g:netrw_list_hide| variable holds a comma delimited list of patterns
|
|
1393 based on regular expressions (ex. ^.*\.obj$,^\.) which specify the hiding list.
|
|
1394 (also see |netrw-ctrl-h|) To set the hiding list, use the <c-h> map. As an
|
|
1395 example, to hide files which begin with a ".", one may use the <c-h> map to
|
|
1396 set the hiding list to '^\..*' (or one may put let g:netrw_list_hide= '^\..*'
|
|
1397 in one's <.vimrc>). One may then use the "a" key to show all files, hide
|
|
1398 matching files, or to show only the matching files.
|
|
1399
|
|
1400 Example: \.[ch]$
|
|
1401 This hiding list command will hide/show all *.c and *.h files.
|
|
1402
|
|
1403 Example: \.c$,\.h$
|
|
1404 This hiding list command will also hide/show all *.c and *.h
|
|
1405 files.
|
|
1406
|
|
1407 Don't forget to use the "a" map to select the mode (normal/hiding/show) you
|
|
1408 want!
|
|
1409
|
|
1410 If files have been marked using |netrw-mf|, then this command will:
|
|
1411
|
|
1412 if showing all files or non-hidden files:
|
|
1413 modify the g:netrw_list_hide list by appending the marked files to it
|
|
1414 and showing only non-hidden files.
|
|
1415
|
|
1416 else if showing hidden files only:
|
|
1417 modify the g:netrw_list_hide list by removing the marked files from it
|
|
1418 and showing only non-hidden files.
|
|
1419 endif
|
|
1420
|
|
1421 *netrw-gh* *netrw-hide*
|
|
1422 As a quick shortcut, one may press >
|
|
1423 gh
|
|
1424 to toggle between hiding files which begin with a period (dot) and not hiding
|
|
1425 them.
|
|
1426
|
|
1427 Associated setting variable: |g:netrw_list_hide|
|
|
1428 Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
|
|
1429
|
|
1430 IMPROVING BROWSING *netrw-listhack* *netrw-ssh-hack* {{{2
|
12
|
1431
|
|
1432 Especially with the remote directory browser, constantly entering the password
|
|
1433 is tedious.
|
|
1434
|
1121
|
1435 For Linux/Unix systems, the book "Linux Server Hacks - 100 industrial strength
|
1209
|
1436 tips & tools" by Rob Flickenger (O'Reilly, ISBN 0-596-00461-3) gives a tip
|
|
1437 for setting up no-password ssh and scp and discusses associated security
|
1121
|
1438 issues. It used to be available at http://hacks.oreilly.com/pub/h/66 ,
|
|
1439 but apparently that address is now being redirected to some "hackzine".
|
1698
|
1440 I'll attempt a summary based on that article and on a communication from
|
|
1441 Ben Schmidt:
|
|
1442
|
|
1443 1. Generate a public/private key pair on the local machine
|
|
1444 (ssh client): >
|
|
1445 ssh-keygen -t rsa
|
|
1446 (saving the file in ~/.ssh/id_rsa as prompted)
|
|
1447 <
|
|
1448 2. Just hit the <CR> when asked for passphrase (twice) for no
|
|
1449 passphrase. If you do use a passphrase, you will also need to use
|
|
1450 ssh-agent so you only have to type the passphrase once per session.
|
|
1451 If you don't use a passphrase, simply logging onto your local
|
|
1452 computer or getting access to the keyfile in any way will suffice
|
|
1453 to access any ssh servers which have that key authorized for login.
|
|
1454
|
|
1455 3. This creates two files: >
|
|
1456 ~/.ssh/id_rsa
|
|
1457 ~/.ssh/id_rsa.pub
|
|
1458 <
|
|
1459 4. On the target machine (ssh server): >
|
|
1460 cd
|
|
1461 mkdir -p .ssh
|
|
1462 chmod 0700 .ssh
|
|
1463 <
|
|
1464 5. On your local machine (ssh client): (one line) >
|
|
1465 ssh {serverhostname}
|
|
1466 cat '>>' '~/.ssh/authorized_keys2' < ~/.ssh/id_rsa.pub
|
|
1467 <
|
|
1468 or, for OpenSSH, (one line) >
|
|
1469 ssh {serverhostname}
|
|
1470 cat '>>' '~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub
|
|
1471 <
|
|
1472 You can test it out with >
|
|
1473 ssh {serverhostname}
|
|
1474 and you should be log onto the server machine without further need to type
|
|
1475 anything.
|
|
1476
|
|
1477 If you decided to use a passphrase, do: >
|
|
1478 ssh-agent $SHELL
|
|
1479 ssh-add
|
|
1480 ssh {serverhostname}
|
|
1481 You will be prompted for your key passphrase when you use ssh-add, but not
|
|
1482 subsequently when you use ssh. For use with vim, you can use >
|
|
1483 ssh-agent vim
|
|
1484 and, when next within vim, use >
|
|
1485 :!ssh-add
|
|
1486 Alternatively, you can apply ssh-agent to the terminal you're planning on
|
|
1487 running vim in: >
|
|
1488 ssh-agent xterm &
|
|
1489 and do ssh-add whenever you need.
|
9
|
1490
|
1121
|
1491 For Windows, folks on the vim mailing list have mentioned that Pageant helps
|
|
1492 with avoiding the constant need to enter the password.
|
794
|
1493
|
1621
|
1494 Kingston Fung wrote about another way to avoid constantly needing to enter
|
|
1495 passwords:
|
|
1496
|
|
1497 In order to avoid the need to type in the password for scp each time, you
|
|
1498 provide a hack in the docs to set up a non password ssh account. I found a
|
|
1499 better way to do that: I can use a regular ssh account which uses a
|
|
1500 password to access the material without the need to key-in the password
|
|
1501 each time. It's good for security and convenience. I tried ssh public key
|
|
1502 authorization + ssh-agent, implementing this, and it works! Here are two
|
|
1503 links with instructions:
|
|
1504
|
|
1505 http://www.ibm.com/developerworks/library/l-keyc2/
|
|
1506 http://sial.org/howto/openssh/publickey-auth/
|
|
1507
|
|
1508
|
|
1509 LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2
|
|
1510
|
|
1511 Pressing "qb" (query bookmarks) will list the bookmarked directories and
|
|
1512 directory traversal history (query).
|
|
1513
|
|
1514 (see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
|
|
1515
|
|
1516
|
|
1517 MAKING A NEW DIRECTORY *netrw-d* {{{2
|
|
1518
|
|
1519 With the "d" map one may make a new directory either remotely (which depends
|
|
1520 on the global variable g:netrw_mkdir_cmd) or locally (which depends on the
|
|
1521 global variable g:netrw_local_mkdir). Netrw will issue a request for the new
|
|
1522 directory's name. A bare <CR> at that point will abort the making of the
|
|
1523 directory. Attempts to make a local directory that already exists (as either
|
|
1524 a file or a directory) will be detected, reported on, and ignored.
|
|
1525
|
|
1526 Currently, making a directory via ftp is not supported.
|
|
1527
|
|
1528 Associated setting variable: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
|
|
1529
|
|
1530
|
|
1531 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
|
1532
|
|
1533 By default, |g:netrw_keepdir| is 1. This setting means that the current
|
|
1534 directory will not track the browsing directory.
|
|
1535
|
|
1536 Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
|
|
1537 track netrw's browsing directory.
|
|
1538
|
|
1539 However, given the default setting for g:netrw_keepdir of 1 where netrw
|
|
1540 maintains its own separate notion of the current directory, in order to make
|
|
1541 the two directories the same, use the "c" map (just type c). That map will
|
|
1542 set Vim's notion of the current directory to netrw's current browsing
|
|
1543 directory.
|
|
1544
|
|
1545 Associated setting variable: |g:netrw_keepdir|
|
|
1546
|
|
1547 MARKING FILES *netrw-mf* {{{2
|
|
1548 (also see |netrw-mr|)
|
|
1549
|
|
1550 One may mark files with the cursor atop a filename and then pressing "mf".
|
|
1551 With gvim, one may also mark files with <s-leftmouse>. The following netrw
|
|
1552 maps make use of marked files:
|
|
1553
|
|
1554 |netrw-a| Hide marked files/directories
|
|
1555 |netrw-D| Delete marked files/directories
|
|
1556 |netrw-mc| Copy marked files to target
|
|
1557 |netrw-md| Apply vimdiff to marked files
|
|
1558 |netrw-me| Edit marked files
|
|
1559 |netrw-mg| Apply vimgrep to marked files
|
|
1560 |netrw-mm| Move marked files
|
|
1561 |netrw-mp| Print marked files
|
|
1562 |netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
|
1563 |netrw-mT| Generate tags using marked files
|
|
1564 |netrw-mx| Apply shell command to marked files
|
|
1565 |netrw-mz| Compress/Decompress marked files
|
|
1566 |netrw-O| Obtain marked files
|
|
1567 |netrw-R| Rename marked files
|
|
1568
|
|
1569 One may unmark files one at a time the same way one marks them; ie. place
|
|
1570 the cursor atop a marked file and press "mf". This process also works
|
|
1571 with <s-leftmouse> using gvim. One may unmark all files by pressing
|
|
1572 "mu" (see |netrw-mu|).
|
|
1573
|
|
1574 *markfilelist* *global_markfilelist* *local_markfilelist*
|
|
1575 All marked files are entered onto the global marked file list; there is only
|
|
1576 one such list. In addition, every netrw buffer also has its own local marked
|
|
1577 file list; since netrw buffers are associated with specific directories, this
|
|
1578 means that each directory has its own local marked file list. The various
|
|
1579 commands which operate on marked files use one or the other of the marked file
|
|
1580 lists.
|
|
1581
|
|
1582
|
|
1583 MARKING FILES BY REGULAR EXPRESSION *netrw-mr* {{{2
|
|
1584 (also see |netrw-mf|)
|
|
1585
|
|
1586 One may also mark files by pressing "mr"; netrw will then issue a prompt,
|
|
1587 "Enter regexp: ". You may then enter a regular expression such as \.c$ .
|
|
1588 All files in the current directory will then be marked. Note that the
|
|
1589 regular expressions are vim-style |regexp| ones, not shell ones. So
|
|
1590 entering *.c probably isn't what you want!
|
|
1591
|
|
1592
|
|
1593 MARKED FILES: ARBITRARY COMMAND *netrw-mx* {{{2
|
|
1594 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1595 (uses the local marked-file list)
|
|
1596
|
|
1597 Upon activation of the "mx" map, netrw will query the user for some (external)
|
|
1598 command to be applied to all marked files. All "%"s in the command will be
|
|
1599 substituted with the name of each marked file in turn. If no "%"s are in the
|
|
1600 command, then the command will be followed by a space and a marked filename.
|
|
1601
|
|
1602
|
|
1603 MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
|
1604 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1605 (uses the local marked file list)
|
|
1606
|
|
1607 If any marked files are compressed, then "mz" will decompress them.
|
|
1608 If any marked files are decompressed, then "mz" will compress them
|
|
1609 using the command specified by |g:netrw_compress|; by default,
|
|
1610 that's "gzip".
|
|
1611
|
|
1612 For decompression, netrw provides a |Dictionary| of suffices and their
|
|
1613 associated decompressing utilities; see |g:netrw_decompress|.
|
|
1614
|
|
1615 Associated setting variables: |g:netrw_compress| |g:netrw_decompress|
|
|
1616
|
|
1617 MARKED FILES: COPYING *netrw-mc* {{{2
|
|
1618 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1619 (Uses the global marked file list)
|
|
1620
|
|
1621 Select a target directory with mt (|netrw-mt|). Then change directory,
|
|
1622 select file(s) (see |netrw-mf|), and press "mc".
|
|
1623
|
|
1624 Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
|
|
1625
|
|
1626 MARKED FILES: DIFF *netrw-md* {{{2
|
|
1627 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1628 (uses the global marked file list)
|
|
1629
|
|
1630 Use |vimdiff| to visualize difference between selected files (two or
|
|
1631 three may be selected for this). Uses the global marked file list.
|
|
1632
|
|
1633 MARKED FILES: EDITING *netrw-me* {{{2
|
|
1634 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1635 (uses the global marked file list)
|
|
1636
|
|
1637 This command will place the marked files on the |arglist| and commence
|
|
1638 editing them. One may return the to explorer window with |:Rexplore|.
|
|
1639
|
|
1640 MARKED FILES: GREP *netrw-mg* {{{2
|
|
1641 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1642 (uses the global marked file list)
|
|
1643
|
|
1644 This command will apply |:vimgrep| to the marked files. The command will ask
|
|
1645 for the requested pattern; one may enter: >
|
|
1646 /pattern/[g][j]
|
|
1647 ! /pattern/[g][j]
|
|
1648 pattern
|
|
1649 <
|
|
1650 MARKED FILES: HIDING AND UNHIDING BY SUFFIX *netrw-mh* {{{2
|
|
1651 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1652 (uses the local marked file list)
|
|
1653
|
|
1654 This command extracts the suffices of the marked files and toggles their
|
|
1655 presence on the hiding list. Please note that marking the same suffix
|
|
1656 this way multiple times will result in the suffix's presence being toggled
|
|
1657 for each file (so an even quantity of marked files having the same suffix
|
|
1658 is the same as not having bothered to select them at all).
|
|
1659
|
|
1660 Related topics: |netrw-a| |g:netrw_list_hide|
|
|
1661
|
|
1662 MARKED FILES: MOVING *netrw-mm* {{{2
|
|
1663 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1664 (uses the global marked file list)
|
|
1665
|
1698
|
1666 WARNING: moving files is more dangerous than copying them.
|
|
1667 A file being moved is first copied and then deleted; if the
|
|
1668 copy operation fails and the delete succeeds, you will lose
|
|
1669 the file. Either try things out with unimportant files
|
|
1670 first or do the copy and then delete yourself using mc and D.
|
|
1671 Use at your own risk!
|
|
1672
|
1621
|
1673 Select a target directory with mT (|netrw-mt|). Then change directory,
|
|
1674 select file(s) (see |netrw-mf|), and press "mm".
|
|
1675
|
|
1676 Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
|
|
1677
|
|
1678 MARKED FILES: PRINTING *netrw-mp* {{{2
|
|
1679 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1680 (uses the local marked file list)
|
|
1681
|
|
1682 Netrw will apply the |:hardcopy| command to marked files. What it does
|
|
1683 is open each file in a one-line window, execute hardcopy, then close the
|
|
1684 one-line window.
|
|
1685
|
|
1686
|
|
1687 MARKED FILES: SOURCING *netrw-ms* {{{2
|
|
1688 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1689 (uses the local marked file list)
|
|
1690
|
|
1691 Netrw will source the marked files (using vim's |:source| command)
|
|
1692
|
|
1693
|
|
1694 MARKED FILES: TAGGING *netrw-mT* {{{2
|
|
1695 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1696 (uses the global marked file list)
|
|
1697
|
1668
|
1698 The "mt" mapping will apply the command in |g:netrw_ctags| (by default, its
|
1621
|
1699 "ctags") to marked files. For remote browsing, in order to create a tags file
|
|
1700 netrw will use ssh (see |g:netrw_ssh_cmd|), and so ssh must be available for
|
|
1701 this to work on remote systems. For your local system, see |ctags| on how to
|
|
1702 get a version. I myself use hdrtags, currently available at
|
|
1703 http://mysite.verizon.net/astronaut/src/index.html , and have >
|
|
1704
|
|
1705 let g:netrw_ctags= "hdrtag"
|
|
1706 <
|
|
1707 in my <.vimrc>.
|
|
1708
|
|
1709 When a remote set of files are tagged, the resulting tags file is "obtained";
|
|
1710 ie. a copy is transferred to the local system's directory. The local tags
|
|
1711 file is then modified so that one may use it through the network. The
|
|
1712 modification is concerns the names of the files in the tags; each filename is
|
|
1713 preceded by the netrw-compatible url used to obtain it. When one subsequently
|
|
1714 uses one of the go to tag actions (|tags|), the url will be used by netrw to
|
|
1715 edit the desired file and go to the tag.
|
|
1716
|
1668
|
1717 Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
1621
|
1718
|
|
1719
|
|
1720 MARKED FILES: SETTING THE TARGET DIRECTORY *netrw-mt* {{{2
|
|
1721 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1722
|
|
1723 Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
|
1724
|
|
1725 * if the cursor is atop a file name, then the netrw window's currently
|
|
1726 displayed directory is used for the copy/move-to target.
|
|
1727
|
|
1728 * also, if the cursor is in the banner, then the netrw window's currently
|
|
1729 displayed directory is used for the copy/move-to target.
|
|
1730
|
|
1731 * however, if the cursor is atop a directory name, then that directory is
|
|
1732 used for the copy/move-to target
|
|
1733
|
|
1734 There is only one copy/move-to target per vim session; ie. the target is a
|
|
1735 script variable (see |s:var|) and is shared between all netrw windows (in an
|
|
1736 instance of vim).
|
|
1737
|
|
1738 MARKED FILES: UNMARKING *netrw-mu* {{{2
|
|
1739 (See |netrw-mf| and |netrw-mr| for how to mark files)
|
|
1740
|
|
1741 The "mu" mapping will unmark all currently marked files.
|
|
1742
|
|
1743
|
|
1744 NETRW BROWSER VARIABLES *netrw-browser-options* *netrw-browser-var* {{{2
|
|
1745
|
|
1746 (if you're interestd in the netrw file transfer settings, see |netrw-options|)
|
|
1747
|
|
1748 The <netrw.vim> browser provides settings in the form of variables which
|
|
1749 you may modify; by placing these settings in your <.vimrc>, you may customize
|
|
1750 your browsing preferences. (see also: |netrw-settings|)
|
|
1751 >
|
|
1752 --- -----------
|
|
1753 Var Explanation
|
|
1754 --- -----------
|
|
1755 < *g:netrw_alto* change from above splitting to below splitting
|
|
1756 by setting this variable (see |netrw-o|)
|
|
1757 default: =&sb (see |'sb'|)
|
|
1758
|
|
1759 *g:netrw_altv* change from left splitting to right splitting
|
|
1760 by setting this variable (see |netrw-v|)
|
|
1761 default: =&spr (see |'spr'|)
|
|
1762
|
|
1763 *g:netrw_browse_split* when browsing, <cr> will open the file by:
|
|
1764 =0: re-using the same window
|
|
1765 =1: horizontally splitting the window first
|
|
1766 =2: vertically splitting the window first
|
|
1767 =3: open file in new tab
|
|
1768 =4: act like "P" (ie. open previous window)
|
|
1769
|
|
1770 *g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
|
1771 "kfmclient exec"
|
|
1772 "gnome-open"
|
|
1773 < If >
|
|
1774 "-"
|
|
1775 < is used, then netrwFileHandler() will look for
|
|
1776 a script/function to handle the given
|
|
1777 extension. (see |netrw_filehandler|).
|
|
1778
|
|
1779 *g:netrw_compress* ="gzip"
|
|
1780 Will compress marked files with this
|
|
1781 command
|
|
1782
|
1668
|
1783 *g:netrw_ctags* ="ctags"
|
|
1784 The default external program used to create tags
|
|
1785
|
1621
|
1786 *g:netrw_decompress* = { ".gz" : "gunzip" ,
|
|
1787 ".bz2" : "bunzip2" ,
|
|
1788 ".zip" : "unzip" ,
|
|
1789 ".tar" : "tar -xf"}
|
|
1790 A dictionary mapping suffices to
|
|
1791 decompression programs.
|
|
1792
|
|
1793 *g:netrw_fastbrowse* =0: slow speed directory browsing;
|
|
1794 never re-uses directory listings,
|
|
1795 always obtains directory listings.
|
|
1796 =1: medium speed directory browsing;
|
|
1797 re-use directory listings only
|
|
1798 when remote directory browsing.
|
|
1799 (default value)
|
|
1800 =2: fast directory browsing;
|
|
1801 only obtains directory listings when the
|
|
1802 directory hasn't been seen before
|
|
1803 (or |netrw-ctrl-l| is used).
|
|
1804
|
|
1805 Fast browsing retains old directory listing
|
|
1806 buffers so that they don't need to be
|
|
1807 re-acquired. This feature is especially
|
|
1808 important for remote browsing. However, if
|
|
1809 a file is introduced or deleted into or from
|
|
1810 such directories, the old directory buffer
|
|
1811 becomes out-of-date. One may always refresh
|
|
1812 such a directory listing with |netrw-ctrl-l|.
|
|
1813 This option gives the user the choice of
|
|
1814 trading off accuracy (ie. up-to-date listing)
|
|
1815 versus speed.
|
|
1816
|
|
1817 *g:netrw_fname_escape* =' ?&;%'
|
|
1818 Used on filenames before remote reading/writing
|
|
1819
|
|
1820 *g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
|
|
1821 that can show up as "directories" and "files"
|
|
1822 in the listing. This pattern is used to
|
|
1823 remove such embedded messages. By default its
|
|
1824 value is:
|
|
1825 '^total\s\+\d\+$\|
|
|
1826 ^Trying\s\+\d\+.*$\|
|
|
1827 ^KERBEROS_V\d rejected\|
|
|
1828 ^Security extensions not\|
|
|
1829 No such file\|
|
|
1830 : connect to address [0-9a-fA-F:]*
|
|
1831 : No route to host$'
|
|
1832
|
|
1833 *g:netrw_ftp_list_cmd* options for passing along to ftp for directory
|
|
1834 listing. Defaults:
|
|
1835 unix or g:netrw_cygwin set: : "ls -lF"
|
|
1836 otherwise "dir"
|
|
1837
|
|
1838
|
|
1839 *g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
|
|
1840 listing, sorted by size of file.
|
|
1841 Defaults:
|
|
1842 unix or g:netrw_cygwin set: : "ls -slF"
|
|
1843 otherwise "dir"
|
|
1844
|
|
1845 *g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
|
|
1846 listing, sorted by time of last modification.
|
|
1847 Defaults:
|
|
1848 unix or g:netrw_cygwin set: : "ls -tlF"
|
|
1849 otherwise "dir"
|
|
1850
|
|
1851 *g:netrw_glob_escape* ='[]*?`{~$'
|
|
1852 These characters in directory names are
|
|
1853 escaped before applying glob()
|
|
1854
|
|
1855 *g:netrw_hide* if true, the hiding list is used
|
|
1856 default: =0
|
|
1857
|
|
1858 *g:netrw_keepdir* =1 (default) keep current directory immune from
|
|
1859 the browsing directory.
|
|
1860 =0 keep the current directory the same as the
|
|
1861 browsing directory.
|
|
1862 The current browsing directory is contained in
|
|
1863 b:netrw_curdir (also see |netrw-c|)
|
|
1864
|
|
1865 *g:netrw_list_cmd* command for listing remote directories
|
|
1866 default: (if ssh is executable)
|
|
1867 "ssh HOSTNAME ls -FLa"
|
|
1868
|
|
1869 *g:netrw_liststyle* Set the default listing style:
|
|
1870 = 0: thin listing (one file per line)
|
|
1871 = 1: long listing (one file per line with time
|
|
1872 stamp information and file size)
|
|
1873 = 2: wide listing (multiple files in columns)
|
|
1874 = 3: tree style listing
|
|
1875 *g:netrw_list_hide* comma separated pattern list for hiding files
|
|
1876 Patterns are regular expressions (see |regexp|)
|
|
1877 Example: let g:netrw_list_hide= '.*\.swp$'
|
|
1878 default: ""
|
|
1879
|
|
1880 *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
|
1881 ="copy" Windows
|
|
1882 Copies marked files (|netrw-mf|) to target
|
|
1883 directory (|netrw-mt|, |netrw-mc|)
|
|
1884
|
|
1885 *g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
|
1886 ="move" Windows
|
|
1887 Moves marked files (|netrw-mf|) to target
|
|
1888 directory (|netrw-mt|, |netrw-mm|)
|
|
1889
|
|
1890 *g:netrw_local_mkdir* command for making a local directory
|
|
1891 default: "mkdir"
|
|
1892
|
|
1893 *g:netrw_local_rmdir* remove directory command (rmdir)
|
|
1894 default: "rmdir"
|
|
1895
|
|
1896 *g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
|
1897 listings fit on 80 column displays.
|
|
1898 If your screen is wider, and you have file
|
|
1899 or directory names longer than 32 bytes,
|
|
1900 you may set this option to keep listings
|
|
1901 columnar.
|
|
1902
|
|
1903 *g:netrw_mkdir_cmd* command for making a remote directory
|
|
1904 default: "ssh USEPORT HOSTNAME mkdir"
|
|
1905
|
|
1906 *g:netrw_retmap* if it exists and is set to one, then
|
|
1907 <2-leftmouse> will be mapped for easy
|
|
1908 return to the netrw browser window.
|
|
1909 (example: click once to select and open
|
|
1910 a file, double-click to return)
|
|
1911 default: =0
|
|
1912
|
|
1913 *g:netrw_rm_cmd* command for removing files
|
|
1914 default: "ssh USEPORT HOSTNAME rm"
|
|
1915
|
|
1916 *g:netrw_rmdir_cmd* command for removing directories
|
|
1917 default: "ssh USEPORT HOSTNAME rmdir"
|
|
1918
|
|
1919 *g:netrw_rmf_cmd* command for removing softlinks
|
|
1920 default: "ssh USEPORT HOSTNAME rm -f"
|
|
1921
|
|
1922 *g:netrw_sort_by* sort by "name", "time", or "size"
|
|
1923 default: "name"
|
|
1924
|
|
1925 *g:netrw_sort_direction* sorting direction: "normal" or "reverse"
|
|
1926 default: "normal"
|
|
1927
|
1668
|
1928 *g:netrw_sort_options* sorting is done using |:sort|; this
|
|
1929 variable's value is appended to the
|
|
1930 sort command. Thus one may ignore case,
|
|
1931 for example, with the following in your
|
|
1932 .vimrc: >
|
|
1933 let g:netrw_sort_options="i"
|
|
1934 < default: ""
|
|
1935
|
1621
|
1936 *g:netrw_sort_sequence* when sorting by name, first sort by the
|
|
1937 comma-separated pattern sequence
|
|
1938 default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
|
1939 \.info$,\.swp$,\.obj$'
|
|
1940
|
|
1941 *g:netrw_special_syntax* If true, then certain files will be shown
|
|
1942 in special syntax in the browser:
|
|
1943
|
|
1944 netrwBak : *.bak
|
|
1945 netrwCompress: *.gz *.bz2 *.Z *.zip
|
|
1946 netrwData : *.dat
|
|
1947 netrwHdr : *.h
|
|
1948 netrwLib : *.a *.so *.lib *.dll
|
|
1949 netrwMakefile: [mM]akefile *.mak
|
|
1950 netrwObj : *.o *.obj
|
|
1951 netrwTags : tags ANmenu ANtags
|
|
1952 netrwTilde : *~
|
|
1953 netrwTmp : tmp* *tmp
|
|
1954
|
|
1955 These syntax highlighting groups are linked
|
|
1956 to Folded or DiffChange by default
|
|
1957 (see |hl-Folded| and |hl-DiffChange|), but
|
|
1958 one may put lines like >
|
|
1959 hi link netrwCompress Visual
|
|
1960 < into one's <.vimrc> to use one's own
|
|
1961 preferences.
|
|
1962
|
|
1963 *g:netrw_ssh_cmd* One may specify an executable command
|
|
1964 to use instead of ssh for remote actions
|
|
1965 such as listing, file removal, etc.
|
|
1966 default: ssh
|
|
1967
|
|
1968 *g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
|
1969 messages, banners, and whatnot that one doesn't
|
|
1970 want masquerading as "directories" and "files".
|
|
1971 Use this pattern to remove such embedded
|
|
1972 messages. By default its value is:
|
|
1973 '^total\s\+\d\+$'
|
|
1974
|
|
1975
|
|
1976 *g:netrw_tmpfile_escape* =' &;'
|
|
1977 escape() is applied to all temporary files
|
|
1978 to escape these characters.
|
|
1979
|
|
1980 *g:netrw_timefmt* specify format string to vim's strftime().
|
|
1981 The default, "%c", is "the preferred date
|
|
1982 and time representation for the current
|
|
1983 locale" according to my manpage entry for
|
|
1984 strftime(); however, not all are satisfied
|
|
1985 with it. Some alternatives:
|
|
1986 "%a %d %b %Y %T",
|
|
1987 " %a %Y-%m-%d %I-%M-%S %p"
|
|
1988 default: "%c"
|
|
1989
|
|
1990 *g:netrw_use_noswf* netrw normally avoids writing swapfiles
|
|
1991 for browser buffers. However, under some
|
|
1992 systems this apparently is causing nasty
|
|
1993 ml_get errors to appear; if you're getting
|
|
1994 ml_get errors, try putting
|
|
1995 let g:netrw_use_noswf= 0
|
|
1996 in your .vimrc.
|
|
1997
|
|
1998 *g:netrw_winsize* specify initial size of new windows made with
|
|
1999 "o" (see |netrw-o|), "v" (see |netrw-v|),
|
|
2000 |:Hexplore| or |:Vexplore|.
|
|
2001 default: ""
|
|
2002
|
|
2003 *g:netrw_xstrlen* Controls how netrw computes a string
|
|
2004 including multi-byte characters' string
|
|
2005 length. (thanks to N Weibull, T Mechelynck)
|
|
2006 =0: uses Vim's built-in strlen()
|
|
2007 =1: number of codepoints (Latin + a combining
|
|
2008 circumflex is two codepoints) (DEFAULT)
|
|
2009 =2: number of spacing codepoints (Latin a +
|
|
2010 combining circumflex is one spacing
|
|
2011 codepoint; a hard tab is one; wide and
|
|
2012 narrow CJK are one each; etc.)
|
|
2013 =3: virtual length (counting tabs as anything
|
|
2014 between 1 and |'tabstop'|, wide CJJK as 2
|
|
2015 rather than 1, Arabic alif as zero when
|
|
2016 immediately preceded by lam, one
|
|
2017 otherwise, etc)
|
|
2018
|
|
2019 *g:NetrwTopLvlMenu* This variable specifies the top level
|
|
2020 menu name; by default, it's "Netrw.". If
|
|
2021 you wish to change this, do so in your
|
|
2022 .vimrc.
|
|
2023
|
|
2024 NETRW BROWSING AND OPTION INCOMPATIBILITIES *netrw-incompatible* {{{2
|
|
2025
|
|
2026 Netrw has been designed to handle user options by saving them, setting the
|
|
2027 options to something that's compatible with netrw's needs, and then restoring
|
|
2028 them. However, the autochdir option: >
|
|
2029 :set acd
|
|
2030 is problematical. Autochdir sets the current directory to that containing the
|
|
2031 file you edit; this apparently also applies to directories. In other words,
|
|
2032 autochdir sets the current directory to that containing the "file" (even if
|
|
2033 that "file" is itself a directory).
|
|
2034
|
|
2035 NETRW SETTINGS *netrw-settings* {{{2
|
482
|
2036
|
|
2037 With the NetrwSettings.vim plugin, >
|
|
2038 :NetrwSettings
|
|
2039 will bring up a window with the many variables that netrw uses for its
|
559
|
2040 settings. You may change any of their values; when you save the file, the
|
|
2041 settings therein will be used. One may also press "?" on any of the lines for
|
|
2042 help on what each of the variables do.
|
482
|
2043
|
1621
|
2044 (also see: |netrw-browser-var| |netrw-protocol| |netrw-var| |netrw-variables|)
|
1121
|
2045
|
482
|
2046
|
9
|
2047 ==============================================================================
|
1621
|
2048 OBTAINING A FILE *netrw-O* {{{2
|
|
2049
|
|
2050 If there are no marked files:
|
|
2051
|
|
2052 When browsing a remote directory, one may obtain a file under the cursor
|
|
2053 (ie. get a copy on your local machine, but not edit it) by pressing the O
|
|
2054 key.
|
|
2055
|
|
2056 If there are marked files:
|
|
2057
|
|
2058 The marked files will be obtained (ie. a copy will be transferred to your
|
|
2059 local machine, but not set up for editing).
|
|
2060
|
|
2061 Only ftp and scp are supported for this operation (but since these two are
|
|
2062 available for browsing, that shouldn't be a problem). The status bar will
|
|
2063 then show, on its right hand side, a message like "Obtaining filename". The
|
|
2064 statusline will be restored after the transfer is complete.
|
|
2065
|
|
2066 Netrw can also "obtain" a file using the local browser. Netrw's display
|
|
2067 of a directory is not necessarily the same as Vim's "current directory",
|
|
2068 unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>. One may select
|
|
2069 a file using the local browser (by putting the cursor on it) and pressing
|
|
2070 "O" will then "obtain" the file; ie. copy it to Vim's current directory.
|
|
2071
|
|
2072 Related topics:
|
|
2073 * To see what the current directory is, use |:pwd|
|
|
2074 * To make the currently browsed directory the current directory, see |netrw-c|
|
|
2075 * To automatically make the currently browsed directory the current
|
|
2076 directory, see |g:netrw_keepdir|.
|
|
2077
|
|
2078
|
1668
|
2079 OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
|
|
2080
|
|
2081 To open a file in netrw's current directory, press "%". This map will
|
|
2082 query the user for a new filename; an empty file by that name will be
|
|
2083 placed in the netrw's current directory (ie. b:netrw_curdir).
|
|
2084
|
|
2085
|
1621
|
2086 PREVIEW WINDOW *netrw-p* *netrw-preview* {{{2
|
|
2087
|
|
2088 One may use a preview window by using the "p" key when the cursor is atop the
|
|
2089 desired filename to be previewed. The display will then split to show both
|
|
2090 the browser (where the cursor will remain) and the file (see |:pedit|).
|
|
2091 By default, the split will be taken horizontally; one may use vertical
|
|
2092 splitting if one has set |g:netrw_preview| first.
|
|
2093
|
|
2094
|
|
2095 PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
|
|
2096
|
|
2097 To edit a file or directory in the previously used (last accessed) window (see
|
|
2098 :he |CTRL-W_p|), press a "P". If there's only one window, then the one window
|
|
2099 will be horizontally split (above/below splitting is controlled by
|
|
2100 |g:netrw_alto|, and its initial size is controlled by |g:netrw_winsize|).
|
|
2101
|
|
2102 If there's more than one window, the previous window will be re-used on
|
|
2103 the selected file/directory. If the previous window's associated buffer
|
|
2104 has been modified, and there's only one window with that buffer, then
|
|
2105 the user will be asked if s/he wishes to save the buffer first (yes,
|
|
2106 no, or cancel).
|
|
2107
|
|
2108
|
|
2109 REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l* {{{2
|
|
2110
|
|
2111 To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
|
|
2112 hit the <cr> when atop the ./ directory entry in the listing. One may also
|
|
2113 refresh a local directory by using ":e .".
|
|
2114
|
|
2115
|
|
2116 RENAMING FILES OR DIRECTORIES *netrw-move* *netrw-rename* *netrw-R* {{{2
|
|
2117
|
|
2118 If there are no marked files: (see |netrw-mf|)
|
|
2119
|
|
2120 Renaming/moving files and directories involves moving the cursor to the
|
|
2121 file/directory to be moved (renamed) and pressing "R". You will then be
|
|
2122 queried for where you want the file/directory to be moved. You may select
|
|
2123 a range of lines with the "V" command (visual selection), and then
|
|
2124 pressing "R".
|
|
2125
|
|
2126 If there are marked files: (see |netrw-mf|)
|
|
2127
|
|
2128 Marked files will be renamed (moved). You will be queried as above in
|
|
2129 order to specify where you want the file/directory to be moved.
|
|
2130
|
|
2131 WARNING:~
|
|
2132
|
|
2133 Note that moving files is a dangerous operation; copies are safer. That's
|
|
2134 because a "move" for remote files is actually a copy + delete -- and if
|
|
2135 the copy fails and the delete does not, you may lose the file.
|
|
2136
|
|
2137 The g:netrw_rename_cmd variable is used to implement renaming. By default its
|
|
2138 value is:
|
|
2139
|
|
2140 ssh HOSTNAME mv
|
|
2141
|
|
2142 One may rename a block of files and directories by selecting them with
|
|
2143 the V (|linewise-visual|).
|
|
2144
|
|
2145
|
|
2146 REVERSING SORTING ORDER *netrw-r* *netrw-reverse* {{{2
|
|
2147
|
|
2148 One may toggle between normal and reverse sorting order by pressing the
|
|
2149 "r" key.
|
|
2150
|
|
2151 Related topics: |netrw-s|
|
|
2152 Associated setting variable: |g:netrw_sort_direction|
|
|
2153
|
|
2154
|
|
2155 SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
|
2156
|
|
2157 One may select the sorting style by name, time, or (file) size. The "s" map
|
|
2158 allows one to circulate amongst the three choices; the directory listing will
|
|
2159 automatically be refreshed to reflect the selected style.
|
|
2160
|
|
2161 Related topics: |netrw-r| |netrw-S|
|
|
2162 Associated setting variables: |g:netrw_sort_by| |g:netrw_sort_sequence|
|
|
2163
|
|
2164
|
|
2165 10. Problems and Fixes *netrw-problems* {{{1
|
24
|
2166
|
|
2167 (This section is likely to grow as I get feedback)
|
|
2168 (also see |netrw-debug|)
|
477
|
2169 *netrw-p1*
|
24
|
2170 P1. I use windows 95, and my ftp dumps four blank lines at the
|
|
2171 end of every read.
|
|
2172
|
|
2173 See |netrw-fixup|, and put the following into your
|
|
2174 <.vimrc> file:
|
|
2175
|
|
2176 let g:netrw_win95ftp= 1
|
466
|
2177
|
477
|
2178 *netrw-p2*
|
1121
|
2179 P2. I use Windows, and my network browsing with ftp doesn't sort by
|
|
2180 time or size! -or- The remote system is a Windows server; why
|
|
2181 don't I get sorts by time or size?
|
24
|
2182
|
|
2183 Windows' ftp has a minimal support for ls (ie. it doesn't
|
|
2184 accept sorting options). It doesn't support the -F which
|
|
2185 gives an explanatory character (ABC/ for "ABC is a directory").
|
1121
|
2186 Netrw then uses "dir" to get both its short and long listings.
|
|
2187 If you think your ftp does support a full-up ls, put the
|
|
2188 following into your <.vimrc>: >
|
24
|
2189
|
1121
|
2190 let g:netrw_ftp_list_cmd = "ls -lF"
|
|
2191 let g:netrw_ftp_timelist_cmd= "ls -tlF"
|
|
2192 let g:netrw_ftp_sizelist_cmd= "ls -slF"
|
|
2193 <
|
24
|
2194 Alternatively, if you have cygwin on your Windows box, put
|
1121
|
2195 into your <.vimrc>: >
|
24
|
2196
|
|
2197 let g:netrw_cygwin= 1
|
1121
|
2198 <
|
|
2199 This problem also occurs when the remote system is Windows.
|
|
2200 In this situation, the various g:netrw_ftp_[time|size]list_cmds
|
|
2201 are as shown above, but the remote system will not correctly
|
|
2202 modify its listing behavior.
|
|
2203
|
24
|
2204
|
477
|
2205 *netrw-p3*
|
24
|
2206 P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
|
|
2207 used ssh! That wasn't what I asked for...
|
|
2208
|
|
2209 Netrw has two methods for browsing remote directories: ssh
|
|
2210 and ftp. Unless you specify ftp specifically, ssh is used.
|
|
2211 When it comes time to do download a file (not just a directory
|
|
2212 listing), netrw will use the given protocol to do so.
|
|
2213
|
477
|
2214 *netrw-p4*
|
24
|
2215 P4. I would like long listings to be the default.
|
|
2216
|
1621
|
2217 Put the following statement into your |.vimrc|: >
|
|
2218
|
1121
|
2219 let g:netrw_liststyle= 1
|
1621
|
2220 <
|
|
2221 Check out |netrw-browser-var| for more customizations that
|
26
|
2222 you can set.
|
24
|
2223
|
477
|
2224 *netrw-p5*
|
24
|
2225 P5. My times come up oddly in local browsing
|
|
2226
|
|
2227 Does your system's strftime() accept the "%c" to yield dates
|
|
2228 such as "Sun Apr 27 11:49:23 1997"? If not, do a "man strftime"
|
|
2229 and find out what option should be used. Then put it into
|
1621
|
2230 your |.vimrc|: >
|
|
2231
|
24
|
2232 let g:netrw_timefmt= "%X" (where X is the option)
|
1621
|
2233 <
|
477
|
2234 *netrw-p6*
|
26
|
2235 P6. I want my current directory to track my browsing.
|
|
2236 How do I do that?
|
24
|
2237
|
1621
|
2238 Put the following line in your |.vimrc|:
|
|
2239 >
|
794
|
2240 let g:netrw_keepdir= 0
|
1621
|
2241 <
|
1121
|
2242 *netrw-p7*
|
|
2243 P7. I use Chinese (or other non-ascii) characters in my filenames, and
|
|
2244 netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
|
466
|
2245
|
1121
|
2246 (taken from an answer provided by Wu Yongwei on the vim
|
|
2247 mailing list)
|
|
2248 I now see the problem. You code page is not 936, right? Vim
|
|
2249 seems only able to open files with names that are valid in the
|
|
2250 current code page, as are many other applications that do not
|
|
2251 use the Unicode version of Windows APIs. This is an OS-related
|
|
2252 issue. You should not have such problems when the system
|
|
2253 locale uses UTF-8, such as modern Linux distros.
|
|
2254
|
|
2255 (...it is one more reason to recommend that people use utf-8!)
|
|
2256
|
|
2257 *netrw-p8*
|
|
2258 P8. I'm getting "ssh is not executable on your system" -- what do I
|
|
2259 do?
|
|
2260
|
|
2261 (Dudley Fox) Most people I know use putty for windows ssh. It
|
|
2262 is a free ssh/telnet application. You can read more about it
|
|
2263 here:
|
|
2264
|
|
2265 http://www.chiark.greenend.org.uk/~sgtatham/putty/ Also:
|
|
2266
|
|
2267 (Marlin Unruh) This program also works for me. It's a single
|
|
2268 executable, so he/she can copy it into the Windows\System32
|
|
2269 folder and create a shortcut to it.
|
|
2270
|
|
2271 (Dudley Fox) You might also wish to consider plink, as it
|
|
2272 sounds most similar to what you are looking for. plink is an
|
|
2273 application in the putty suite.
|
|
2274
|
|
2275 http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
|
|
2276
|
|
2277 (Vissale Neang) Maybe you can try OpenSSH for windows, which
|
|
2278 can be obtained from:
|
|
2279
|
|
2280 http://sshwindows.sourceforge.net/
|
|
2281
|
|
2282 It doesn't need the full Cygwin package.
|
|
2283
|
|
2284 (Antoine Mechelynck) For individual Unix-like programs needed
|
|
2285 for work in a native-Windows environment, I recommend getting
|
|
2286 them from the GnuWin32 project on sourceforge if it has them:
|
|
2287
|
|
2288 http://gnuwin32.sourceforge.net/
|
|
2289
|
|
2290 Unlike Cygwin, which sets up a Unix-like virtual machine on
|
|
2291 top of Windows, GnuWin32 is a rewrite of Unix utilities with
|
|
2292 Windows system calls, and its programs works quite well in the
|
|
2293 cmd.exe "Dos box".
|
|
2294
|
|
2295 (dave) Download WinSCP and use that to connect to the server.
|
|
2296 In Preferences > Editors, set gvim as your editor:
|
|
2297
|
|
2298 - Click "Add..."
|
|
2299 - Set External Editor (adjust path as needed, include
|
|
2300 the quotes and !.! at the end):
|
|
2301 "c:\Program Files\Vim\vim70\gvim.exe" !.!
|
|
2302 - Check that the filetype in the box below is
|
|
2303 {asterisk}.{asterisk} (all files), or whatever types
|
|
2304 you want (cec: change {asterisk} to * ; I had to
|
|
2305 write it that way because otherwise the helptags
|
1621
|
2306 system thinks it's a tag)
|
|
2307 - Make sure it's at the top of the listbox (click it,
|
|
2308 then click "Up" if it's not)
|
1121
|
2309 If using the Norton Commander style, you just have to hit <F4>
|
|
2310 to edit a file in a local copy of gvim.
|
|
2311
|
|
2312 (Vit Gottwald) How to generate public/private key and save
|
|
2313 public key it on server: >
|
|
2314 http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready
|
|
2315 8.3 Getting ready for public key authentication
|
|
2316 <
|
1621
|
2317 How to use a private key with 'pscp': >
|
|
2318
|
1121
|
2319 http://www.tartarus.org/~simon/puttydoc/Chapter5.html
|
|
2320 5.2.4 Using public key authentication with PSCP
|
|
2321 <
|
1621
|
2322 (Ben Schmidt) I find the ssh included with cwRsync is
|
|
2323 brilliant, and install cwRsync or cwRsyncServer on most
|
|
2324 Windows systems I come across these days. I guess COPSSH,
|
|
2325 packed by the same person, is probably even better for use as
|
|
2326 just ssh on Windows, and probably includes sftp, etc. which I
|
|
2327 suspect the cwRsync doesn't, though it might
|
|
2328
|
1121
|
2329 (cec) To make proper use of these suggestions above, you will
|
|
2330 need to modify the following user-settable variables in your
|
|
2331 .vimrc:
|
|
2332
|
1621
|
2333 |g:netrw_ssh_cmd| |g:netrw_list_cmd| |g:netrw_mkdir_cmd|
|
|
2334 |g:netrw_rm_cmd| |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
|
1121
|
2335
|
|
2336 The first one (|g:netrw_ssh_cmd|) is the most important; most
|
|
2337 of the others will use the string in g:netrw_ssh_cmd by
|
|
2338 default.
|
|
2339 *netrw-p9* *netrw-ml_get*
|
|
2340 P9. I'm browsing, changing directory, and bang! ml_get errors
|
|
2341 appear and I have to kill vim. Any way around this?
|
|
2342
|
|
2343 Normally netrw attempts to avoid writing swapfiles for
|
|
2344 its temporary directory buffers. However, on some systems
|
|
2345 this attempt appears to be causing ml_get errors to
|
|
2346 appear. Please try setting |g:netrw_use_noswf| to 0
|
|
2347 in your <.vimrc>: >
|
|
2348 let g:netrw_use_noswf= 0
|
|
2349 <
|
1621
|
2350 *netrw-p10*
|
|
2351 P10. I'm being pestered with "[something] is a directory" and
|
|
2352 "Press ENTER or type command to continue" prompts...
|
|
2353
|
|
2354 The "[something] is a directory" prompt is issued by Vim,
|
|
2355 not by netrw, and there appears to be no way to work around
|
|
2356 it. Coupled with the default cmdheight of 1, this message
|
|
2357 causes the "Press ENTER..." prompt. So: read |hit-enter|;
|
|
2358 I also suggest that you set your |'cmdheight'| to 2 (or more) in
|
|
2359 your <.vimrc> file.
|
|
2360
|
|
2361 *netrw-p11*
|
|
2362 P11. I want to have two windows; a thin one on the left and my editing
|
|
2363 window on the right. How can I do this?
|
|
2364
|
|
2365 * Put the following line in your <.vimrc>:
|
|
2366 let g:netrw_altv = 1
|
|
2367 * Edit the current directory: :e .
|
|
2368 * Select some file, press v
|
|
2369 * Resize the windows as you wish (see |CTRL-W_<| and
|
|
2370 |CTRL-W_>|). If you're using gvim, you can drag
|
|
2371 the separating bar with your mouse.
|
|
2372 * When you want a new file, use ctrl-w h to go back to the
|
|
2373 netrw browser, select a file, then press P (see |CTRL-W_h|
|
|
2374 and |netrw-P|). If you're using gvim, you can press
|
|
2375 <leftmouse> in the browser window and then press the
|
|
2376 <middlemouse> to select the file.
|
24
|
2377
|
|
2378 ==============================================================================
|
1621
|
2379 11. Debugging Netrw Itself *netrw-debug* {{{1
|
7
|
2380
|
|
2381 The <netrw.vim> script is typically available as:
|
477
|
2382 >
|
1621
|
2383 /usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
|
|
2384 /usr/local/share/vim/vim6x/autoload/netrw.vim
|
477
|
2385 < -or- >
|
1621
|
2386 /usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
|
|
2387 /usr/local/share/vim/vim7x/autoload/netrw.vim
|
477
|
2388 <
|
7
|
2389 which is loaded automatically at startup (assuming :set nocp).
|
|
2390
|
|
2391 1. Get the <Decho.vim> script, available as:
|
|
2392
|
1621
|
2393 http://mysite.verizon.net/astronaut/vim/index.html#DECHO
|
7
|
2394 or
|
534
|
2395 http://vim.sourceforge.net/scripts/script.php?script_id=120
|
7
|
2396
|
1621
|
2397 It now comes as a "vimball"; if you're using vim 7.0 or earlier,
|
|
2398 you'll need to update vimball, too. See
|
|
2399 http://mysite.verizon.net/astronaut/vim/index.html#VIMBALL
|
|
2400
|
|
2401 2. Edit the <netrw.vim> file by typing: >
|
22
|
2402
|
|
2403 vim netrw.vim
|
7
|
2404 :DechoOn
|
22
|
2405 :wq
|
1621
|
2406 <
|
|
2407 To restore to normal non-debugging behavior, re-edit <netrw.vim>
|
|
2408 and type >
|
7
|
2409
|
22
|
2410 vim netrw.vim
|
|
2411 :DechoOff
|
|
2412 :wq
|
1621
|
2413 <
|
22
|
2414 This command, provided by <Decho.vim>, will comment out all
|
|
2415 Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
|
|
2416
|
1621
|
2417 3. Then bring up vim and attempt to evoke the problem by doing a
|
|
2418 transfer or doing some browsing. A set of messages should appear
|
|
2419 concerning the steps that <netrw.vim> took in attempting to
|
|
2420 read/write your file over the network in a separate tab.
|
7
|
2421
|
1121
|
2422 To save the file, use >
|
|
2423 :wincmd j
|
|
2424 :set bt=
|
|
2425 :w! DBG
|
|
2426 < Please send that information to <netrw.vim>'s maintainer, >
|
36
|
2427 NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
1121
|
2428 <
|
7
|
2429 ==============================================================================
|
1121
|
2430 12. History *netrw-history* {{{1
|
7
|
2431
|
1702
|
2432 v132: Aug 06, 2008 * Fixed marked file-based obtain
|
|
2433 Aug 08, 2008 * sourcing a file via ftp from a netrw-generated
|
|
2434 buffer (or any buffer with |'nobl'|) left an
|
|
2435 empty no-name buffer in its wake. Fixed.
|
1698
|
2436 v130: Jul 31, 2008 * trying out elinks/links for http://host/
|
|
2437 requests. One problem: in-page links
|
|
2438 (such as with ...#LABEL) are not supported
|
|
2439 * verified that Bram's modified netrwPlugin works
|
|
2440 Aug 01, 2008 * fixed a bug: when sourcing a file via ftp, the
|
|
2441 "filter window" was left behind.
|
|
2442 v129: Jul 31, 2008 * bug found in non-mouse enabled vim and some
|
|
2443 local maps
|
|
2444 v128: Jul 30, 2008 * much work done in using shellescape() and
|
|
2445 fnameescape()
|
1668
|
2446 v126: Jun 30, 2008 * after having gone to a remote directory,
|
|
2447 <f1> was no longer taking one to the correct
|
|
2448 entry in the help (|netrw-quickhelp|). Fixed.
|
|
2449 Jul 01, 2008 * extracting the last filename from a wide listing
|
|
2450 missed the last letter when |'virtualedit'| not
|
|
2451 enabled.
|
|
2452 Jul 01, 2008 * vim foo/bar was creating [Scratch] buffers,
|
|
2453 where bar was also a directory
|
|
2454 Jul 01, 2008 * numerous additional changes were made to netrw
|
|
2455 to use fnameescape() and shellescape() instead
|
|
2456 of escape(). Not all changes have been tested
|
|
2457 as yet...
|
|
2458 Jul 01, 2008 * (James Vega reported) some problems with
|
|
2459 :NetrwSettings (due to no longer used setting
|
|
2460 variables).
|
|
2461 Jul 07, 2008 * Additional numerous changes to support security;
|
|
2462 shellescape(arg,1), etc.
|
1621
|
2463 v125: Apr 07, 2008 * (Cristian Rigamonti) CR provides a patch; he
|
|
2464 noted that gx was failing since its call to
|
|
2465 netrw#NetBrowseX() wasn't updated to
|
|
2466 netrw#NetrwBrowseX().
|
|
2467 * (Stanis Trendelenburg) ST provides a patch to
|
|
2468 supports davs: (dav + ssl)
|
|
2469 * (Rick Choi) noted that directory names comprised
|
|
2470 of three digits were not being displayed by
|
|
2471 the internal browser. Fixed.
|
|
2472 * (Erik Falor) provided a patch to handle problems
|
|
2473 with changing directory and |'acd'| option.
|
|
2474 * (James Vega, Teemu Likonen) noted that netrw
|
|
2475 wasn't handling multi-byte filenames/directories
|
|
2476 correctly. Fixed.
|
|
2477 * (Rick) found problem with g:netrw_maxfilenamelen
|
|
2478 being overridden.
|
|
2479 * (James Vega) pointed out that netrw was
|
|
2480 misidentifying all files in a symbolically linked
|
|
2481 directory as being symbolically linked
|
|
2482 themselves. This particular problem was fixed;
|
|
2483 however, there are now situations where
|
|
2484 symbolically linked files will not be detected.
|
|
2485 Really need an internal vim function to do this
|
|
2486 identification.
|
|
2487 Apr 17, 2008 * When g:netrw_keepdir==0, current directory
|
|
2488 doesn't necessarily equal b:netrw_curdir
|
|
2489 initially. Problem is due to the patch directly
|
|
2490 above.
|
|
2491 * Fixed qf to handle case where b:netrw_curdir
|
|
2492 isn't the same as the current directory under
|
|
2493 linux/macosx.
|
|
2494 * New: |netrw-mg| (apply vimgrep to marked files)
|
|
2495 May 05, 2008 * (Rick) pointed out that a "setlocal ts=32" was
|
|
2496 interfering with g:netrw_maxfilenamelen
|
|
2497 May 05, 2008 * (James Vega) a file inside a linked directory
|
|
2498 was showing up as a symbolic link itself.
|
|
2499 May 22, 2008 * symbolic links, fifos, and sockets are now
|
|
2500 indicated by a trailing @, |, or =, respectively.
|
|
2501 Jun 06, 2008 * Removed numerous bugs from the marked file
|
|
2502 move and copy. Tested these changes under
|
|
2503 Unix only thus far.
|
|
2504 * :Rexplore returns to the screen position in the
|
|
2505 netrw listing from whence the file was edited
|
|
2506 v124: Apr 02, 2008 * (Adrian Rollett) change the line supporting the
|
|
2507 "x" action for mac to use g:netrw_shq
|
|
2508 v123: Feb 27, 2008 * Marked files now keeps a "global" marked file
|
|
2509 list. The global marked file list is used to
|
|
2510 support tag processing and vimdiff'ing
|
|
2511 (|netrw-md| |netrw-mt|)
|
|
2512 * Been insuring that mm and mc works with various
|
|
2513 combinations of local and remote directories
|
|
2514 * (Stefan Bittner) http://.../ should always have
|
|
2515 filetype "html" -- fixed.
|
|
2516 * (Stefan Bittner) a "?" in a http://.../ request
|
|
2517 wasn't being handled correctly. Fixed by
|
|
2518 removing ? from default |g:netrw_tmpfile_escape|.
|
|
2519 * (Nico Weber) % codes in http://.../ requests
|
|
2520 weren't being handled correctly. Fixed by
|
|
2521 including % in default |g:netrw_fname_escape|.
|
|
2522 * (Stefan Bittner) attempts to update Buffers.Refresh
|
|
2523 were failing because locale use changed the menu
|
|
2524 names. I implemented a workaround.
|
|
2525 v122: Feb 12, 2008 * bugfix - first sorting sequence match now has
|
|
2526 priority
|
|
2527 Feb 14, 2008 * bugfix - sorting sequence was effectively ignoring
|
|
2528 sequencing priority of anything following '*'
|
|
2529 * toggling a marked file was showing incorrect list
|
|
2530 (list was correct, but displayed matches weren't)
|
|
2531 * |g:netrw_special_syntax| implemented
|
|
2532 v121: Feb 11, 2008 * Bram M reported that :e file ... :e . would not
|
|
2533 retain the alternate file. Fixed -- I hope!
|
|
2534 * bugfix -- apparently v120 broke an explicit
|
|
2535 :Explore dirname
|
|
2536 v120: Jan 21, 2008 * |netrw-mt| changed to allow for target selection
|
|
2537 based on whether or not word under cursor is a
|
|
2538 directory or file, or if cursor is in banner
|
|
2539 area.
|
|
2540 * |netrw-mh| included (hiding by marked-file suffix)
|
|
2541 * functions moved about a bit (improved
|
|
2542 categorization)
|
|
2543 * executable files now displayed with trailing (*)
|
|
2544 * symbolically linked files now displayed with
|
|
2545 trailing (@)
|
|
2546 * Somewhen, s:NetrwMarkFileMove() got damaged. Its
|
|
2547 now restored (missing an endif, for example).
|
|
2548 * |netrw-mu| implemented (unmarking marked files)
|
|
2549 * many bugs have been removed from the marked file
|
|
2550 system (tnx to Mark S. for feedback)
|
|
2551 * |netrw-ms| implemented (sourcing marked files)
|
|
2552 * fixed use of P with tree listing style
|
|
2553 * multiple tree listing now supported
|
|
2554 * ./ suppressed
|
|
2555 * changed q -> qb (query bookmarks)
|
|
2556 * implemented |netrw-qf|
|
|
2557 * Explore now has four special list-generation
|
|
2558 modes: */filepat **/filepat
|
|
2559 *//pattern **//pattern
|
|
2560 * gh (|netrw-gh|) is a shortcut for toggling the
|
|
2561 hiding of files and directories beginning with a
|
|
2562 dot
|
|
2563 v119: Jan 10, 2008 * When g:netrw_keepdir is false,
|
|
2564 NetrwOptionsRestore() had a problem
|
|
2565 (Bill McCarthy)
|
|
2566 Jan 11, 2008 * Netrw now shows symbolic links with a trailing
|
|
2567 "@" and special highlighting.
|
|
2568 Jan 15, 2008 * Changed g:netrw_noretmap -> |g:netrw_retmap|.
|
|
2569 Changed: disabled by default at Bram's
|
|
2570 preference.
|
|
2571 v118: Jan 02, 2008 * Fixed a problem with Windows;
|
|
2572 :Explore c:/path/ would not work,
|
|
2573 but :Explore c:/path would.
|
|
2574 * Fixed a bug in s:NetrwOptionRestore() - lcd's
|
|
2575 argument wasn't being properly escaped so it
|
|
2576 wouldn't handle spaces in directory names.
|
|
2577 (Gary Johnson)
|
|
2578 v117: Jan 02, 2008 * Fixed a problem with P; had to include
|
|
2579 a b:netrw_curdir bypass (Bram Moolenaar)
|
|
2580 v116: Nov 27, 2007 * netrw#LocalBrowseCheck() has &ft=="netrw"
|
|
2581 check to prevent doing a directory listing
|
|
2582 (was getting unexpected directory refreshes
|
|
2583 in the middle of some function calls)
|
|
2584 * NetrwOptionRestore moved after e! filename
|
|
2585 in order to retain user options for editing
|
|
2586 in s:NetrwBrowseChgDir()
|
|
2587 Dec 12, 2007 * Bug fix -- netrw does a better job of retaining
|
|
2588 user options when editing files under the aegis
|
|
2589 of the browser
|
|
2590 v115: Oct 04, 2007 * Erik Remmelzwaal pointed out that the use of
|
|
2591 shellslash in s:GetTempfile() was incorrect
|
|
2592 Oct 11, 2007 * Tracked down and eliminated a bug with editing
|
|
2593 remote *.tar.gz and *.tar.bz2 files
|
|
2594 Oct 11, 2007 * g:netrw_localmovecmd wasn't being initialized
|
|
2595 properly, and g:netrw_localcopycmd was being
|
|
2596 overwritten.
|
|
2597 Oct 12, 2007 * Placed all :Rexplore and <2-leftmouse> setup
|
|
2598 in a new support function (s:SetRexDir()).
|
|
2599 Oct 15, 2007 * new: g:netrw_browse_split == 4; means <cr>
|
|
2600 based selection will use previous window
|
|
2601 Oct 20, 2007 * also checks on |'shellxquote'| to set g:netrw_shq
|
|
2602 Oct 24, 2007 * Explore handles path/**/filename
|
|
2603 Oct 27, 2007 * sourcing remote files often didn't work with ftp,
|
|
2604 turns out that b:netrw_method was undefined, so
|
|
2605 s:SaveBufVars and s:RestoreBufVars() fixed it.
|
|
2606 v114: Sep 28, 2007 * mT, the map that invokes tags, has been improved
|
|
2607 to support use of remote tags files.
|
|
2608 Oct 02, 2007 * changed Netrw menu to use more submenus
|
|
2609 v113: Sep 07, 2007 * worked out why the cursor position wasn't being
|
|
2610 saved and restored as intended after doing such
|
|
2611 things as deleting and renaming files.
|
|
2612 Sep 11, 2007 * Fixed bug which effectively disabled <c-l> and
|
|
2613 <c-h> maps
|
|
2614 Sep 18, 2007 * there used to be one NetrwOptionRestore() call at
|
|
2615 the end of the s:NetrwBrowseChgDir() function;
|
|
2616 they're now at the end of every if..elseif..else
|
|
2617 block. The edit-a-file one is not quite at the end
|
|
2618 of its block; instead, its just before the edit.
|
|
2619 Restores user options, then this new placement
|
|
2620 allows ftplugins, autocmds, etc to change settings
|
|
2621 (ex. ftplugin/cpp.vim sets cindent).
|
|
2622 Sep 19, 2007 * changed all strlen() calls to use s:Strlen(), a
|
|
2623 function which handles utf-8 wide characters
|
|
2624 correctly.
|
|
2625 Sep 20, 2007 * (Nico Weber) the "x" command has been extended
|
|
2626 to Mac's OS/X (macunix); it now uses open to
|
|
2627 handle |netrw-x| browsing with special files.
|
|
2628 Sep 22, 2007 * Added g:netrw_noretmap to netrw at Tony M's
|
|
2629 request.
|
|
2630 * Included path to NetrwRemoteRmFile()
|
|
2631 v112: Aug 18, 2007 * added mx (|netrw-mx|) for executing arbitrary
|
|
2632 commands on marked files
|
|
2633 Aug 22, 2007 * more option save/restore work for
|
|
2634 s:NetrwBrowseChgDir(); s:NetrwOptionSave()
|
|
2635 and s:NetrwOptionRestore() now take a parameter
|
|
2636 specifying the type of variables to be used for
|
|
2637 saving and restoring (either "w:" or "s:")
|
|
2638 Sep 04, 2007 * added the :NetrwClean[!] command
|
|
2639 v111: Jul 25, 2007 * using Windows but not using Cygwin, netrw does a
|
|
2640 "file bufname" where the bufname uses /s
|
|
2641 instead of \s; Vim "fixes" it by changing the
|
|
2642 bufname to use \s anyway. This meant that
|
|
2643 NetrwGetBuffer() didn't find the appropriately
|
|
2644 named buffer, and so would generate a new
|
|
2645 buffer listing; hence the cursor would appear
|
|
2646 to have been moved when doing a preview.
|
|
2647 * added <2-leftmouse> map to return to netrw's
|
|
2648 browser display
|
|
2649 Aug 16, 2007 * added the mark-file system, including
|
|
2650 maps for mf mp mt mz and mu. Modifications
|
|
2651 made to maps for a D O and R to support
|
|
2652 marked files.
|
|
2653 v110: May 10, 2007 * added [ and ] maps to NetrwTreeListing
|
|
2654 May 25, 2007 * |g:netrw_preview| included
|
|
2655 May 29, 2007 * modifed netrw#NetBrowseX to consistently use
|
1668
|
2656 g:netrw_shq instead of hardcoded quotes,
|
1621
|
2657 and modified the snippet that sets up redir
|
|
2658 so Windows machines use "nul" instead of
|
|
2659 "/dev/null".
|
|
2660 Jun 01, 2007 * fixed bug -- NetGetBuffer() wasn't always
|
|
2661 recognizing a buffer name match when it should,
|
|
2662 thus resulting in [Scratch] buffers.
|
|
2663 Jun 04, 2007 * Gary Johnson found a bugfix for the "c" mapping
|
|
2664 when the directory is to be made current but
|
|
2665 the name contains spaces.
|
1209
|
2666 v109: Mar 26, 2007 * if a directory name includes a "$" character,
|
|
2667 Explore() will use expand() in an attempt to
|
|
2668 decipher the name.
|
|
2669 May 07, 2007 * g:netrw_use_errorwindow now allows one to
|
1621
|
2670 have error messages go to a reliable window
|
1209
|
2671 or to use a less reliable but recallable
|
|
2672 echoerr method
|
|
2673 May 07, 2007 * g:netrw_scpport and g:netrw_sshport support
|
1621
|
2674 use of -P and -p, respectively, to set port
|
1209
|
2675 for scp/ssh.
|
1121
|
2676 v108: Jan 03, 2007 * included preview map (|netrw-p|), supporting
|
|
2677 remote browsing
|
|
2678 * netrw can now source remote files
|
|
2679 Jan 26, 2007 * Colton Jamieson noted that remote directory
|
|
2680 browsing did not support alternate port
|
|
2681 selection. This feature has now been extended
|
|
2682 to apply to all remote browsing commands via ssh.
|
|
2683 (list, remove/delete, rename)
|
|
2684 Jan 31, 2007 * Luis Florit reported that @* was an invalid
|
1209
|
2685 register. The @* register is now only saved and
|
|
2686 restored if |'guioptions'| contains "a".
|
1121
|
2687 Feb 02, 2007 * Fixed a bug that cropped up when writing files
|
|
2688 via scp using cygwin
|
|
2689 Feb 08, 2007 * tree listing mode managed to stop working again;
|
|
2690 fixed again!
|
|
2691 Feb 15, 2007 * Guido Van Hoecke reported that netrw didn't
|
1209
|
2692 handle browsing well with M$ ftp servers. He even
|
1121
|
2693 set up a temporary account for me to test with
|
|
2694 (thanks!). Netrw now can browse M$ ftp servers.
|
|
2695 v107: Oct 12, 2006 * bypassed the autowrite option
|
|
2696 Oct 24, 2006 * handles automatic decompression of *.gz and *.bz2
|
|
2697 files
|
|
2698 Nov 03, 2006 * Explore will highlight matching files when
|
|
2699 **/pattern is used (and if the |'hls'| option
|
|
2700 is set)
|
|
2701 Nov 09, 2006 * a debugging line, when enabled, was inadvertently
|
|
2702 bringing up help instead of simply reporting on
|
|
2703 list contents
|
|
2704 Nov 21, 2006 * tree listing improved (cursor remains put)
|
|
2705 Nov 27, 2006 * fixed b:netrw_curdir bug when repeated "i"s were
|
|
2706 pressed.
|
|
2707 Dec 15, 2006 * considerable qty of changes, mostly to share more
|
|
2708 code between local and remote browsing. Includes
|
|
2709 support for tree-style listing for both remote
|
|
2710 and local browsing.
|
|
2711 Dec 15, 2006 * Included Peter Bengtsson's modifications to
|
|
2712 support the Amiga.
|
|
2713 v106: Sep 21, 2006 * removed old v:version<700 code as netrw now
|
|
2714 requires vim 7.0
|
|
2715 * worked around a bug where register * was
|
|
2716 overwritten during local browsing
|
|
2717 v104: Sep 05, 2006 * as suggested by Rodolfo Borges, :Explore and
|
|
2718 variants will position the cursor on the file
|
|
2719 just having been edited
|
|
2720 * changed default |g:netrw_sort_sequence| order
|
|
2721 * changed b, Nb to simply mb (see |netrw-mb|)
|
|
2722 * changed B, NB to simply gb (see |netrw-gb|)
|
|
2723 * tree listing style (see |g:netrw_liststyle|)
|
|
2724 * attempts to retain the alternate file
|
|
2725 v103: Jul 26, 2006 * used Yakov Lerner's tip#1289 to improve netrw
|
|
2726 error message display
|
|
2727 * wide listings didn't handle files with backslashes
|
|
2728 in their names properly. A symptom was an
|
|
2729 inability to open files.
|
|
2730 Aug 09, 2006 * included "t" mapping for opening tabbed windows,
|
|
2731 both for remote and local browsing
|
|
2732 * changed netrw_longlist to netrw_liststyle
|
|
2733 Aug 15, 2006 * fixed one of the NB maps
|
|
2734 Aug 22, 2006 * changed *Explore commands to use -nargs=* instead
|
|
2735 of -nargs=?. Allows both -complete=dir _and_ the
|
|
2736 starstar arguments to work (-nargs=? seems to
|
|
2737 require one or the other).
|
|
2738 Aug 23, 2006 * copied all w:.. variables across splits to
|
|
2739 new windows
|
|
2740 Aug 25, 2006 * when g:netrw_browsex_viewer was '-'
|
|
2741 (see |g:netrw_browsex_viewer|) it wasn't causing
|
|
2742 netrwFileHandlers#Invoke() to be called as it
|
|
2743 was expected to. (tnx Steve Dugaro)
|
|
2744 Aug 29, 2006 * changed NetBrowseX() to use "setlocal ... noswf"
|
|
2745 instead of "set ... noswf" (tnx Benji Fisher)
|
|
2746 Aug 31, 2006 * tabs and fastbrowse<=1 didn't work together.
|
|
2747 v102: Jun 15, 2006 * chgd netrwPlugin to call netrw#LocalBrowseCheck()
|
|
2748 * bugfix: g:netrw_keepdir==0 had stopped working
|
|
2749 Jul 06, 2006 * bugfix: NetOptionSave/Restore now saves/restores
|
|
2750 the unnamed register (|registers|)
|
|
2751 Jul 07, 2006 * |g:netrw_menu| support included
|
|
2752 Jul 13, 2006 * :Texplore command implemented
|
|
2753 Jul 17, 2006 * NetSplit and (Local|Net)BrowseChgDir() were both
|
|
2754 splitting windows. This affected o, v, and
|
|
2755 g:netrw_browse_split.
|
|
2756 Jul 20, 2006 * works around wildignore setting (was causing
|
|
2757 netrw's local browser not to list wildignore'd
|
|
2758 files)
|
|
2759 Jul 24, 2006 * <leftmouse> acts as a <cr> for selecting a file
|
|
2760 <rightmouse> acts as a <del> for deleting a file
|
|
2761 v100: May 14, 2006 * when using Windows and shell==cmd.exe, the
|
|
2762 default for g:netrw_ignorenetrc is now 1
|
|
2763 * bugfix: unwanted ^Ms now removed
|
|
2764 (affected shell==cmd.exe - Windows)
|
|
2765 * added Bookmarks and History to the menu
|
|
2766 * an error message about non-existing
|
|
2767 w:netrw_longlist was appearing during attempts to
|
|
2768 Explore (fixed)
|
|
2769 * g:netrw_shq now available to make netrw use
|
|
2770 specified style of quotes for commands
|
|
2771 May 29, 2006 * user NFH_*() functions were inadvertently being
|
|
2772 ignored
|
|
2773 * fixed a Windows non-cygwin ftp handling problem.
|
|
2774 * hiding pattern candidate separators included some
|
|
2775 characters it shouldn't have (tnx to Osei Poku)
|
|
2776 Jun 01, 2006 * for browsing, netrw was supposed to use "dir"
|
|
2777 instead of "ls -lF" when using
|
|
2778 ftp+non-cygwin+windows. Fixed.
|
|
2779 * an inadvertently left-in-place debugging statement
|
|
2780 was preventing use of the "x" key with browsing.
|
|
2781 Jun 05, 2006 * g:netrw_nogx available to prevent making the gx
|
|
2782 map (see |g:netrw_nogx|)
|
1209
|
2783 * bugfix, Explore wouldn't change directory
|
1121
|
2784 properly (vim ., :Explore subdirname)
|
|
2785 Jun 06, 2006 * moved history to 2nd line in Netrw menu
|
|
2786 * fixed delete for unix-based systems
|
|
2787 Jun 07, 2006 * x key now works for windows-noncygwin-ftp
|
|
2788 Jun 08, 2006 * Explore */pat and **//pat now wraps
|
|
2789 v99: May 09, 2006 * g:netrw_browse_split=3 for opening files in new
|
|
2790 tabs implemented.
|
|
2791 May 12, 2006 * deletes temporary file at end of NetRead()
|
|
2792 * visual mode based Obtain implemented
|
|
2793 * added -complete=dir to the various Explore
|
|
2794 commands
|
|
2795 v98: May 02, 2006 * the "p" key didn't work properly when the browsing
|
|
2796 directory name had spaces in it.
|
|
2797 v97: May 01, 2006 * exists("&acd") now used to determine if
|
|
2798 the 'acd' option exists
|
|
2799 * "obtain" now works again under Windows
|
1621
|
2800 v96: * bugfix - the |'acd'| option is not always defined
|
|
2801 but is now bypassed only when it is
|
|
2802 v95: * bugfix - Hiding mode worked correctly (don't show
|
|
2803 any file matching any of the g:netrw_hide
|
|
2804 patterns), but showing mode was showing only those
|
|
2805 files that didn't match any of the g:netrw_hide
|
|
2806 patterns. Instead, it now shows all files that
|
|
2807 match any of the g:netrw_hide patterns (the
|
|
2808 difference between a logical and and logical or).
|
|
2809 v94: * bugfix - a Decho() had a missing quote; only
|
|
2810 affects things when debugging was enabled.
|
|
2811 v93: * bugfix - removed FocusGained event from causing a
|
|
2812 slow-browser refresh for Windows
|
|
2813 v92: * :Explore **//pattern implemented
|
|
2814 (**/filepattern was already taken)
|
|
2815 v91: * :Explore */pattern implemented
|
|
2816 * |'acd'| option bypassed
|
|
2817 v90: * mark ', as suggested by Yegappan Lakshmanan, used
|
|
2818 to help guarantee entry into the jump list when
|
|
2819 appropriate.
|
|
2820 * <s-down> and <s-up> are no longer defined until a
|
|
2821 :Explore **/pattern is used (if the user already
|
|
2822 has a map for them). They will be defined for new
|
|
2823 browser windows from that point forward.
|
|
2824 v89: * A <s-down>, <s-up>, :Nexplore, or a :Pexplore
|
|
2825 without having first done an :Explore **/pattern
|
|
2826 (see |netrw-starstar|) caused
|
|
2827 a lot of unhelpful error messages to appear
|
|
2828 v88: * moved DrChip.Netrw menu to Netrw. Now has
|
|
2829 priority 80 by default.
|
|
2830 g:NetrwTopLvlMenu == "Netrw" and can be changed
|
|
2831 by the user to suit. The priority is given by
|
|
2832 g:NetrwMenuPriority.
|
|
2833 * Changed filetype for browser displays from
|
|
2834 netrwlist to netrw.
|
|
2835 v87: * bug fix -- menus were partially disappearing
|
|
2836 v85: * bug fix -- missing an endif
|
|
2837 * bug fix -- handles spaces in names and directories
|
|
2838 when using ftp-based browsing
|
|
2839 v83: * disabled stop-acd handling; the change in directory
|
|
2840 handling may allow acd to be used again.
|
|
2841 * D was refusing to delete remote files/directories
|
|
2842 in wide listing mode.
|
|
2843 v81: * FocusGained also used to refresh/wipe local browser
|
|
2844 directory buffers
|
|
2845 * (bugfix) netrw was leaving [Scratch] buffers behind
|
|
2846 when the user had the "hidden" option set. The
|
|
2847 'hidden' option is now bypassed.
|
|
2848 v80: * ShellCmdPost event used in conjunction with
|
|
2849 g:netrw_fastbrowse to refresh/wipe local browser
|
|
2850 directory buffers.
|
|
2851 v79: * directories are now displayed with nowrap
|
|
2852 * (bugfix) if the column width was smaller than the
|
|
2853 largest file's name, then netrw would hang when
|
|
2854 using wide-listing mode - fixed
|
|
2855 * g:netrw_fastbrowse introduced
|
|
2856 v78: * progress has been made on allowing spaces inside
|
|
2857 directory names for remote work (reading, writing,
|
|
2858 browsing). (scp)
|
|
2859 v77: * Mikolaj Machowski fixed a bug in a substitute cmd
|
|
2860 * g:netrw_browsex_viewer implemented
|
|
2861 * Mikolaj Machowski pointed out that gnome-open is
|
|
2862 often executable under KDE systems, although it is
|
|
2863 effectively not functional. NetBrowseX now looks
|
|
2864 for "kicker" as a running process to determine if
|
|
2865 KDE is actually running.
|
|
2866 * Explorer's O functionality was inadvertently left
|
|
2867 out. Netrw now does the same thing, but with the
|
|
2868 "P" key.
|
|
2869 * added g:netrw_browse_split option
|
|
2870 * fixed a bug where the directory contained a "." but
|
|
2871 the file didn't (was treating the dirname from "."
|
|
2872 onwards as a suffix)
|
|
2873 v76: * "directory is missing" error message now restores
|
|
2874 echo highlighting
|
|
2875 v75: * file://... now conforms to RFC2396 (thanks to
|
|
2876 S. Zacchiroli)
|
|
2877 * if the binary option is set, then NetWrite() will
|
|
2878 only write the whole file (line numbers don't make
|
|
2879 sense with this). Supports writing of tar and zip
|
|
2880 files.
|
|
2881 v74: * bugfix (vim, then :Explore) now works
|
|
2882 * ctrl-L keeps cursor at same screen location (both
|
|
2883 local and remote browsing)
|
|
2884 * netrw now can read remote zip and tar files
|
|
2885 * Obtain now uses WinXP ftp+.netrc successfully
|
|
2886 v73: * bugfix -- scp://host/path/file was getting named
|
|
2887 incorrectly
|
|
2888 * netrw detects use of earlier-than-7.0 version of
|
|
2889 vim and issues a pertinent error message.
|
|
2890 * netrwSettings.vim is now uses autoloading. Only
|
|
2891 <netrwPlugin.vim> is needed as a pure plugin
|
|
2892 (ie. always loaded).
|
|
2893 v72: * bugfix -- formerly, one could prevent the loading
|
|
2894 of netrw by "let g:loaded_netrw=1"; when
|
|
2895 autoloading became supported, this feature was
|
|
2896 lost. It is now restored.
|
|
2897 v71: * bugfix -- made some "set nomodifiable"s into
|
|
2898 setlocal variants (allows :e somenewfile to be
|
|
2899 modifiable as usual)
|
|
2900 * NetrwSettings calls a netrw function, thereby
|
|
2901 assuring that netrw has loaded. However, if netrw
|
|
2902 does not load for whatever reason, then
|
|
2903 NetrwSettings will now issue a warning message.
|
|
2904 * For what reason I don't recall, when wget and fetch
|
|
2905 are both not present, and an attempt to read a
|
|
2906 http://... url is made, netrw exited. It now only
|
|
2907 returns.
|
|
2908 * When ch=1, on the second and subsequent uses of
|
|
2909 browsing Netrw would issue a blank line to clear
|
|
2910 the echo'd messages. This caused an annoying
|
|
2911 "Hit-Enter" prompt; now a blank line message
|
|
2912 is echo'd only if &ch>1.
|
|
2913 v70: * when using |netrw-O|, the "Obtaining filename"
|
|
2914 message is now shown using |hl-User9|. If User9
|
|
2915 has not been defined, netrw itself will define it.
|
|
2916 v69: * Bugfix: win95/98 machines were experiencing a
|
|
2917 "E121: Undefined variable: g:netrw_win95ftp"
|
|
2918 message
|
|
2919 v68: * double-click-leftmouse selects word under mouse
|
|
2920 v67: * Passwords which contain blanks will now be
|
|
2921 surrounded by double-quotes automatically (Yongwei)
|
|
2922 v66: * Netrw now seems to work with a few more Windows
|
|
2923 situations
|
|
2924 * O now obtains a file: remote browsing
|
|
2925 file -> local copy, locally browsing
|
|
2926 file -> current directory (see :pwd)
|
|
2927 * i now cycles between thin, long, and wide listing
|
|
2928 styles
|
|
2929 * NB and Nb are maps that are always available;
|
|
2930 corresponding B and b maps are only available when
|
|
2931 not using wide listing in order to allow them to
|
|
2932 be used for motions
|
|
2933 v65: * Browser functions now use NetOptionSave/Restore; in
|
|
2934 particular, netrw now works around the report
|
|
2935 setting
|
|
2936 v64: * Bugfix - browsing a "/" directory (Unix) yielded
|
|
2937 buffers named "[Scratch]" instead of "/"
|
|
2938 * Bugfix - remote browsing with ftp was omitting
|
|
2939 the ./ and ../
|
|
2940 v63: * netrw now takes advantage of autoload (needs 7.0)
|
|
2941 * Bugfix - using r (to reverse sort) working again
|
|
2942 v62: * Bugfix - spaces allowed again in directory names
|
|
2943 with g:netrw_keepdir=0. In fact, I've tested netrw
|
|
2944 with most ANSI punctuation marks for directory
|
|
2945 names.
|
|
2946 * Bugfix - NetrwSettings gave errors when
|
|
2947 g:netrw_silent had not be set.
|
|
2948 v61: * Document upgrade -- netrw variable-based settings
|
|
2949 all should have tags. Supports NetrwSettings cmd.
|
|
2950 * Several important variables are window-oriented.
|
|
2951 Netrw has to transfer these across a window split.
|
|
2952 See s:BufWinVars() and s:UseBufWinVars().
|
|
2953 v60: * When using the i map to switch between long and
|
|
2954 short listings, netrw will now keep cursor on same
|
|
2955 line
|
|
2956 * "Match # of #" now uses status line
|
|
2957 * :Explore **/*.c will now work from a
|
|
2958 non-netrw-browser window
|
|
2959 * :Explore **/patterns can now be run in separate
|
|
2960 browser windows
|
|
2961 * active banner (hit <cr> will cause various things
|
|
2962 to happen)
|
|
2963 v59: * bugfix -- another keepalt work-around installed
|
|
2964 (for vim6.3)
|
|
2965 * "Match # of #" for Explore **/pattern matches
|
|
2966 v58: * Explore and relatives can now handle
|
|
2967 **/somefilepattern (v7)
|
|
2968 * Nexplore and Pexplore introduced (v7). shift-down
|
|
2969 and shift-up cursor keys will invoke Nexplore and
|
|
2970 Pexplore, respectively.
|
|
2971 * bug fixed with o and v
|
|
2972 * autochdir only worked around for vim when it has
|
|
2973 been compiled with either
|
|
2974 |+netbeans_intg| or |+sun_workshop|
|
|
2975 * Under Windows, all directories and files were
|
|
2976 being preceded with a "/" when local browsing.
|
|
2977 Fixed.
|
|
2978 * When: syntax highlighting is off, laststatus=2, and
|
|
2979 remote browsing is used, sometimes the laststatus
|
|
2980 highlighting bleeds into the entire display. Work
|
|
2981 around - do an extra redraw in that case.
|
|
2982 * Bugfix: when g:netrw_keepdir=0, due to re-use of
|
|
2983 buffers, netrw didn't change the directory when it
|
|
2984 should've
|
|
2985 * Bugfix: D and R commands work again
|
|
2986 v57: * Explore and relatives can now handle RO files
|
|
2987 * reverse sort restored with vim7's sort command
|
|
2988 * g:netrw_keepdir now being used to keep the current
|
|
2989 directory unchanged as intended (sense change)
|
|
2990 * vim 6.3 still supported
|
|
2991 v56: * LocalBrowse now saves autochdir setting, unsets it,
|
|
2992 and restores it before returning.
|
|
2993 * using vim's rename() instead of system +
|
|
2994 local_rename variable
|
|
2995 * avoids changing directory when g:netrw_keepdir is
|
|
2996 false
|
|
2997 v55: * -bar used with :Explore :Sexplore etc to allow
|
|
2998 multiple commands to be separated by |s
|
|
2999 * browser listings now use the "nowrap" option
|
|
3000 * browser: some unuseful error messages now
|
|
3001 suppressed
|
|
3002 v54: * For backwards compatibility, Explore and Sexplore
|
|
3003 have been implemented. In addition, Hexplore and
|
|
3004 Vexplore commands are available, too.
|
|
3005 * <amatch> used instead of <afile> in the
|
|
3006 transparency support (BufReadCmd, FileReadCmd,
|
|
3007 FileWriteCmd)
|
|
3008 * ***netrw*** prepended to various error messages
|
|
3009 netrw may emit
|
|
3010 * g:netrw_port used instead of b:netrw_port for scp
|
|
3011 * any leading [:#] is removed from port numbers
|
|
3012 v53: * backslashes as well as slashes placed in various
|
|
3013 patterns (ex. g:netrw_sort_sequence) to better
|
|
3014 support Windows
|
|
3015 v52: * nonumber'ing now set for browsing buffers
|
|
3016 * when the hiding list hid all files, error messages
|
|
3017 ensued. Fixed
|
|
3018 * when browsing, swf is set, but directory is not
|
|
3019 set, when netrw was attempting to restore options,
|
|
3020 vim wanted to save a swapfile to a local directory
|
|
3021 using an url-style path. Fixed
|
|
3022 v51: * cygwin detection now automated
|
|
3023 (using windows and &shell is bash)
|
|
3024 * customizable browser "file" rejection patterns
|
|
3025 * directory history
|
|
3026 * :[range]w url now supported (ie. netrw uses a
|
|
3027 FileWriteCmd event)
|
|
3028 * error messages have a "Press <cr> to continue" to
|
|
3029 allow them to be seen
|
|
3030 * directory browser displays no longer bother the
|
|
3031 swapfile
|
|
3032 * u/U commands to go up and down the history stack
|
|
3033 * history stack may be saved with viminfo with it's
|
|
3034 "!" option
|
|
3035 * bugfixes associated with unwanted [No Files]
|
|
3036 entries
|
|
3037 v50: * directories now displayed using buftype=nofile;
|
|
3038 should keep the directory names as-is
|
|
3039 * attempts to remove empty "[No File]" buffers
|
|
3040 leftover from :file ..name.. commands
|
|
3041 * bugfix: a "caps-lock" editing difficulty left in
|
|
3042 v49 was fixed
|
|
3043 * syntax highlighting for "Showing:" the hiding list
|
|
3044 included
|
|
3045 * bookmarks can now be retained if "!" is in the
|
|
3046 viminfo option
|
|
3047 v49: * will use ftp for http://.../ browsing
|
|
3048 v48: * One may use ftp to do remote host file browsing
|
|
3049 * (windows and !cygwin) remote browsing with ftp can
|
|
3050 now use the "dir" command internally to provide
|
|
3051 listings
|
|
3052 * g:netrw_keepdir now allows one to keep the initial
|
|
3053 current directory as the current directory
|
|
3054 (normally the local file browser makes the
|
|
3055 currently viewed directory the current directory)
|
|
3056 * g:netrw_alto and g:netrw_altv now support
|
|
3057 alternate placement of windows started with o or v
|
|
3058 * Nread ? and Nwrite ? now uses echomsg (instead of
|
|
3059 echo) so :messages can repeat showing the help
|
|
3060 * bugfix: avoids problems with partial matches of
|
|
3061 directory names to prior buffers with longer names
|
|
3062 * one can suppress error messages with g:netrw_quiet
|
|
3063 ctrl-h used
|
|
3064 * instead of <Leader>h for editing hiding list one
|
|
3065 may edit the sorting sequence with the S map, which
|
|
3066 now allows confirmation of deletion with
|
|
3067 [y(es) n(o) a(ll) q(uit)]
|
|
3068 * the "x" map now handles special file viewing with:
|
|
3069 (windows) rundll32 url.dll (gnome) gnome-open (kde)
|
|
3070 kfmclient If none of these are on the executable
|
|
3071 path, then netrwFileHandlers.vim is used.
|
|
3072 * directory bookmarking during both local and remote
|
|
3073 browsing implemented
|
|
3074 * one may view all, use the hiding list to suppress,
|
|
3075 or use the hiding list to show-only remote and
|
|
3076 local file/directory listings
|
|
3077 * improved unusual file and directory name handling
|
|
3078 preview window support
|
|
3079 v47: * now handles local browsing.
|
|
3080 v46: * now handles remote browsing
|
|
3081 * g:netrw_silent (if 1) will cause all transfers to
|
|
3082 be silent
|
|
3083 v45: * made the [user@]hostname:path form a bit more
|
|
3084 restrictive to better handle errors in using
|
|
3085 protocols (e.g. scp:usr@host:file was being
|
|
3086 recognized as an rcp request)
|
|
3087 v44: * changed from "rsync -a" to just "rsync"
|
|
3088 * somehow an editing error messed up the test to
|
|
3089 recognize use of the fetch method for NetRead.
|
|
3090 * more debugging statements included
|
|
3091 v43: * moved "Explanation" comments to <pi_netrw.txt> help
|
|
3092 file as "Network Reference" (|netrw-ref|)
|
|
3093 * <netrw.vim> now uses Dfunc() Decho() and Dret() for
|
|
3094 debugging
|
|
3095 * removed superfluous NetRestorePosn() calls
|
|
3096 v42: * now does BufReadPre and BufReadPost events on
|
|
3097 file:///* and file://localhost/*
|
|
3098 v41: * installed file:///* and file://localhost/* handling
|
|
3099 v40: * prevents redraw when a protocol error occurs so
|
|
3100 that the user may see it
|
|
3101 v39: * sftp support
|
|
3102 v38: * Now uses NetRestorePosn() calls with Nread/Nwrite
|
|
3103 commands
|
|
3104 * Temporary files now removed via bwipe! instead of
|
|
3105 bwipe (thanks to Dave Roberts)
|
|
3106 v37: * Claar's modifications which test if ftp is
|
|
3107 successful, otherwise give an error message
|
|
3108 * After a read, the alternate file was pointing to
|
|
3109 the temp file. The temp file buffer is now wiped
|
|
3110 out.
|
|
3111 * removed silent from transfer methods so user can
|
|
3112 see what's happening
|
7
|
3113
|
|
3114
|
|
3115 ==============================================================================
|
1121
|
3116 12. Credits *netrw-credits* {{{1
|
7
|
3117
|
|
3118 Vim editor by Bram Moolenaar (Thanks, Bram!)
|
|
3119 dav support by C Campbell
|
|
3120 fetch support by Bram Moolenaar and C Campbell
|
534
|
3121 ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
7
|
3122 http support by Bram Moolenaar <bram@moolenaar.net>
|
|
3123 rcp
|
|
3124 rsync support by C Campbell (suggested by Erik Warendorph)
|
|
3125 scp support by raf <raf@comdyn.com.au>
|
|
3126 sftp support by C Campbell
|
|
3127
|
|
3128 inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
|
|
3129
|
|
3130 Jérôme Augé -- also using new buffer method with ftp+.netrc
|
534
|
3131 Bram Moolenaar -- obviously vim itself, :e and v:cmdarg use,
|
1209
|
3132 fetch,...
|
7
|
3133 Yasuhiro Matsumoto -- pointing out undo+0r problem and a solution
|
|
3134 Erik Warendorph -- for several suggestions (g:netrw_..._cmd
|
|
3135 variables, rsync etc)
|
534
|
3136 Doug Claar -- modifications to test for success with ftp
|
1209
|
3137 operation
|
7
|
3138
|
|
3139 ==============================================================================
|
1621
|
3140 Modelines: {{{1
|
459
|
3141 vim:tw=78:ts=8:ft=help:norl:fdm=marker
|