diff options
author | Bram Moolenaar <Bram@vim.org> | 2011-10-20 22:22:38 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2011-10-20 22:22:38 +0200 |
commit | 1514667a24c00c247d8527e9a2e12dba97ca9d85 (patch) | |
tree | b5f8c262ed1763dd64224736e374ec90de5df4d9 | |
parent | e3cc6d422367e5d7a0a15c69480313644caefd01 (diff) | |
download | vim-1514667a24c00c247d8527e9a2e12dba97ca9d85.zip |
Updated runtime files.
-rw-r--r-- | runtime/autoload/netrw.vim | 676 | ||||
-rw-r--r-- | runtime/autoload/vimball.vim | 32 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 4 | ||||
-rw-r--r-- | runtime/doc/map.txt | 13 | ||||
-rw-r--r-- | runtime/doc/mbyte.txt | 6 | ||||
-rw-r--r-- | runtime/doc/netbeans.txt | 2 | ||||
-rw-r--r-- | runtime/doc/options.txt | 6 | ||||
-rw-r--r-- | runtime/doc/pattern.txt | 9 | ||||
-rw-r--r-- | runtime/doc/pi_netrw.txt | 129 | ||||
-rw-r--r-- | runtime/doc/pi_vimball.txt | 4 | ||||
-rw-r--r-- | runtime/doc/syntax.txt | 4 | ||||
-rw-r--r-- | runtime/doc/tags | 13 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 76 | ||||
-rw-r--r-- | runtime/doc/various.txt | 6 | ||||
-rw-r--r-- | runtime/filetype.vim | 7 | ||||
-rw-r--r-- | runtime/indent/r.vim | 14 | ||||
-rw-r--r-- | runtime/indent/vhdl.vim | 45 | ||||
-rw-r--r-- | runtime/plugin/netrwPlugin.vim | 23 | ||||
-rw-r--r-- | runtime/plugin/vimballPlugin.vim | 2 | ||||
-rw-r--r-- | runtime/syntax/gitolite.vim | 80 | ||||
-rw-r--r-- | runtime/syntax/netrw.vim | 4 | ||||
-rw-r--r-- | runtime/syntax/php.vim | 10 | ||||
-rw-r--r-- | runtime/syntax/rhelp.vim | 8 | ||||
-rw-r--r-- | runtime/syntax/sqr.vim | 12 | ||||
-rw-r--r-- | runtime/syntax/tex.vim | 10 | ||||
-rw-r--r-- | src/po/de.po | 2 |
26 files changed, 842 insertions, 355 deletions
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim index ab6370a8e..2c85bf8d4 100644 --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,7 +1,7 @@ " netrw.vim: Handles file transfer and remote directory listing across " AUTOLOAD SECTION -" Date: May 31, 2011 -" Version: 142 +" Date: Sep 26, 2011 +" Version: 143 " Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM> " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 1999-2010 Charles E. Campbell, Jr. {{{1 @@ -22,7 +22,7 @@ if &cp || exists("g:loaded_netrw") finish endif -let g:loaded_netrw = "v142" +let g:loaded_netrw = "v143" if v:version < 702 echohl WarningMsg echo "***warning*** this version of netrw needs vim 7.2" @@ -226,6 +226,7 @@ if !exists("g:netrw_localcopycmd") endif endif call s:NetrwInit("g:netrw_local_mkdir","mkdir") +call s:NetrwInit("g:netrw_remote_mkdir","mkdir") if !exists("g:netrw_localmovecmd") if has("win32") || has("win95") || has("win64") || has("win16") if g:netrw_cygwin @@ -278,7 +279,7 @@ call s:NetrwInit("g:netrw_sort_options" , "") call s:NetrwInit("g:netrw_sort_direction", "normal") " alternative: reverse (z y x ...) if !exists("g:netrw_sort_sequence") if has("unix") - let g:netrw_sort_sequence= '[\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$' + let g:netrw_sort_sequence= '[\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$' else let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$' endif @@ -312,9 +313,11 @@ call s:NetrwInit("s:netrw_map_escape","<|\n\r\\\<C-V>\"") " ====================== " Netrw Initialization: {{{1 " ====================== -if v:version >= 700 && has("balloon_eval") && &beval == 0 - let &l:bexpr= "netrw#NetrwBalloonHelp()" +if v:version >= 700 && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on") + let s:initbeval = &beval + let &l:bexpr = "netrw#NetrwBalloonHelp()" set beval + au BufWinEnter,WinEnter * if &ft == "netrw"|set beval|else|let &beval= s:initbeval|endif endif " ============================== @@ -323,12 +326,12 @@ endif " --------------------------------------------------------------------- " netrw#NetrwBalloonHelp: {{{2 -if v:version >= 700 && has("balloon_eval") && &beval == 1 +if v:version >= 700 && has("balloon_eval") && &beval == 1 && has("syntax") && exists("g:syntax_on") fun! netrw#NetrwBalloonHelp() - if !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt + if !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt || (exists("g:netrw_nobeval") && g:netrw_nobeval) let mesg= "" elseif v:beval_text == "Netrw" || v:beval_text == "Directory" || v:beval_text == "Listing" - let mesg = "i: thin-long-wide-tree gh: quick hide/unhide of dot-files qf: quick file info" + let mesg = "i: thin-long-wide-tree gh: quick hide/unhide of dot-files qf: quick file info %:open new file" elseif getline(v:beval_lnum) =~ '^"\s*/' let mesg = "<cr>: edit/enter o: edit/enter in horiz window t: edit/enter in new tab v:edit/enter in vert window" elseif v:beval_text == "Sorted" || v:beval_text == "by" @@ -369,11 +372,12 @@ fun! s:NetrwOptionSave(vt) " Save current settings and current directory let s:yykeep = @@ - if exists("&l:acd") - let {a:vt}netrw_acdkeep = &l:acd - endif + if exists("&l:acd")|let {a:vt}netrw_acdkeep = &l:acd|endif let {a:vt}netrw_aikeep = &l:ai let {a:vt}netrw_awkeep = &l:aw + let {a:vt}netrw_bhkeep = &l:bh + let {a:vt}netrw_blkeep = &l:bl + let {a:vt}netrw_btkeep = &l:bt let {a:vt}netrw_bombkeep = &l:bomb let {a:vt}netrw_cikeep = &l:ci let {a:vt}netrw_cinkeep = &l:cin @@ -381,19 +385,35 @@ fun! s:NetrwOptionSave(vt) 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 + let {a:vt}netrw_fenkeep = &l:fen + let {a:vt}netrw_ffkeep = &l:ff let {a:vt}netrw_fokeep = &l:fo " formatoptions let {a:vt}netrw_gdkeep = &l:gd " gdefault let {a:vt}netrw_hidkeep = &l:hidden let {a:vt}netrw_imkeep = &l:im + let {a:vt}netrw_iskkeep = &l:isk + let {a:vt}netrw_lskeep = &l:ls + let {a:vt}netrw_makeep = &l:ma let {a:vt}netrw_magickeep = &l:magic + let {a:vt}netrw_modkeep = &l:mod + let {a:vt}netrw_nukeep = &l:nu let {a:vt}netrw_repkeep = &l:report + let {a:vt}netrw_rokeep = &l:ro let {a:vt}netrw_selkeep = &l:sel let {a:vt}netrw_spellkeep = &l:spell + let {a:vt}netrw_tskeep = &l:ts let {a:vt}netrw_twkeep = &l:tw " textwidth let {a:vt}netrw_wigkeep = &l:wig " wildignore + let {a:vt}netrw_wrapkeep = &l:wrap + let {a:vt}netrw_writekeep = &l:write + if g:netrw_use_noswf && has("win32") && !has("win95") + let {a:vt}netrw_swfkeep = &l:swf + endif + + " save a few selected netrw-related variables + if g:netrw_keepdir + let {a:vt}netrw_dirkeep = getcwd() + endif if has("win32") && !has("win95") let {a:vt}netrw_swfkeep = &l:swf " swapfile endif @@ -408,6 +428,13 @@ endfun fun! s:NetrwOptionRestore(vt) " call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")." winnr($)=".winnr("$")) if !exists("{a:vt}netrw_optionsave") + if exists("s:nbcd_curpos_{bufnr('%')}") +" call Decho("restoring previous position") + keepj call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')}) +" unlet s:nbcd_curpos_{bufnr('%')} + else +" call Decho("no previous position") + endif " call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap) " call Dret("s:NetrwOptionRestore : ".a:vt."netrw_optionsave doesn't exist") return @@ -421,7 +448,7 @@ fun! s:NetrwOptionRestore(vt) let &l:acd = {a:vt}netrw_acdkeep unlet {a:vt}netrw_acdkeep if &l:acd -" call Decho("exe keepjumps lcd ".fnameescape(curdir)) " NOTE: was g:netrw_fname_escape for some reason +" call Decho("exe keepj lcd ".fnameescape(curdir)) " NOTE: was g:netrw_fname_escape for some reason try if !exists("&l:acd") && !&l:acd exe 'keepj lcd '.fnameescape(curdir) @@ -434,6 +461,9 @@ fun! s:NetrwOptionRestore(vt) endif if exists("{a:vt}netrw_aikeep") |let &l:ai = {a:vt}netrw_aikeep |unlet {a:vt}netrw_aikeep |endif if exists("{a:vt}netrw_awkeep") |let &l:aw = {a:vt}netrw_awkeep |unlet {a:vt}netrw_awkeep |endif + if exists("{a:vt}netrw_bhkeep") |let &l:bh = {a:vt}netrw_bhkeep |unlet {a:vt}netrw_bhkeep |endif + if exists("{a:vt}netrw_blkeep") |let &l:bl = {a:vt}netrw_blkeep |unlet {a:vt}netrw_blkeep |endif + if exists("{a:vt}netrw_btkeep") |let &l:bt = {a:vt}netrw_btkeep |unlet {a:vt}netrw_btkeep |endif if exists("{a:vt}netrw_bombkeep") |let &l:bomb = {a:vt}netrw_bombkeep |unlet {a:vt}netrw_bombkeep |endif if exists("{a:vt}netrw_cikeep") |let &l:ci = {a:vt}netrw_cikeep |unlet {a:vt}netrw_cikeep |endif if exists("{a:vt}netrw_cinkeep") |let &l:cin = {a:vt}netrw_cinkeep |unlet {a:vt}netrw_cinkeep |endif @@ -441,20 +471,27 @@ fun! s:NetrwOptionRestore(vt) 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 - endif + if exists("{a:vt}netrw_fenkeep") |let &l:fen = {a:vt}netrw_fenkeep |unlet {a:vt}netrw_fenkeep |endif + if exists("{a:vt}netrw_ffkeep") |let &l:ff = {a:vt}netrw_ffkeep |unlet {a:vt}netrw_ffkeep |endif if exists("{a:vt}netrw_fokeep") |let &l:fo = {a:vt}netrw_fokeep |unlet {a:vt}netrw_fokeep |endif if exists("{a:vt}netrw_gdkeep") |let &l:gd = {a:vt}netrw_gdkeep |unlet {a:vt}netrw_gdkeep |endif if exists("{a:vt}netrw_hidkeep") |let &l:hidden = {a:vt}netrw_hidkeep |unlet {a:vt}netrw_hidkeep |endif 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_iskkeep") |let &l:isk = {a:vt}netrw_iskkeep |unlet {a:vt}netrw_iskkeep |endif + if exists("{a:vt}netrw_lskeep") |let &l:ls = {a:vt}netrw_lskeep |unlet {a:vt}netrw_lskeep |endif + if exists("{a:vt}netrw_makeep") |let &l:ma = {a:vt}netrw_makeep |unlet {a:vt}netrw_makeep |endif + if exists("{a:vt}netrw_magickeep")|let &l:magic = {a:vt}netrw_magickeep |unlet {a:vt}netrw_magickeep|endif + if exists("{a:vt}netrw_modkeep") |let &l:mod = {a:vt}netrw_modkeep |unlet {a:vt}netrw_modkeep |endif + if exists("{a:vt}netrw_nukeep") |let &l:nu = {a:vt}netrw_nukeep |unlet {a:vt}netrw_nukeep |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_rokeep") |let &l:ro = {a:vt}netrw_rokeep |unlet {a:vt}netrw_rokeep |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_tskeep") |let &l:ts = {a:vt}netrw_tskeep |unlet {a:vt}netrw_tskeep |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 + if exists("{a:vt}netrw_wrapkeep") |let &l:wrap = {a:vt}netrw_wrapkeep |unlet {a:vt}netrw_wrapkeep |endif + if exists("{a:vt}netrw_writekeep")|let &l:write = {a:vt}netrw_writekeep |unlet {a:vt}netrw_writekeep|endif if exists("s:yykeep") |let @@ = s:yykeep |unlet s:yykeep |endif if exists("{a:vt}netrw_swfkeep") if &directory == "" @@ -471,8 +508,19 @@ fun! s:NetrwOptionRestore(vt) unlet {a:vt}netrw_swfkeep endif 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 "keepj lcd ".fnameescape(dirkeep)|unlet {a:vt}netrw_dirkeep |endif + endif if exists("{a:vt}netrw_regstar") |sil! let @*= {a:vt}netrw_regstar |unlet {a:vt}netrw_regstar |endif if exists("{a:vt}netrw_regslash")|sil! let @/= {a:vt}netrw_regslash|unlet {a:vt}netrw_regslash|endif + if exists("s:nbcd_curpos_{bufnr('%')}") +" call Decho("restoring previous position") + keepj call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')}) +" unlet s:nbcd_curpos_{bufnr('%')} + else +" call Decho("no previous position") + endif " call Decho("g:netrw_keepdir=".g:netrw_keepdir.": getcwd<".getcwd()."> acd=".&acd) " call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist")) @@ -486,16 +534,25 @@ endfun fun! s:NetrwSafeOptions() " call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%"))."> winnr($)=".winnr("$")) " call Decho("win#".winnr()."'s ft=".&ft) + if exists("&acd") | setlocal noacd | endif + setlocal noai + setlocal noaw + setlocal nobomb + setlocal noci + setlocal nocin setlocal cino= setlocal com= setlocal cpo-=aA - if exists("&acd") | setlocal noacd | endif - setlocal nocin noai nobomb noci magic nospell nohid wig= noaw noim setlocal fo=nroql2 - setlocal tw=0 - setlocal report=10000 + setlocal nohid + setlocal noim setlocal isk+=@ isk+=* isk+=/ + setlocal magic + setlocal report=10000 setlocal sel=inclusive + setlocal nospell + setlocal tw=0 + setlocal wig= if g:netrw_use_noswf && has("win32") && !has("win95") setlocal noswf endif @@ -505,7 +562,7 @@ fun! s:NetrwSafeOptions() " call Decho("ft<".&ft."> ei=".&ei) if &ft == "netrw" " call Decho("do any netrw FileType autocmds") - sil keepalt keepj doau FileType netrw + sil! keepalt keepj doau FileType netrw endif " call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist")) @@ -679,7 +736,7 @@ fun! netrw#NetRead(mode,...) " Check if NetrwBrowse() should be handling this request " call Decho("checking if NetrwBrowse() should handle choice<".choice."> with netrw_list_cmd<".g:netrw_list_cmd.">") - if choice =~ "^.*[\/]$" && b:netrw_method != 5 && choice !~ '^http://' + if choice =~ "^.*[\/]$" && b:netrw_method != 5 && choice !~ '^https\=://' " call Decho("yes, choice matches '^.*[\/]$'") keepj call s:NetrwBrowse(0,choice) " call Dret("netrw#NetRead :3 getcwd<".getcwd().">") @@ -926,7 +983,7 @@ fun! netrw#NetRead(mode,...) endif " call Dret("NetRead") endif - if exists("g:netrw_option") && g:netrw_option == ":http" + if exists("g:netrw_option") && g:netrw_option == ":https\=" let netrw_option= "http" else let netrw_option= "ftp" @@ -1360,7 +1417,7 @@ fun! netrw#NetSource(...) echomsg ':Nsource dav://machine[:port]/path uses cadaver' echomsg ':Nsource fetch://machine/path uses fetch' echomsg ':Nsource ftp://[user@]machine[:port]/path uses ftp autodetects <.netrc>' - echomsg ':Nsource http://[user@]machine/path uses http wget' + echomsg ':Nsource http[s]://[user@]machine/path uses http wget' echomsg ':Nsource rcp://[user@]machine/path uses rcp' echomsg ':Nsource rsync://machine[:port]/path uses rsync' echomsg ':Nsource scp://[user@]machine[[:#]port]/path uses scp' @@ -1506,7 +1563,7 @@ endfun " 2: ftp + <.netrc> " 3: ftp + machine, id, password, and [path]filename " 4: scp -" 5: http (wget) +" 5: http[s] (wget) " 6: dav " 7: rsync " 8: fetch @@ -1556,21 +1613,24 @@ fun! s:NetrwMethod(choice) " rcpurm : rcp://[user@]host/filename Use rcp " rcphf : [user@]host:filename Use rcp " scpurm : scp://[user@]host[[#:]port]/filename Use scp - " httpurm : http://[user@]host/filename Use wget + " httpurm : http[s]://[user@]host/filename Use wget " davurm : dav[s]://host[:port]/path Use cadaver/curl " rsyncurm : rsync://host[:port]/path Use rsync " fetchurm : fetch://[user@]host[:http]/filename Use fetch (defaults to ftp, override for http) " sftpurm : sftp://[user@]host/filename Use scp let mipf = '^\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)$' let mf = '^\(\S\+\)\s\+\(\S\+\)$' - let ftpurm = '^ftp://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$' - let rcpurm = '^rcp://\%(\([^/@]\{-}\)@\)\=\([^/]\{-}\)/\(.*\)$' +" let ftpurm = '^ftp://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$' +" let rcpurm = '^rcp://\%(\([^/@]\{-}\)@\)\=\([^/]\{-}\)/\(.*\)$' +" let fetchurm = '^fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$' + let ftpurm = '^ftp://\(\([^/]*\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$' + let rcpurm = '^rcp://\%(\([^/]*\)@\)\=\([^/]\{-}\)/\(.*\)$' let rcphf = '^\(\(\h\w*\)@\)\=\(\h\w*\):\([^@]\+\)$' let scpurm = '^scp://\([^/#:]\+\)\%([#:]\(\d\+\)\)\=/\(.*\)$' - let httpurm = '^http://\([^/]\{-}\)\(/.*\)\=$' + let httpurm = '^https\=://\([^/]\{-}\)\(/.*\)\=$' let davurm = '^davs\=://\([^/]\+\)/\(.*/\)\([-_.~[:alnum:]]\+\)$' let rsyncurm = '^rsync://\([^/]\{-}\)/\(.*\)\=$' - let fetchurm = '^fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$' + let fetchurm = '^fetch://\(\([^/]*\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$' let sftpurm = '^sftp://\([^/]\{-}\)/\(.*\)\=$' " call Decho("determine method:") @@ -1594,7 +1654,7 @@ fun! s:NetrwMethod(choice) let g:netrw_port = substitute(a:choice,scpurm,'\2',"") let b:netrw_fname = substitute(a:choice,scpurm,'\3',"") - " Method#5: http://user@hostname/...path-to-file {{{3 + " Method#5: http[s]://user@hostname/...path-to-file {{{3 elseif match(a:choice,httpurm) == 0 " call Decho("http://...") let b:netrw_method = 5 @@ -1605,7 +1665,7 @@ fun! s:NetrwMethod(choice) elseif match(a:choice,davurm) == 0 " call Decho("dav://...") let b:netrw_method= 6 - if a:choice =~ '^s' + if a:choice =~ 'davs:' let g:netrw_machine= 'https://'.substitute(a:choice,davurm,'\1/\2',"") else let g:netrw_machine= 'http://'.substitute(a:choice,davurm,'\1/\2',"") @@ -1842,50 +1902,7 @@ fun! s:NetrwMaps(islocal) if a:islocal " call Decho("make local maps") - inoremap <buffer> <silent> a <c-o>:call <SID>NetrwHide(1)<cr> - inoremap <buffer> <silent> c <c-o>:exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr> - inoremap <buffer> <silent> C <c-o>:let g:netrw_chgwin= winnr()<cr> - inoremap <buffer> <silent> % <c-o>:call <SID>NetrwOpenFile(1)<cr> - inoremap <buffer> <silent> - <c-o>:exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr> - inoremap <buffer> <silent> <cr> <c-o>:call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr> - inoremap <buffer> <silent> d <c-o>:call <SID>NetrwMakeDir("")<cr> - inoremap <buffer> <silent> gb <c-o>:<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_curdir)<cr> - inoremap <buffer> <silent> gh <c-o>:<c-u>call <SID>NetrwHidden(1)<cr> - inoremap <buffer> <silent> gp <c-o>:<c-u>call <SID>NetrwChgPerm(1,b:netrw_curdir)<cr> - inoremap <buffer> <silent> I <c-o>:call <SID>NetrwBannerCtrl(1)<cr> - inoremap <buffer> <silent> i <c-o>:call <SID>NetrwListStyle(1)<cr> - inoremap <buffer> <silent> mb <c-o>:<c-u>call <SID>NetrwBookHistHandler(0,b:netrw_curdir)<cr> - inoremap <buffer> <silent> mB <c-o>:<c-u>call <SID>NetrwBookHistHandler(6,b:netrw_curdir)<cr> - inoremap <buffer> <silent> mc <c-o>:<c-u>call <SID>NetrwMarkFileCopy(1)<cr> - inoremap <buffer> <silent> md <c-o>:<c-u>call <SID>NetrwMarkFileDiff(1)<cr> - inoremap <buffer> <silent> me <c-o>:<c-u>call <SID>NetrwMarkFileEdit(1)<cr> - inoremap <buffer> <silent> mf <c-o>:<c-u>call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr> - inoremap <buffer> <silent> mg <c-o>:<c-u>call <SID>NetrwMarkFileGrep(1)<cr> - inoremap <buffer> <silent> mh <c-o>:<c-u>call <SID>NetrwMarkHideSfx(1)<cr> - inoremap <buffer> <silent> mm <c-o>:<c-u>call <SID>NetrwMarkFileMove(1)<cr> - inoremap <buffer> <silent> mp <c-o>:<c-u>call <SID>NetrwMarkFilePrint(1)<cr> - inoremap <buffer> <silent> mr <c-o>:<c-u>call <SID>NetrwMarkFileRegexp(1)<cr> - inoremap <buffer> <silent> ms <c-o>:<c-u>call <SID>NetrwMarkFileSource(1)<cr> - inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(1)<cr> - inoremap <buffer> <silent> mt <c-o>:<c-u>call <SID>NetrwMarkFileTgt(1)<cr> - inoremap <buffer> <silent> mu <c-o>:<c-u>call <SID>NetrwUnMarkFile(1)<cr> - inoremap <buffer> <silent> mx <c-o>:<c-u>call <SID>NetrwMarkFileExe(1)<cr> - inoremap <buffer> <silent> mz <c-o>:<c-u>call <SID>NetrwMarkFileCompress(1)<cr> - inoremap <buffer> <silent> O <c-o>:call <SID>NetrwObtain(1)<cr> - inoremap <buffer> <silent> o <c-o>:call <SID>NetrwSplit(3)<cr> - inoremap <buffer> <silent> p <c-o>:call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr> - inoremap <buffer> <silent> P <c-o>:call <SID>NetrwPrevWinOpen(1)<cr> - inoremap <buffer> <silent> qb <c-o>:<c-u>call <SID>NetrwBookHistHandler(2,b:netrw_curdir)<cr> - inoremap <buffer> <silent> qf <c-o>:<c-u>call <SID>NetrwFileInfo(1,<SID>NetrwGetWord())<cr> - inoremap <buffer> <silent> r <c-o>:let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<cr> - inoremap <buffer> <silent> s <c-o>:call <SID>NetrwSortStyle(1)<cr> - inoremap <buffer> <silent> S <c-o>:call <SID>NetSortSequence(1)<cr> - inoremap <buffer> <silent> T <c-o>:call <SID>NetrwSplit(4)<bar>norm! gT<cr> - inoremap <buffer> <silent> t <c-o>:call <SID>NetrwSplit(4)<cr> - inoremap <buffer> <silent> u <c-o>:<c-u>call <SID>NetrwBookHistHandler(4,expand("%"))<cr> - inoremap <buffer> <silent> U <c-o>:<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr> - inoremap <buffer> <silent> v <c-o>:call <SID>NetrwSplit(5)<cr> - inoremap <buffer> <silent> x <c-o>:call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr> + " local normal-mode maps nnoremap <buffer> <silent> a :call <SID>NetrwHide(1)<cr> nnoremap <buffer> <silent> % :call <SID>NetrwOpenFile(1)<cr> nnoremap <buffer> <silent> c :exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr> @@ -1912,10 +1929,11 @@ fun! s:NetrwMaps(islocal) nnoremap <buffer> <silent> mp :<c-u>call <SID>NetrwMarkFilePrint(1)<cr> nnoremap <buffer> <silent> mr :<c-u>call <SID>NetrwMarkFileRegexp(1)<cr> nnoremap <buffer> <silent> ms :<c-u>call <SID>NetrwMarkFileSource(1)<cr> - nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(1)<cr> nnoremap <buffer> <silent> mt :<c-u>call <SID>NetrwMarkFileTgt(1)<cr> + nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(1)<cr> nnoremap <buffer> <silent> mu :<c-u>call <SID>NetrwUnMarkFile(1)<cr> nnoremap <buffer> <silent> mx :<c-u>call <SID>NetrwMarkFileExe(1)<cr> + nnoremap <buffer> <silent> mX :<c-u>call <SID>NetrwMarkFileVimCmd(1)<cr> nnoremap <buffer> <silent> mz :<c-u>call <SID>NetrwMarkFileCompress(1)<cr> nnoremap <buffer> <silent> O :call <SID>NetrwObtain(1)<cr> nnoremap <buffer> <silent> o :call <SID>NetrwSplit(3)<cr> @@ -1932,6 +1950,52 @@ fun! s:NetrwMaps(islocal) nnoremap <buffer> <silent> U :<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr> nnoremap <buffer> <silent> v :call <SID>NetrwSplit(5)<cr> nnoremap <buffer> <silent> x :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr> + " local insert-mode maps + inoremap <buffer> <silent> a <c-o>:call <SID>NetrwHide(1)<cr> + inoremap <buffer> <silent> c <c-o>:exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr> + inoremap <buffer> <silent> C <c-o>:let g:netrw_chgwin= winnr()<cr> + inoremap <buffer> <silent> % <c-o>:call <SID>NetrwOpenFile(1)<cr> + inoremap <buffer> <silent> - <c-o>:exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr> + inoremap <buffer> <silent> <cr> <c-o>:call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr> + inoremap <buffer> <silent> d <c-o>:call <SID>NetrwMakeDir("")<cr> + inoremap <buffer> <silent> gb <c-o>:<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_curdir)<cr> + inoremap <buffer> <silent> gh <c-o>:<c-u>call <SID>NetrwHidden(1)<cr> + inoremap <buffer> <silent> gp <c-o>:<c-u>call <SID>NetrwChgPerm(1,b:netrw_curdir)<cr> + inoremap <buffer> <silent> I <c-o>:call <SID>NetrwBannerCtrl(1)<cr> + inoremap <buffer> <silent> i <c-o>:call <SID>NetrwListStyle(1)<cr> + inoremap <buffer> <silent> mb <c-o>:<c-u>call <SID>NetrwBookHistHandler(0,b:netrw_curdir)<cr> + inoremap <buffer> <silent> mB <c-o>:<c-u>call <SID>NetrwBookHistHandler(6,b:netrw_curdir)<cr> + inoremap <buffer> <silent> mc <c-o>:<c-u>call <SID>NetrwMarkFileCopy(1)<cr> + inoremap <buffer> <silent> md <c-o>:<c-u>call <SID>NetrwMarkFileDiff(1)<cr> + inoremap <buffer> <silent> me <c-o>:<c-u>call <SID>NetrwMarkFileEdit(1)<cr> + inoremap <buffer> <silent> mf <c-o>:<c-u>call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr> + inoremap <buffer> <silent> mg <c-o>:<c-u>call <SID>NetrwMarkFileGrep(1)<cr> + inoremap <buffer> <silent> mh <c-o>:<c-u>call <SID>NetrwMarkHideSfx(1)<cr> + inoremap <buffer> <silent> mm <c-o>:<c-u>call <SID>NetrwMarkFileMove(1)<cr> + inoremap <buffer> <silent> mp <c-o>:<c-u>call <SID>NetrwMarkFilePrint(1)<cr> + inoremap <buffer> <silent> mr <c-o>:<c-u>call <SID>NetrwMarkFileRegexp(1)<cr> + inoremap <buffer> <silent> ms <c-o>:<c-u>call <SID>NetrwMarkFileSource(1)<cr> + inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(1)<cr> + inoremap <buffer> <silent> mt <c-o>:<c-u>call <SID>NetrwMarkFileTgt(1)<cr> + inoremap <buffer> <silent> mu <c-o>:<c-u>call <SID>NetrwUnMarkFile(1)<cr> + inoremap <buffer> <silent> mx <c-o>:<c-u>call <SID>NetrwMarkFileExe(1)<cr> + inoremap <buffer> <silent> mX <c-o>:<c-u>call <SID>NetrwMarkFileVimCmd(1)<cr> + inoremap <buffer> <silent> mz <c-o>:<c-u>call <SID>NetrwMarkFileCompress(1)<cr> + inoremap <buffer> <silent> O <c-o>:call <SID>NetrwObtain(1)<cr> + inoremap <buffer> <silent> o <c-o>:call <SID>NetrwSplit(3)<cr> + inoremap <buffer> <silent> p <c-o>:call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr> + inoremap <buffer> <silent> P <c-o>:call <SID>NetrwPrevWinOpen(1)<cr> + inoremap <buffer> <silent> qb <c-o>:<c-u>call <SID>NetrwBookHistHandler(2,b:netrw_curdir)<cr> + inoremap <buffer> <silent> qf <c-o>:<c-u>call <SID>NetrwFileInfo(1,<SID>NetrwGetWord())<cr> + inoremap <buffer> <silent> r <c-o>:let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<cr> + inoremap <buffer> <silent> s <c-o>:call <SID>NetrwSortStyle(1)<cr> + inoremap <buffer> <silent> S <c-o>:call <SID>NetSortSequence(1)<cr> + inoremap <buffer> <silent> T <c-o>:call <SID>NetrwSplit(4)<bar>norm! gT<cr> + inoremap <buffer> <silent> t <c-o>:call <SID>NetrwSplit(4)<cr> + inoremap <buffer> <silent> u <c-o>:<c-u>call <SID>NetrwBookHistHandler(4,expand("%"))<cr> + inoremap <buffer> <silent> U <c-o>:<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr> + inoremap <buffer> <silent> v <c-o>:call <SID>NetrwSplit(5)<cr> + inoremap <buffer> <silent> x <c-o>:call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr> if !hasmapto('<Plug>NetrwHideEdit') nmap <buffer> <unique> <c-h> <Plug>NetrwHideEdit imap <buffer> <unique> <c-h> <Plug>NetrwHideEdit @@ -1986,6 +2050,7 @@ fun! s:NetrwMaps(islocal) else " remote " call Decho("make remote maps") call s:RemotePathAnalysis(b:netrw_curdir) + " remote normal-mode maps nnoremap <buffer> <silent> <cr> :call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()))<cr> nnoremap <buffer> <silent> <c-l> :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr> nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'../'))<cr> @@ -2001,10 +2066,11 @@ fun! s:NetrwMaps(islocal) nnoremap <buffer> <silent> mp :<c-u>call <SID>NetrwMarkFilePrint(0)<cr> nnoremap <buffer> <silent> mr :<c-u>call <SID>NetrwMarkFileRegexp(0)<cr> nnoremap <buffer> <silent> ms :<c-u>call <SID>NetrwMarkFileSource(0)<cr> - nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(0)<cr> nnoremap <buffer> <silent> mt :<c-u>call <SID>NetrwMarkFileTgt(0)<cr> + nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(0)<cr> nnoremap <buffer> <silent> mu :<c-u>call <SID>NetrwUnMarkFile(0)<cr> nnoremap <buffer> <silent> mx :<c-u>call <SID>NetrwMarkFileExe(0)<cr> + nnoremap <buffer> <silent> mX :<c-u>call <SID>NetrwMarkFileVimCmd(0)<cr> nnoremap <buffer> <silent> mz :<c-u>call <SID>NetrwMarkFileCompress(0)<cr> nnoremap <buffer> <silent> gb :<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_cur)<cr> nnoremap <buffer> <silent> gd :<c-u>call <SID>NetrwForceChgDir(0,<SID>NetrwGetWord())<cr> @@ -2031,6 +2097,7 @@ fun! s:NetrwMaps(islocal) nnoremap <buffer> <silent> v :call <SID>NetrwSplit(2)<cr> nnoremap <buffer> <silent> x :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()),1)<cr> nnoremap <buffer> <silent> % :call <SID>NetrwOpenFile(0)<cr> + " remote insert-mode maps inoremap <buffer> <silent> <cr> <c-o>:call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()))<cr> inoremap <buffer> <silent> <c-l> <c-o>:call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr> inoremap <buffer> <silent> - <c-o>:exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'../'))<cr> @@ -2046,10 +2113,11 @@ fun! s:NetrwMaps(islocal) inoremap <buffer> <silent> mp <c-o>:<c-u>call <SID>NetrwMarkFilePrint(0)<cr> inoremap <buffer> <silent> mr <c-o>:<c-u>call <SID>NetrwMarkFileRegexp(0)<cr> inoremap <buffer> <silent> ms <c-o>:<c-u>call <SID>NetrwMarkFileSource(0)<cr> - inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(0)<cr> inoremap <buffer> <silent> mt <c-o>:<c-u>call <SID>NetrwMarkFileTgt(0)<cr> + inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(0)<cr> inoremap <buffer> <silent> mu <c-o>:<c-u>call <SID>NetrwUnMarkFile(0)<cr> inoremap <buffer> <silent> mx <c-o>:<c-u>call <SID>NetrwMarkFileExe(0)<cr> + inoremap <buffer> <silent> mX <c-o>:<c-u>call <SID>NetrwMarkFileVimCmd(0)<cr> inoremap <buffer> <silent> mz <c-o>:<c-u>call <SID>NetrwMarkFileCompress(0)<cr> inoremap <buffer> <silent> gb <c-o>:<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_cur)<cr> inoremap <buffer> <silent> gh <c-o>:<c-u>call <SID>NetrwHidden(0)<cr> @@ -2345,7 +2413,7 @@ fun! s:NetrwBookHistSave() setlocal nocin noai noci magic nospell nohid wig= noaw setlocal ma noro write if exists("&acd") | setlocal noacd | endif - sil! keepj %d + sil! keepj keepalt %d " save .netrwhist -- no attempt to merge sil! file .netrwhist @@ -2457,11 +2525,12 @@ fun! s:NetrwBrowse(islocal,dirname) call s:NetrwSafeOptions() setlocal ma noro " call Decho("setlocal ma noro") - let b:netrw_curdir= dirname -" call Decho("exe sil! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)." (bt=".&bt.")") - exe "sil! keepj keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path) + let b:netrw_curdir = dirname + let url = s:method."://".s:user.s:machine.(s:port ? ":".s:port : "")."/".s:path +" call Decho("exe sil! keepalt file ".fnameescape(url)." (bt=".&bt.")") + exe "sil! keepj keepalt file ".fnameescape(url) exe "sil! keepj keepalt doau BufReadPre ".fnameescape(s:fname) - sil call netrw#NetRead(2,s:method."://".s:user.s:machine."/".s:path) + sil call netrw#NetRead(2,url) 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 keepj keepalt doau BufReadPost ".fnameescape(s:fname) @@ -2604,10 +2673,12 @@ fun! s:NetrwBrowse(islocal,dirname) " ----------------------- keepj call s:NetrwMaps(a:islocal) keepj call s:PerformListing(a:islocal) - if v:version >= 700 && has("balloon_eval") && &l:bexpr == "" + if v:version >= 700 && has("balloon_eval") && &beval == 0 && &l:bexpr == "" && !exists("g:netrw_nobeval") let &l:bexpr= "netrw#NetrwBalloonHelp()" +" call Decho("set up balloon help: l:bexpr=".&l:bexpr) set beval endif + call s:NetrwOptionRestore("w:") " The s:LocalBrowseShellCmdRefresh() function is called by an autocmd " installed by s:LocalFastBrowser() when g:netrw_fastbrowse <= 1 (ie. slow, medium speed). @@ -3422,7 +3493,7 @@ fun! netrw#NetrwBrowseX(fname,remote) " g:Netrw_corehandler is a function reference (see :help Funcref) " call Decho("g:Netrw_corehandler is a funcref") call g:Netrw_corehandler(a:fname) - elseif type(g:netrw_corehandler) == 3) + elseif type(g:Netrw_corehandler) == 3) " g:Netrw_corehandler is a List of function references (see :help Funcref) " call Decho("g:Netrw_corehandler is a List") for Fncref in g:Netrw_corehandler @@ -3680,32 +3751,32 @@ fun! netrw#Explore(indx,dosplit,style,...) if a:style == 0 " Explore, Sexplore " call Decho("style=0: Explore or Sexplore") - let winsz= (winsz*winheight(0))/100 + let winsz= (winsz > 0)? (winsz*winheight(0))/100 : -winsz exe winsz."wincmd s" elseif a:style == 1 "Explore!, Sexplore! " call Decho("style=1: Explore! or Sexplore!") - let winsz= (winsz*winheight(0))/100 + let winsz= (winsz > 0)? (winsz*winwidth(0))/100 : -winsz exe winsz."wincmd v" elseif a:style == 2 " Hexplore " call Decho("style=2: Hexplore") - let winsz= (winsz*winheight(0))/100 + let winsz= (winsz > 0)? (winsz*winheight(0))/100 : -winsz exe "bel ".winsz."wincmd s" elseif a:style == 3 " Hexplore! " call Decho("style=3: Hexplore!") - let winsz= (winsz*winheight(0))/100 + let winsz= (winsz > 0)? (winsz*winheight(0))/100 : -winsz exe "abo ".winsz."wincmd s" elseif a:style == 4 " Vexplore " call Decho("style=4: Vexplore") - let winsz= (winsz*winheight(0))/100 + let winsz= (winsz > 0)? (winsz*winwidth(0))/100 : -winsz exe "lefta ".winsz."wincmd v" elseif a:style == 5 " Vexplore! " call Decho("style=5: Vexplore!") - let winsz= (winsz*winheight(0))/100 + let winsz= (winsz > 0)? (winsz*winwidth(0))/100 : -winsz exe "rightb ".winsz."wincmd v" elseif a:style == 6 " Texplore @@ -3721,28 +3792,28 @@ fun! netrw#Explore(indx,dosplit,style,...) keepj norm! 0 if a:0 > 0 -" call Decho("case [a:0=".a:0."] > 0: a:1<".a:1.">") +" call Decho("case [a:0=".a:0."] > 0") if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin)) -" call Decho("case a:1: ~ and unix or cygwin") +" call Decho("..case a:1<".a:1.">: starts with ~ and unix or cygwin") let dirname= simplify(substitute(a:1,'\~',expand("$HOME"),'')) -" call Decho("using dirname<".dirname."> (case: ~ && unix||cygwin)") +" call Decho("..using dirname<".dirname."> (case: ~ && unix||cygwin)") elseif a:1 == '.' -" call Decho("case a:1: .") +" call Decho("..case a:1<".a:1.">: matches .") let dirname= simplify(exists("b:netrw_curdir")? b:netrw_curdir : getcwd()) if dirname !~ '/$' let dirname= dirname."/" endif -" call Decho("using dirname<".dirname."> (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")") +" call Decho("..using dirname<".dirname."> (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")") elseif a:1 =~ '\$' -" call Decho("case a:1: $") +" call Decho("..case a:1<".a:1.">: matches ending $") let dirname= simplify(expand(a:1)) -" call Decho("using user-specified dirname<".dirname."> with $env-var") - elseif a:1 !~ '^\*/' -" call Decho("case a:1: other, not pattern or filepattern") +" call Decho("..using user-specified dirname<".dirname."> with $env-var") + elseif a:1 !~ '^\*\{1,2}/' +" call Decho("..case a:1<".a:1.">: other, not pattern or filepattern") let dirname= simplify(a:1) -" call Decho("using user-specified dirname<".dirname.">") +" call Decho("..using user-specified dirname<".dirname.">") else -" call Decho("case a:1: pattern or filepattern") +" call Decho("..case a:1: pattern or filepattern") let dirname= a:1 endif else @@ -3761,26 +3832,12 @@ fun! netrw#Explore(indx,dosplit,style,...) endif " call Decho("dirname<".dirname."> (after simplify)") - if dirname =~ '/\*\*/' - " handle .../**/.../filepat -" call Decho("case Explore .../**/.../filepat") - let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','') - if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16"))) - let b:netrw_curdir = prefixdir - else - let b:netrw_curdir= getcwd().'/'.prefixdir - endif - let dirname= substitute(dirname,'^.\{-}\(\*\*/.*\)$','\1','') - let starpat= 4; -" call Decho("pwd<".getcwd()."> dirname<".dirname.">") -" call Decho("case Explore ../**/../filepat (starpat=".starpat.")") - - elseif dirname =~ '^\*//' + if dirname =~ '^\*//' " starpat=1: Explore *//pattern (current directory only search for files containing pattern) " call Decho("case Explore *//pattern") let pattern= substitute(dirname,'^\*//\(.*\)$','\1','') let starpat= 1 -" call Decho("Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">") +" call Decho("..Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">") if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif elseif dirname =~ '^\*\*//' @@ -3788,7 +3845,21 @@ fun! netrw#Explore(indx,dosplit,style,...) " call Decho("case Explore **//pattern") let pattern= substitute(dirname,'^\*\*//','','') let starpat= 2 -" call Decho("Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">") +" call Decho("..Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">") + + elseif dirname =~ '/\*\*/' + " handle .../**/.../filepat +" call Decho("case Explore .../**/.../filepat") + let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','') + if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16"))) + let b:netrw_curdir = prefixdir + else + let b:netrw_curdir= getcwd().'/'.prefixdir + endif + let dirname= substitute(dirname,'^.\{-}\(\*\*/.*\)$','\1','') + let starpat= 4; +" call Decho("..pwd<".getcwd()."> dirname<".dirname.">") +" call Decho("..case Explore ../**/../filepat (starpat=".starpat.")") elseif dirname =~ '^\*/' " starpat=3: Explore */filepat (search in current directory for filenames matching filepat) @@ -3810,14 +3881,14 @@ fun! netrw#Explore(indx,dosplit,style,...) " call Decho("case starpat==0 && a:indx=".a:indx.": dirname<".dirname."> Explore Hexplore Vexplore Sexplore") if dirname == "" let dirname= curfiledir -" call Decho("empty dirname, using current file's directory<".dirname.">") +" call Decho("..empty dirname, using current file's directory<".dirname.">") endif if dirname =~ '^scp:' || dirname =~ '^ftp:' -" call Decho("calling NetrwBrowse(0,dirname<".dirname.">)") +" call Decho("..calling NetrwBrowse(0,dirname<".dirname.">)") call s:NetrwBrowse(0,dirname) else if dirname == ""|let dirname= getcwd()|endif -" call Decho("calling LocalBrowseCheck(dirname<".dirname.">)") +" call Decho("..calling LocalBrowseCheck(dirname<".dirname.">)") call netrw#LocalBrowseCheck(dirname) endif @@ -3836,24 +3907,24 @@ fun! netrw#Explore(indx,dosplit,style,...) " Nexplore, Pexplore, Explore: handle starpat " call Decho("case a:indx<=0: Nexplore, Pexplore, <s-down>, <s-up> starpat=".starpat." a:indx=".a:indx) if !mapcheck("<s-up>","n") && !mapcheck("<s-down>","n") && exists("b:netrw_curdir") -" call Decho("set up <s-up> and <s-down> maps") +" call Decho("..set up <s-up> and <s-down> maps") let s:didstarstar= 1 nnoremap <buffer> <silent> <s-up> :Pexplore<cr> nnoremap <buffer> <silent> <s-down> :Nexplore<cr> endif if has("path_extra") -" call Decho("starpat=".starpat.": has +path_extra") +" call Decho("..starpat=".starpat.": has +path_extra") if !exists("w:netrw_explore_indx") let w:netrw_explore_indx= 0 endif let indx = a:indx -" call Decho("starpat=".starpat.": set indx= [a:indx=".indx."]") +" call Decho("..starpat=".starpat.": set indx= [a:indx=".indx."]") if indx == -1 " Nexplore -" call Decho("case Nexplore with starpat=".starpat.": (indx=".indx.")") +" call Decho("..case Nexplore with starpat=".starpat.": (indx=".indx.")") if !exists("w:netrw_explore_list") " sanity check keepj call netrw#ErrorMsg(s:WARNING,"using Nexplore or <s-down> improperly; see help for netrw-starstar",40) sil! let @* = keepregstar @@ -3866,13 +3937,13 @@ fun! netrw#Explore(indx,dosplit,style,...) if indx < 0 | let indx= 0 | endif if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif let curfile= w:netrw_explore_list[indx] -" call Decho("indx=".indx." curfile<".curfile.">") +" call Decho("....indx=".indx." curfile<".curfile.">") while indx < w:netrw_explore_listlen && curfile == w:netrw_explore_list[indx] let indx= indx + 1 -" call Decho("indx=".indx." (Nexplore while loop)") +" call Decho("....indx=".indx." (Nexplore while loop)") endwhile if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif -" call Decho("Nexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx) +" call Decho("....Nexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx) elseif indx == -2 " Pexplore @@ -3889,30 +3960,30 @@ fun! netrw#Explore(indx,dosplit,style,...) if indx < 0 | let indx= 0 | endif if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif let curfile= w:netrw_explore_list[indx] -" call Decho("indx=".indx." curfile<".curfile.">") +" call Decho("....indx=".indx." curfile<".curfile.">") while indx >= 0 && curfile == w:netrw_explore_list[indx] let indx= indx - 1 -" call Decho("indx=".indx." (Pexplore while loop)") +" call Decho("....indx=".indx." (Pexplore while loop)") endwhile if indx < 0 | let indx= 0 | endif -" call Decho("Pexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx) +" call Decho("....Pexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx) else " Explore -- initialize " build list of files to Explore with Nexplore/Pexplore -" call Decho("starpat=".starpat.": case Explore: initialize (indx=".indx.")") +" call Decho("..starpat=".starpat.": case Explore: initialize (indx=".indx.")") keepj call s:NetrwClearExplore() let w:netrw_explore_indx= 0 if !exists("b:netrw_curdir") let b:netrw_curdir= getcwd() endif -" call Decho("starpat=".starpat.": b:netrw_curdir<".b:netrw_curdir.">") +" call Decho("....starpat=".starpat.": b:netrw_curdir<".b:netrw_curdir.">") " switch on starpat to build the w:netrw_explore_list of files if starpat == 1 " starpat=1: Explore *//pattern (current directory only search for files containing pattern) -" call Decho("starpat=".starpat.": build *//pattern list") -" call Decho("pattern<".pattern.">") +" call Decho("..case starpat=".starpat.": build *//pattern list (curdir-only srch for files containing pattern) &hls=".&hls) +" call Decho("....pattern<".pattern.">") try exe "keepj noautocmd vimgrep /".pattern."/gj ".fnameescape(b:netrw_curdir)."/*" catch /^Vim\%((\a\+)\)\=:E480/ @@ -3925,7 +3996,8 @@ fun! netrw#Explore(indx,dosplit,style,...) elseif starpat == 2 " starpat=2: Explore **//pattern (recursive descent search for files containing pattern) -" call Decho("starpat=".starpat.": build **//pattern list") +" call Decho("..case starpat=".starpat.": build **//pattern list (recursive descent files containing pattern)") +" call Decho("....pattern<".pattern.">") try exe "sil keepj noautocmd vimgrep /".pattern."/gj "."**/*" catch /^Vim\%((\a\+)\)\=:E480/ @@ -3940,27 +4012,28 @@ fun! netrw#Explore(indx,dosplit,style,...) let s:netrw_curdir = b:netrw_curdir let w:netrw_explore_list = getqflist() let w:netrw_explore_list = s:NetrwExploreListUniq(map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)')) + if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif elseif starpat == 3 " starpat=3: Explore */filepat (search in current directory for filenames matching filepat) -" call Decho("starpat=".starpat.": build */filepat list") +" call Decho("..case starpat=".starpat.": build */filepat list (curdir-only srch filenames matching filepat) &hls=".&hls) let filepat= substitute(dirname,'^\*/','','') let filepat= substitute(filepat,'^[%#<]','\\&','') -" call Decho("b:netrw_curdir<".b:netrw_curdir.">") -" call Decho("filepat<".filepat.">") +" call Decho("....b:netrw_curdir<".b:netrw_curdir.">") +" call Decho("....filepat<".filepat.">") let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".filepat),'\n')) if &hls | let keepregslash= s:ExplorePatHls(filepat) | endif elseif starpat == 4 " starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat) -" call Decho("starpat=".starpat.": build **/filepat list") +" call Decho("..case starpat=".starpat.": build **/filepat list (recursive descent srch filenames matching filepat) &hls=".&hls) let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".dirname),'\n')) if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif endif " switch on starpat to build w:netrw_explore_list let w:netrw_explore_listlen = len(w:netrw_explore_list) -" call Decho("w:netrw_explore_list<".string(w:netrw_explore_list).">") -" call Decho("w:netrw_explore_listlen=".w:netrw_explore_listlen) +" call Decho("....w:netrw_explore_list<".string(w:netrw_explore_list).">") +" call Decho("....w:netrw_explore_listlen=".w:netrw_explore_listlen) if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/') keepj call netrw#ErrorMsg(s:WARNING,"no files matched",42) @@ -3974,22 +4047,22 @@ fun! netrw#Explore(indx,dosplit,style,...) " NetrwStatusLine support - for exploring support let w:netrw_explore_indx= indx -" call Decho("w:netrw_explore_list<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen) +" call Decho("....w:netrw_explore_list<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen) " wrap the indx around, but issue a note if indx >= w:netrw_explore_listlen || indx < 0 -" call Decho("wrap indx (indx=".indx." listlen=".w:netrw_explore_listlen.")") +" call Decho("....wrap indx (indx=".indx." listlen=".w:netrw_explore_listlen.")") let indx = (indx < 0)? ( w:netrw_explore_listlen - 1 ) : 0 let w:netrw_explore_indx= indx keepj call netrw#ErrorMsg(s:NOTE,"no more files match Explore pattern",43) endif exe "let dirfile= w:netrw_explore_list[".indx."]" -" call Decho("dirfile=w:netrw_explore_list[indx=".indx."]= <".dirfile.">") +" call Decho("....dirfile=w:netrw_explore_list[indx=".indx."]= <".dirfile.">") let newdir= substitute(dirfile,'/[^/]*$','','e') -" call Decho("newdir<".newdir.">") +" call Decho("....newdir<".newdir.">") -" call Decho("calling LocalBrowseCheck(newdir<".newdir.">)") +" call Decho("....calling LocalBrowseCheck(newdir<".newdir.">)") call netrw#LocalBrowseCheck(newdir) if !exists("w:netrw_liststyle") let w:netrw_liststyle= g:netrw_liststyle @@ -4003,10 +4076,10 @@ fun! netrw#Explore(indx,dosplit,style,...) let w:netrw_explore_bufnr = bufnr("%") let w:netrw_explore_line = line(".") keepj call s:SetupNetrwStatusLine('%f %h%m%r%=%9*%{NetrwStatusLine()}') -" call Decho("explore: mtchcnt=".w:netrw_explore_mtchcnt." bufnr=".w:netrw_explore_bufnr." line#".w:netrw_explore_line) +" call Decho("....explore: mtchcnt=".w:netrw_explore_mtchcnt." bufnr=".w:netrw_explore_bufnr." line#".w:netrw_explore_line) else -" call Decho("your vim does not have +path_extra") +" call Decho("..your vim does not have +path_extra") if !exists("g:netrw_quiet") keepj call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44) endif @@ -4018,7 +4091,7 @@ fun! netrw#Explore(indx,dosplit,style,...) endif else -" call Decho("default case: Explore newdir<".dirname.">") +" call Decho("..default case: Explore newdir<".dirname.">") if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && dirname =~ '/' sil! unlet w:netrw_treedict sil! unlet w:netrw_treetop @@ -4084,7 +4157,7 @@ endfun " --------------------------------------------------------------------- " s:NetrwExploreListUniq: {{{2 fun! s:NetrwExploreListUniq(explist) -" call Dfunc("s:NetrwExploreListUniq(explist)") +" call Dfunc("s:NetrwExploreListUniq(explist<".string(a:explist).">)") " this assumes that the list is already sorted let newexplist= [] @@ -4095,7 +4168,7 @@ fun! s:NetrwExploreListUniq(explist) endif endfor -" call Dret("s:NetrwExploreListUniq") +" call Dret("s:NetrwExploreListUniq newexplist<".string(newexplist).">") return newexplist endfun @@ -4455,11 +4528,15 @@ fun! s:NetrwMakeDir(usrhost) " redraw! elseif b:netrw_method == 2 - " COMBAK -- future work - keepj call netrw#ErrorMsg(s:ERROR,"making directories via ftp not currently supported",68) + let svpos= netrw#NetrwSavePosn() + call s:NetrwRemoteFtpCmd("",g:netrw_remote_mkdir.' "'.newdirname.'"') + keepj call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./')) + keepj call netrw#NetrwRestorePosn(svpos) elseif b:netrw_method == 3 - " COMBAK -- future work - keepj call netrw#ErrorMsg(s:ERROR,"making directories via ftp not currently supported",68) + let svpos= netrw#NetrwSavePosn() + call s:NetrwRemoteFtpCmd("",g:netrw_remote_mkdir.' "'.newdirname.'"') + keepj call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./')) + keepj call netrw#NetrwRestorePosn(svpos) endif " call Dret("NetrwMakeDir") @@ -4521,8 +4598,7 @@ fun! s:NetrwMarkFile(islocal,fname) endif let first= 0 endfor -" call Decho("ending s:netrwmarkfilelist_"curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">") -" call Decho("ending s:netrwmarkfilemtch_"curbufnr."<".s:netrwmarkfilemtch_{curbufnr}.">") +" call Decho("ending s:netrwmarkfilelist_".curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">") endif endif @@ -4788,7 +4864,7 @@ fun! s:NetrwMarkFileEdit(islocal) endfun " --------------------------------------------------------------------- -" s:NetrwMarkFileExe: (invoked by mx) execute arbitrary command on marked files, one at a time {{{2 +" s:NetrwMarkFileExe: (invoked by mx) execute arbitrary system command on marked files, one at a time {{{2 " Uses the local marked-file list. fun! s:NetrwMarkFileExe(islocal) " call Dfunc("s:NetrwMarkFileExe(islocal=".a:islocal.")") @@ -4802,6 +4878,10 @@ fun! s:NetrwMarkFileExe(islocal) let cmd= input("Enter command: ","","file") call inputrestore() " call Decho("cmd<".cmd.">") + if cmd == "" +" " call Dret("s:NetrwMarkFileExe : early exit, empty command") + return + endif " apply command to marked files. Substitute: filename -> % " If no %, then append a space and the filename to the command @@ -4904,6 +4984,113 @@ fun! s:NetrwMarkHideSfx(islocal) endfun " --------------------------------------------------------------------- +" s:NetrwMarkFileVimCmd: (invoked by mX) execute arbitrary vim command on marked files, one at a time {{{2 +" Uses the local marked-file list. +fun! s:NetrwMarkFileVimCmd(islocal) +" call Dfunc("s:NetrwMarkFileVimCmd(islocal=".a:islocal.")") + let svpos = netrw#NetrwSavePosn() + let curdir = b:netrw_curdir + let curbufnr = bufnr("%") + + if exists("s:netrwmarkfilelist_{curbufnr}") + " get the command + call inputsave() + let cmd= input("Enter vim command: ","","file") + call inputrestore() +" call Decho("cmd<".cmd.">") + if cmd == "" +" " call Dret("s:NetrwMarkFileVimCmd : early exit, empty command") + return + endif + + " apply command to marked files. Substitute: filename -> % + " If no %, then append a space and the filename to the command + for fname in s:netrwmarkfilelist_{curbufnr} +" call Decho("fname<".fname.">") + if a:islocal + 1split + exe "sil! keepalt e ".fnameescape(fname) +" call Decho("local<".fname.">: exe ".cmd) + exe cmd + exe "sil! keepalt wq!" + else + " COMBAK -- not supported yet +" call Decho("remote<".fname.">: exe ".cmd." : NOT SUPPORTED YET") + echo "sorry, \"mX\" not supported yet for remote files" + endif + endfor + + " unmark marked file list + call s:NetrwUnmarkList(curbufnr,curdir) + + " refresh the listing + keepj call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) + keepj call netrw#NetrwRestorePosn(svpos) + else + keepj call netrw#ErrorMsg(s:ERROR,"no files marked!",59) + endif + +" call Dret("s:NetrwMarkFileVimCmd") +endfun + +" --------------------------------------------------------------------- +" s:NetrwMarkHideSfx: (invoked by mh) (un)hide files having same suffix +" as the marked file(s) (toggles suffix presence) +" Uses the local marked file list. +fun! s:NetrwMarkHideSfx(islocal) +" call Dfunc("s:NetrwMarkHideSfx(islocal=".a:islocal.")") + let svpos = netrw#NetrwSavePosn() + let curbufnr = bufnr("%") + + " s:netrwmarkfilelist_{curbufnr}: the List of marked files + if exists("s:netrwmarkfilelist_{curbufnr}") + + for fname in s:netrwmarkfilelist_{curbufnr} +" call Decho("s:NetrwMarkFileCopy: fname<".fname.">") + " construct suffix pattern + if fname =~ '\.' + let sfxpat= "^.*".substitute(fname,'^.*\(\.[^. ]\+\)$','\1','') + else + let sfxpat= '^\%(\%(\.\)\@!.\)*$' + endif + " determine if its in the hiding list or not + let inhidelist= 0 + if g:netrw_list_hide != "" + let itemnum = 0 + let hidelist= split(g:netrw_list_hide,',') + for hidepat in hidelist + if sfxpat == hidepat + let inhidelist= 1 + break + endif + let itemnum= itemnum + 1 + endfor + endif +" call Decho("fname<".fname."> inhidelist=".inhidelist." sfxpat<".sfxpat.">") + if inhidelist + " remove sfxpat from list + call remove(hidelist,itemnum) + let g:netrw_list_hide= join(hidelist,",") + elseif g:netrw_list_hide != "" + " append sfxpat to non-empty list + let g:netrw_list_hide= g:netrw_list_hide.",".sfxpat + else + " set hiding list to sfxpat + let g:netrw_list_hide= sfxpat + endif + endfor + + " refresh the listing + keepj call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) + keepj call netrw#NetrwRestorePosn(svpos) + else + keepj call netrw#ErrorMsg(s:ERROR,"no files marked!",59) + endif + +" call Dret("s:NetrwMarkHideSfx") +endfun + +" --------------------------------------------------------------------- " s:NetrwMarkFileGrep: (invoked by mg) This function applies vimgrep to marked files {{{2 " Uses the global markfilelist fun! s:NetrwMarkFileGrep(islocal) @@ -5722,11 +5909,13 @@ fun! s:NetrwPrevWinOpen(islocal) " if only one window, open a new one first " call Decho("only one window, so open a new one (g:netrw_alto=".g:netrw_alto.")") if g:netrw_preview -" call Decho("exe ".(g:netrw_alto? "top " : "bot ")."vert ".g:netrw_winsize."wincmd s") - exe (g:netrw_alto? "top " : "bot ")."vert ".g:netrw_winsize."wincmd s" + let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize +" call Decho("exe ".(g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s") + exe (g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s" else -" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s") - exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s" + let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize +" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s") + exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s" endif let didsplit = 1 @@ -5991,8 +6180,9 @@ fun! s:NetrwPreview(path) range if has("quickfix") if !isdirectory(a:path) if g:netrw_preview && !g:netrw_alto - let pvhkeep= &pvh - let &pvh = winwidth(0) - g:netrw_winsize + let pvhkeep = &pvh + let winsz = (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize + let &pvh = winwidth(0) - winsz endif exe (g:netrw_alto? "top " : "bot ").(g:netrw_preview? "vert " : "")."pedit ".fnameescape(a:path) if exists("pvhkeep") @@ -6174,8 +6364,8 @@ fun! s:NetrwSplit(mode) if a:mode == 0 " remote and o -" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s") - let winsz= (g:netrw_winsize*winheight(0))/100 + let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize +" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s") exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s" let s:didsplit= 1 keepj call s:RestoreWinVars() @@ -6194,8 +6384,8 @@ fun! s:NetrwSplit(mode) elseif a:mode == 2 " remote and v -" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v") - let winsz= (g:netrw_winsize*winwidth(0))/100 + let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize +" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v") exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v" let s:didsplit= 1 keepj call s:RestoreWinVars() @@ -6204,8 +6394,8 @@ fun! s:NetrwSplit(mode) elseif a:mode == 3 " local and o -" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s") - let winsz= (g:netrw_winsize*winheight(0))/100 + let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize +" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s") exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s" let s:didsplit= 1 keepj call s:RestoreWinVars() @@ -6226,8 +6416,8 @@ fun! s:NetrwSplit(mode) elseif a:mode == 5 " local and v -" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v") - let winsz= (g:netrw_winsize*winwidth(0))/100 + let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize +" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v") exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v" let s:didsplit= 1 keepj call s:RestoreWinVars() @@ -6498,6 +6688,17 @@ endfun fun! s:PerformListing(islocal) " call Dfunc("s:PerformListing(islocal=".a:islocal.") bufnr(%)=".bufnr("%")."<".bufname("%").">") + " set up syntax highlighting {{{3 +" call Decho("set up syntax highlighting") + if has("syntax") + if !exists("g:syntax_on") || !g:syntax_on +" call Decho("but g:syntax_on".(exists("g:syntax_on")? "=".g:syntax_on : "<doesn't exist>")) + setlocal ft= + elseif &ft != "netrw" + setlocal ft=netrw + endif + endif + keepj call s:NetrwSafeOptions() setlocal noro ma " call Decho("setlocal noro ma") @@ -6593,17 +6794,6 @@ fun! s:PerformListing(islocal) " 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") - if !exists("g:syntax_on") || !g:syntax_on -" call Decho("but g:syntax_on".(exists("g:syntax_on")? "=".g:syntax_on : "<doesn't exist>")) - setlocal ft= - elseif &ft != "netrw" - setlocal ft=netrw - endif - endif - " get list of files " call Decho("Get list of files - islocal=".a:islocal) if a:islocal @@ -6860,10 +7050,10 @@ fun! s:NetrwRemoteListing() else if s:path == "" " call Decho("2: exe sil r! ".listcmd) - exe "sil! keepalt r! ".listcmd + exe "sil! keepj keepalt r! ".listcmd else " call Decho("3: exe sil r! ".listcmd.' '.shellescape(fnameescape(s:path),1)) - exe "sil! keepalt r! ".listcmd.' '.shellescape(fnameescape(s:path),1) + exe "sil! keepj keepalt r! ".listcmd.' '.shellescape(fnameescape(s:path),1) " call Decho("listcmd<".listcmd."> path<".s:path.">") endif endif @@ -6951,7 +7141,7 @@ fun! s:NetrwRemoteRm(usrhost,path) range " remove multiple files and directories while ctr <= a:lastline - exe ctr + exe "keepj ".ctr let ok= s:NetrwRemoteRmFile(a:path,s:NetrwGetWord(),all) if ok =~ 'q\%[uit]' break @@ -7118,10 +7308,10 @@ fun! s:NetrwRemoteFtpCmd(path,listcmd) " exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("ftp#".line(".").": ".getline("."))' if exists("g:netrw_port") && g:netrw_port != "" " call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1)) - exe s:netrw_silentxfer." keepjumps ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1) + exe s:netrw_silentxfer." keepj ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1) else " call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)) - exe s:netrw_silentxfer." keepjumps ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1) + exe s:netrw_silentxfer." keepj ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1) endif "......................................... @@ -7463,8 +7653,8 @@ fun! s:LocalListing() sil! keepj g/^$/d sil! keepj %s/\r$//e call histdel("/",-1) - exe "setlocal ts=".g:netrw_maxfilenamelen -" call Decho("setlocal ts=".g:netrw_maxfilenamelen) + exe "setl ts=".g:netrw_maxfilenamelen +" call Decho("setl ts=".g:netrw_maxfilenamelen) " call Dret("s:LocalListing") endfun @@ -7808,19 +7998,48 @@ fun! s:LocalFastBrowser() endfun " --------------------------------------------------------------------- -" netrw#FileUrlRead: handles reading file:///* files {{{2 +" netrw#FileUrlRead: handles reading file://* files {{{2 +" Should accept: file://localhost/etc/fstab +" file:///etc/fstab +" file:///c:/WINDOWS/clock.avi +" file:///c|/WINDOWS/clock.avi +" file://localhost/c:/WINDOWS/clock.avi +" file://localhost/c|/WINDOWS/clock.avi +" file://c:/foo.txt +" file:///c:/foo.txt +" and %XX (where X is [0-9a-fA-F] is converted into a character with the given hexadecimal value fun! netrw#FileUrlRead(fname) -" call Dfunc("netrw#FileUrlRead()") - let fname2396 = netrw#RFC2396(a:fname) +" call Dfunc("netrw#FileUrlRead(fname<".a:fname.">)") + let fname = a:fname + if fname =~ '^file://localhost/' +" call Decho('converting file://localhost/ -to- file:///') + let fname= substitute(fname,'^file://localhost/','file:///','') +" call Decho("fname<".fname.">") + endif + if (has("win32") || has("win95") || has("win64") || has("win16")) + if fname =~ '^file:///\=\a[|:]/' +" call Decho('converting file:///\a|/ -to- file://\a:/') + let fname = substitute(fname,'^file:///\=\(\a\)[|:]/','file://\1:/','') +" call Decho("fname<".fname.">") + endif + endif + let fname2396 = netrw#RFC2396(fname) let fname2396e= fnameescape(fname2396) let plainfname= substitute(fname2396,'file://\(.*\)','\1',"") + if (has("win32") || has("win95") || has("win64") || has("win16")) +" call Decho("windows exception for plainfname") + if plainfname =~ '^/\+\a:' +" call Decho('removing leading "/"s') + let plainfname= substitute(plainfname,'^/\+\(\a:\)','\1','') + endif + endif " call Decho("fname2396<".fname2396.">") " call Decho("plainfname<".plainfname.">") exe "sil doau BufReadPre ".fname2396e - exe 'r '.plainfname + exe 'keepj r '.plainfname exe 'file! '.plainfname - 1d - setlocal nomod + keepj 1d + setl nomod " call Dret("netrw#FileUrlRead") exe "sil doau BufReadPost ".fname2396e endfun @@ -7859,8 +8078,8 @@ fun! netrw#ErrorMsg(level,msg,errnum) if bufexists("NetrwMessage") && bufwinnr("NetrwMessage") > 0 " call Decho("write to NetrwMessage buffer") exe bufwinnr("NetrwMessage")."wincmd w" -" call Decho("setlocal ma noro") - setlocal ma noro +" call Decho("setl ma noro") + setl ma noro keepj call setline(line("$")+1,level.a:msg) keepj $ else @@ -7868,10 +8087,10 @@ fun! netrw#ErrorMsg(level,msg,errnum) bo 1split call s:NetrwEnew() keepj call s:NetrwSafeOptions() - setlocal bt=nofile + setl bt=nofile keepj file NetrwMessage " call Decho("setlocal ma noro") - setlocal ma noro + setl ma noro call setline(line("$"),level.a:msg) endif " call Decho("wrote msg<".level.a:msg."> to NetrwMessage win#".winnr()) @@ -7883,7 +8102,7 @@ fun! netrw#ErrorMsg(level,msg,errnum) hi link netrwMesgWarning WarningMsg hi link netrwMesgError Error endif - setlocal noma ro bh=wipe + setl noma ro bh=wipe else " (optional) netrw will show messages using echomsg. Even if the @@ -7913,7 +8132,7 @@ fun! netrw#NetrwRestorePosn(...) endif if a:0 > 0 - exe a:1 + exe "keepj ".a:1 endif " restore window @@ -7929,13 +8148,13 @@ fun! netrw#NetrwRestorePosn(...) " restore top-of-screen line if exists("w:netrw_hline") -" call Decho("restore topofscreen: exe norm! ".w:netrw_hline."G0z") +" call Decho("restore topofscreen: exe keepj norm! ".w:netrw_hline."G0z") exe "keepj norm! ".w:netrw_hline."G0z\<CR>" endif " restore position if exists("w:netrw_line") && exists("w:netrw_col") -" call Decho("restore posn: exe norm! ".w:netrw_line."G0".w:netrw_col."|") +" call Decho("restore posn: exe keepj norm! ".w:netrw_line."G0".w:netrw_col."|") exe "keepj norm! ".w:netrw_line."G0".w:netrw_col."\<bar>" endif @@ -8160,48 +8379,56 @@ fun! s:NetrwCursor() if !exists("w:netrw_liststyle") let w:netrw_liststyle= g:netrw_liststyle endif -" call Dfunc("s:NetrwCursor() liststyle=".w:netrw_liststyle." g:netrw_cursor=".g:netrw_cursor." s:netrw_usercuc=".s:netrw_usercuc." s:netrw_usercul=".s:netrw_usercul) +" call Dfunc("s:NetrwCursor() ft<".&ft."> liststyle=".w:netrw_liststyle." g:netrw_cursor=".g:netrw_cursor." s:netrw_usercuc=".s:netrw_usercuc." s:netrw_usercul=".s:netrw_usercul) if &ft != "netrw" " if the current window isn't a netrw directory listing window, then use user cursorline/column " settings. Affects when netrw is used to read/write a file using scp/ftp/etc. +" call Decho("case ft!=netrw: use user cul,cuc") let &l:cursorline = s:netrw_usercul let &l:cursorcolumn = s:netrw_usercuc elseif g:netrw_cursor == 4 " all styles: cursorline, cursorcolumn - setlocal cursorline - setlocal cursorcolumn +" call Decho("case g:netrw_cursor==4: setl cul cuc") + setl cursorline + setl cursorcolumn elseif g:netrw_cursor == 3 " thin-long-tree: cursorline, user's cursorcolumn " wide : cursorline, cursorcolumn if w:netrw_liststyle == s:WIDELIST - setlocal cursorline - setlocal cursorcolumn +" call Decho("case g:netrw_cursor==3 and wide: setlocal cul cuc") + setl cursorline + setl cursorcolumn else - setlocal cursorline +" call Decho("case g:netrw_cursor==3 and not wide: setlocal cul (use user's cuc)") + setl cursorline let &l:cursorcolumn = s:netrw_usercuc endif elseif g:netrw_cursor == 2 " thin-long-tree: cursorline, user's cursorcolumn " wide : cursorline, user's cursorcolumn +" call Decho("case g:netrw_cursor==2: setlocal cuc (use user's cul)") let &l:cursorcolumn = s:netrw_usercuc - setlocal cursorline + setl cursorline elseif g:netrw_cursor == 1 " thin-long-tree: user's cursorline, user's cursorcolumn " wide : cursorline, user's cursorcolumn let &l:cursorcolumn = s:netrw_usercuc if w:netrw_liststyle == s:WIDELIST - setlocal cursorline +" call Decho("case g:netrw_cursor==2 and wide: setlocal cul (use user's cuc)") + set cursorline else +" call Decho("case g:netrw_cursor==2 and not wide: (use user's cul,cuc)") let &l:cursorline = s:netrw_usercul endif else " all styles: user's cursorline, user's cursorcolumn +" call Decho("default: (use user's cul,cuc)") let &l:cursorline = s:netrw_usercul let &l:cursorcolumn = s:netrw_usercuc endif @@ -8444,14 +8671,21 @@ endfun " s:nbcd_curpos_{bufnr('%')} is set up by s:NetrwBrowseChgDir() fun! s:NetrwRexplore(islocal,dirname) " call Dfunc("s:NetrwRexplore() w:netrw_rexlocal=".w:netrw_rexlocal." w:netrw_rexdir<".w:netrw_rexdir.">") + if !exists("w:netrw_rexlocal") + " call Dret("s:NetrwRexplore() w:netrw_rexlocal doesn't exist") + return + endif if w:netrw_rexlocal keepj call netrw#LocalBrowseCheck(w:netrw_rexdir) else keepj call s:NetrwBrowse(0,w:netrw_rexdir) endif + if exists("s:initbeval") + set beval + endif if exists("s:nbcd_curpos_{bufnr('%')}") keepj call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')}) - unlet s:nbcd_curpos_{bufnr('%')} +" unlet s:nbcd_curpos_{bufnr('%')} endif if exists("s:explore_match") exe "2match netrwMarkFile /".s:explore_match."/" diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim index 0e3a4fce8..b51077826 100644 --- a/runtime/autoload/vimball.vim +++ b/runtime/autoload/vimball.vim @@ -1,7 +1,7 @@ " vimball.vim : construct a file containing both paths and files " Author: Charles E. Campbell, Jr. -" Date: Apr 02, 2011 -" Version: 33 +" Date: Sep 26, 2011 +" Version: 34 " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim " Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. " The VIM LICENSE applies to Vimball.vim, and Vimball.txt @@ -14,7 +14,7 @@ if &cp || exists("g:loaded_vimball") finish endif -let g:loaded_vimball = "v33" +let g:loaded_vimball = "v34" if v:version < 702 echohl WarningMsg echo "***warning*** this version of vimball needs vim 7.2" @@ -220,7 +220,16 @@ fun! vimball#Vimball(really,...) " go to vim plugin home if a:0 > 0 + " let user specify the directory where the vimball is to be unpacked. + " If, however, the user did not specify a full path, set the home to be below the current directory let home= expand(a:1) + if has("win32") || has("win95") || has("win64") || has("win16") + if home !~ '^\a:[/\\]' + let home= getcwd().'/'.a:1 + endif + elseif home !~ '^/' + let home= getcwd().'/'.a:1 + endif else let home= vimball#VimballHome() endif @@ -282,11 +291,14 @@ fun! vimball#Vimball(really,...) " call Decho("making directories if they don't exist yet (fname<".fname.">)") let fnamebuf= substitute(fname,'\\','/','g') let dirpath = substitute(home,'\\','/','g') +" call Decho("init: fnamebuf<".fnamebuf.">") +" call Decho("init: dirpath <".dirpath.">") while fnamebuf =~ '/' let dirname = dirpath."/".substitute(fnamebuf,'/.*$','','') let dirpath = dirname let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','') " call Decho("dirname<".dirname.">") +" call Decho("dirpath<".dirpath.">") if !isdirectory(dirname) " call Decho("making <".dirname.">") if exists("g:vimball_mkdir") @@ -569,9 +581,19 @@ endfun fun! s:ChgDir(newdir) " call Dfunc("ChgDir(newdir<".a:newdir.">)") if (has("win32") || has("win95") || has("win64") || has("win16")) - exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g')) + try + exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g')) + catch /^Vim\%((\a\+)\)\=:E/ + call mkdir(fnameescape(substitute(a:newdir,'/','\\','g'))) + exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g')) + endtry else - exe 'silent cd '.fnameescape(a:newdir) + try + exe 'silent cd '.fnameescape(a:newdir) + catch /^Vim\%((\a\+)\)\=:E/ + call mkdir(fnameescape(a:newdir)) + exe 'silent cd '.fnameescape(a:newdir) + endtry endif " call Dret("ChgDir : curdir<".getcwd().">") endfun diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 624b47da9..46ecaee45 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.3. Last change: 2011 Aug 29 +*eval.txt* For Vim version 7.3. Last change: 2011 Sep 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -6374,7 +6374,7 @@ last defined. Example: > < See |:verbose-cmd| for more information. - *E124* *E125* + *E124* *E125* *E853* :fu[nction][!] {name}([arguments]) [range] [abort] [dict] Define a new function by the name {name}. The name must be made of alphanumeric characters and '_', and diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index 92e21668f..759c90c52 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.3. Last change: 2011 Aug 19 +*map.txt* For Vim version 7.3. Last change: 2011 Oct 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -237,11 +237,18 @@ For this reason the following is blocked: - Editing another buffer. - The |:normal| command. - Moving the cursor is allowed, but it is restored afterwards. -- You can use getchar(), but the existing typeahead isn't seen and new - typeahead is discarded. If you want the mapping to do any of these let the returned characters do that. +You can use getchar(), it consumes typeahead if there is any. E.g., if you +have these mappings: > + inoremap <expr> <C-L> nr2char(getchar()) + inoremap <expr> <C-L>x "foo" +If you now type CTRL-L nothing happens yet, Vim needs the next character to +decide what mapping to use. If you type 'x' the second mapping is used and +"foo" is inserted. If you type 'a' the first mapping is used, getchar() gets +the 'a' and returns it. + Here is an example that inserts a list number that increases: > let counter = 0 inoremap <expr> <C-L> ListItem() diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt index 66af7b465..e8d067600 100644 --- a/runtime/doc/mbyte.txt +++ b/runtime/doc/mbyte.txt @@ -1,4 +1,4 @@ -*mbyte.txt* For Vim version 7.3. Last change: 2011 Jul 18 +*mbyte.txt* For Vim version 7.3. Last change: 2011 Oct 15 VIM REFERENCE MANUAL by Bram Moolenaar et al. @@ -797,8 +797,8 @@ is suitable for complex input, such as CJK. number of Hira-gana characters are 76. So, first, we pre-input text as pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana, if needed. There are some Kana-Kanji conversion server: jserver - (distributed with Wnn, see below) and canna. Canna could be found at: - ftp://ftp.nec.co.jp/pub/Canna/ (no longer works). + (distributed with Wnn, see below) and canna. Canna can be found at: + http://canna.sourceforge.jp/ There is a good input system: Wnn4.2. Wnn 4.2 contains, xwnmo (|IM-server|) diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt index 8798ee134..b7614e7f0 100644 --- a/runtime/doc/netbeans.txt +++ b/runtime/doc/netbeans.txt @@ -1,4 +1,4 @@ -*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29 +*netbeans.txt* For Vim version 7.3. Last change: 2011 Oct 20 VIM REFERENCE MANUAL by Gordon Prieur et al. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index b256cb6fb..c76147421 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3. Last change: 2011 Sep 09 +*options.txt* For Vim version 7.3. Last change: 2011 Sep 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -6762,8 +6762,8 @@ A jump table for the options with a short description can be found at |Q_op|. usetab Like "useopen", but also consider windows in other tab pages. split If included, split the current window before loading - a buffer. Otherwise: do not split, use current window. - Supported in |quickfix| commands that display errors. + a buffer for a |quickfix| command that display errors. + Otherwise: do not split, use current window. newtab Like "split", but open a new tab page. Overrules "split" when both are present. diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt index 9b7eacceb..9a9d0568b 100644 --- a/runtime/doc/pattern.txt +++ b/runtime/doc/pattern.txt @@ -1,4 +1,4 @@ -*pattern.txt* For Vim version 7.3. Last change: 2011 Jul 20 +*pattern.txt* For Vim version 7.3. Last change: 2011 Sep 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -21,7 +21,7 @@ explanations are in chapter 27 |usr_27.txt|. 10. Highlighting matches |match-highlight| ============================================================================== -1. Search commands *search-commands* *E486* +1. Search commands *search-commands* */* /{pattern}[/]<CR> Search forward for the [count]'th occurrence of @@ -150,6 +150,11 @@ use <Esc> to abandon the search. All matches for the last used search pattern will be highlighted if you set the 'hlsearch' option. This can be suspended with the |:nohlsearch| command. +When no match is found you get the error: *E486* Pattern not found +Note that for the |:global| command this behaves like a normal message, for Vi +compatibility. For the |:s| command the "e" flag can be used to avoid the +error message |:s_flags|. + *search-offset* *{offset}* These commands search for the specified pattern. With "/" and "?" an additional offset may be given. There are two types of offsets: line offsets diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 1ee4b6a52..4b74d1f56 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.3. Last change: 2011 May 31 +*pi_netrw.txt* For Vim version 7.3. Last change: 2011 Sep 26 ----------------------------------------------------- NETRW REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -89,7 +89,7 @@ Copyright: Copyright (C) 1999-2011 Charles E Campbell, Jr *netrw-copyright* Marked Files: Unmarking............................|netrw-mu| Netrw Browser Variables............................|netrw-browser-var| Netrw Browsing And Option Incompatibilities........|netrw-incompatible| - Netrw Settings.....................................|netrw-settings| + Netrw Settings Window..............................|netrw-settings-window| Obtaining A File...................................|netrw-O| Preview Window.....................................|netrw-p| Previous Window....................................|netrw-P| @@ -294,14 +294,14 @@ DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2 CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2 Attempts to use ftp will prompt you for a user-id and a password. - These will be saved in global variables g:netrw_uid and - s:netrw_passwd; subsequent uses of ftp will re-use those two items to - simplify the further use of ftp. However, if you need to use a - different user id and/or password, you'll want to call NetUserPass() + These will be saved in global variables |g:netrw_uid| and + |s:netrw_passwd|; subsequent use of ftp will re-use those two strings, + thereby simplifying use of ftp. However, if you need to use a + different user id and/or password, you'll want to call |NetUserPass()| first. To work around the need to enter passwords, check if your ftp supports a <.netrc> file in your home directory. Also see |netrw-passwd| (and if you're using ssh/scp hoping to figure out how - to not need to use passwords, look at |netrw-ssh-hack|). + to not need to use passwords for scp, look at |netrw-ssh-hack|). :NetUserPass [uid [password]] -- prompts as needed :call NetUserPass() -- prompts for uid and password @@ -331,7 +331,8 @@ settings are described below, in |netrw-browser-options|, and in 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 + (default) not defined. (the capital in g:Netrw... + is required by its holding a function reference) > Example: place in .vimrc; affects all file opening fun! MyFuncRef() @@ -479,6 +480,9 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch' let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"' < +(note: it has been reported that windows 7 with putty v0.6's "-batch" option + doesn't work, so its best to leave it off for that system) + See |netrw-p8| for more about putty, pscp, psftp, etc. Ftp, an old protocol, seems to be blessed by numerous implementations. @@ -716,13 +720,16 @@ below, a {netfile} is an url to a remote file. ============================================================================== -8. Variables and Options *netrw-options* *netrw-var* {{{1 +8. Variables and Options *netrw-settings* {{{1 -(if you're interested in the netrw browser settings, see: |netrw-browser-var|) +(also see: |netrw-options| |netrw-variables| |netrw-protocol| + |netrw-browser-settings| |netrw-browser-options| + |netrw-browser-var| ) The <netrw.vim> script provides several variables which act as options to affect <netrw.vim>'s file transfer behavior. These variables typically may be set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|) + *netrw-options* > ------------- Netrw Options @@ -754,6 +761,7 @@ set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|) =1 use default method to do ftp > ----------------------------------------------------------------------- < + *netrw-internal-variables* The script will also make use of the following variables internally, albeit temporarily. > @@ -1147,15 +1155,14 @@ allows one to open a new window to hold the new directory listing or file. A horizontal split is used. (for vertical splitting, see |netrw-v|) Normally, the o key splits the window horizontally with the new window and -cursor at the top. To change to splitting the window horizontally with the -new window and cursor at the bottom, have - - let g:netrw_alto = 1 - -in your <.vimrc>. (also see |netrw-t| |netrw-T| |netrw-v|) +cursor at the top. Associated setting variables: |g:netrw_alto| |g:netrw_winsize| +Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-T| |netrw-v| +Associated setting variables: + |g:netrw_alto| control above/below splitting + |g:netrw_winsize| control initial sizing BROWSING WITH A NEW TAB *netrw-t* *netrw-T* {{{2 @@ -1164,8 +1171,9 @@ allows one to open a new window holding the new directory listing or file in a new tab. The "T" version puts the file or directory into a background tab (see |gT|) -Related actions: |netrw-o| |netrw-v| - +Related Actions |netrw-cr| |netrw-o| |netrw-p| |netrw-v| +Associated setting variables: + |g:netrw_winsize| control initial sizing BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v* {{{2 @@ -1174,18 +1182,18 @@ allows one to open a new window to hold the new directory listing or file. A vertical split is used. (for horizontal splitting, see |netrw-o|) Normally, the v key splits the window vertically with the new window and -cursor at the left. To change to splitting the window vertically with the new -window and cursor at the right, have - - let g:netrw_altv = 1 - -in your <.vimrc>. (also see: |netrw-o| |netrw-t| |netrw-T|) +cursor at the left. There is only one tree listing buffer; using "v" on a displayed subdirectory will split the screen, but the same buffer will be shown twice. Associated setting variable: |g:netrw_altv| |g:netrw_winsize| +Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v| +Associated setting variables: + |g:netrw_altv| control right/left splitting + |g:netrw_winsize| control initial sizing + CHANGE LISTING STYLE (THIN LONG WIDE TREE) *netrw-i* {{{2 @@ -1386,6 +1394,7 @@ to remove it again using the g:netrw_rmf_cmd variable. Its default value is: g:netrw_rmf_cmd: ssh HOSTNAME rm -f +Related topics: |netrw-d| Associated setting variable: |g:netrw_local_rmdir| |g:netrw_rm_cmd| |g:netrw_rmdir_cmd| |g:netrw_ssh_cmd| @@ -1520,7 +1529,7 @@ What it means: Associated setting variables: |g:netrw_hide| |g:netrw_list_hide| Associated topics: |netrw-a| |netrw-gh| |netrw-mh| - + *netrw-sort-sequence* EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence* {{{2 When "Sorted by" is name, one may specify priority via the sorting sequence @@ -1723,9 +1732,9 @@ directory's name. A bare <CR> at that point will abort the making of the directory. Attempts to make a local directory that already exists (as either a file or a directory) will be detected, reported on, and ignored. -Currently, making a directory via ftp is not supported. - -Associated setting variable: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd| +Related topics: |netrw-D| +Associated setting variables: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd| + |g:netrw_remote_mkdir| MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2 @@ -1953,10 +1962,11 @@ MARKED FILES: UNMARKING *netrw-mu* {{{2 The "mu" mapping will unmark all currently marked files. - + *netrw-browser-settings* NETRW BROWSER VARIABLES *netrw-browser-options* *netrw-browser-var* {{{2 -(if you're interested in the netrw file transfer settings, see |netrw-options|) +(if you're interested in the netrw file transfer settings, see |netrw-options| + and |netrw-protocol|) The <netrw.vim> browser provides settings in the form of variables which you may modify; by placing these settings in your <.vimrc>, you may customize @@ -2006,6 +2016,15 @@ your browsing preferences. (see also: |netrw-settings|) Will compress marked files with this command + *g:Netrw_corehandler* Allows one to specify something additional + to do when handling <core> files via netrw's + browser's "x" command (see |netrw-x|). If + present, g:Netrw_corehandler specifies + either one or more function references + (see |Funcref|). (the capital g:Netrw... + is required its holding a function reference) + + *g:netrw_ctags* ="ctags" The default external program used to create tags @@ -2157,6 +2176,7 @@ your browsing preferences. (see also: |netrw-settings|) columnar. *g:netrw_mkdir_cmd* command for making a remote directory + via ssh (also see |g:netrw_remote_mkdir|) default: "ssh USEPORT HOSTNAME mkdir" *g:netrw_mousemaps* =1 (default) enables mouse buttons while @@ -2167,6 +2187,15 @@ your browsing preferences. (see also: |netrw-settings|) rightmouse : remove file/directory =0: disables mouse maps + *g:netrw_nobeval* doesn't exist (default) + If this variable exists, then balloon + evaluation will be suppressed + (see |'ballooneval'|) + + *g:netrw_remote_mkdir* command for making a local directory + via ftp (also see |g:netrw_mkdir_cmd|) + default: "mkdir" + *g:netrw_retmap* if it exists and is set to one, then: * if in a netrw-selected file, AND * no normal-mode <2-leftmouse> mapping exists, @@ -2279,6 +2308,9 @@ your browsing preferences. (see also: |netrw-settings|) is an integer describing the percentage of the current netrw buffer's window to be used for the new window. + If g:netrw_winsize is less than zero, then + the absolute value of g:netrw_winsize lines + or columns will be used for the new window. default: 50 (for 50%) *g:netrw_xstrlen* Controls how netrw computes string lengths, @@ -2313,7 +2345,7 @@ file you edit; this apparently also applies to directories. In other words, autochdir sets the current directory to that containing the "file" (even if that "file" is itself a directory). -NETRW BROWSER SETTINGS *netrw-settings* {{{2 +NETRW SETTINGS WINDOW *netrw-settings-window* {{{2 With the NetrwSettings.vim plugin, > :NetrwSettings @@ -2356,7 +2388,6 @@ Related topics: * To automatically make the currently browsed directory the current directory, see |g:netrw_keepdir|. - *netrw-createfile* OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%* @@ -2390,8 +2421,7 @@ PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2 To edit a file or directory in the previously used (last accessed) window (see :he |CTRL-W_p|), press a "P". If there's only one window, then the one window -will be horizontally split (above/below splitting is controlled by -|g:netrw_alto|, and its initial size is controlled by |g:netrw_winsize|). +will be horizontally split (by default). If there's more than one window, the previous window will be re-used on the selected file/directory. If the previous window's associated buffer @@ -2399,6 +2429,13 @@ has been modified, and there's only one window with that buffer, then the user will be asked if s/he wishes to save the buffer first (yes, no, or cancel). +Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v| +Associated setting variables: + |g:netrw_alto| control above/below splitting + |g:netrw_altv| control right/left splitting + |g:netrw_preview| control horizontal vs vertical splitting + |g:netrw_winsize| control initial sizing + REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l* {{{2 @@ -2804,6 +2841,30 @@ which is loaded automatically at startup (assuming :set nocp). ============================================================================== 12. History *netrw-history* {{{1 + v143: Jun 01, 2011 * |g:netrw_winsize| will accept a negative + number; the absolute value of it will then + be used to specify lines/columns instead of + a percentage. + Jul 05, 2011 * the "d" map now supports mkdir via ftp + See |netrw-d| and |g:netrw_remote_mkdir| + Jul 11, 2011 * Changed Explore!, Sexplore!, and Vexplore + to use a percentage of |winwidth()| instead + of a percentage of |winheight()|. + Jul 11, 2011 * included support for https://... I'm just + beginning to test this, however. + Aug 01, 2011 * changed RestoreOptions to also restore + cursor position in netrw buffers. + Aug 12, 2011 * added a note about "%" to the balloon + Aug 30, 2011 * if |g:netrw_nobeval| exists, then balloon + evaluation is suppressed. + Aug 31, 2011 * (Benjamin R Haskell) provided a patch that + implements non-standard port handling for + files opened via the remote browser. + Aug 31, 2011 * Fixed a **//pattern Explorer bug + Sep 15, 2011 * (reported by Francesco Campana) netrw + now permits the "@" to be part of the + user id (if there's an @ that appears + to the right). v142: Apr 06, 2011 * I modified NetrwRemoteListing() to use shellescape(fnameescape(s:path),1) for the benefit of those using scp://.../ diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt index 73e3e6669..fd0006df9 100644 --- a/runtime/doc/pi_vimball.txt +++ b/runtime/doc/pi_vimball.txt @@ -1,4 +1,4 @@ -*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Aug 14 +*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Sep 26 ---------------- Vimball Archiver @@ -177,6 +177,8 @@ WINDOWS *vimball-windows* ============================================================================== 4. Vimball History *vimball-history* {{{1 + 34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by + prepending the current directory to it. 33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba * Changed silent! to sil! (shorter) * Safed |'swf'| setting (during vimball extraction, diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index 6d14f617f..5eb7d1197 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.3. Last change: 2011 Sep 21 +*syntax.txt* For Vim version 7.3. Last change: 2011 Sep 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2723,7 +2723,7 @@ in your <.vimrc>, and :set fdm=syntax. I suggest doing the latter via a modeline at the end of your LaTeX file: > % vim: fdm=syntax If your system becomes too slow, then you might wish to look into > - https://vimhelp.appspot.com/vim_faq.txt.html#faq-29.7 + http://vim.wikia.com/wiki/Keep_folds_closed_while_inserting_text < *tex-nospell* Tex: Don't Want Spell Checking In Comments? ~ diff --git a/runtime/doc/tags b/runtime/doc/tags index 0f45dc5e0..6b43053ea 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -4235,6 +4235,7 @@ E85 options.txt /*E85* E850 change.txt /*E850* E851 gui_x11.txt /*E851* E852 gui_x11.txt /*E852* +E853 eval.txt /*E853* E86 windows.txt /*E86* E87 windows.txt /*E87* E88 windows.txt /*E88* @@ -5759,6 +5760,7 @@ g- undo.txt /*g-* g0 motion.txt /*g0* g8 various.txt /*g8* g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu* +g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler* g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref* g:ada#Comment ft_ada.txt /*g:ada#Comment* g:ada#Ctags_Kinds ft_ada.txt /*g:ada#Ctags_Kinds* @@ -5846,9 +5848,11 @@ g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen* g:netrw_menu pi_netrw.txt /*g:netrw_menu* g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd* g:netrw_mousemaps pi_netrw.txt /*g:netrw_mousemaps* +g:netrw_nobeval pi_netrw.txt /*g:netrw_nobeval* g:netrw_nogx pi_netrw.txt /*g:netrw_nogx* g:netrw_preview pi_netrw.txt /*g:netrw_preview* g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd* +g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir* g:netrw_retmap pi_netrw.txt /*g:netrw_retmap* g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd* g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd* @@ -5876,6 +5880,8 @@ g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp* g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp* g:netrw_winsize pi_netrw.txt /*g:netrw_winsize* g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen* +g:sh_isk syntax.txt /*g:sh_isk* +g:sh_noisk syntax.txt /*g:sh_noisk* g:syntax_on syntax.txt /*g:syntax_on* g:tar_browseoptions pi_tar.txt /*g:tar_browseoptions* g:tar_cmd pi_tar.txt /*g:tar_cmd* @@ -6767,6 +6773,7 @@ netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds* netrw-browse-maps pi_netrw.txt /*netrw-browse-maps* netrw-browser pi_netrw.txt /*netrw-browser* netrw-browser-options pi_netrw.txt /*netrw-browser-options* +netrw-browser-settings pi_netrw.txt /*netrw-browser-settings* netrw-browser-var pi_netrw.txt /*netrw-browser-var* netrw-browsing pi_netrw.txt /*netrw-browsing* netrw-c pi_netrw.txt /*netrw-c* @@ -6815,6 +6822,7 @@ netrw-history pi_netrw.txt /*netrw-history* netrw-horiz pi_netrw.txt /*netrw-horiz* netrw-i pi_netrw.txt /*netrw-i* netrw-incompatible pi_netrw.txt /*netrw-incompatible* +netrw-internal-variables pi_netrw.txt /*netrw-internal-variables* netrw-intro-browse pi_netrw.txt /*netrw-intro-browse* netrw-leftmouse pi_netrw.txt /*netrw-leftmouse* netrw-list pi_netrw.txt /*netrw-list* @@ -6892,8 +6900,10 @@ netrw-rexplore pi_netrw.txt /*netrw-rexplore* netrw-rightmouse pi_netrw.txt /*netrw-rightmouse* netrw-s pi_netrw.txt /*netrw-s* netrw-settings pi_netrw.txt /*netrw-settings* +netrw-settings-window pi_netrw.txt /*netrw-settings-window* netrw-sexplore pi_netrw.txt /*netrw-sexplore* netrw-sort pi_netrw.txt /*netrw-sort* +netrw-sort-sequence pi_netrw.txt /*netrw-sort-sequence* netrw-sortsequence pi_netrw.txt /*netrw-sortsequence* netrw-source pi_netrw.txt /*netrw-source* netrw-ssh-hack pi_netrw.txt /*netrw-ssh-hack* @@ -6912,7 +6922,6 @@ netrw-updir pi_netrw.txt /*netrw-updir* netrw-urls pi_netrw.txt /*netrw-urls* netrw-userpass pi_netrw.txt /*netrw-userpass* netrw-v pi_netrw.txt /*netrw-v* -netrw-var pi_netrw.txt /*netrw-var* netrw-variables pi_netrw.txt /*netrw-variables* netrw-vexplore pi_netrw.txt /*netrw-vexplore* netrw-write pi_netrw.txt /*netrw-write* @@ -7447,6 +7456,8 @@ setuid change.txt /*setuid* setwinvar() eval.txt /*setwinvar()* sftp pi_netrw.txt /*sftp* sgml.vim syntax.txt /*sgml.vim* +sh-awk syntax.txt /*sh-awk* +sh-embed syntax.txt /*sh-embed* sh.vim syntax.txt /*sh.vim* shell-window tips.txt /*shell-window* shell_error-variable eval.txt /*shell_error-variable* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index cfc3eab84..be8207040 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3. Last change: 2011 Sep 21 +*todo.txt* For Vim version 7.3. Last change: 2011 Oct 20 VIM REFERENCE MANUAL by Bram Moolenaar @@ -34,26 +34,29 @@ not be repeated below, unless there is extra information. *known-bugs* -------------------- Known bugs and current work ----------------------- -Patch for redirection. (Yasuhiro Matsumoto, 2011 Sep 15) 2nd patch. -Another on Sep 15? - -Patch for DFLT_EFM. (Ben Boeckel, 2011 Sep 14) - -Code style patch. (Elias Diem, 2011 Sep 19) - Patch for 'transparency' option. (Ben Boeckel, 2011 Sep 14) Do we want this? Also Sergiu Dotenco, 2011 Sep 17. -Patch for gui_w32.c: call DefWindowProc(). (Sergiu Dotenco, 2011 Sep 15, 17) +Once syntax and other runtime files have been fixed: add "set cp" to +check.vim. Use a function to run both with 'cp' and 'nocp'. -Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 15, 17) -Addition Sep 16. +Windows stuff: +- Patch for gui_w32.c: call DefWindowProc(). (Sergiu Dotenco, 2011 Sep 15, 17) +- Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 15, 17) + Addition Sep 16. +- Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep + 15, 17) +- Patch for redirection. (Yasuhiro Matsumoto, 2011 Sep 15) 2nd patch. Another + on Sep 15? Can't reproduce it. Only with vim.exe, compiled with Mingw? -Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep 15, 17) +Patch for phpcomplete.vim (Benjamin Haskell) picked up by maintainer? -Change to #ifdef for PDP_RETVAL. (Sergiu Dotenco, 2011 Sep 17, patch 2) +Something weird with text formatting when 'compatible' is set. +Only formats from Insert starting point, even when using "gqj"? +(Peter Wagenaar, 2011 Oct 20) -Patch for phpcomplete.vim (Benjamin Haskell) picked up by maintainer? +FocusGained event received event though it's in 'eventignore'? +(Ben Fritz, 2011 Sep 25) Add voting item: modern plugin management (automatic updates, handle dependencies). @@ -62,14 +65,13 @@ Read http://www.charlietanksley.net/philtex/sane-vim-plugin-management/ Go through more coverity reports. -Patch for Issue #9: http://code.google.com/p/vim/issues/detail?id=9 -C++ indenting. martin.gieseking +Better D/Dtrace detection. (Jesse Phillips, 2011 Oct 18) -Using "." to repeat a Visual delete counts bytes, not characters. Can this be -fixed? (Connor Lane Smith, 2011 Sep 1) +Patch for not showing dict methods in completion. (Yasuhiro Matsumoto, 2011 +Oct 7) Move "<" methods to the end. Fix for compiler warnings, Oct 13. -Patch to allow getchar() in expression mapping. -Why was typeahead saved and restored? (James Vega, 2011 Aug 31) +FPE exception in mbyte.c. Stack trace: (Lomy, 2011 Sep 26) +Can't reproduce it. Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22) @@ -81,9 +83,20 @@ Patch to fail if configure can't find an interface, such as Python. Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1) Needs more work. +Other way to start Mzscheme. Tim Brown, 2011 Oct 5: change main call. +Later patch by Sergey Khorev, 2011 Oct 9. + +Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4. +Or use expand('<sid>')? + Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second one) +Patch to highlight cursor line number. (Howard Buchholz (lhb), 2011 Oct 18) + +Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27) +v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20) + Patch for: (Christian Brabandt, 2011 Aug 22) - Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line below/above). @@ -92,11 +105,25 @@ Patch for: (Christian Brabandt, 2011 Aug 24, updated patch) 8 ":sign unplace * file={filename}" should work. Also: ":sign unplace * buffer={bufnr}". So one can remove all signs for one file/buffer. +Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24) + Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17) Patch Sep 18. +Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27) +And one for gui_x11.txt. + Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21) +Patch to sort functions starting with '<' after others. Omit dict functions, +they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11) + +Updated syntax file for ssh_config, maintainer doesn't respond. +(Leonard Ehrenfried, 2011 Sep 26) + +"fC" doesn't position the cursor correctly when there are concealed +characters. Patch by Christian Brabandt, 2011 Oct 11) + 'cursorline' is displayed too short when there are concealed characters and 'list' is set. (Dennis Preiser) Patch 7.3.116 was the wrong solution. @@ -166,8 +193,6 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code? Make 'formatprg' global-local. (Sung Pae) -v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20) - When doing "redir => s:foo" in a script and then "redir END" somewhere else (e.g. in a function) it can't find s:foo. @@ -299,6 +324,8 @@ the system encoding (usually utf-8). Problem producing tags file when hebrew.frx is present. It has a BOM. Results in E670. (Tony Mechelynck, 2010 May 2) +'beval' option should be global-local. + Ruby: ":ruby print $buffer.number" returns zero. setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11) @@ -461,15 +488,10 @@ Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9) Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17) -Cannot use getchar() inside :normal and using an expression mapping. Is this -supposed to work? (XyX, 2010 Sep 22) - When a:base in 'completefunc' starts with a number it's passed as a number, not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a string value. -There is no command line completion for ":lmap". - ":e ~br<Tab>" does not complete to ":e /home/bram/". Would need to use getpwent() to find all the matches. diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 77a9f88d7..07c80c0bd 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.3. Last change: 2011 May 19 +*various.txt* For Vim version 7.3. Last change: 2011 Oct 1st VIM REFERENCE MANUAL by Bram Moolenaar @@ -602,6 +602,10 @@ K Run a program to lookup the keyword under the "gs" stands for "goto sleep". While sleeping the cursor is positioned in the text, if at a visible position. {not in Vi} + Also process the received netbeans messages. {only + available when compiled with the |+netbeans_intg| + feature} + *g_CTRL-A* g CTRL-A Only when Vim was compiled with MEM_PROFILING defined diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 5857c529a..983810ca0 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2011 Sep 07 +" Last Change: 2011 Oct 08 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -754,6 +754,11 @@ au BufNewFile,BufRead */usr/**/gnupg/options.skel setf gpg " gnash(1) configuration files au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash +" Gitolite +au BufNewFile,BufRead gitolite.conf setf gitolite +au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite') +au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl + " Gnuplot scripts au BufNewFile,BufRead *.gpi setf gnuplot diff --git a/runtime/indent/r.vim b/runtime/indent/r.vim index 9c78f3045..7d28f2910 100644 --- a/runtime/indent/r.vim +++ b/runtime/indent/r.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: R " Author: Jakson Alves de Aquino <jalvesaq@gmail.com> -" Last Change: Wed Aug 31, 2011 12:24AM +" Last Change: Fri Oct 14, 2011 09:50PM " Only load this indent file when no other was loaded. @@ -455,19 +455,29 @@ function GetRIndent() return ind endif + if g:r_indent_align_args == 0 && bb != 0 + let ind += bb * &sw + return ind + endif + if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0) return ind endif - while pind < ind && plnum > 0 && ppb == 0 + let pline = getline(plnum) + let pbb = s:Get_paren_balance(pline, '[', ']') + + while pind < ind && plnum > 0 && ppb == 0 && pbb == 0 let ind = pind let plnum = s:Get_prev_line(plnum) let pline = getline(plnum) let ppb = s:Get_paren_balance(pline, '(', ')') + let pbb = s:Get_paren_balance(pline, '[', ']') while pline =~ '^\s*else' let plnum = s:Get_matching_if(plnum, 1) let pline = getline(plnum) let ppb = s:Get_paren_balance(pline, '(', ')') + let pbb = s:Get_paren_balance(pline, '[', ']') endwhile let pind = indent(plnum) if ind == (pind + &sw) && pline =~ '{$' diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim index 717857fe3..3e847b957 100644 --- a/runtime/indent/vhdl.vim +++ b/runtime/indent/vhdl.vim @@ -1,8 +1,8 @@ " VHDL indent ('93 syntax) " Language: VHDL " Maintainer: Gerald Lai <laigera+vim?gmail.com> -" Version: 1.56 -" Last Change: 2010 Jun 29 +" Version: 1.58 +" Last Change: 2011 Sep 27 " URL: http://www.vim.org/scripts/script.php?script_id=1450 " only load this indent file when no other was loaded @@ -95,7 +95,7 @@ function GetVHDLindent() " **************************************************************************************** " indent: align generic variables & port names - " keywords: "generic", "map", "port" + "(", provided current line is part of mapping + " keywords: "procedure" + name, "generic", "map", "port" + "(", provided current line is part of mapping " where: anywhere in previous 2 lines " find following previous non-comment line let pn = prevnonblank(prevn - 1) @@ -104,7 +104,7 @@ function GetVHDLindent() let pn = prevnonblank(pn - 1) let ps = getline(pn) endwhile - if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(generic\|map\|port\)'.s:ES && prevs =~ '^\s*(')) + if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*(')) " align closing ")" with opening "(" if curs =~ '^\s*)' return ind2 + stridx(prevs_noi, '(') @@ -160,12 +160,12 @@ function GetVHDLindent() " make sure one of these is true " keywords: variable + "<=" without ";" ending " where: start of previous non-comment line - " keywords: "generic", "map", "port" + " keywords: "procedure", "generic", "map", "port" " where: anywhere in previous non-comment line " keyword: "(" " where: start of previous non-comment line if m < 3 && ps !~? '^\s*\S\+\s*<=[^;]*'.s:ES - if ps =~? s:NC.'\<\%(generic\|map\|port\)\>' || ps =~ '^\s*(' + if ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)\>' || ps =~ '^\s*(' let ind = t endif break @@ -207,14 +207,26 @@ function GetVHDLindent() " keyword: "begin" " where: anywhere in current line if curs =~? s:NC.'\<begin\>' - let ind = ind - &sw " find previous opening statement of " keywords: "architecture", "block", "entity", "function", "generate", "procedure", "process" let s2 = s:NC.s:NE.'\<\%(architecture\|block\|entity\|function\|generate\|procedure\|process\)\>' - if (curs !~? s2.'.*'.s:NC.'\<begin\>.*'.s:ES && prevs =~? s2) || m == 1 - let ind = ind + &sw + + let pn = prevnonblank(curn - 1) + let ps = getline(pn) + while pn > 0 && (ps =~ '^\s*--' || ps !~? s2) + let pn = prevnonblank(pn - 1) + let ps = getline(pn) + + if (ps =~? s:NC.'\<begin\>') + return indent(pn) - &sw + endif + endwhile + + if (pn == 0) + return ind - &sw + else + return indent(pn) endif - return ind endif " indent: +sw if previous line is previous opening statement @@ -319,8 +331,13 @@ function GetVHDLindent() " indent: -sw " keywords: "else", "elsif", "end" + "block", "for", "function", "generate", "if", "loop", "procedure", "process", "record", "units" " where: start of current line - if curs =~? '^\s*\%(else\|elsif\|end\s\+\%(block\|for\|function\|generate\|if\|loop\|procedure\|process\|record\|units\)\)\>' - return ind - &sw + let s5 = 'block\|for\|function\|generate\|if\|loop\|procedure\|process\|record\|units' + if curs =~? '^\s*\%(else\|elsif\|end\s\+\%('.s5.'\)\)\>' + if prevs =~? '^\s*\%(elsif\|'.s5.'\)' + return ind + else + return ind - &sw + endif endif " indent: backtrace previous non-comment lines @@ -395,9 +412,9 @@ function GetVHDLindent() " **************************************************************************************** " indent: maintain indent of previous opening statement - " keywords: without "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":=" + " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":=" " where: start of current line - if curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)' + if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)' return ind2 endif diff --git a/runtime/plugin/netrwPlugin.vim b/runtime/plugin/netrwPlugin.vim index e6a3c8490..07da60863 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: Feb 10, 2011 +" Date: Aug 24, 2011 " 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 = "v142" +let g:loaded_netrwPlugin = "v143" if v:version < 702 echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None finish @@ -47,20 +47,15 @@ augroup END " Network Browsing Reading Writing: {{{2 augroup Network au! - if has("win32") || has("win95") || has("win64") || has("win16") - au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>")) - else - au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>")) - au BufReadCmd file://localhost/* call netrw#FileUrlRead(substitute(expand("<amatch>")),'file://localhost/','file:///','') - endif - au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>")) - au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>")) - au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>")) - au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>")) + au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>")) + au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>")) + au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>")) + au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>")) + au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>")) try - au SourceCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>")) + au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>")) catch /^Vim\%((\a\+)\)\=:E216/ - au SourcePre ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>")) + au SourcePre ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>")) endtry augroup END diff --git a/runtime/plugin/vimballPlugin.vim b/runtime/plugin/vimballPlugin.vim index cb2b14732..bdfca0105 100644 --- a/runtime/plugin/vimballPlugin.vim +++ b/runtime/plugin/vimballPlugin.vim @@ -16,7 +16,7 @@ if &cp || exists("g:loaded_vimballPlugin") finish endif -let g:loaded_vimballPlugin = "v33" +let g:loaded_vimballPlugin = "v34" let s:keepcpo = &cpo set cpo&vim diff --git a/runtime/syntax/gitolite.vim b/runtime/syntax/gitolite.vim new file mode 100644 index 000000000..7d93c967e --- /dev/null +++ b/runtime/syntax/gitolite.vim @@ -0,0 +1,80 @@ +" Vim syntax file +" Language: gitolite configuration +" URL: https://github.com/tmatilai/gitolite.vim +" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi> +" Last Change: 2011-10-05 + +if exists("b:current_syntax") + finish +endif + +" Comment +syn match gitoliteComment "\(^\|\s\)#.*" contains=gitoliteTodo +syn keyword gitoliteTodo TODO FIXME XXX NOT contained + +" Groups, users and repos +syn match gitoliteGroupDef "\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep +syn match gitoliteGroupDefSep "\s*=" contained nextgroup=gitoliteRepoLine +syn match gitoliteRepoDef "^\s*repo\s" nextgroup=gitoliteRepoLine + +syn match gitoliteRepoLine ".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment +syn match gitoliteUserLine ".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment + +syn match gitoliteWildRepo "[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{}][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError +syn match gitoliteGroup "[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError + +syn keyword gitoliteCreator CREATER CREATOR contained +syn keyword gitolitePreProc CREATER CREATOR READERS WRITERS contained + +syn match gitoliteExtCmdHelper "[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd +syn match gitoliteExtCmd "rsync\(\s\|$\)" contained + +" Illegal characters +syn match gitoliteRepoError "[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{}-]\+" contained +syn match gitoliteUserError "[^ \t0-9a-zA-Z._@+-]\+" contained +syn match gitoliteSpaceError "\s\+" contained + +" Permission +syn match gitoliteKeyword "^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex +syn match gitoliteKeyword "^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex +syn match gitoliteRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine +syn match gitoliteDenyRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers +syn match gitoliteSpecialRefex "\sNAME/"he=e-1 contained +syn match gitoliteSpecialRefex "/USER/"hs=s+1,he=e-1 contained +syn match gitoliteDenyUsers ".*" contained contains=gitoliteUserError,gitoliteComment + +" Configuration +syn match gitoliteKeyword "^\s*config\s\+" nextgroup=gitoliteConfVariable +syn match gitoliteConfVariable "[^=]*" contained + +" Include +syn match gitoliteInclude "^\s*\(include\|subconf\)\s" + +" String +syn region gitoliteString start=+"+ end=+"+ oneline + +" Define the default highlighting +hi def link gitoliteComment Comment +hi def link gitoliteTodo Todo +hi def link gitoliteGroupDef gitoliteGroup +hi def link gitoliteGroup Identifier +hi def link gitoliteWildRepo Special +hi def link gitoliteRepoError gitoliteError +hi def link gitoliteUserError gitoliteError +hi def link gitoliteSpaceError gitoliteError +hi def link gitoliteError Error +hi def link gitoliteCreator gitolitePreProc +hi def link gitolitePreProc PreProc +hi def link gitoliteExtCmdHelper PreProc +hi def link gitoliteExtCmd Special +hi def link gitoliteRepoDef Type +hi def link gitoliteKeyword Keyword +hi def link gitoliteRefex String +hi def link gitoliteDenyRefex gitoliteRefex +hi def link gitoliteSpecialRefex PreProc +hi def link gitoliteDenyUsers WarningMsg +hi def link gitoliteConfVariable Identifier +hi def link gitoliteInclude Include +hi def link gitoliteString String + +let b:current_syntax = "gitolite" diff --git a/runtime/syntax/netrw.vim b/runtime/syntax/netrw.vim index 59c65d79a..d4d266c39 100644 --- a/runtime/syntax/netrw.vim +++ b/runtime/syntax/netrw.vim @@ -22,7 +22,7 @@ syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell -syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell +syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup syn match netrwTreeBarSpace " " contained @@ -63,7 +63,7 @@ if exists("g:netrw_special_syntax") && netrw_special_syntax syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell - syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar,@NoSpell + syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell endif diff --git a/runtime/syntax/php.vim b/runtime/syntax/php.vim index 2c49c64dd..956197d14 100644 --- a/runtime/syntax/php.vim +++ b/runtime/syntax/php.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: php PHP 3/4/5 " Maintainer: Jason Woofenden <jason@jasonwoof.com> -" Last Change: July 29, 2011 +" Last Change: Oct 20, 2011 " URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim " Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com> " Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> @@ -110,6 +110,10 @@ if exists( "php_htmlInStrings") syn cluster phpAddStrings add=@htmlTop endif +" make sure we can use \ at the begining of the line to do a continuation +let s:cpo_save = &cpo +set cpo&vim + syn case match " Env Variables @@ -691,4 +695,8 @@ if main_syntax == 'php' unlet main_syntax endif +" put cpoptions back the way we found it +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: ts=8 sts=2 sw=2 expandtab diff --git a/runtime/syntax/rhelp.vim b/runtime/syntax/rhelp.vim index 9120d756b..0c07861d9 100644 --- a/runtime/syntax/rhelp.vim +++ b/runtime/syntax/rhelp.vim @@ -2,7 +2,7 @@ " Language: R Help File " Maintainer: Jakson Aquino <jalvesaq@gmail.com> " Former Maintainer: Johannes Ranke <jranke@uni-bremen.de> -" Last Change: Sat Feb 19, 2011 02:13PM +" Last Change: Fri Oct 14, 2011 09:54PM " Version: 0.7.4 " SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $ " Remarks: - Includes R syntax highlighting in the appropriate @@ -192,9 +192,9 @@ syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}" syn match rhelpComment /%.*$/ " Error {{{1 -syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpCurlyError -syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpParenError -syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rhelpError,rhelpCurlyError,rhelpParenError +syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim +syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim +syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim syn match rhelpError /[)\]}]/ syn match rhelpBraceError /[)}]/ contained syn match rhelpCurlyError /[)\]]/ contained diff --git a/runtime/syntax/sqr.vim b/runtime/syntax/sqr.vim index 874944779..8c9e7b49e 100644 --- a/runtime/syntax/sqr.vim +++ b/runtime/syntax/sqr.vim @@ -43,11 +43,11 @@ syn keyword sqrSection begin-program begin-report begin-setup syn keyword sqrSection end-footing end-heading end-procedure syn keyword sqrSection end-program end-report end-setup -syn keyword sqrParagraph alter-color-map alter-conection +syn keyword sqrParagraph alter-color-map alter-connection syn keyword sqrParagraph alter-locale alter-printer alter-report syn keyword sqrParagraph begin-document begin-execute begin-select syn keyword sqrParagraph begin-sql declare-chart declare-image -syn keyword sqrParagraph declare-color-map declare-conection +syn keyword sqrParagraph declare-color-map declare-connection syn keyword sqrParagraph declare-layout declare-printer syn keyword sqrParagraph declare-report declare-procedure syn keyword sqrParagraph declare-toc declare-variable end-declare @@ -224,16 +224,16 @@ if version >= 600 " See also the sqrString section above for handling of ! characters " inside of strings. (Those patterns override the ones below.) syn match sqrComment /!\@<!!\([^!=].*\|$\)/ contains=sqrTodo - " the ! can't be preceeded by another !, + " the ! can't be preceded by another !, " and must be followed by at least one " character other than ! or =, or immediately " by the end-of-line syn match sqrComment /^!=.*/ contains=sqrTodo syn match sqrComment /^!!.*/ contains=sqrTodo syn match sqrError /^\s\+\zs!=.*/ - " it's an error to have "!=" preceeded by + " it's an error to have "!=" preceded by " just whitespace on the line ("!=" - " preceeded by non-whitespace is treated + " preceded by non-whitespace is treated " as neither a comment nor an error, since " it is often correct, i.e. " if #count != 7 @@ -259,7 +259,7 @@ endif " Define the default highlighting. " For version 5.7 and earlier, only when not done already. -" For version 5.8 and later, only when an item doesn;t have hightlighting yet. +" For version 5.8 and later, only when an item doesn't have highlighting yet. if version >= 508 || !exists("did_sqr_syn_inits") if version < 508 let did_sqr_syn_inits = 1 diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index b8756a88f..a2b98251b 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM> -" Last Change: Aug 22, 2011 -" Version: 68 +" Last Change: Oct 12, 2011 +" Version: 69 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " " Notes: {{{1 @@ -37,6 +37,8 @@ if version < 600 elseif exists("b:current_syntax") finish endif +let s:keepcpo= &cpo +set cpo&vim scriptencoding utf-8 " Define the default highlighting. {{{1 @@ -1217,7 +1219,9 @@ if did_tex_syntax_inits == 1 delcommand HiLink endif -" Current Syntax: {{{1 +" Cleanup: {{{1 unlet s:extfname let b:current_syntax = "tex" +let &cpo = s:keepcpo +unlet s:keepcpo " vim: ts=8 fdm=marker diff --git a/src/po/de.po b/src/po/de.po index e0c40333a..1a61bffe8 100644 --- a/src/po/de.po +++ b/src/po/de.po @@ -1700,7 +1700,7 @@ msgid "" "&Load File" msgstr "" "&OK\n" -"&Lese Datei" +"&Lies Datei" #, c-format msgid "E462: Could not prepare for reloading \"%s\"" |