summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-08-08 22:00:59 +0000
committerBram Moolenaar <Bram@vim.org>2005-08-08 22:00:59 +0000
commitf6cf98757434227f2f5ac81ad3a0efa583238787 (patch)
treefa26c6c14d90c534c34993cb68569b58d3fb50a9 /runtime
parent648120b7504f5a94d561723b168d0860d106cf81 (diff)
updated for version 7.0125
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/pi_netrw.txt64
-rw-r--r--runtime/plugin/netrw.vim61
2 files changed, 85 insertions, 40 deletions
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 4a04f72c1e..a7e6e3bed6 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 7.0. Last change: Aug 04, 2005
+*pi_netrw.txt* For Vim version 7.0. Last change: Aug 08, 2005
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -171,7 +171,7 @@ in your <.vimrc> file: >
example: vim scp://user@host/somefile
example: vim scp://user@host/subdir1/subdir2/somefile
-
+
where "somefile" is the "user"'s home directory. If you wish to get a
file using root-relative paths, use the full path:
@@ -741,8 +741,9 @@ trailing slash and it will be interpreted as a request to list a directory:
If you'd like to avoid entering the password in for directory listings, scp,
ssh interaction, etc, see |netrw-list-hack|.
-
-DIRECTORY EXPLORING COMMANDS *netrw-explore*
+ *netrw-explore* *netrw-pexplore*
+ *netrw-hexplore* *netrw-sexplore*
+DIRECTORY EXPLORING COMMANDS *netrw-nexplore* *netrw-vexplore*
:Explore[!] [dir]... Explore directory of current file
:Sexplore[!] [dir]... Split & Explore directory of current file
@@ -752,38 +753,51 @@ DIRECTORY EXPLORING COMMANDS *netrw-explore*
:Pexplore............. used with **/patterns; go to previous matching file
The Explore command will open the local-directory browser on the current
-file's directory (or on directory [dir] if specified). The window
-will be split only if the file has been modified, otherwise the
-browsing window will take over that window. Normally the splitting is
-taken horizontally; the optional ! will use vertical splitting.
+file's directory (or on directory [dir] if specified). The window will be
+split only if the file has been modified, otherwise the browsing window will
+take over that window. Normally the splitting is taken horizontally; the
+optional ! will use vertical splitting.
Sexplore will always split the window before invoking the local-directory
-browser. As with Explore, the splitting is normally done horizontally,
-but with the optional ! the splitting will be done vertically.
+browser. As with Explore, the splitting is normally done horizontally, but
+with the optional ! the splitting will be done vertically.
Hexplore does an Explore with |belowright| horizontal splitting; the
optional ! does the Explore with |aboveleft| horizontal splitting.
-Vexplore does an Explore with |leftabove| vertical splitting; the optiona
-! does an Explore with |topleft| vertical splitting.
+Vexplore does an Explore with |leftabove| vertical splitting; the
+optional "!" does an Explore with |topleft| vertical splitting.
-(Following needs v7.0 or later)
-When Explore, Sexplore, Hexplore, or Vexplore are used with
-**/filename-patterns, netrw will attempt to find a (sub)directory which
-matches the filename pattern. The Nexplore and Pexplore commands enable
-one to proceed to the next/previous matching file, respectively. If your
-console or gui produce recognizable shift-up or shift-down sequences, then
+(Following needs v7.0 or later) *netrw-starstar*
+When Explore, Sexplore, Hexplore, or Vexplore are used like
+>
+ :Explore **/filename_pattern
+<
+netrw will attempt to find a (sub)directory which matches the filename
+pattern. Internally, it produces a list of files which match the pattern
+and their paths; to that extent it resembles the Unix operation:
+>
+ find $(pwd) -name "$1" -exec "echo" "{}" ";" 2> /dev/null
+<
+The directory display is updated to show the subdirectory containing a
+matching file. One may then proceed to the next (or previous) matching files'
+directories by using Nexplore or Pexplore, respectively. If your console or
+gui produces recognizable shift-up or shift-down sequences, then you'll likely
+find the following mappings convenient:
<s-down> == Nexplore, and
<s-up> == Pexplore.
-As an example, consider >
-
+As an example, consider
+>
:Explore **/*.c
:Nexplore
:Nexplore
:Pexplore
<
+The status line will show, on the right hand side of the status line, a
+message like "Match 3 of 20".
+
REFRESHING THE LISTING *netrw-ctrl-l*
@@ -1066,8 +1080,8 @@ the associated security issues.
<.vimrc> file:
let g:netrw_win95ftp= 1
-
-
+
+
P2. I use windows, and my network browsing with ftp doesn't sort by
time or size
@@ -1113,7 +1127,7 @@ the associated security issues.
How do I do that?
let g:netrw_keepdir= 0
-
+
==============================================================================
9. Debugging *netrw-debug*
@@ -1132,7 +1146,7 @@ which is loaded automatically at startup (assuming :set nocp).
http://vim.sourceforge.net/scripts/script.php?script_id=120
and put it into your local plugin directory.
-
+
2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need
to put it into your .vim/plugin, too. You may obtain it from:
@@ -1165,6 +1179,8 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
10. History *netrw-history*
+ v59: * bugfix -- another keepalt work-around installed (for vim6.3)
+ * "Match # of #" for Explore **/pattern matches
v58: * Explore and relatives can now handle **/somefilepattern (v7)
* Nexplore and Pexplore introduced (v7). shift-down and shift-up
cursor keys will invoke Nexplore and Pexplore, respectively.
diff --git a/runtime/plugin/netrw.vim b/runtime/plugin/netrw.vim
index 79a7939223..edda27a68f 100644
--- a/runtime/plugin/netrw.vim
+++ b/runtime/plugin/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network
-" Last Change: Aug 05, 2005
+" Last Change: Aug 08, 2005
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
-" Version: 58e ASTRO-ONLY
+" Version: 59
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr.
" Permission is hereby granted to use and distribute this code,
@@ -22,7 +22,7 @@
if exists("g:loaded_netrw") || &cp
finish
endif
-let g:loaded_netrw = "v58e"
+let g:loaded_netrw = "v59"
let loaded_explorer = 1
let s:keepcpo = &cpo
set cpo&vim
@@ -2150,7 +2150,11 @@ fun! <SID>LocalBrowse(dirname)
" make this buffer modifiable and hidden
setlocal ma hidden nonu
- keepalt silent! %d
+ if v:version < 700
+ silent! %d
+ else
+ keepalt silent! %d
+ endif
" ---------------------------
" Perform Directory Listing:
@@ -2650,31 +2654,40 @@ fun! s:Explore(indx,dosplit,style,...)
elseif a:1 =~ '\*\*/' || a:indx < 0
if has("path_extra")
- if !exists("s:indx")
- let s:indx= 0
+ if !exists("s:explore_indx")
+ let s:explore_indx= 0
endif
let indx = a:indx
if indx == -1
- let indx= s:indx + 1
+ let indx= s:explore_indx + 1
elseif indx == -2
- let indx= s:indx - 1
+ let indx= s:explore_indx - 1
else
- let s:indx = 0
- let s:explorelist = split(expand(b:netrw_curdir."/".a:1),'\n')
- let s:listlen = len(s:explorelist)
- if s:listlen == 1 && s:explorelist[0] =~ '\*\*\/'
+ let s:explore_indx = 0
+ if !exists("b:netrw_curdir")
+ let b:netrw_curdir = "."
+ endif
+ let s:explorelist = split(expand(b:netrw_curdir."/".a:1),'\n')
+ let s:explore_listlen = len(s:explorelist)
+ if s:explore_listlen == 1 && s:explorelist[0] =~ '\*\*\/'
echohl WarningMsg | echo "***netrw*** no files matched" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("Explore")
return
endif
endif
- let s:indx = indx
-" call Decho("explorelist<".join(s:explorelist,',')."> len=".s:listlen)
+
+ " NetrwStatusLine support
+ let s:explore_indx = indx
+ if !exists("s:netrw_explore_stl")
+ let s:netrw_explore_stl= &stl
+ endif
+ set stl=%f\ %h%m%r%=%{NetrwStatusLine()}
+" call Decho("explorelist<".join(s:explorelist,',')."> len=".s:explore_listlen)
" sanity check
- if indx >= s:listlen || indx < 0
- let indx= (indx < 0)? 0 : ( s:listlen - 1 )
+ if indx >= s:explore_listlen || indx < 0
+ let indx= (indx < 0)? 0 : ( s:explore_listlen - 1 )
echohl WarningMsg | echo "***netrw*** no more files match Explore pattern" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("Explore")
@@ -2688,6 +2701,9 @@ fun! s:Explore(indx,dosplit,style,...)
" call Decho("calling LocalBrowse(newdir<".newdir.">)")
call s:LocalBrowse(newdir)
call search(substitute(dirfile,"^.*/","",""),"W")
+ let s:explore_mtchcnt = indx + 1
+ let s:explore_bufnr = bufnr(".")
+ let s:explore_line = line(".")
else
if v:version < 700
@@ -2708,6 +2724,19 @@ fun! s:Explore(indx,dosplit,style,...)
endfun
" ---------------------------------------------------------------------
+" NetrwStatusLine: {{{2
+fun! NetrwStatusLine()
+ let g:explore_bufnr= s:explore_bufnr
+ let g:explore_line= s:explore_line
+ if !exists("s:explore_bufnr") || s:explore_bufnr != bufnr(".") || !exists("s:explore_line") || s:explore_line != line(".")
+ let &stl= s:netrw_explore_stl
+ return ""
+ else
+ return "Match ".s:explore_mtchcnt." of ".s:explore_listlen
+ endif
+endfun
+
+" ---------------------------------------------------------------------
" NetGetcwd: get the current directory. {{{2
" Change backslashes to forward slashes, if any.
" If doesc is true, escape certain troublesome characters