mirror of
https://github.com/zoriya/vim.git
synced 2026-01-04 13:28:14 +00:00
Compare commits
124 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3184b57d2 | ||
|
|
6c167c6451 | ||
|
|
6fabcbe260 | ||
|
|
39fc42ef9d | ||
|
|
03aa60826e | ||
|
|
9dc93ae43e | ||
|
|
2eba18255e | ||
|
|
c9927c136f | ||
|
|
792826c0c7 | ||
|
|
b8bf541f89 | ||
|
|
f6f4a01ab1 | ||
|
|
1db1f77d4a | ||
|
|
dc93555c0f | ||
|
|
c95e32635c | ||
|
|
12bc1b5c9f | ||
|
|
17fb0e891a | ||
|
|
8c85fa3b26 | ||
|
|
cf83973211 | ||
|
|
e78c206856 | ||
|
|
8a20b0f25e | ||
|
|
836082d398 | ||
|
|
213b10a57e | ||
|
|
d0988c50f3 | ||
|
|
1cb7e0976d | ||
|
|
ea35ef6888 | ||
|
|
e70172e1fc | ||
|
|
3f5f795f76 | ||
|
|
673214bb7d | ||
|
|
4c40223649 | ||
|
|
0b573a58e6 | ||
|
|
a171162356 | ||
|
|
d2221131cf | ||
|
|
d0c7ba57b1 | ||
|
|
0533443638 | ||
|
|
522f9aebff | ||
|
|
ce35c88ade | ||
|
|
e9edd7fbdd | ||
|
|
76f7fd3df3 | ||
|
|
b560983d2f | ||
|
|
9729301aa0 | ||
|
|
0acc5618f6 | ||
|
|
35ee452de0 | ||
|
|
01b2a23b95 | ||
|
|
44286ca3c4 | ||
|
|
3d64a3176c | ||
|
|
50f42cadb1 | ||
|
|
734d99804b | ||
|
|
37a02ca1c2 | ||
|
|
19fd09a78f | ||
|
|
54ee2b8741 | ||
|
|
4da95d377f | ||
|
|
f56a6de10b | ||
|
|
b5ce04dd28 | ||
|
|
80ae7b2287 | ||
|
|
4b9669f1dc | ||
|
|
03a807aaf4 | ||
|
|
5cfe2d760d | ||
|
|
0c7437a5d2 | ||
|
|
0baa7f1cd0 | ||
|
|
8b3e0330ba | ||
|
|
20892c1e68 | ||
|
|
d58ea07227 | ||
|
|
91805fc0db | ||
|
|
6e948a652d | ||
|
|
f9b4815918 | ||
|
|
67d441ba36 | ||
|
|
914968e66d | ||
|
|
54b08a5e78 | ||
|
|
251e191271 | ||
|
|
d6761c3cdf | ||
|
|
978287b8f8 | ||
|
|
5f8949656a | ||
|
|
c16756d829 | ||
|
|
26f3c637fc | ||
|
|
d44347f1e7 | ||
|
|
19e6094378 | ||
|
|
f85dae3c34 | ||
|
|
9a4d7fd214 | ||
|
|
015de43f70 | ||
|
|
12bde494a5 | ||
|
|
986a0039cb | ||
|
|
f7befa9f1d | ||
|
|
d9758e37ee | ||
|
|
6ec154b57d | ||
|
|
456f2bb24f | ||
|
|
03227eeb79 | ||
|
|
2f982e4fab | ||
|
|
536d95f617 | ||
|
|
d8644bd646 | ||
|
|
3ed16dc6b7 | ||
|
|
7154b326d0 | ||
|
|
6fa46363ad | ||
|
|
9b83c2f979 | ||
|
|
bd8608d979 | ||
|
|
ed38b0ac41 | ||
|
|
334adf0ae5 | ||
|
|
a660dc8f30 | ||
|
|
72952de239 | ||
|
|
9b486ca391 | ||
|
|
efa8e80c0b | ||
|
|
e659c95b01 | ||
|
|
496f9517cb | ||
|
|
1385c3ee7f | ||
|
|
9bd1a7ea28 | ||
|
|
0df1102698 | ||
|
|
2d5204ff88 | ||
|
|
b07269a548 | ||
|
|
20f90cf99a | ||
|
|
3a7d8c3adb | ||
|
|
e2bdce3f5c | ||
|
|
1bfb61e80b | ||
|
|
446beb48d9 | ||
|
|
1c2b2c12bb | ||
|
|
e60acc180b | ||
|
|
536681be5d | ||
|
|
bb99322ef9 | ||
|
|
18e0bfb07c | ||
|
|
5897e0c470 | ||
|
|
05da428462 | ||
|
|
9c520cb544 | ||
|
|
a4271d598b | ||
|
|
aede6ceba3 | ||
|
|
4ae06c1fa5 | ||
|
|
3c9c99cb2c |
8
Filelist
8
Filelist
@@ -262,6 +262,7 @@ SRC_DOS = \
|
||||
src/bigvim.bat \
|
||||
src/msvcsetup.bat \
|
||||
src/msvc2008.bat \
|
||||
src/msvc2010.bat \
|
||||
src/dimm.idl \
|
||||
src/dlldata.c \
|
||||
src/dosinst.c \
|
||||
@@ -427,9 +428,6 @@ SRC_EXTRA = \
|
||||
$(SRC_VMS) \
|
||||
README_os390.txt \
|
||||
src/Make_mint.mak \
|
||||
src/Make_ro.mak \
|
||||
src/gui_riscos.c \
|
||||
src/gui_riscos.h \
|
||||
src/if_sniff.c \
|
||||
src/infplist.xml \
|
||||
src/link.390 \
|
||||
@@ -437,10 +435,6 @@ SRC_EXTRA = \
|
||||
src/os_beos.h \
|
||||
src/os_beos.rsrc \
|
||||
src/os_mint.h \
|
||||
src/os_riscos.c \
|
||||
src/os_riscos.h \
|
||||
src/proto/gui_riscos.pro \
|
||||
src/proto/os_riscos.pro \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
|
||||
@@ -13,9 +13,6 @@ src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
|
||||
|
||||
src/os_amiga.* Files for the Amiga port.
|
||||
|
||||
src/gui_riscos.*
|
||||
src/os_riscos.* Files for the RISC OS port.
|
||||
|
||||
src/gui_beos.*
|
||||
src/os_beos.* Files for the BeOS port.
|
||||
|
||||
|
||||
@@ -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,6 +519,7 @@ 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))
|
||||
@@ -526,7 +527,7 @@ fun! s:GetOneScript(...)
|
||||
" 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
|
||||
|
||||
@@ -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','')
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
exe "tabn ".vbtabnr
|
||||
setlocal ma
|
||||
sil! %d
|
||||
silent put a
|
||||
1
|
||||
sil! d
|
||||
|
||||
" write tab to file
|
||||
if a:really
|
||||
let fnamepath= home."/".fname
|
||||
" 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -299,6 +299,8 @@ Name triggered by ~
|
||||
|InsertEnter| starting Insert mode
|
||||
|InsertChange| when typing <Insert> while in Insert or Replace mode
|
||||
|InsertLeave| when leaving Insert mode
|
||||
|InsertCharPre| when a character was typed in Insert mode, before
|
||||
inserting it
|
||||
|
||||
|ColorScheme| after loading a color scheme
|
||||
|
||||
@@ -657,6 +659,17 @@ InsertChange When typing <Insert> while in Insert or
|
||||
indicates the new mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
*InsertCharPre*
|
||||
InsertCharPre When a character is typed in Insert mode,
|
||||
before inserting the char.
|
||||
The |v:char| variable indicates the char typed
|
||||
and can be changed during the event to insert
|
||||
a different character. When |v:char| is set
|
||||
to more than one character this text is
|
||||
inserted literally.
|
||||
It is not allowed to change the text |textlock|.
|
||||
The event is not triggered when 'paste' is
|
||||
set.
|
||||
*InsertEnter*
|
||||
InsertEnter Just before starting Insert mode. Also for
|
||||
Replace mode and Virtual Replace mode. The
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.3. Last change: 2011 Feb 25
|
||||
*change.txt* For Vim version 7.3. Last change: 2011 Jun 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -522,11 +522,11 @@ comment (starting with '"') after the ":!" command.
|
||||
={motion} Filter {motion} lines through the external program
|
||||
given with the 'equalprg' option. When the 'equalprg'
|
||||
option is empty (this is the default), use the
|
||||
internal formatting function |C-indenting|. But when
|
||||
'indentexpr' is not empty, it will be used instead
|
||||
|indent-expression|. When Vim was compiled without
|
||||
internal formatting then the "indent" program is used
|
||||
as a last resort.
|
||||
internal formatting function |C-indenting| and
|
||||
|'lisp'|. But when 'indentexpr' is not empty, it will
|
||||
be used instead |indent-expression|. When Vim was
|
||||
compiled without internal formatting then the "indent"
|
||||
program is used as a last resort.
|
||||
|
||||
*==*
|
||||
== Filter [count] lines like with ={motion}.
|
||||
@@ -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.
|
||||
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).
|
||||
|
||||
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).
|
||||
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
|
||||
@@ -919,8 +931,8 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
|
||||
*:y* *:yank* *E850*
|
||||
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
|
||||
"* or "+ registers is possible only in GUI versions or
|
||||
when the |+xterm_clipboard| feature is included.
|
||||
"* or "+ registers is possible only when the
|
||||
|+clipboard| feature is included.
|
||||
|
||||
:[range]y[ank] [x] {count}
|
||||
Yank {count} lines, starting with last line number
|
||||
@@ -1390,16 +1402,19 @@ before typing anything else on the new line. This will replace the
|
||||
middle-comment leader with the end-comment leader and apply any specified
|
||||
alignment, leaving just " */". There is no need to hit BackSpace first.
|
||||
|
||||
When there is a match with a middle part, but there also is a maching end part
|
||||
which is longer, the end part is used. This makes a C style comment work
|
||||
without requiring the middle part to end with a space.
|
||||
|
||||
Here is an example of alignment flags at work to make a comment stand out
|
||||
(kind of looks like a 1 too). Consider comment string >
|
||||
sr:/***,m:**,ex2:******/
|
||||
|
||||
/***
|
||||
**<--right aligned from "r" flag
|
||||
**
|
||||
offset 2 spaces from the "2" flag--->**
|
||||
******/
|
||||
(kind of looks like a 1 too). Consider comment string: >
|
||||
:set comments=sr:/***,m:**,ex-2:******/
|
||||
<
|
||||
/*** ~
|
||||
**<--right aligned from "r" flag ~
|
||||
** ~
|
||||
offset 2 spaces for the "-2" flag--->** ~
|
||||
******/ ~
|
||||
In this case, the first comment was typed, then return was pressed 4 times,
|
||||
then "/" was pressed to end the comment.
|
||||
|
||||
@@ -1417,8 +1432,8 @@ Reindenting using a different method like |gq| or |=| will not consult
|
||||
alignment flags either. The same behaviour can be defined in those other
|
||||
formatting options. One consideration is that 'cindent' has additional options
|
||||
for context based indenting of comments but cannot replicate many three piece
|
||||
indent alignments. However, 'indentexpr' is has the ability to work better
|
||||
with three piece comments.
|
||||
indent alignments. However, 'indentexpr' has the ability to work better with
|
||||
three piece comments.
|
||||
|
||||
Other examples: >
|
||||
"b:*" Includes lines starting with "*", but not if the "*" is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2011 Mar 18
|
||||
*eval.txt* For Vim version 7.3. Last change: 2011 Jul 13
|
||||
|
||||
|
||||
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,6 +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 |InsertCharPre| event.
|
||||
|
||||
*v:charconvert_from* *charconvert_from-variable*
|
||||
v:charconvert_from
|
||||
@@ -1545,7 +1549,9 @@ v:progname Contains the name (with path removed) with which Vim was
|
||||
|
||||
*v:register* *register-variable*
|
||||
v:register The name of the register in effect for the current normal mode
|
||||
command. If none is supplied it is the default register.
|
||||
command. If none is supplied it is the default register '"',
|
||||
unless 'clipboard' contains "unnamed" or "unnamedplus", then
|
||||
it is '*' or '+'.
|
||||
Also see |getreg()| and |setreg()|
|
||||
|
||||
*v:scrollstart* *scrollstart-variable*
|
||||
@@ -1916,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}]])
|
||||
@@ -1939,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}
|
||||
@@ -2270,7 +2277,8 @@ char2nr({expr}) *char2nr()*
|
||||
< The current 'encoding' is used. Example for "utf-8": >
|
||||
char2nr("<22>") returns 225
|
||||
char2nr("<22>"[0]) returns 195
|
||||
< |nr2char()| does the opposite.
|
||||
< A combining character is a separate character.
|
||||
|nr2char()| does the opposite.
|
||||
|
||||
cindent({lnum}) *cindent()*
|
||||
Get the amount of indent for line {lnum} according the C
|
||||
@@ -4074,6 +4082,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
||||
{pat} matches.
|
||||
A match at the first character or |List| item returns zero.
|
||||
If there is no match -1 is returned.
|
||||
For getting submatches see |matchlist()|.
|
||||
Example: >
|
||||
:echo match("testing", "ing") " results in 4
|
||||
:echo match([1, 'x'], '\a') " results in 1
|
||||
@@ -5271,7 +5280,7 @@ 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))
|
||||
@@ -5279,6 +5288,8 @@ sort({list} [, {func}]) *sort()* *E702*
|
||||
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
|
||||
@@ -5550,9 +5561,11 @@ 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.
|
||||
@@ -5560,26 +5573,35 @@ submatch({nr}) *submatch()*
|
||||
|
||||
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".
|
||||
|
||||
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')
|
||||
|
||||
synID({lnum}, {col}, {trans}) *synID()*
|
||||
The result is a Number, which is the syntax ID at the position
|
||||
{lnum} and {col} in the current window.
|
||||
@@ -5947,7 +5969,7 @@ virtcol({expr}) *virtcol()*
|
||||
When 'virtualedit' is used {expr} can be [lnum, col, off], where
|
||||
"off" is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
character. When "off" is omitted zero is used.
|
||||
When Virtual editing is active in the current mode, a position
|
||||
beyond the end of the line can be returned. |'virtualedit'|
|
||||
The accepted positions are:
|
||||
@@ -6215,14 +6237,14 @@ netbeans_enabled Compiled with support for |netbeans| and connected.
|
||||
netbeans_intg Compiled with support for |netbeans|.
|
||||
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.
|
||||
postscript Compiled with PostScript file printing.
|
||||
printer Compiled with |:hardcopy| support.
|
||||
profile Compiled with |:profile| support.
|
||||
python Compiled with Python interface.
|
||||
python Compiled with Python 2.x interface. |has-python|
|
||||
python3 Compiled with Python 3.x interface. |has-python|
|
||||
qnx QNX version of Vim.
|
||||
quickfix Compiled with |quickfix| support.
|
||||
reltime Compiled with |reltime()| support.
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -60,7 +60,7 @@ level form a fold, with the lines with a higher level forming a nested fold.
|
||||
The nesting of folds is limited with 'foldnestmax'.
|
||||
|
||||
Some lines are ignored and get the fold level of the line above or below it,
|
||||
whatever is the lowest. These are empty or white lines and lines starting
|
||||
whichever is lower. These are empty or white lines and lines starting
|
||||
with a character in 'foldignore'. White space is skipped before checking for
|
||||
characters in 'foldignore'. For C use "#" to ignore preprocessor lines.
|
||||
|
||||
|
||||
@@ -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,12 +264,22 @@ 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' 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
|
||||
<
|
||||
*cscopetagorder* *csto*
|
||||
The value of 'csto' determines the order in which |:cstag| performs a search.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2010 Oct 20
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2011 May 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -377,6 +377,18 @@ To work around such problems there are these options:
|
||||
3. You undefine PY_NO_RTLD_GLOBAL in auto/config.h after configuration. This
|
||||
may crash Vim though.
|
||||
|
||||
*has-python*
|
||||
You can test what Python version is available with: >
|
||||
if has('python')
|
||||
echo 'there is Pyton 2.x'
|
||||
elseif has('python3')
|
||||
echo 'there is Python 3.x'
|
||||
endif
|
||||
|
||||
Note however, that when Python 2 and 3 are both available and loaded
|
||||
dynamically, these has() calls will try to load them. If only one can be
|
||||
loaded at a time, just checking if Python 2 or 3 are available will prevent
|
||||
the other one from being available.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -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 Jul 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -128,13 +128,20 @@ have changed the indent by typing <BS>, <Tab>, or <Space> in the indent or
|
||||
used CTRL-T or CTRL-D.
|
||||
|
||||
*cinoptions-values*
|
||||
The 'cinoptions' option sets how Vim performs indentation. In the list below,
|
||||
The 'cinoptions' option sets how Vim performs indentation. The value after
|
||||
the option character can be one of these (N is any number):
|
||||
N indent N spaces
|
||||
-N indent N spaces to the left
|
||||
Ns N times 'shiftwidth spaces
|
||||
-Ns N times 'shiftwidth spaces to the left
|
||||
|
||||
In the list below,
|
||||
"N" represents a number of your choice (the number can be negative). When
|
||||
there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
|
||||
"1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc. You can use a
|
||||
decimal point, too: "-0.5s" is minus half a 'shiftwidth'. The examples below
|
||||
assume a 'shiftwidth' of 4.
|
||||
|
||||
decimal point, too: "-0.5s" is minus half a 'shiftwidth'.
|
||||
The examples below assume a 'shiftwidth' of 4.
|
||||
*cino->*
|
||||
>N Amount added for "normal" indent. Used after a line that should
|
||||
increase the indent (lines starting with "if", an opening brace,
|
||||
etc.). (default 'shiftwidth').
|
||||
@@ -145,6 +152,7 @@ assume a 'shiftwidth' of 4.
|
||||
foo; foo; foo;
|
||||
} } }
|
||||
<
|
||||
*cino-e*
|
||||
eN Add N to the prevailing indent inside a set of braces if the
|
||||
opening brace at the End of the line (more precise: is not the
|
||||
first character in a line). This is useful if you want a
|
||||
@@ -160,6 +168,7 @@ assume a 'shiftwidth' of 4.
|
||||
bar; bar; bar;
|
||||
} } }
|
||||
<
|
||||
*cino-n*
|
||||
nN Add N to the prevailing indent for a statement after an "if",
|
||||
"while", etc., if it is NOT inside a set of braces. This is
|
||||
useful if you want a different indent when there is no '{'
|
||||
@@ -174,6 +183,7 @@ assume a 'shiftwidth' of 4.
|
||||
bar; bar; bar;
|
||||
} } }
|
||||
<
|
||||
*cino-f*
|
||||
fN Place the first opening brace of a function or other block in
|
||||
column N. This applies only for an opening brace that is not
|
||||
inside other braces and is at the start of the line. What comes
|
||||
@@ -184,6 +194,7 @@ assume a 'shiftwidth' of 4.
|
||||
{ { {
|
||||
int foo; int foo; int foo;
|
||||
<
|
||||
*cino-{*
|
||||
{N Place opening braces N characters from the prevailing indent.
|
||||
This applies only for opening braces that are inside other
|
||||
braces. (default 0).
|
||||
@@ -193,6 +204,7 @@ assume a 'shiftwidth' of 4.
|
||||
{ { {
|
||||
foo; foo; foo;
|
||||
<
|
||||
*cino-}*
|
||||
}N Place closing braces N characters from the matching opening
|
||||
brace. (default 0).
|
||||
|
||||
@@ -202,6 +214,7 @@ assume a 'shiftwidth' of 4.
|
||||
foo; foo; foo;
|
||||
} } }
|
||||
<
|
||||
*cino-^*
|
||||
^N Add N to the prevailing indent inside a set of braces if the
|
||||
opening brace is in column 0. This can specify a different
|
||||
indent for whole of a function (some may like to set it to a
|
||||
@@ -216,6 +229,7 @@ assume a 'shiftwidth' of 4.
|
||||
} } }
|
||||
} } }
|
||||
<
|
||||
*cino-L*
|
||||
LN Controls placement of jump labels. If N is negative, the label
|
||||
will be placed at column 1. If N is non-negative, the indent of
|
||||
the label will be the prevailing indent minus N. (default -1).
|
||||
@@ -229,6 +243,7 @@ assume a 'shiftwidth' of 4.
|
||||
} } }
|
||||
} } }
|
||||
<
|
||||
*cino-:*
|
||||
:N Place case labels N characters from the indent of the switch().
|
||||
(default 'shiftwidth').
|
||||
|
||||
@@ -240,6 +255,7 @@ assume a 'shiftwidth' of 4.
|
||||
default: default:
|
||||
} }
|
||||
<
|
||||
*cino-=*
|
||||
=N Place statements occurring after a case label N characters from
|
||||
the indent of the label. (default 'shiftwidth').
|
||||
|
||||
@@ -247,6 +263,7 @@ assume a 'shiftwidth' of 4.
|
||||
case 11: case 11: a = a + 1;
|
||||
a = a + 1; b = b + 1;
|
||||
<
|
||||
*cino-l*
|
||||
lN If N != 0 Vim will align with a case label instead of the
|
||||
statement after it in the same line.
|
||||
|
||||
@@ -256,6 +273,7 @@ assume a 'shiftwidth' of 4.
|
||||
break; break;
|
||||
} }
|
||||
<
|
||||
*cino-b*
|
||||
bN If N != 0 Vim will align a final "break" with the case label,
|
||||
so that case..break looks like a sort of block. (default: 0).
|
||||
When using 1, consider adding "0=break" to 'cinkeys'.
|
||||
@@ -272,6 +290,7 @@ assume a 'shiftwidth' of 4.
|
||||
break; break;
|
||||
} }
|
||||
<
|
||||
*cino-g*
|
||||
gN Place C++ scope declarations N characters from the indent of the
|
||||
block they are in. (default 'shiftwidth'). A scope declaration
|
||||
can be "public:", "protected:" or "private:".
|
||||
@@ -283,6 +302,7 @@ assume a 'shiftwidth' of 4.
|
||||
private: private:
|
||||
} }
|
||||
<
|
||||
*cino-h*
|
||||
hN Place statements occurring after a C++ scope declaration N
|
||||
characters from the indent of the label. (default
|
||||
'shiftwidth').
|
||||
@@ -291,6 +311,21 @@ assume a 'shiftwidth' of 4.
|
||||
public: public: a = a + 1;
|
||||
a = a + 1; b = b + 1;
|
||||
<
|
||||
*cino-N*
|
||||
NN Indent inside C++ namespace N characters extra compared to a
|
||||
normal block. (default 0).
|
||||
|
||||
cino= cino=N-s >
|
||||
namespace { namespace {
|
||||
void function(); void function();
|
||||
} }
|
||||
|
||||
namespace my namespace my
|
||||
{ {
|
||||
void function(); void function();
|
||||
} }
|
||||
<
|
||||
*cino-p*
|
||||
pN Parameter declarations for K&R-style function declarations will
|
||||
be indented N characters from the margin. (default
|
||||
'shiftwidth').
|
||||
@@ -300,6 +335,7 @@ assume a 'shiftwidth' of 4.
|
||||
int a; int a; int a;
|
||||
char b; char b; char b;
|
||||
<
|
||||
*cino-t*
|
||||
tN Indent a function return type declaration N characters from the
|
||||
margin. (default 'shiftwidth').
|
||||
|
||||
@@ -307,6 +343,7 @@ assume a 'shiftwidth' of 4.
|
||||
int int int
|
||||
func() func() func()
|
||||
<
|
||||
*cino-i*
|
||||
iN Indent C++ base class declarations and constructor
|
||||
initializations, if they start in a new line (otherwise they
|
||||
are aligned at the right side of the ':').
|
||||
@@ -320,6 +357,7 @@ assume a 'shiftwidth' of 4.
|
||||
BaseClass(3) BaseClass(3)
|
||||
{} {}
|
||||
<
|
||||
*cino-+*
|
||||
+N Indent a continuation line (a line that spills onto the next)
|
||||
inside a function N additional characters. (default
|
||||
'shiftwidth').
|
||||
@@ -330,6 +368,7 @@ assume a 'shiftwidth' of 4.
|
||||
a = b + 9 * a = b + 9 *
|
||||
c; c;
|
||||
<
|
||||
*cino-c*
|
||||
cN Indent comment lines after the comment opener, when there is no
|
||||
other text with which to align, N characters from the comment
|
||||
opener. (default 3). See also |format-comments|.
|
||||
@@ -339,6 +378,7 @@ assume a 'shiftwidth' of 4.
|
||||
text. text.
|
||||
*/ */
|
||||
<
|
||||
*cino-C*
|
||||
CN When N is non-zero, indent comment lines by the amount specified
|
||||
with the c flag above even if there is other text behind the
|
||||
comment opener. (default 0).
|
||||
@@ -349,12 +389,14 @@ assume a 'shiftwidth' of 4.
|
||||
********/ ********/
|
||||
< (Example uses ":set comments& comments-=s1:/* comments^=s0:/*")
|
||||
|
||||
*cino-/*
|
||||
/N Indent comment lines N characters extra. (default 0).
|
||||
cino= cino=/4 >
|
||||
a = b; a = b;
|
||||
/* comment */ /* comment */
|
||||
c = d; c = d;
|
||||
<
|
||||
*cino-(*
|
||||
(N When in unclosed parentheses, indent N characters from the line
|
||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
||||
unclosed parentheses. When N is 0 or the unclosed parentheses
|
||||
@@ -370,6 +412,7 @@ assume a 'shiftwidth' of 4.
|
||||
(c2 || c3)) (c2 || c3))
|
||||
{ {
|
||||
<
|
||||
*cino-u*
|
||||
uN Same as (N, but for one level deeper. (default 'shiftwidth').
|
||||
|
||||
cino= cino=u2 >
|
||||
@@ -377,6 +420,7 @@ assume a 'shiftwidth' of 4.
|
||||
&& (c22345 && (c22345
|
||||
|| c3)) || c3))
|
||||
<
|
||||
*cino-U*
|
||||
UN When N is non-zero, do not ignore the indenting specified by
|
||||
( or u in case that the unclosed parentheses is the first
|
||||
non-white character in its line. (default 0).
|
||||
@@ -388,6 +432,7 @@ assume a 'shiftwidth' of 4.
|
||||
c3 c3
|
||||
) && c4; ) && c4;
|
||||
<
|
||||
*cino-2*
|
||||
wN When in unclosed parentheses and N is non-zero and either
|
||||
using "(0" or "u0", respectively, or using "U0" and the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
@@ -400,6 +445,7 @@ assume a 'shiftwidth' of 4.
|
||||
|| c3)) || c3))
|
||||
foo; foo;
|
||||
<
|
||||
*cino-W*
|
||||
WN When in unclosed parentheses and N is non-zero and either
|
||||
using "(0" or "u0", respectively and the unclosed parentheses is
|
||||
the last non-white character in its line and it is not the
|
||||
@@ -414,6 +460,7 @@ assume a 'shiftwidth' of 4.
|
||||
a_short_line(argument, a_short_line(argument,
|
||||
argument); argument);
|
||||
<
|
||||
*cino-m*
|
||||
mN When N is non-zero, line up a line starting with a closing
|
||||
parentheses with the first character of the line with the
|
||||
matching opening parentheses. (default 0).
|
||||
@@ -428,6 +475,7 @@ assume a 'shiftwidth' of 4.
|
||||
) )
|
||||
foo; foo;
|
||||
<
|
||||
*cino-M*
|
||||
MN When N is non-zero, line up a line starting with a closing
|
||||
parentheses with the first character of the previous line.
|
||||
(default 0).
|
||||
@@ -437,10 +485,11 @@ assume a 'shiftwidth' of 4.
|
||||
cond2 cond2
|
||||
) )
|
||||
<
|
||||
*java-cinoptions* *java-indenting*
|
||||
jN Indent java anonymous classes correctly. The value 'N' is
|
||||
currently unused but must be non-zero (e.g. 'j1'). 'j1' will
|
||||
indent for example the following code snippet correctly: >
|
||||
*java-cinoptions* *java-indenting* *cino-j*
|
||||
jN Indent Java anonymous classes correctly. Also works well for
|
||||
Javascript. The value 'N' is currently unused but must be
|
||||
non-zero (e.g. 'j1'). 'j1' will indent for example the
|
||||
following code snippet correctly: >
|
||||
|
||||
object.add(new ChangeListener() {
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
@@ -448,10 +497,11 @@ assume a 'shiftwidth' of 4.
|
||||
}
|
||||
});
|
||||
<
|
||||
*javascript-cinoptions* *javascript-indenting*
|
||||
*javascript-cinoptions* *javascript-indenting* *cino-J*
|
||||
JN Indent JavaScript object declarations correctly by not confusing
|
||||
them with labels. The value 'N' is currently unused but must be
|
||||
non-zero (e.g. 'J1'). >
|
||||
non-zero (e.g. 'J1'). If you enable this you probably also want
|
||||
to set |cino-j|. >
|
||||
|
||||
var bar = {
|
||||
foo: {
|
||||
@@ -466,16 +516,19 @@ assume a 'shiftwidth' of 4.
|
||||
}
|
||||
}
|
||||
<
|
||||
*cino-)*
|
||||
)N Vim searches for unclosed parentheses at most N lines away.
|
||||
This limits the time needed to search for parentheses. (default
|
||||
20 lines).
|
||||
|
||||
*cino-star*
|
||||
*N Vim searches for unclosed comments at most N lines away. This
|
||||
limits the time needed to search for the start of a comment.
|
||||
If your /* */ comments stop indenting afer N lines this is the
|
||||
value you will want to change.
|
||||
(default 70 lines).
|
||||
|
||||
*cino-#*
|
||||
#N When N is non-zero recognize shell/Perl comments, starting with
|
||||
'#'. Default N is zero: don't recognizes '#' comments. Note
|
||||
that lines starting with # will still be seen as preprocessor
|
||||
@@ -483,7 +536,7 @@ assume a 'shiftwidth' of 4.
|
||||
|
||||
|
||||
The defaults, spelled out in full, are:
|
||||
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,ps,ts,is,+s,
|
||||
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
|
||||
c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
|
||||
|
||||
Vim puts a line in column 1 if:
|
||||
@@ -510,13 +563,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
|
||||
@@ -543,6 +598,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*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.3. Last change: 2010 Dec 08
|
||||
*intro.txt* For Vim version 7.3. Last change: 2011 May 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -135,8 +135,10 @@ http://www.vim.org/maillist.php
|
||||
|
||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||
|
||||
Send bug reports to: Vim bugs <bugs@vim.org>
|
||||
This is not a maillist but the message is redirected to the Vim maintainer.
|
||||
Send bug reports to: Vim Developers <vim_dev@vim.org>
|
||||
This is a maillist, many people will see the message. If you don't want that,
|
||||
e.g. because it is a security issue, send it to <bugs@vim.org>, this only goes
|
||||
to the Vim maintainer (that's Bram).
|
||||
Please be brief; all the time that is spent on answering mail is subtracted
|
||||
from the time that is spent on improving Vim! Always give a reproducible
|
||||
example and try to find out which settings or other things influence the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.3. Last change: 2011 Apr 13
|
||||
*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|
|
||||
@@ -226,7 +228,7 @@ text before the cursor and start omni completion when some condition is met.
|
||||
|
||||
For abbreviations |v:char| is set to the character that was typed to trigger
|
||||
the abbreviation. You can use this to decide how to expand the {lhs}. You
|
||||
can't change v:char and you should not insert it.
|
||||
you should not either insert or change the v:char.
|
||||
|
||||
Be very careful about side effects! The expression is evaluated while
|
||||
obtaining characters, you may very well make the command dysfunctional.
|
||||
@@ -480,9 +482,9 @@ You can create an empty {rhs} by typing nothing after a single CTRL-V (you
|
||||
have to type CTRL-V two times). Unfortunately, you cannot do this in a vimrc
|
||||
file.
|
||||
*<Nop>*
|
||||
A easier way to get a mapping that doesn't produce anything, is to use "<Nop>"
|
||||
for the {rhs}. This only works when the |<>| notation is enabled. For
|
||||
example, to make sure that function key 8 does nothing at all: >
|
||||
An easier way to get a mapping that doesn't produce anything, is to use
|
||||
"<Nop>" for the {rhs}. This only works when the |<>| notation is enabled.
|
||||
For example, to make sure that function key 8 does nothing at all: >
|
||||
:map <F8> <Nop>
|
||||
:map! <F8> <Nop>
|
||||
<
|
||||
@@ -495,7 +497,7 @@ scenario: >
|
||||
:set encoding=utf-8
|
||||
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
|
||||
byte. If you type the character <20> (0xe1 <M-a>) in UTF-8 encoding this is the
|
||||
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then,
|
||||
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or
|
||||
otherwise it would be impossible to type the <20> character.
|
||||
|
||||
*<Leader>* *mapleader*
|
||||
@@ -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,12 +965,12 @@ 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*
|
||||
@@ -975,18 +978,18 @@ See |:verbose-cmd| for more information.
|
||||
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*
|
||||
@@ -1177,13 +1180,15 @@ reported if any are supplied). However, it is possible to specify that the
|
||||
command can take arguments, using the -nargs attribute. Valid cases are:
|
||||
|
||||
-nargs=0 No arguments are allowed (the default)
|
||||
-nargs=1 Exactly one argument is required
|
||||
-nargs=* Any number of arguments are allowed (0, 1, or many)
|
||||
-nargs=1 Exactly one argument is require, it includes spaces
|
||||
-nargs=* Any number of arguments are allowed (0, 1, or many),
|
||||
separated by white space
|
||||
-nargs=? 0 or 1 arguments are allowed
|
||||
-nargs=+ Arguments must be supplied, but any number are allowed
|
||||
|
||||
Arguments are considered to be separated by (unescaped) spaces or tabs in this
|
||||
context.
|
||||
context, except when there is one argument, then the white space is part of
|
||||
the argument.
|
||||
|
||||
Note that arguments are used as text, not as expressions. Specifically,
|
||||
"s:var" will use the script-local variable in the script where the command was
|
||||
@@ -1206,17 +1211,21 @@ completion can be enabled:
|
||||
|
||||
-complete=augroup autocmd groups
|
||||
-complete=buffer buffer names
|
||||
-complete=color color schemes
|
||||
-complete=command Ex command (and arguments)
|
||||
-complete=compiler compilers
|
||||
-complete=cscope |:cscope| suboptions
|
||||
-complete=dir directory names
|
||||
-complete=environment environment variable names
|
||||
-complete=event autocommand events
|
||||
-complete=expression Vim expression
|
||||
-complete=file file and directory names
|
||||
-complete=file_in_path file and directory names in |'path'|
|
||||
-complete=filetype filetype names |'filetype'|
|
||||
-complete=function function name
|
||||
-complete=help help subjects
|
||||
-complete=highlight highlight groups
|
||||
-complete=locale locale names (as output of locale -a)
|
||||
-complete=mapping mapping name
|
||||
-complete=menu menus
|
||||
-complete=option options
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2011 Feb 01
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2011 Jul 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -1306,8 +1306,8 @@ character. However, search patterns may not match on an overlong sequence.
|
||||
character.) An exception is NUL (zero) which is displayed as "<00>".
|
||||
|
||||
In the file and buffer the full range of Unicode characters can be used (31
|
||||
bits). However, displaying only works for 16 bit characters, and only for the
|
||||
characters present in the selected font.
|
||||
bits). However, displaying only works for the characters present in the
|
||||
selected font.
|
||||
|
||||
Useful commands:
|
||||
- "ga" shows the decimal, hexadecimal and octal value of the character under
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 7.3. Last change: 2011 Jan 30
|
||||
*message.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -27,8 +27,8 @@ The "g<" command can be used to see the last page of previous command output.
|
||||
This is especially useful if you accidentally typed <Space> at the hit-enter
|
||||
prompt. You are then back at the hit-enter prompt and can then scroll further
|
||||
back.
|
||||
Note: when you stopped the output with "q" at the more prompt only up to that
|
||||
point will be displayed.
|
||||
Note: If the output has been stopped with "q" at the more prompt, it will only
|
||||
be displayed up to this point.
|
||||
The previous command output is cleared when another command produces output.
|
||||
|
||||
If you are using translated messages, the first printed line tells who
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2011 Apr 15
|
||||
*options.txt* For Vim version 7.3. Last change: 2011 Jul 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -815,7 +815,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
been set.
|
||||
|
||||
*'background'* *'bg'*
|
||||
'background' 'bg' string (default "dark" or "light")
|
||||
'background' 'bg' string (default "dark" or "light", see below)
|
||||
global
|
||||
{not in Vi}
|
||||
When set to "dark", Vim will try to use colors that look good on a
|
||||
@@ -849,6 +849,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
color). To get around this, force the GUI window to be opened by
|
||||
putting a ":gui" command in the .gvimrc file, before where the value
|
||||
of 'background' is used (e.g., before ":syntax on").
|
||||
|
||||
For MS-DOS, Windows and OS/2 the default is "dark".
|
||||
For other systems "dark" is used when 'term' is "linux",
|
||||
"screen.linux", "cygwin" or "putty", or $COLORFGBG suggests a dark
|
||||
background. Otherwise the default is "light".
|
||||
|
||||
Normally this option would be set in the .vimrc file. Possibly
|
||||
depending on the terminal name. Example: >
|
||||
:if &term == "pcterm"
|
||||
@@ -2111,6 +2117,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|
|
||||
@@ -2203,6 +2215,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Specifies whether to use quickfix window to show cscope results.
|
||||
See |cscopequickfix|.
|
||||
|
||||
*'cscoperelative'* *'csre'*
|
||||
'cscoperelative' 'csre' boolean (default off)
|
||||
global
|
||||
{not available when compiled without the |+cscope|
|
||||
feature}
|
||||
{not in Vi}
|
||||
In the absence of a prefix (-P) for cscope. setting this option enables
|
||||
to use the basename of cscope.out path as the prefix.
|
||||
See |cscoperelative|.
|
||||
|
||||
*'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
|
||||
'cscopetag' 'cst' boolean (default off)
|
||||
global
|
||||
@@ -2917,8 +2939,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.
|
||||
@@ -3094,7 +3114,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
closed. Also for manually closed folds. With the default value of
|
||||
one a fold can only be closed if it takes up two or more screen lines.
|
||||
Set to zero to be able to close folds of just one screen line.
|
||||
Note that this only has an effect of what is displayed. After using
|
||||
Note that this only has an effect on what is displayed. After using
|
||||
"zc" to close a fold, which is displayed open because it's smaller
|
||||
than 'foldminlines', a following "zc" may close a containing fold.
|
||||
|
||||
@@ -3389,7 +3409,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}
|
||||
@@ -4098,7 +4118,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
It is used when a new line is created, for the |=| operator and
|
||||
in Insert mode as specified with the 'indentkeys' option.
|
||||
When this option is not empty, it overrules the 'cindent' and
|
||||
'smartindent' indenting.
|
||||
'smartindent' indenting. When 'lisp' is set, this option is
|
||||
overridden by the Lisp indentation algorithm.
|
||||
When 'paste' is set this option is not used for indenting.
|
||||
The expression is evaluated with |v:lnum| set to the line number for
|
||||
which the indent is to be computed. The cursor is also in this line
|
||||
@@ -5106,20 +5127,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")
|
||||
@@ -5989,7 +6002,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
When on, use temp files for shell commands. When off use a pipe.
|
||||
When using a pipe is not possible temp files are used anyway.
|
||||
Currently a pipe is only supported on Unix. You can check it with: >
|
||||
Currently a pipe is only supported on Unix and MS-Windows 2K and
|
||||
later. You can check it with: >
|
||||
:if has("filterpipe")
|
||||
< The advantage of using a pipe is that nobody can read the temp file
|
||||
and the 'shell' command does not need to support redirection.
|
||||
|
||||
@@ -1,322 +1,12 @@
|
||||
*os_risc.txt* For Vim version 7.3. Last change: 2010 Aug 07
|
||||
*os_risc.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Thomas Leonard
|
||||
|
||||
|
||||
*riscos* *RISCOS* *RISC-OS*
|
||||
This file contains the particularities for the RISC OS version of Vim.
|
||||
The RISC OS support has been removed from Vim with patch 7.3.187.
|
||||
If you would like to use Vim on RISC OS get the files from before that patch.
|
||||
|
||||
The RISC OS port is a completely new port and is not based on the old "archi"
|
||||
port.
|
||||
|
||||
1. File locations |riscos-locations|
|
||||
2. Filename munging |riscos-munging|
|
||||
3. Command-line use |riscos-commandline|
|
||||
4. Desktop (GUI) use |riscos-gui|
|
||||
5. Remote use (telnet) |riscos-remote|
|
||||
6. Temporary files |riscos-temp-files|
|
||||
7. Interrupting |riscos-interrupt|
|
||||
8. Memory usage |riscos-memory|
|
||||
9. Filetypes |riscos-filetypes|
|
||||
10. The shell |riscos-shell|
|
||||
11. Porting new releases |riscos-porting|
|
||||
|
||||
If I've missed anything, email me and I'll try to fix it. In fact, even if I
|
||||
haven't missed anything then email me anyway to give me some confidence that it
|
||||
actually works!
|
||||
|
||||
Thomas Leonard <tal197@ecs.soton.ac.uk>
|
||||
|
||||
[these URLs no longer work...]
|
||||
Port homepage: http://www.ecs.soton.ac.uk/~tal197/
|
||||
or try: http://www.soton.ac.uk/~tal197/
|
||||
|
||||
==============================================================================
|
||||
*riscos-locations*
|
||||
1. File locations
|
||||
|
||||
The Vim executable and shared resource files are all stored inside the !Vim
|
||||
application directory.
|
||||
|
||||
When !Vim is first seen by the filer, it aliases the *vi and *ex commands to
|
||||
run the command-line versions of Vim (see |riscos-commandline|).
|
||||
|
||||
!Vim.Resources and !Vim.Resources2 contain the files from the standard Vim
|
||||
distribution, but modified slightly to work within the limits of ADFS, plus
|
||||
some extra files such as the window templates.
|
||||
|
||||
User choices are read from "Choices:*" and are saved to "<Choices$Write>.*".
|
||||
If you have the new !Boot structure then these should be set up already. If
|
||||
not, set Choices$Path to a list of directories to search when looking for
|
||||
user configuration files. Set Choices$Write to the directory you want files
|
||||
to be saved into (so your search patterns and marks can be remembered between
|
||||
sessions).
|
||||
|
||||
==============================================================================
|
||||
*riscos-munging*
|
||||
2. Filename munging
|
||||
|
||||
All pathname munging is disabled by default, so Vim should behave like a
|
||||
normal RISC OS application now. So, if you want to edit "doc/html" then you
|
||||
actually type "*vi doc/html".
|
||||
|
||||
The only times munging is done is when:
|
||||
|
||||
- Searching included files from C programs, since these are always munged.
|
||||
See |[I|.
|
||||
Note: make sure you are in the right directory when you use this
|
||||
command (i.e. the one with subdirectories "c" and "h").
|
||||
|
||||
- Sourcing files using |:so|.
|
||||
Paths starting "$VIM/" are munged like this:
|
||||
|
||||
$VIM/syntax/help.vim -> Vim:syntax.help
|
||||
|
||||
Also, files ending in ".vim" have their extensions removed, and slashes
|
||||
replaced with dots.
|
||||
|
||||
Some tag files and script files may have to be edited to work under this port.
|
||||
|
||||
==============================================================================
|
||||
*riscos-commandline*
|
||||
3. Command-line use
|
||||
|
||||
To use Vim from the command-line use the "*vi" command (or "*ex" for
|
||||
|Ex-mode|).
|
||||
|
||||
Type "*vi -h" for a list of options.
|
||||
|
||||
Running the command-line version of Vim in a large high-color mode may cause
|
||||
the scrolling to be very slow. Either change to a mode with fewer colors or
|
||||
use the GUI version.
|
||||
|
||||
Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will
|
||||
freeze it, as usual for text programs.
|
||||
|
||||
==============================================================================
|
||||
*riscos-gui*
|
||||
4. Desktop use
|
||||
|
||||
Limitations:
|
||||
|
||||
- Left scrollbars don't work properly (right and bottom are fine).
|
||||
- Doesn't increase scroll speed if it gets behind.
|
||||
|
||||
You can resize the window by dragging the lower-right corner, even though
|
||||
there is no icon shown there.
|
||||
|
||||
You can use the --rows and --columns arguments to specify the initial size of
|
||||
the Vim window, like this: >
|
||||
|
||||
*Vi -g --rows 20 --columns 80
|
||||
|
||||
The global clipboard is supported, so you can select some text and then
|
||||
paste it directly into another application (provided it supports the
|
||||
clipboard too).
|
||||
|
||||
Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift
|
||||
when clicking Menu to paste (from the global clipboard).
|
||||
|
||||
Dragging a file to the window replaces the CURRENT buffer (the one with the
|
||||
cursor, NOT the one you dragged to) with the file.
|
||||
|
||||
Dragging with Ctrl held down causes a new Vim window to be opened for the
|
||||
file (see |:sp|).
|
||||
|
||||
Dragging a file in with Shift held down in insert mode inserts the pathname of
|
||||
the file.
|
||||
|
||||
:browse :w opens a standard RISC OS save box.
|
||||
:browse :e opens a directory viewer.
|
||||
|
||||
For fonts, you have the choice of the system font, an outline font, the system
|
||||
font via ZapRedraw and any of the Zap fonts via ZapRedraw: >
|
||||
|
||||
:set guifont=
|
||||
< To use the system font via the VDU drivers. Supports
|
||||
bold and underline.
|
||||
>
|
||||
:set guifont=Corpus.Medium
|
||||
< Use the named outline font. You can use any font, but
|
||||
only monospaced ones like Corpus look right.
|
||||
>
|
||||
:set guifont=Corpus.Medium:w8:h12:b:i
|
||||
< As before, but with size of 8 point by 12 point, and
|
||||
in bold italic.
|
||||
If only one of width and height is given then that
|
||||
value is used for both. If neither is given then 10
|
||||
point is used.
|
||||
|
||||
Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name
|
||||
with "!" (or "!!" for double height), like this: >
|
||||
|
||||
:set guifont=!!
|
||||
< Use the system font, but via ZapRedraw. This gives a
|
||||
faster redraw on StrongARM processors, but you can't
|
||||
get bold or italic text. Double height.
|
||||
>
|
||||
:set guifont=!script
|
||||
< Uses the named Zap font (a directory in VimFont$Path).
|
||||
The redraw is the same speed as for "!!", but you get
|
||||
a nicer looking font.
|
||||
Only the "man+" and "script" fonts are supplied
|
||||
currently, but you can use any of the Zap fonts if
|
||||
they are in VimFont$Path.
|
||||
Vim will try to load font files "0", "B", "I" and "IB"
|
||||
from the named directory. Only "0" (normal style) MUST
|
||||
be present. Link files are not currently supported.
|
||||
|
||||
Note that when using ZapRedraw the edit bar is drawn in front of the character
|
||||
you are on rather than behind it. Also redraw is incorrect for screen modes
|
||||
with eigen values of 0. If the font includes control characters then you can
|
||||
get Vim to display them by changing the 'isprint' option.
|
||||
|
||||
If you find the scrolling is too slow on your machine, try experimenting
|
||||
with the 'scrolljump' and 'ttyscroll' options.
|
||||
|
||||
In particular, StrongARM users may find that: >
|
||||
|
||||
:set ttyscroll=0
|
||||
|
||||
makes scrolling faster in high-color modes.
|
||||
|
||||
=============================================================================
|
||||
*riscos-remote*
|
||||
5. Remote use (telnet)
|
||||
|
||||
I have included a built-in termcap entry, but you can edit the termcap file to
|
||||
allow other codes to be used if you want to use Vim from a remote terminal.
|
||||
|
||||
Although I do not have an internet connection to my Acorn, I have managed to
|
||||
run Vim in a FreeTerm window using the loopback connection.
|
||||
|
||||
It seems to work pretty well now, using "*vi -T ansi".
|
||||
|
||||
==============================================================================
|
||||
*riscos-temp-files*
|
||||
6. Temporary files
|
||||
|
||||
If Vim crashes then the swap and backup files (if any) will be in the
|
||||
directories set with the 'directory' and 'bdir' options. By default the swap
|
||||
files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the
|
||||
directory you were saving to. Vim will allow you to try and recover the file
|
||||
when you next try to edit it.
|
||||
|
||||
To see a list of swap files, press <F12> and type "*vi -r".
|
||||
|
||||
Vim no longer brings up ATTENTION warnings if you try to edit two files with
|
||||
the same name in different directories.
|
||||
|
||||
However, it also no longer warns if you try to edit the same file twice (with
|
||||
two copies of Vim), though you will still be warned when you save that the
|
||||
datestamp has changed.
|
||||
|
||||
==============================================================================
|
||||
*riscos-interrupt*
|
||||
7. Interrupting
|
||||
|
||||
To break out of a looping macro, or similar, hold down Escape in the
|
||||
command-line version, or press CTRL-C in the GUI version.
|
||||
|
||||
==============================================================================
|
||||
*riscos-memory*
|
||||
8. Memory usage
|
||||
|
||||
Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on
|
||||
older machines then edit the !RunTxt and GVim files. I don't know what UnixLib
|
||||
does by default on these machines so I'm playing safe.
|
||||
|
||||
It doesn't work at all well without dynamic areas, since it can't change its
|
||||
memory allocation once running. Hence you should edit "!Vim.GVim" and
|
||||
"!Vim.!RunTxt" to choose the best size for you. You probably need at least
|
||||
about 1400K.
|
||||
|
||||
==============================================================================
|
||||
*riscos-filetypes*
|
||||
9. Filetypes
|
||||
|
||||
You can now specify that autocommands are only executed for files of certain
|
||||
types. The filetype is given in the form &xxx, when xxx is the filetype.
|
||||
|
||||
Filetypes must be specified by number (e.g. &fff for Text).
|
||||
|
||||
The system has changed from version 5.3. The new sequence of events is:
|
||||
|
||||
- A file is loaded. |'osfiletype'| is set to the RISC OS filetype.
|
||||
- Based on the filetype and pathname, Vim will try to set |'filetype'| to the
|
||||
Vim-type of the file.
|
||||
- Setting this option may load syntax files and perform other actions.
|
||||
- Saving the file will give it a filetype of |'osfiletype'|.
|
||||
|
||||
Some examples may make this clearer:
|
||||
|
||||
Kind of file loaded osfiletype filetype ~
|
||||
C code "c.hellow" Text (&fff) C
|
||||
LaTeX document LaTeX (&2a8) TeX
|
||||
Draw document DrawFile (&aff) (not changed)
|
||||
|
||||
==============================================================================
|
||||
*riscos-shell*
|
||||
10. The shell
|
||||
|
||||
- Bangs (!s) are only replaced if they are followed by a space or end-of-line,
|
||||
since many pathnames contain them.
|
||||
|
||||
- You can prefix the command with "~", which stops any output from being
|
||||
displayed. This also means that you don't have to press <Enter> afterwards,
|
||||
and stops the screen from being redrawn. {only in the GUI version}
|
||||
|
||||
==============================================================================
|
||||
*riscos-porting*
|
||||
11. Porting new releases to RISC OS
|
||||
|
||||
Downloading everything you need:
|
||||
|
||||
- Get the latest source distribution (see www.vim.org)
|
||||
- Get the runtime environment files (e.g. these help files)
|
||||
- Get the RISC OS binary distribution (if possible)
|
||||
|
||||
|
||||
Unarchiving:
|
||||
|
||||
- Create a raFS disk and put the archives on it
|
||||
- Un-gzip them
|
||||
- Un-tar them (*tar xELf 50 archive/tar)
|
||||
|
||||
|
||||
Recompiling the sources:
|
||||
|
||||
- Create c, s, and h directories.
|
||||
- Put all the header files in "h". \
|
||||
- Put all the C files in "c". | And lose the extensions
|
||||
- Put the assembler file ("swis/s") in "s". /
|
||||
- Rename all the files in "proto" to "h", like this:
|
||||
raFS::VimSrc.source.proto.file/pro
|
||||
becomes
|
||||
raFS::VimSrc.source.h.file_pro
|
||||
- In the files "h.proto" and "c.termlib", search and replace
|
||||
.pro"
|
||||
with
|
||||
_pro.h"
|
||||
- Create a simple Makefile if desired and do "*make -k".
|
||||
Use "CC = gcc -DRISCOS -DUSE_GUI -O2 -x c" in the Makefile.
|
||||
- Save the binary as !Vim.Vim in the binary distribution.
|
||||
|
||||
|
||||
Updating the run-time environment:
|
||||
|
||||
- Replace old or missing files inside !Vim.Resources with the
|
||||
new files.
|
||||
- Remove files in "doc" not ending in "/txt", except for "tags".
|
||||
- Lose the extensions from the files in "doc".
|
||||
- Edit the "doc.tags" file. Remove extensions from the second column: >
|
||||
:%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
|
||||
- Remove extensions from the syntax files. Split them into two directories
|
||||
to avoid the 77 entry limit on old ADFS filesystems.
|
||||
- Edit "Vim:FileType" to match "*.c.*" as well as "*/c" and so on.
|
||||
Add filetype checking too.
|
||||
- Edit "Vim:Menu" and remove all the keys from the menus: >
|
||||
:%s/<Tab>[^ \t]*//
|
||||
<
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -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
|
||||
@@ -313,7 +313,37 @@ A. When using :! to run an external command, you can run it with "start": >
|
||||
with :!start do not get passed Vim's open file handles, which means they do
|
||||
not have to be closed before Vim.
|
||||
To avoid this special treatment, use ":! start".
|
||||
The optional "/min" argument causes the window to be minimized.
|
||||
There are two optional arguments (see the next Q):
|
||||
/min the window will be minimized.
|
||||
/b" no console window will be opened
|
||||
You can only one of these flags at a time. A second second one will be
|
||||
treated as the start of the command.
|
||||
|
||||
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 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 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 .
|
||||
< When it has finished you should see file named "tags" in your current
|
||||
directory. You should notice the window title blinking on your taskbar.
|
||||
This is more noticable for commands that take longer.
|
||||
Now delete the "tags" file and run this command: >
|
||||
:!start /b ctags -R .
|
||||
< You should have the same "tags" file, but this time there will be no
|
||||
blinking on the taskbar.
|
||||
Example for a GUI application: >
|
||||
:!start /min notepad
|
||||
:!start /b notepad
|
||||
< The first command runs notepad minimized and the second one runs it
|
||||
normally.
|
||||
|
||||
Q. I'm using Win32s, and when I try to run an external command like "make",
|
||||
Vim doesn't wait for it to finish! Help!
|
||||
|
||||
@@ -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
|
||||
@@ -1035,11 +1036,9 @@ x A single character, with no special meaning, matches itself
|
||||
These items only work for 8-bit characters.
|
||||
*/[[=* *[==]*
|
||||
- An equivalence class. This means that characters are matched that
|
||||
have almost the same meaning, e.g., when ignoring accents. The form
|
||||
is:
|
||||
have almost the same meaning, e.g., when ignoring accents. This
|
||||
only works for Unicode, latin1 and latin9. The form is:
|
||||
[=a=]
|
||||
Currently this is only implemented for latin1. Also works for the
|
||||
latin1 characters in utf-8 and latin9.
|
||||
*/[[.* *[..]*
|
||||
- A collation element. This currently simply accepts a single
|
||||
character in the form:
|
||||
|
||||
@@ -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,8 +224,8 @@ 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
|
||||
@@ -210,7 +233,7 @@ 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
|
||||
|
||||
@@ -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,7 +273,7 @@ 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: >
|
||||
@@ -281,14 +281,15 @@ DIRECTORY LISTING *netrw-dirlist* {{{2
|
||||
: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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*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
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
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 used by s:Path() to
|
||||
prevent certain characters from causing trouble
|
||||
(defunct: |fnameescape()| and |shellescape()|
|
||||
now used instead)
|
||||
22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter
|
||||
21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
|
||||
handling problem and it now changes \s to /s
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Sep 14
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2011 May 24
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
|
||||
Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
|
||||
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,
|
||||
@@ -17,14 +17,14 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
|
||||
the use of this software.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *zip* *zip-contents*
|
||||
1. Contents *zip* *zip-contents*
|
||||
1. Contents................................................|zip-contents|
|
||||
2. Usage...................................................|zip-usage|
|
||||
3. Additional Extensions...................................|zip-extension|
|
||||
4. History.................................................|zip-history|
|
||||
|
||||
==============================================================================
|
||||
2. Usage *zip-usage* *zip-manual*
|
||||
2. Usage *zip-usage* *zip-manual*
|
||||
|
||||
When one edits a *.zip file, this plugin will handle displaying a
|
||||
contents page. Select a file to edit by moving the cursor atop
|
||||
@@ -69,6 +69,7 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
|
||||
let g:loaded_zipPlugin= 1
|
||||
let g:loaded_zip = 1
|
||||
<
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. Additional Extensions *zip-extension*
|
||||
@@ -83,7 +84,11 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
|
||||
should be treated as zip files.
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
4. History *zip-history* {{{1
|
||||
v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames
|
||||
fnameescape'd as well as shellquote'd
|
||||
* (Motoya Kurotsu) inserted keepj before 0d to protect
|
||||
jump list
|
||||
v17 May 09, 2008 * arno caught a security bug
|
||||
v15 Sep 07, 2007 * &shq now used if not the empty string for g:zip_shq
|
||||
v14 May 07, 2007 * using b:zipfile instead of w:zipfile to avoid problem
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.3. Last change: 2011 Feb 01
|
||||
*quickfix.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -215,28 +215,29 @@ command with 'l'.
|
||||
|
||||
*:cex* *:cexpr* *E777*
|
||||
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
|
||||
jump to the first error. If {expr} is a String, then
|
||||
each new-line terminated line in the String is
|
||||
processed using 'errorformat' and the result is added
|
||||
to the quickfix list. If {expr} is a List, then each
|
||||
String item in the list is processed and added to the
|
||||
quickfix list. Non String items in the List are
|
||||
ignored. See |:cc|
|
||||
for [!].
|
||||
jump to the first error.
|
||||
If {expr} is a String, then each new-line terminated
|
||||
line in the String is processed using the global value
|
||||
of 'errorformat' and the result is added to the
|
||||
quickfix list.
|
||||
If {expr} is a List, then each String item in the list
|
||||
is processed and added to the quickfix list. Non
|
||||
String items in the List are ignored.
|
||||
See |:cc| for [!].
|
||||
Examples: >
|
||||
:cexpr system('grep -n xyz *')
|
||||
:cexpr getline(1, '$')
|
||||
<
|
||||
*:lex* *:lexpr*
|
||||
:lex[pr][!] {expr} Same as ":cexpr", except the location list for the
|
||||
:lex[pr][!] {expr} Same as |:cexpr|, except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
*:cgete* *:cgetexpr*
|
||||
:cgete[xpr] {expr} Create a quickfix list using the result of {expr}.
|
||||
Just like ":cexpr", but don't jump to the first error.
|
||||
Just like |:cexpr|, but don't jump to the first error.
|
||||
|
||||
*:lgete* *:lgetexpr*
|
||||
:lgete[xpr] {expr} Same as ":cgetexpr", except the location list for the
|
||||
:lgete[xpr] {expr} Same as |:cgetexpr|, except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
*:cad* *:caddexpr*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2010 Dec 02
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2011 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -657,6 +657,7 @@ Short explanation of each option: *option-list*
|
||||
'cscopepathcomp' 'cspc' how many components of the path to show
|
||||
'cscopeprg' 'csprg' command to execute cscope
|
||||
'cscopequickfix' 'csqf' use quickfix window for cscope results
|
||||
'cscoperelative' 'csre' Use cscope.out path basename as prefix
|
||||
'cscopetag' 'cst' use cscope for tag commands
|
||||
'cscopetagorder' 'csto' determines ":cstag" search order
|
||||
'cscopeverbose' 'csverb' give messages when adding a cscope database
|
||||
@@ -800,7 +801,7 @@ Short explanation of each option: *option-list*
|
||||
'omnifunc' 'ofu' function for filetype-specific completion
|
||||
'opendevice' 'odev' allow reading/writing devices on MS-Windows
|
||||
'operatorfunc' 'opfunc' function to be called for |g@| operator
|
||||
'osfiletype' 'oft' operating system-specific filetype information
|
||||
'osfiletype' 'oft' no longer supported
|
||||
'paragraphs' 'para' nroff macros that separate paragraphs
|
||||
'paste' allow pasting text
|
||||
'pastetoggle' 'pt' key code that causes 'paste' to toggle
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 7.3. Last change: 2011 Feb 01
|
||||
*spell.txt* For Vim version 7.3. Last change: 2011 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1244,6 +1244,7 @@ one or more groups, where each group can be:
|
||||
Optionally this may be followed by:
|
||||
* the group appears zero or more times, e.g., sm*e
|
||||
+ the group appears one or more times, e.g., c+
|
||||
? the group appears zero times or once, e.g., x?
|
||||
|
||||
This is similar to the regexp pattern syntax (but not the same!). A few
|
||||
examples with the sequence of word flags they require:
|
||||
@@ -1251,6 +1252,7 @@ examples with the sequence of word flags they require:
|
||||
COMPOUNDRULE yz yz
|
||||
COMPOUNDRULE x+z xz xxz xxxz etc.
|
||||
COMPOUNDRULE yx+ yx yxx yxxx etc.
|
||||
COMPOUNDRULE xy?z xz xyz
|
||||
|
||||
COMPOUNDRULE [abc]z az bz cz
|
||||
COMPOUNDRULE [abc]+z az aaz abaz bz baz bcbz cz caz cbaz etc.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2011 Apr 06
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2011 Jul 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -866,13 +866,13 @@ used.
|
||||
Detecting whether a file is csh or tcsh is notoriously hard. Some systems
|
||||
symlink /bin/csh to /bin/tcsh, making it almost impossible to distinguish
|
||||
between csh and tcsh. In case VIM guesses wrong you can set the
|
||||
"filetype_csh" variable. For using csh: >
|
||||
|
||||
:let filetype_csh = "csh"
|
||||
"filetype_csh" variable. For using csh: *g:filetype_csh*
|
||||
>
|
||||
:let g:filetype_csh = "csh"
|
||||
|
||||
For using tcsh: >
|
||||
|
||||
:let filetype_csh = "tcsh"
|
||||
:let g:filetype_csh = "tcsh"
|
||||
|
||||
Any script with a tcsh extension or a standard tcsh filename (.tcshrc,
|
||||
tcsh.tcshrc, tcsh.login) will have filetype tcsh. All other tcsh/csh scripts
|
||||
@@ -1102,6 +1102,8 @@ your .vimrc: >
|
||||
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
|
||||
|
||||
FlexWiki is an ASP.NET-based wiki package available at http://www.flexwiki.com
|
||||
NOTE: this site currently doesn't work, on Wikipedia is mentioned that
|
||||
development stopped in 2009.
|
||||
|
||||
Syntax highlighting is available for the most common elements of FlexWiki
|
||||
syntax. The associated ftplugin script sets some buffer-local options to make
|
||||
@@ -2370,6 +2372,12 @@ This will make the syntax synchronization start 50 lines before the first
|
||||
displayed line. The default value is 10. The disadvantage of using a larger
|
||||
number is that redrawing can become slow.
|
||||
|
||||
Vim tries to guess what type a ".r" file is. If it can't be detected (from
|
||||
comment lines), the default is "r". To make the default rexx add this line to
|
||||
your .vimrc: *g:filetype_r*
|
||||
>
|
||||
:let g:filetype_r = "r"
|
||||
|
||||
|
||||
RUBY *ruby.vim* *ft-ruby-syntax*
|
||||
|
||||
|
||||
@@ -154,12 +154,14 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'cscopepathcomp' options.txt /*'cscopepathcomp'*
|
||||
'cscopeprg' options.txt /*'cscopeprg'*
|
||||
'cscopequickfix' options.txt /*'cscopequickfix'*
|
||||
'cscoperelative' options.txt /*'cscoperelative'*
|
||||
'cscopetag' options.txt /*'cscopetag'*
|
||||
'cscopetagorder' options.txt /*'cscopetagorder'*
|
||||
'cscopeverbose' options.txt /*'cscopeverbose'*
|
||||
'cspc' options.txt /*'cspc'*
|
||||
'csprg' options.txt /*'csprg'*
|
||||
'csqf' options.txt /*'csqf'*
|
||||
'csre' options.txt /*'csre'*
|
||||
'cst' options.txt /*'cst'*
|
||||
'csto' options.txt /*'csto'*
|
||||
'csverb' options.txt /*'csverb'*
|
||||
@@ -1191,7 +1193,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+mzscheme/dyn various.txt /*+mzscheme\/dyn*
|
||||
+netbeans_intg various.txt /*+netbeans_intg*
|
||||
+ole various.txt /*+ole*
|
||||
+osfiletype various.txt /*+osfiletype*
|
||||
+path_extra various.txt /*+path_extra*
|
||||
+perl various.txt /*+perl*
|
||||
+perl/dyn various.txt /*+perl\/dyn*
|
||||
@@ -3705,7 +3706,6 @@ E362 term.txt /*E362*
|
||||
E363 options.txt /*E363*
|
||||
E364 eval.txt /*E364*
|
||||
E365 print.txt /*E365*
|
||||
E366 options.txt /*E366*
|
||||
E367 autocmd.txt /*E367*
|
||||
E368 eval.txt /*E368*
|
||||
E369 pattern.txt /*E369*
|
||||
@@ -3970,8 +3970,6 @@ E607 eval.txt /*E607*
|
||||
E608 eval.txt /*E608*
|
||||
E609 if_cscop.txt /*E609*
|
||||
E61 pattern.txt /*E61*
|
||||
E610 options.txt /*E610*
|
||||
E611 options.txt /*E611*
|
||||
E612 sign.txt /*E612*
|
||||
E613 print.txt /*E613*
|
||||
E614 editing.txt /*E614*
|
||||
@@ -4234,6 +4232,7 @@ E847 syntax.txt /*E847*
|
||||
E848 syntax.txt /*E848*
|
||||
E849 syntax.txt /*E849*
|
||||
E85 options.txt /*E85*
|
||||
E850 change.txt /*E850*
|
||||
E86 windows.txt /*E86*
|
||||
E87 windows.txt /*E87*
|
||||
E88 windows.txt /*E88*
|
||||
@@ -4303,6 +4302,7 @@ IME mbyte.txt /*IME*
|
||||
Insert insert.txt /*Insert*
|
||||
Insert-mode insert.txt /*Insert-mode*
|
||||
InsertChange autocmd.txt /*InsertChange*
|
||||
InsertCharPre autocmd.txt /*InsertCharPre*
|
||||
InsertEnter autocmd.txt /*InsertEnter*
|
||||
InsertLeave autocmd.txt /*InsertLeave*
|
||||
J change.txt /*J*
|
||||
@@ -4958,6 +4958,40 @@ charset-conversion mbyte.txt /*charset-conversion*
|
||||
chill.vim syntax.txt /*chill.vim*
|
||||
cindent() eval.txt /*cindent()*
|
||||
cinkeys-format indent.txt /*cinkeys-format*
|
||||
cino-# indent.txt /*cino-#*
|
||||
cino-( indent.txt /*cino-(*
|
||||
cino-) indent.txt /*cino-)*
|
||||
cino-+ indent.txt /*cino-+*
|
||||
cino-/ indent.txt /*cino-\/*
|
||||
cino-2 indent.txt /*cino-2*
|
||||
cino-: indent.txt /*cino-:*
|
||||
cino-= indent.txt /*cino-=*
|
||||
cino-> indent.txt /*cino->*
|
||||
cino-C indent.txt /*cino-C*
|
||||
cino-J indent.txt /*cino-J*
|
||||
cino-L indent.txt /*cino-L*
|
||||
cino-M indent.txt /*cino-M*
|
||||
cino-N indent.txt /*cino-N*
|
||||
cino-U indent.txt /*cino-U*
|
||||
cino-W indent.txt /*cino-W*
|
||||
cino-^ indent.txt /*cino-^*
|
||||
cino-b indent.txt /*cino-b*
|
||||
cino-c indent.txt /*cino-c*
|
||||
cino-e indent.txt /*cino-e*
|
||||
cino-f indent.txt /*cino-f*
|
||||
cino-g indent.txt /*cino-g*
|
||||
cino-h indent.txt /*cino-h*
|
||||
cino-i indent.txt /*cino-i*
|
||||
cino-j indent.txt /*cino-j*
|
||||
cino-l indent.txt /*cino-l*
|
||||
cino-m indent.txt /*cino-m*
|
||||
cino-n indent.txt /*cino-n*
|
||||
cino-p indent.txt /*cino-p*
|
||||
cino-star indent.txt /*cino-star*
|
||||
cino-t indent.txt /*cino-t*
|
||||
cino-u indent.txt /*cino-u*
|
||||
cino-{ indent.txt /*cino-{*
|
||||
cino-} indent.txt /*cino-}*
|
||||
cinoptions-values indent.txt /*cinoptions-values*
|
||||
clear-undo undo.txt /*clear-undo*
|
||||
clearmatches() eval.txt /*clearmatches()*
|
||||
@@ -5062,6 +5096,7 @@ cpo-+ options.txt /*cpo-+*
|
||||
cpo-- options.txt /*cpo--*
|
||||
cpo-. options.txt /*cpo-.*
|
||||
cpo-/ options.txt /*cpo-\/*
|
||||
cpo-; options.txt /*cpo-;*
|
||||
cpo-< options.txt /*cpo-<*
|
||||
cpo-> options.txt /*cpo->*
|
||||
cpo-A options.txt /*cpo-A*
|
||||
@@ -5131,6 +5166,7 @@ cscope_connection() eval.txt /*cscope_connection()*
|
||||
cscopepathcomp if_cscop.txt /*cscopepathcomp*
|
||||
cscopeprg if_cscop.txt /*cscopeprg*
|
||||
cscopequickfix if_cscop.txt /*cscopequickfix*
|
||||
cscoperelative if_cscop.txt /*cscoperelative*
|
||||
cscopetag if_cscop.txt /*cscopetag*
|
||||
cscopetagorder if_cscop.txt /*cscopetagorder*
|
||||
cscopeverbose if_cscop.txt /*cscopeverbose*
|
||||
@@ -5138,6 +5174,7 @@ csh.vim syntax.txt /*csh.vim*
|
||||
cspc if_cscop.txt /*cspc*
|
||||
csprg if_cscop.txt /*csprg*
|
||||
csqf if_cscop.txt /*csqf*
|
||||
csre if_cscop.txt /*csre*
|
||||
cst if_cscop.txt /*cst*
|
||||
csto if_cscop.txt /*csto*
|
||||
csverb if_cscop.txt /*csverb*
|
||||
@@ -5415,6 +5452,11 @@ expr-env eval.txt /*expr-env*
|
||||
expr-env-expand eval.txt /*expr-env-expand*
|
||||
expr-function eval.txt /*expr-function*
|
||||
expr-is eval.txt /*expr-is*
|
||||
expr-is# eval.txt /*expr-is#*
|
||||
expr-is? eval.txt /*expr-is?*
|
||||
expr-isnot eval.txt /*expr-isnot*
|
||||
expr-isnot# eval.txt /*expr-isnot#*
|
||||
expr-isnot? eval.txt /*expr-isnot?*
|
||||
expr-nesting eval.txt /*expr-nesting*
|
||||
expr-number eval.txt /*expr-number*
|
||||
expr-option eval.txt /*expr-option*
|
||||
@@ -5743,6 +5785,8 @@ g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
|
||||
g:decada.Make() ft_ada.txt /*g:decada.Make()*
|
||||
g:decada.Make_Command ft_ada.txt /*g:decada.Make_Command*
|
||||
g:decada.Unit_Name() ft_ada.txt /*g:decada.Unit_Name()*
|
||||
g:filetype_csh syntax.txt /*g:filetype_csh*
|
||||
g:filetype_r syntax.txt /*g:filetype_r*
|
||||
g:gnat ft_ada.txt /*g:gnat*
|
||||
g:gnat.Error_Format ft_ada.txt /*g:gnat.Error_Format*
|
||||
g:gnat.Find() ft_ada.txt /*g:gnat.Find()*
|
||||
@@ -6057,6 +6101,7 @@ hangul hangulin.txt /*hangul*
|
||||
hangulin.txt hangulin.txt /*hangulin.txt*
|
||||
has() eval.txt /*has()*
|
||||
has-patch eval.txt /*has-patch*
|
||||
has-python if_pyth.txt /*has-python*
|
||||
has_key() eval.txt /*has_key()*
|
||||
haskell.vim syntax.txt /*haskell.vim*
|
||||
haslocaldir() eval.txt /*haslocaldir()*
|
||||
@@ -6805,6 +6850,8 @@ netrw-p10 pi_netrw.txt /*netrw-p10*
|
||||
netrw-p11 pi_netrw.txt /*netrw-p11*
|
||||
netrw-p12 pi_netrw.txt /*netrw-p12*
|
||||
netrw-p13 pi_netrw.txt /*netrw-p13*
|
||||
netrw-p14 pi_netrw.txt /*netrw-p14*
|
||||
netrw-p15 pi_netrw.txt /*netrw-p15*
|
||||
netrw-p2 pi_netrw.txt /*netrw-p2*
|
||||
netrw-p3 pi_netrw.txt /*netrw-p3*
|
||||
netrw-p4 pi_netrw.txt /*netrw-p4*
|
||||
@@ -6853,6 +6900,7 @@ netrw-start pi_netrw.txt /*netrw-start*
|
||||
netrw-t pi_netrw.txt /*netrw-t*
|
||||
netrw-texplore pi_netrw.txt /*netrw-texplore*
|
||||
netrw-todo pi_netrw.txt /*netrw-todo*
|
||||
netrw-trailingslash pi_netrw.txt /*netrw-trailingslash*
|
||||
netrw-transparent pi_netrw.txt /*netrw-transparent*
|
||||
netrw-u pi_netrw.txt /*netrw-u*
|
||||
netrw-updir pi_netrw.txt /*netrw-updir*
|
||||
@@ -7277,17 +7325,6 @@ right-justify change.txt /*right-justify*
|
||||
rileft rileft.txt /*rileft*
|
||||
rileft.txt rileft.txt /*rileft.txt*
|
||||
riscos os_risc.txt /*riscos*
|
||||
riscos-commandline os_risc.txt /*riscos-commandline*
|
||||
riscos-filetypes os_risc.txt /*riscos-filetypes*
|
||||
riscos-gui os_risc.txt /*riscos-gui*
|
||||
riscos-interrupt os_risc.txt /*riscos-interrupt*
|
||||
riscos-locations os_risc.txt /*riscos-locations*
|
||||
riscos-memory os_risc.txt /*riscos-memory*
|
||||
riscos-munging os_risc.txt /*riscos-munging*
|
||||
riscos-porting os_risc.txt /*riscos-porting*
|
||||
riscos-remote os_risc.txt /*riscos-remote*
|
||||
riscos-shell os_risc.txt /*riscos-shell*
|
||||
riscos-temp-files os_risc.txt /*riscos-temp-files*
|
||||
rot13 change.txt /*rot13*
|
||||
round() eval.txt /*round()*
|
||||
rsync pi_netrw.txt /*rsync*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2011 Apr 28
|
||||
*todo.txt* For Vim version 7.3. Last change: 2011 Jul 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -27,92 +27,24 @@ Priority classification:
|
||||
See |develop.txt| for development plans. You can vote for which items should
|
||||
be worked on, but only if you sponsor Vim development. See |sponsor|.
|
||||
|
||||
Issues can also be entered online: http://code.google.com/p/vim/issues/list
|
||||
Updates will be forwarded to the vim_dev maillist. Issues entered there will
|
||||
not be repeated below, unless there is extra information.
|
||||
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Patch for behavior of :cwindow. (Ingo Karkat, 2011 Apr 15)
|
||||
|
||||
Configure fix for finding exctags. (Hong Xu, 2011 Aprl 2)
|
||||
|
||||
When 'colorcolumn' is set locally to a window, ":new" opens a window with the
|
||||
same highlighting but 'colorcolumn' is empty. (Tyru, 2010 Nov 15)
|
||||
Patch by Christian Brabandt, 2011 Feb 13 (but move further down).
|
||||
|
||||
Patch for configure related to Ruby on Mac OS X. (Bjorn Winckler, 2011 Jan 14)
|
||||
|
||||
Patch to make mkdir() work properly for different encodings. (Yukihiro
|
||||
Nakadaira, 2011 Apr 23)
|
||||
|
||||
Updated PHP syntax file. (Jason Woofenden, 2011 Apr 22)
|
||||
|
||||
ASCII Vim logo's (Erling Westenvik, 2011 Apr 19) Add to website.
|
||||
|
||||
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
|
||||
|
||||
Patch for static code analysis errors in riscOS. (Dominique Pelle, 2010 Dec 3)
|
||||
|
||||
Patch to set v:register on startup. (Ingo Karkat, 2011 Jan 16)
|
||||
|
||||
Risc OS gui has obvious errors. Drop it?
|
||||
|
||||
Patch to set v:register default depending on "unnamed" in 'clipboard'. (Ingo
|
||||
Karkat, 2011 Jan 16)
|
||||
|
||||
Patch to add 'cscoperelative'. (Raghavendra Prabhu, 2011 Apr 18)
|
||||
|
||||
New syntax file for dnsmasq. (Thilo Six, 2011 Apr 18)
|
||||
|
||||
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Patch for:
|
||||
InsertCharPre - user typed character Insert mode, before inserting the
|
||||
char. Pattern is matched with text before the cursor.
|
||||
Set v:char to the character, can be changed.
|
||||
(not triggered when 'paste' is set).
|
||||
(Jakson A. Aquino, 2011 Jan 29)
|
||||
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
|
||||
Needs more work.
|
||||
|
||||
Patch for "No errors" showing up after QuickfixCmdPost. (Mike Lundy, 2011 Feb
|
||||
3)
|
||||
|
||||
Patch for cmdline completion of ":lang". (Dominique Pelle, 2011 Feb 5)
|
||||
|
||||
Patch for adding 's' option to 'cino', C++ namespace indenting. (Konstantin
|
||||
Lepa, 2011 Jan 18)
|
||||
|
||||
Patch to support ":!start /b cmd". (Xaizek, 2010 Dec 22)
|
||||
|
||||
Patch to build with GTK on Mac. (Ben Schmidt, 2011 Jan 18)
|
||||
Use another name instead of FEAT_GUI_ELSEWHERE.
|
||||
|
||||
Patch for xxd makefile to avoid generating .dSYM files. (Ben Schmidt, 2011 Jan
|
||||
18)
|
||||
|
||||
Patch to show sign for folded text. (Christian Brabandt, 2011 Jan 12)
|
||||
Method to reproduce it: Jan 16.
|
||||
|
||||
Patch to improve optwin.vim. (ZyX, 2011 Jan 29)
|
||||
|
||||
Patch for Python 3 support. (lilydjwg, 2011 Feb 24)
|
||||
|
||||
Building the MingW version without clipboard but with multi-byte doesn't
|
||||
work. (Bill Lam, 2010 Sep 18)
|
||||
|
||||
Patch for handling of NL in substitute() with \= expression. (Motoya Kurotsu,
|
||||
2011 Mar 16) Update Mar 24.
|
||||
|
||||
Patch to disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka, 2010
|
||||
Nov 25)
|
||||
|
||||
GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
|
||||
Update 2011 Feb 3.
|
||||
|
||||
Patch to use pipes on Win32. (Vincent Berthoux, 2011 Feb 28)
|
||||
Update Mar 1 using 'shelltemp'.
|
||||
|
||||
"gh<Del>" deletes the current line, except when it's the last line.
|
||||
Hint by Christian Brabandt, 2011 Mar 22
|
||||
With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
|
||||
register. (Michael Seiwald, 2011 Jun 28)
|
||||
|
||||
The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
|
||||
Compare with how old Vi works and with posix spec. terminal is 80 x 24,
|
||||
@@ -121,20 +53,40 @@ Compare with how old Vi works and with posix spec. terminal is 80 x 24,
|
||||
'cursorline' is displayed too short when there are concealed characters and
|
||||
'list' is set. (Dennis Preiser)
|
||||
Patch 7.3.116 was the wrong solution.
|
||||
Christian Brabandt has another incomplete patch. (2011 Jul 13)
|
||||
|
||||
With concealed text mouse click doesn't put the cursor in the right position.
|
||||
(Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly,
|
||||
need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called.
|
||||
|
||||
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||
21, Ben Fritz, 2010 Sep 14)
|
||||
|
||||
When opening file from windows explorer, characters inside [] cause
|
||||
problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
|
||||
|
||||
Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
|
||||
|
||||
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
|
||||
Winckler, 2011 May 11)
|
||||
Use function to set paste option and restore it, use CTRL-R+ to paste.
|
||||
|
||||
Help file foldexpr (ZyX)
|
||||
|
||||
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||
21, Ben Fritz, 2010 Sep 14)
|
||||
|
||||
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
|
||||
|
||||
Patch to automatically get version number into NSIS. (Guopeng Wen, 2011 May
|
||||
27)
|
||||
|
||||
Patch to add more command completions (Dominique Pelle, 2011 Jun 25)
|
||||
|
||||
Patch to have GvimExt not use "edit with existing Vim" entries.
|
||||
(Jerome Vuarand, 2011 Jun 22)
|
||||
|
||||
Patch to make character classes work with multi-byte characters.
|
||||
(Dominique Pelle, 2011 May 31, update July 11)
|
||||
|
||||
In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony
|
||||
Mechelynck, 2011 Apr 25). Can reproduce the crash sometimes:
|
||||
gvim -N -u NONE --cmd 'set lines=99999 columns=99999'
|
||||
@@ -150,8 +102,18 @@ The error was 'RenderBadPicture (invalid Picture parameter)'.
|
||||
backtrace from your debugger if you break on the gdk_x_error() function.)
|
||||
Check that number of pixels doesn't go above 65535?
|
||||
|
||||
8 Add an event like CursorHold that is triggered repeatedly, not just once
|
||||
after typing something.
|
||||
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
|
||||
function that resets did_cursorhold.
|
||||
Patch by Christian Brabandt, 2011 May 6.
|
||||
|
||||
popup completion menu closes quickly when there is a fold in the buffer. (Jan
|
||||
Christoph Ebersbach, 2011 Jul 3)
|
||||
|
||||
CursorHold repeats typed key when it's the start of a mapping.
|
||||
(Will Gray, 2011 Mar 23)
|
||||
Christian Brabandt: problem is that OP_PENDING isn't set.
|
||||
|
||||
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
||||
|
||||
@@ -163,6 +125,10 @@ When using a Vim server, a # in the path causes an error message.
|
||||
|
||||
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
|
||||
|
||||
Bug: Windows 7 64 bit system freezes when 'clipboard' set to "unnamed" and
|
||||
doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011
|
||||
Jun 17)
|
||||
|
||||
Using ":break" or something else that stops executing commands inside a
|
||||
":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct
|
||||
15)
|
||||
@@ -194,6 +160,10 @@ Bug in try/catch: return with invalid compare throws error that isn't caught.
|
||||
Highlighting stops working after changing it many times. Script to reproduce
|
||||
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
|
||||
|
||||
When setting a local option value from the global value, add a script ID that
|
||||
indicates this, so that ":verbose set" can give a hint. Check with options in
|
||||
the help file.
|
||||
|
||||
After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)
|
||||
Also for another example (ZyX, 2011 Jan 24)
|
||||
|
||||
@@ -208,6 +178,9 @@ Patch by Christian Brabandt, 2011 Mar 19.
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
When a script contains "redir => s:foo" but doesn't end redirection, a
|
||||
following "redir" command gives an error for not being able to access s:foo.
|
||||
(ZyX, 2011 Mar 27)
|
||||
@@ -217,6 +190,10 @@ Problem with "syn sync gouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
||||
Loading autoload script even when usage is inside "if 0". (Christian Brabandt,
|
||||
2010 Dec 18)
|
||||
|
||||
With a filler line in diff mode, it isn't displayed in the column with line
|
||||
number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5)
|
||||
Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems.
|
||||
|
||||
In the sandbox it's not allowed to do many things, but it's possible to change
|
||||
or set variables. Add a way to prevent variables from being changed in the
|
||||
sandbox? E.g.: ":protect g:restore_settings".
|
||||
@@ -246,6 +223,9 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
|
||||
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
|
||||
2011 Feb 27)
|
||||
|
||||
Patch to fail if configure can't find an interface, such as Python.
|
||||
(Shlomi Fish, 2011 Jul 11)
|
||||
|
||||
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
|
||||
characters. (Ben Haskell, 2010 Sep 17)
|
||||
When putting text in the cut buffer (when exiting) and conversion doesn't work
|
||||
@@ -312,9 +292,6 @@ mkdir().
|
||||
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
|
||||
right away. (Samuel Ferencik, 2010 Dec 7)
|
||||
|
||||
Windows installer: licence text should not use indent, causes bad word wrap.
|
||||
(Benjamin Fritz, 2010 Aug 16)
|
||||
|
||||
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
|
||||
|
||||
Using CompilerSet doesn't record where an option was set from. E.g., in the
|
||||
@@ -332,11 +309,14 @@ Echo starts in the wrong column:
|
||||
|
||||
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
|
||||
|
||||
GvimExt sets $LANG in the wrong way. Patch by Yasuhiro Matsumoto, 2011 Jun
|
||||
15. This will fix issue no 11.
|
||||
|
||||
When writing a file > 2Gbyte, the reported number of bytes is negative.
|
||||
(Antonio Colombo, 2010 Dec 18)
|
||||
|
||||
Patch: Let rare word highlighting overrule good word highlighting.
|
||||
(Jakson A. Aquino, 2010 Jul 30)
|
||||
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
|
||||
|
||||
Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
|
||||
|
||||
@@ -357,11 +337,6 @@ Can 'undolevels' be a buffer-local option? Helps for making big changes in
|
||||
one file only, set 'ul' to -1 only for that buffer.
|
||||
Patch by Christian Brabandt, 2010 Dec 17. Needs test.
|
||||
|
||||
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
|
||||
makes his own wrapper). Add a magic string with the version number to the
|
||||
.bat file and check for it in the uninstaller. E.g.
|
||||
# uninstall key: vim7.3*
|
||||
|
||||
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
|
||||
Additional info by Dominique Pelle. (also on 2010 Apr 10)
|
||||
|
||||
@@ -372,11 +347,6 @@ FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
|
||||
Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29)
|
||||
Looks like only bash can do it. (Yakov Lerner)
|
||||
|
||||
8 Add an event like CursorHold that is triggered repeatedly, not just once
|
||||
after typing something.
|
||||
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
|
||||
function that resets did_cursorhold.
|
||||
|
||||
Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
|
||||
Jun 29) Caused by 7.2.433?
|
||||
|
||||
@@ -401,8 +371,6 @@ Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
|
||||
Find tail? Might have a / in argument. Find space? Might have space in
|
||||
path.
|
||||
|
||||
":sort n" treats empty line as higher than zero. (Beeyawned, 2010 Oct 13)
|
||||
|
||||
Test 51 fails when language set to German. (Marco, 2011 Jan 9)
|
||||
Dominique can't reproduc it.
|
||||
|
||||
@@ -436,17 +404,13 @@ characters. (2010 Aug 14, bootleq)
|
||||
|
||||
Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
|
||||
|
||||
Using ']' as the end of a range in a pattern requires double escaping:
|
||||
/[@-\\]] (Andy Wokula, 2011 Jun 28)
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
mode. (Israel Chauca, 2010 May 13, more in second msg)
|
||||
Break undo when CTRL-R = changes the text? Or save more lines?
|
||||
|
||||
Patch for better #if 0 syntax highlighting for C code. (Ben Schmidt, 2011 Jan
|
||||
20)
|
||||
|
||||
Change to C syntax folding to make it work much faster, but a bit less
|
||||
reliable. (Lech Lorens, 2009 Nov 9) Enable with an option?
|
||||
Most time is spent in in_id_list().
|
||||
|
||||
Slow combination of folding and PHP syntax highlighting. Script to reproduce
|
||||
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
|
||||
(Christian Brabandt, 2010 May 27)
|
||||
@@ -459,9 +423,6 @@ 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)
|
||||
|
||||
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
|
||||
Jun 1)
|
||||
|
||||
Cannot use getchar() inside :normal and using an expression mapping. Is this
|
||||
supposed to work? (XyX, 2010 Sep 22)
|
||||
|
||||
@@ -585,9 +546,6 @@ Ignore window options when not in the right window?
|
||||
Perhaps we need to use a hidden window for applying autocommands to a buffer
|
||||
that doesn't have a window.
|
||||
|
||||
When "b" is a symlink to directory "a", resolve("b/") doesn't result in "a/".
|
||||
(ZyX, 2011 Feb 12)
|
||||
|
||||
When using "ab foo bar" and mapping <Tab> to <Esc>, pressing <Tab> after foo
|
||||
doesn't trigger the abbreviation like <Esc> would. (Ramana Kumar, 2009 Sep 6)
|
||||
|
||||
@@ -924,6 +882,9 @@ Gnome improvements: Edward Catmur, 2007 Jan 7
|
||||
|
||||
New PHP syntax file, use it? (Peter Hodge)
|
||||
|
||||
":echoe" in catch block stops processing, while this doesn't happen outside of
|
||||
a catch block. (ZyX, 2011 Jun 2)
|
||||
|
||||
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
|
||||
Likonen, March 19)
|
||||
|
||||
@@ -1001,6 +962,9 @@ Jun 3)
|
||||
However, for backwards compatibility escaping might be necessary. Check if
|
||||
the user put quotes around the expanded item?
|
||||
|
||||
A throw in a function causes missing an endif below the call. (Spiros
|
||||
Bousbouras, 2011 May 16)
|
||||
|
||||
Error E324 can be given when a cron script has wiped out our temp directory.
|
||||
Give a clear error message about this (and tell them not to wipe out /tmp).
|
||||
|
||||
@@ -1020,10 +984,19 @@ go to Insert mode and add a few lines. Then backspacing every other time
|
||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||
|
||||
Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
|
||||
Latest version: 2011 May 18
|
||||
8 Windows install with NSIS: make it possible to do a silent install, see
|
||||
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
|
||||
Version from Guopeng Wen that does this (2010 Dec 27)
|
||||
|
||||
Windows installer: licence text should not use indent, causes bad word wrap.
|
||||
(Benjamin Fritz, 2010 Aug 16)
|
||||
|
||||
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
|
||||
makes his own wrapper). Add a magic string with the version number to the
|
||||
.bat file and check for it in the uninstaller. E.g.
|
||||
# uninstall key: vim7.3*
|
||||
|
||||
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
|
||||
2007 Feb 8)
|
||||
|
||||
@@ -1133,8 +1106,6 @@ if_ruby.c.
|
||||
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
|
||||
Needs more work.
|
||||
|
||||
Python3 interface doesn't handle utf-8 correctly? (Nov 2010, lilydjwg)
|
||||
|
||||
The need_fileinfo flag is messy. Instead make the message right away and put
|
||||
it in keep_msg?
|
||||
|
||||
@@ -1359,6 +1330,9 @@ resulting in highlighted "{" in that window, not in the other.
|
||||
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
|
||||
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
|
||||
|
||||
Completion menu disappears when using 'cursorcolumn'. (Sven-Hendrik Haase,
|
||||
2011 May 23)
|
||||
|
||||
GTK: when the Tab pages bar appears or disappears while the window is
|
||||
maximized the window is no longer maximized. Patch that has some idea but
|
||||
doesn't work from Geoffrey Antos, 2008 May 5.
|
||||
@@ -1529,6 +1503,7 @@ Awaiting updated patches:
|
||||
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
|
||||
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
|
||||
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
8 Add a few more command names to the menus. Patch from Jiri Brezina
|
||||
(28 feb 2002). Will mess the translations...
|
||||
7 ATTENTION dialog choices are more logical when "Delete it' appears
|
||||
@@ -1857,7 +1832,7 @@ GUI:
|
||||
8 When translating menus ignore the part after the Tab, the shortcut. So
|
||||
that the same menu item with a different shortcut (e.g., for the Mac) are
|
||||
still translated.
|
||||
8 Add menu separators for Amiga, RISCOS.
|
||||
8 Add menu separators for Amiga.
|
||||
8 Add way to specify the file filter for the browse dialog. At least for
|
||||
browse().
|
||||
8 Add dialog for search/replace to other GUIs? Tk has something for this,
|
||||
@@ -2102,8 +2077,6 @@ Macintosh:
|
||||
6 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
||||
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
||||
7 Output for ":scriptnames" and ":breaklist" should shorten the file names:
|
||||
use "~/" when possible.
|
||||
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
|
||||
character. (Yasuhiro Matsumoto) It should return 1 when used on a tail
|
||||
byte, like for utf-8. Store second byte of double-byte in ScreenLines2[]
|
||||
@@ -2130,8 +2103,6 @@ Macintosh:
|
||||
works.
|
||||
8 A very long message in confirm() can't be quit. Make this possible with
|
||||
CTRL-C.
|
||||
8 When the clipboard isn't supported: ":yank*" gives a confusing error
|
||||
message. Specifically mention that the register name is invalid.
|
||||
8 "gf" always excludes trailing punctuation characters. file_name_in_line()
|
||||
is currently fixed to use ".,:;!". Add an option to make this
|
||||
configurable?
|
||||
@@ -2145,8 +2116,6 @@ Macintosh:
|
||||
is a multi-byte character.
|
||||
8 When appending to a file and 'patchmode' isn't empty, a backup file is
|
||||
always written, even when the original file already exists.
|
||||
7 When using "daw" on the last word in a file and this is a single letter,
|
||||
nothing is deleted. Should delete the letter and preceding white space.
|
||||
9 When getting focus while writing a large file, could warn for this file
|
||||
being changed outside of Vim. Avoid checking this while the file is being
|
||||
written.
|
||||
@@ -2797,7 +2766,7 @@ Multi-byte characters:
|
||||
For Windows, the charset_pairs[] table could be used. But how do we know
|
||||
if a font exists?
|
||||
- Do keyboard conversion from 'termencoding' to 'encoding' with
|
||||
convert_input() for Mac GUI and RiscOS GUI.
|
||||
convert_input() for Mac GUI.
|
||||
- Add mnemonics from RFC1345 longer than two characters.
|
||||
Support CTRL-K _{mnemonic}_
|
||||
7 In "-- INSERT (lang) --" show the name of the keymap used instead of
|
||||
@@ -3060,6 +3029,10 @@ Built-in script language:
|
||||
Patch by Ilya Sher, 2004 Mar 4.
|
||||
Return a list instead.
|
||||
char2hex() convert char string to hex string.
|
||||
crypt() encrypt string
|
||||
decrypt() decrypt string
|
||||
base64enc() base 64 encoding
|
||||
base64dec() base 64 decoding
|
||||
attributes() return file protection flags "drwxrwxrwx"
|
||||
filecopy(from, to) Copy a file
|
||||
shorten(fname) shorten a file name, like home_replace()
|
||||
@@ -3441,7 +3414,7 @@ Win32 GUI:
|
||||
|
||||
|
||||
GUI:
|
||||
8 Make inputdialog() work for Photon, Amiga, RiscOS.
|
||||
8 Make inputdialog() work for Photon, Amiga.
|
||||
- <C--> cannot be mapped. Should be possible to recognize this as a
|
||||
normal "-" with the Ctrl modifier.
|
||||
7 Implement ":popup" for other systems than Windows.
|
||||
@@ -3520,6 +3493,8 @@ GUI:
|
||||
|
||||
|
||||
Autocommands:
|
||||
9 Rework the code from FEAT_OSFILETYPE for autocmd-osfiletypes to use
|
||||
'filetype'. Only for when the current buffer is known.
|
||||
- Put autocommand event names in a hashtable for faster lookup?
|
||||
8 When the SwapExists event is triggered, provide information about the
|
||||
swap file, e.g., whether the process is running, file was modified, etc.
|
||||
@@ -3552,9 +3527,9 @@ Autocommands:
|
||||
handled (e.g., other font) (Ron Aaron)
|
||||
7 When trying to open a directory, trigger an OpenDirectory event.
|
||||
7 Add file type in front of file pattern: <d> for directory, <l> for link,
|
||||
<x> for executable, etc. <&xxx> for Risc OS. With commas to separate
|
||||
alternatives. The autocommand is only executed when both the file type
|
||||
AND the file pattern match. (Leonard)
|
||||
<x> for executable, etc. With commas to separate alternatives. The
|
||||
autocommand is only executed when both the file type AND the file pattern
|
||||
match. (Leonard)
|
||||
5 Add option that specifies extensions which are to be discarded from the
|
||||
file name. E.g. 'ausuffix', with ".gz,.orig". Such that file.c.gz will
|
||||
trigger the "*.c" autocommands. (Belabas)
|
||||
@@ -3812,12 +3787,6 @@ Insert mode:
|
||||
|
||||
|
||||
'cindent', 'smartindent':
|
||||
9 ") :" confuses continuation line: (Colin Bennett, 2007 Dec 14)
|
||||
cout << "a"
|
||||
<< ") :"
|
||||
<< "y";
|
||||
9 "} else" causes following lines to be indented too much. (Rouben
|
||||
Rostamian, 2008 Aug 30)
|
||||
9 Wrapping a variable initialization should have extra indent:
|
||||
char * veryLongName =
|
||||
"very long string"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2011 Feb 15
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2011 Jun 19
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -597,7 +597,7 @@ String manipulation: *string-functions*
|
||||
strridx() last index of a short string in a long string
|
||||
strlen() length of a string
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in a ":substitute"
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
strpart() get part of a string
|
||||
expand() expand special keywords
|
||||
iconv() convert text from one encoding to another
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.3. Last change: 2011 Mar 03
|
||||
*various.txt* For Vim version 7.3. Last change: 2011 May 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -360,8 +360,6 @@ m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
||||
m *+netbeans_intg* |netbeans|
|
||||
m *+ole* Win32 GUI only: |ole-interface|
|
||||
*+osfiletype* Support for the 'osfiletype' option and filetype
|
||||
checking in automatic commands. |autocmd-osfiletypes|
|
||||
N *+path_extra* Up/downwards search in 'path' and 'tags'
|
||||
m *+perl* Perl interface |perl|
|
||||
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2011 Apr 28
|
||||
" Last Change: 2011 Jul 17
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -556,7 +556,7 @@ au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
|
||||
au BufNewFile,BufRead denyhosts.conf setf denyhosts
|
||||
|
||||
" dnsmasq(8) configuration files
|
||||
au BufNewFile,BufRead dnsmasq.conf setf dnsmasq
|
||||
au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq
|
||||
|
||||
" ROCKLinux package description
|
||||
au BufNewFile,BufRead *.desc setf desc
|
||||
@@ -937,6 +937,9 @@ au BufNewFile,BufRead *.clp setf jess
|
||||
" Jgraph
|
||||
au BufNewFile,BufRead *.jgr setf jgraph
|
||||
|
||||
" Jovial
|
||||
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
|
||||
" Kixtart
|
||||
au BufNewFile,BufRead *.kix setf kix
|
||||
|
||||
@@ -1585,8 +1588,13 @@ func! s:FTr()
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Nothing recognized, assume Rexx
|
||||
setf rexx
|
||||
" Nothing recognized, use user default or assume Rexx
|
||||
if exists("g:filetype_r")
|
||||
exe "setf " . g:filetype_r
|
||||
else
|
||||
" Rexx used to be the default, but R appears to be much more popular.
|
||||
setf r
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Remind
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2010-08-17
|
||||
" Latest Revision: 2011-05-02
|
||||
" Variables:
|
||||
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
|
||||
" description: the timeformat used in ChangeLog entries.
|
||||
@@ -99,8 +99,9 @@ if &filetype == 'changelog'
|
||||
function! s:try_reading_file(path)
|
||||
try
|
||||
return readfile(a:path)
|
||||
catch
|
||||
return []
|
||||
endtry
|
||||
return []
|
||||
endfunction
|
||||
|
||||
function! s:passwd_field(line, field)
|
||||
@@ -170,7 +171,7 @@ if &filetype == 'changelog'
|
||||
endfunction
|
||||
|
||||
" Internal function to create a new entry in the ChangeLog.
|
||||
function! s:new_changelog_entry(...)
|
||||
function! s:new_changelog_entry()
|
||||
" Deal with 'paste' option.
|
||||
let save_paste = &paste
|
||||
let &paste = 1
|
||||
@@ -178,7 +179,7 @@ if &filetype == 'changelog'
|
||||
" Look for an entry for today by our user.
|
||||
let date = strftime(g:changelog_dateformat)
|
||||
let search = s:substitute_items(g:changelog_date_entry_search, date,
|
||||
\ g:changelog_username)
|
||||
\ s:username())
|
||||
if search(search) > 0
|
||||
" Ok, now we look for the end of the date entry, and add an entry.
|
||||
call cursor(nextnonblank(line('.') + 1), 1)
|
||||
@@ -197,7 +198,7 @@ if &filetype == 'changelog'
|
||||
|
||||
" No entry today, so create a date-user header and insert an entry.
|
||||
let todays_entry = s:substitute_items(g:changelog_new_date_format,
|
||||
\ date, g:changelog_username)
|
||||
\ date, s:username())
|
||||
" Make sure we have a cursor positioning.
|
||||
if stridx(todays_entry, '{cursor}') == -1
|
||||
let todays_entry = todays_entry . '{cursor}'
|
||||
|
||||
@@ -13,7 +13,10 @@ set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl fo< tw< cole< cocu<"
|
||||
|
||||
setlocal formatoptions+=tcroql textwidth=78 cole=2 cocu=nc
|
||||
setlocal formatoptions+=tcroql textwidth=78
|
||||
if has("conceal")
|
||||
setlocal cole=2 cocu=nc
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: DTD (Document Type Definition for XML)
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2010-09-21
|
||||
" Latest Revision: 2011-07-08
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
@@ -52,7 +52,7 @@ function s:indent_to_innermost_parentheses(line, end)
|
||||
let end = a:end
|
||||
let parentheses = [end - 1]
|
||||
while token != ""
|
||||
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#PCDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=')
|
||||
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#P\=CDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=')
|
||||
if token[0] == '('
|
||||
call add(parentheses, end - 1)
|
||||
elseif token[0] == ')'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
|
||||
" Version: 0.38
|
||||
" Last Change: 2010 July 21
|
||||
" Version: 0.39
|
||||
" Last Change: 2011 May 30
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
|
||||
" Usage: Do :help fortran-indent from Vim
|
||||
|
||||
@@ -12,8 +12,14 @@ endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys+==~end,=~case,=~if,=~else,=~do,=~where,=~elsewhere,=~select
|
||||
setlocal indentkeys+==~endif,=~enddo,=~endwhere,=~endselect
|
||||
setlocal indentkeys+==~type,=~interface
|
||||
setlocal indentkeys+==~endif,=~enddo,=~endwhere,=~endselect,=~elseif
|
||||
setlocal indentkeys+==~type,=~interface,=~forall,=~associate,=~block,=~enum
|
||||
setlocal indentkeys+==~endforall,=~endassociate,=~endblock,=~endenum
|
||||
if exists("b:fortran_indent_more") || exists("g:fortran_indent_more")
|
||||
setlocal indentkeys+==~function,=~subroutine,=~module,=~contains,=~program
|
||||
setlocal indentkeys+==~endfunction,=~endsubroutine,=~endmodule
|
||||
setlocal indentkeys+==~endprogram
|
||||
endif
|
||||
|
||||
" Determine whether this is a fixed or free format source file
|
||||
" if this hasn't been done yet
|
||||
@@ -69,6 +75,8 @@ function FortranGetIndent(lnum)
|
||||
let prevline=getline(a:lnum)
|
||||
" Strip tail comment
|
||||
let prevstat=substitute(prevline, '!.*$', '', '')
|
||||
let prev2line=getline(a:lnum-1)
|
||||
let prev2stat=substitute(prev2line, '!.*$', '', '')
|
||||
|
||||
"Indent do loops only if they are all guaranteed to be of do/end do type
|
||||
if exists("b:fortran_do_enddo") || exists("g:fortran_do_enddo")
|
||||
@@ -80,31 +88,62 @@ function FortranGetIndent(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
"Add a shiftwidth to statements following if, else, case,
|
||||
"where, elsewhere, type and interface statements
|
||||
if prevstat =~? '^\s*\(\d\+\s\)\=\s*\(else\|case\|where\|elsewhere\)\>'
|
||||
\ ||prevstat =~? '^\s*\(\d\+\s\)\=\s*\(type\|interface\)\>'
|
||||
\ || prevstat =~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
|
||||
"Add a shiftwidth to statements following if, else, else if, case,
|
||||
"where, else where, forall, type, interface and associate statements
|
||||
if prevstat =~? '^\s*\(case\|else\|else\s*if\|else\s*where\)\>'
|
||||
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
|
||||
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
|
||||
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
|
||||
let ind = ind + &sw
|
||||
" Remove unwanted indent after logical and arithmetic ifs
|
||||
if prevstat =~? '\<if\>' && prevstat !~? '\<then\>'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
" Remove unwanted indent after type( statements
|
||||
if prevstat =~? '\<type\s*('
|
||||
if prevstat =~? '^\s*type\s*('
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
endif
|
||||
|
||||
"Subtract a shiftwidth from else, elsewhere, case, end if,
|
||||
" end where, end select, end interface and end type statements
|
||||
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
|
||||
\. '\(else\|elsewhere\|case\|end\s*\(if\|where\|select\|interface\|type\)\)\>'
|
||||
let ind = ind - &sw
|
||||
" Fix indent for case statement immediately after select
|
||||
if prevstat =~? '\<select\>'
|
||||
"Indent program units unless instructed otherwise
|
||||
if !exists("b:fortran_indent_less") && !exists("g:fortran_indent_less")
|
||||
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
|
||||
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
|
||||
\.'\|character\|type\|class\)\s*\S*\s\+\)\='
|
||||
if prevstat =~? '^\s*\(module\|contains\|program\)\>'
|
||||
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
|
||||
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
|
||||
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
if getline(v:lnum) =~? '^\s*contains\>'
|
||||
\ ||getline(v:lnum)=~? '^\s*end\s*'
|
||||
\ .'\(function\|subroutine\|module\|program\)\>'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
endif
|
||||
|
||||
"Subtract a shiftwidth from else, else if, elsewhere, case, end if,
|
||||
" end where, end select, end forall, end interface, end associate,
|
||||
" end enum, and end type statements
|
||||
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
|
||||
\. '\(else\|else\s*if\|else\s*where\|case\|'
|
||||
\. 'end\s*\(if\|where\|select\|interface\|'
|
||||
\. 'type\|forall\|associate\|enum\)\)\>'
|
||||
let ind = ind - &sw
|
||||
" Fix indent for case statement immediately after select
|
||||
if prevstat =~? '\<select\s\+\(case\|type\)\>'
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
endif
|
||||
|
||||
"First continuation line
|
||||
if prevstat =~ '&\s*$' && prev2stat !~ '&\s*$'
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
"Line after last continuation line
|
||||
if prevstat !~ '&\s*$' && prev2stat =~ '&\s*$'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2010 Dec 02
|
||||
" Last Change: 2011 Jun 13
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -10,7 +10,7 @@ if bufwinnr("option-window") > 0
|
||||
if @% == "option-window"
|
||||
finish
|
||||
endif
|
||||
exe "norm! \<C-W>w"
|
||||
wincmd w
|
||||
if s:thiswin == winnr()
|
||||
break
|
||||
endif
|
||||
@@ -26,12 +26,8 @@ set cpo&vim
|
||||
fun! <SID>CR()
|
||||
|
||||
" If on a continued comment line, go back to the first comment line
|
||||
let lnum = line(".")
|
||||
let lnum = search("^[^\t]", 'bWcn')
|
||||
let line = getline(lnum)
|
||||
while line[0] == "\t"
|
||||
let lnum = lnum - 1
|
||||
let line = getline(lnum)
|
||||
endwhile
|
||||
|
||||
" <CR> on a "set" line executes the option line
|
||||
if match(line, "^ \tset ") >= 0
|
||||
@@ -82,11 +78,11 @@ fun! <SID>Find(lnum)
|
||||
if getline(a:lnum - 1) =~ "(local to"
|
||||
let local = 1
|
||||
let thiswin = winnr()
|
||||
exe "norm! \<C-W>p"
|
||||
wincmd p
|
||||
if exists("b:current_syntax") && b:current_syntax == "help"
|
||||
exe "norm! \<C-W>j"
|
||||
wincmd j
|
||||
if winnr() == thiswin
|
||||
exe "norm! \<C-W>j"
|
||||
wincmd j
|
||||
endif
|
||||
endif
|
||||
else
|
||||
@@ -111,10 +107,10 @@ fun! <SID>Update(lnum, line, local, thiswin)
|
||||
if name == "pt" && &pt =~ "\x80"
|
||||
let val = <SID>PTvalue()
|
||||
else
|
||||
exe "let val = substitute(&" . name . ', "[ \\t\\\\\"|]", "\\\\\\0", "g")'
|
||||
let val = escape(eval('&' . name), " \t\\\"|")
|
||||
endif
|
||||
if a:local
|
||||
exe "norm! " . a:thiswin . "\<C-W>w"
|
||||
exe a:thiswin . "wincmd w"
|
||||
endif
|
||||
if match(a:line, "=") >= 0 || (val != "0" && val != "1")
|
||||
call setline(a:lnum, " \tset " . name . "=" . val)
|
||||
@@ -139,7 +135,7 @@ set notitle noicon nosc noru
|
||||
" Relies on syntax highlighting to be switched on.
|
||||
let s:thiswin = winnr()
|
||||
while exists("b:current_syntax") && b:current_syntax == "help"
|
||||
exe "norm! \<C-W>w"
|
||||
wincmd w
|
||||
if s:thiswin == winnr()
|
||||
break
|
||||
endif
|
||||
@@ -147,7 +143,7 @@ endwhile
|
||||
|
||||
" Open the window
|
||||
new option-window
|
||||
setlocal ts=15 tw=0 noro
|
||||
setlocal ts=15 tw=0 noro buftype=nofile
|
||||
|
||||
" Insert help and a "set" command for each option.
|
||||
call append(0, '" Each "set" line shows the current value of an option (on the left).')
|
||||
@@ -162,9 +158,7 @@ call append(6, '" Hit <Space> on a "set" line to refresh it.')
|
||||
|
||||
" Init a local binary option
|
||||
fun! <SID>BinOptionL(name)
|
||||
exe "norm! \<C-W>p"
|
||||
exe "let val = &" . a:name
|
||||
exe "norm! \<C-W>p"
|
||||
let val = getwinvar(winnr('#'), '&' . a:name)
|
||||
call append("$", substitute(substitute(" \tset " . val . a:name . "\t" .
|
||||
\!val . a:name, "0", "no", ""), "1", "", ""))
|
||||
endfun
|
||||
@@ -177,16 +171,13 @@ endfun
|
||||
|
||||
" Init a local string option
|
||||
fun! <SID>OptionL(name)
|
||||
exe "norm! \<C-W>p"
|
||||
exe "let val = substitute(&" . a:name . ', "[ \\t\\\\\"|]", "\\\\\\0", "g")'
|
||||
exe "norm! \<C-W>p"
|
||||
let val = escape(getwinvar(winnr('#'), '&' . a:name), " \t\\\"|")
|
||||
call append("$", " \tset " . a:name . "=" . val)
|
||||
endfun
|
||||
|
||||
" Init a global string option
|
||||
fun! <SID>OptionG(name, val)
|
||||
call append("$", " \tset " . a:name . "=" . substitute(a:val, '[ \t\\"|]',
|
||||
\ '\\\0', "g"))
|
||||
call append("$", " \tset " . a:name . "=" . escape(a:val, " \t\\\"|"))
|
||||
endfun
|
||||
|
||||
let s:idx = 1
|
||||
@@ -315,6 +306,8 @@ if has("cscope")
|
||||
call append("$", " \tset cspc=" . &cspc)
|
||||
call append("$", "cscopequickfix\twhen to open a quickfix window for cscope")
|
||||
call <SID>OptionG("csqf", &csqf)
|
||||
call append("$", "cscoperelative\tfile names in a cscope file are relative to that file")
|
||||
call <SID>BinOptionG("csre", &csre)
|
||||
endif
|
||||
|
||||
|
||||
@@ -1342,3 +1335,5 @@ let &ru = s:old_ru
|
||||
let &sc = s:old_sc
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum
|
||||
|
||||
" vim: ts=8 sw=2 sts=2
|
||||
|
||||
@@ -19,7 +19,7 @@ if &cp || exists("g:loaded_getscriptPlugin")
|
||||
endif
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscriptPlugin = "v32"
|
||||
let g:loaded_getscriptPlugin = "v33"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v141"
|
||||
let g:loaded_netrwPlugin = "v142"
|
||||
if v:version < 702
|
||||
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
|
||||
finish
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
if &cp || exists("g:loaded_tarPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tarPlugin = "v26"
|
||||
let g:loaded_tarPlugin = "v27"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for converting a syntax highlighted file to HTML.
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2011 Apr 09
|
||||
" Last Change: 2011 May 26
|
||||
"
|
||||
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
|
||||
" $VIMRUNTIME/syntax/2html.vim
|
||||
@@ -26,56 +26,61 @@
|
||||
" buffer before we're done (5000 or so lines should do it)
|
||||
" * TODO comments for code cleanup scattered throughout
|
||||
"
|
||||
"
|
||||
" Changelog:
|
||||
" 7.3_v9 (this version): Add html_pre_wrap option active with html_use_css and
|
||||
" without html_no_pre, default value same as 'wrap'
|
||||
" option, (Andy Spencer). Don't use 'fileencoding' for
|
||||
" converted document encoding if 'buftype' indicates a
|
||||
" special buffer which isn't written.
|
||||
" 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab
|
||||
" characters in generated output (Andy Spencer). Escape
|
||||
" text that looks like a modeline so Vim doesn't use
|
||||
" anything in the converted HTML as a modeline.
|
||||
" Bugfixes: Fix folding when a fold starts before the
|
||||
" conversion range. Remove fold column when there are
|
||||
" no folds.
|
||||
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
|
||||
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
|
||||
" 7.3_v7b2: Remove automatic detection of encodings that are not
|
||||
" supported by all major browsers according to
|
||||
" http://wiki.whatwg.org/wiki/Web_Encodings and convert
|
||||
" to UTF-8 for all Unicode encodings. Make HTML
|
||||
" encoding to Vim encoding detection be
|
||||
" case-insensitive for built-in pairs.
|
||||
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
|
||||
" called in restricted mode (Andy Spencer). Use
|
||||
" 'fencoding' instead of 'encoding' to determine by
|
||||
" charset, and make sure the 'fenc' of the generated
|
||||
" file matches its indicated charset. Add charsets for
|
||||
" all of Vim's natively supported encodings.
|
||||
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
|
||||
" user settings interfering with diff mode generation,
|
||||
" trailing whitespace (e.g. line number column) when
|
||||
" using html_no_pre, and bugs when using
|
||||
" html_hover_unfold.
|
||||
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
|
||||
" folds in diff mode when first line was folded.
|
||||
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode.
|
||||
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
|
||||
" default to true when not set to anything. Use strict
|
||||
" doctypes where possible. Rename use_xhtml option to
|
||||
" html_use_xhtml for consistency. Use .xhtml extension
|
||||
" when using this option. Add meta tag for settings.
|
||||
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
|
||||
" diff colors and the normal syntax colors
|
||||
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
|
||||
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
|
||||
|
||||
if exists('g:loaded_2html_plugin')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_2html_plugin = 'vim7.3_v9'
|
||||
let g:loaded_2html_plugin = 'vim7.3_v10'
|
||||
|
||||
"
|
||||
" Changelog:
|
||||
" 7.3_v10 (this version): Fix error E684 when converting a range wholly inside
|
||||
" multiple nested folds with dynamic folding on.
|
||||
" Also fix problem with foldtext in this situation.
|
||||
" 7.3_v9 (0877b8d6370e): Add html_pre_wrap option active with html_use_css
|
||||
" and without html_no_pre, default value same as
|
||||
" 'wrap' option, (Andy Spencer). Don't use
|
||||
" 'fileencoding' for converted document encoding if
|
||||
" 'buftype' indicates a special buffer which isn't
|
||||
" written.
|
||||
" 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab
|
||||
" characters in generated output (Andy Spencer).
|
||||
" Escape text that looks like a modeline so Vim
|
||||
" doesn't use anything in the converted HTML as a
|
||||
" modeline. Bugfixes: Fix folding when a fold starts
|
||||
" before the conversion range. Remove fold column when
|
||||
" there are no folds.
|
||||
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
|
||||
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
|
||||
" 7.3_v7b2: Remove automatic detection of encodings that are not
|
||||
" supported by all major browsers according to
|
||||
" http://wiki.whatwg.org/wiki/Web_Encodings and
|
||||
" convert to UTF-8 for all Unicode encodings. Make
|
||||
" HTML encoding to Vim encoding detection be
|
||||
" case-insensitive for built-in pairs.
|
||||
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
|
||||
" called in restricted mode (Andy Spencer). Use
|
||||
" 'fencoding' instead of 'encoding' to determine by
|
||||
" charset, and make sure the 'fenc' of the generated
|
||||
" file matches its indicated charset. Add charsets for
|
||||
" all of Vim's natively supported encodings.
|
||||
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
|
||||
" user settings interfering with diff mode generation,
|
||||
" trailing whitespace (e.g. line number column) when
|
||||
" using html_no_pre, and bugs when using
|
||||
" html_hover_unfold.
|
||||
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
|
||||
" folds in diff mode when first line was folded.
|
||||
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode
|
||||
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
|
||||
" default to true when not set to anything. Use strict
|
||||
" doctypes where possible. Rename use_xhtml option to
|
||||
" html_use_xhtml for consistency. Use .xhtml extension
|
||||
" when using this option. Add meta tag for settings.
|
||||
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
|
||||
" diff colors and the normal syntax colors
|
||||
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
|
||||
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
|
||||
|
||||
" Define the :TOhtml command when:
|
||||
" - 'compatible' is not set
|
||||
|
||||
@@ -16,18 +16,22 @@
|
||||
if &cp || exists("g:loaded_vimballPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_vimballPlugin = "v31"
|
||||
let g:loaded_vimballPlugin = "v33"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" ------------------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
|
||||
com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>)
|
||||
com! -na=0 VimballList call vimball#Vimball(0)
|
||||
com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
|
||||
au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip call vimball#Decompress(expand("<amatch>"))|call vimball#Vimball(1)
|
||||
au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'| setlocal ma ff=unix noma |endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
|
||||
com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
|
||||
com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>)
|
||||
com! -na=0 VimballList call vimball#Vimball(0)
|
||||
com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
|
||||
au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
|
||||
au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if expand("%")!=expand("<afile>")|close|endif
|
||||
au SourceCmd *.vba if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
|
||||
au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
|
||||
au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if expand("%")!=expand("<afile>")|close|endif
|
||||
au SourceCmd *.vmb if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
|
||||
|
||||
" =====================================================================
|
||||
" Restoration And Modelines: {{{1
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_zipPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zipPlugin = "v23"
|
||||
let g:loaded_zipPlugin = "v24"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -40,7 +40,7 @@ augroup zip
|
||||
au FileWriteCmd zipfile:*/* call zip#Write(expand("<amatch>"))
|
||||
endif
|
||||
|
||||
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear call zip#Browse(expand("<amatch>"))
|
||||
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear,*.celzip call zip#Browse(expand("<amatch>"))
|
||||
augroup END
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax support file
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2011 Apr 05
|
||||
" Last Change: 2011 May 27
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -635,11 +635,22 @@ if s:settings.dynamic_folds
|
||||
" close all folds again so we can get the fold text as we go
|
||||
silent! %foldclose!
|
||||
|
||||
" Go through and remove folds we don't need to (or cannot) process in the
|
||||
" current conversion range
|
||||
"
|
||||
" If a fold is removed which contains other folds, which are included, we need
|
||||
" to adjust the level of the included folds as used by the conversion logic
|
||||
" (avoiding special cases is good)
|
||||
"
|
||||
" Note any time we remove a fold, either all of the included folds are in it,
|
||||
" or none of them, because we only remove a fold if neither its start nor its
|
||||
" end are within the conversion range.
|
||||
let leveladjust = 0
|
||||
for afold in s:allfolds
|
||||
let removed = 0
|
||||
if exists("g:html_start_line") && exists("g:html_end_line")
|
||||
if afold.firstline < g:html_start_line
|
||||
if afold.lastline < g:html_end_line && afold.lastline > g:html_start_line
|
||||
if afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line
|
||||
" if a fold starts before the range to convert but stops within the
|
||||
" range, we need to include it. Make it start on the first converted
|
||||
" line.
|
||||
@@ -649,6 +660,9 @@ if s:settings.dynamic_folds
|
||||
" the entire range, don't bother parsing it
|
||||
call remove(s:allfolds, index(s:allfolds, afold))
|
||||
let removed = 1
|
||||
if afold.lastline > g:html_end_line
|
||||
let leveladjust += 1
|
||||
endif
|
||||
endif
|
||||
elseif afold.firstline > g:html_end_line
|
||||
" If the entire fold lies outside the range we need to remove it.
|
||||
@@ -671,11 +685,23 @@ if s:settings.dynamic_folds
|
||||
endif
|
||||
endif
|
||||
if !removed
|
||||
let afold.level -= leveladjust
|
||||
if afold.level+1 > s:foldcolumn
|
||||
let s:foldcolumn = afold.level+1
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
|
||||
" if we've removed folds containing the conversion range from processing,
|
||||
" getting foldtext as we go won't know to open the removed folds, so the
|
||||
" foldtext would be wrong; open them now.
|
||||
"
|
||||
" Note that only when a start and an end line is specified will a fold
|
||||
" containing the current range ever be removed.
|
||||
while leveladjust > 0
|
||||
exe g:html_start_line."foldopen"
|
||||
let leveladjust -= 1
|
||||
endwhile
|
||||
endif
|
||||
|
||||
" Now loop over all lines in the original text to convert to html.
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: automake Makefile.am
|
||||
" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: John Williams <jrw@pobox.com>
|
||||
" Last Change: 2007-10-14
|
||||
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/automake.vim;hb=debian
|
||||
" Last Change: 2011-06-13
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/automake.vim
|
||||
"
|
||||
" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
|
||||
" it only because patches have been submitted for it by Debian users and the
|
||||
@@ -17,6 +17,12 @@
|
||||
" when they are used in an inappropriate place, such as in defining
|
||||
" EXTRA_SOURCES.
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Read the Makefile syntax to start with
|
||||
if version < 600
|
||||
@@ -25,27 +31,28 @@ else
|
||||
runtime! syntax/make.vim
|
||||
endif
|
||||
|
||||
syn match automakePrimary "^[A-Za-z0-9_]\+\(_PROGRAMS\|LIBRARIES\|_LIST\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_JAVA\|_LTLIBRARIES\)\s*="me=e-1
|
||||
syn match automakePrimary "^TESTS\s*="me=e-1
|
||||
syn match automakeSecondary "^[A-Za-z0-9_]\+\(_SOURCES\|_LDADD\|_LIBADD\|_LDFLAGS\|_DEPENDENCIES\|_CPPFLAGS\)\s*="me=e-1
|
||||
syn match automakeSecondary "^OMIT_DEPENDENCIES\s*="me=e-1
|
||||
syn match automakeExtra "^EXTRA_[A-Za-z0-9_]\+\s*="me=e-1
|
||||
syn match automakeOptions "^\(AUTOMAKE_OPTIONS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*="me=e-1
|
||||
syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*="me=e-1
|
||||
syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*="me=e-1
|
||||
syn match automakeConditional "^\(if\s*[a-zA-Z0-9_]\+\|else\|endif\)\s*$"
|
||||
syn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\=="
|
||||
syn match automakePrimary "^TESTS\s*\ze+\=="me=e-1
|
||||
syn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\=="
|
||||
syn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\=="
|
||||
syn match automakeExtra "^EXTRA_\w\+\s*\ze+\=="
|
||||
syn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\=="
|
||||
syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\=="
|
||||
syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\=="
|
||||
syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$"
|
||||
|
||||
syn match automakeSubst "@[a-zA-Z0-9_]\+@"
|
||||
syn match automakeSubst "^\s*@[a-zA-Z0-9_]\+@"
|
||||
syn match automakeSubst "@\w\+@"
|
||||
syn match automakeSubst "^\s*@\w\+@"
|
||||
syn match automakeComment1 "#.*$" contains=automakeSubst
|
||||
syn match automakeComment2 "##.*$"
|
||||
|
||||
syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call
|
||||
syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake
|
||||
|
||||
syn region automakeNoSubst start="^EXTRA_[a-zA-Z0-9_]*\s*=" end="$" contains=ALLBUT,automakeNoSubst transparent
|
||||
syn region automakeNoSubst start="^DIST_SUBDIRS\s*=" end="$" contains=ALLBUT,automakeNoSubst transparent
|
||||
syn region automakeNoSubst start="^[a-zA-Z0-9_]*_SOURCES\s*=" end="$" contains=ALLBUT,automakeNoSubst transparent
|
||||
syn match automakeBadSubst "@\([a-zA-Z0-9_]*@\=\)\=" contained
|
||||
syn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent
|
||||
syn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent
|
||||
syn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent
|
||||
syn match automakeBadSubst "@\(\w*@\=\)\=" contained
|
||||
|
||||
syn region automakeMakeDString start=+"+ skip=+\\"+ end=+"+ contains=makeIdent,automakeSubstitution
|
||||
syn region automakeMakeSString start=+'+ skip=+\\'+ end=+'+ contains=makeIdent,automakeSubstitution
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||
" Filenames: *.bib
|
||||
" Last Change: Aug 02, 2005
|
||||
" Last Change: Mar 23, 2011
|
||||
|
||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||
|
||||
@@ -34,6 +34,8 @@ syn keyword bibEntryKw contained number organization pages publisher
|
||||
syn keyword bibEntryKw contained school series title type volume year
|
||||
" Non-standard:
|
||||
syn keyword bibNSEntryKw contained abstract isbn issn keywords url
|
||||
" AMS mref http://www.ams.org/mref
|
||||
syn keyword bibNSEntryKw contained mrclass mrnumber mrreviewer fjournal coden
|
||||
|
||||
" Clusters
|
||||
" ========
|
||||
@@ -55,11 +57,11 @@ syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=b
|
||||
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
||||
" an error, so we explicitly distinguish versions with and without folding functionality:
|
||||
if version < 600
|
||||
syn region bibEntry start=/@\S\+[{(]/ end=/^\s*[})]/ transparent contains=bibType,bibEntryData nextgroup=bibComment
|
||||
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent contains=bibType,bibEntryData nextgroup=bibComment
|
||||
else
|
||||
syn region bibEntry start=/@\S\+[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
||||
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
||||
endif
|
||||
syn region bibComment2 start=/@Comment[{(]/ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||
|
||||
" Synchronization
|
||||
" ===============
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
" Vim syntax file
|
||||
" Language: BIND zone files (RFC1035)
|
||||
" Language: BIND zone files (RFC 1035)
|
||||
" Maintainer: Julian Mehnle <julian@mehnle.net>
|
||||
" URL: http://www.mehnle.net/source/odds+ends/vim/syntax/
|
||||
" Last Change: Thu 2006-04-20 12:30:45 UTC
|
||||
" Last Change: Thu 2011-07-16 20:42:00 UTC
|
||||
"
|
||||
" Based on an earlier version by Вячеслав Горбанев (Slava Gorbanev), with
|
||||
" heavy modifications.
|
||||
"
|
||||
" $Id: bindzone.vim,v 1.2 2006/04/20 22:06:21 vimboss Exp $
|
||||
" $Id: bindzone.vim 12 2011-07-16 21:09:57Z julian $
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -23,7 +23,7 @@ syn case match
|
||||
syn region zoneRRecord start=/^/ end=/$/ contains=zoneOwnerName,zoneSpecial,zoneTTL,zoneClass,zoneRRType,zoneComment,zoneUnknown
|
||||
|
||||
syn match zoneDirective /^\$ORIGIN\s\+/ nextgroup=zoneOrigin,zoneUnknown
|
||||
syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneNumber,zoneUnknown
|
||||
syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneTTL,zoneUnknown
|
||||
syn match zoneDirective /^\$INCLUDE\s\+/ nextgroup=zoneText,zoneUnknown
|
||||
syn match zoneDirective /^\$GENERATE\s/
|
||||
|
||||
@@ -34,9 +34,9 @@ syn match zoneOrigin contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\
|
||||
syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/
|
||||
|
||||
syn match zoneSpecial contained /^[@*.]\s/
|
||||
syn match zoneTTL contained /\<\d[0-9HhWwDd]*\>/ nextgroup=zoneClass,zoneRRType skipwhite
|
||||
syn keyword zoneClass contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
|
||||
syn keyword zoneRRType contained A AAAA CNAME HINFO MX NS PTR SOA SRV TXT nextgroup=zoneRData skipwhite
|
||||
syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite
|
||||
syn keyword zoneClass contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
|
||||
syn keyword zoneRRType contained A AAAA CNAME DNAME HINFO MX NS PTR SOA SRV TXT SPF nextgroup=zoneRData skipwhite
|
||||
syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
|
||||
|
||||
syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
|
||||
@@ -66,7 +66,7 @@ syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/
|
||||
syn match zoneSerial contained /\<[0-9]\{9,10}\(\s\|;\|$\)\@=/
|
||||
|
||||
syn match zoneErrParen /)/
|
||||
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneNumber,zoneComment
|
||||
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneTTL,zoneNumber,zoneComment
|
||||
syn match zoneComment /;.*/
|
||||
|
||||
" Define the default highlighting.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2009 Nov 17
|
||||
" Last Change: 2011 May 2
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -72,7 +72,7 @@ endif
|
||||
" This should be before cErrInParen to avoid problems with #define ({ xxx })
|
||||
if exists("c_curly_error")
|
||||
syntax match cCurlyError "}"
|
||||
syntax region cBlock start="{" end="}" contains=ALLBUT,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
|
||||
syntax region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
|
||||
else
|
||||
syntax region cBlock start="{" end="}" transparent fold
|
||||
endif
|
||||
@@ -80,31 +80,33 @@ endif
|
||||
"catch errors caused by wrong parenthesis and brackets
|
||||
" also accept <% for {, %> for }, <: for [ and :> for ] (C99)
|
||||
" But avoid matching <::.
|
||||
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
|
||||
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
|
||||
if exists("c_no_curly_error")
|
||||
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "^[{}]\|^<%\|^%>"
|
||||
elseif exists("c_no_bracket_error")
|
||||
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "[{}]\|<%\|%>"
|
||||
else
|
||||
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
|
||||
syn match cParenError display "[\])]"
|
||||
syn match cErrInParen display contained "[\]{}]\|<%\|%>"
|
||||
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
|
||||
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
|
||||
" cCppBracket: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
|
||||
syn match cErrInBracket display contained "[);{}]\|<%\|%>"
|
||||
endif
|
||||
|
||||
syntax region cBadBlock keepend extend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
|
||||
|
||||
"integer number, or floating point number without a dot and with "f".
|
||||
syn case ignore
|
||||
syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
|
||||
@@ -270,27 +272,39 @@ if !exists("c_no_c99") " ISO C99
|
||||
endif
|
||||
|
||||
" Accept %: for # (C99)
|
||||
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
|
||||
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
|
||||
syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\|elif\)\>"
|
||||
if !exists("c_no_if0")
|
||||
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
|
||||
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse
|
||||
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 fold
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
|
||||
else
|
||||
syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip fold
|
||||
endif
|
||||
syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
|
||||
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse
|
||||
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
|
||||
else
|
||||
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
endif
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
|
||||
endif
|
||||
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn match cIncluded display contained "<[^>]*>"
|
||||
syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
|
||||
"syn match cLineSkip "\\$"
|
||||
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
|
||||
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
|
||||
syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||
|
||||
" Highlight User Labels
|
||||
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
||||
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
||||
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
|
||||
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
|
||||
syn cluster cLabelGroup contains=cUserLabel
|
||||
@@ -354,6 +368,9 @@ hi def link cDefine Macro
|
||||
hi def link cIncluded cString
|
||||
hi def link cError Error
|
||||
hi def link cStatement Statement
|
||||
hi def link cCppInWrapper cCppOutWrapper
|
||||
hi def link cCppOutWrapper cPreCondit
|
||||
hi def link cPreConditMatch cPreCondit
|
||||
hi def link cPreCondit PreCondit
|
||||
hi def link cType Type
|
||||
hi def link cConstant Constant
|
||||
@@ -365,8 +382,10 @@ hi def link cComment Comment
|
||||
hi def link cSpecial SpecialChar
|
||||
hi def link cTodo Todo
|
||||
hi def link cBadContinuation Error
|
||||
hi def link cCppSkip cCppOut
|
||||
hi def link cCppOut2 cCppOut
|
||||
hi def link cCppOutSkip cCppOutIf2
|
||||
hi def link cCppInElse2 cCppOutIf2
|
||||
hi def link cCppOutIf2 cCppOut2 " Old syntax group for #if 0 body
|
||||
hi def link cCppOut2 cCppOut " Old syntax group for #if of #if 0
|
||||
hi def link cCppOut Comment
|
||||
|
||||
let b:current_syntax = "c"
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2010 Oct 21
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
" Last Change: 2011 June 01
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -19,7 +19,7 @@ syn case ignore
|
||||
" Define some common expressions we can use later on
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick|natty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|maverick|natty|oneiric)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2010 Oct 21
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
" Last Change: 2011 June 01
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -24,7 +24,8 @@ syn match debControlComma ", *"
|
||||
syn match debControlSpace " "
|
||||
|
||||
" Define some common expressions we can use later on
|
||||
syn match debcontrolArchitecture contained "\%(all\|any\|alpha\|amd64\|arm\%(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\|hurd-i386\|kfreebsd-\%(i386\|amd64\|gnu\)\|knetbsd-i386\|kopensolaris-i386\|netbsd-\%(alpha\|i386\)\)"
|
||||
syn match debcontrolArchitecture contained "\%(all\|any\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\)"
|
||||
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
||||
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
||||
@@ -49,14 +50,15 @@ syn match debcontrolComment "^#.*$"
|
||||
syn case ignore
|
||||
|
||||
" List of all legal keys
|
||||
syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
|
||||
syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
|
||||
|
||||
" Fields for which we do strict syntax checking
|
||||
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
|
||||
syn region debcontrolStrictField start="^Multi-Arch" end="$" contains=debcontrolKey,debcontrolMultiArch oneline
|
||||
syn region debcontrolStrictField start="^\(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
|
||||
syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
|
||||
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
|
||||
syn region debcontrolStrictField start="^XC-Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
|
||||
syn region debcontrolStrictField start="^\%(XC-\)\=Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
|
||||
syn region debcontrolStrictField start="^Homepage" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\)" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
|
||||
@@ -82,6 +84,7 @@ if version >= 508 || !exists("did_debcontrol_syn_inits")
|
||||
HiLink debcontrolStrictField Error
|
||||
HiLink debcontrolMultiField Normal
|
||||
HiLink debcontrolArchitecture Normal
|
||||
HiLink debcontrolMultiArch Normal
|
||||
HiLink debcontrolName Normal
|
||||
HiLink debcontrolPriority Normal
|
||||
HiLink debcontrolSection Normal
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2010 Oct 21
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
" Last Change: 2011 June 01
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
|
||||
|
||||
" Match uri's
|
||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\|natty\)\([-[:alnum:]_./]*\)+
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|maverick\|natty\|oneiric\)\([-[:alnum:]_./]*\)+
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
" Vim syntax file
|
||||
" Language: dnsmasq(8) configuration file
|
||||
" Maintainer: Thilo Six <T.Six@gmx.de>
|
||||
" Last Change: 2011 Apr 28
|
||||
" Last Change: 2011 Jul 14
|
||||
" Credits: This file is a mix of cfg.vim, wget.vim and xf86conf.vim, credits go to:
|
||||
" Igor N. Prischepoff
|
||||
" Doug Kearns
|
||||
" David Ne\v{c}as
|
||||
"
|
||||
" Options: let dnsmasq_backrgound_light = 1
|
||||
" Options: You might want to add this to your vimrc:
|
||||
"
|
||||
" if &background == "dark"
|
||||
" " dnsmasq.vim
|
||||
" let dnsmasq_backrgound_light = 0
|
||||
" else
|
||||
" let dnsmasq_backrgound_light = 1
|
||||
" endif
|
||||
"
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
@@ -18,6 +25,7 @@ elseif exists ("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
|
||||
if !exists("b:dnsmasq_backrgound_light")
|
||||
if exists("dnsmasq_backrgound_light")
|
||||
let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
|
||||
@@ -30,75 +38,136 @@ endif
|
||||
" case on
|
||||
syn case match
|
||||
|
||||
"Parameters
|
||||
syn match DnsmasqParams "^.\{-}="me=e-1 contains=DnsmasqComment
|
||||
"... and their values (don't want to highlight '=' sign)
|
||||
syn match DnsmasqValues "=.*"hs=s+1 contains=DnsmasqComment,DnsmasqSpecial
|
||||
syn match DnsmasqSpecial display '=\|@\|,\|!\|:' nextgroup=DnsmasqValues
|
||||
syn match DnsmasqSpecial "#"
|
||||
|
||||
"...because we do it here.
|
||||
syn match DnsmasqEq display '=\|@\|/\|,' nextgroup=DnsmasqValues
|
||||
syn match DnsmasqIPv4 "\(\d\{1,3}\.\)\{3}\d\{1,3}" nextgroup=DnsmasqSubnet2,DnsmasqRange
|
||||
syn match DnsmasqSubnet "\<255.\(\d\{1,3}\.\)\{2}\d\{1,3}"
|
||||
syn match DnsmasqSubnet2 contained "\/\(\d\{1,2}\)\>"
|
||||
syn match DnsmasqRange contained "-"
|
||||
syn match DnsmasqMac "\<\(\x\x\?:\)\{5}\x\x\?"
|
||||
|
||||
syn match DnsmasqSpecial "#"
|
||||
syn match DnsmasqTime "\<\(\d\{1,3}\)[hm]\>"
|
||||
|
||||
" String
|
||||
syn match DnsmasqString "\".*\""
|
||||
syn match DnsmasqString "'.*'"
|
||||
syn match DnsmasqString "\".*\""
|
||||
syn match DnsmasqString "'.*'"
|
||||
|
||||
" Comments
|
||||
syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
|
||||
syn match DnsmasqComment "[ \t]#.*$" contains=DnsmasqTodo
|
||||
syn match DnsmasqComment "^#.*$" contains=DnsmasqTodo
|
||||
syn match DnsmasqComment "\s#.*$" contains=DnsmasqTodo
|
||||
|
||||
syn keyword DnsmasqTodo FIXME TODO XXX NOT contained
|
||||
syn keyword DnsmasqTodo FIXME TODO XXX NOTE contained
|
||||
|
||||
syn match DnsmasqKeywordSpecial "\<set\>:"me=e-1
|
||||
syn match DnsmasqKeywordSpecial "\<tag\>:"me=e-1
|
||||
syn match DnsmasqKeywordSpecial ",\<static\>"hs=s+1 contains=DnsmasqSpecial
|
||||
syn match DnsmasqKeywordSpecial ",\<infinite\>"hs=s+1 contains=DnsmasqSpecial
|
||||
syn match DnsmasqKeywordSpecial "\<encap\>:"me=e-1
|
||||
syn match DnsmasqKeywordSpecial "\<net\>:"me=e-1
|
||||
syn match DnsmasqKeywordSpecial "\<vendor\>:"me=e-1
|
||||
syn match DnsmasqKeywordSpecial "\<option\>:"me=e-1
|
||||
syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial
|
||||
syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1
|
||||
|
||||
syn match DnsmasqKeyword "^\s*add-mac\>"
|
||||
syn match DnsmasqKeyword "^\s*addn-hosts\>"
|
||||
syn match DnsmasqKeyword "^\s*address\>"
|
||||
syn match DnsmasqKeyword "^\s*alias\>"
|
||||
syn match DnsmasqKeyword "^\s*all-servers\>"
|
||||
syn match DnsmasqKeyword "^\s*bind-interfaces\>"
|
||||
syn match DnsmasqKeyword "^\s*bogus-nxdomain\>"
|
||||
syn match DnsmasqKeyword "^\s*bogus-priv\>"
|
||||
syn match DnsmasqKeyword "^\s*cache-size\>"
|
||||
syn match DnsmasqKeyword "^\s*clear-on-reload\>"
|
||||
syn match DnsmasqKeyword "^\s*cname\>"
|
||||
syn match DnsmasqKeyword "^\s*conf-dir\>"
|
||||
syn match DnsmasqKeyword "^\s*conf-file\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-authoritative\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-boot\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-fqdn\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-host\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-ignore\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-lease-max\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-leasefile\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-mac\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-match\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-no-override\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-option-force\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-option\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-range\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-script\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
|
||||
syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
|
||||
syn match DnsmasqKeyword "^\s*domain-needed\>"
|
||||
syn match DnsmasqKeyword "^\s*domain\>"
|
||||
syn match DnsmasqKeyword "^\s*enable-dbus\>"
|
||||
syn match DnsmasqKeyword "^\s*enable-tftp\>"
|
||||
syn match DnsmasqKeyword "^\s*except-interface\>"
|
||||
syn match DnsmasqKeyword "^\s*expand-hosts\>"
|
||||
syn match DnsmasqKeyword "^\s*filterwin2k\>"
|
||||
syn match DnsmasqKeyword "^\s*group\>"
|
||||
syn match DnsmasqKeyword "^\s*interface\>"
|
||||
syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
|
||||
syn match DnsmasqKeyword "^\s*leasefile-ro\>"
|
||||
syn match DnsmasqKeyword "^\s*listen-address\>"
|
||||
syn match DnsmasqKeyword "^\s*local-ttl\>"
|
||||
syn match DnsmasqKeyword "^\s*local\>"
|
||||
syn match DnsmasqKeyword "^\s*localise-queries\>"
|
||||
syn match DnsmasqKeyword "^\s*localmx\>"
|
||||
syn match DnsmasqKeyword "^\s*log-dhcp\>"
|
||||
syn match DnsmasqKeyword "^\s*log-queries\>"
|
||||
syn match DnsmasqKeyword "^\s*mx-host\>"
|
||||
syn match DnsmasqKeyword "^\s*mx-target\>"
|
||||
syn match DnsmasqKeyword "^\s*no-daemon\>"
|
||||
syn match DnsmasqKeyword "^\s*no-dhcp-interface\>"
|
||||
syn match DnsmasqKeyword "^\s*no-hosts\>"
|
||||
syn match DnsmasqKeyword "^\s*no-negcache\>"
|
||||
syn match DnsmasqKeyword "^\s*no-ping\>"
|
||||
syn match DnsmasqKeyword "^\s*no-poll\>"
|
||||
syn match DnsmasqKeyword "^\s*no-resolv\>"
|
||||
syn match DnsmasqKeyword "^\s*proxy-dnssec\>"
|
||||
syn match DnsmasqKeyword "^\s*ptr-record\>"
|
||||
syn match DnsmasqKeyword "^\s*pxe-prompt\>"
|
||||
syn match DnsmasqKeyword "^\s*pxe-service\>"
|
||||
syn match DnsmasqKeyword "^\s*read-ethers\>"
|
||||
syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
|
||||
syn match DnsmasqKeyword "^\s*resolv-file\>"
|
||||
syn match DnsmasqKeyword "^\s*selfmx\>"
|
||||
syn match DnsmasqKeyword "^\s*server\>"
|
||||
syn match DnsmasqKeyword "^\s*srv-host\>"
|
||||
syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
|
||||
syn match DnsmasqKeyword "^\s*strict-order\>"
|
||||
syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
|
||||
syn match DnsmasqKeyword "^\s*tftp-root\>"
|
||||
syn match DnsmasqKeyword "^\s*tftp-secure\>"
|
||||
syn match DnsmasqKeyword "^\s*tftp-unique-root\>"
|
||||
syn match DnsmasqKeyword "^\s*txt-record\>"
|
||||
syn match DnsmasqKeyword "^\s*user\>"
|
||||
|
||||
|
||||
if b:dnsmasq_backrgound_light == 1
|
||||
hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
|
||||
hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
|
||||
hi def DnsmasqParams ctermfg=DarkGreen guifg=DarkGreen
|
||||
hi def DnsmasqKeyword ctermfg=DarkGreen guifg=DarkGreen
|
||||
else
|
||||
hi def link DnsmasqKeyword Keyword
|
||||
hi def link DnsmasqParams Keyword
|
||||
endif
|
||||
hi def link DnsmasqTodo Todo
|
||||
hi def link DnsmasqSpecial Constant
|
||||
hi def link DnsmasqComment Comment
|
||||
hi def link DnsmasqString Constant
|
||||
hi def link DnsmasqValues Normal
|
||||
hi def link DnsmasqEq Constant
|
||||
hi def link DnsmasqKeywordSpecial Type
|
||||
hi def link DnsmasqTodo Todo
|
||||
hi def link DnsmasqSpecial Constant
|
||||
hi def link DnsmasqIPv4 Identifier
|
||||
hi def link DnsmasqSubnet2 DnsmasqSubnet
|
||||
hi def link DnsmasqSubnet DnsmasqMac
|
||||
hi def link DnsmasqRange DnsmasqMac
|
||||
hi def link DnsmasqMac Preproc
|
||||
hi def link DnsmasqTime Preproc
|
||||
hi def link DnsmasqComment Comment
|
||||
hi def link DnsmasqString Constant
|
||||
hi def link DnsmasqValues Normal
|
||||
|
||||
|
||||
let b:current_syntax = "dnsmasq"
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
" Version Info: @(#)dosini.vim 1.6 97/12/15 08:54:12
|
||||
" Author: Sean M. McKee <mckee@misslink.net>
|
||||
" Maintainer: Nima Talebi <nima@it.net.au>
|
||||
" Last Change: Mon, 26 Jun 2006 22:07:28 +1000
|
||||
" Updated By: Hong Xu
|
||||
" Last Change: 2011 Jul 16
|
||||
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
@@ -19,7 +20,7 @@ syn case ignore
|
||||
|
||||
syn match dosiniLabel "^.\{-}="
|
||||
syn region dosiniHeader start="^\[" end="\]"
|
||||
syn match dosiniComment "^;.*$"
|
||||
syn match dosiniComment "^[#;].*$"
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Filenames: *.dot
|
||||
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
|
||||
" URL: http://www.ocaml.info/vim/syntax/dot.vim
|
||||
" Last Change: 2006 Feb 05
|
||||
" Last Change: 2011 May 17 - improved identifier matching + two new keywords
|
||||
" 2001 May 04 - initial version
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
@@ -47,10 +47,10 @@ syn keyword dotType shape shapefile sides skew width
|
||||
|
||||
" Edge attributes
|
||||
syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP
|
||||
syn keyword dotType dir headclip headlabel labelangle labeldistance
|
||||
syn keyword dotType dir headclip headlabel headport labelangle labeldistance
|
||||
syn keyword dotType labelfontcolor labelfontname labelfontsize
|
||||
syn keyword dotType minlen port_label_distance samehead sametail
|
||||
syn keyword dotType tailclip taillabel weight
|
||||
syn keyword dotType tailclip taillabel tailport weight
|
||||
|
||||
" Shared attributes (graphs, nodes, edges)
|
||||
syn keyword dotType color
|
||||
@@ -67,7 +67,7 @@ syn match dotKeyChar ";"
|
||||
syn match dotKeyChar "->"
|
||||
|
||||
" Identifier
|
||||
syn match dotIdentifier /\<\w\+\>/
|
||||
syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/
|
||||
|
||||
" Synchronization
|
||||
syn sync minlines=50
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: GDMO
|
||||
" (ISO-10165-4; Guidelines for the Definition of Managed Object)
|
||||
" Maintainer: Gyuman Kim <violino@dooly.modacom.co.kr>
|
||||
" URL: http://dooly.modacom.co.kr/gdmo.vim
|
||||
" Last change: 2001 Sep 02
|
||||
" Maintainer: Gyuman (Chester) Kim <violkim@gmail.com>
|
||||
" URL: http://classicalprogrammer.wikidot.com/local--files/vim-syntax-file-for-gdmo/gdmo.vim
|
||||
" Last change: 8th June, 2011
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: gnash(1) configuration files
|
||||
" http://www.gnu.org/software/gnash/manual/gnashuser.html#gnashrc
|
||||
" Maintainer: Thilo Six <T.Six@gmx.de>
|
||||
" Last Change: 2011 Apr 28
|
||||
" Last Change: 2011 Jul 02
|
||||
" Credidts: derived from readline.vim
|
||||
" Nikolai Weibull
|
||||
"
|
||||
@@ -15,16 +15,12 @@ elseif exists ("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
syn case match
|
||||
|
||||
syn keyword GnashTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
syn region GnashComment display oneline start='^\s*#' end='$'
|
||||
\ contains=GnashTodo,@Spell
|
||||
" Comments
|
||||
syn match GnashComment "^#.*$" contains=GnashTodo
|
||||
syn match GnashComment "\s#.*$" contains=GnashTodo
|
||||
|
||||
syn match GnashNumber display '\<\d\+\>'
|
||||
|
||||
@@ -36,6 +32,7 @@ syn case match
|
||||
syn match GnashSet '^\s*set\>'
|
||||
syn match GnashSet '^\s*append\>'
|
||||
|
||||
syn case ignore
|
||||
syn match GnashKeyword '\<CertDir\>'
|
||||
syn match GnashKeyword '\<ASCodingErrorsVerbosity\>'
|
||||
syn match GnashKeyword '\<CertFile\>'
|
||||
@@ -84,16 +81,13 @@ syn match GnashKeyword '\<webcamDevice\>'
|
||||
syn match GnashKeyword '\<whitelist\>'
|
||||
syn match GnashKeyword '\<writelog\>'
|
||||
|
||||
hi def GnashOn ctermfg=Green guifg=Green
|
||||
hi def GnashOff ctermfg=Red guifg=Red
|
||||
hi def link GnashOn Identifier
|
||||
hi def link GnashOff Preproc
|
||||
hi def link GnashComment Comment
|
||||
hi def link GnashTodo Todo
|
||||
hi def link GnashString String
|
||||
hi def link GnashNumber Normal
|
||||
hi def link GnashNumber Type
|
||||
hi def link GnashSet String
|
||||
hi def link GnashKeyword Keyword
|
||||
|
||||
let b:current_syntax = "gnash"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||
" Last Change: 2010 Nov 03
|
||||
" Last Change: 2011 Jul 11
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -21,8 +21,13 @@ else
|
||||
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
|
||||
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
|
||||
endif
|
||||
syn match helpBar contained "|" conceal
|
||||
syn match helpStar contained "\*" conceal
|
||||
if has("conceal")
|
||||
syn match helpBar contained "|" conceal
|
||||
syn match helpStar contained "\*" conceal
|
||||
else
|
||||
syn match helpBar contained "|"
|
||||
syn match helpStar contained "\*"
|
||||
endif
|
||||
syn match helpNormal "|.*====*|"
|
||||
syn match helpNormal ":|vim:|" " for :help modeline
|
||||
syn match helpVim "Vim version [0-9.a-z]\+"
|
||||
@@ -31,7 +36,11 @@ syn match helpOption "'[a-z]\{2,\}'"
|
||||
syn match helpOption "'t_..'"
|
||||
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
|
||||
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
|
||||
syn match helpIgnore "." contained conceal
|
||||
if has("conceal")
|
||||
syn match helpIgnore "." contained conceal
|
||||
else
|
||||
syn match helpIgnore "." contained
|
||||
endif
|
||||
syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
|
||||
syn match helpSpecial "\<N\>"
|
||||
syn match helpSpecial "\<N\.$"me=e-1
|
||||
|
||||
27
runtime/syntax/hostsaccess.vim
Normal file
27
runtime/syntax/hostsaccess.vim
Normal file
@@ -0,0 +1,27 @@
|
||||
" Vim syntax file
|
||||
" Language: hosts.deny, hosts.allow configuration files
|
||||
" Maintainer: Thilo Six <T.Six@gmx.de>
|
||||
" Last Change: 2011 May 01
|
||||
" Derived From: conf.vim
|
||||
" Credits: Bram Moolenaar
|
||||
"
|
||||
" This file is there to get at least a minimal highlighting.
|
||||
" A later version may be improved.
|
||||
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" For a starter we just use conf.vim for highlighting
|
||||
if version < 600
|
||||
so <sfile>:p:h/conf.vim
|
||||
else
|
||||
runtime! syntax/conf.vim
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
|
||||
let b:current_syntax = "hostsaccess"
|
||||
" vim: ts=8 sw=2
|
||||
110
runtime/syntax/jovial.vim
Normal file
110
runtime/syntax/jovial.vim
Normal file
@@ -0,0 +1,110 @@
|
||||
" Vim syntax file
|
||||
" Language: JOVIAL J73
|
||||
" Version: 1.2
|
||||
" Maintainer: Paul McGinnis <paulmcg@aol.com>
|
||||
" Last Change: 2011/06/17
|
||||
" Remark: Based on MIL-STD-1589C for JOVIAL J73 language
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn case ignore
|
||||
|
||||
syn keyword jovialTodo TODO FIXME XXX contained
|
||||
|
||||
" JOVIAL beads - first digit is number of bits, [0-9A-V] is the bit value
|
||||
" representing 0-31 (for 5 bits on the bead)
|
||||
syn match jovialBitConstant "[1-5]B'[0-9A-V]'"
|
||||
|
||||
syn match jovialNumber "\<\d\+\>"
|
||||
|
||||
syn match jovialFloat "\d\+E[-+]\=\d\+"
|
||||
syn match jovialFloat "\d\+\.\d*\(E[-+]\=\d\+\)\="
|
||||
syn match jovialFloat "\.\d\+\(E[-+]\=\d\+\)\="
|
||||
|
||||
syn region jovialComment start=/"/ end=/"/ contains=jovialTodo
|
||||
syn region jovialComment start=/%/ end=/%/ contains=jovialTodo
|
||||
|
||||
" JOVIAL variable names. This rule is to prevent conflicts with strings.
|
||||
" Handle special case where ' character can be part of a JOVIAL variable name.
|
||||
syn match jovialIdentifier "[A-Z\$][A-Z0-9'\$]\+"
|
||||
|
||||
syn region jovialString start="\s*'" skip=/''/ end=/'/ oneline
|
||||
|
||||
" JOVIAL compiler directives -- see Section 9 in MIL-STD-1589C
|
||||
syn region jovialPreProc start="\s*![A-Z]\+" end=/;/
|
||||
|
||||
syn keyword jovialOperator AND OR NOT XOR EQV MOD
|
||||
|
||||
" See Section 2.1 in MIL-STD-1589C for data types
|
||||
syn keyword jovialType ITEM B C P V
|
||||
syn match jovialType "\<S\(,R\|,T\|,Z\)\=\>"
|
||||
syn match jovialType "\<U\(,R\|,T\|,Z\)\=\>"
|
||||
syn match jovialType "\<F\(,R\|,T\|,Z\)\=\>"
|
||||
syn match jovialType "\<A\(,R\|,T\|,Z\)\=\>"
|
||||
|
||||
syn keyword jovialStorageClass STATIC CONSTANT PARALLEL BLOCK N M D W
|
||||
|
||||
syn keyword jovialStructure TABLE STATUS
|
||||
|
||||
syn keyword jovialConstant NULL
|
||||
|
||||
syn keyword jovialBoolean FALSE TRUE
|
||||
|
||||
syn keyword jovialTypedef TYPE
|
||||
|
||||
syn keyword jovialStatement ABORT BEGIN BY BYREF BYRES BYVAL CASE COMPOOL
|
||||
syn keyword jovialStatement DEF DEFAULT DEFINE ELSE END EXIT FALLTHRU FOR
|
||||
syn keyword jovialStatement GOTO IF INLINE INSTANCE LABEL LIKE OVERLAY POS
|
||||
syn keyword jovialStatement PROC PROGRAM REC REF RENT REP RETURN START STOP
|
||||
syn keyword jovialStatement TERM THEN WHILE
|
||||
|
||||
" JOVIAL extensions, see section 8.2.2 in MIL-STD-1589C
|
||||
syn keyword jovialStatement CONDITION ENCAPSULATION EXPORTS FREE HANDLER IN INTERRUPT NEW
|
||||
syn keyword jovialStatement PROTECTED READONLY REGISTER SIGNAL TO UPDATE WITH WRITEONLY ZONE
|
||||
|
||||
" implementation specific constants and functions, see section 1.4 in MIL-STD-1589C
|
||||
syn keyword jovialConstant BITSINBYTE BITSINWORD LOCSINWORD
|
||||
syn keyword jovialConstant BYTESINWORD BITSINPOINTER INTPRECISION
|
||||
syn keyword jovialConstant FLOATPRECISION FIXEDPRECISION FLOATRADIX
|
||||
syn keyword jovialConstant MAXFLOATPRECISION MAXFIXEDPRECISION
|
||||
syn keyword jovialConstant MAXINTSIZE MAXBYTES MAXBITS
|
||||
syn keyword jovialConstant MAXTABLESIZE MAXSTOP MINSTOP MAXSIGDIGITS
|
||||
syn keyword jovialFunction BYTEPOS MAXINT MININT
|
||||
syn keyword jovialFunction IMPLFLOATPRECISION IMPLFIXEDPRECISION IMPLINTSIZE
|
||||
syn keyword jovialFunction MINSIZE MINFRACTION MINSCALE MINRELPRECISION
|
||||
syn keyword jovialFunction MAXFLOAT MINFLOAT FLOATRELPRECISION
|
||||
syn keyword jovialFunction FLOATUNDERFLOW MAXFIXED MINFIXED
|
||||
|
||||
" JOVIAL built-in functions
|
||||
syn keyword jovialFunction LOC NEXT BIT BYTE SHIFTL SHIFTR ABS SGN BITSIZE
|
||||
syn keyword jovialFunction BYTESIZE WORDSIZE LBOUND UBOUND NWDSEN FIRST
|
||||
syn keyword jovialFunction LAST NENT
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link jovialBitConstant Number
|
||||
hi def link jovialBoolean Boolean
|
||||
hi def link jovialComment Comment
|
||||
hi def link jovialConstant Constant
|
||||
hi def link jovialFloat Float
|
||||
hi def link jovialFunction Function
|
||||
" No color highlighting for JOVIAL identifiers. See above,
|
||||
" this is to prevent confusion with JOVIAL strings
|
||||
"hi def link jovialIdentifier Identifier
|
||||
hi def link jovialNumber Number
|
||||
hi def link jovialOperator Operator
|
||||
hi def link jovialPreProc PreProc
|
||||
hi def link jovialStatement Statement
|
||||
hi def link jovialStorageClass StorageClass
|
||||
hi def link jovialString String
|
||||
hi def link jovialStructure Structure
|
||||
hi def link jovialTodo Todo
|
||||
hi def link jovialType Type
|
||||
hi def link jovialTypedef Typedef
|
||||
|
||||
|
||||
let b:current_syntax = "jovial"
|
||||
|
||||
" vim: ts=8
|
||||
@@ -4,6 +4,8 @@
|
||||
" Credits: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
|
||||
" Original author: Mario Eusebio
|
||||
" Last Change: Wed Jan 13 11:12:34 CET 2010
|
||||
" sinh added to matlab implicit commands
|
||||
" Change History:
|
||||
" - 'global' and 'persistent' keyword are now recognized
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
@@ -68,7 +70,7 @@ syn keyword matlabOperator ceil floor size clear zeros eye mean std cov
|
||||
syn keyword matlabFunction error eval function
|
||||
|
||||
syn keyword matlabImplicit abs acos atan asin cos cosh exp log prod sum
|
||||
syn keyword matlabImplicit log10 max min sign sin sqrt tan reshape
|
||||
syn keyword matlabImplicit log10 max min sign sin sinh sqrt tan reshape
|
||||
|
||||
syn match matlabError "-\=\<\d\+\.\d\+\.[^*/\\^]"
|
||||
syn match matlabError "-\=\<\d\+\.\d\+[eEdD][-+]\=\d\+\.\([^*/\\^]\)"
|
||||
|
||||
@@ -88,7 +88,7 @@ if !exists("did_drchip_netrwlist_syntax")
|
||||
hi default link netrwTimeSep netrwDateSep
|
||||
hi default link netrwComma netrwComment
|
||||
hi default link netrwHide netrwComment
|
||||
hi default link netrwMarkFile DiffChange
|
||||
hi default link netrwMarkFile TabLineSel
|
||||
|
||||
" special syntax highlighting (see :he g:netrw_special_syntax)
|
||||
hi default link netrwBak NonText
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
" Karl-Heinz Sylla <Karl-Heinz.Sylla@gmd.de>
|
||||
" Issac Trotts <ijtrotts@ucdavis.edu>
|
||||
" URL: http://www.ocaml.info/vim/syntax/ocaml.vim
|
||||
" Last Change: 2007 Apr 13 - Added highlighting of nativeints (MM)
|
||||
" 2006 Oct 09 - More highlighting improvements to numbers (MM)
|
||||
" 2006 Sep 19 - Improved highlighting of numbers (Florent Monnier)
|
||||
" Last Change: 2010 Oct 11 - Added highlighting of lnot (MM, thanks to Erick Matsen)
|
||||
" 2010 Sep 03 - Fixed escaping bug (MM, thanks to Florent Monnier)
|
||||
" 2010 Aug 07 - Fixed module type bug (MM)
|
||||
|
||||
" A minor patch was applied to the official version so that object/end
|
||||
" can be distinguished from begin/end, which is used for indentation,
|
||||
@@ -24,14 +24,14 @@ endif
|
||||
" OCaml is case sensitive.
|
||||
syn case match
|
||||
|
||||
" Access to the method of an object
|
||||
syn match ocamlMethod "#"
|
||||
|
||||
" Script headers highlighted like comments
|
||||
syn match ocamlComment "^#!.*"
|
||||
|
||||
" Scripting directives
|
||||
syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|require\|thread\|trace\|untrace\|untrace_all\|print_depth\|print_length\)\>"
|
||||
|
||||
" Script headers highlighted like comments
|
||||
syn match ocamlComment "^#!.*"
|
||||
syn match ocamlScript "^#\<\(quit\|labels\|warnings\|directory\|cd\|load\|use\|install_printer\|remove_printer\|require\|thread\|trace\|untrace\|untrace_all\|print_depth\|print_length\|camlp4o\)\>"
|
||||
|
||||
" lowercase identifier - the standard way to match
|
||||
syn match ocamlLCIdentifier /\<\(\l\|_\)\(\w\|'\)*\>/
|
||||
@@ -69,7 +69,7 @@ syn cluster ocamlAllErrs contains=ocamlBraceErr,ocamlBrackErr,ocamlParenErr,oca
|
||||
|
||||
syn cluster ocamlAENoParen contains=ocamlBraceErr,ocamlBrackErr,ocamlCommentErr,ocamlCountErr,ocamlDoErr,ocamlDoneErr,ocamlEndErr,ocamlThenErr
|
||||
|
||||
syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod
|
||||
syn cluster ocamlContained contains=ocamlTodo,ocamlPreDef,ocamlModParam,ocamlModParam1,ocamlPreMPRestr,ocamlMPRestr,ocamlMPRestr1,ocamlMPRestr2,ocamlMPRestr3,ocamlModRHS,ocamlFuncWith,ocamlFuncStruct,ocamlModTypeRestr,ocamlModTRWith,ocamlWith,ocamlWithRest,ocamlModType,ocamlFullMod,ocamlVal
|
||||
|
||||
|
||||
" Enclosing delimiters
|
||||
@@ -109,9 +109,6 @@ syn region ocamlNone matchgroup=ocamlKeyword start="\<if\>" matchgroup=ocamlKe
|
||||
|
||||
"" Modules
|
||||
|
||||
" "struct"
|
||||
syn region ocamlStruct matchgroup=ocamlModule start="\<struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
|
||||
|
||||
" "sig"
|
||||
syn region ocamlSig matchgroup=ocamlModule start="\<sig\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr,ocamlModule
|
||||
syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr
|
||||
@@ -124,8 +121,8 @@ syn match ocamlKeyword "\<include\>" skipwhite skipempty nextgroup=ocamlModPa
|
||||
|
||||
" "module" - somewhat complicated stuff ;-)
|
||||
syn region ocamlModule matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlPreDef
|
||||
syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|="me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
|
||||
syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1
|
||||
syn region ocamlPreDef start="."me=e-1 matchgroup=ocamlKeyword end="\l\|=\|)"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam,ocamlModTypeRestr,ocamlModTRWith nextgroup=ocamlModPreRHS
|
||||
syn region ocamlModParam start="([^*]" end=")" contained contains=@ocamlAENoParen,ocamlModParam1,ocamlVal
|
||||
syn match ocamlModParam1 "\<\u\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlPreMPRestr
|
||||
|
||||
syn region ocamlPreMPRestr start="."me=e-1 end=")"me=e-1 contained contains=@ocamlAllErrs,ocamlComment,ocamlMPRestr,ocamlModTypeRestr
|
||||
@@ -135,6 +132,8 @@ syn region ocamlMPRestr1 matchgroup=ocamlModule start="\ssig\s\=" matchgroup=o
|
||||
syn region ocamlMPRestr2 start="\sfunctor\(\s\|(\)\="me=e-1 matchgroup=ocamlKeyword end="->" contained contains=@ocamlAllErrs,ocamlComment,ocamlModParam skipwhite skipempty nextgroup=ocamlFuncWith,ocamlMPRestr2
|
||||
syn match ocamlMPRestr3 "\w\(\w\|'\)*\(\.\w\(\w\|'\)*\)*" contained
|
||||
syn match ocamlModPreRHS "=" contained skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
|
||||
syn keyword ocamlKeyword val
|
||||
syn region ocamlVal matchgroup=ocamlKeyword start="\<val\>" matchgroup=ocamlLCIdentifier end="\<\l\(\w\|'\)*\>" contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlMPRestr
|
||||
syn region ocamlModRHS start="." end=".\w\|([^*]"me=e-2 contained contains=ocamlComment skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
|
||||
syn match ocamlFullMod "\<\u\(\w\|'\)*\(\.\u\(\w\|'\)*\)*" contained skipwhite skipempty nextgroup=ocamlFuncWith
|
||||
|
||||
@@ -146,8 +145,11 @@ syn region ocamlModTRWith start=":\s*("hs=s+1 end=")" contained contains=@ocam
|
||||
syn match ocamlWith "\<\(\u\(\w\|'\)*\.\)*\w\(\w\|'\)*\>" contained skipwhite skipempty nextgroup=ocamlWithRest
|
||||
syn region ocamlWithRest start="[^)]" end=")"me=e-1 contained contains=ALLBUT,@ocamlContained
|
||||
|
||||
" "struct"
|
||||
syn region ocamlStruct matchgroup=ocamlModule start="\<\(module\s\+\)\=struct\>" matchgroup=ocamlModule end="\<end\>" contains=ALLBUT,@ocamlContained,ocamlEndErr
|
||||
|
||||
" "module type"
|
||||
syn region ocamlKeyword start="\<module\>\s*\<type\>" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
|
||||
syn region ocamlKeyword start="\<module\>\s*\<type\>\(\s*\<of\>\)\=" matchgroup=ocamlModule end="\<\w\(\w\|'\)*\>" contains=ocamlComment skipwhite skipempty nextgroup=ocamlMTDef
|
||||
syn match ocamlMTDef "=\s*\w\(\w\|'\)*\>"hs=s+1,me=s
|
||||
|
||||
syn keyword ocamlKeyword and as assert class
|
||||
@@ -159,7 +161,7 @@ syn keyword ocamlKeyword land lazy let match
|
||||
syn keyword ocamlKeyword method mutable new of
|
||||
syn keyword ocamlKeyword parser private raise rec
|
||||
syn keyword ocamlKeyword try type
|
||||
syn keyword ocamlKeyword val virtual when while with
|
||||
syn keyword ocamlKeyword virtual when while with
|
||||
|
||||
if exists("ocaml_revised")
|
||||
syn keyword ocamlKeyword do value
|
||||
@@ -174,7 +176,7 @@ syn keyword ocamlType array bool char exn float format format4
|
||||
syn keyword ocamlType int int32 int64 lazy_t list nativeint option
|
||||
syn keyword ocamlType string unit
|
||||
|
||||
syn keyword ocamlOperator asr lor lsl lsr lxor mod not
|
||||
syn keyword ocamlOperator asr lnot lor lsl lsr lxor mod not
|
||||
|
||||
syn match ocamlConstructor "(\s*)"
|
||||
syn match ocamlConstructor "\[\s*\]"
|
||||
@@ -189,6 +191,7 @@ syn match ocamlConstructor "`\w\(\w\|'\)*\>"
|
||||
syn match ocamlModPath "\u\(\w\|'\)*\."he=e-1
|
||||
|
||||
syn match ocamlCharacter "'\\\d\d\d'\|'\\[\'ntbr]'\|'.'"
|
||||
syn match ocamlCharacter "'\\x\x\x'"
|
||||
syn match ocamlCharErr "'\\\d\d'\|'\\\d'"
|
||||
syn match ocamlCharErr "'\\[^\'ntbr]'"
|
||||
syn region ocamlString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
@@ -220,7 +223,7 @@ syn match ocamlNumber "\<-\=\d\(_\|\d\)*[l|L|n]\?\>"
|
||||
syn match ocamlNumber "\<-\=0[x|X]\(\x\|_\)\+[l|L|n]\?\>"
|
||||
syn match ocamlNumber "\<-\=0[o|O]\(\o\|_\)\+[l|L|n]\?\>"
|
||||
syn match ocamlNumber "\<-\=0[b|B]\([01]\|_\)\+[l|L|n]\?\>"
|
||||
syn match ocamlFloat "\<-\=\d\(_\|\d\)*\.\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
|
||||
syn match ocamlFloat "\<-\=\d\(_\|\d\)*\.\?\(_\|\d\)*\([eE][-+]\=\d\(_\|\d\)*\)\=\>"
|
||||
|
||||
" Labels
|
||||
syn match ocamlLabel "\~\(\l\|_\)\(\w\|'\)*"lc=1
|
||||
@@ -294,6 +297,7 @@ if version >= 508 || !exists("did_ocaml_syntax_inits")
|
||||
|
||||
HiLink ocamlConstructor Constant
|
||||
|
||||
HiLink ocamlVal Keyword
|
||||
HiLink ocamlModPreRHS Keyword
|
||||
HiLink ocamlMPRestr2 Keyword
|
||||
HiLink ocamlKeyword Keyword
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5
|
||||
" Maintainer: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Last Change: June 9, 2006
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=1571
|
||||
"
|
||||
" Former Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/php.vim?op=file&rev=0&sc=0
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: April 28, 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>
|
||||
"
|
||||
" Note: If you are using a colour terminal with dark background, you will probably find
|
||||
" the 'elflord' colorscheme is much better for PHP's syntax than the default
|
||||
@@ -327,6 +326,8 @@ syn match phpFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display
|
||||
syn match phpSpecialChar "\\[abcfnrtyv\\]" contained display
|
||||
syn match phpSpecialChar "\\\d\{3}" contained contains=phpOctalError display
|
||||
syn match phpSpecialChar "\\x\x\{2}" contained display
|
||||
syn match phpDoubleSpecialChar "\\\"" contained display
|
||||
syn match phpSingleSpecialChar "\\[\\']" contained display
|
||||
|
||||
" Error
|
||||
syn match phpOctalError "[89]" contained display
|
||||
@@ -355,13 +356,13 @@ endif
|
||||
|
||||
" String
|
||||
if exists("php_parent_error_open")
|
||||
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
|
||||
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained keepend
|
||||
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
|
||||
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings contained keepend
|
||||
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend
|
||||
else
|
||||
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
|
||||
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex,phpDoubleSpecialChar contained extend keepend
|
||||
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
|
||||
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings contained keepend extend
|
||||
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpSingleSpecialChar contained keepend extend
|
||||
endif
|
||||
|
||||
" HereDoc
|
||||
@@ -613,6 +614,8 @@ if version >= 508 || !exists("did_php_syn_inits")
|
||||
HiLink phpInclude Include
|
||||
HiLink phpDefine Define
|
||||
HiLink phpSpecialChar SpecialChar
|
||||
HiLink phpDoubleSpecialChar SpecialChar
|
||||
HiLink phpSingleSpecialChar SpecialChar
|
||||
HiLink phpParent Delimiter
|
||||
HiLink phpIdentifierConst Delimiter
|
||||
HiLink phpParentError Error
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" Vim syntax file
|
||||
" Language: readline(3) configuration file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2009-05-25
|
||||
" Latest Revision: 2011-05-02
|
||||
" readline_has_bash - if defined add support for bash specific
|
||||
" settings/functions
|
||||
|
||||
if exists("b:current_syntax")
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -14,163 +14,382 @@ set cpo&vim
|
||||
|
||||
setlocal iskeyword+=-
|
||||
|
||||
syn keyword readlineTodo contained TODO FIXME XXX NOTE
|
||||
syn match readlineKey contained
|
||||
\ '\S'
|
||||
\ nextgroup=readlineKeyTerminator
|
||||
|
||||
syn region readlineComment display oneline start='^\s*#' end='$'
|
||||
\ contains=readlineTodo,@Spell
|
||||
syn match readlineBegin display '^'
|
||||
\ nextgroup=readlineComment,
|
||||
\ readlineConditional,
|
||||
\ readlineInclude,
|
||||
\ readlineKeyName,
|
||||
\ readlineKey,
|
||||
\ readlineKeySeq,
|
||||
\ readlineKeyword
|
||||
\ skipwhite
|
||||
|
||||
syn match readlineString '^\s*[A-Za-z-]\+:'me=e-1 contains=readlineKeys
|
||||
syn region readlineString display oneline start=+"+ skip=+\\\\\|\\"+
|
||||
\ end=+"+ contains=readlineKeysTwo
|
||||
syn region readlineComment contained display oneline
|
||||
\ start='#'
|
||||
\ end='$'
|
||||
\ contains=readlineTodo,
|
||||
\ @Spell
|
||||
|
||||
syn keyword readlineTodo contained
|
||||
\ TODO
|
||||
\ FIXME
|
||||
\ XXX
|
||||
\ NOTE
|
||||
|
||||
syn match readlineConditional contained
|
||||
\ '$if\>'
|
||||
\ nextgroup=readlineTest,
|
||||
\ readlineTestApp
|
||||
\ skipwhite
|
||||
|
||||
syn keyword readlineTest contained
|
||||
\ mode
|
||||
\ nextgroup=readlineTestModeEq
|
||||
|
||||
syn match readlineTestModeEq contained
|
||||
\ '='
|
||||
\ nextgroup=readlineEditingMode
|
||||
|
||||
syn keyword readlineTest contained
|
||||
\ term
|
||||
\ nextgroup=readlineTestTermEq
|
||||
|
||||
syn match readlineTestTermEq contained
|
||||
\ '='
|
||||
\ nextgroup=readlineTestTerm
|
||||
|
||||
syn match readlineTestTerm contained
|
||||
\ '\S\+'
|
||||
|
||||
syn match readlineTestApp contained
|
||||
\ '\S\+'
|
||||
|
||||
syn match readlineConditional contained display
|
||||
\ '$\%(else\|endif\)\>'
|
||||
|
||||
syn match readlineInclude contained display
|
||||
\ '$include\>'
|
||||
\ nextgroup=readlinePath
|
||||
|
||||
syn match readlinePath contained display
|
||||
\ '.\+'
|
||||
|
||||
syn case ignore
|
||||
syn keyword readlineKeys contained Control Meta Del Esc Escape LFD
|
||||
\ Newline Ret Return Rubout Space Spc Tab
|
||||
syn match readlineKeyName contained display
|
||||
\ nextgroup=readlineKeySeparator,
|
||||
\ readlineKeyTerminator
|
||||
\ '\%(Control\|Del\|Esc\|Escape\|LFD\|Meta\|Newline\|Ret\|Return\|Rubout\|Space\|Spc\|Tab\)'
|
||||
syn case match
|
||||
|
||||
syn match readlineKeysTwo contained display
|
||||
\ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{3}\)+
|
||||
syn match readlineKeySeparator contained
|
||||
\ '-'
|
||||
\ nextgroup=readlineKeyName,
|
||||
\ readlineKey
|
||||
|
||||
syn match readlineKeymaps contained display
|
||||
\ 'emacs\(-standard\|-meta\|-ctlx\)\='
|
||||
syn match readlineKeymaps contained display
|
||||
\ 'vi\(-move\|-command\|-insert\)\='
|
||||
syn match readlineKeyTerminator contained
|
||||
\ ':'
|
||||
\ nextgroup=readlineFunction
|
||||
\ skipwhite
|
||||
|
||||
syn keyword readlineBellStyles contained audible visible none
|
||||
syn region readlineKeySeq contained display oneline
|
||||
\ start=+"+
|
||||
\ skip=+\\\\\|\\"+
|
||||
\ end=+"+
|
||||
\ contains=readlineKeyEscape
|
||||
\ nextgroup=readlineKeyTerminator
|
||||
|
||||
syn match readlineNumber contained display '\<\d\+\>'
|
||||
syn match readlineKeyEscape contained display
|
||||
\ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{2}\)+
|
||||
|
||||
syn keyword readlineKeyword contained
|
||||
\ set
|
||||
\ nextgroup=readlineVariable
|
||||
\ skipwhite
|
||||
|
||||
syn keyword readlineVariable contained
|
||||
\ nextgroup=readlineBellStyle
|
||||
\ skipwhite
|
||||
\ bell-style
|
||||
|
||||
syn keyword readlineVariable contained
|
||||
\ nextgroup=readlineBoolean
|
||||
\ skipwhite
|
||||
\ bind-tty-special-chars
|
||||
\ completion-ignore-case
|
||||
\ completion-map-case
|
||||
\ convert-meta
|
||||
\ disable-completion
|
||||
\ echo-control-characters
|
||||
\ enable-keypad
|
||||
\ enable-meta-key
|
||||
\ expand-tilde
|
||||
\ history-preserve-point
|
||||
\ horizontal-scroll-mode
|
||||
\ input-meta
|
||||
\ meta-flag
|
||||
\ mark-directories
|
||||
\ mark-modified-lines
|
||||
\ mark-symlinked-directories
|
||||
\ match-hidden-files
|
||||
\ menu-complete-display-prefix
|
||||
\ output-meta
|
||||
\ page-completions
|
||||
\ print-completions-horizontally
|
||||
\ revert-all-at-newline
|
||||
\ show-all-if-ambiguous
|
||||
\ show-all-if-unmodified
|
||||
\ skip-completed-text
|
||||
\ visible-stats
|
||||
|
||||
syn keyword readlineVariable contained
|
||||
\ nextgroup=readlineString
|
||||
\ skipwhite
|
||||
\ comment-begin
|
||||
\ isearch-terminators
|
||||
|
||||
syn keyword readlineVariable contained
|
||||
\ nextgroup=readlineNumber
|
||||
\ skipwhite
|
||||
\ completion-display-width
|
||||
\ completion-prefix-display-length
|
||||
\ completion-query-items
|
||||
\ history-size
|
||||
|
||||
syn keyword readlineVariable contained
|
||||
\ nextgroup=readlineEditingMode
|
||||
\ skipwhite
|
||||
\ editing-mode
|
||||
|
||||
syn keyword readlineVariable contained
|
||||
\ nextgroup=readlineKeymap
|
||||
\ skipwhite
|
||||
\ keymap
|
||||
|
||||
syn keyword readlineBellStyle contained
|
||||
\ audible
|
||||
\ visible
|
||||
\ none
|
||||
|
||||
syn case ignore
|
||||
syn keyword readlineBoolean contained on off
|
||||
syn keyword readlineBoolean contained
|
||||
\ on
|
||||
\ off
|
||||
syn case match
|
||||
|
||||
syn keyword readlineIfOps contained mode term
|
||||
syn region readlineString contained display oneline
|
||||
\ matchgroup=readlineStringDelimiter
|
||||
\ start=+"+
|
||||
\ skip=+\\\\\|\\"+
|
||||
\ end=+"+
|
||||
|
||||
syn region readlineConditional display oneline transparent
|
||||
\ matchgroup=readlineConditional
|
||||
\ start='^\s*$if' end="$"
|
||||
\ contains=readlineIfOps,readlineKeymaps
|
||||
syn match readlineConditional display '^\s*$\(else\|endif\)\>'
|
||||
syn match readlineNumber contained display
|
||||
\ '[+-]\d\+\>'
|
||||
|
||||
syn match readlineInclude display '^\s*$include\>'
|
||||
syn keyword readlineEditingMode contained
|
||||
\ emacs
|
||||
\ vi
|
||||
|
||||
syn region readlineSet display oneline transparent
|
||||
\ matchgroup=readlineKeyword start='^\s*set\>'
|
||||
\ end="$"me=e-1 contains=readlineNumber,
|
||||
\ readlineBoolean,readlineKeymaps,
|
||||
\ readlineBellStyles,readlineSettings
|
||||
syn match readlineKeymap contained display
|
||||
\ 'emacs\%(-\%(standard\|meta\|ctlx\)\)\=\|vi\%(-\%(move\|command\|insert\)\)\='
|
||||
|
||||
syn keyword readlineSettings contained bell-style comment-begin
|
||||
\ completion-ignore-case completion-query-items
|
||||
\ convert-meta disable-completion editing-mode
|
||||
\ enable-keypad expand-tilde
|
||||
\ horizontal-scroll-mode mark-directories
|
||||
\ keymap mark-modified-lines meta-flag
|
||||
\ input-meta output-meta
|
||||
\ print-completions-horizontally
|
||||
\ show-all-if-ambiguous visible-stats
|
||||
\ prefer-visible-bell blink-matching-paren
|
||||
\ match-hidden-files history-preserve-point
|
||||
\ isearch-terminators
|
||||
|
||||
syn region readlineBinding display oneline transparent
|
||||
\ matchgroup=readlineKeyword start=':' end='$'
|
||||
\ contains=readlineKeys,readlineFunctions
|
||||
|
||||
syn keyword readlineFunctions contained display
|
||||
\ beginning-of-line end-of-line forward-char
|
||||
\ backward-char forward-word backward-word
|
||||
\ clear-screen redraw-current-line
|
||||
\ accept-line previous-history
|
||||
\ next-history beginning-of-history
|
||||
\ end-of-history reverse-search-history
|
||||
\ forward-search-history
|
||||
\ non-incremental-reverse-search-history
|
||||
\ non-incremental-forward-search-history
|
||||
\ history-search-forward
|
||||
\ history-search-backward
|
||||
\ yank-nth-arg yank-last-arg
|
||||
\ delete-char backward-delete-char
|
||||
\ forward-backward-delete-char quoted-insert
|
||||
\ tab-insert self-insert transpose-chars
|
||||
\ transpose-words upcase-word downcase-word
|
||||
\ capitalize-word overwrite-mode kill-line
|
||||
\ backward-kill-line unix-line-discard
|
||||
\ kill-whole-line kill-word backward-kill-word
|
||||
\ unix-word-rubout unix-filename-rubout
|
||||
\ delete-horizontal-space kill-region
|
||||
\ copy-region-as-kill copy-backward-word
|
||||
\ copy-forward-word yank yank-pop
|
||||
\ digit-argument universal-argument complete
|
||||
\ possible-completions insert-completions
|
||||
\ menu-complete delete-char-or-list
|
||||
\ start-kbd-macro end-kbd-macro
|
||||
\ call-last-kbd-macro re-read-init-file
|
||||
\ abort do-uppercase-version prefix-meta
|
||||
\ undo revert-line tilde-expand set-mark
|
||||
\ exchange-point-and-mark character-search
|
||||
\ character-search-backward insert-comment
|
||||
\ dump-functions dump-variables dump-macros
|
||||
\ emacs-editing-mode vi-editing-mode
|
||||
\ vi-complete vi-char-search vi-redo
|
||||
\ vi-search vi-arg-digit vi-append-eol
|
||||
\ vi-prev-word vi-change-to vi-delete-to
|
||||
\ vi-end-word vi-fetch-history vi-insert-beg
|
||||
\ vi-search-again vi-put vi-replace
|
||||
\ vi-subst vi-yank-to vi-first-print
|
||||
\ vi-yank-arg vi-goto-mark vi-append-mode
|
||||
\ vi-insertion-mode prev-history vi-set-mark
|
||||
\ vi-search-again vi-put vi-change-char
|
||||
\ vi-subst vi-delete vi-yank-to
|
||||
\ vi-column vi-change-case vi-overstrike
|
||||
\ vi-overstrike-delete do-lowercase-version
|
||||
\ delete-char-or-list tty-status
|
||||
\ arrow-key-prefix vi-back-to-indent vi-bword
|
||||
\ vi-bWord vi-eword vi-eWord vi-fword vi-fWord
|
||||
\ vi-next-word
|
||||
\ vi-movement-mode
|
||||
syn keyword readlineFunction contained
|
||||
\ beginning-of-line
|
||||
\ end-of-line
|
||||
\ forward-char
|
||||
\ backward-char
|
||||
\ forward-word
|
||||
\ backward-word
|
||||
\ clear-screen
|
||||
\ redraw-current-line
|
||||
\
|
||||
\ accept-line
|
||||
\ previous-history
|
||||
\ next-history
|
||||
\ beginning-of-history
|
||||
\ end-of-history
|
||||
\ reverse-search-history
|
||||
\ forward-search-history
|
||||
\ non-incremental-reverse-search-history
|
||||
\ non-incremental-forward-search-history
|
||||
\ history-search-forward
|
||||
\ history-search-backward
|
||||
\ yank-nth-arg
|
||||
\ yank-last-arg
|
||||
\
|
||||
\ delete-char
|
||||
\ backward-delete-char
|
||||
\ forward-backward-delete-char
|
||||
\ quoted-insert
|
||||
\ tab-insert
|
||||
\ self-insert
|
||||
\ transpose-chars
|
||||
\ transpose-words
|
||||
\ upcase-word
|
||||
\ downcase-word
|
||||
\ capitalize-word
|
||||
\ overwrite-mode
|
||||
\
|
||||
\ kill-line
|
||||
\ backward-kill-line
|
||||
\ unix-line-discard
|
||||
\ kill-whole-line
|
||||
\ kill-word
|
||||
\ backward-kill-word
|
||||
\ unix-word-rubout
|
||||
\ unix-filename-rubout
|
||||
\ delete-horizontal-space
|
||||
\ kill-region
|
||||
\ copy-region-as-kill
|
||||
\ copy-backward-word
|
||||
\ copy-forward-word
|
||||
\ yank
|
||||
\ yank-pop
|
||||
\
|
||||
\ digit-argument
|
||||
\ universal-argument
|
||||
\
|
||||
\ complete
|
||||
\ possible-completions
|
||||
\ insert-completions
|
||||
\ menu-complete
|
||||
\ menu-complete-or-backward
|
||||
\ delete-char-or-list
|
||||
\
|
||||
\ start-kbd-macro
|
||||
\ end-kbd-macro
|
||||
\ call-last-kbd-macro
|
||||
\
|
||||
\ re-read-init-file
|
||||
\ abort
|
||||
\ do-uppercase-version
|
||||
\ prefix-meta
|
||||
\ undo
|
||||
\ revert-line
|
||||
\ tilde-expand
|
||||
\ set-mark
|
||||
\ exchange-point-and-mark
|
||||
\ character-search
|
||||
\ character-search-backward
|
||||
\ skip-csi-sequence
|
||||
\ insert-comment
|
||||
\ dump-functions
|
||||
\ dump-variables
|
||||
\ dump-macros
|
||||
\ emacs-editing-mode
|
||||
\ vi-editing-mode
|
||||
\
|
||||
\ vi-eof-maybe
|
||||
\ vi-movement-mode
|
||||
\ vi-undo
|
||||
\ vi-match
|
||||
\ vi-tilde-expand
|
||||
\ vi-complete
|
||||
\ vi-char-search
|
||||
\ vi-redo
|
||||
\ vi-search
|
||||
\ vi-arg-digit
|
||||
\ vi-append-eol
|
||||
\ vi-prev-word
|
||||
\ vi-change-to
|
||||
\ vi-delete-to
|
||||
\ vi-end-word
|
||||
\ vi-char-search
|
||||
\ vi-fetch-history
|
||||
\ vi-insert-beg
|
||||
\ vi-search-again
|
||||
\ vi-put
|
||||
\ vi-replace
|
||||
\ vi-subst
|
||||
\ vi-char-search
|
||||
\ vi-next-word
|
||||
\ vi-yank-to
|
||||
\ vi-first-print
|
||||
\ vi-yank-arg
|
||||
\ vi-goto-mark
|
||||
\ vi-append-mode
|
||||
\ vi-prev-word
|
||||
\ vi-change-to
|
||||
\ vi-delete-to
|
||||
\ vi-end-word
|
||||
\ vi-char-search
|
||||
\ vi-insert-mode
|
||||
\ vi-set-mark
|
||||
\ vi-search-again
|
||||
\ vi-put
|
||||
\ vi-change-char
|
||||
\ vi-subst
|
||||
\ vi-char-search
|
||||
\ vi-undo
|
||||
\ vi-next-word
|
||||
\ vi-delete
|
||||
\ vi-yank-to
|
||||
\ vi-column
|
||||
\ vi-change-case
|
||||
|
||||
if exists("readline_has_bash")
|
||||
syn keyword readlineFunctions contained
|
||||
\ shell-expand-line history-expand-line
|
||||
\ magic-space alias-expand-line
|
||||
\ history-and-alias-expand-line
|
||||
\ insert-last-argument operate-and-get-next
|
||||
\ forward-backward-delete-char
|
||||
\ delete-char-or-list complete-filename
|
||||
\ possible-filename-completions
|
||||
\ complete-username
|
||||
\ possible-username-completions
|
||||
\ complete-variable
|
||||
\ possible-variable-completions
|
||||
\ complete-hostname
|
||||
\ possible-hostname-completions
|
||||
\ complete-command
|
||||
\ possible-command-completions
|
||||
\ dynamic-complete-history
|
||||
\ complete-into-braces
|
||||
\ glob-expand-word glob-list-expansions
|
||||
\ display-shell-version glob-complete-word
|
||||
\ edit-and-execute-command
|
||||
syn keyword readlineFunction contained
|
||||
\ shell-expand-line
|
||||
\ history-expand-line
|
||||
\ magic-space
|
||||
\ alias-expand-line
|
||||
\ history-and-alias-expand-line
|
||||
\ insert-last-argument
|
||||
\ operate-and-get-next
|
||||
\ forward-backward-delete-char
|
||||
\ delete-char-or-list
|
||||
\ complete-filename
|
||||
\ possible-filename-completions
|
||||
\ complete-username
|
||||
\ possible-username-completions
|
||||
\ complete-variable
|
||||
\ possible-variable-completions
|
||||
\ complete-hostname
|
||||
\ possible-hostname-completions
|
||||
\ complete-command
|
||||
\ possible-command-completions
|
||||
\ dynamic-complete-history
|
||||
\ complete-into-braces
|
||||
\ glob-expand-word
|
||||
\ glob-list-expansions
|
||||
\ display-shell-version
|
||||
\ glob-complete-word
|
||||
\ edit-and-execute-command
|
||||
endif
|
||||
|
||||
hi def link readlineComment Comment
|
||||
hi def link readlineTodo Todo
|
||||
hi def link readlineString String
|
||||
hi def link readlineKeys SpecialChar
|
||||
hi def link readlineKeysTwo SpecialChar
|
||||
hi def link readlineKeymaps Constant
|
||||
hi def link readlineBellStyles Constant
|
||||
hi def link readlineNumber Number
|
||||
hi def link readlineBoolean Boolean
|
||||
hi def link readlineIfOps Type
|
||||
hi def link readlineConditional Conditional
|
||||
hi def link readlineInclude Include
|
||||
hi def link readlineKeyword Keyword
|
||||
hi def link readlineSettings Type
|
||||
hi def link readlineFunctions Type
|
||||
hi def link readlineKey readlineKeySeq
|
||||
hi def link readlineComment Comment
|
||||
hi def link readlineTodo Todo
|
||||
hi def link readlineConditional Conditional
|
||||
hi def link readlineTest Type
|
||||
hi def link readlineDelimiter Delimiter
|
||||
hi def link readlineTestModeEq readlineEq
|
||||
hi def link readlineTestTermEq readlineEq
|
||||
hi def link readlineTestTerm readlineString
|
||||
hi def link readlineTestAppEq readlineEq
|
||||
hi def link readlineTestApp readlineString
|
||||
hi def link readlineInclude Include
|
||||
hi def link readlinePath String
|
||||
hi def link readlineKeyName SpecialChar
|
||||
hi def link readlineKeySeparator readlineKeySeq
|
||||
hi def link readlineKeyTerminator readlineDelimiter
|
||||
hi def link readlineKeySeq String
|
||||
hi def link readlineKeyEscape SpecialChar
|
||||
hi def link readlineKeyword Keyword
|
||||
hi def link readlineVariable Identifier
|
||||
hi def link readlineBellStyle Constant
|
||||
hi def link readlineBoolean Boolean
|
||||
hi def link readlineString String
|
||||
hi def link readlineStringDelimiter readlineString
|
||||
hi def link readlineNumber Number
|
||||
hi def link readlineEditingMode Constant
|
||||
hi def link readlineKeymap Constant
|
||||
hi def link readlineFunction Function
|
||||
|
||||
let b:current_syntax = "readline"
|
||||
let b:current_syntax = 'readline'
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: sysctl.conf(5) configuration file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2006-04-19
|
||||
" Latest Revision: 2011-05-02
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,7 +13,7 @@ set cpo&vim
|
||||
syn match sysctlBegin display '^'
|
||||
\ nextgroup=sysctlToken,sysctlComment skipwhite
|
||||
|
||||
syn match sysctlToken contained display '\S\+'
|
||||
syn match sysctlToken contained display '[^=]\+'
|
||||
\ nextgroup=sysctlTokenEq skipwhite
|
||||
|
||||
syn match sysctlTokenEq contained display '=' nextgroup=sysctlValue skipwhite
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Author: René Neumann <necoro@necoro.eu>
|
||||
" Author: Steve Spigarelli <http://spig.net/>
|
||||
" Original Author: Jean-Marc Vanel <http://jmvanel.free.fr/>
|
||||
" Last Change: December 11, 2010
|
||||
" Last Change: mar jui 12 18:04:05 CEST 2005
|
||||
" Filenames: *.xq
|
||||
" URL: http://jmvanel.free.fr/vim/xquery.vim
|
||||
|
||||
@@ -51,7 +51,7 @@ syn match xqFloat "\d\+e[-+]\=\d\+[fl]\=\>"
|
||||
syn match xqNumber "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
syn match xqNumber "\<\d\+\>"
|
||||
|
||||
syn region xqString start=+"+ end=+"+
|
||||
syn region xqString start=+\z(['"]\)+ skip=+\\.+ end=+\z1+
|
||||
syn region xqComment start='(:' excludenl end=':)' contains=XQdoc
|
||||
|
||||
syn match xqVariable "$\<[a-zA-Z:_][-.0-9a-zA-Z0-9:_]*\>"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
===============================================================================
|
||||
= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.7.fr.2 =
|
||||
= B i e n v e n u e dans l e T u t o r i e l de V I M - Version 1.7 =
|
||||
===============================================================================
|
||||
|
||||
Vim est un <20>diteur tr<74>s puissant qui a trop de commandes pour pouvoir
|
||||
@@ -67,7 +67,7 @@ NOTE : Les touches fl
|
||||
4. Si vous avez m<>moris<69> ces <20>tapes et <20>tes confiant, effectuez les <20>tapes
|
||||
1 <20> 3 pour sortir puis rentrer dans l'<27>diteur.
|
||||
|
||||
NOTE : :q! <Entr<74>e> annule tous les changements que vous avez fait. Dans
|
||||
NOTE : :q! <Entr<74>e> annule tous les changements que vous avez faits. Dans
|
||||
quelques le<6C>ons, vous apprendrez <20> enregistrer les changements.
|
||||
|
||||
5. D<>placez le curseur <20> la Le<4C>on 1.3.
|
||||
@@ -260,7 +260,7 @@ NOTE : La lettre d appara
|
||||
|
||||
Une courte liste de mouvements :
|
||||
w - jusqu'au d<>but du prochain mot, en EXCLUANT son premier caract<63>re.
|
||||
e - jusqu'<27> la fin du mot courant, en EXCLUANT son denier caract<63>re.
|
||||
e - jusqu'<27> la fin du mot courant, en EXCLUANT son dernier caract<63>re.
|
||||
$ - jusqu'<27> la fin de la ligne, en INCLUANT son dernier caract<63>re.
|
||||
|
||||
Ainsi, taper de va effacer depuis le curseur jusqu'<27> la fin du mot.
|
||||
@@ -299,7 +299,7 @@ NOTE : Le seul appui d'un mouvement en mode Normal, sans commande, d
|
||||
|
||||
Outre la combinaison de l'op<6F>rateur d'effacement avec un d<>placement
|
||||
mentionn<6E> ci-dessus, vous pouvez ins<6E>rer un nombre (quantificateur)
|
||||
pour effacez encore plus :
|
||||
pour effacer encore plus :
|
||||
d nombre d<>placement
|
||||
|
||||
1. D<>placez le curseur vers le premier mot en MAJUSCULES dans la ligne
|
||||
@@ -704,7 +704,7 @@ NOTE : Si vous quittez Vim et le red
|
||||
3. Appuyez : . En bas de l'<27>cran :'<,'> va appara<72>tre.
|
||||
|
||||
4. Tapez w TEST , o<> TEST est un nom de fichier qui n'existe pas.
|
||||
V<>rifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur Entr<74>e.
|
||||
V<>rifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur <Entr<EFBFBD>e>.
|
||||
|
||||
5. Vim va enregistrer les lignes s<>lectionn<6E>es dans le fichier TEST.
|
||||
Utilisez :!dir ou !ls pour le voir. Ne l'effacez pas encore !
|
||||
@@ -725,7 +725,7 @@ NOTE : L'appui de v d
|
||||
1. Placez le curseur juste au-dessus de cette ligne.
|
||||
|
||||
NOTE : Apr<70>s avoir ex<65>cut<75> l'<27>tape 2 vous verrez du texte de la Le<4C>on 5.3.
|
||||
Puis d<>placez vous vers le bas pour voir cette le<6C>on <20> nouveau.
|
||||
Puis d<>placez-vous vers le bas pour voir cette le<6C>on <20> nouveau.
|
||||
|
||||
2. Maintenant r<>cup<75>rez votre fichier TEST en utilisant la commande :r TEST
|
||||
o<> TEST est le nom de votre fichier.
|
||||
@@ -854,7 +854,7 @@ NOTE : Le mode Remplacement est comme le mode Insertion, mais tous les
|
||||
5. Tapez p pour coller le texte. Puis tapez : un second <<3C>chap> .
|
||||
|
||||
6. Utilisez le mode Visuel pour s<>lectionner "<22>l<EFBFBD>ment", copiez le avec y ,
|
||||
d<>placez vous <20> la fin de la ligne suivant avec j$ et collez le texte
|
||||
d<>placez-vous <20> la fin de la ligne suivant avec j$ et collez le texte
|
||||
<20> cet endroit avec p .
|
||||
|
||||
---> a) ceci est le premier <20>l<EFBFBD>ment.
|
||||
@@ -1012,8 +1012,8 @@ NOTE : Le compl
|
||||
Ceci conclut le Tutoriel Vim. Le but <20>tait de vous donner un bref aper<65>u de
|
||||
l'<27>diteur Vim, juste assez pour vous permettre d'utiliser l'<27>diteur
|
||||
relativement facilement. Il est loin d'<27>tre complet, vu que Vim a beaucoup
|
||||
beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en
|
||||
anglais : :help user-manual .
|
||||
plus de commandes. Un Manuel de l'utilisateur est disponible en anglais :
|
||||
:help user-manual
|
||||
|
||||
Pour continuer <20> d<>couvrir et <20> apprendre Vim, il existe un livre traduit en
|
||||
fran<61>ais. Il parle plus de Vi que de Vim, mais pourra vous <20>tre utile.
|
||||
@@ -1030,9 +1030,9 @@ NOTE : Le compl
|
||||
Universit<69> d'<27>tat du Colorado. E-mail : bware@mines.colorado.edu.
|
||||
|
||||
Modifi<66> pour Vim par Bram Moolenar.
|
||||
Traduit en Fran<EFBFBD>ais par Adrien Beau, en avril 2001.
|
||||
Traduit en fran<EFBFBD>ais par Adrien Beau, en avril 2001.
|
||||
Derni<6E>res mises <20> jour par Dominique Pell<6C>.
|
||||
|
||||
E-mail : dominique.pelle@gmail.com
|
||||
Last Change : 2010 May 23
|
||||
Last Change : 2011 Jun 25
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
===============================================================================
|
||||
= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.7.fr.2 =
|
||||
= B i e n v e n u e dans l e T u t o r i e l de V I M - Version 1.7 =
|
||||
===============================================================================
|
||||
|
||||
Vim est un éditeur très puissant qui a trop de commandes pour pouvoir
|
||||
@@ -67,7 +67,7 @@ NOTE : Les touches fléchées devraient également fonctionner. Mais en utilisan
|
||||
4. Si vous avez mémorisé ces étapes et êtes confiant, effectuez les étapes
|
||||
1 à 3 pour sortir puis rentrer dans l'éditeur.
|
||||
|
||||
NOTE : :q! <Entrée> annule tous les changements que vous avez fait. Dans
|
||||
NOTE : :q! <Entrée> annule tous les changements que vous avez faits. Dans
|
||||
quelques leçons, vous apprendrez à enregistrer les changements.
|
||||
|
||||
5. Déplacez le curseur à la Leçon 1.3.
|
||||
@@ -260,7 +260,7 @@ NOTE : La lettre d apparaîtra sur la dernière ligne de l'écran lors de
|
||||
|
||||
Une courte liste de mouvements :
|
||||
w - jusqu'au début du prochain mot, en EXCLUANT son premier caractère.
|
||||
e - jusqu'à la fin du mot courant, en EXCLUANT son denier caractère.
|
||||
e - jusqu'à la fin du mot courant, en EXCLUANT son dernier caractère.
|
||||
$ - jusqu'à la fin de la ligne, en INCLUANT son dernier caractère.
|
||||
|
||||
Ainsi, taper de va effacer depuis le curseur jusqu'à la fin du mot.
|
||||
@@ -299,7 +299,7 @@ NOTE : Le seul appui d'un mouvement en mode Normal, sans commande, déplace le
|
||||
|
||||
Outre la combinaison de l'opérateur d'effacement avec un déplacement
|
||||
mentionné ci-dessus, vous pouvez insérer un nombre (quantificateur)
|
||||
pour effacez encore plus :
|
||||
pour effacer encore plus :
|
||||
d nombre déplacement
|
||||
|
||||
1. Déplacez le curseur vers le premier mot en MAJUSCULES dans la ligne
|
||||
@@ -704,7 +704,7 @@ NOTE : Si vous quittez Vim et le redémarrez de nouveau avec le fichier TEST,
|
||||
3. Appuyez : . En bas de l'écran :'<,'> va apparaître.
|
||||
|
||||
4. Tapez w TEST , où TEST est un nom de fichier qui n'existe pas.
|
||||
Vérifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur Entrée.
|
||||
Vérifiez que vous voyez :'<,'>w TEST avant de d'appuyer sur <Entrée>.
|
||||
|
||||
5. Vim va enregistrer les lignes sélectionnées dans le fichier TEST.
|
||||
Utilisez :!dir ou !ls pour le voir. Ne l'effacez pas encore !
|
||||
@@ -725,7 +725,7 @@ NOTE : L'appui de v démarre la sélection Visuelle. Vous pouvez déplacer le
|
||||
1. Placez le curseur juste au-dessus de cette ligne.
|
||||
|
||||
NOTE : Après avoir exécuté l'étape 2 vous verrez du texte de la Leçon 5.3.
|
||||
Puis déplacez vous vers le bas pour voir cette leçon à nouveau.
|
||||
Puis déplacez-vous vers le bas pour voir cette leçon à nouveau.
|
||||
|
||||
2. Maintenant récupérez votre fichier TEST en utilisant la commande :r TEST
|
||||
où TEST est le nom de votre fichier.
|
||||
@@ -854,7 +854,7 @@ NOTE : Le mode Remplacement est comme le mode Insertion, mais tous les
|
||||
5. Tapez p pour coller le texte. Puis tapez : un second <Échap> .
|
||||
|
||||
6. Utilisez le mode Visuel pour sélectionner "élément", copiez le avec y ,
|
||||
déplacez vous à la fin de la ligne suivant avec j$ et collez le texte
|
||||
déplacez-vous à la fin de la ligne suivant avec j$ et collez le texte
|
||||
à cet endroit avec p .
|
||||
|
||||
---> a) ceci est le premier élément.
|
||||
@@ -1012,8 +1012,8 @@ NOTE : Le complètement fonctionne pour de nombreuses commandes. Essayez
|
||||
Ceci conclut le Tutoriel Vim. Le but était de vous donner un bref aperçu de
|
||||
l'éditeur Vim, juste assez pour vous permettre d'utiliser l'éditeur
|
||||
relativement facilement. Il est loin d'être complet, vu que Vim a beaucoup
|
||||
beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en
|
||||
anglais : :help user-manual .
|
||||
plus de commandes. Un Manuel de l'utilisateur est disponible en anglais :
|
||||
:help user-manual
|
||||
|
||||
Pour continuer à découvrir et à apprendre Vim, il existe un livre traduit en
|
||||
français. Il parle plus de Vi que de Vim, mais pourra vous être utile.
|
||||
@@ -1030,9 +1030,9 @@ NOTE : Le complètement fonctionne pour de nombreuses commandes. Essayez
|
||||
Université d'État du Colorado. E-mail : bware@mines.colorado.edu.
|
||||
|
||||
Modifié pour Vim par Bram Moolenar.
|
||||
Traduit en Français par Adrien Beau, en avril 2001.
|
||||
Traduit en français par Adrien Beau, en avril 2001.
|
||||
Dernières mises à jour par Dominique Pellé.
|
||||
|
||||
E-mail : dominique.pelle@gmail.com
|
||||
Last Change : 2010 May 23
|
||||
Last Change : 2011 Jun 25
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -142,6 +142,7 @@ static char *null_libintl_bindtextdomain(const char *, const char *);
|
||||
static int dyn_libintl_init(char *dir);
|
||||
static void dyn_libintl_end(void);
|
||||
|
||||
static wchar_t *oldenv = NULL;
|
||||
static HINSTANCE hLibintlDLL = 0;
|
||||
static char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
|
||||
static char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
|
||||
@@ -339,8 +340,10 @@ DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /* lpReserved */)
|
||||
inc_cRefThisDLL()
|
||||
{
|
||||
#ifdef FEAT_GETTEXT
|
||||
if (g_cRefThisDll == 0)
|
||||
if (g_cRefThisDll == 0) {
|
||||
dyn_gettext_load();
|
||||
oldenv = GetEnvironmentStringsW();
|
||||
}
|
||||
#endif
|
||||
InterlockedIncrement((LPLONG)&g_cRefThisDll);
|
||||
}
|
||||
@@ -349,8 +352,13 @@ inc_cRefThisDLL()
|
||||
dec_cRefThisDLL()
|
||||
{
|
||||
#ifdef FEAT_GETTEXT
|
||||
if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0)
|
||||
if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0) {
|
||||
dyn_gettext_free();
|
||||
if (oldenv != NULL) {
|
||||
FreeEnvironmentStringsW(oldenv);
|
||||
oldenv = NULL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
InterlockedDecrement((LPLONG)&g_cRefThisDll);
|
||||
#endif
|
||||
@@ -586,8 +594,23 @@ STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu,
|
||||
|
||||
// Initialize m_cntOfHWnd to 0
|
||||
m_cntOfHWnd = 0;
|
||||
// Retrieve all the vim instances
|
||||
EnumWindows(EnumWindowsProc, (LPARAM)this);
|
||||
|
||||
HKEY keyhandle;
|
||||
bool showExisting = true;
|
||||
|
||||
// Check whether "Edit with existing Vim" entries are disabled.
|
||||
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Vim\\Gvim", 0,
|
||||
KEY_READ, &keyhandle) == ERROR_SUCCESS)
|
||||
{
|
||||
if (RegQueryValueEx(keyhandle, "DisableEditWithExisting", 0, NULL,
|
||||
NULL, NULL) == ERROR_SUCCESS)
|
||||
showExisting = false;
|
||||
RegCloseKey(keyhandle);
|
||||
}
|
||||
|
||||
// Retrieve all the vim instances, unless disabled.
|
||||
if (showExisting)
|
||||
EnumWindows(EnumWindowsProc, (LPARAM)this);
|
||||
|
||||
if (cbFiles > 1)
|
||||
{
|
||||
@@ -890,8 +913,8 @@ STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
|
||||
NULL, // Process handle not inheritable.
|
||||
NULL, // Thread handle not inheritable.
|
||||
FALSE, // Set handle inheritance to FALSE.
|
||||
0, // No creation flags.
|
||||
NULL, // Use parent's environment block.
|
||||
oldenv == NULL ? 0 : CREATE_UNICODE_ENVIRONMENT,
|
||||
oldenv, // Use unmodified environment block.
|
||||
NULL, // Use parent's starting directory.
|
||||
&si, // Pointer to STARTUPINFO structure.
|
||||
&pi) // Pointer to PROCESS_INFORMATION structure.
|
||||
@@ -972,8 +995,8 @@ STDMETHODIMP CShellExt::InvokeSingleGvim(HWND hParent,
|
||||
NULL, // Process handle not inheritable.
|
||||
NULL, // Thread handle not inheritable.
|
||||
FALSE, // Set handle inheritance to FALSE.
|
||||
0, // No creation flags.
|
||||
NULL, // Use parent's environment block.
|
||||
oldenv == NULL ? 0 : CREATE_UNICODE_ENVIRONMENT,
|
||||
oldenv, // Use unmodified environment block.
|
||||
NULL, // Use parent's starting directory.
|
||||
&si, // Pointer to STARTUPINFO structure.
|
||||
&pi) // Pointer to PROCESS_INFORMATION structure.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;gvimdef.def : Declares the module parameters for the DLL.
|
||||
|
||||
LIBRARY gvimext
|
||||
DESCRIPTION 'Vim Shell Extension'
|
||||
; DESCRIPTION 'Vim Shell Extension'
|
||||
|
||||
EXPORTS
|
||||
DllCanUnloadNow private
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
;Hence this is the same file as gvimext.def with private removed
|
||||
|
||||
LIBRARY gvimext
|
||||
DESCRIPTION 'Vim Shell Extension build with MinGW'
|
||||
; DESCRIPTION 'Vim Shell Extension build with MinGW'
|
||||
|
||||
EXPORTS
|
||||
DllCanUnloadNow = DllCanUnloadNow@0
|
||||
|
||||
27
src/INSTALL
27
src/INSTALL
@@ -6,9 +6,8 @@ executable version of Vim, you don't need this.
|
||||
Contents:
|
||||
1. Generic
|
||||
2. Unix
|
||||
3. RISC OS
|
||||
4. OS/2 (with EMX 0.9b)
|
||||
5. Atari MiNT
|
||||
3. OS/2 (with EMX 0.9b)
|
||||
4. Atari MiNT
|
||||
|
||||
See INSTALLami.txt for Amiga
|
||||
See INSTALLmac.txt for Macintosh
|
||||
@@ -174,25 +173,7 @@ And to not search for locally installed headers and libraries at all, use:
|
||||
./configure --without-local-dir
|
||||
|
||||
|
||||
3. RISC OS
|
||||
=============
|
||||
|
||||
Much file renaming is needed before you can compile anything.
|
||||
You'll need UnixLib to link against, GCC and GNU make.
|
||||
|
||||
I suggest you get the RISC OS binary distribution, which includes the
|
||||
Templates file and the loader.
|
||||
|
||||
Try here: http://www.ecs.soton.ac.uk/~tal197
|
||||
|
||||
Do
|
||||
:help riscos
|
||||
|
||||
within the editor for more information, or read the
|
||||
../runtime/doc/os_risc.txt help file.
|
||||
|
||||
|
||||
4. OS/2
|
||||
3. OS/2
|
||||
=======
|
||||
|
||||
Summary:
|
||||
@@ -237,7 +218,7 @@ Prerequisites:
|
||||
Check ../runtime/doc/os_os2.txt for additional info on running Vim.
|
||||
|
||||
|
||||
5. Atari MiNT
|
||||
4. Atari MiNT
|
||||
=============
|
||||
|
||||
[NOTE: this is quite old, it might not work anymore]
|
||||
|
||||
@@ -11,9 +11,9 @@ The file "feature.h" can be edited to match your preferences. You can skip
|
||||
this, then you will get the default behavior as is documented, which should
|
||||
be fine for most people.
|
||||
|
||||
With the exception of the last two sections (Windows 3.1 and MS-DOS),
|
||||
this document assumes that you are building Vim for Win32
|
||||
(Windows NT/2000/XP/2003/Vista and Windows 95/98/Me)
|
||||
With the exception of two sections (Windows 3.1 and MS-DOS), this document
|
||||
assumes that you are building Vim for Win32 or later.
|
||||
(Windows 95/98/Me/NT/2000/XP/2003/Vista/7)
|
||||
|
||||
|
||||
Contents:
|
||||
@@ -27,9 +27,13 @@ Contents:
|
||||
8. Windows 3.1
|
||||
9. MS-DOS
|
||||
|
||||
10. Installing after building from sources
|
||||
|
||||
|
||||
The currently preferred method is using the free Visual C++ Toolkit 2008
|
||||
|msvc-2008-express|. If you need the executable to run on Windows 98 or ME,
|
||||
use the 2003 one |msvc-2003-toolkit|.
|
||||
|msvc-2008-express|, the produced binary runs on most MS-Windows systems. If
|
||||
you need the executable to run on Windows 98 or ME, use the 2003 one
|
||||
|msvc-2003-toolkit|.
|
||||
|
||||
|
||||
1. Microsoft Visual C++
|
||||
@@ -176,7 +180,7 @@ Visual C++ 2010 Express Edition can be downloaded for free from:
|
||||
http://www.microsoft.com/express/vc/Default.aspx
|
||||
This includes the IDE and the debugger.
|
||||
|
||||
To set the environment execute the msvc2008.bat script. You can then build
|
||||
To set the environment execute the msvc2010.bat script. You can then build
|
||||
Vim with Make_mvc.mak.
|
||||
|
||||
|
||||
@@ -406,5 +410,61 @@ Windows exe (GUI or console mode), or a 16-bit MS-DOS version.
|
||||
NOTE: multi-byte support is broken in the Borland libraries, not everything
|
||||
will work properly! Esp. handling multi-byte file names.
|
||||
|
||||
If you get all kinds of strange error messages when compiling, try adding
|
||||
changing the file format from "unix" to "dos".
|
||||
If you get all kinds of strange error messages when compiling, try changing
|
||||
the file format from "unix" to "dos".
|
||||
|
||||
|
||||
10. Installing after building from sources
|
||||
==========================================
|
||||
|
||||
[provided by Michael Soyka]
|
||||
|
||||
After you've built the Vim binaries as described above, you're ready to
|
||||
install Vim on your system. However, if you've obtained the Vim sources
|
||||
using Mercurial or by downloading them as a unix tar file, you must first
|
||||
create a "vim73" directory. If you instead downloaded the sources as
|
||||
zip files, you can skip this setup as the zip archives already have the
|
||||
correct directory structure.
|
||||
|
||||
A. Create a Vim "runtime" subdirectory named "vim73"
|
||||
-----------------------------------------------------
|
||||
If you obtained your Vim sources as zip files, you can skip this step.
|
||||
Otherwise, continue reading.
|
||||
|
||||
Go to the directory that contains the Vim "src" and "runtime"
|
||||
directories and create a new subdirectory named "vim73".
|
||||
|
||||
Copy the "runtime" files into "vim73":
|
||||
copy runtime\* vim73
|
||||
|
||||
B. Copy the new binaries into the "vim73" directory
|
||||
----------------------------------------------------
|
||||
Regardless of how you installed the Vim sources, you need to copy the
|
||||
new binaries you created above into "vim73":
|
||||
|
||||
copy src\*.exe vim73
|
||||
copy src\GvimExt\gvimext.dll vim73
|
||||
copy src\xxd\xxd.exe vim73
|
||||
|
||||
C. Move the "vim73" directory into the Vim installation subdirectory
|
||||
---------------------------------------------------------------------
|
||||
Move the "vim73" subdirectory into the subdirectory where you want Vim
|
||||
to be installed. Typically, this subdirectory will be named "vim".
|
||||
If you already have a "vim73" subdirectory in "vim", delete it first
|
||||
by running its uninstal.exe program.
|
||||
|
||||
D. Install Vim
|
||||
---------------
|
||||
"cd" to your Vim installation subdirectory "vim\vim73" and run the
|
||||
"install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
parent directory.
|
||||
- It can also install an "Edit with Vim" entry in the Windows Explorer
|
||||
popup menu.
|
||||
- You can have it create batch files, so that you can run Vim from the
|
||||
console or in a shell. You can select one of the directories in your
|
||||
PATH or add the directory to PATH using the Windows Control Panel.
|
||||
- Create entries for Vim on the desktop and in the Start menu.
|
||||
|
||||
Happy Vimming!
|
||||
|
||||
@@ -87,7 +87,7 @@ INTLLIB=gnu_gettext
|
||||
|
||||
# If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
|
||||
# or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
|
||||
# uncomment the following, but I can't build a static versi<EFBFBD>n with them, ?-(|
|
||||
# uncomment the following, but I can't build a static version with them, ?-(|
|
||||
#GETTEXT=c:/gettext-0.10.37-20010430
|
||||
#STATIC_GETTEXT=USE_STATIC_GETTEXT
|
||||
#DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
|
||||
|
||||
@@ -409,8 +409,8 @@ CPUARG = /G7 /arch:SSE2
|
||||
CPUARG =
|
||||
!endif
|
||||
!else
|
||||
# VC8/9 only allows specifying SSE architecture
|
||||
!if "$(CPUNR)" == "pentium4"
|
||||
# VC8/9/10 only allows specifying SSE architecture but only for 32bit
|
||||
!if "$(ASSEMBLY_ARCHITECTURE)" == "x86" && "$(CPUNR)" == "pentium4"
|
||||
CPUARG = /arch:SSE2
|
||||
!endif
|
||||
!endif
|
||||
|
||||
135
src/Make_ro.mak
135
src/Make_ro.mak
@@ -1,135 +0,0 @@
|
||||
#
|
||||
# Makefile for Vim on RISC OS - Andy Wingate
|
||||
#
|
||||
|
||||
GCC = gcc -mthrowback
|
||||
CFLAGS = -DRISCOS -DFEAT_GUI
|
||||
CC = $(GCC) $(CFLAGS) -O2
|
||||
# -DUP_BC_PC_EXTERN for term.c needed as BC defined in termlib.c and term.c
|
||||
|
||||
TERMFLAG = -DUP_BC_PC_EXTERN
|
||||
|
||||
ASMFLAGS = -throwback -objasm -gcc
|
||||
|
||||
OBJS = o.buffer o.charset o.diff o.digraph o.edit o.eval o.ex_cmds o.ex_cmds2 \
|
||||
o.ex_docmd o.ex_eval o.ex_getln o.fileio o.fold o.getchar \
|
||||
o.hardcopy o.hashtab o.main o.mark o.mbyte \
|
||||
o.memfile o.memline o.menu o.message o.misc1 o.misc2 o.move \
|
||||
o.normal o.ops o.option o.popupmnu o.quickfix o.regexp o.screen \
|
||||
o.search \
|
||||
o.spell o.syntax o.tag o.term o.termlib o.ui o.undo o.version \
|
||||
o.window o.os_riscos o.swis o.gui o.gui_riscos
|
||||
|
||||
Vim: $(OBJS)
|
||||
$(GCC) -o Vim $(OBJS)
|
||||
|
||||
install: Vim
|
||||
squeeze -v Vim @.!Vim.Vim
|
||||
|
||||
clean:
|
||||
create o.!fake! 0
|
||||
wipe o.* ~cf
|
||||
remove Vim
|
||||
|
||||
o.swis: s.swis
|
||||
as $(ASMFLAGS) -o o.swis s.swis
|
||||
|
||||
# Rules for object files
|
||||
|
||||
o.%: c.%
|
||||
$(CC) -c $< -o $@
|
||||
|
||||
o.buffer: c.buffer
|
||||
|
||||
o.charset: c.charset
|
||||
|
||||
o.digraph: c.digraph
|
||||
|
||||
o.diff: c.diff
|
||||
|
||||
o.edit: c.edit
|
||||
|
||||
o.eval: c.eval
|
||||
|
||||
o.ex_cmds: c.ex_cmds
|
||||
|
||||
o.ex_cmds2: c.ex_cmds2
|
||||
|
||||
o.ex_docmd: c.ex_docmd
|
||||
|
||||
o.ex_eval: c.ex_eval
|
||||
|
||||
o.ex_getln: c.ex_getln
|
||||
|
||||
o.fileio: c.fileio
|
||||
|
||||
o.fold: c.fold
|
||||
|
||||
o.getchar: c.getchar
|
||||
|
||||
o.hardcopy: c.hardcopy
|
||||
|
||||
o.hashtab: c.hashtab
|
||||
|
||||
o.gui: c.gui
|
||||
|
||||
o.gui_riscos: c.gui_riscos
|
||||
|
||||
o.main: c.main
|
||||
|
||||
o.mark: c.mark
|
||||
|
||||
o.mbyte: c.mbyte
|
||||
|
||||
o.memfile: c.memfile
|
||||
|
||||
o.memline: c.memline
|
||||
|
||||
o.menu: c.menu
|
||||
|
||||
o.message: c.message
|
||||
|
||||
o.misc1: c.misc1
|
||||
|
||||
o.misc2: c.misc2
|
||||
|
||||
o.move: c.move
|
||||
|
||||
o.normal: c.normal
|
||||
|
||||
o.ops: c.ops
|
||||
|
||||
o.option: c.option
|
||||
|
||||
o.os_riscos: c.os_riscos
|
||||
|
||||
o.pty: c.pty
|
||||
|
||||
o.popupmnu: c.popupmnu
|
||||
|
||||
o.quickfix: c.quickfix
|
||||
|
||||
o.regexp: c.regexp
|
||||
|
||||
o.screen: c.screen
|
||||
|
||||
o.search: c.search
|
||||
|
||||
o.spell: c.spell
|
||||
|
||||
o.syntax: c.syntax
|
||||
|
||||
o.tag: c.tag
|
||||
|
||||
o.term: c.term
|
||||
$(CC) $(TERMFLAG) -c c.term -o o.term
|
||||
|
||||
o.termlib: c.termlib
|
||||
|
||||
o.ui: c.ui
|
||||
|
||||
o.undo: c.undo
|
||||
|
||||
o.version: c.version
|
||||
|
||||
o.window: c.window
|
||||
10
src/Makefile
10
src/Makefile
@@ -29,7 +29,7 @@
|
||||
# - Uncomment the line "CONF_OPT_X = --without-x" if you have X11 but
|
||||
# want to disable using X11 libraries. This speeds up starting Vim,
|
||||
# but the window title will not be set and the X11 selection can not
|
||||
# used.
|
||||
# be used.
|
||||
# - Uncomment the line "CONF_OPT_XSMP = --disable-xsmp" if you have the
|
||||
# X11 Session Management Protocol (XSMP) library (libSM) but do not
|
||||
# want to use it.
|
||||
@@ -730,12 +730,6 @@ LINT_OPTIONS = -beprxzF
|
||||
### USL for Unix Systems Laboratories (SYSV 4.2)
|
||||
#EXTRA_DEFS = -DUSL
|
||||
|
||||
### RISCos on MIPS without X11
|
||||
#EXTRA_DEFS = -DMIPS
|
||||
|
||||
### RISCos on MIPS with X11
|
||||
#EXTRA_LIBS = -lsun
|
||||
|
||||
### (6) A/UX 3.1.1 with gcc (Jim Jagielski)
|
||||
#CC= gcc -D_POSIX_SOURCE
|
||||
#CFLAGS= -O2
|
||||
@@ -1633,7 +1627,7 @@ PRO_AUTO = \
|
||||
RSRC_DIR = os_mac_rsrc
|
||||
|
||||
PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
|
||||
os_mswin.pro os_beos.pro os_vms.pro os_riscos.pro $(PERL_PRO)
|
||||
os_mswin.pro os_beos.pro os_vms.pro $(PERL_PRO)
|
||||
|
||||
# Default target is making the executable and tools
|
||||
all: $(VIMTARGET) $(TOOLS) languages $(GUI_BUNDLE)
|
||||
|
||||
@@ -549,7 +549,7 @@ static BOOL VimOpenFile(BSTR& FileName, long LineNr)
|
||||
if (g_bNewTabs)
|
||||
{
|
||||
sprintf(VimCmd, ":tab drop ");
|
||||
s = VimCmd + 11;
|
||||
s = VimCmd + 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -557,8 +557,7 @@ static BOOL VimOpenFile(BSTR& FileName, long LineNr)
|
||||
s = VimCmd + 6;
|
||||
}
|
||||
sprintf(FileNameTmp, "%S", (char *)FileName);
|
||||
for (p = FileNameTmp; *p != '\0' && s < FileNameTmp + MAX_OLE_STR - 4;
|
||||
++p)
|
||||
for (p = FileNameTmp; *p != '\0' && s < VimCmd + MAX_OLE_STR - 4; ++p)
|
||||
if (*p == '\\')
|
||||
*s++ = '/';
|
||||
else
|
||||
|
||||
11
src/ascii.h
11
src/ascii.h
@@ -123,7 +123,7 @@
|
||||
#define DCS 0x90 /* Device Control String */
|
||||
#define STERM 0x9c /* String Terminator */
|
||||
|
||||
#define POUND '<EFBFBD>'
|
||||
#define POUND '\xA3'
|
||||
|
||||
#define CTRL_F_STR "\056"
|
||||
#define CTRL_H_STR "\026"
|
||||
@@ -183,11 +183,6 @@ extern char MetaCharTable[];
|
||||
# define PATHSEP psepc
|
||||
# define PATHSEPSTR pseps
|
||||
#else
|
||||
# ifdef RISCOS
|
||||
# define PATHSEP '.'
|
||||
# define PATHSEPSTR "."
|
||||
# else
|
||||
# define PATHSEP '/'
|
||||
# define PATHSEPSTR "/"
|
||||
# endif
|
||||
# define PATHSEP '/'
|
||||
# define PATHSEPSTR "/"
|
||||
#endif
|
||||
|
||||
44
src/auto/configure
vendored
44
src/auto/configure
vendored
@@ -5505,6 +5505,23 @@ fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_version" >&5
|
||||
$as_echo "$vi_cv_var_python3_version" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
|
||||
$as_echo_n "checking Python's abiflags... " >&6; }
|
||||
if test "${vi_cv_var_python3_abiflags+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
vi_cv_var_python3_abiflags=
|
||||
if ${vi_cv_path_python3} -c \
|
||||
"import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
|
||||
then
|
||||
vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
|
||||
"import sys; print(sys.abiflags)"`
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_abiflags" >&5
|
||||
$as_echo "$vi_cv_var_python3_abiflags" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
|
||||
$as_echo_n "checking Python's install prefix... " >&6; }
|
||||
if test "${vi_cv_path_python3_pfx+set}" = set; then :
|
||||
@@ -5555,9 +5572,13 @@ if test "${vi_cv_path_python3_conf+set}" = set; then :
|
||||
else
|
||||
|
||||
vi_cv_path_python3_conf=
|
||||
config_dir="config"
|
||||
if test "${vi_cv_var_python3_abiflags}" != ""; then
|
||||
config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
||||
fi
|
||||
for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
|
||||
for subdir in lib64 lib share; do
|
||||
d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
|
||||
d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
|
||||
if test -d "$d" && test -f "$d/config.c"; then
|
||||
vi_cv_path_python3_conf="$d"
|
||||
fi
|
||||
@@ -5586,13 +5607,12 @@ __:
|
||||
@echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
|
||||
@echo "python3_LIBS='$(LIBS)'"
|
||||
@echo "python3_SYSLIBS='$(SYSLIBS)'"
|
||||
@echo "python3_LINKFORSHARED='$(LINKFORSHARED)'"
|
||||
@echo "python3_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
||||
rm -f -- "${tmp_mkf}"
|
||||
vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
|
||||
vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
|
||||
vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
||||
vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
|
||||
|
||||
@@ -5601,9 +5621,9 @@ fi
|
||||
|
||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
else
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
if test "x$MACOSX" = "xyes"; then
|
||||
@@ -5713,7 +5733,7 @@ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python... " >&6;
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
LDFLAGS="-ldl $LDFLAGS"
|
||||
if test "$cross_compiling" = yes; then :
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
@@ -5778,7 +5798,7 @@ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python3... " >&6;
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
LDFLAGS="-ldl $LDFLAGS"
|
||||
if test "$cross_compiling" = yes; then :
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
@@ -12028,10 +12048,12 @@ fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create tags" >&5
|
||||
$as_echo_n "checking how to create tags... " >&6; }
|
||||
test -f tags && mv tags tags.save
|
||||
if (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="exctags -I INIT+ --fields=+S"
|
||||
elif (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="ctags -I INIT+ --fields=+S"
|
||||
elif (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="exctags -I INIT+ --fields=+S"
|
||||
elif (eval exuberant-ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
|
||||
TAGPRG="exuberant-ctags -I INIT+ --fields=+S"
|
||||
else
|
||||
TAGPRG="ctags"
|
||||
(eval etags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags"
|
||||
|
||||
@@ -1808,9 +1808,6 @@ free_buf_options(buf, free_p_ff)
|
||||
#ifdef FEAT_AUTOCMD
|
||||
clear_string_option(&buf->b_p_ft);
|
||||
#endif
|
||||
#ifdef FEAT_OSFILETYPE
|
||||
clear_string_option(&buf->b_p_oft);
|
||||
#endif
|
||||
#ifdef FEAT_CINDENT
|
||||
clear_string_option(&buf->b_p_cink);
|
||||
clear_string_option(&buf->b_p_cino);
|
||||
|
||||
@@ -346,6 +346,9 @@
|
||||
/* Define if dynamic python does not require RTLD_GLOBAL */
|
||||
#undef PY_NO_RTLD_GLOBAL
|
||||
|
||||
/* Define if dynamic python3 does not require RTLD_GLOBAL */
|
||||
#undef PY3_NO_RTLD_GLOBAL
|
||||
|
||||
/* Define if you want to include the Ruby interpreter. */
|
||||
#undef FEAT_RUBY
|
||||
|
||||
|
||||
@@ -992,6 +992,17 @@ if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic";
|
||||
${vi_cv_path_python3} -c 'import sys; print(sys.version[:3])'`
|
||||
]])
|
||||
|
||||
dnl -- get abiflags for python 3.2 or higher (PEP 3149)
|
||||
AC_CACHE_CHECK(Python's abiflags,vi_cv_var_python3_abiflags,
|
||||
[
|
||||
vi_cv_var_python3_abiflags=
|
||||
if ${vi_cv_path_python3} -c \
|
||||
"import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
|
||||
then
|
||||
vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
|
||||
"import sys; print(sys.abiflags)"`
|
||||
fi ])
|
||||
|
||||
dnl -- find where python3 thinks it was installed
|
||||
AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python3_pfx,
|
||||
[ vi_cv_path_python3_pfx=`
|
||||
@@ -1021,9 +1032,13 @@ if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic";
|
||||
AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf,
|
||||
[
|
||||
vi_cv_path_python3_conf=
|
||||
config_dir="config"
|
||||
if test "${vi_cv_var_python3_abiflags}" != ""; then
|
||||
config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
||||
fi
|
||||
for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
|
||||
for subdir in lib64 lib share; do
|
||||
d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
|
||||
d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
|
||||
if test -d "$d" && test -f "$d/config.c"; then
|
||||
vi_cv_path_python3_conf="$d"
|
||||
fi
|
||||
@@ -1048,14 +1063,13 @@ __:
|
||||
@echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
|
||||
@echo "python3_LIBS='$(LIBS)'"
|
||||
@echo "python3_SYSLIBS='$(SYSLIBS)'"
|
||||
@echo "python3_LINKFORSHARED='$(LINKFORSHARED)'"
|
||||
@echo "python3_INSTSONAME='$(INSTSONAME)'"
|
||||
eof
|
||||
dnl -- delete the lines from make about Entering/Leaving directory
|
||||
eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
|
||||
rm -f -- "${tmp_mkf}"
|
||||
vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
|
||||
vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
|
||||
vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
|
||||
vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
|
||||
dnl remove -ltermcap, it can conflict with an earlier -lncurses
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
|
||||
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
|
||||
@@ -1063,9 +1077,9 @@ eof
|
||||
|
||||
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
|
||||
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
else
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
|
||||
fi
|
||||
PYTHON3_SRC="if_python3.c"
|
||||
dnl For Mac OSX 10.2 config.o is included in the Python library.
|
||||
@@ -1147,7 +1161,8 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
|
||||
LDFLAGS="-ldl $LDFLAGS"
|
||||
AC_RUN_IFELSE([
|
||||
#include <dlfcn.h>
|
||||
/* If this program fails, then RTLD_GLOBAL is needed.
|
||||
@@ -1191,7 +1206,8 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then
|
||||
cflags_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $PYTHON3_CFLAGS"
|
||||
ldflags_save=$LDFLAGS
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
dnl -ldl must go first to make this work on Archlinux (Roland Puntaier)
|
||||
LDFLAGS="-ldl $LDFLAGS"
|
||||
AC_RUN_IFELSE([
|
||||
#include <dlfcn.h>
|
||||
#include <wchar.h>
|
||||
@@ -3375,10 +3391,12 @@ dnl -v for variables. Dangerous, most ctags take this for 'vgrind style'.
|
||||
dnl -i+m to test for older Exuberant ctags
|
||||
AC_MSG_CHECKING(how to create tags)
|
||||
test -f tags && mv tags tags.save
|
||||
if (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
|
||||
TAGPRG="exctags -I INIT+ --fields=+S"
|
||||
elif (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
|
||||
if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
|
||||
TAGPRG="ctags -I INIT+ --fields=+S"
|
||||
elif (eval exctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
|
||||
TAGPRG="exctags -I INIT+ --fields=+S"
|
||||
elif (eval exuberant-ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
|
||||
TAGPRG="exuberant-ctags -I INIT+ --fields=+S"
|
||||
else
|
||||
TAGPRG="ctags"
|
||||
(eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
|
||||
|
||||
81
src/edit.c
81
src/edit.c
@@ -1381,10 +1381,45 @@ docomplete:
|
||||
goto do_intr;
|
||||
#endif
|
||||
|
||||
normalchar:
|
||||
/*
|
||||
* Insert a nomal character.
|
||||
*/
|
||||
normalchar:
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (!p_paste)
|
||||
{
|
||||
/* Trigger the InsertCharPre event. Lock the text to avoid
|
||||
* weird things from happening. */
|
||||
set_vim_var_char(c);
|
||||
++textlock;
|
||||
if (apply_autocmds(EVENT_INSERTCHARPRE, NULL, NULL,
|
||||
FALSE, curbuf))
|
||||
{
|
||||
/* Get the new value of v:char. If it is more than one
|
||||
* character insert it literally. */
|
||||
char_u *s = get_vim_var_str(VV_CHAR);
|
||||
if (MB_CHARLEN(s) > 1)
|
||||
{
|
||||
if (stop_arrow() != FAIL)
|
||||
{
|
||||
ins_str(s);
|
||||
AppendToRedobuffLit(s, -1);
|
||||
}
|
||||
c = NUL;
|
||||
}
|
||||
else
|
||||
c = PTR2CHAR(s);
|
||||
}
|
||||
|
||||
set_vim_var_string(VV_CHAR, NULL, -1);
|
||||
--textlock;
|
||||
|
||||
/* If the new value is an empty string then don't insert a
|
||||
* char. */
|
||||
if (c == NUL)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_SMARTINDENT
|
||||
/* Try to perform smart-indenting. */
|
||||
ins_try_si(c);
|
||||
@@ -1553,12 +1588,16 @@ ins_redraw(ready)
|
||||
ins_ctrl_v()
|
||||
{
|
||||
int c;
|
||||
int did_putchar = FALSE;
|
||||
|
||||
/* may need to redraw when no more chars available now */
|
||||
ins_redraw(FALSE);
|
||||
|
||||
if (redrawing() && !char_avail())
|
||||
{
|
||||
edit_putchar('^', TRUE);
|
||||
did_putchar = TRUE;
|
||||
}
|
||||
AppendToRedobuff((char_u *)CTRL_V_STR); /* CTRL-V */
|
||||
|
||||
#ifdef FEAT_CMDL_INFO
|
||||
@@ -1566,8 +1605,10 @@ ins_ctrl_v()
|
||||
#endif
|
||||
|
||||
c = get_literal();
|
||||
edit_unputchar(); /* when line fits in 'columns' the '^' is at the start
|
||||
of the next line and will not be redrawn */
|
||||
if (did_putchar)
|
||||
/* when the line fits in 'columns' the '^' is at the start of the next
|
||||
* line and will not removed by the redraw */
|
||||
edit_unputchar();
|
||||
#ifdef FEAT_CMDL_INFO
|
||||
clear_showcmd();
|
||||
#endif
|
||||
@@ -3326,6 +3367,15 @@ ins_compl_new_leader()
|
||||
ins_bytes(compl_leader + ins_compl_len());
|
||||
compl_used_match = FALSE;
|
||||
|
||||
#ifdef FEAT_COMPL_FUNC
|
||||
/*
|
||||
* To call eval 'completefunc' when leader is changed, restart completion
|
||||
* every time.
|
||||
*/
|
||||
if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
|
||||
ins_compl_restart();
|
||||
#endif
|
||||
|
||||
if (compl_started)
|
||||
ins_compl_set_original_text(compl_leader);
|
||||
else
|
||||
@@ -3485,11 +3535,7 @@ ins_compl_addfrommatch()
|
||||
return;
|
||||
}
|
||||
p += len;
|
||||
#ifdef FEAT_MBYTE
|
||||
c = mb_ptr2char(p);
|
||||
#else
|
||||
c = *p;
|
||||
#endif
|
||||
c = PTR2CHAR(p);
|
||||
ins_compl_addleader(c);
|
||||
}
|
||||
|
||||
@@ -9637,6 +9683,7 @@ ins_digraph()
|
||||
{
|
||||
int c;
|
||||
int cc;
|
||||
int did_putchar = FALSE;
|
||||
|
||||
pc_status = PC_STATUS_UNSET;
|
||||
if (redrawing() && !char_avail())
|
||||
@@ -9645,6 +9692,7 @@ ins_digraph()
|
||||
ins_redraw(FALSE);
|
||||
|
||||
edit_putchar('?', TRUE);
|
||||
did_putchar = TRUE;
|
||||
#ifdef FEAT_CMDL_INFO
|
||||
add_to_showcmd_c(Ctrl_K);
|
||||
#endif
|
||||
@@ -9661,8 +9709,10 @@ ins_digraph()
|
||||
c = plain_vgetc();
|
||||
--no_mapping;
|
||||
--allow_keys;
|
||||
edit_unputchar(); /* when line fits in 'columns' the '?' is at the start
|
||||
of the next line and will not be redrawn */
|
||||
if (did_putchar)
|
||||
/* when the line fits in 'columns' the '?' is at the start of the next
|
||||
* line and will not be removed by the redraw */
|
||||
edit_unputchar();
|
||||
|
||||
if (IS_SPECIAL(c) || mod_mask) /* special key */
|
||||
{
|
||||
@@ -9674,6 +9724,7 @@ ins_digraph()
|
||||
}
|
||||
if (c != ESC)
|
||||
{
|
||||
did_putchar = FALSE;
|
||||
if (redrawing() && !char_avail())
|
||||
{
|
||||
/* may need to redraw when no more chars available now */
|
||||
@@ -9681,11 +9732,9 @@ ins_digraph()
|
||||
|
||||
if (char2cells(c) == 1)
|
||||
{
|
||||
/* first remove the '?', otherwise it's restored when typing
|
||||
* an ESC next */
|
||||
edit_unputchar();
|
||||
ins_redraw(FALSE);
|
||||
edit_putchar(c, TRUE);
|
||||
did_putchar = TRUE;
|
||||
}
|
||||
#ifdef FEAT_CMDL_INFO
|
||||
add_to_showcmd_c(c);
|
||||
@@ -9696,8 +9745,10 @@ ins_digraph()
|
||||
cc = plain_vgetc();
|
||||
--no_mapping;
|
||||
--allow_keys;
|
||||
edit_unputchar(); /* when line fits in 'columns' the '?' is at the
|
||||
start of the next line and will not be redrawn */
|
||||
if (did_putchar)
|
||||
/* when the line fits in 'columns' the '?' is at the start of the
|
||||
* next line and will not be removed by a redraw */
|
||||
edit_unputchar();
|
||||
if (cc != ESC)
|
||||
{
|
||||
AppendToRedobuff((char_u *)CTRL_V_STR);
|
||||
|
||||
66
src/eval.c
66
src/eval.c
@@ -352,7 +352,7 @@ static struct vimvar
|
||||
{VV_NAME("swapname", VAR_STRING), VV_RO},
|
||||
{VV_NAME("swapchoice", VAR_STRING), 0},
|
||||
{VV_NAME("swapcommand", VAR_STRING), VV_RO},
|
||||
{VV_NAME("char", VAR_STRING), VV_RO},
|
||||
{VV_NAME("char", VAR_STRING), 0},
|
||||
{VV_NAME("mouse_win", VAR_NUMBER), 0},
|
||||
{VV_NAME("mouse_lnum", VAR_NUMBER), 0},
|
||||
{VV_NAME("mouse_col", VAR_NUMBER), 0},
|
||||
@@ -911,6 +911,7 @@ eval_clear()
|
||||
hash_clear(&compat_hashtab);
|
||||
|
||||
free_scriptnames();
|
||||
free_locales();
|
||||
|
||||
/* global variables */
|
||||
vars_clear(&globvarht);
|
||||
@@ -1356,7 +1357,11 @@ eval_to_string(arg, nextcmd, convert)
|
||||
{
|
||||
ga_init2(&ga, (int)sizeof(char), 80);
|
||||
if (tv.vval.v_list != NULL)
|
||||
{
|
||||
list_join(&ga, tv.vval.v_list, (char_u *)"\n", TRUE, 0);
|
||||
if (tv.vval.v_list->lv_len > 0)
|
||||
ga_append(&ga, NL);
|
||||
}
|
||||
ga_append(&ga, NUL);
|
||||
retval = (char_u *)ga.ga_data;
|
||||
}
|
||||
@@ -3429,6 +3434,9 @@ ex_call(eap)
|
||||
{
|
||||
curwin->w_cursor.lnum = lnum;
|
||||
curwin->w_cursor.col = 0;
|
||||
#ifdef FEAT_VIRTUALEDIT
|
||||
curwin->w_cursor.coladd = 0;
|
||||
#endif
|
||||
}
|
||||
arg = startarg;
|
||||
if (get_func_tv(name, (int)STRLEN(name), &rettv, &arg,
|
||||
@@ -7929,7 +7937,7 @@ static struct fst
|
||||
{"sin", 1, 1, f_sin},
|
||||
{"sinh", 1, 1, f_sinh},
|
||||
#endif
|
||||
{"sort", 1, 2, f_sort},
|
||||
{"sort", 1, 3, f_sort},
|
||||
{"soundfold", 1, 1, f_soundfold},
|
||||
{"spellbadword", 0, 1, f_spellbadword},
|
||||
{"spellsuggest", 1, 3, f_spellsuggest},
|
||||
@@ -11818,9 +11826,6 @@ f_has(argvars, rettv)
|
||||
#ifdef __QNX__
|
||||
"qnx",
|
||||
#endif
|
||||
#ifdef RISCOS
|
||||
"riscos",
|
||||
#endif
|
||||
#ifdef UNIX
|
||||
"unix",
|
||||
#endif
|
||||
@@ -11933,7 +11938,7 @@ f_has(argvars, rettv)
|
||||
#ifdef FEAT_SEARCHPATH
|
||||
"file_in_path",
|
||||
#endif
|
||||
#if defined(UNIX) && !defined(USE_SYSTEM)
|
||||
#if (defined(UNIX) && !defined(USE_SYSTEM)) || defined(WIN3264)
|
||||
"filterpipe",
|
||||
#endif
|
||||
#ifdef FEAT_FIND_ID
|
||||
@@ -12079,9 +12084,6 @@ f_has(argvars, rettv)
|
||||
#ifdef FEAT_OLE
|
||||
"ole",
|
||||
#endif
|
||||
#ifdef FEAT_OSFILETYPE
|
||||
"osfiletype",
|
||||
#endif
|
||||
#ifdef FEAT_PATH_EXTRA
|
||||
"path_extra",
|
||||
#endif
|
||||
@@ -14323,7 +14325,7 @@ f_readfile(argvars, rettv)
|
||||
tolist = 0;
|
||||
for ( ; filtd < buflen || readlen <= 0; ++filtd)
|
||||
{
|
||||
if (buf[filtd] == '\n' || readlen <= 0)
|
||||
if (readlen <= 0 || buf[filtd] == '\n')
|
||||
{
|
||||
/* In binary mode add an empty list item when the last
|
||||
* non-empty line ends in a '\n'. */
|
||||
@@ -14986,7 +14988,10 @@ f_resolve(argvars, rettv)
|
||||
|
||||
len = STRLEN(p);
|
||||
if (len > 0 && after_pathsep(p, p + len))
|
||||
{
|
||||
has_trailing_pathsep = TRUE;
|
||||
p[len - 1] = NUL; /* the trailing slash breaks readlink() */
|
||||
}
|
||||
|
||||
q = getnextcomp(p);
|
||||
if (*q != NUL)
|
||||
@@ -16368,6 +16373,7 @@ static int
|
||||
|
||||
static int item_compare_ic;
|
||||
static char_u *item_compare_func;
|
||||
static dict_T *item_compare_selfdict;
|
||||
static int item_compare_func_err;
|
||||
#define ITEM_COMPARE_FAIL 999
|
||||
|
||||
@@ -16427,7 +16433,8 @@ item_compare2(s1, s2)
|
||||
|
||||
rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
|
||||
res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
|
||||
&rettv, 2, argv, 0L, 0L, &dummy, TRUE, NULL);
|
||||
&rettv, 2, argv, 0L, 0L, &dummy, TRUE,
|
||||
item_compare_selfdict);
|
||||
clear_tv(&argv[0]);
|
||||
clear_tv(&argv[1]);
|
||||
|
||||
@@ -16473,8 +16480,10 @@ f_sort(argvars, rettv)
|
||||
|
||||
item_compare_ic = FALSE;
|
||||
item_compare_func = NULL;
|
||||
item_compare_selfdict = NULL;
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
{
|
||||
/* optional second argument: {func} */
|
||||
if (argvars[1].v_type == VAR_FUNC)
|
||||
item_compare_func = argvars[1].vval.v_string;
|
||||
else
|
||||
@@ -16489,6 +16498,17 @@ f_sort(argvars, rettv)
|
||||
else
|
||||
item_compare_func = get_tv_string(&argvars[1]);
|
||||
}
|
||||
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
{
|
||||
/* optional third argument: {dict} */
|
||||
if (argvars[2].v_type != VAR_DICT)
|
||||
{
|
||||
EMSG(_(e_dictreq));
|
||||
return;
|
||||
}
|
||||
item_compare_selfdict = argvars[2].vval.v_dict;
|
||||
}
|
||||
}
|
||||
|
||||
/* Make an array with each entry pointing to an item in the List. */
|
||||
@@ -23185,6 +23205,7 @@ modify_fname(src, usedlen, fnamep, bufp, fnamelen)
|
||||
int c;
|
||||
int has_fullname = 0;
|
||||
#ifdef WIN3264
|
||||
char_u *fname_start = *fnamep;
|
||||
int has_shortname = 0;
|
||||
#endif
|
||||
|
||||
@@ -23359,24 +23380,25 @@ repeat:
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
/* Check shortname after we have done 'heads' and before we do 'tails'
|
||||
/*
|
||||
* Handle ":8" after we have done 'heads' and before we do 'tails'.
|
||||
*/
|
||||
if (has_shortname)
|
||||
{
|
||||
pbuf = NULL;
|
||||
/* Copy the string if it is shortened by :h */
|
||||
if (*fnamelen < (int)STRLEN(*fnamep))
|
||||
/* Copy the string if it is shortened by :h and when it wasn't copied
|
||||
* yet, because we are going to change it in place. Avoids changing
|
||||
* the buffer name for "%:8". */
|
||||
if (*fnamelen < (int)STRLEN(*fnamep) || *fnamep == fname_start)
|
||||
{
|
||||
p = vim_strnsave(*fnamep, *fnamelen);
|
||||
if (p == 0)
|
||||
if (p == NULL)
|
||||
return -1;
|
||||
vim_free(*bufp);
|
||||
*bufp = *fnamep = p;
|
||||
}
|
||||
|
||||
/* Split into two implementations - makes it easier. First is where
|
||||
* there isn't a full name already, second is where there is.
|
||||
*/
|
||||
* there isn't a full name already, second is where there is. */
|
||||
if (!has_fullname && !vim_isAbsName(*fnamep))
|
||||
{
|
||||
if (shortpath_for_partial(fnamep, bufp, fnamelen) == FAIL)
|
||||
@@ -23384,18 +23406,16 @@ repeat:
|
||||
}
|
||||
else
|
||||
{
|
||||
int l;
|
||||
int l = *fnamelen;
|
||||
|
||||
/* Simple case, already have the full-name
|
||||
/* Simple case, already have the full-name.
|
||||
* Nearly always shorter, so try first time. */
|
||||
l = *fnamelen;
|
||||
if (get_short_pathname(fnamep, bufp, &l) == FAIL)
|
||||
return -1;
|
||||
|
||||
if (l == 0)
|
||||
{
|
||||
/* Couldn't find the filename.. search the paths.
|
||||
*/
|
||||
/* Couldn't find the filename, search the paths. */
|
||||
l = *fnamelen;
|
||||
if (shortpath_for_invalid_fname(fnamep, bufp, &l) == FAIL)
|
||||
return -1;
|
||||
|
||||
@@ -899,9 +899,6 @@ free_prev_shellcmd()
|
||||
* Handle the ":!cmd" command. Also for ":r !cmd" and ":w !cmd"
|
||||
* Bangs in the argument are replaced with the previously entered command.
|
||||
* Remember the argument.
|
||||
*
|
||||
* RISCOS: Bangs only replaced when followed by a space, since many
|
||||
* pathnames contain one.
|
||||
*/
|
||||
void
|
||||
do_bang(addr_count, eap, forceit, do_in, do_out)
|
||||
@@ -980,11 +977,7 @@ do_bang(addr_count, eap, forceit, do_in, do_out)
|
||||
trailarg = NULL;
|
||||
while (*p)
|
||||
{
|
||||
if (*p == '!'
|
||||
#ifdef RISCOS
|
||||
&& (p[1] == ' ' || p[1] == NUL)
|
||||
#endif
|
||||
)
|
||||
if (*p == '!')
|
||||
{
|
||||
if (p > newcmd && p[-1] == '\\')
|
||||
STRMOVE(p - 1, p);
|
||||
@@ -1114,7 +1107,7 @@ do_filter(line1, line2, eap, cmd, do_in, do_out)
|
||||
if (do_out)
|
||||
shell_flags |= SHELL_DOOUT;
|
||||
|
||||
#if !defined(USE_SYSTEM) && defined(UNIX)
|
||||
#if (!defined(USE_SYSTEM) && defined(UNIX)) || defined(WIN3264)
|
||||
if (!do_in && do_out && !p_stmp)
|
||||
{
|
||||
/* Use a pipe to fetch stdout of the command, do not use a temp file. */
|
||||
@@ -1578,14 +1571,8 @@ make_filter_cmd(cmd, itmp, otmp)
|
||||
if (p != NULL)
|
||||
*p = NUL;
|
||||
}
|
||||
# ifdef RISCOS
|
||||
STRCAT(buf, " { < "); /* Use RISC OS notation for input. */
|
||||
STRCAT(buf, itmp);
|
||||
STRCAT(buf, " } ");
|
||||
# else
|
||||
STRCAT(buf, " <"); /* " < " causes problems on Amiga */
|
||||
STRCAT(buf, itmp);
|
||||
# endif
|
||||
if (*p_shq == NUL)
|
||||
{
|
||||
p = vim_strchr(cmd, '|');
|
||||
@@ -1634,16 +1621,9 @@ append_redir(buf, buflen, opt, fname)
|
||||
else
|
||||
vim_snprintf((char *)end, (size_t)(buflen - (end - buf)),
|
||||
#ifdef FEAT_QUICKFIX
|
||||
# ifndef RISCOS
|
||||
opt != p_sp ? " %s%s" :
|
||||
# endif
|
||||
" %s %s",
|
||||
#else
|
||||
# ifndef RISCOS
|
||||
" %s%s", /* " > %s" causes problems on Amiga */
|
||||
# else
|
||||
" %s %s", /* But is needed for 'shellpipe' and RISC OS */
|
||||
# endif
|
||||
#endif
|
||||
(char *)opt, (char *)fname);
|
||||
}
|
||||
@@ -1844,11 +1824,7 @@ write_viminfo(file, forceit)
|
||||
#ifdef VMS
|
||||
(char_u *)"-tmp",
|
||||
#else
|
||||
# ifdef RISCOS
|
||||
(char_u *)"/tmp",
|
||||
# else
|
||||
(char_u *)".tmp",
|
||||
# endif
|
||||
#endif
|
||||
FALSE);
|
||||
if (tempname == NULL) /* out of memory */
|
||||
@@ -4121,8 +4097,8 @@ ex_z(eap)
|
||||
switch (*kind)
|
||||
{
|
||||
case '-':
|
||||
start = lnum - bigness * (linenr_T)(x - kind);
|
||||
end = start + bigness;
|
||||
start = lnum - bigness * (linenr_T)(x - kind) + 1;
|
||||
end = start + bigness - 1;
|
||||
curs = end;
|
||||
break;
|
||||
|
||||
@@ -4649,7 +4625,15 @@ do_sub(eap)
|
||||
* for a match in this line again. */
|
||||
skip_match = TRUE;
|
||||
else
|
||||
++matchcol; /* search for a match at next column */
|
||||
{
|
||||
/* search for a match at next column */
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
matchcol += mb_ptr2len(sub_firstline + matchcol);
|
||||
else
|
||||
#endif
|
||||
++matchcol;
|
||||
}
|
||||
goto skip;
|
||||
}
|
||||
|
||||
@@ -5365,8 +5349,9 @@ ex_global(eap)
|
||||
global_exe(cmd)
|
||||
char_u *cmd;
|
||||
{
|
||||
linenr_T old_lcount; /* b_ml.ml_line_count before the command */
|
||||
linenr_T lnum; /* line number according to old situation */
|
||||
linenr_T old_lcount; /* b_ml.ml_line_count before the command */
|
||||
buf_T *old_buf = curbuf; /* remember what buffer we started in */
|
||||
linenr_T lnum; /* line number according to old situation */
|
||||
|
||||
/*
|
||||
* Set current position only once for a global command.
|
||||
@@ -5410,8 +5395,10 @@ global_exe(cmd)
|
||||
msg_didout = FALSE;
|
||||
|
||||
/* If substitutes done, report number of substitutes, otherwise report
|
||||
* number of extra or deleted lines. */
|
||||
if (!do_sub_msg(FALSE))
|
||||
* number of extra or deleted lines.
|
||||
* Don't report extra or deleted lines in the edge case where the buffer
|
||||
* we are in after execution is different from the buffer we started in. */
|
||||
if (!do_sub_msg(FALSE) && curbuf == old_buf)
|
||||
msgmore(curbuf->b_ml.ml_line_count - old_lcount);
|
||||
}
|
||||
|
||||
|
||||
@@ -788,7 +788,7 @@ EX(CMD_rubydo, "rubydo", ex_rubydo,
|
||||
EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
|
||||
RANGE|FILE1|NEEDARG|CMDWIN),
|
||||
EX(CMD_rundo, "rundo", ex_rundo,
|
||||
NEEDARG|EXTRA|XFILE),
|
||||
NEEDARG|FILE1),
|
||||
EX(CMD_rviminfo, "rviminfo", ex_viminfo,
|
||||
BANG|FILE1|TRLBAR|CMDWIN),
|
||||
EX(CMD_substitute, "substitute", do_sub,
|
||||
@@ -1078,7 +1078,7 @@ EX(CMD_wqall, "wqall", do_wqall,
|
||||
EX(CMD_wsverb, "wsverb", ex_wsverb,
|
||||
EXTRA|NOTADR|NEEDARG),
|
||||
EX(CMD_wundo, "wundo", ex_wundo,
|
||||
BANG|NEEDARG|EXTRA|XFILE),
|
||||
BANG|NEEDARG|FILE1),
|
||||
EX(CMD_wviminfo, "wviminfo", ex_viminfo,
|
||||
BANG|FILE1|TRLBAR|CMDWIN),
|
||||
EX(CMD_xit, "xit", ex_exit,
|
||||
|
||||
120
src/ex_cmds2.c
120
src/ex_cmds2.c
@@ -500,18 +500,10 @@ dbg_parsearg(arg, gap)
|
||||
/* Expand the file name in the same way as do_source(). This means
|
||||
* doing it twice, so that $DIR/file gets expanded when $DIR is
|
||||
* "~/dir". */
|
||||
#ifdef RISCOS
|
||||
q = mch_munge_fname(p);
|
||||
#else
|
||||
q = expand_env_save(p);
|
||||
#endif
|
||||
if (q == NULL)
|
||||
return FAIL;
|
||||
#ifdef RISCOS
|
||||
p = mch_munge_fname(q);
|
||||
#else
|
||||
p = expand_env_save(q);
|
||||
#endif
|
||||
vim_free(q);
|
||||
if (p == NULL)
|
||||
return FAIL;
|
||||
@@ -690,10 +682,12 @@ ex_breaklist(eap)
|
||||
for (i = 0; i < dbg_breakp.ga_len; ++i)
|
||||
{
|
||||
bp = &BREAKP(i);
|
||||
if (bp->dbg_type == DBG_FILE)
|
||||
home_replace(NULL, bp->dbg_name, NameBuff, MAXPATHL, TRUE);
|
||||
smsg((char_u *)_("%3d %s %s line %ld"),
|
||||
bp->dbg_nr,
|
||||
bp->dbg_type == DBG_FUNC ? "func" : "file",
|
||||
bp->dbg_name,
|
||||
bp->dbg_type == DBG_FUNC ? bp->dbg_name : NameBuff,
|
||||
(long)bp->dbg_lnum);
|
||||
}
|
||||
}
|
||||
@@ -1484,7 +1478,7 @@ browse_save_fname(buf)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Ask the user what to do when abondoning a changed buffer.
|
||||
* Ask the user what to do when abandoning a changed buffer.
|
||||
* Must check 'write' option first!
|
||||
*/
|
||||
void
|
||||
@@ -2940,11 +2934,7 @@ do_source(fname, check_other, is_vimrc)
|
||||
proftime_T wait_start;
|
||||
#endif
|
||||
|
||||
#ifdef RISCOS
|
||||
p = mch_munge_fname(fname);
|
||||
#else
|
||||
p = expand_env_save(fname);
|
||||
#endif
|
||||
if (p == NULL)
|
||||
return retval;
|
||||
fname_exp = fix_fname(p);
|
||||
@@ -3280,7 +3270,11 @@ ex_scriptnames(eap)
|
||||
|
||||
for (i = 1; i <= script_items.ga_len && !got_int; ++i)
|
||||
if (SCRIPT_ITEM(i).sn_name != NULL)
|
||||
smsg((char_u *)"%3d: %s", i, SCRIPT_ITEM(i).sn_name);
|
||||
{
|
||||
home_replace(NULL, SCRIPT_ITEM(i).sn_name,
|
||||
NameBuff, MAXPATHL, TRUE);
|
||||
smsg((char_u *)"%3d: %s", i, NameBuff);
|
||||
}
|
||||
}
|
||||
|
||||
# if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
|
||||
@@ -4165,6 +4159,82 @@ ex_language(eap)
|
||||
}
|
||||
|
||||
# if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||
|
||||
static char_u **locales = NULL; /* Array of all available locales */
|
||||
static int did_init_locales = FALSE;
|
||||
|
||||
static void init_locales __ARGS((void));
|
||||
static char_u **find_locales __ARGS((void));
|
||||
|
||||
/*
|
||||
* Lazy initialization of all available locales.
|
||||
*/
|
||||
static void
|
||||
init_locales()
|
||||
{
|
||||
if (!did_init_locales)
|
||||
{
|
||||
did_init_locales = TRUE;
|
||||
locales = find_locales();
|
||||
}
|
||||
}
|
||||
|
||||
/* Return an array of strings for all available locales + NULL for the
|
||||
* last element. Return NULL in case of error. */
|
||||
static char_u **
|
||||
find_locales()
|
||||
{
|
||||
garray_T locales_ga;
|
||||
char_u *loc;
|
||||
|
||||
/* Find all available locales by running command "locale -a". If this
|
||||
* doesn't work we won't have completion. */
|
||||
char_u *locale_a = get_cmd_output((char_u *)"locale -a",
|
||||
NULL, SHELL_SILENT);
|
||||
if (locale_a == NULL)
|
||||
return NULL;
|
||||
ga_init2(&locales_ga, sizeof(char_u *), 20);
|
||||
|
||||
/* Transform locale_a string where each locale is separated by "\n"
|
||||
* into an array of locale strings. */
|
||||
loc = (char_u *)strtok((char *)locale_a, "\n");
|
||||
|
||||
while (loc != NULL)
|
||||
{
|
||||
if (ga_grow(&locales_ga, 1) == FAIL)
|
||||
break;
|
||||
loc = vim_strsave(loc);
|
||||
if (loc == NULL)
|
||||
break;
|
||||
|
||||
((char_u **)locales_ga.ga_data)[locales_ga.ga_len++] = loc;
|
||||
loc = (char_u *)strtok(NULL, "\n");
|
||||
}
|
||||
vim_free(locale_a);
|
||||
if (ga_grow(&locales_ga, 1) == FAIL)
|
||||
{
|
||||
ga_clear(&locales_ga);
|
||||
return NULL;
|
||||
}
|
||||
((char_u **)locales_ga.ga_data)[locales_ga.ga_len] = NULL;
|
||||
return (char_u **)locales_ga.ga_data;
|
||||
}
|
||||
|
||||
# if defined(EXITFREE) || defined(PROTO)
|
||||
void
|
||||
free_locales()
|
||||
{
|
||||
int i;
|
||||
if (locales != NULL)
|
||||
{
|
||||
for (i = 0; locales[i] != NULL; i++)
|
||||
vim_free(locales[i]);
|
||||
vim_free(locales);
|
||||
locales = NULL;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Function given to ExpandGeneric() to obtain the possible arguments of the
|
||||
* ":language" command.
|
||||
@@ -4180,7 +4250,25 @@ get_lang_arg(xp, idx)
|
||||
return (char_u *)"ctype";
|
||||
if (idx == 2)
|
||||
return (char_u *)"time";
|
||||
return NULL;
|
||||
|
||||
init_locales();
|
||||
if (locales == NULL)
|
||||
return NULL;
|
||||
return locales[idx - 3];
|
||||
}
|
||||
|
||||
/*
|
||||
* Function given to ExpandGeneric() to obtain the available locales.
|
||||
*/
|
||||
char_u *
|
||||
get_locales(xp, idx)
|
||||
expand_T *xp UNUSED;
|
||||
int idx;
|
||||
{
|
||||
init_locales();
|
||||
if (locales == NULL)
|
||||
return NULL;
|
||||
return locales[idx];
|
||||
}
|
||||
# endif
|
||||
|
||||
|
||||
@@ -2595,6 +2595,7 @@ do_one_cmd(cmdlinep, sourcing,
|
||||
case CMD_unlet:
|
||||
case CMD_verbose:
|
||||
case CMD_vertical:
|
||||
case CMD_wincmd:
|
||||
break;
|
||||
|
||||
default: goto doend;
|
||||
@@ -3861,13 +3862,24 @@ set_one_cmd_context(xp, buff)
|
||||
#if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
|
||||
&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
|
||||
case CMD_language:
|
||||
if (*skiptowhite(arg) == NUL)
|
||||
p = skiptowhite(arg);
|
||||
if (*p == NUL)
|
||||
{
|
||||
xp->xp_context = EXPAND_LANGUAGE;
|
||||
xp->xp_pattern = arg;
|
||||
}
|
||||
else
|
||||
xp->xp_context = EXPAND_NOTHING;
|
||||
{
|
||||
if ( STRNCMP(arg, "messages", p - arg) == 0
|
||||
|| STRNCMP(arg, "ctype", p - arg) == 0
|
||||
|| STRNCMP(arg, "time", p - arg) == 0)
|
||||
{
|
||||
xp->xp_context = EXPAND_LOCALES;
|
||||
xp->xp_pattern = skipwhite(p);
|
||||
}
|
||||
else
|
||||
xp->xp_context = EXPAND_NOTHING;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(FEAT_PROFILE)
|
||||
@@ -5285,7 +5297,9 @@ static struct
|
||||
{
|
||||
{EXPAND_AUGROUP, "augroup"},
|
||||
{EXPAND_BUFFERS, "buffer"},
|
||||
{EXPAND_COLORS, "color"},
|
||||
{EXPAND_COMMANDS, "command"},
|
||||
{EXPAND_COMPILER, "compiler"},
|
||||
#if defined(FEAT_CSCOPE)
|
||||
{EXPAND_CSCOPE, "cscope"},
|
||||
#endif
|
||||
@@ -5298,10 +5312,15 @@ static struct
|
||||
{EXPAND_EVENTS, "event"},
|
||||
{EXPAND_EXPRESSION, "expression"},
|
||||
{EXPAND_FILES, "file"},
|
||||
{EXPAND_FILES_IN_PATH, "file_in_path"},
|
||||
{EXPAND_FILETYPE, "filetype"},
|
||||
{EXPAND_FUNCTIONS, "function"},
|
||||
{EXPAND_HELP, "help"},
|
||||
{EXPAND_HIGHLIGHT, "highlight"},
|
||||
#if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
|
||||
&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
|
||||
{EXPAND_LOCALES, "locale"},
|
||||
#endif
|
||||
{EXPAND_MAPPINGS, "mapping"},
|
||||
{EXPAND_MENUS, "menu"},
|
||||
{EXPAND_OWNSYNTAX, "syntax"},
|
||||
@@ -6472,7 +6491,7 @@ ex_close(eap)
|
||||
{
|
||||
# ifdef FEAT_CMDWIN
|
||||
if (cmdwin_type != 0)
|
||||
cmdwin_result = K_IGNORE;
|
||||
cmdwin_result = Ctrl_C;
|
||||
else
|
||||
# endif
|
||||
if (!text_locked()
|
||||
@@ -7057,7 +7076,7 @@ alist_expand(fnum_list, fnum_len)
|
||||
old_arg_count = GARGCOUNT;
|
||||
if (expand_wildcards(old_arg_count, old_arg_files,
|
||||
&new_arg_file_count, &new_arg_files,
|
||||
EW_FILE|EW_NOTFOUND|EW_ADDSLASH) == OK
|
||||
EW_FILE|EW_NOTFOUND|EW_ADDSLASH|EW_NOERROR) == OK
|
||||
&& new_arg_file_count > 0)
|
||||
{
|
||||
alist_set(&global_alist, new_arg_file_count, new_arg_files,
|
||||
@@ -8226,7 +8245,7 @@ ex_wincmd(eap)
|
||||
p = skipwhite(p);
|
||||
if (*p != NUL && *p != '"' && eap->nextcmd == NULL)
|
||||
EMSG(_(e_invarg));
|
||||
else
|
||||
else if (!eap->skip)
|
||||
{
|
||||
/* Pass flags on for ":vertical wincmd ]". */
|
||||
postponed_split_flags = cmdmod.split;
|
||||
@@ -9702,14 +9721,7 @@ eval_vars(src, srcstart, usedlen, lnump, errormsg, escaped)
|
||||
valid = 0; /* Must have ":p:h" to be valid */
|
||||
}
|
||||
else
|
||||
#ifdef RISCOS
|
||||
/* Always use the full path for RISC OS if possible. */
|
||||
result = curbuf->b_ffname;
|
||||
if (result == NULL)
|
||||
result = curbuf->b_fname;
|
||||
#else
|
||||
result = curbuf->b_fname;
|
||||
#endif
|
||||
break;
|
||||
|
||||
case SPEC_HASH: /* '#' or "#99": alternate file */
|
||||
@@ -9854,11 +9866,7 @@ eval_vars(src, srcstart, usedlen, lnump, errormsg, escaped)
|
||||
if (src[*usedlen] == '<') /* remove the file name extension */
|
||||
{
|
||||
++*usedlen;
|
||||
#ifdef RISCOS
|
||||
if ((s = vim_strrchr(result, '/')) != NULL && s >= gettail(result))
|
||||
#else
|
||||
if ((s = vim_strrchr(result, '.')) != NULL && s >= gettail(result))
|
||||
#endif
|
||||
resultlen = (int)(s - result);
|
||||
}
|
||||
#ifdef FEAT_MODIFY_FNAME
|
||||
@@ -10875,8 +10883,7 @@ get_view_file(c)
|
||||
else if (vim_ispathsep(*p))
|
||||
{
|
||||
*s++ = '=';
|
||||
#if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(RISCOS) \
|
||||
|| defined(VMS)
|
||||
#if defined(BACKSLASH_IN_FILENAME) || defined(AMIGA) || defined(VMS)
|
||||
if (*p == ':')
|
||||
*s++ = '-';
|
||||
else
|
||||
|
||||
185
src/ex_getln.c
185
src/ex_getln.c
@@ -67,7 +67,7 @@ static int hislen = 0; /* actual length of history tables */
|
||||
|
||||
static int hist_char2type __ARGS((int c));
|
||||
|
||||
static int in_history __ARGS((int, char_u *, int));
|
||||
static int in_history __ARGS((int, char_u *, int, int));
|
||||
# ifdef FEAT_EVAL
|
||||
static int calc_hist_idx __ARGS((int histype, int num));
|
||||
# endif
|
||||
@@ -110,7 +110,7 @@ static int ExpandFromContext __ARGS((expand_T *xp, char_u *, int *, char_u ***,
|
||||
static int expand_showtail __ARGS((expand_T *xp));
|
||||
#ifdef FEAT_CMDL_COMPL
|
||||
static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, char_u ***file, int flagsarg));
|
||||
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname));
|
||||
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
|
||||
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
||||
static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
|
||||
static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
||||
@@ -1969,8 +1969,12 @@ getcmdline_prompt(firstc, prompt, attr, xp_context, xp_arg)
|
||||
# endif
|
||||
s = getcmdline(firstc, 1L, 0);
|
||||
restore_cmdline(&save_ccline);
|
||||
/* Restore msg_col, the prompt from input() may have changed it. */
|
||||
msg_col = msg_col_save;
|
||||
/* Restore msg_col, the prompt from input() may have changed it.
|
||||
* But only if called recursively and the commandline is therefore being
|
||||
* restored to an old one; if not, the input() prompt stays on the screen,
|
||||
* so we need its modified msg_col left intact. */
|
||||
if (ccline.cmdbuff != NULL)
|
||||
msg_col = msg_col_save;
|
||||
|
||||
return s;
|
||||
}
|
||||
@@ -3046,7 +3050,7 @@ cmdline_paste(regname, literally, remcr)
|
||||
int len;
|
||||
|
||||
/* Locate start of last word in the cmd buffer. */
|
||||
for (w = ccline.cmdbuff + ccline.cmdlen; w > ccline.cmdbuff; )
|
||||
for (w = ccline.cmdbuff + ccline.cmdpos; w > ccline.cmdbuff; )
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
@@ -3064,7 +3068,7 @@ cmdline_paste(regname, literally, remcr)
|
||||
--w;
|
||||
}
|
||||
}
|
||||
len = (int)((ccline.cmdbuff + ccline.cmdlen) - w);
|
||||
len = (int)((ccline.cmdbuff + ccline.cmdpos) - w);
|
||||
if (p_ic ? STRNICMP(w, arg, len) == 0 : STRNCMP(w, arg, len) == 0)
|
||||
p += len;
|
||||
}
|
||||
@@ -4536,13 +4540,25 @@ ExpandFromContext(xp, pat, num_file, file, options)
|
||||
|| xp->xp_context == EXPAND_TAGS_LISTFILES)
|
||||
return expand_tags(xp->xp_context == EXPAND_TAGS, pat, num_file, file);
|
||||
if (xp->xp_context == EXPAND_COLORS)
|
||||
return ExpandRTDir(pat, num_file, file, "colors");
|
||||
{
|
||||
char *directories[] = {"colors", NULL};
|
||||
return ExpandRTDir(pat, num_file, file, directories);
|
||||
}
|
||||
if (xp->xp_context == EXPAND_COMPILER)
|
||||
return ExpandRTDir(pat, num_file, file, "compiler");
|
||||
{
|
||||
char *directories[] = {"colors", NULL};
|
||||
return ExpandRTDir(pat, num_file, file, directories);
|
||||
}
|
||||
if (xp->xp_context == EXPAND_OWNSYNTAX)
|
||||
return ExpandRTDir(pat, num_file, file, "syntax");
|
||||
{
|
||||
char *directories[] = {"syntax", NULL};
|
||||
return ExpandRTDir(pat, num_file, file, directories);
|
||||
}
|
||||
if (xp->xp_context == EXPAND_FILETYPE)
|
||||
return ExpandRTDir(pat, num_file, file, "{syntax,indent,ftplugin}");
|
||||
{
|
||||
char *directories[] = {"syntax", "indent", "ftplugin", NULL};
|
||||
return ExpandRTDir(pat, num_file, file, directories);
|
||||
}
|
||||
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
||||
if (xp->xp_context == EXPAND_USER_LIST)
|
||||
return ExpandUserList(xp, num_file, file);
|
||||
@@ -4571,48 +4587,50 @@ ExpandFromContext(xp, pat, num_file, file, options)
|
||||
int context;
|
||||
char_u *((*func)__ARGS((expand_T *, int)));
|
||||
int ic;
|
||||
int escaped;
|
||||
} tab[] =
|
||||
{
|
||||
{EXPAND_COMMANDS, get_command_name, FALSE},
|
||||
{EXPAND_BEHAVE, get_behave_arg, TRUE},
|
||||
{EXPAND_COMMANDS, get_command_name, FALSE, TRUE},
|
||||
{EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE},
|
||||
#ifdef FEAT_USR_CMDS
|
||||
{EXPAND_USER_COMMANDS, get_user_commands, FALSE},
|
||||
{EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE},
|
||||
{EXPAND_USER_NARGS, get_user_cmd_nargs, FALSE},
|
||||
{EXPAND_USER_COMPLETE, get_user_cmd_complete, FALSE},
|
||||
{EXPAND_USER_COMMANDS, get_user_commands, FALSE, TRUE},
|
||||
{EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE, TRUE},
|
||||
{EXPAND_USER_NARGS, get_user_cmd_nargs, FALSE, TRUE},
|
||||
{EXPAND_USER_COMPLETE, get_user_cmd_complete, FALSE, TRUE},
|
||||
#endif
|
||||
#ifdef FEAT_EVAL
|
||||
{EXPAND_USER_VARS, get_user_var_name, FALSE},
|
||||
{EXPAND_FUNCTIONS, get_function_name, FALSE},
|
||||
{EXPAND_USER_FUNC, get_user_func_name, FALSE},
|
||||
{EXPAND_EXPRESSION, get_expr_name, FALSE},
|
||||
{EXPAND_USER_VARS, get_user_var_name, FALSE, TRUE},
|
||||
{EXPAND_FUNCTIONS, get_function_name, FALSE, TRUE},
|
||||
{EXPAND_USER_FUNC, get_user_func_name, FALSE, TRUE},
|
||||
{EXPAND_EXPRESSION, get_expr_name, FALSE, TRUE},
|
||||
#endif
|
||||
#ifdef FEAT_MENU
|
||||
{EXPAND_MENUS, get_menu_name, FALSE},
|
||||
{EXPAND_MENUNAMES, get_menu_names, FALSE},
|
||||
{EXPAND_MENUS, get_menu_name, FALSE, TRUE},
|
||||
{EXPAND_MENUNAMES, get_menu_names, FALSE, TRUE},
|
||||
#endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
{EXPAND_SYNTAX, get_syntax_name, TRUE},
|
||||
{EXPAND_SYNTAX, get_syntax_name, TRUE, TRUE},
|
||||
#endif
|
||||
{EXPAND_HIGHLIGHT, get_highlight_name, TRUE},
|
||||
{EXPAND_HIGHLIGHT, get_highlight_name, TRUE, TRUE},
|
||||
#ifdef FEAT_AUTOCMD
|
||||
{EXPAND_EVENTS, get_event_name, TRUE},
|
||||
{EXPAND_AUGROUP, get_augroup_name, TRUE},
|
||||
{EXPAND_EVENTS, get_event_name, TRUE, TRUE},
|
||||
{EXPAND_AUGROUP, get_augroup_name, TRUE, TRUE},
|
||||
#endif
|
||||
#ifdef FEAT_CSCOPE
|
||||
{EXPAND_CSCOPE, get_cscope_name, TRUE},
|
||||
{EXPAND_CSCOPE, get_cscope_name, TRUE, TRUE},
|
||||
#endif
|
||||
#ifdef FEAT_SIGNS
|
||||
{EXPAND_SIGN, get_sign_name, TRUE},
|
||||
{EXPAND_SIGN, get_sign_name, TRUE, TRUE},
|
||||
#endif
|
||||
#ifdef FEAT_PROFILE
|
||||
{EXPAND_PROFILE, get_profile_name, TRUE},
|
||||
{EXPAND_PROFILE, get_profile_name, TRUE, TRUE},
|
||||
#endif
|
||||
#if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
|
||||
&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
|
||||
{EXPAND_LANGUAGE, get_lang_arg, TRUE},
|
||||
{EXPAND_LANGUAGE, get_lang_arg, TRUE, FALSE},
|
||||
{EXPAND_LOCALES, get_locales, TRUE, FALSE},
|
||||
#endif
|
||||
{EXPAND_ENV_VARS, get_env_name, TRUE},
|
||||
{EXPAND_ENV_VARS, get_env_name, TRUE, TRUE},
|
||||
};
|
||||
int i;
|
||||
|
||||
@@ -4626,7 +4644,8 @@ ExpandFromContext(xp, pat, num_file, file, options)
|
||||
{
|
||||
if (tab[i].ic)
|
||||
regmatch.rm_ic = TRUE;
|
||||
ret = ExpandGeneric(xp, ®match, num_file, file, tab[i].func);
|
||||
ret = ExpandGeneric(xp, ®match, num_file, file,
|
||||
tab[i].func, tab[i].escaped);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -4648,13 +4667,14 @@ ExpandFromContext(xp, pat, num_file, file, options)
|
||||
* Returns OK when no problems encountered, FAIL for error (out of memory).
|
||||
*/
|
||||
int
|
||||
ExpandGeneric(xp, regmatch, num_file, file, func)
|
||||
ExpandGeneric(xp, regmatch, num_file, file, func, escaped)
|
||||
expand_T *xp;
|
||||
regmatch_T *regmatch;
|
||||
int *num_file;
|
||||
char_u ***file;
|
||||
char_u *((*func)__ARGS((expand_T *, int)));
|
||||
/* returns a string from the list */
|
||||
int escaped;
|
||||
{
|
||||
int i;
|
||||
int count = 0;
|
||||
@@ -4679,7 +4699,10 @@ ExpandGeneric(xp, regmatch, num_file, file, func)
|
||||
{
|
||||
if (round)
|
||||
{
|
||||
str = vim_strsave_escaped(str, (char_u *)" \t\\.");
|
||||
if (escaped)
|
||||
str = vim_strsave_escaped(str, (char_u *)" \t\\.");
|
||||
else
|
||||
str = vim_strsave(str);
|
||||
(*file)[count] = str;
|
||||
#ifdef FEAT_MENU
|
||||
if (func == get_menu_names && str != NULL)
|
||||
@@ -4988,57 +5011,68 @@ ExpandUserList(xp, num_file, file)
|
||||
/*
|
||||
* Expand color scheme, compiler or filetype names:
|
||||
* 'runtimepath'/{dirnames}/{pat}.vim
|
||||
* dirnames may contain one directory (ex: "colorscheme") or can be a glob
|
||||
* expression matching multiple directories (ex: "{syntax,ftplugin,indent}").
|
||||
* "dirnames" is an array with one or more directory names.
|
||||
*/
|
||||
static int
|
||||
ExpandRTDir(pat, num_file, file, dirnames)
|
||||
char_u *pat;
|
||||
int *num_file;
|
||||
char_u ***file;
|
||||
char *dirnames;
|
||||
char *dirnames[];
|
||||
{
|
||||
char_u *all;
|
||||
char_u *matches;
|
||||
char_u *s;
|
||||
char_u *e;
|
||||
garray_T ga;
|
||||
int i;
|
||||
int pat_len;
|
||||
|
||||
*num_file = 0;
|
||||
*file = NULL;
|
||||
s = alloc((unsigned)(STRLEN(pat) + STRLEN(dirnames) + 7));
|
||||
if (s == NULL)
|
||||
return FAIL;
|
||||
sprintf((char *)s, "%s/%s*.vim", dirnames, pat);
|
||||
all = globpath(p_rtp, s, 0);
|
||||
vim_free(s);
|
||||
if (all == NULL)
|
||||
return FAIL;
|
||||
pat_len = (int)STRLEN(pat);
|
||||
ga_init2(&ga, (int)sizeof(char *), 10);
|
||||
|
||||
ga_init2(&ga, (int)sizeof(char *), 3);
|
||||
for (s = all; *s != NUL; s = e)
|
||||
for (i = 0; dirnames[i] != NULL; ++i)
|
||||
{
|
||||
e = vim_strchr(s, '\n');
|
||||
if (e == NULL)
|
||||
e = s + STRLEN(s);
|
||||
if (ga_grow(&ga, 1) == FAIL)
|
||||
break;
|
||||
if (e - 4 > s && STRNICMP(e - 4, ".vim", 4) == 0)
|
||||
s = alloc((unsigned)(STRLEN(dirnames[i]) + pat_len + 7));
|
||||
if (s == NULL)
|
||||
{
|
||||
for (s = e - 4; s > all; mb_ptr_back(all, s))
|
||||
if (*s == '\n' || vim_ispathsep(*s))
|
||||
break;
|
||||
++s;
|
||||
((char_u **)ga.ga_data)[ga.ga_len] =
|
||||
vim_strnsave(s, (int)(e - s - 4));
|
||||
++ga.ga_len;
|
||||
ga_clear_strings(&ga);
|
||||
return FAIL;
|
||||
}
|
||||
if (*e != NUL)
|
||||
++e;
|
||||
sprintf((char *)s, "%s/%s*.vim", dirnames[i], pat);
|
||||
matches = globpath(p_rtp, s, 0);
|
||||
vim_free(s);
|
||||
if (matches == NULL)
|
||||
continue;
|
||||
|
||||
for (s = matches; *s != NUL; s = e)
|
||||
{
|
||||
e = vim_strchr(s, '\n');
|
||||
if (e == NULL)
|
||||
e = s + STRLEN(s);
|
||||
if (ga_grow(&ga, 1) == FAIL)
|
||||
break;
|
||||
if (e - 4 > s && STRNICMP(e - 4, ".vim", 4) == 0)
|
||||
{
|
||||
for (s = e - 4; s > matches; mb_ptr_back(matches, s))
|
||||
if (*s == '\n' || vim_ispathsep(*s))
|
||||
break;
|
||||
++s;
|
||||
((char_u **)ga.ga_data)[ga.ga_len] =
|
||||
vim_strnsave(s, (int)(e - s - 4));
|
||||
++ga.ga_len;
|
||||
}
|
||||
if (*e != NUL)
|
||||
++e;
|
||||
}
|
||||
vim_free(matches);
|
||||
}
|
||||
vim_free(all);
|
||||
if (ga.ga_len == 0)
|
||||
return FAIL;
|
||||
|
||||
/* Sort and remove duplicates which can happen when specifying multiple
|
||||
* directories in dirnames such as "{syntax,ftplugin,indent}". */
|
||||
* directories in dirnames. */
|
||||
remove_duplicates(&ga);
|
||||
|
||||
*file = ga.ga_data;
|
||||
@@ -5259,13 +5293,15 @@ init_history()
|
||||
* If 'move_to_front' is TRUE, matching entry is moved to end of history.
|
||||
*/
|
||||
static int
|
||||
in_history(type, str, move_to_front)
|
||||
in_history(type, str, move_to_front, sep)
|
||||
int type;
|
||||
char_u *str;
|
||||
int move_to_front; /* Move the entry to the front if it exists */
|
||||
int sep;
|
||||
{
|
||||
int i;
|
||||
int last_i = -1;
|
||||
char_u *p;
|
||||
|
||||
if (hisidx[type] < 0)
|
||||
return FALSE;
|
||||
@@ -5274,7 +5310,12 @@ in_history(type, str, move_to_front)
|
||||
{
|
||||
if (history[type][i].hisstr == NULL)
|
||||
return FALSE;
|
||||
if (STRCMP(str, history[type][i].hisstr) == 0)
|
||||
|
||||
/* For search history, check that the separator character matches as
|
||||
* well. */
|
||||
p = history[type][i].hisstr;
|
||||
if (STRCMP(str, p) == 0
|
||||
&& (type != HIST_SEARCH || sep == p[STRLEN(p) + 1]))
|
||||
{
|
||||
if (!move_to_front)
|
||||
return TRUE;
|
||||
@@ -5368,7 +5409,7 @@ add_to_history(histype, new_entry, in_map, sep)
|
||||
}
|
||||
last_maptick = -1;
|
||||
}
|
||||
if (!in_history(histype, new_entry, TRUE))
|
||||
if (!in_history(histype, new_entry, TRUE, sep))
|
||||
{
|
||||
if (++hisidx[histype] == hislen)
|
||||
hisidx[histype] = 0;
|
||||
@@ -5947,7 +5988,7 @@ read_viminfo_history(virp)
|
||||
if (val != NULL && *val != NUL)
|
||||
{
|
||||
if (!in_history(type, val + (type == HIST_SEARCH),
|
||||
viminfo_add_at_front))
|
||||
viminfo_add_at_front, *val))
|
||||
{
|
||||
/* Need to re-allocate to append the separator byte. */
|
||||
len = STRLEN(val);
|
||||
@@ -6324,6 +6365,12 @@ ex_window()
|
||||
ccline.cmdbuff = vim_strsave((char_u *)"qa");
|
||||
cmdwin_result = CAR;
|
||||
}
|
||||
else if (cmdwin_result == Ctrl_C)
|
||||
{
|
||||
/* :q or :close, don't execute any command
|
||||
* and don't modify the cmd window. */
|
||||
ccline.cmdbuff = NULL;
|
||||
}
|
||||
else
|
||||
ccline.cmdbuff = vim_strsave(ml_get_curline());
|
||||
if (ccline.cmdbuff == NULL)
|
||||
|
||||
@@ -505,15 +505,6 @@
|
||||
# define FEAT_WILDMENU
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +osfiletype filetype checking in autocommand patterns.
|
||||
* Only on systems that support filetypes (RISC OS).
|
||||
*/
|
||||
#if 0
|
||||
# define FEAT_OSFILETYPE
|
||||
# define DFLT_OFT "Text"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* +viminfo reading/writing the viminfo file. Takes about 8Kbyte
|
||||
* of code.
|
||||
|
||||
90
src/fileio.c
90
src/fileio.c
@@ -504,18 +504,11 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
||||
|
||||
if (newfile && !read_stdin && !read_buffer)
|
||||
{
|
||||
/* Remember time of file.
|
||||
* For RISCOS, also remember the filetype.
|
||||
*/
|
||||
/* Remember time of file. */
|
||||
if (mch_stat((char *)fname, &st) >= 0)
|
||||
{
|
||||
buf_store_time(curbuf, &st, fname);
|
||||
curbuf->b_mtime_read = curbuf->b_mtime;
|
||||
|
||||
#if defined(RISCOS) && defined(FEAT_OSFILETYPE)
|
||||
/* Read the filetype into the buffer local filetype option. */
|
||||
mch_read_filetype(fname);
|
||||
#endif
|
||||
#ifdef UNIX
|
||||
/*
|
||||
* Use the protection bits of the original file for the swap file.
|
||||
@@ -557,7 +550,6 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
||||
|
||||
/*
|
||||
* for UNIX: check readonly with perm and mch_access()
|
||||
* for RISCOS: same as Unix, otherwise file gets re-datestamped!
|
||||
* for MSDOS and Amiga: check readonly by trying to open the file for writing
|
||||
*/
|
||||
file_readonly = FALSE;
|
||||
@@ -3350,8 +3342,22 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
|
||||
}
|
||||
else if (reset_changed && whole)
|
||||
{
|
||||
if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
|
||||
sfname, sfname, FALSE, curbuf, eap)))
|
||||
int was_changed = curbufIsChanged();
|
||||
|
||||
did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
|
||||
sfname, sfname, FALSE, curbuf, eap);
|
||||
if (did_cmd)
|
||||
{
|
||||
if (was_changed && !curbufIsChanged())
|
||||
{
|
||||
/* Written everything correctly and BufWriteCmd has reset
|
||||
* 'modified': Correct the undo information so that an
|
||||
* undo now sets 'modified'. */
|
||||
u_unchanged(curbuf);
|
||||
u_update_save_nr(curbuf);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef FEAT_QUICKFIX
|
||||
if (overwriting && bt_nofile(curbuf))
|
||||
@@ -3804,13 +3810,7 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
|
||||
|
||||
/* make sure we have a valid backup extension to use */
|
||||
if (*p_bex == NUL)
|
||||
{
|
||||
#ifdef RISCOS
|
||||
backup_ext = (char_u *)"/bak";
|
||||
#else
|
||||
backup_ext = (char_u *)".bak";
|
||||
#endif
|
||||
}
|
||||
else
|
||||
backup_ext = p_bex;
|
||||
|
||||
@@ -4724,11 +4724,6 @@ restore_backup:
|
||||
#endif
|
||||
if (perm >= 0) /* set perm. of new file same as old file */
|
||||
(void)mch_setperm(wfname, perm);
|
||||
#ifdef RISCOS
|
||||
if (!append && !filtering)
|
||||
/* Set the filetype after writing the file. */
|
||||
mch_set_filetype(wfname, buf->b_p_oft);
|
||||
#endif
|
||||
#ifdef HAVE_ACL
|
||||
/* Probably need to set the ACL before changing the user (can't set the
|
||||
* ACL on a file the user doesn't own). */
|
||||
@@ -6262,19 +6257,17 @@ buf_modname(shortname, fname, ext, prepend_dot)
|
||||
*/
|
||||
for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr))
|
||||
{
|
||||
#ifndef RISCOS
|
||||
if (*ext == '.'
|
||||
# ifdef USE_LONG_FNAME
|
||||
#ifdef USE_LONG_FNAME
|
||||
&& (!USE_LONG_FNAME || shortname)
|
||||
# else
|
||||
# ifndef SHORT_FNAME
|
||||
#else
|
||||
# ifndef SHORT_FNAME
|
||||
&& shortname
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
)
|
||||
if (*ptr == '.') /* replace '.' by '_' */
|
||||
*ptr = '_';
|
||||
#endif
|
||||
if (vim_ispathsep(*ptr))
|
||||
{
|
||||
++ptr;
|
||||
@@ -6309,23 +6302,14 @@ buf_modname(shortname, fname, ext, prepend_dot)
|
||||
if (fname == NULL || *fname == NUL
|
||||
|| vim_ispathsep(fname[STRLEN(fname) - 1]))
|
||||
{
|
||||
#ifdef RISCOS
|
||||
if (*ext == '/')
|
||||
#else
|
||||
if (*ext == '.')
|
||||
#endif
|
||||
*s++ = '_';
|
||||
}
|
||||
/*
|
||||
* If the extension starts with '.', truncate the base name at 8
|
||||
* characters
|
||||
*/
|
||||
#ifdef RISCOS
|
||||
/* We normally use '/', but swap files are '_' */
|
||||
else if (*ext == '/' || *ext == '_')
|
||||
#else
|
||||
else if (*ext == '.')
|
||||
#endif
|
||||
{
|
||||
if ((size_t)(s - ptr) > (size_t)8)
|
||||
{
|
||||
@@ -6337,13 +6321,8 @@ buf_modname(shortname, fname, ext, prepend_dot)
|
||||
* If the extension doesn't start with '.', and the file name
|
||||
* doesn't have an extension yet, append a '.'
|
||||
*/
|
||||
#ifdef RISCOS
|
||||
else if ((e = vim_strchr(ptr, '/')) == NULL)
|
||||
*s++ = '/';
|
||||
#else
|
||||
else if ((e = vim_strchr(ptr, '.')) == NULL)
|
||||
*s++ = '.';
|
||||
#endif
|
||||
/*
|
||||
* If the extension doesn't start with '.', and there already is an
|
||||
* extension, it may need to be truncated
|
||||
@@ -6371,23 +6350,14 @@ buf_modname(shortname, fname, ext, prepend_dot)
|
||||
/*
|
||||
* Prepend the dot.
|
||||
*/
|
||||
if (prepend_dot && !shortname && *(e = gettail(retval)) !=
|
||||
#ifdef RISCOS
|
||||
'/'
|
||||
#else
|
||||
'.'
|
||||
#endif
|
||||
if (prepend_dot && !shortname && *(e = gettail(retval)) != '.'
|
||||
#ifdef USE_LONG_FNAME
|
||||
&& USE_LONG_FNAME
|
||||
#endif
|
||||
)
|
||||
{
|
||||
STRMOVE(e + 1, e);
|
||||
#ifdef RISCOS
|
||||
*e = '/';
|
||||
#else
|
||||
*e = '.';
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -7706,6 +7676,7 @@ static struct event_name
|
||||
{"InsertChange", EVENT_INSERTCHANGE},
|
||||
{"InsertEnter", EVENT_INSERTENTER},
|
||||
{"InsertLeave", EVENT_INSERTLEAVE},
|
||||
{"InsertCharPre", EVENT_INSERTCHARPRE},
|
||||
{"MenuPopup", EVENT_MENUPOPUP},
|
||||
{"QuickFixCmdPost", EVENT_QUICKFIXCMDPOST},
|
||||
{"QuickFixCmdPre", EVENT_QUICKFIXCMDPRE},
|
||||
@@ -9087,7 +9058,10 @@ trigger_cursorhold()
|
||||
{
|
||||
int state;
|
||||
|
||||
if (!did_cursorhold && has_cursorhold() && !Recording
|
||||
if (!did_cursorhold
|
||||
&& has_cursorhold()
|
||||
&& !Recording
|
||||
&& typebuf.tb_len == 0
|
||||
#ifdef FEAT_INS_EXPAND
|
||||
&& !ins_compl_active()
|
||||
#endif
|
||||
@@ -9978,6 +9952,8 @@ match_file_pat(pattern, prog, fname, sfname, tail, allow_dirs)
|
||||
if ((c == ';' || c == '>') && match == FALSE)
|
||||
{
|
||||
*pattern = NUL; /* Terminate the string */
|
||||
/* TODO: match with 'filetype' of buffer that "fname" comes
|
||||
* from. */
|
||||
match = mch_check_filetype(fname, type_start);
|
||||
*pattern = c; /* Restore the terminator */
|
||||
type_start = pattern + 1;
|
||||
@@ -10205,19 +10181,11 @@ file_pat_to_reg_pat(pat, pat_end, allow_dirs, no_bslash)
|
||||
++p;
|
||||
break;
|
||||
case '.':
|
||||
#ifdef RISCOS
|
||||
if (allow_dirs != NULL)
|
||||
*allow_dirs = TRUE;
|
||||
/* FALLTHROUGH */
|
||||
#endif
|
||||
case '~':
|
||||
reg_pat[i++] = '\\';
|
||||
reg_pat[i++] = *p;
|
||||
break;
|
||||
case '?':
|
||||
#ifdef RISCOS
|
||||
case '#':
|
||||
#endif
|
||||
reg_pat[i++] = '.';
|
||||
break;
|
||||
case '\\':
|
||||
|
||||
@@ -1469,11 +1469,14 @@ deleteFoldEntry(gap, idx, recursive)
|
||||
}
|
||||
else
|
||||
{
|
||||
/* move nested folds one level up, to overwrite the fold that is
|
||||
/* Move nested folds one level up, to overwrite the fold that is
|
||||
* deleted. */
|
||||
moved = fp->fd_nested.ga_len;
|
||||
if (ga_grow(gap, (int)(moved - 1)) == OK)
|
||||
{
|
||||
/* Get "fp" again, the array may have been reallocated. */
|
||||
fp = (fold_T *)gap->ga_data + idx;
|
||||
|
||||
/* adjust fd_top and fd_flags for the moved folds */
|
||||
nfp = (fold_T *)fp->fd_nested.ga_data;
|
||||
for (i = 0; i < moved; ++i)
|
||||
@@ -1486,9 +1489,9 @@ deleteFoldEntry(gap, idx, recursive)
|
||||
}
|
||||
|
||||
/* move the existing folds down to make room */
|
||||
if (idx < gap->ga_len)
|
||||
if (idx + 1 < gap->ga_len)
|
||||
mch_memmove(fp + moved, fp + 1,
|
||||
sizeof(fold_T) * (gap->ga_len - idx));
|
||||
sizeof(fold_T) * (gap->ga_len - (idx + 1)));
|
||||
/* move the contained folds one level up */
|
||||
mch_memmove(fp, nfp, (size_t)(sizeof(fold_T) * moved));
|
||||
vim_free(nfp);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user