Permalink
Browse files

Merge branch 'vim'

Conflicts:
	src/gui.c
  • Loading branch information...
2 parents 30332fd + 961eab7 commit f6c00379450c8c31f43ab7ecea5e801dbd5882ad @b4winckler b4winckler committed Jun 27, 2011
Showing with 1,946 additions and 1,060 deletions.
  1. +18 −0 .hgtags
  2. +10 −4 runtime/autoload/getscript.vim
  3. +91 −55 runtime/autoload/netrw.vim
  4. +32 −32 runtime/autoload/tar.vim
  5. +63 −50 runtime/autoload/vimball.vim
  6. +16 −27 runtime/autoload/zip.vim
  7. +1 −1 runtime/doc/autocmd.txt
  8. +23 −11 runtime/doc/change.txt
  9. +41 −29 runtime/doc/eval.txt
  10. +4 −3 runtime/doc/filetype.txt
  11. +11 −10 runtime/doc/if_cscop.txt
  12. +24 −8 runtime/doc/indent.txt
  13. +13 −10 runtime/doc/map.txt
  14. +5 −3 runtime/doc/motion.txt
  15. +12 −16 runtime/doc/options.txt
  16. +8 −7 runtime/doc/os_win32.txt
  17. +3 −2 runtime/doc/pattern.txt
  18. +36 −10 runtime/doc/pi_getscript.txt
  19. +67 −13 runtime/doc/pi_netrw.txt
  20. +11 −7 runtime/doc/pi_tar.txt
  21. +20 −2 runtime/doc/pi_vimball.txt
  22. +10 −5 runtime/doc/pi_zip.txt
  23. +3 −2 runtime/doc/quickref.txt
  24. +3 −1 runtime/doc/spell.txt
  25. +47 −15 runtime/doc/tags
  26. +61 −74 runtime/doc/todo.txt
  27. +2 −2 runtime/doc/usr_41.txt
  28. +1 −3 runtime/doc/various.txt
  29. +4 −1 runtime/filetype.vim
  30. +53 −14 runtime/indent/fortran.vim
  31. +17 −22 runtime/optwin.vim
  32. +1 −1 runtime/plugin/getscriptPlugin.vim
  33. +1 −1 runtime/plugin/netrwPlugin.vim
  34. +1 −1 runtime/plugin/tarPlugin.vim
  35. +52 −47 runtime/plugin/tohtml.vim
  36. +11 −7 runtime/plugin/vimballPlugin.vim
  37. +2 −2 runtime/plugin/zipPlugin.vim
  38. +28 −2 runtime/syntax/2html.vim
  39. +24 −17 runtime/syntax/automake.vim
  40. +6 −4 runtime/syntax/bib.vim
  41. +3 −3 runtime/syntax/debchangelog.vim
  42. +8 −5 runtime/syntax/debcontrol.vim
  43. +3 −3 runtime/syntax/debsources.vim
  44. +3 −3 runtime/syntax/gdmo.vim
  45. +110 −0 runtime/syntax/jovial.vim
  46. +3 −1 runtime/syntax/matlab.vim
  47. +1 −1 runtime/syntax/netrw.vim
  48. +2 −2 runtime/syntax/xquery.vim
  49. +1 −1 src/GvimExt/gvimext.def
  50. +1 −1 src/GvimExt/gvimext_ming.def
  51. +1 −1 src/Make_ming.mak
  52. +17 −2 src/eval.c
  53. +2 −2 src/ex_cmds.h
  54. +8 −2 src/ex_cmds2.c
  55. +58 −35 src/ex_getln.c
  56. +6 −1 src/gui.c
  57. +2 −0 src/gui.h
  58. +1 −1 src/gui_gtk.c
  59. +6 −9 src/gui_gtk_x11.c
  60. +1 −1 src/gui_mac.c
  61. +240 −7 src/if_py_both.h
  62. +9 −228 src/if_python.c
  63. +94 −35 src/if_python3.c
  64. +1 −0 src/normal.c
  65. +12 −6 src/ops.c
  66. +4 −2 src/option.h
  67. +4 −12 src/os_macosx.m
  68. +1 −3 src/os_msdos.c
  69. +154 −154 src/os_mswin.c
  70. +1 −1 src/os_qnx.c
  71. +8 −3 src/regexp.c
  72. +12 −3 src/search.c
  73. +7 −1 src/syntax.c
  74. +5 −1 src/testdir/Make_amiga.mak
  75. +2 −1 src/testdir/Make_dos.mak
  76. +2 −1 src/testdir/Make_ming.mak
  77. +2 −1 src/testdir/Make_os2.mak
  78. +2 −2 src/testdir/Make_vms.mms
  79. +2 −1 src/testdir/Makefile
  80. BIN src/testdir/test79.in
  81. BIN src/testdir/test79.ok
  82. +150 −0 src/testdir/test80.in
  83. +101 −0 src/testdir/test80.ok
  84. +18 −0 src/testdir/test81.in
  85. +4 −0 src/testdir/test81.ok
  86. +2 −3 src/ui.c
  87. +36 −0 src/version.c
