]> granicus.if.org Git - vim/commitdiff
updated for version 7.0125
authorBram Moolenaar <Bram@vim.org>
Mon, 8 Aug 2005 22:00:59 +0000 (22:00 +0000)
committerBram Moolenaar <Bram@vim.org>
Mon, 8 Aug 2005 22:00:59 +0000 (22:00 +0000)
runtime/doc/pi_netrw.txt
runtime/plugin/netrw.vim

index 4a04f72c1e8213e7c74f2237fa940b308bcf6bca..a7e6e3bed6835e44f96a01ad2d55341f50ce61ea 100644 (file)
@@ -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.
index 79a7939223ac25f6e35140d310777264c7af5dbe..edda27a68f45cfa2732fdebaa5ae40fc419e7426 100644 (file)
@@ -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
@@ -2707,6 +2723,19 @@ fun! s:Explore(indx,dosplit,style,...)
 "  call Dret("Explore")
 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.