diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-07-27 22:50:36 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-07-27 22:50:36 +0200 |
commit | 5ac3b1aae2bdcf9f02ac0ebf97836ae3c709c2dc (patch) | |
tree | a9bf2d2349c0c88932c501acd9bba854321aaad8 | |
parent | 8765a4ac3a9dfb994ad7051183353ead25cfbb64 (diff) | |
download | vim-git-5ac3b1aae2bdcf9f02ac0ebf97836ae3c709c2dc.tar.gz |
Updated runtime files. New netrw plugin version.
-rw-r--r-- | runtime/autoload/netrw.vim | 231 | ||||
-rw-r--r-- | runtime/doc/map.txt | 4 | ||||
-rw-r--r-- | runtime/doc/pi_netrw.txt | 55 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 24 | ||||
-rw-r--r-- | runtime/indent/haml.vim | 2 | ||||
-rw-r--r-- | runtime/plugin/netrwPlugin.vim | 6 |
6 files changed, 183 insertions, 139 deletions
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index 70b146d64..b05f81db8 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,10 +1,10 @@ " netrw.vim: Handles file transfer and remote directory listing across " AUTOLOAD SECTION -" Date: May 14, 2010 -" Version: 138 +" Date: Jul 27, 2010 +" Version: 139 " Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim -" Copyright: Copyright (C) 1999-2009 Charles E. Campbell, Jr. {{{1 +" Copyright: Copyright (C) 1999-2010 Charles E. Campbell, Jr. {{{1 " Permission is hereby granted to use and distribute this code, " with or without modifications, provided that this copyright " notice is copied with it. Like anything else that's free, @@ -22,7 +22,7 @@ if &cp || exists("g:loaded_netrw") finish endif -let g:loaded_netrw = "v138" +let g:loaded_netrw = "v139" if v:version < 702 echohl WarningMsg echo "***warning*** this version of netrw needs vim 7.2" @@ -153,6 +153,7 @@ call s:NetrwInit("g:netrw_alto" , &sb) call s:NetrwInit("g:netrw_altv" , &spr) call s:NetrwInit("g:netrw_banner" , 1) call s:NetrwInit("g:netrw_browse_split", 0) +call s:NetrwInit("g:netrw_bufsettings" , "noma nomod nonu nobl nowrap ro") call s:NetrwInit("g:netrw_chgwin" , -1) call s:NetrwInit("g:netrw_compress" , "gzip") call s:NetrwInit("g:netrw_ctags" , "ctags") @@ -163,7 +164,7 @@ if !exists("g:netrw_cursorline") endif " Default values - d-g ---------- {{{3 call s:NetrwInit("g:netrw_dirhist_cnt" , 0) -call s:NetrwInit("g:netrw_decompress" , '{ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf"}') +call s:NetrwInit("g:netrw_decompress" , '{ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf", ".xz" : "unxz" }') call s:NetrwInit("g:netrw_dirhistmax" , 10) call s:NetrwInit("g:netrw_fastbrowse" , 1) call s:NetrwInit("g:netrw_ftp_browse_reject", '^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$') @@ -325,7 +326,7 @@ fun! s:NetrwOptionSave(vt) " call Dret("s:NetrwOptionSave : options already saved") return endif -" call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist")) +" call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist")." diff=".&l:diff) " Save current settings and current directory let s:yykeep = @@ @@ -340,6 +341,7 @@ fun! s:NetrwOptionSave(vt) let {a:vt}netrw_cinokeep = &l:cino let {a:vt}netrw_comkeep = &l:com let {a:vt}netrw_cpokeep = &l:cpo + let {a:vt}netrw_diffkeep = &l:diff if g:netrw_keepdir let {a:vt}netrw_dirkeep = getcwd() endif @@ -349,6 +351,7 @@ fun! s:NetrwOptionSave(vt) let {a:vt}netrw_imkeep = &l:im let {a:vt}netrw_magickeep = &l:magic let {a:vt}netrw_repkeep = &l:report + let {a:vt}netrw_selkeep = &l:sel let {a:vt}netrw_spellkeep = &l:spell let {a:vt}netrw_twkeep = &l:tw " textwidth let {a:vt}netrw_wigkeep = &l:wig " wildignore @@ -398,6 +401,7 @@ fun! s:NetrwOptionRestore(vt) if exists("{a:vt}netrw_cinokeep") |let &l:cino = {a:vt}netrw_cinokeep |unlet {a:vt}netrw_cinokeep |endif if exists("{a:vt}netrw_comkeep") |let &l:com = {a:vt}netrw_comkeep |unlet {a:vt}netrw_comkeep |endif if exists("{a:vt}netrw_cpokeep") |let &l:cpo = {a:vt}netrw_cpokeep |unlet {a:vt}netrw_cpokeep |endif + if exists("{a:vt}netrw_diffkeep") |let &l:diff = {a:vt}netrw_diffkeep |unlet {a:vt}netrw_diffkeep |endif if exists("{a:vt}netrw_dirkeep") && isdirectory({a:vt}netrw_dirkeep) && g:netrw_keepdir let dirkeep = substitute({a:vt}netrw_dirkeep,'\\','/','g') if exists("{a:vt}netrw_dirkeep") |exe "keepjumps lcd ".fnameescape(dirkeep)|unlet {a:vt}netrw_dirkeep |endif @@ -408,6 +412,7 @@ fun! s:NetrwOptionRestore(vt) if exists("{a:vt}netrw_imkeep") |let &l:im = {a:vt}netrw_imkeep |unlet {a:vt}netrw_imkeep |endif if exists("{a:vt}netrw_magic") |let &l:magic = {a:vt}netrw_magic |unlet {a:vt}netrw_magic |endif if exists("{a:vt}netrw_repkeep") |let &l:report = {a:vt}netrw_repkeep |unlet {a:vt}netrw_repkeep |endif + if exists("{a:vt}netrw_selkeep") |let &l:sel = {a:vt}netrw_selkeep |unlet {a:vt}netrw_selkeep |endif if exists("{a:vt}netrw_spellkeep")|let &l:spell = {a:vt}netrw_spellkeep |unlet {a:vt}netrw_spellkeep|endif if exists("{a:vt}netrw_twkeep") |let &l:tw = {a:vt}netrw_twkeep |unlet {a:vt}netrw_twkeep |endif if exists("{a:vt}netrw_wigkeep") |let &l:wig = {a:vt}netrw_wigkeep |unlet {a:vt}netrw_wigkeep |endif @@ -433,6 +438,7 @@ fun! s:NetrwOptionRestore(vt) " call Decho("g:netrw_keepdir=".g:netrw_keepdir.": getcwd<".getcwd()."> acd=".&acd) " call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist")) " call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap) +" call Decho("diff=".&l:diff." win#".winnr()." w:netrw_diffkeep=".(exists("w:netrw_diffkeep")? w:netrw_diffkeep : "doesn't exist")) " call Dret("s:NetrwOptionRestore : win#".winnr()." buf#".bufnr("%")) endfun @@ -450,12 +456,14 @@ fun! s:NetrwSafeOptions() setlocal tw=0 setlocal report=10000 setlocal isk+=@ isk+=* isk+=/ + setlocal sel=inclusive if g:netrw_use_noswf && has("win32") && !has("win95") setlocal noswf endif call s:NetrwCursorline() " allow the user to override safe options +" call Decho("ft<".&ft."> ei=".&ei) if &ft == "netrw" " call Decho("do any netrw FileType autocmds") silent keepalt keepjumps doau FileType netrw @@ -920,7 +928,7 @@ fun! netrw#NetRead(mode,...) unlet b:netrw_method unlet b:netrw_fname endif - if s:FileReadable(tmpfile) && tmpfile !~ '.tar.bz2$' && tmpfile !~ '.tar.gz$' && tmpfile !~ '.zip' && tmpfile !~ '.tar' && readcmd != 't' + if s:FileReadable(tmpfile) && tmpfile !~ '.tar.bz2$' && tmpfile !~ '.tar.gz$' && tmpfile !~ '.zip' && tmpfile !~ '.tar' && readcmd != 't' && tmpfile !~ '.tar.xz$' && tmpfile !~ '.txz' " call Decho("cleanup by deleting tmpfile<".tmpfile.">") call s:NetrwDelete(tmpfile) endif @@ -1371,8 +1379,8 @@ fun! s:NetrwGetFile(readcmd, tfile, method) else let tfile= a:tfile endif -" call Decho("exe silent! keepalt file ".fnameescape(tfile)) - exe "silent! keepalt file ".fnameescape(tfile) +" call Decho("exe sil! keepalt file ".fnameescape(tfile)) + exe "sil! keepalt file ".fnameescape(tfile) " edit temporary file (ie. read the temporary file in) if rfile =~ '\.zip$' @@ -1381,19 +1389,25 @@ fun! s:NetrwGetFile(readcmd, tfile, method) elseif rfile =~ '\.tar$' " call Decho("handling remote tar file with tar#Browse(tfile<".tfile.">)") call tar#Browse(tfile) - elseif rfile =~ '\.tar\.gz' + elseif rfile =~ '\.tar\.gz$' " call Decho("handling remote gzip-compressed tar file") call tar#Browse(tfile) - elseif rfile =~ '\.tar\.bz2' + elseif rfile =~ '\.tar\.bz2$' " call Decho("handling remote bz2-compressed tar file") call tar#Browse(tfile) + elseif rfile =~ '\.tar\.xz$' +" call Decho("handling remote xz-compressed tar file") + call tar#Browse(tfile) + elseif rfile =~ '\.txz$' +" call Decho("handling remote xz-compressed tar file (.txz)") + call tar#Browse(tfile) else " call Decho("edit temporary file") e! endif " rename buffer back to remote filename -" call Decho("exe silent! keepalt file ".fnameescape(rfile)) +" call Decho("exe sil! keepalt file ".fnameescape(rfile)) exe "sil! keepalt file ".fnameescape(rfile) filetype detect " call Dredir("renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">","ls!") @@ -2242,8 +2256,6 @@ fun! s:NetrwBrowse(islocal,dirname) if !exists("s:netrw_initbookhist") call s:NetrwBookHistRead() endif -" call FOTEST(7) -"call Decho("COMBAK#01 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " simplify the dirname (especially for ".."s in dirnames) if a:dirname !~ '^\a\+://' @@ -2251,8 +2263,6 @@ fun! s:NetrwBrowse(islocal,dirname) else let dirname= a:dirname endif -" call FOTEST(8) -"call Decho("COMBAK#02 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") if exists("s:netrw_skipbrowse") unlet s:netrw_skipbrowse @@ -2271,17 +2281,13 @@ fun! s:NetrwBrowse(islocal,dirname) return endif - call s:NetrwOptionSave("w:") -" call FOTEST(9) -"call Decho("COMBAK#03 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") + call s:NetrwOptionSave("w:") " re-instate any marked files if exists("s:netrwmarkfilelist_{bufnr('%')}") " call Decho("clearing marked files") exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/" endif -" call FOTEST(10) -"call Decho("COMBAK#04 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") if a:islocal && exists("w:netrw_acdkeep") && w:netrw_acdkeep " call Decho("handle w:netrw_acdkeep:") @@ -2308,11 +2314,11 @@ fun! s:NetrwBrowse(islocal,dirname) setlocal ma noro " call Decho("setlocal ma noro") let b:netrw_curdir= dirname -" call Decho("exe silent! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)." (bt=".&bt.")") +" call Decho("exe sil! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)." (bt=".&bt.")") exe "sil! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path) - exe "sil keepalt doau BufReadPre ".fnameescape(s:fname) + exe "sil! keepalt doau BufReadPre ".fnameescape(s:fname) silent call netrw#NetRead(2,s:method."://".s:user.s:machine."/".s:path) - if s:path !~ '.tar.bz2$' && s:path !~ '.tar.gz' + if s:path !~ '.tar.bz2$' && s:path !~ '.tar.gz' && s:path !~ '.tar.xz' && s:path !~ '.txz' " netrw.vim and tar.vim have already handled decompression of the tarball; avoiding gzip.vim error exe "sil keepalt doau BufReadPost ".fnameescape(s:fname) endif @@ -2326,8 +2332,6 @@ fun! s:NetrwBrowse(islocal,dirname) " call Dret("s:NetrwBrowse : file<".s:fname.">") return endif -" call FOTEST(11) -"call Decho("COMBAK#05 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " use buffer-oriented WinVars if buffer ones exist but window ones don't {{{3 call s:UseBufWinVars() @@ -2339,8 +2343,6 @@ fun! s:NetrwBrowse(islocal,dirname) " set up menu {{{3 call s:NetrwMenu(1) -" call FOTEST(12) -"call Decho("COMBAK#06 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " set up buffer {{{3 let reusing= s:NetrwGetBuffer(a:islocal,dirname) @@ -2360,12 +2362,10 @@ fun! s:NetrwBrowse(islocal,dirname) " call Dret("s:NetrwBrowse : re-using buffer") return endif -"" call FOTEST(13) " PROBLEM WITH LISTING -"call Decho("COMBAK#07 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " set b:netrw_curdir to the new directory name {{{3 " call Decho("set b:netrw_curdir to the new directory name: (buf#".bufnr("%").")") - let b:netrw_curdir= dirname + let b:netrw_curdir= dirname if b:netrw_curdir =~ '[/\\]$' let b:netrw_curdir= substitute(b:netrw_curdir,'[/\\]$','','e') endif @@ -2383,8 +2383,6 @@ fun! s:NetrwBrowse(islocal,dirname) let b:netrw_curdir= b:netrw_curdir.'/' endif " call Decho("b:netrw_curdir<".b:netrw_curdir.">") -"" call FOTEST(14) " PROBLEM WITH LISTING -"call Decho("COMBAK#08 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " ------------ " (local only) {{{3 @@ -2456,17 +2454,12 @@ fun! s:NetrwBrowse(islocal,dirname) let b:netrw_curdir= dirname " call Decho("b:netrw_curdir<".b:netrw_curdir."> (remote)") endif " (additional remote handling) -"" call FOTEST(15) " PROBLEM WITH LISTING -"call Decho("COMBAK#09 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " ----------------------- " Directory Listing: {{{3 " ----------------------- call s:BrowserMaps(a:islocal) -"" call FOTEST(16) " PROBLEM WITH LISTING call s:PerformListing(a:islocal) -" call FOTEST(17) -"call Decho("COMBAK#10 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") " The s:LocalBrowseShellCmdRefresh() function is called by an autocmd " installed by s:LocalFastBrowser() when g:netrw_fastbrowse <= 1 (ie. slow, medium speed). @@ -2534,7 +2527,7 @@ fun! s:NetrwGetBuffer(islocal,dirname) " call Decho(" re-use w:netrw_treebufnr=".w:netrw_treebufnr) let eikeep= &ei set ei=all - exe "b ".w:netrw_treebufnr + exe "sil! b ".w:netrw_treebufnr let &ei= eikeep " call Dret("s:NetrwGetBuffer : bufnum#".w:netrw_treebufnr."<NetrwTreeListing>") return @@ -2614,7 +2607,7 @@ fun! s:NetrwGetBuffer(islocal,dirname) endif " get enew buffer and name it -or- re-use buffer {{{3 - keepj mark ' + sil! keepj mark ' if bufnum < 0 || !bufexists(bufnum) " call Decho("--get enew buffer and name it (bufexists([bufnum=".bufnum."])=".bufexists(bufnum).")") call s:NetrwEnew(dirname) @@ -2629,7 +2622,7 @@ fun! s:NetrwGetBuffer(islocal,dirname) let s:netrw_treelistnum= s:netrw_treelistnum + 1 endif let w:netrw_treebufnr= bufnr("%") -" call Decho(" exe silent! keepalt file NetrwTreeListing ".fnameescape(s:netrw_treelistnum)) +" call Decho(" exe sil! keepalt file NetrwTreeListing ".fnameescape(s:netrw_treelistnum)) exe 'sil! keepalt file NetrwTreeListing\ '.fnameescape(s:netrw_treelistnum) set bt=nofile noswf nnoremap <silent> <buffer> [ :silent call <SID>TreeListMove('[')<cr> @@ -2641,7 +2634,7 @@ fun! s:NetrwGetBuffer(islocal,dirname) " let v:errmsg= "" " Decho let escdirname= fnameescape(dirname) " call Decho(" errmsg<".v:errmsg."> bufnr(escdirname<".escdirname.">)=".bufnr(escdirname)." bufname()<".bufname(bufnr(escdirname)).">") -" call Decho(' exe silent! keepalt file '.escdirname) +" call Decho(' exe sil! keepalt file '.escdirname) " let v:errmsg= "" " Decho exe 'sil! keepalt file '.escdirname " call Decho(" errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">") @@ -2654,13 +2647,13 @@ fun! s:NetrwGetBuffer(islocal,dirname) set ei=all if getline(2) =~ '^" Netrw Directory Listing' " call Decho(" re-use buffer#".bufnum."<".((bufnum > 0)? bufname(bufnum) : "")."> using: keepalt b ".bufnum) - exe "keepalt b ".bufnum + exe "sil! keepalt b ".bufnum else " call Decho(" reusing buffer#".bufnum."<".((bufnum > 0)? bufname(bufnum) : "")."> using: b ".bufnum) - exe "b ".bufnum + exe "sil! b ".bufnum endif if bufname("%") == '.' -" call Decho("exe silent! keepalt file ".fnameescape(getcwd())) +" call Decho("exe sil! keepalt file ".fnameescape(getcwd())) exe "sil! keepalt file ".fnameescape(getcwd()) endif let &ei= eikeep @@ -2689,8 +2682,8 @@ fun! s:NetrwGetBuffer(islocal,dirname) " call Decho("--do netrw settings: make this buffer#".bufnr("%")." not-a-file, modifiable, not line-numbered, etc--") let fname= expand("%") call s:NetrwListSettings(a:islocal) -" call Decho("exe keepalt file ".fnameescape(fname)) - exe "keepalt file ".fnameescape(fname) +" call Decho("exe sil! keepalt file ".fnameescape(fname)) + exe "sil! keepalt file ".fnameescape(fname) " delete all lines from buffer {{{3 " call Decho("--delete all lines from buffer--") @@ -2831,8 +2824,8 @@ fun! s:NetrwListSettings(islocal) let fname= bufname("%") " call Decho("setlocal bt=nofile nobl ma nonu nowrap noro") setlocal bt=nofile nobl ma nonu nowrap noro -" call Decho("exe keepalt file ".fnameescape(fname)) - exe "keepalt file ".fnameescape(fname) +" call Decho("exe sil! keepalt file ".fnameescape(fname)) + exe "sil! keepalt file ".fnameescape(fname) if g:netrw_use_noswf setlocal noswf endif @@ -2891,7 +2884,7 @@ fun! s:NetrwListStyle(islocal) " clear buffer - this will cause NetrwBrowse/LocalBrowseCheck to do a refresh " call Decho("clear buffer<".expand("%")."> with :%d") - keepj %d + sil! keepj %d " following prevents tree listing buffer from being marked "modified" setlocal nomod @@ -2903,11 +2896,11 @@ fun! s:NetrwListStyle(islocal) call s:NetrwCursorline() " keep cursor on the filename - sil keepj $ + sil! keepj $ let result= search('\%(^\%(|\+\s\)\=\|\s\{2,}\)\zs'.escape(fname,'.\[]*$^').'\%(\s\{2,}\|$\)','bc') " call Decho("search result=".result." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'N/A')) if result <= 0 && exists("w:netrw_bannercnt") - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt endif " call Dret("NetrwListStyle".(exists("w:netrw_liststyle")? ' : w:netrw_liststyle='.w:netrw_liststyle : "")) @@ -3095,6 +3088,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...) endif endif endif + " the point where netrw actually edits the (local) file " if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will if a:islocal @@ -3110,9 +3104,12 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...) " or as a list of function references. It will ignore anything that's not " a function reference. See :help Funcref for information about function references. if exists("g:Netrw_funcref") +" call Decho("handle optional Funcrefs") if type(g:Netrw_funcref) == 2 +" call Decho("handling a g:Netrw_funcref") call g:Netrw_funcref() elseif type(g:Netrw_funcref) == 3 +" call Decho("handling a list of g:Netrw_funcrefs") for Fncref in g:Netrw_funcref if type(FncRef) == 2 call FncRef() @@ -3246,8 +3243,14 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...) call s:NetrwOptionRestore("s:") if dolockout -" call Decho("doing modification lockout settings: ma nomod noro") - setlocal ma nomod noro +" call Decho("filewritable(dirname<".dirname.">)=".filewritable(dirname)) + if filewritable(dirname) +" call Decho("doing modification lockout settings: ma nomod noro") + setlocal ma nomod noro + else +" call Decho("doing modification lockout settings: ma nomod ro") + setlocal ma nomod ro + endif " call Decho("setlocal ma nomod noro") endif @@ -3510,7 +3513,6 @@ fun! netrw#Explore(indx,dosplit,style,...) let curdir = simplify(b:netrw_curdir) let curfiledir = substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e') " call Decho("curdir<".curdir."> curfiledir<".curfiledir.">") -" call FOTEST(1) " save registers sil! let keepregstar = @* @@ -3561,7 +3563,6 @@ fun! netrw#Explore(indx,dosplit,style,...) " call Decho("case a:dosplit=".a:dosplit." AND modified=".&modified." AND a:style=".a:style." is not 6") endif keepj norm! 0 -" call FOTEST(2) if a:0 > 0 " call Decho("case [a:0=".a:0."] > 0: a:1<".a:1.">") @@ -3596,7 +3597,6 @@ fun! netrw#Explore(indx,dosplit,style,...) return endif -" call FOTEST(3) " call Decho("dirname<".dirname.">") if dirname =~ '\.\./\=$' let dirname= simplify(fnamemodify(dirname,':p:h')) @@ -3648,7 +3648,6 @@ fun! netrw#Explore(indx,dosplit,style,...) let starpat= 0 " call Decho("default case: starpat=".starpat) endif -" call FOTEST(4) if starpat == 0 && a:indx >= 0 " [Explore Hexplore Vexplore Sexplore] [dirname] @@ -3875,7 +3874,6 @@ fun! netrw#Explore(indx,dosplit,style,...) call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,newdir)) endif endif -" call FOTEST(5) " visual display of **/ **// */ Exploration files " call Decho("w:netrw_explore_indx=".(exists("w:netrw_explore_indx")? w:netrw_explore_indx : "doesn't exist")) @@ -3920,7 +3918,6 @@ fun! netrw#Explore(indx,dosplit,style,...) echo " " " call Decho("cleared explore match list") endif -" call FOTEST(6) sil! let @* = keepregstar sil! let @+ = keepregstar @@ -4390,7 +4387,7 @@ endfun " using g:netrw_compress_suffix to know which to " do. By default: " g:netrw_compress = "gzip" -" g:netrw_decompress = { ".gz" : "gunzip" , ".bz2" : "bunzip2" , ".zip" : "unzip" , ".tar" : "tar -xf"} +" g:netrw_decompress = { ".gz" : "gunzip" , ".bz2" : "bunzip2" , ".zip" : "unzip" , ".tar" : "tar -xf", ".xz" : "unxz"} fun! s:NetrwMarkFileCompress(islocal) " call Dfunc("s:NetrwMarkFileCompress(islocal=".a:islocal.")") let svpos = netrw#NetrwSavePosn() @@ -4423,6 +4420,7 @@ fun! s:NetrwMarkFileCompress(islocal) endif break endif + unlet sfx endfor if exists("exe") unlet exe @@ -5219,6 +5217,7 @@ fun! s:NetrwMenu(domenu) exe 'sil! menu '.g:NetrwMenuPriority.'.9.4 '.g:NetrwTopLvlMenu.'Browsing\ Control.Refresh\ Listing<tab>'."<ctrl-l> \<c-l>" exe 'sil! menu '.g:NetrwMenuPriority.'.9.5 '.g:NetrwTopLvlMenu.'Browsing\ Control.Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>" exe 'sil! menu '.g:NetrwMenuPriority.'.10 '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D' + exe 'sil! menu '.g:NetrwMenuPriority.'.11.1 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.Create\ New\ File<tab>% %' exe 'sil! menu '.g:NetrwMenuPriority.'.11.1 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Current\ Window<tab><cr> '."\<cr>" exe 'sil! menu '.g:NetrwMenuPriority.'.11.2 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.Preview\ File/Directory<tab>p p' exe 'sil! menu '.g:NetrwMenuPriority.'.11.3 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Previous\ Window<tab>P P' @@ -5814,7 +5813,7 @@ fun! s:NetrwRefresh(islocal,dirname) setlocal ma noro " call Decho("setlocal ma noro") " call Decho("clear buffer<".expand("%")."> with :%d") - keepj %d + sil! keepj %d if a:islocal call netrw#LocalBrowseCheck(a:dirname) else @@ -6093,7 +6092,7 @@ fun! s:NetrwTreeDir() " call Decho("user attempted to close treeroot") " now force a refresh " call Decho("clear buffer<".expand("%")."> with :%d") - keepj %d + sil! keepj %d " call Dret("NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">") return b:netrw_curdir endif @@ -6174,7 +6173,7 @@ fun! s:NetrwTreeDisplay(dir,depth) call s:NetrwTreeDisplay(direntry.'/',depth) else " call Decho("<".entry."> is not a key in treedict (no subtree)") - keepj call setline(line("$")+1,depth.entry) + sil! keepj call setline(line("$")+1,depth.entry) endif endfor " call Dret("NetrwTreeDisplay") @@ -6206,10 +6205,10 @@ fun! s:NetrwTreeListing(dirname) " update the directory listing for the current directory " call Decho("updating dictionary with ".a:dirname.":[..directory listing..]") " call Decho("bannercnt=".w:netrw_bannercnt." line($)=".line("$")) - exe "silent! keepjumps ".w:netrw_bannercnt.',$g@^\.\.\=/$@d' + exe "sil! keepj ".w:netrw_bannercnt.',$g@^\.\.\=/$@d' let w:netrw_treedict[a:dirname]= getline(w:netrw_bannercnt,line("$")) " call Decho("w:treedict[".a:dirname."]= ".string(w:netrw_treedict[a:dirname])) - exe "silent! keepjumps ".w:netrw_bannercnt.",$d" + exe "sil! keepj ".w:netrw_bannercnt.",$d" " if past banner, record word if exists("w:netrw_bannercnt") && line(".") > w:netrw_bannercnt @@ -6263,21 +6262,21 @@ fun! s:NetrwWideListing() let newcolstart = w:netrw_bannercnt + fpc let newcolend = newcolstart + fpc - 1 " call Decho("bannercnt=".w:netrw_bannercnt." fpl=".w:netrw_fpl." fpc=".fpc." newcol[".newcolstart.",".newcolend."]") - silent! let keepregstar = @* + sil! let keepregstar = @* while line("$") >= newcolstart if newcolend > line("$") | let newcolend= line("$") | endif let newcolqty= newcolend - newcolstart exe newcolstart if newcolqty == 0 - exe "sil keepj norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p" + exe "sil! keepj norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p" else - exe "sil keepj norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p' + exe "sil! keepj norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p' endif - exe "sil keepj ".newcolstart.','.newcolend.'d' - exe 'sil keepj '.w:netrw_bannercnt + exe "sil! keepj ".newcolstart.','.newcolend.'d' + exe 'sil! keepj '.w:netrw_bannercnt endwhile silent! let @*= keepregstar - exe "sil keepj ".w:netrw_bannercnt.',$s/\s\+$//e' + exe "sil! keepj ".w:netrw_bannercnt.',$s/\s\+$//e' call histdel("/",-1) setlocal noma nomod ro " call Dret("NetrwWideListing") @@ -6302,7 +6301,7 @@ fun! s:PerformListing(islocal) if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict") " force a refresh for tree listings " call Decho("force refresh for treelisting: clear buffer<".expand("%")."> with :%d") - keepj %d + sil! keepj %d endif " save current directory on directory history list @@ -6316,7 +6315,7 @@ fun! s:PerformListing(islocal) keepj put ='\" '.b:netrw_curdir keepj 1d let w:netrw_bannercnt= 3 - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt else keepj 1 let w:netrw_bannercnt= 1 @@ -6342,7 +6341,7 @@ fun! s:PerformListing(islocal) keepj put ='\" Sorted by '.sortby let w:netrw_bannercnt= w:netrw_bannercnt + 1 endif - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt endif " show copy/move target, if any @@ -6351,15 +6350,15 @@ fun! s:PerformListing(islocal) " call Decho("show copy/move target<".s:netrwmftgt.">") keepj put ='' if s:netrwmftgt_islocal - keepj call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (local)') + sil! keepj call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (local)') else - keepj call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (remote)') + sil! keepj call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (remote)') endif let w:netrw_bannercnt= w:netrw_bannercnt + 1 else " call Decho("s:netrwmftgt does not exist, don't make Copy/Move Tgt") endif - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt endif " Hiding... -or- Showing... {{{3 @@ -6382,14 +6381,14 @@ fun! s:PerformListing(islocal) " bannercnt should index the line just after the banner if g:netrw_banner let w:netrw_bannercnt= w:netrw_bannercnt + 1 - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt " call Decho("bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$")) endif " set up syntax highlighting {{{3 " call Decho("set up syntax highlighting") if has("syntax") - setlocal ft=netrw + setf netrw if !exists("g:syntax_on") || !g:syntax_on setlocal ft= endif @@ -6430,7 +6429,7 @@ fun! s:PerformListing(islocal) endif " remove priority pattern prefix " call Decho("remove priority pattern prefix") - exe 'sil keepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e' + exe 'sil! keepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e' call histdel("/",-1) elseif a:islocal @@ -6438,12 +6437,12 @@ fun! s:PerformListing(islocal) " call Decho("g:netrw_sort_direction=".g:netrw_sort_direction) if g:netrw_sort_direction =~ 'n' " call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort') - exe 'sil keepj '.w:netrw_bannercnt.',$sort'.' '.g:netrw_sort_options + exe 'sil! keepj '.w:netrw_bannercnt.',$sort'.' '.g:netrw_sort_options else " call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort!') - exe 'sil keepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options + exe 'sil! keepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options endif - exe 'sil keepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e' + exe 'sil! keepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e' call histdel("/",-1) endif endif @@ -6451,7 +6450,7 @@ fun! s:PerformListing(islocal) elseif g:netrw_sort_direction =~ 'r' " call Decho('reverse the sorted listing') if !g:netrw_banner || w:netrw_bannercnt < line('$') - exe 'sil keepj '.w:netrw_bannercnt.',$g/^/m '.w:netrw_bannercnt + exe 'sil! keepj '.w:netrw_bannercnt.',$g/^/m '.w:netrw_bannercnt call histdel("/",-1) endif endif @@ -6465,8 +6464,8 @@ fun! s:PerformListing(islocal) if exists("w:netrw_bannercnt") && (line("$") > w:netrw_bannercnt || !g:netrw_banner) " place cursor on the top-left corner of the file listing " call Decho("place cursor on top-left corner of file listing") - exe 'sil keepj '.w:netrw_bannercnt - keepj norm! 0 + exe 'sil! keepj '.w:netrw_bannercnt + sil! keepj norm! 0 endif " record previous current directory @@ -6479,7 +6478,7 @@ fun! s:PerformListing(islocal) " set display to netrw display settings " call Decho("set display to netrw display settings (noma nomod etc)") - setlocal noma nomod nonu nobl nowrap ro + exe "setl ".g:netrw_bufsettings if exists("s:treecurpos") call netrw#NetrwRestorePosn(s:treecurpos) @@ -6586,16 +6585,16 @@ fun! s:NetrwRemoteListing() endif " call Decho("listcmd<".listcmd."> (using g:netrw_ftp_list_cmd)") call s:NetrwRemoteFtpCmd(s:path,listcmd) -" exe "keepj ".w:netrw_bannercnt.',$g/^./call Decho("raw listing: ".getline("."))' +" exe "sil! keepalt keepj ".w:netrw_bannercnt.',$g/^./call Decho("raw listing: ".getline("."))' if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST " shorten the listing " call Decho("generate short listing") - exe "keepj ".w:netrw_bannercnt + exe "sil! keepalt keepj ".w:netrw_bannercnt " cleanup if g:netrw_ftp_browse_reject != "" - exe "sil! keepj g/".g:netrw_ftp_browse_reject."/keepj d" + exe "sil! keepalt keepj g/".g:netrw_ftp_browse_reject."/keepj d" call histdel("/",-1) endif sil! keepj %s/\r$//e @@ -6603,15 +6602,15 @@ fun! s:NetrwRemoteListing() " if there's no ../ listed, then put ./ and ../ in let line1= line(".") - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt let line2= search('^\.\.\/\%(\s\|$\)','cnW') if line2 == 0 " call Decho("netrw is putting ./ and ../ into listing") - keepj put='../' - keepj put='./' + sil! keepj put='../' + sil! keepj put='./' endif - exe "keepj ".line1 - keepjumps norm! 0 + exe "sil! keepj ".line1 + sil! keepj norm! 0 " call Decho("line1=".line1." line2=".line2." line(.)=".line(".")) if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup @@ -6636,25 +6635,25 @@ fun! s:NetrwRemoteListing() " call Decho("listcmd<".listcmd."> (using g:netrw_list_cmd)") if g:netrw_scp_cmd =~ '^pscp' " call Decho("1: exe silent r! ".shellescape(listcmd.s:path, 1)) - exe "silent r! ".listcmd.shellescape(s:path, 1) + exe "sil! keepj r! ".listcmd.shellescape(s:path, 1) " remove rubbish and adjust listing format of 'pscp' to 'ssh ls -FLa' like - keepj g/^Listing directory/keepj d - keepj g/^d[-rwx][-rwx][-rwx]/keepj s+$+/+e - sil keepj g/^l[-rwx][-rwx][-rwx]/keepj s+$+@+e + sil! keepj g/^Listing directory/keepj d + sil! keepj g/^d[-rwx][-rwx][-rwx]/keepj s+$+/+e + sil! keepj g/^l[-rwx][-rwx][-rwx]/keepj s+$+@+e call histdel("/",-1) call histdel("/",-1) call histdel("/",-1) if g:netrw_liststyle != s:LONGLIST - keepj g/^[dlsp-][-rwx][-rwx][-rwx]/keepj s/^.*\s\(\S\+\)$/\1/e + sil! keepj g/^[dlsp-][-rwx][-rwx][-rwx]/keepj s/^.*\s\(\S\+\)$/\1/e call histdel("/",-1) endif else if s:path == "" " call Decho("2: exe silent r! ".listcmd) - exe "sil r! ".listcmd + exe "sil! keepalt r! ".listcmd else " call Decho("3: exe silent r! ".listcmd.' '.shellescape(s:path,1)) - exe "sil r! ".listcmd.' '.shellescape(s:path,1) + exe "sil! keepalt r! ".listcmd.' '.shellescape(s:path,1) " call Decho("listcmd<".listcmd."> path<".s:path.">") endif endif @@ -6662,7 +6661,7 @@ fun! s:NetrwRemoteListing() " cleanup if g:netrw_ftp_browse_reject != "" " call Decho("(cleanup) exe silent! g/".g:netrw_ssh_browse_reject."/keepjumps d") - exe "sil! g/".g:netrw_ssh_browse_reject."/keepjumps d" + exe "sil! g/".g:netrw_ssh_browse_reject."/keepj d" call histdel("/",-1) endif endif @@ -6673,23 +6672,23 @@ fun! s:NetrwRemoteListing() if s:method == "ftp" " cleanup - exe "keepj ".w:netrw_bannercnt + exe "sil! keepj ".w:netrw_bannercnt while getline('.') =~ g:netrw_ftp_browse_reject - keepj d + sil! keepj d endwhile " if there's no ../ listed, then put ./ and ../ in let line1= line(".") - keepj 1 - sil keepj call search('^\.\.\/\%(\s\|$\)','W') + sil! keepj 1 + sil! keepj call search('^\.\.\/\%(\s\|$\)','W') let line2= line(".") if line2 == 0 - exe 'keepj '.w:netrw_bannercnt."put='./'" + exe 'sil! keepj '.w:netrw_bannercnt."put='./'" if b:netrw_curdir != '/' - exe 'keepj '.w:netrw_bannercnt."put='../'" + exe 'sil! keepj '.w:netrw_bannercnt."put='../'" endif endif - exe "keepj ".line1 - keepjumps norm! 0 + exe "sil! keepj ".line1 + sil! keepj norm! 0 endif if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup @@ -6796,7 +6795,7 @@ fun! s:NetrwRemoteRmFile(path,rmfile,all) if path =~ '^\a\+://' let path= substitute(path,'^\a\+://[^/]\+/','','') endif - silent! keepjumps .,$d + sil! keepj .,$d call s:NetrwRemoteFtpCmd(path,"delete ".'"'.a:rmfile.'"') else " call Decho("case ssh: g:netrw_rm_cmd<".g:netrw_rm_cmd.">") @@ -7868,8 +7867,10 @@ fun! s:GetTempfile(fname) if a:fname != "" if a:fname =~ '\.[^./]\+$' " call Decho("using fname<".a:fname.">'s suffix") - if a:fname =~ '.tar.gz' || a:fname =~ '.tar.bz2' + if a:fname =~ '\.tar\.gz$' || a:fname =~ '\.tar\.bz2$' || a:fname =~ '\.tar\.xz$' let suffix = ".tar".substitute(a:fname,'^.*\(\.[^./]\+\)$','\1','e') + elseif a:fname =~ '.txz$' + let suffix = ".txz".substitute(a:fname,'^.*\(\.[^./]\+\)$','\1','e') else let suffix = substitute(a:fname,'^.*\(\.[^./]\+\)$','\1','e') endif @@ -8023,7 +8024,9 @@ fun! s:NetrwEnew(...) call s:NetrwOptionRestore("w:") " call Decho("generate a buffer with keepjumps keepalt enew!") + let netrw_keepdiff= &l:diff keepj keepalt enew! + let &l:diff= netrw_keepdiff " call Decho("bufnr($)=".bufnr("$")) call s:NetrwOptionSave("w:") diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 153cd7fb3..7c4a95442 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.3c. Last change: 2010 Jul 20 +*map.txt* For Vim version 7.3c. Last change: 2010 Jul 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1266,6 +1266,8 @@ the 'path' option: > : return split(globpath(&path, a:A), "\n") :endfun < +This example does not work for file names with spaces! + Range handling *E177* *E178* *:command-range* *:command-count* diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 52df67c8f..193138bb9 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.3c. Last change: 2010 May 14 +*pi_netrw.txt* For Vim version 7.3c. Last change: 2010 Jul 27 ----------------------------------------------------- NETRW REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -318,15 +318,24 @@ settings are described below, in |netrw-browser-options|, and in *b:netrw_lastfile* last file Network-read/written retained on a per-buffer basis (supports plain :Nw ) + *g:netrw_bufsettings* the settings that netrw buffers have + (default) noma nomod nonu nowrap ro nobl + *g:netrw_chgwin* specifies a window number where file edits will take place. (also see |netrw-C|) (default) not defined - *g:Netrw_funcref* specifies a function to be called when netrw edits - a file. The file is first edited, and then the - function reference (|Funcref|) is called. + *g:Netrw_funcref* specifies a function (or functions) to be called when + netrw edits a file. The file is first edited, and + then the function reference (|Funcref|) is called. + This variable may also hold a |List| of Funcrefs. (default) not defined - +> + Example: place in .vimrc; affects all file opening + fun! MyFuncRef() + endfun + let g:Netrw_funcref= function("MyFuncRef") +< *g:netrw_ftp* if it doesn't exist, use default ftp =0 use default ftp (uid password) =1 use alternate ftp method (user uid password) @@ -456,7 +465,7 @@ browsed remote directories, for example. On the other hand, thanks go to Jan M. for pointing out the many vulnerabilities that netrw (and vim itself) had had in handling "crafted" filenames. The |shellescape()| and |fnameescape()| functions were written in -response by Bram Moolenaar to handle this sort of problems, and netrw has +response by Bram Moolenaar to handle these sort of problems, and netrw has been modified to use them. Still, my advice is, if the "filename" looks like a vim command that you aren't comfortable with having executed, don't open it. @@ -589,7 +598,7 @@ password. PASSWORD *netrw-passwd* The script attempts to get passwords for ftp invisibly using |inputsecret()|, -a built-in Vim function. See |NetUserPass()| for how to change the password +a built-in Vim function. See |netrw-uidpass| for how to change the password after one has set it. Unfortunately there doesn't appear to be a way for netrw to feed a password to @@ -778,8 +787,10 @@ variables listed below, and may be modified by the user. The g:netrw_..._cmd options (|g:netrw_ftp_cmd| and |g:netrw_sftp_cmd|) specify the external program to use handle the ftp protocol. They may -include command line options (such as -p for passive mode). +include command line options (such as -p for passive mode). Example: > + let g:netrw_ftp_cmd= "ftp -p" +< Browsing is supported by using the |g:netrw_list_cmd|; the substring "HOSTNAME" will be changed via substitution with whatever the current request is for a hostname. @@ -803,7 +814,7 @@ temporary file: get filename tempfile > --------------------------------------------------------------------- < -The |g:netrw_ftpmode| and g:netrw_extracmd are optional. +The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional. Netrw then executes the lines above by use of a filter: > @@ -2544,13 +2555,13 @@ Associated setting variables: |g:netrw_chgwin| (Vit Gottwald) How to generate public/private key and save public key it on server: > - http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready - 8.3 Getting ready for public key authentication + http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter8.html#pubkey-gettingready + (8.3 Getting ready for public key authentication) < How to use a private key with 'pscp': > - http://www.tartarus.org/~simon/puttydoc/Chapter5.html - 5.2.4 Using public key authentication with PSCP + http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter5.html + (5.2.4 Using public key authentication with PSCP) < (Ben Schmidt) I find the ssh included with cwRsync is brilliant, and install cwRsync or cwRsyncServer on most @@ -2695,9 +2706,25 @@ which is loaded automatically at startup (assuming :set nocp). ============================================================================== 12. History *netrw-history* {{{1 + v139: May 14, 2010 * when viewing remote directory listings and + changing listing style, going to tree listing + mode was issuing two rather useless messages + about the buffer name. They have now been + silenced. + * (Jean Johner) with "behave mswin", clicking + on a filename in wide mode opened a new file + with a missing first letter + * (Britton Kerin) wanted netrw listings to be + buflisted; the |g:netrw_bufsettings| option + permits that. + * (John Orr) pointed out that the intended maparg + test for gx was actually testing for g rather + than gx. Fixed. + Jun 18, 2010 * (Jan Steffens) added support for xz compression + Jun 23, 2010 * vimdiff dir1 dir2 now works v138: May 01, 2010 * added the bomb setting to the Save-Set-Restore option handling (for Tony M) - * (Bram Moolenaar) netrw optionally sets cursorline + May 14, 2010 * (Bram Moolenaar) netrw optionally sets cursorline (and sometimes cursorcolumn) for its display. This option setting was leaking through with remote file handling. diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 1759b72ff..e2d51634c 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3c. Last change: 2010 Jul 26 +*todo.txt* For Vim version 7.3c. Last change: 2010 Jul 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,17 +30,29 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- +Problem with concealends in v50 of tex.vim? (Charles Campbell, 2010 Jul 26) +Fixed by patch from Vince? + +Conceal problem: CTRL-L draws differently than individual line. (Benjamin +Fritz, 2010 Jul 27) + Access to free memory with :redir command. (Dominique Pelle, 2010 Jul 25) -Easier way to reproduce in later message. +Easier way to reproduce in later message. (2010 Jul 26) +call get_lval() again in var_redir_stop(). Patch for VMS. Zoltan Arpadffy, 2010 Jul 26. -Patch for :find completion. (Nazri Ramliy) -But I prefer to keep term.h and include/term.h Nazri will work on it. +Patch for :find completion. (Nazri Ramliy, 2010 Jul 27, and leak fix) -Move more common code from if_python.c and if_python3.c to if_py_both.h +Windows 7: "Open with..." menu starts Vim without a file. -Problem with concealends in v50 of tex.vim? (Charles Campbell, 2010 Jul 26) +Windows 7: installing Vim again doesn't find the previously installed Vim. + +ftplugin/mupad.vim should not source AppendMatchGroup.vim, it should use an +autoload function. +Same for indent/GenericIndent.vim + +Move more common code from if_python.c and if_python3.c to if_py_both.h Add filetype completion to user commands. (Christian Brabandt, 2010 Jul 26) But call it "filetype" instead of "syntax". diff --git a/runtime/indent/haml.vim b/runtime/indent/haml.vim index 079bd0513..58c030720 100644 --- a/runtime/indent/haml.vim +++ b/runtime/indent/haml.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Haml " Maintainer: Tim Pope <vimNOSPAM@tpope.org> -" Last Change: 2008 Sep 11 +" Last Change: 2010 May 21 if exists("b:did_indent") finish diff --git a/runtime/plugin/netrwPlugin.vim b/runtime/plugin/netrwPlugin.vim index f96896495..25a42629c 100644 --- a/runtime/plugin/netrwPlugin.vim +++ b/runtime/plugin/netrwPlugin.vim @@ -1,6 +1,6 @@ " netrwPlugin.vim: Handles file transfer and remote directory listing across a network " PLUGIN SECTION -" Date: Aug 10, 2008 +" Date: Jul 27, 2010 " Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1 @@ -20,7 +20,7 @@ if &cp || exists("g:loaded_netrwPlugin") finish endif -let g:loaded_netrwPlugin = "v138" +let g:loaded_netrwPlugin = "v139" if v:version < 702 echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None finish @@ -81,7 +81,7 @@ com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings() com! -bang NetrwClean call netrw#NetrwClean(<bang>0) " Maps: -if !exists("g:netrw_nogx") && maparg('g','n') == "" +if !exists("g:netrw_nogx") && maparg('gx','n') == "" if !hasmapto('<Plug>NetrwBrowseX') nmap <unique> gx <Plug>NetrwBrowseX endif |