View
18 .hgtags
@@ -1554,3 +1554,21 @@ eb6c704607025d89a0a5d3fd2769a694ac47e0af v7-3-216
15705b520c298738588a9a3b8d724c6d86d4cb8c v7-3-217
cf89a1d3a0ddd21fe6b734fd72346468b808836f v7-3-218
acda456c788ae1b0b45b8c67a93edcccde594819 v7-3-219
+fe9c7da98b5e2f92e4212e948e98f2d44bf06320 v7-3-220
+fd4224d9ee09801ed1ad9341a72c4683e291bb76 v7-3-221
+c3b4b1c89d8ed62a2624bf9404fc79f60223bd81 v7-3-222
+4e21fd3cfc3084db66f65aef132cb6c5e076cb96 v7-3-223
+69e0783ed0ef40f72ebeba41f8c98c9992f368c7 v7-3-224
+c249d9aa60f759286f54781829c1e3da8680c4a7 v7-3-225
+8477b2cc2b81603408b3fb1a84cd65afb2aadc65 v7-3-226
+b65a26a2aa095c739e90edb7b980154476529d35 v7-3-227
+c6df8554b39d009ed146baa48c0cfb351aa8379a v7-3-228
+07647a0545c9f0fad4e1e84062e0572a07d94659 v7-3-229
+70c8f54e7efbd7b59bbe6764d0fbfa1f1602273f v7-3-230
+455a4c85d04d04c732367f915d82c5b3c9a65b50 v7-3-231
+b67d3a44262a97e7b3ae212fcffb36926b5f53f4 v7-3-232
+69b90e43b728ec28939b0a536de32f818b7ee756 v7-3-233
+7653420fdc454be197d59e420a1672909fac7b82 v7-3-234
+441d364773dc53264b5f26042f8fc6f8b77c8044 v7-3-235
+c1733ef5b6e87dde521d0d85a1e5e62259854ac1 v7-3-236
+e3bb93df6c34da672244bce5695c1426da139614 v7-3-237
View
14 runtime/autoload/getscript.vim
@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
-" Date: Dec 28, 2009
-" Version: 32
+" Date: May 31, 2011
+" Version: 33
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -15,7 +15,7 @@
if exists("g:loaded_getscript")
finish
endif
-let g:loaded_getscript= "v32"
+let g:loaded_getscript= "v33"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
@@ -519,14 +519,15 @@ fun! s:GetOneScript(...)
" --------------------------------------------------------------------------
" AutoInstall: only if doautoinstall has been requested by the plugin itself
" --------------------------------------------------------------------------
+" call Decho("checking if plugin requested autoinstall: doautoinstall=".doautoinstall)
if doautoinstall
" call Decho(" ")
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
if filereadable(sname)
" call Decho("<".sname."> is readable")
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
- let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
+ let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
let installdir= curdir."/Installed"
if !isdirectory(installdir)
call mkdir(installdir)
@@ -557,6 +558,11 @@ fun! s:GetOneScript(...)
exe "silent !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
+ elseif sname =~ '\.xz$'
+" call Decho("decompress: attempt to unxz ".sname)
+ exe "silent !unxz ".shellescape(sname)
+ let sname= substitute(sname,'\.xz$','','')
+" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
View
146 runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across
" AUTOLOAD SECTION
-" Date: Apr 01, 2011
-" Version: 141
+" Date: May 31, 2011
+" Version: 142
" 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 = "v141"
+let g:loaded_netrw = "v142"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrw needs vim 7.2"
@@ -291,7 +291,7 @@ call s:NetrwInit("g:netrw_timefmt","%c")
call s:NetrwInit("g:netrw_xstrlen",0)
call s:NetrwInit("g:NetrwTopLvlMenu","Netrw.")
call s:NetrwInit("g:netrw_win95ftp",1)
-call s:NetrwInit("g:netrw_winsize",25)
+call s:NetrwInit("g:netrw_winsize",50)
" ---------------------------------------------------------------------
" Default values for netrw's script variables: {{{2
call s:NetrwInit("g:netrw_fname_escape",' ?&;%')
@@ -1518,6 +1518,14 @@ endfun
fun! s:NetrwMethod(choice)
" call Dfunc("NetrwMethod(a:choice<".a:choice.">)")
+ " sanity check: choice should have at least three slashes in it
+ if strlen(substitute(a:choice,'[^/]','','g')) < 3
+ call netrw#ErrorMsg(s:ERROR,"not a netrw-style url; netrw uses protocol://[user@]hostname[:port]/[path])",78)
+ let b:netrw_method = -1
+" call Dret("NetrwMethod : incorrect url format<".a:choice.">")
+ return
+ endif
+
" record current g:netrw_machine, if any
" curmachine used if protocol == ftp and no .netrc
if exists("g:netrw_machine")
@@ -1813,6 +1821,25 @@ endfun
" s:NetrwMaps: {{{2
fun! s:NetrwMaps(islocal)
" call Dfunc("s:NetrwMaps(islocal=".a:islocal.") b:netrw_curdir<".b:netrw_curdir.">")
+
+ " set up Rexplore and [ 2-leftmouse-click -or- c-leftmouse ]
+" call Decho("set up Rexplore command")
+ com! Rexplore call s:NetrwRexplore(w:netrw_rexlocal,exists("w:netrw_rexdir")? w:netrw_rexdir : ".")
+ if g:netrw_mousemaps && g:netrw_retmap
+" call Decho("set up Rexplore 2-leftmouse")
+ if !hasmapto("<Plug>NetrwReturn")
+ if maparg("<2-leftmouse>","n") == "" || maparg("<2-leftmouse>","n") =~ '^-$'
+" call Decho("making map for 2-leftmouse")
+ nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
+ elseif maparg("<c-leftmouse>","n") == ""
+" call Decho("making map for c-leftmouse")
+ nmap <unique> <silent> <c-leftmouse> <Plug>NetrwReturn
+ endif
+ endif
+ nno <silent> <Plug>NetrwReturn :Rexplore<cr>
+" call Decho("made <Plug>NetrwReturn map")
+ endif
+
if a:islocal
" call Decho("make local maps")
inoremap <buffer> <silent> a <c-o>:call <SID>NetrwHide(1)<cr>
@@ -1925,15 +1952,22 @@ fun! s:NetrwMaps(islocal)
endif
let mapsafecurdir = escape(b:netrw_curdir, s:netrw_map_escape)
if g:netrw_mousemaps == 1
- nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetrwLeftmouse(1)<cr>
- nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(1)<cr>
- nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
- nmap <buffer> <silent> <2-leftmouse> -
+ nmap <buffer> <leftmouse> <Plug>NetrwLeftmouse
+ nno <buffer> <silent> <Plug>NetrwLeftmouse <leftmouse>:call <SID>NetrwLeftmouse(1)<cr>
+ nmap <buffer> <middlemouse> <Plug>NetrwMiddlemouse
+ nno <buffer> <silent> <Plug>NetrwMiddlemouse <leftmouse>:call <SID>NetrwPrevWinOpen(1)<cr>
+ nmap <buffer> <s-leftmouse> <Plug>NetrwSLeftmouse
+ nno <buffer> <silent> <Plug>NetrwSLeftmouse <leftmouse>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
+ nmap <buffer> <2-leftmouse> <Plug>Netrw2Leftmouse
+ nmap <buffer> <silent> <Plug>Netrw2Leftmouse -
+ imap <buffer> <leftmouse> <Plug>ILeftmouse
+ ino <buffer> <silent> <Plug>ILeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(1)<cr>
+ imap <buffer> <middlemouse> <Plug>IMiddlemouse
+ ino <buffer> <silent> <Plug>IMiddlemouse <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(1)<cr>
+ imap <buffer> <s-leftmouse> <Plug>ISLeftmouse
+ ino <buffer> <silent> <Plug>ISLeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
- inoremap <buffer> <silent> <leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(1)<cr>
- inoremap <buffer> <silent> <middlemouse> <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(1)<cr>
- inoremap <buffer> <silent> <s-leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
exe 'inoremap <buffer> <silent> <rightmouse> <c-o><leftmouse><c-o>:call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
endif
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwLocalRm("'.mapsafecurdir.'")<cr>'
@@ -2053,17 +2087,24 @@ fun! s:NetrwMaps(islocal)
let mapsafepath = escape(s:path, s:netrw_map_escape)
let mapsafeusermach = escape(s:user.s:machine, s:netrw_map_escape)
- nnoremap <buffer> <silent> <Plug>NetrwRefresh :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
+ nnoremap <buffer> <silent> <Plug>NetrwRefresh :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
if g:netrw_mousemaps == 1
- nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetrwLeftmouse(0)<cr>
- nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(0)<cr>
- nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
- nmap <buffer> <silent> <2-leftmouse> -
+ nmap <leftmouse> <Plug>NetrwLeftmouse
+ nno <buffer> <silent> <Plug>NetrwLeftmouse <leftmouse>:call <SID>NetrwLeftmouse(0)<cr>
+ nmap <middlemouse> <Plug>NetrwMiddlemouse
+ nno <buffer> <silent> <middlemouse> <Plug>NetrwMiddlemouse <leftmouse>:call <SID>NetrwPrevWinOpen(0)<cr>
+ nmap <buffer> <s-leftmouse> <Plug>NetrwSLeftmouse
+ nno <buffer> <silent> <Plug>NetrwSLeftmouse <leftmouse>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
+ nmap <buffer> <2-leftmouse> <Plug>Netrw2Leftmouse
+ nmap <buffer> <silent> <Plug>Netrw2Leftmouse -
+ imap <buffer> <leftmouse> <Plug>ILeftmouse
+ ino <buffer> <silent> <Plug>ILeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(0)<cr>
+ imap <buffer> <middlemouse> <Plug>IMiddlemouse
+ ino <buffer> <silent> <Plug>IMiddlemouse <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(0)<cr>
+ imap <buffer> <s-leftmouse> <Plug>ISLeftmouse
+ ino <buffer> <silent> <Plug>ISLeftmouse <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
- inoremap <buffer> <silent> <leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwLeftmouse(0)<cr>
- inoremap <buffer> <silent> <middlemouse> <c-o><leftmouse><c-o>:call <SID>NetrwPrevWinOpen(0)<cr>
- inoremap <buffer> <silent> <s-leftmouse> <c-o><leftmouse><c-o>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
exe 'inoremap <buffer> <silent> <rightmouse> <c-o><leftmouse><c-o>:call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
endif
exe 'nnoremap <buffer> <silent> <del> :call <SID>NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")<cr>'
@@ -2081,23 +2122,8 @@ fun! s:NetrwMaps(islocal)
inoremap <buffer> <F1> <c-o>:he netrw-quickhelp<cr>
endif
- " set up Rexplore and leftmouse-double-click
- com! Rexplore call s:NetrwRexplore(w:netrw_rexlocal,exists("w:netrw_rexdir")? w:netrw_rexdir : ".")
- if g:netrw_mousemaps && g:netrw_retmap
- if !hasmapto("<Plug>NetrwReturn")
- if maparg("<2-leftmouse>","n") == "" || maparg("<2-leftmouse>","n") =~ '^-$'
-" call Decho("making map for 2-leftmouse")
- nmap <unique> <silent> <2-leftmouse> <Plug>NetrwReturn
- elseif maparg("<c-leftmouse>","n") == ""
-" call Decho("making map for c-leftmouse")
- nmap <unique> <silent> <c-leftmouse> <Plug>NetrwReturn
- endif
- endif
- exe 'nnoremap <silent> <Plug>NetrwReturn :Rexplore<cr>'
-" call Decho("made <Plug>NetrwReturn map")
- endif
-
keepj call s:SetRexDir(a:islocal,b:netrw_curdir)
+
" call Dret("s:NetrwMaps")
endfun
@@ -3647,34 +3673,40 @@ fun! netrw#Explore(indx,dosplit,style,...)
if a:dosplit || &modified || a:style == 6
" call Decho("case dosplit=".a:dosplit." modified=".&modified." a:style=".a:style.": dosplit or file has been modified")
call s:SaveWinVars()
- let winsize= g:netrw_winsize
+ let winsz= g:netrw_winsize
if a:indx > 0
- let winsize= a:indx
+ let winsz= a:indx
endif
if a:style == 0 " Explore, Sexplore
" call Decho("style=0: Explore or Sexplore")
- exe winsize."wincmd s"
+ let winsz= (winsz*winheight(0))/100
+ exe winsz."wincmd s"
elseif a:style == 1 "Explore!, Sexplore!
" call Decho("style=1: Explore! or Sexplore!")
- exe winsize."wincmd v"
+ let winsz= (winsz*winheight(0))/100
+ exe winsz."wincmd v"
elseif a:style == 2 " Hexplore
" call Decho("style=2: Hexplore")
- exe "bel ".winsize."wincmd s"
+ let winsz= (winsz*winheight(0))/100
+ exe "bel ".winsz."wincmd s"
elseif a:style == 3 " Hexplore!
" call Decho("style=3: Hexplore!")
- exe "abo ".winsize."wincmd s"
+ let winsz= (winsz*winheight(0))/100
+ exe "abo ".winsz."wincmd s"
elseif a:style == 4 " Vexplore
" call Decho("style=4: Vexplore")
- exe "lefta ".winsize."wincmd v"
+ let winsz= (winsz*winheight(0))/100
+ exe "lefta ".winsz."wincmd v"
elseif a:style == 5 " Vexplore!
" call Decho("style=5: Vexplore!")
- exe "rightb ".winsize."wincmd v"
+ let winsz= (winsz*winheight(0))/100
+ exe "rightb ".winsz."wincmd v"
elseif a:style == 6 " Texplore
call s:SaveBufVars()
@@ -4618,13 +4650,13 @@ fun! s:NetrwMarkFileCopy(islocal)
" sanity checks
if !exists("s:netrwmarkfilelist_{bufnr('%')}") || empty(s:netrwmarkfilelist_{bufnr('%')})
- keepj call netrw#ErrorMsg(2,"there are no marked files in this window (:help netrw-mf)",66)
+ keepj call netrw#ErrorMsg(s:ERROR,"there are no marked files in this window (:help netrw-mf)",66)
" call Dret("s:NetrwMarkFileCopy 0")
return 0
endif
" call Decho("sanity chk passed: s:netrwmarkfilelist_".bufnr('%')."<".string(s:netrwmarkfilelist_{bufnr('%')}))
if !exists("s:netrwmftgt")
- keepj call netrw#ErrorMsg(2,"your marked file target is empty! (:help netrw-mt)",67)
+ keepj call netrw#ErrorMsg(s:ERROR,"your marked file target is empty! (:help netrw-mt)",67)
" call Dret("s:NetrwMarkFileCopy 0")
return 0
endif
@@ -6143,7 +6175,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")
- exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+ let winsz= (g:netrw_winsize*winheight(0))/100
+ exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
@@ -6162,7 +6195,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")
- exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
+ let winsz= (g:netrw_winsize*winwidth(0))/100
+ exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
@@ -6171,7 +6205,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")
- exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+ let winsz= (g:netrw_winsize*winheight(0))/100
+ exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
@@ -6192,7 +6227,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")
- exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
+ let winsz= (g:netrw_winsize*winwidth(0))/100
+ exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v"
let s:didsplit= 1
keepj call s:RestoreWinVars()
keepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
@@ -6826,8 +6862,8 @@ fun! s:NetrwRemoteListing()
" call Decho("2: exe sil r! ".listcmd)
exe "sil! keepalt r! ".listcmd
else
-" call Decho("3: exe sil r! ".listcmd.' '.shellescape(s:path,1))
- exe "sil! keepalt r! ".listcmd.' '.shellescape(s:path,1)
+" call Decho("3: exe sil r! ".listcmd.' '.shellescape(fnameescape(s:path),1))
+ exe "sil! keepalt r! ".listcmd.' '.shellescape(fnameescape(s:path),1)
" call Decho("listcmd<".listcmd."> path<".s:path.">")
endif
endif
@@ -7278,12 +7314,12 @@ fun! s:LocalListing()
" get the list of files contained in the current directory
let dirname = b:netrw_curdir
let dirnamelen = s:Strlen(b:netrw_curdir)
- let filelist = glob(s:ComposePath(dirname,"*"))
+ let filelist = glob(s:ComposePath(fnameescape(dirname),"*"))
" call Decho("glob(dirname<".dirname."/*>)=".filelist)
if filelist != ""
let filelist= filelist."\n"
endif
- let filelist= filelist.glob(s:ComposePath(dirname,".*"))
+ let filelist= filelist.glob(s:ComposePath(fnameescape(dirname),".*"))
" call Decho("glob(dirname<".dirname."/.*>)=".filelist)
" Coding choice: either elide ./ if present
@@ -7797,7 +7833,7 @@ endfun
" 0=note = s:NOTE
" 1=warning = s:WARNING
" 2=error = s:ERROR
-" Dec 03, 2009 : max errnum currently is 77
+" Apr 18, 2011 : max errnum currently is 78
fun! netrw#ErrorMsg(level,msg,errnum)
" call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
@@ -8326,7 +8362,7 @@ endfun
" ---------------------------------------------------------------------
" s:RemotePathAnalysis: {{{2
fun! s:RemotePathAnalysis(dirname)
-" call Dfunc("s:RemotePathAnalysis()")
+" call Dfunc("s:RemotePathAnalysis(a:dirname<".a:dirname.">)")
let dirpat = '^\(\w\{-}\)://\(\w\+@\)\=\([^/:#]\+\)\%([:#]\(\d\+\)\)\=/\(.*\)$'
let s:method = substitute(a:dirname,dirpat,'\1','')
View
64 runtime/autoload/tar.vim
@@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
-" Date: Aug 09, 2010
-" Version: 26
+" Date: May 31, 2011
+" Version: 27
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
-" Copyright: Copyright (C) 2005-2009 Charles E. Campbell, Jr. {{{1
+" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
-let g:loaded_tar= "v26"
+let g:loaded_tar= "v27"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@@ -47,6 +47,17 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
+if !exists("g:netrw_cygwin")
+ if has("win32") || has("win95") || has("win64") || has("win16")
+ if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
+ let g:netrw_cygwin= 1
+ else
+ let g:netrw_cygwin= 0
+ endif
+ else
+ let g:netrw_cygwin= 0
+ endif
+endif
if !exists("g:tar_copycmd")
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
@@ -63,17 +74,6 @@ if !exists("g:tar_copycmd")
endif
let g:tar_copycmd= g:netrw_localcopycmd
endif
-if !exists("g:netrw_cygwin")
- if has("win32") || has("win95") || has("win64") || has("win16")
- if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
- let g:netrw_cygwin= 1
- else
- let g:netrw_cygwin= 0
- endif
- else
- let g:netrw_cygwin= 0
- endif
-endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
endif
@@ -142,9 +142,9 @@ fun! tar#Browse(tarfile)
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
- $put =''
- 0d
- $
+ keepj $put =''
+ keepj 0d
+ keepj $
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
@@ -154,26 +154,26 @@ fun! tar#Browse(tarfile)
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
- exe "silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
+ exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
- exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
+ exe "sil! r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
endif
if v:shell_error != 0
redraw!
@@ -184,12 +184,12 @@ fun! tar#Browse(tarfile)
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
- silent %d
+ keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".fnameescape(a:tarfile)
let &ei= eikeep
- 1d
+ keepj sil! 1d
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
@@ -286,19 +286,19 @@ fun! tar#Read(fname,mode)
endif
if tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
- exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
- exe "silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
+ exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
@@ -317,7 +317,7 @@ fun! tar#Read(fname,mode)
exe "file tarfile::".fnameescape(fname)
" cleanup
- 0d
+ keepj sil! 0d
set nomod
let &report= repkeep
View
113 runtime/autoload/vimball.vim
@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
-" Date: Apr 12, 2010
-" Version: 31
+" Date: Apr 02, 2011
+" Version: 33
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
-" Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.
+" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied.
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
-let g:loaded_vimball = "v31"
+let g:loaded_vimball = "v33"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -67,10 +67,10 @@ endif
" vimball#MkVimball: creates a vimball given a list of paths to files {{{2
" Input:
" line1,line2: a range of lines containing paths to files to be included in the vimball
-" writelevel : if true, force a write to filename.vba, even if it exists
+" writelevel : if true, force a write to filename.vmb, even if it exists
" (usually accomplished with :MkVimball! ...
-" filename : base name of file to be created (ie. filename.vba)
-" Output: a filename.vba using vimball format:
+" filename : base name of file to be created (ie. filename.vmb)
+" Output: a filename.vmb using vimball format:
" path
" filesize
" [file]
@@ -80,12 +80,12 @@ endif
fun! vimball#MkVimball(line1,line2,writelevel,...) range
" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:1.">) a:0=".a:0)
if a:1 =~ '\.vim$' || a:1 =~ '\.txt$'
- let vbname= substitute(a:1,'\.\a\{3}$','.vba','')
+ let vbname= substitute(a:1,'\.\a\{3}$','.vmb','')
else
let vbname= a:1
endif
- if vbname !~ '\.vba$'
- let vbname= vbname.'.vba'
+ if vbname !~ '\.vmb$'
+ let vbname= vbname.'.vmb'
endif
" call Decho("vbname<".vbname.">")
if !a:writelevel && a:1 =~ '[\/]'
@@ -134,7 +134,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
" create/switch to mkvimball tab
if !exists("vbtabnr")
tabnew
- silent! file Vimball
+ sil! file Vimball
let vbtabnr= tabpagenr()
else
exe "tabn ".vbtabnr
@@ -195,8 +195,8 @@ fun! vimball#Vimball(really,...)
" call Dfunc("vimball#Vimball(really=".a:really.") a:0=".a:0)
if v:version < 701 || (v:version == 701 && !exists('*fnameescape'))
- echoerr "your vim is missing the fnameescape() function"
-" call Dret("vimball#Vimball : needs 7.1 with patch 299")
+ echoerr "your vim is missing the fnameescape() function (pls upgrade to vim 7.2 or later)"
+" call Dret("vimball#Vimball : needs 7.1 with patch 299 or later")
return
endif
@@ -214,7 +214,7 @@ fun! vimball#Vimball(really,...)
" set up vimball tab
" call Decho("setting up vimball tab")
tabnew
- silent! file Vimball
+ sil! file Vimball
let vbtabnr= tabpagenr()
let didhelp= ""
@@ -254,11 +254,10 @@ fun! vimball#Vimball(really,...)
while 1 < linenr && linenr < line("$")
let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
let fname = substitute(fname,'\\','/','g')
-" let fsize = getline(linenr+1)+0
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
- let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\+\)$','\1','')
+ let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\{-}\)$','\1','')
let filecnt = filecnt + 1
-" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
+" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt. " fenc=".fenc)
if a:really
echomsg "extracted <".fname.">: ".fsize." lines"
@@ -306,20 +305,22 @@ fun! vimball#Vimball(really,...)
let linenr = linenr + 2
let lastline = linenr + fsize - 1
" call Decho("exe ".linenr.",".lastline."yank a")
- exe "silent ".linenr.",".lastline."yank a"
+ " no point in handling a zero-length file
+ if lastline >= linenr
+ exe "silent ".linenr.",".lastline."yank a"
- " copy "a" buffer into tab
+ " copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
- exe "tabn ".vbtabnr
- setlocal ma
- silent! %d
- silent put a
- 1
- silent d
-
- " write tab to file
- if a:really
- let fnamepath= home."/".fname
+ exe "tabn ".vbtabnr
+ setlocal ma
+ sil! %d
+ silent put a
+ 1
+ sil! d
+
+ " write tab to file
+ if a:really
+ let fnamepath= home."/".fname
" call Decho("exe w! ".fnameescape(fnamepath))
if fenc != ""
exe "silent w! ++enc=".fnameescape(fenc)." ".fnameescape(fnamepath)
@@ -328,17 +329,18 @@ fun! vimball#Vimball(really,...)
endif
echo "wrote ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnamepath."')")
- endif
+ endif
- " return to tab with vimball
+ " return to tab with vimball
" call Decho("exe tabn ".curtabnr)
- exe "tabn ".curtabnr
+ exe "tabn ".curtabnr
- " set up help if its a doc/*.txt file
+ " set up help if its a doc/*.txt file
" call Decho("didhelp<".didhelp."> fname<".fname.">")
- if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
- let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
+ if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
+ let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
" call Decho("didhelp<".didhelp.">")
+ endif
endif
" update for next file
@@ -400,7 +402,9 @@ fun! vimball#RmVimball(...)
let curfile= a:1
" call Decho("case a:0=".a:0.": curfile<".curfile.">")
endif
- if curfile =~ '\.vba$'
+ if curfile =~ '\.vmb$'
+ let curfile= substitute(curfile,'\.vmb','','')
+ elseif curfile =~ '\.vba$'
let curfile= substitute(curfile,'\.vba','','')
endif
if a:0 >= 2
@@ -418,13 +422,17 @@ fun! vimball#RmVimball(...)
" call Decho(".VimballRecord is readable")
" call Decho("curfile<".curfile.">")
keepalt keepjumps 1split
- silent! keepalt keepjumps e .VimballRecord
+ sil! keepalt keepjumps e .VimballRecord
let keepsrch= @/
" call Decho('search for ^\M'.curfile.'.\m: ')
-" call Decho('search for ^\M'.curfile.'.\mvba: ')
-" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.vba: ')
+" call Decho('search for ^\M'.curfile.'.\m{vba|vmb}: ')
+" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.{vba|vmb}: ')
if search('^\M'.curfile."\m: ".'cw')
let foundit= 1
+ elseif search('^\M'.curfile.".\mvmb: ",'cw')
+ let foundit= 2
+ elseif search('^\M'.curfile.'\m[-0-9.]*\.vmb: ','cw')
+ let foundit= 2
elseif search('^\M'.curfile.".\mvba: ",'cw')
let foundit= 1
elseif search('^\M'.curfile.'\m[-0-9.]*\.vba: ','cw')
@@ -433,25 +441,29 @@ fun! vimball#RmVimball(...)
let foundit = 0
endif
if foundit
- let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
+ if foundit == 1
+ let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
+ else
+ let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vmb: ','','')
+ endif
let s:VBRstring= substitute(exestring,'call delete(','','g')
let s:VBRstring= substitute(s:VBRstring,"[')]",'','g')
" call Decho("exe ".exestring)
- silent! keepalt keepjumps exe exestring
- silent! keepalt keepjumps d
+ sil! keepalt keepjumps exe exestring
+ sil! keepalt keepjumps d
let exestring= strlen(substitute(exestring,'call delete(.\{-})|\=',"D","g"))
" call Decho("exestring<".exestring.">")
echomsg "removed ".exestring." files"
else
let s:VBRstring= ''
- let curfile = substitute(curfile,'\.vba','','')
+ let curfile = substitute(curfile,'\.vmb','','')
" call Decho("unable to find <".curfile."> in .VimballRecord")
if !exists("s:ok_unablefind")
call vimball#ShowMesg(s:WARNING,"(RmVimball) unable to find <".curfile."> in .VimballRecord")
endif
endif
- silent! keepalt keepjumps g/^\s*$/d
- silent! keepalt keepjumps wq!
+ sil! keepalt keepjumps g/^\s*$/d
+ sil! keepalt keepjumps wq!
let @/= keepsrch
endif
call s:ChgDir(curdir)
@@ -599,7 +611,7 @@ fun! s:RecordInFile(home)
let cmd= expand("%:tr").": "
" call Decho("cmd<".cmd.">")
- silent! keepalt keepjumps e .VimballRecord
+ sil! keepalt keepjumps e .VimballRecord
setlocal ma
$
if exists("s:recordfile") && exists("s:recorddir")
@@ -616,8 +628,8 @@ fun! s:RecordInFile(home)
" put command into buffer, write .VimballRecord `file
keepalt keepjumps put=cmd
- silent! keepalt keepjumps g/^\s*$/d
- silent! keepalt keepjumps wq!
+ sil! keepalt keepjumps g/^\s*$/d
+ sil! keepalt keepjumps wq!
call s:ChgDir(curdir)
if exists("s:recorddir")
@@ -693,10 +705,11 @@ fun! vimball#SaveSettings()
let s:repkeep = &report
let s:vekeep = &ve
let s:ffkeep = &l:ff
+ let s:swfkeep = &l:swf
if exists("&acd")
- setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix
+ setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
else
- setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix
+ setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
endif
" vimballs should be in unix format
setlocal ff=unix
View
43 runtime/autoload/zip.vim
@@ -1,10 +1,10 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
-" Date: Apr 12, 2010
-" Version: 23
+" Date: May 24, 2011
+" Version: 24
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
-" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
+" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -19,7 +19,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
-let g:loaded_zip= "v23"
+let g:loaded_zip= "v24"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
@@ -103,38 +103,26 @@ fun! zip#Browse(zipfile)
set ft=tar
" give header
- let lastline= line("$")
- call setline(lastline+1,'" zip.vim version '.g:loaded_zip)
- call setline(lastline+2,'" Browsing zipfile '.a:zipfile)
- call setline(lastline+3,'" Select a file with cursor and press ENTER')
- $put =''
- 0d
- $
+ call append(0, ['" zip.vim version '.g:loaded_zip,
+ \ '" Browsing zipfile '.a:zipfile,
+ \ '" Select a file with cursor and press ENTER'])
+ keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
- exe "silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1)
+ exe "silent r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
- silent %d
+ keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
- exe "r ".fnameescape(a:zipfile)
+ exe "keepj r ".fnameescape(a:zipfile)
let &ei= eikeep
- 1d
+ keepj 1d
" call Dret("zip#Browse")
return
endif
-" call Decho("line 6: ".getline(6))
- let namecol= stridx(getline(6),'Name') + 1
-" call Decho("namecol=".namecol)
- 4,$g/^\s*----/d
- 4,$g/^\s*\a/d
- $d
- if namecol > 0
- exe 'silent 4,$s/^.*\%'.namecol.'c//'
- endif
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
@@ -205,11 +193,12 @@ fun! zip#Read(fname,mode)
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
-" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1))
- exe "silent r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1)
+" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
+ exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
+ filetype detect
" cleanup
- 0d
+ keepj 0d
set nomod
let &report= repkeep
View
2 runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.3. Last change: 2011 Apr 26
+*autocmd.txt* For Vim version 7.3. Last change: 2011 May 19
VIM REFERENCE MANUAL by Bram Moolenaar
View
34 runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.3. Last change: 2011 May 17
+*change.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -717,11 +717,13 @@ Otherwise it works on whole lines anyway.
*sub-replace-special* *:s\=*
When the {string} starts with "\=" it is evaluated as an expression, see
-|sub-replace-expression|. You can use that for any special characters.
+|sub-replace-expression|. You can use that for complex replacement or special
+characters.
+
Otherwise these characters in {string} have a special meaning:
*:s%*
When {string} is equal to "%" and '/' is included with the 'cpoptions' option,
-then the {string} of the previous substitute command is used. |cpo-/|
+then the {string} of the previous substitute command is used, see |cpo-/|
magic nomagic action ~
& \& replaced with the whole matched pattern *s/\&*
@@ -756,6 +758,14 @@ magic nomagic action ~
\x where x is any character not mentioned above:
Reserved for future expansion
+The special meaning is also used inside the third argument {sub} of
+the |substitute()| function with the following exceptions:
+ - A % inserts a percent literally without regard to 'cpoptions'.
+ - magic is always set without regard to 'magic'.
+ - A ~ inserts a tilde literally.
+ - <CR> and \r inserts a carriage-return (CTRL-M).
+ - \<CR> does not have a special meaning. it's just one of \x.
+
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
:s/\([abc]\)\([efg]\)/\2\1/g modifies "af fa bg" to "fa fa gb"
@@ -787,17 +797,19 @@ either the first or second pattern in parentheses did not match, so either
Substitute with an expression *sub-replace-expression*
*sub-replace-\=*
When the substitute string starts with "\=" the remainder is interpreted as an
-expression. This does not work recursively: a substitute() function inside
+expression. This does not work recursively: a |substitute()| function inside
the expression cannot use "\=" for the substitute string.
The special meaning for characters as mentioned at |sub-replace-special| does
-not apply except for "<CR>", "\<CR>" and "\\". Thus in the result of the
-expression you need to use two backslashes to get one, put a backslash before a
-<CR> you want to insert, and use a <CR> without a backslash where you want to
-break the line.
-
-For convenience a <NL> character is also used as a line break. Prepend a
-backslash to get a real <NL> character (which will be a NUL in the file).
+not apply except for "<CR>". A <NL> character is used as a line break, you
+can get one with a double-quote string: "\n". Prepend a backslash to get a
+real <NL> character (which will be a NUL in the file).
+
+The "\=" notation can also be used inside the third argument {sub} of
+|substitute()| function. In this case, the special meaning for characters as
+mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and
+<NL> are interpreted not as a line break but as a carriage-return and a
+new-line respectively.
When the result is a |List| then the items are joined with separating line
breaks. Thus each item becomes a line, except that they can contain line
View
70 runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.3. Last change: 2011 May 17
+*eval.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -721,7 +721,8 @@ if it evaluates to true.
*expr-<#* *expr-<=#* *expr-=~#* *expr-!~#*
*expr-==?* *expr-!=?* *expr->?* *expr->=?*
*expr-<?* *expr-<=?* *expr-=~?* *expr-!~?*
- *expr-is*
+ *expr-is* *expr-isnot* *expr-is#* *expr-isnot#*
+ *expr-is?* *expr-isnot?*
use 'ignorecase' match case ignore case ~
equal == ==# ==?
not equal != !=# !=?
@@ -731,8 +732,8 @@ smaller than < <# <?
smaller than or equal <= <=# <=?
regexp matches =~ =~# =~?
regexp doesn't match !~ !~# !~?
-same instance is
-different instance isnot
+same instance is is# is?
+different instance isnot isnot# isnot?
Examples:
"abc" ==# "Abc" evaluates to 0
@@ -753,12 +754,14 @@ recursively. Ignoring case means case is ignored when comparing item values.
A |Funcref| can only be compared with a |Funcref| and only "equal" and "not
equal" can be used. Case is never ignored.
-When using "is" or "isnot" with a |List| this checks if the expressions are
-referring to the same |List| instance. A copy of a |List| is different from
-the original |List|. When using "is" without a |List| it is equivalent to
-using "equal", using "isnot" equivalent to using "not equal". Except that a
-different type means the values are different. "4 == '4'" is true, "4 is '4'"
-is false.
+When using "is" or "isnot" with a |List| or a |Dictionary| this checks if the
+expressions are referring to the same |List| or |Dictionary| instance. A copy
+of a |List| is different from the original |List|. When using "is" without
+a |List| or a |Dictionary| it is equivalent to using "equal", using "isnot"
+equivalent to using "not equal". Except that a different type means the
+values are different: "4 == '4'" is true, "4 is '4'" is false and "0 is []" is
+false and not a error. "is#"/"isnot#" and "is?"/"isnot?" can be used to match
+and ignore case.
When comparing a String with a Number, the String is converted to a Number,
and the comparison is done on Numbers. This means that "0 == 'x'" is TRUE,
@@ -1293,7 +1296,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr' and used for the typed
character when using <expr> in an abbreviation |:map-<expr>|.
- It is also used by the |InsertPreChar| event.
+ It is also used by the |InsertCharPre| event.
*v:charconvert_from* *charconvert_from-variable*
v:charconvert_from
@@ -1919,7 +1922,8 @@ shellescape( {string} [, {special}])
simplify( {filename}) String simplify filename as much as possible
sin( {expr}) Float sine of {expr}
sinh( {expr}) Float hyperbolic sine of {expr}
-sort( {list} [, {func}]) List sort {list}, using {func} to compare
+sort( {list} [, {func} [, {dict}]])
+ List sort {list}, using {func} to compare
soundfold( {word}) String sound-fold {word}
spellbadword() String badly spelled word at cursor
spellsuggest( {word} [, {max} [, {capital}]])
@@ -1942,7 +1946,7 @@ strridx( {haystack}, {needle} [, {start}])
Number last index of {needle} in {haystack}
strtrans( {expr}) String translate string to make it printable
strwidth( {expr}) Number display cell length of the String {expr}
-submatch( {nr}) String specific match in ":substitute"
+submatch( {nr}) String specific match in ":s" or substitute()
substitute( {expr}, {pat}, {sub}, {flags})
String all {pat} in {expr} replaced with {sub}
synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
@@ -5275,14 +5279,16 @@ sinh({expr}) *sinh()*
{only available when compiled with the |+float| feature}
-sort({list} [, {func}]) *sort()* *E702*
+sort({list} [, {func} [, {dict}]]) *sort()* *E702*
Sort the items in {list} in-place. Returns {list}. If you
want a list to remain unmodified make a copy first: >
:let sortedlist = sort(copy(mylist))
< Uses the string representation of each item to sort on.
Numbers sort after Strings, |Lists| after Numbers.
For sorting text in the current buffer use |:sort|.
When {func} is given and it is one then case is ignored.
+ {dict} is for functions with the "dict" attribute. It will be
+ used to set the local variable "self". |Dictionary-function|
When {func} is a |Funcref| or a function name, this function
is called to compare items. The function is invoked with two
items as argument and must return zero if they are equal, 1 or
@@ -5554,37 +5560,44 @@ strwidth({expr}) *strwidth()*
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
submatch({nr}) *submatch()*
- Only for an expression in a |:substitute| command. Returns
- the {nr}'th submatch of the matched text. When {nr} is 0
- the whole matched text is returned.
+ Only for an expression in a |:substitute| command or
+ substitute() function.
+ Returns the {nr}'th submatch of the matched text. When {nr}
+ is 0 the whole matched text is returned.
+ Also see |sub-replace-expression|.
Example: >
:s/\d\+/\=submatch(0) + 1/
< This finds the first number in the line and adds one to it.
A line break is included as a newline character.
substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
The result is a String, which is a copy of {expr}, in which
- the first match of {pat} is replaced with {sub}. This works
- like the ":substitute" command (without any flags). But the
- matching with {pat} is always done like the 'magic' option is
- set and 'cpoptions' is empty (to make scripts portable).
- 'ignorecase' is still relevant. 'smartcase' is not used.
- See |string-match| for how {pat} is used.
- And a "~" in {sub} is not replaced with the previous {sub}.
+ the first match of {pat} is replaced with {sub}.
+ When {flags} is "g", all matches of {pat} in {expr} are
+ replaced. Otherwise {flags} should be "".
+
+ This works like the ":substitute" command (without any flags).
+ But the matching with {pat} is always done like the 'magic'
+ option is set and 'cpoptions' is empty (to make scripts
+ portable). 'ignorecase' is still relevant. 'smartcase' is
+ not used. See |string-match| for how {pat} is used.
+
+ A "~" in {sub} is not replaced with the previous {sub}.
Note that some codes in {sub} have a special meaning
|sub-replace-special|. For example, to replace something with
"\n" (two characters), use "\\\\n" or '\\n'.
+
When {pat} does not match in {expr}, {expr} is returned
unmodified.
- When {flags} is "g", all matches of {pat} in {expr} are
- replaced. Otherwise {flags} should be "".
+
Example: >
:let &path = substitute(&path, ",\\=[^,]*$", "", "")
< This removes the last component of the 'path' option. >
:echo substitute("testing", ".*", "\\U\\0", "")
< results in "TESTING".
- The {sub} argument can start with \=, just like with
- |:substitute|. Example: >
+
+ When {sub} starts with "\=", the remainder is interpreted as
+ an expression. See |sub-replace-expression|. Example: >
:echo substitute(s, '%\(\x\x\)',
\ '\=nr2char("0x" . submatch(1))', 'g')
@@ -6226,7 +6239,6 @@ netbeans_intg Compiled with support for |netbeans|.
odbeditor Compiled with |odbeditor| support.
ole Compiled with OLE automation support for Win32.
os2 OS/2 version of Vim.
-osfiletype Compiled with support for osfiletypes |+osfiletype|
path_extra Compiled with up/downwards search in 'path' and 'tags'
perl Compiled with Perl interface.
persistent_undo Compiled with support for persistent undo history.
View
7 runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 7.3. Last change: 2008 Jul 15
+*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -270,6 +270,9 @@ directories!
*autocmd-osfiletypes*
+NOTE: this code is currently disabled, as the RISC OS implementation was
+removed. In the future this will use the 'filetype' option.
+
On operating systems which support storing a file type with the file, you can
specify that an autocommand should only be executed if the file is of a
certain type.
@@ -296,8 +299,6 @@ must both match): >
This will match files of type "&fff" whose names start with "diff".
-Note that osfiletype checking is skipped if Vim is compiled without the
-|+osfiletype| feature.
*plugin-details*
The "plugin" directory can be in any of the directories in the 'runtimepath'
View
21 runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt* For Vim version 7.3. Last change: 2010 Sep 29
+*if_cscop.txt* For Vim version 7.3. Last change: 2011 Jun 12
VIM REFERENCE MANUAL by Andy Kahn
@@ -264,19 +264,20 @@ seems to be useful: >
:set cscopequickfix=s-,c-,d-,i-,t-,e-
<
*cscopetag* *cst*
-If 'cscopetag' set, the commands ":tag" and CTRL-] as well as "vim -t" will
-always use |:cstag| instead of the default :tag behavior. Effectively, by
-setting 'cst', you will always search your cscope databases as well as your
-tag files. The default is off. Examples: >
+If 'cscopetag' is set, the commands ":tag" and CTRL-] as well as "vim -t"
+will always use |:cstag| instead of the default :tag behavior. Effectively,
+by setting 'cst', you will always search your cscope databases as well as
+your tag files. The default is off. Examples: >
:set cst
:set nocst
<
*cscoperelative* *csre*
-If 'cscoperelative' set, then in absence of a prefix given to cscope (prefx
-is the argument to -P option of cscope), basename of cscope.out location
-(usually the project root directory) will be used as the prefix to construt
-absolute path.The default is off. Note: This option is only effective when
-cscope (cscopeprg) is initialized without a prefix path (-P). Examples: >
+If 'cscoperelative' is set, then in absence of a prefix given to cscope
+(prefix is the argument of -P option of cscope), basename of cscope.out
+location (usually the project root directory) will be used as the prefix
+to construct an absolute path. The default is off. Note: This option is
+only effective when cscope (cscopeprg) is initialized without a prefix
+path (-P). Examples: >
:set csre
:set nocsre
<
View
32 runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt* For Vim version 7.3. Last change: 2011 Apr 25
+*indent.txt* For Vim version 7.3. Last change: 2011 May 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -561,13 +561,15 @@ REMARKS ABOUT SPECIFIC INDENT FILES ~
FORTRAN *ft-fortran-indent*
-Block if, select case, and where constructs are indented. Comments, labelled
-statements and continuation lines are indented if the Fortran is in free
-source form, whereas they are not indented if the Fortran is in fixed source
-form because of the left margin requirements. Hence manual indent corrections
-will be necessary for labelled statements and continuation lines when fixed
-source form is being used. For further discussion of the method used for the
-detection of source format see |ft-fortran-syntax|.
+Block if, select case, where, and forall constructs are indented. So are
+type, interface, associate, block, and enum constructs. The indenting of
+subroutines, functions, modules, and program blocks is optional. Comments,
+labelled statements and continuation lines are indented if the Fortran is in
+free source form, whereas they are not indented if the Fortran is in fixed
+source form because of the left margin requirements. Hence manual indent
+corrections will be necessary for labelled statements and continuation lines
+when fixed source form is being used. For further discussion of the method
+used for the detection of source format see |ft-fortran-syntax|.
Do loops ~
All do loops are left unindented by default. Do loops can be unstructured in
@@ -594,6 +596,20 @@ autocommand such as >
to get do loops indented in .f90 files and left alone in Fortran files with
other extensions such as .for.
+Program units ~
+The indenting of program units (subroutines, functions, modules, and program
+blocks) is enabled by default but can be suppressed if a lighter, screen-width
+preserving indent style is desired. To suppress the indenting of program
+units for all fortran files set the global fortran_indent_less variable in
+your .vimrc as follows >
+
+ let fortran_indent_less=1
+
+A finer level of suppression can be achieved by setting the corresponding
+buffer-local variable as follows >
+
+ let b:fortran_indent_less=1
+
PHP *ft-php-indent* *php-indent* *php-indenting*
View
23 runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.3. Last change: 2011 May 10
+*map.txt* For Vim version 7.3. Last change: 2011 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -107,6 +107,8 @@ modes.
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
Remove ALL mappings for the modes where the map
command applies. {not in Vi}
+ Use the <buffer> argument to remove buffer-local
+ mappings |:map-<buffer>|
Warning: This also removes the default mappings.
:map |mapmode-nvo|
@@ -934,11 +936,12 @@ See |:verbose-cmd| for more information.
avoid that a typed {lhs} is expanded, since
command-line abbreviations apply here.
-:ab[breviate] [<expr>] {lhs} {rhs}
+:ab[breviate] [<expr>] [<buffer>] {lhs} {rhs}
add abbreviation for {lhs} to {rhs}. If {lhs} already
existed it is replaced with the new {rhs}. {rhs} may
contain spaces.
See |:map-<expr>| for the optional <expr> argument.
+ See |:map-<buffer>| for the optional <buffer> argument.
*:una* *:unabbreviate*
:una[bbreviate] {lhs} Remove abbreviation for {lhs} from the list. If none
@@ -948,12 +951,12 @@ See |:verbose-cmd| for more information.
expansion insert a CTRL-V (type it twice).
*:norea* *:noreabbrev*
-:norea[bbrev] [<expr>] [lhs] [rhs]
+:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but no remapping for this {rhs} {not
in Vi}
*:ca* *:cabbrev*
-:ca[bbrev] [<expr>] [lhs] [rhs]
+:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only. {not
in Vi}
@@ -962,31 +965,31 @@ See |:verbose-cmd| for more information.
in Vi}
*:cnorea* *:cnoreabbrev*
-:cnorea[bbrev] [<expr>] [lhs] [rhs]
+:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only and no
remapping for this {rhs} {not in Vi}
*:ia* *:iabbrev*
-:ia[bbrev] [<expr>] [lhs] [rhs]
+:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Insert mode only. {not in Vi}
*:iuna* *:iunabbrev*
:iuna[bbrev] {lhs} same as ":una", but for insert mode only. {not in
Vi}
*:inorea* *:inoreabbrev*
-:inorea[bbrev] [<expr>] [lhs] [rhs]
+:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Insert mode only and no
remapping for this {rhs} {not in Vi}
*:abc* *:abclear*
-:abc[lear] Remove all abbreviations. {not in Vi}
+:abc[lear] [<buffer>] Remove all abbreviations. {not in Vi}
*:iabc* *:iabclear*
-:iabc[lear] Remove all abbreviations for Insert mode. {not in Vi}
+:iabc[lear] [<buffer>] Remove all abbreviations for Insert mode. {not in Vi}
*:cabc* *:cabclear*
-:cabc[lear] Remove all abbreviations for Command-line mode. {not
+:cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode. {not
in Vi}
*using_CTRL-V*
View
8 runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt* For Vim version 7.3. Last change: 2010 May 14
+*motion.txt* For Vim version 7.3. Last change: 2011 Jun 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -269,11 +269,11 @@ T{char} Till after [count]'th occurrence of {char} to the
{char} can be entered like with the |f| command.
*;*
-; Repeat latest f, t, F or T [count] times.
+; Repeat latest f, t, F or T [count] times. See |cpo-;|
*,*
, Repeat latest f, t, F or T in opposite direction
- [count] times.
+ [count] times. See also |cpo-;|
==============================================================================
3. Up-down motions *up-down-motions*
@@ -344,6 +344,8 @@ gg Goto line [count], default first line, on the first
last number in it used as the byte count. End-of-line
characters are counted depending on the current
'fileformat' setting.
+ Also see the |line2byte()| function, and the 'o'
+ option in 'statusline'.
{not in Vi}
{not available when compiled without the
|+byte_offset| feature}
View
28 runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.3. Last change: 2011 May 17
+*options.txt* For Vim version 7.3. Last change: 2011 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2122,6 +2122,12 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo->*
> When appending to a register, put a line break before
the appended text.
+ *cpo-;*
+ ; When using |,| or |;| to repeat the last |t| search
+ and the cursor is right in front of the searched
+ character, the cursor won't move. When not included,
+ the cursor would skip over it and jump to the
+ following occurence.
POSIX flags. These are not included in the Vi default value, except
when $VIM_POSIX was set on startup. |posix|
@@ -2938,8 +2944,6 @@ A jump table for the options with a short description can be found at |Q_op|.
This will use the "c" filetype first, then the "doxygen" filetype.
This works both for filetype plugins and for syntax files. More than
one dot may appear.
- Do not confuse this option with 'osfiletype', which is for the file
- type that is actually stored with the file.
This option is not copied to another buffer, independent of the 's' or
'S' flag in 'cpoptions'.
Only normal file name characters can be used, "/\*?[|<>" are illegal.
@@ -3491,7 +3495,7 @@ A jump table for the options with a short description can be found at |Q_op|.
:highlight Cursor gui=NONE guifg=bg guibg=fg
<
*'guifont'* *'gfn'*
- *E235* *E596* *E610* *E611*
+ *E235* *E596*
'guifont' 'gfn' string (default "")
global
{not in Vi}
@@ -5237,20 +5241,12 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
- *'osfiletype'* *'oft'* *E366*
-'osfiletype' 'oft' string (RISC-OS default: "Text",
- others default: "")
+ *'osfiletype'* *'oft'*
+'osfiletype' 'oft' string (default: "")
local to buffer
{not in Vi}
- {only available when compiled with the |+osfiletype|
- feature}
- Some operating systems store extra information about files besides
- name, datestamp and permissions. This option contains the extra
- information, the nature of which will vary between systems.
- The value of this option is usually set when the file is loaded, and
- is used to set the operating system file type when file is written.
- It can affect the pattern matching of the automatic commands.
- |autocmd-osfiletypes|
+ This option was supported on RISC OS, which has been removed.
+
*'paragraphs'* *'para'*
'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
View
15 runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt* For Vim version 7.3. Last change: 2010 Dec 19
+*os_win32.txt* For Vim version 7.3. Last change: 2011 May 28
VIM REFERENCE MANUAL by George Reilly
@@ -321,13 +321,14 @@ A. When using :! to run an external command, you can run it with "start": >
Q. How do I avoid getting a window for programs that I run asynchronously?
A. You have two possible solutions depending on what exactly do you want:
- 1) You may use the /min flag that would run program in minimized state with
- no other changes. It will work equally for console and GUI applications.
- 2) You can use /b flag to run console applications without creating a
+ 1) You may use the /min flag in order to run program in a minimized state
+ with no other changes. It will work equally for console and GUI
+ applications.
+ 2) You can use the /b flag to run console applications without creating a
console window for them (GUI applications are not affected). But you
- should use this flag only if application you run doesn't require any
- input. Otherwise it will get an EOF error because it's input stream
- (stdin) would be redirected to \\.\NUL (stdour and stderr too).
+ should use this flag only if the application you run doesn't require any
+ input. Otherwise it will get an EOF error because its input stream
+ (stdin) would be redirected to \\.\NUL (stdoud and stderr too).
Example for a console application, run Exuberant ctags: >
:!start /min ctags -R .
View
5 runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.3. Last change: 2011 Apr 28
+*pattern.txt* For Vim version 7.3. Last change: 2011 May 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -635,7 +635,8 @@ overview.
Like '(?!pattern)" in Perl.
Example matches ~
foo\(bar\)\@! any "foo" not followed by "bar"
- a.\{-}p\@! "a", "ap", "app", etc. not followed by a "p"
+ a.\{-}p\@! "a", "ap", "aap", "app", etc. not immediately
+ followed by a "p"
if \(\(then\)\@!.\)*$ "if " not followed by "then"
Using "\@!" is tricky, because there are many places where a pattern
View
46 runtime/doc/pi_getscript.txt
@@ -1,11 +1,11 @@
-*pi_getscript.txt* For Vim version 7.3. Last change: 2009 Oct 14
+*pi_getscript.txt* For Vim version 7.0. Last change: 2011 May 31
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
<
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address)
*GetLatestVimScripts-copyright*
-Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *glvs-copyright*
+Copyright: (c) 2004-2010 by Charles E. Campbell, Jr. *glvs-copyright*
The VIM LICENSE applies to getscript.vim and
pi_getscript.txt (see |copyright|) except use
"getscript" instead of "Vim". No warranty, express or implied.
@@ -77,7 +77,9 @@ Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
3. GetLatestVimScripts Usage *glvs-usage* *:GLVS*
Unless it has been defined elsewhere, >
+
:GLVS
+
will invoke GetLatestVimScripts(). If some other plugin has defined that
command, then you may type
>
@@ -127,7 +129,8 @@ click on the script's link, you'll see a line resembling
http://vim.sourceforge.net/scripts/script.php?script_id=40
The "40" happens to be a ScriptID that GetLatestVimScripts needs to
-download the associated page.
+download the associated page, and is assigned by vim.sf.net itself
+during initial uploading of the plugin.
The second number on each line gives the script's SourceID. The SourceID
records the count of uploaded scripts as determined by vim.sf.net; hence it
@@ -151,19 +154,39 @@ This comment line tells getscript.vim to check vimscript #884 and that the
script is automatically installable. Getscript will also use this line to
help build the GetLatestVimScripts.dat file, by including a line such as: >
- 884 1 AutoAlign.vim
+ 884 1 :AutoInstall: AutoAlign.vim
<
-in it an AutoAlign.vim line isn't already in GetLatestVimScripts.dat file.
+assuming that such a line isn't already in GetLatestVimScripts.dat file.
See |glvs-plugins| for more. Thus, GetLatestVimScripts thus provides a
comprehensive ability to keep your plugins up-to-date!
+In summary:
+
+ * Optionally tell getscript that it is allowed to build/append a
+ GetLatestVimScripts.dat file based upon already installed plugins: >
+ let g:GetLatestVimScripts_allowautoinstall=1
+<
+ * A line such as >
+ " GetLatestVimScripts: 884 1 :AutoInstall: AutoAlign.vim
+< in an already-downloaded plugin constitutes the concurrence of the
+ plugin author that getscript may do AutoInstall. Not all plugins
+ may be AutoInstall-able, and the plugin's author is best situated
+ to know whether or not his/her plugin will AutoInstall properly.
+
+ * A line such as >
+ 884 1 :AutoInstall: AutoAlign.vim
+< in your GetLatestVimScripts.dat file constitutes your permission
+ to getscript to do AutoInstall. AutoInstall requires both your
+ and the plugin author's permission. See |GetLatestVimScripts_dat|.
+
+
*GetLatestVimScripts_dat*
As an example of a <GetLatestVimScripts.dat> file:
>
ScriptID SourceID Filename
--------------------------
- 294 1 Align.vim
- 120 2 decho.vim
+ 294 1 :AutoInstall: Align.vim
+ 120 2 Decho.vim
40 3 DrawIt.tar.gz
451 4 EasyAccents.vim
195 5 engspchk.vim
@@ -201,16 +224,16 @@ are, then you may include :AutoInstall: just before "yourscriptname":
^
scriptid
<
-NOTE: :AutoInstall: is a plugin-author option, not a GetLatestVimScripts.dat~
- entry!~
+NOTE: The :AutoInstall: feature requires both the plugin author's and~
+ the user's permission to operate!~
GetLatestVimScripts commands for those scripts are then appended, if not
already present, to the user's GetLatest/GetLatestVimScripts.dat file. It is
a relatively painless way to automate the acquisition of any scripts your
plugins depend upon.
Now, as an author, you probably don't want GetLatestVimScripts to download
-your own scripts for you yourself, thereby overwriting your not-yet-released
+your own scripts atop your own copy, thereby overwriting your not-yet-released
hard work. GetLatestVimScripts provides a solution for this: put
>
0 0 yourscriptname
@@ -351,6 +374,9 @@ The AutoInstall process will:
==============================================================================
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
+v33 May 31, 2011 : * using fnameescape() instead of escape()
+ * *.xz support
+v32 Jun 19, 2010 : * (Jan Steffens) added support for xz compression
v31 Jun 29, 2008 : * (Bill McCarthy) fixed having hls enabled with getscript
* (David Schaefer) the acd option interferes with vimballs
Solution: bypass the acd option
View
80 runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 7.3. Last change: 2011 Apr 01
+*pi_netrw.txt* For Vim version 7.3. Last change: 2011 May 31
-----------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -273,22 +273,23 @@ SOURCING *netrw-source* {{{2
:Nsource "scp://[user@]machine[[:#]port]/path" uses scp
:Nsource "sftp://[user@]machine/path" uses sftp
-DIRECTORY LISTING *netrw-dirlist* {{{2
+DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
One may browse a directory to get a listing by simply attempting to
edit the directory: >
:e scp://[user]@hostname/path/
:e ftp://[user]@hostname/path/
<
- For remote directories (ie. those using scp or ftp), that trailing
- "/" is necessary (the slash tells netrw to treat the argument as a
- directory to browse instead of a file to download).
+ For remote directory listings (ie. those using scp or ftp), that
+ trailing "/" is necessary (the slash tells netrw to treat the argument
+ as a directory to browse instead of as a file to download).
- However, the Nread command can also be used to accomplish this:
-
- :Nread [protocol]://[user]@hostname/path/
+ The Nread command may also be used to accomplish this (again, that
+ trailing slash is necessary): >
+ :Nread [protocol]://[user]@hostname/path/
+<
*netrw-login* *netrw-password*
CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
@@ -2158,8 +2159,8 @@ your browsing preferences. (see also: |netrw-settings|)
*g:netrw_mkdir_cmd* command for making a remote directory
default: "ssh USEPORT HOSTNAME mkdir"
- *g:netrw_mousemaps* =1 (default) enables the mouse buttons
- while browsing:
+ *g:netrw_mousemaps* =1 (default) enables mouse buttons while
+ browsing to:
leftmouse : open file/directory
shift-leftmouse : mark file
middlemouse : same as P
@@ -2274,8 +2275,11 @@ your browsing preferences. (see also: |netrw-settings|)
*g:netrw_winsize* specify initial size of new windows made with
"o" (see |netrw-o|), "v" (see |netrw-v|),
- |:Hexplore| or |:Vexplore|.
- default: ""
+ |:Hexplore| or |:Vexplore|. The g:netrw_winsize
+ is an integer describing the percentage of the
+ current netrw buffer's window to be used for
+ the new window.
+ default: 50 (for 50%)
*g:netrw_xstrlen* Controls how netrw computes string lengths,
including multi-byte characters' string
@@ -2660,7 +2664,7 @@ Associated setting variables: |g:netrw_chgwin|
*netrw-p11*
P11. I want to have two windows; a thin one on the left and my editing
- window on the right. How can I do this?
+ window on the right. How may I accomplish this?
* Put the following line in your <.vimrc>:
let g:netrw_altv = 1
@@ -2706,7 +2710,45 @@ Associated setting variables: |g:netrw_chgwin|
"let g:netrw_sftp_cmd = "d:\\dev\\putty\\PSFTP.exe"
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
<
+ *netrw-p14*
+ P14. I'd would like to speed up writes using Nwrite and scp/ssh
+ style connections. How? (Thomer M. Gil)
+
+ Try using ssh's ControlMaster and ControlPath (see the ssh_config
+ man page) to share multiple ssh connections over a single network
+ connection. That cuts out the cryptographic handshake on each
+ file write, sometimes speeding it up by an order of magnitude.
+ (see http://thomer.com/howtos/netrw_ssh.html)
+ (included by permission)
+
+ Add the following to your ~/.ssh/config: >
+
+ # you change "*" to the hostname you care about
+ Host *
+ ControlMaster auto
+ ControlPath /tmp/%r@%h:%p
+
+< Then create an ssh connection to the host and leave it running: >
+
+ ssh -N host.domain.com
+
+< Now remotely open a file with Vim's Netrw and enjoy the
+ zippiness: >
+
+ vim scp://host.domain.com//home/user/.bashrc
+<
+ *netrw-p15*
+ P15. How may I use a double-click instead of netrw's usual single click
+ to open a file or directory? (Ben Fritz)
+ First, disable netrw's mapping with >
+ let g:netrw_mousemaps= 0
+< and then create a netrw buffer only mapping in
+ $HOME/.vim/after/ftplugin/netrw.vim: >
+ nmap <buffer> <2-leftmouse> <CR>
+< Note that setting g:netrw_mousemaps to zero will turn off
+ all netrw's mouse mappings, not just the <leftmouse> one.
+ (see |g:netrw_mousemaps|)
==============================================================================
11. Debugging Netrw Itself *netrw-debug* {{{1
@@ -2762,6 +2804,15 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
12. History *netrw-history* {{{1
+ v142: Apr 06, 2011 * I modified NetrwRemoteListing() to use
+ shellescape(fnameescape(s:path),1) for
+ the benefit of those using scp://.../
+ with subdirectories having spaces.
+ Problem reported by: Gilles Charron
+ Apr 18, 2011 * s:NetrwMethod() attempts to issue an
+ error message when given a malformed url
+ Apr 29, 2011 * converted most mousemaps to use <Plug>s
+ * |g:netrw_winsize|'s meaning changed
v141: Aug 28, 2010 * added -s:... support for Windows ftp
* restored 2-leftmouse for :Rex-like return
* added balloon help for banner
@@ -2772,6 +2823,9 @@ which is loaded automatically at startup (assuming :set nocp).
Avoids "... is a directory" message, works
inside a try-catch-endtry clause.
Feb 22, 2011 * for menus, &go =~# used to insure correct case
+ Apr 01, 2011 * changed g:netrw_cursorcolumn to g:netrw_cursor
+ In addition, there's more supported settings for
+ it.
v140: Jul 27, 2010 * (Lech Lorens) unexpected change of window
v139: May 14, 2010 * when viewing remote directory listings and
changing listing style, going to tree listing
View
18 runtime/doc/pi_tar.txt
@@ -1,4 +1,4 @@
-*pi_tar.txt* For Vim version 7.3. Last change: 2010 Nov 03
+*pi_tar.txt* For Vim version 7.3. Last change: 2011 May 31
+====================+
| Tar File Interface |
@@ -60,11 +60,11 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
<.vimrc> file.
Default
Variable Value Explanation
- *g:tar_browseoptions* "Ptf" used to get a list of contents
- *g:tar_readoptions* "OPxf" used to extract a file from a tarball
- *g:tar_cmd* "tar" the name of the tar program
- *g:tar_nomax* 0 if true, file window will not be maximized
- *g:tar_secure* undef if exists:
+ *g:tar_browseoptions* "Ptf" used to get a list of contents
+ *g:tar_readoptions* "OPxf" used to extract a file from a tarball
+ *g:tar_cmd* "tar" the name of the tar program
+ *g:tar_nomax* 0 if true, file window will not be maximized
+ *g:tar_secure* undef if exists:
"--"s will be used to prevent unwanted
option expansion in tar commands.
Please be sure that your tar command
@@ -76,15 +76,19 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
"-"
Not all tar's support the "--" which is why
it isn't default.
- *g:tar_writeoptions* "uf" used to update/replace a file
+ *g:tar_writeoptions* "uf" used to update/replace a file
==============================================================================
4. History *tar-history*
+ v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd handling
+ * inserted additional |:keepj| modifiers
+ * changed silent to sil! (|:silent|)
v26 Aug 09, 2010 * uses buffer-local instead of window variables to hold
tarfile name
+ * inserted keepj before 0d to protect jump list
v25 Jun 19, 2010 * (Jan Steffens) added support for xz compression
v24 Apr 07, 2009 * :Untarvim command implemented
Sep 28, 2009 * Added lzma support
View
22 runtime/doc/pi_vimball.txt
@@ -1,12 +1,12 @@
-*pi_vimball.txt* For Vim version 7.3. Last change: 2010 Apr 12
+*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Apr 02
----------------
Vimball Archiver
----------------
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
-Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *Vimball-copyright*
+Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE applies to Vimball.vim, and Vimball.txt
(see |copyright|) except use "Vimball" instead of "Vim".
No warranty, express or implied.
@@ -176,6 +176,22 @@ WINDOWS *vimball-windows*
==============================================================================
4. Vimball History *vimball-history* {{{1
+ 33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
+ * Changed silent! to sil! (shorter)
+ * Safed |'swf'| setting (during vimball extraction,
+ its now turned off)
+ 32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
+ :so someplugin.vba.gz (and the other supported
+ compression types) now works
+ * (Jan Steffens) added support for xz compression
+ * fenc extraction was erroneously picking up the
+ end of the line number when no file encoding
+ was present. Fixed.
+ * By request, beginning the switchover from the vba
+ extension to vmb. Currently both are supported;
+ MkVimball, however, now will create *.vmb files.
+ Feb 11, 2011 * motoyakurotsu reported an error with vimball's
+ handling of zero-length files
30 : Dec 08, 2008 * fnameescape() inserted to protect error
messaging using corrupted filenames from
causing problems
@@ -199,6 +215,8 @@ WINDOWS *vimball-windows*
causing problems as reported by Zhang Shuhan
24 : Nov 15, 2007 * g:vimball_path_escape us