forked from aniani/vim
updated for version 7.1a
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
README.txt for version 7.0 of Vim: Vi IMproved.
|
README.txt for version 7.1a of Vim: Vi IMproved.
|
||||||
|
|
||||||
|
|
||||||
WHAT IS VIM
|
WHAT IS VIM
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
README_amibin.txt for version 7.0 of Vim: Vi IMproved.
|
README_amibin.txt for version 7.1a of Vim: Vi IMproved.
|
||||||
|
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
See "README_ami.txt" for installation instructions for the Amiga.
|
See "README_ami.txt" for installation instructions for the Amiga.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
README_dos.txt for version 7.0 of Vim: Vi IMproved.
|
README_dos.txt for version 7.1a of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
|
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
README_extra.txt for version 7.0 of Vim: Vi IMproved.
|
README_extra.txt for version 7.1a of Vim: Vi IMproved.
|
||||||
|
|
||||||
The extra archive of Vim is to be used in combination with the source archive
|
The extra archive of Vim is to be used in combination with the source archive
|
||||||
(vim-7.0-src.tar.gz). The extra archive is useless without it.
|
(vim-7.0-src.tar.gz). The extra archive is useless without it.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
README_mac.txt for version 7.0 of Vim: Vi IMproved.
|
README_mac.txt for version 7.1a of Vim: Vi IMproved.
|
||||||
|
|
||||||
This file explains the installation of Vim on Macintosh systems.
|
This file explains the installation of Vim on Macintosh systems.
|
||||||
See "README.txt" for general information about Vim.
|
See "README.txt" for general information about Vim.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
README_ole.txt for version 7.0 of Vim: Vi IMproved.
|
README_ole.txt for version 7.1a of Vim: Vi IMproved.
|
||||||
|
|
||||||
This archive contains gvim.exe with OLE interface and VisVim.
|
This archive contains gvim.exe with OLE interface and VisVim.
|
||||||
This version of gvim.exe can also load a number of interface dynamically (you
|
This version of gvim.exe can also load a number of interface dynamically (you
|
||||||
|
109
runtime/autoload/adacomplete.vim
Normal file
109
runtime/autoload/adacomplete.vim
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" Description: Vim Ada omnicompletion file
|
||||||
|
" Language: Ada (2005)
|
||||||
|
" $Id$
|
||||||
|
" Maintainer: Martin Krischik
|
||||||
|
" $Author$
|
||||||
|
" $Date$
|
||||||
|
" Version: 4.2
|
||||||
|
" $Revision$
|
||||||
|
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $
|
||||||
|
" History: 24.05.2006 MK Unified Headers
|
||||||
|
" 26.05.2006 MK improved search for begin of word.
|
||||||
|
" 16.07.2006 MK Ada-Mode as vim-ball
|
||||||
|
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||||
|
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||||
|
" autoload
|
||||||
|
" 05.11.2006 MK Bram suggested agaist using setlocal omnifunc
|
||||||
|
" 05.11.2006 MK Bram suggested to save on spaces
|
||||||
|
" Help Page: ft-ada-omni
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if version < 700
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Section: adacomplete#Complete () {{{1
|
||||||
|
"
|
||||||
|
" This function is used for the 'omnifunc' option.
|
||||||
|
"
|
||||||
|
function! adacomplete#Complete (findstart, base)
|
||||||
|
if a:findstart == 1
|
||||||
|
return ada#User_Complete (a:findstart, a:base)
|
||||||
|
else
|
||||||
|
"
|
||||||
|
" look up matches
|
||||||
|
"
|
||||||
|
if exists ("g:ada_omni_with_keywords")
|
||||||
|
call ada#User_Complete (a:findstart, a:base)
|
||||||
|
endif
|
||||||
|
"
|
||||||
|
" search tag file for matches
|
||||||
|
"
|
||||||
|
let l:Pattern = '^' . a:base . '.*$'
|
||||||
|
let l:Tag_List = taglist (l:Pattern)
|
||||||
|
"
|
||||||
|
" add symbols
|
||||||
|
"
|
||||||
|
for Tag_Item in l:Tag_List
|
||||||
|
if l:Tag_Item['kind'] == ''
|
||||||
|
"
|
||||||
|
" Tag created by gnat xref
|
||||||
|
"
|
||||||
|
let l:Match_Item = {
|
||||||
|
\ 'word': l:Tag_Item['name'],
|
||||||
|
\ 'menu': l:Tag_Item['filename'],
|
||||||
|
\ 'info': "Symbol from file " . l:Tag_Item['filename'] . " line " . l:Tag_Item['cmd'],
|
||||||
|
\ 'kind': 's',
|
||||||
|
\ 'icase': 1}
|
||||||
|
else
|
||||||
|
"
|
||||||
|
" Tag created by ctags
|
||||||
|
"
|
||||||
|
let l:Info = 'Symbol : ' . l:Tag_Item['name'] . "\n"
|
||||||
|
let l:Info .= 'Of type : ' . g:ada#Ctags_Kinds[l:Tag_Item['kind']][1] . "\n"
|
||||||
|
let l:Info .= 'Defined in File : ' . l:Tag_Item['filename'] . "\n"
|
||||||
|
|
||||||
|
if has_key( l:Tag_Item, 'package')
|
||||||
|
let l:Info .= 'Package : ' . l:Tag_Item['package'] . "\n"
|
||||||
|
let l:Menu = l:Tag_Item['package']
|
||||||
|
elseif has_key( l:Tag_Item, 'separate')
|
||||||
|
let l:Info .= 'Separate from Package : ' . l:Tag_Item['separate'] . "\n"
|
||||||
|
let l:Menu = l:Tag_Item['separate']
|
||||||
|
elseif has_key( l:Tag_Item, 'packspec')
|
||||||
|
let l:Info .= 'Package Specification : ' . l:Tag_Item['packspec'] . "\n"
|
||||||
|
let l:Menu = l:Tag_Item['packspec']
|
||||||
|
elseif has_key( l:Tag_Item, 'type')
|
||||||
|
let l:Info .= 'Datetype : ' . l:Tag_Item['type'] . "\n"
|
||||||
|
let l:Menu = l:Tag_Item['type']
|
||||||
|
else
|
||||||
|
let l:Menu = l:Tag_Item['filename']
|
||||||
|
endif
|
||||||
|
|
||||||
|
let l:Match_Item = {
|
||||||
|
\ 'word': l:Tag_Item['name'],
|
||||||
|
\ 'menu': l:Menu,
|
||||||
|
\ 'info': l:Info,
|
||||||
|
\ 'kind': l:Tag_Item['kind'],
|
||||||
|
\ 'icase': 1}
|
||||||
|
endif
|
||||||
|
if complete_add (l:Match_Item) == 0
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
if complete_check ()
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
endfunction adacomplete#Complete
|
||||||
|
|
||||||
|
finish " 1}}}
|
||||||
|
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" Copyright (C) 2006 Martin Krischik
|
||||||
|
"
|
||||||
|
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||||
|
" vim: foldmethod=marker
|
@@ -1,86 +1,87 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: CSS 2.1
|
" Language: CSS 2.1
|
||||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||||
" Last Change: 2006 Apr 30
|
" Last Change: 2007 Mar 11
|
||||||
|
|
||||||
function! csscomplete#CompleteCSS(findstart, base)
|
function! csscomplete#CompleteCSS(findstart, base)
|
||||||
|
|
||||||
if a:findstart
|
if a:findstart
|
||||||
" We need whole line to proper checking
|
" We need whole line to proper checking
|
||||||
let line = getline('.')
|
let line = getline('.')
|
||||||
let start = col('.') - 1
|
let start = col('.') - 1
|
||||||
let compl_begin = col('.') - 2
|
let compl_begin = col('.') - 2
|
||||||
while start >= 0 && line[start - 1] =~ '\(\k\|-\)'
|
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
|
||||||
let start -= 1
|
let start -= 1
|
||||||
endwhile
|
endwhile
|
||||||
let b:compl_context = getline('.')[0:compl_begin]
|
let b:compl_context = getline('.')[0:compl_begin]
|
||||||
return start
|
return start
|
||||||
else
|
endif
|
||||||
" There are few chars important for context:
|
|
||||||
" ^ ; : { } /* */
|
" There are few chars important for context:
|
||||||
" Where ^ is start of line and /* */ are comment borders
|
" ^ ; : { } /* */
|
||||||
" Depending on their relative position to cursor we will now what should
|
" Where ^ is start of line and /* */ are comment borders
|
||||||
" be completed.
|
" Depending on their relative position to cursor we will know what should
|
||||||
" 1. if nearest are ^ or { or ; current word is property
|
" be completed.
|
||||||
" 2. if : it is value (with exception of pseudo things)
|
" 1. if nearest are ^ or { or ; current word is property
|
||||||
" 3. if } we are outside of css definitions
|
" 2. if : it is value (with exception of pseudo things)
|
||||||
" 4. for comments ignoring is be the easiest but assume they are the same
|
" 3. if } we are outside of css definitions
|
||||||
" as 1.
|
" 4. for comments ignoring is be the easiest but assume they are the same
|
||||||
" 5. if @ complete at-rule
|
" as 1.
|
||||||
" 6. if ! complete important
|
" 5. if @ complete at-rule
|
||||||
if exists("b:compl_context")
|
" 6. if ! complete important
|
||||||
|
if exists("b:compl_context")
|
||||||
let line = b:compl_context
|
let line = b:compl_context
|
||||||
unlet! b:compl_context
|
unlet! b:compl_context
|
||||||
else
|
else
|
||||||
let line = a:base
|
let line = a:base
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let res = []
|
let res = []
|
||||||
let res2 = []
|
let res2 = []
|
||||||
let borders = {}
|
let borders = {}
|
||||||
|
|
||||||
" We need the last occurrence of char so reverse line
|
" Check last occurrence of sequence
|
||||||
let revline = join(reverse(split(line, '.\zs')), '')
|
|
||||||
|
|
||||||
let openbrace = stridx(revline, '{')
|
let openbrace = strridx(line, '{')
|
||||||
let closebrace = stridx(revline, '}')
|
let closebrace = strridx(line, '}')
|
||||||
let colon = stridx(revline, ':')
|
let colon = strridx(line, ':')
|
||||||
let semicolon = stridx(revline, ';')
|
let semicolon = strridx(line, ';')
|
||||||
let opencomm = stridx(revline, '*/') " Line was reversed
|
let opencomm = strridx(line, '/*')
|
||||||
let closecomm = stridx(revline, '/*') " Line was reversed
|
let closecomm = strridx(line, '*/')
|
||||||
let style = stridx(revline, '=\s*elyts') " Line was reversed
|
let style = strridx(line, 'style\s*=')
|
||||||
let atrule = stridx(revline, '@')
|
let atrule = strridx(line, '@')
|
||||||
let exclam = stridx(revline, '!')
|
let exclam = strridx(line, '!')
|
||||||
|
|
||||||
if openbrace > -1
|
if openbrace > -1
|
||||||
let borders[openbrace] = "openbrace"
|
let borders[openbrace] = "openbrace"
|
||||||
endif
|
endif
|
||||||
if closebrace > -1
|
if closebrace > -1
|
||||||
let borders[closebrace] = "closebrace"
|
let borders[closebrace] = "closebrace"
|
||||||
endif
|
endif
|
||||||
if colon > -1
|
if colon > -1
|
||||||
let borders[colon] = "colon"
|
let borders[colon] = "colon"
|
||||||
endif
|
endif
|
||||||
if semicolon > -1
|
if semicolon > -1
|
||||||
let borders[semicolon] = "semicolon"
|
let borders[semicolon] = "semicolon"
|
||||||
endif
|
endif
|
||||||
if opencomm > -1
|
if opencomm > -1
|
||||||
let borders[opencomm] = "opencomm"
|
let borders[opencomm] = "opencomm"
|
||||||
endif
|
endif
|
||||||
if closecomm > -1
|
if closecomm > -1
|
||||||
let borders[closecomm] = "closecomm"
|
let borders[closecomm] = "closecomm"
|
||||||
endif
|
endif
|
||||||
if style > -1
|
if style > -1
|
||||||
let borders[style] = "style"
|
let borders[style] = "style"
|
||||||
endif
|
endif
|
||||||
if atrule > -1
|
if atrule > -1
|
||||||
let borders[atrule] = "atrule"
|
let borders[atrule] = "atrule"
|
||||||
endif
|
endif
|
||||||
if exclam > -1
|
if exclam > -1
|
||||||
let borders[exclam] = "exclam"
|
let borders[exclam] = "exclam"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
if len(borders) == 0 || borders[min(keys(borders))] =~ '^\(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
|
if len(borders) == 0 || borders[max(keys(borders))] =~ '^\%(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
|
||||||
" Complete properties
|
" Complete properties
|
||||||
|
|
||||||
let values = split("azimuth background background-attachment background-color background-image background-position background-repeat border bottom border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width caption-side clear clip color content counter-increment counter-reset cue cue-after cue-before cursor display direction elevation empty-cells float font font-family font-size font-style font-variant font-weight height left letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-right margin-left margin-top margin-bottom max-height max-width min-height min-width orphans outline outline-color outline-style outline-width overflow padding padding-top padding-right padding-bottom padding-left page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness speak speak-header speak-numeral speak-punctuation speech-rate stress table-layout text-align text-decoration text-indent text-transform top unicode-bidi vertical-align visibility voice-family volume white-space width widows word-spacing z-index")
|
let values = split("azimuth background background-attachment background-color background-image background-position background-repeat border bottom border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width caption-side clear clip color content counter-increment counter-reset cue cue-after cue-before cursor display direction elevation empty-cells float font font-family font-size font-style font-variant font-weight height left letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-right margin-left margin-top margin-bottom max-height max-width min-height min-width orphans outline outline-color outline-style outline-width overflow padding padding-top padding-right padding-bottom padding-left page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness speak speak-header speak-numeral speak-punctuation speech-rate stress table-layout text-align text-decoration text-indent text-transform top unicode-bidi vertical-align visibility voice-family volume white-space width widows word-spacing z-index")
|
||||||
@@ -97,7 +98,7 @@ else
|
|||||||
|
|
||||||
return res + res2
|
return res + res2
|
||||||
|
|
||||||
elseif borders[min(keys(borders))] == 'colon'
|
elseif borders[max(keys(borders))] == 'colon'
|
||||||
" Get name of property
|
" Get name of property
|
||||||
let prop = tolower(matchstr(line, '\zs[a-zA-Z-]*\ze\s*:[^:]\{-}$'))
|
let prop = tolower(matchstr(line, '\zs[a-zA-Z-]*\ze\s*:[^:]\{-}$'))
|
||||||
|
|
||||||
@@ -111,9 +112,9 @@ else
|
|||||||
let values = ["url(", "none"]
|
let values = ["url(", "none"]
|
||||||
elseif prop == 'background-position'
|
elseif prop == 'background-position'
|
||||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||||
if vals =~ '^\([a-zA-Z]\+\)\?$'
|
if vals =~ '^\%([a-zA-Z]\+\)\?$'
|
||||||
let values = ["top", "center", "bottom"]
|
let values = ["top", "center", "bottom"]
|
||||||
elseif vals =~ '^[a-zA-Z]\+\s\+\([a-zA-Z]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||||
let values = ["left", "center", "right"]
|
let values = ["left", "center", "right"]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
@@ -130,32 +131,32 @@ else
|
|||||||
return []
|
return []
|
||||||
elseif prop == 'border-style'
|
elseif prop == 'border-style'
|
||||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)$'
|
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)$'
|
||||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||||
if vals =~ '^\([a-zA-Z0-9.]\+\)\?$'
|
if vals =~ '^\%([a-zA-Z0-9.]\+\)\?$'
|
||||||
let values = ["thin", "thick", "medium"]
|
let values = ["thin", "thick", "medium"]
|
||||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\([a-zA-Z]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\([a-zA-Z(]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\%([a-zA-Z(]\+\)\?$'
|
||||||
let values = ["rgb(", "#", "transparent"]
|
let values = ["rgb(", "#", "transparent"]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
endif
|
endif
|
||||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-color'
|
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-color'
|
||||||
let values = ["rgb(", "#", "transparent"]
|
let values = ["rgb(", "#", "transparent"]
|
||||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-style'
|
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-style'
|
||||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-width'
|
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-width'
|
||||||
let values = ["thin", "thick", "medium"]
|
let values = ["thin", "thick", "medium"]
|
||||||
elseif prop == 'border-width'
|
elseif prop == 'border-width'
|
||||||
let values = ["thin", "thick", "medium"]
|
let values = ["thin", "thick", "medium"]
|
||||||
elseif prop == 'border'
|
elseif prop == 'border'
|
||||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||||
if vals =~ '^\([a-zA-Z0-9.]\+\)\?$'
|
if vals =~ '^\%([a-zA-Z0-9.]\+\)\?$'
|
||||||
let values = ["thin", "thick", "medium"]
|
let values = ["thin", "thick", "medium"]
|
||||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\([a-zA-Z]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\([a-zA-Z(]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\%([a-zA-Z(]\+\)\?$'
|
||||||
let values = ["rgb(", "#", "transparent"]
|
let values = ["rgb(", "#", "transparent"]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
@@ -172,9 +173,9 @@ else
|
|||||||
let values = ["rgb(", "#"]
|
let values = ["rgb(", "#"]
|
||||||
elseif prop == 'content'
|
elseif prop == 'content'
|
||||||
let values = ["normal", "attr(", "open-quote", "close-quote", "no-open-quote", "no-close-quote"]
|
let values = ["normal", "attr(", "open-quote", "close-quote", "no-open-quote", "no-close-quote"]
|
||||||
elseif prop =~ 'counter-\(increment\|reset\)$'
|
elseif prop =~ 'counter-\%(increment\|reset\)$'
|
||||||
let values = ["none"]
|
let values = ["none"]
|
||||||
elseif prop =~ '^\(cue-after\|cue-before\|cue\)$'
|
elseif prop =~ '^\%(cue-after\|cue-before\|cue\)$'
|
||||||
let values = ["url(", "none"]
|
let values = ["url(", "none"]
|
||||||
elseif prop == 'cursor'
|
elseif prop == 'cursor'
|
||||||
let values = ["url(", "auto", "crosshair", "default", "pointer", "move", "e-resize", "ne-resize", "nw-resize", "n-resize", "se-resize", "sw-resize", "s-resize", "w-resize", "text", "wait", "help", "progress"]
|
let values = ["url(", "auto", "crosshair", "default", "pointer", "move", "e-resize", "ne-resize", "nw-resize", "n-resize", "se-resize", "sw-resize", "s-resize", "w-resize", "text", "wait", "help", "progress"]
|
||||||
@@ -200,9 +201,9 @@ else
|
|||||||
let values = ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
let values = ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
||||||
elseif prop == 'font'
|
elseif prop == 'font'
|
||||||
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
|
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
|
||||||
elseif prop =~ '^\(height\|width\)$'
|
elseif prop =~ '^\%(height\|width\)$'
|
||||||
let values = ["auto"]
|
let values = ["auto"]
|
||||||
elseif prop =~ '^\(left\|rigth\)$'
|
elseif prop =~ '^\%(left\|rigth\)$'
|
||||||
let values = ["auto"]
|
let values = ["auto"]
|
||||||
elseif prop == 'letter-spacing'
|
elseif prop == 'letter-spacing'
|
||||||
let values = ["normal"]
|
let values = ["normal"]
|
||||||
@@ -218,7 +219,7 @@ else
|
|||||||
return []
|
return []
|
||||||
elseif prop == 'margin'
|
elseif prop == 'margin'
|
||||||
let values = ["auto"]
|
let values = ["auto"]
|
||||||
elseif prop =~ 'margin-\(right\|left\|top\|bottom\)$'
|
elseif prop =~ 'margin-\%(right\|left\|top\|bottom\)$'
|
||||||
let values = ["auto"]
|
let values = ["auto"]
|
||||||
elseif prop == 'max-height'
|
elseif prop == 'max-height'
|
||||||
let values = ["auto"]
|
let values = ["auto"]
|
||||||
@@ -238,11 +239,11 @@ else
|
|||||||
let values = ["thin", "thick", "medium"]
|
let values = ["thin", "thick", "medium"]
|
||||||
elseif prop == 'outline'
|
elseif prop == 'outline'
|
||||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||||
if vals =~ '^\([a-zA-Z0-9,()#]\+\)\?$'
|
if vals =~ '^\%([a-zA-Z0-9,()#]\+\)\?$'
|
||||||
let values = ["rgb(", "#"]
|
let values = ["rgb(", "#"]
|
||||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+\([a-zA-Z]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+[a-zA-Z]\+\s\+\([a-zA-Z(]\+\)\?$'
|
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+[a-zA-Z]\+\s\+\%([a-zA-Z(]\+\)\?$'
|
||||||
let values = ["thin", "thick", "medium"]
|
let values = ["thin", "thick", "medium"]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
@@ -251,13 +252,13 @@ else
|
|||||||
let values = ["visible", "hidden", "scroll", "auto"]
|
let values = ["visible", "hidden", "scroll", "auto"]
|
||||||
elseif prop == 'padding'
|
elseif prop == 'padding'
|
||||||
return []
|
return []
|
||||||
elseif prop =~ 'padding-\(top\|right\|bottom\|left\)$'
|
elseif prop =~ 'padding-\%(top\|right\|bottom\|left\)$'
|
||||||
return []
|
return []
|
||||||
elseif prop =~ 'page-break-\(after\|before\)$'
|
elseif prop =~ 'page-break-\%(after\|before\)$'
|
||||||
let values = ["auto", "always", "avoid", "left", "right"]
|
let values = ["auto", "always", "avoid", "left", "right"]
|
||||||
elseif prop == 'page-break-inside'
|
elseif prop == 'page-break-inside'
|
||||||
let values = ["auto", "avoid"]
|
let values = ["auto", "avoid"]
|
||||||
elseif prop =~ 'pause-\(after\|before\)$'
|
elseif prop =~ 'pause-\%(after\|before\)$'
|
||||||
return []
|
return []
|
||||||
elseif prop == 'pause'
|
elseif prop == 'pause'
|
||||||
return []
|
return []
|
||||||
@@ -319,7 +320,7 @@ else
|
|||||||
" If no property match it is possible we are outside of {} and
|
" If no property match it is possible we are outside of {} and
|
||||||
" trying to complete pseudo-(class|element)
|
" trying to complete pseudo-(class|element)
|
||||||
let element = tolower(matchstr(line, '\zs[a-zA-Z1-6]*\ze:[^:[:space:]]\{-}$'))
|
let element = tolower(matchstr(line, '\zs[a-zA-Z1-6]*\ze:[^:[:space:]]\{-}$'))
|
||||||
if ",a,abbr,acronym,address,area,b,base,bdo,big,blockquote,body,br,button,caption,cite,code,col,colgroup,dd,del,dfn,div,dl,dt,em,fieldset,form,head,h1,h2,h3,h4,h5,h6,hr,html,i,img,input,ins,kbd,label,legend,li,link,map,meta,noscript,object,ol,optgroup,option,p,param,pre,q,samp,script,select,small,span,strong,style,sub,sup,table,tbody,td,textarea,tfoot,th,thead,title,tr,tt,ul,var," =~ ','.element.','
|
if stridx(',a,abbr,acronym,address,area,b,base,bdo,big,blockquote,body,br,button,caption,cite,code,col,colgroup,dd,del,dfn,div,dl,dt,em,fieldset,form,head,h1,h2,h3,h4,h5,h6,hr,html,i,img,input,ins,kbd,label,legend,li,link,map,meta,noscript,object,ol,optgroup,option,p,param,pre,q,samp,script,select,small,span,strong,style,sub,sup,table,tbody,td,textarea,tfoot,th,thead,title,tr,tt,ul,var,', ','.element.',') > -1
|
||||||
let values = ["first-child", "link", "visited", "hover", "active", "focus", "lang", "first-line", "first-letter", "before", "after"]
|
let values = ["first-child", "link", "visited", "hover", "active", "focus", "lang", "first-line", "first-letter", "before", "after"]
|
||||||
else
|
else
|
||||||
return []
|
return []
|
||||||
@@ -339,11 +340,11 @@ else
|
|||||||
|
|
||||||
return res + res2
|
return res + res2
|
||||||
|
|
||||||
elseif borders[min(keys(borders))] == 'closebrace'
|
elseif borders[max(keys(borders))] == 'closebrace'
|
||||||
|
|
||||||
return []
|
return []
|
||||||
|
|
||||||
elseif borders[min(keys(borders))] == 'exclam'
|
elseif borders[max(keys(borders))] == 'exclam'
|
||||||
|
|
||||||
" Complete values
|
" Complete values
|
||||||
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
|
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
|
||||||
@@ -358,7 +359,7 @@ else
|
|||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
elseif borders[min(keys(borders))] == 'atrule'
|
elseif borders[max(keys(borders))] == 'atrule'
|
||||||
|
|
||||||
let afterat = matchstr(line, '.*@\zs.*')
|
let afterat = matchstr(line, '.*@\zs.*')
|
||||||
|
|
||||||
@@ -422,9 +423,8 @@ else
|
|||||||
|
|
||||||
return res + res2
|
return res + res2
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return []
|
return []
|
||||||
|
|
||||||
endif
|
|
||||||
endfunction
|
endfunction
|
||||||
|
75
runtime/autoload/decada.vim
Normal file
75
runtime/autoload/decada.vim
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" Description: Vim Ada/Dec Ada compiler file
|
||||||
|
" Language: Ada (Dec Ada)
|
||||||
|
" $Id$
|
||||||
|
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||||
|
" Maintainer: Martin Krischik
|
||||||
|
" $Author$
|
||||||
|
" $Date$
|
||||||
|
" Version: 4.2
|
||||||
|
" $Revision$
|
||||||
|
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
|
||||||
|
" History: 21.07.2006 MK New Dec Ada
|
||||||
|
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||||
|
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||||
|
" autoload
|
||||||
|
" 05.11.2006 MK Bram suggested to save on spaces
|
||||||
|
" Help Page: compiler-decada
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if version < 700
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
function decada#Unit_Name () dict " {{{1
|
||||||
|
" Convert filename into acs unit:
|
||||||
|
" 1: remove the file extenstion.
|
||||||
|
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
|
||||||
|
" 3: remove a trailing '_' (wich denotes a specification)
|
||||||
|
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
|
||||||
|
endfunction decada#Unit_Name " }}}1
|
||||||
|
|
||||||
|
function decada#Make () dict " {{{1
|
||||||
|
let l:make_prg = substitute (g:self.Make_Command, '%<', self.Unit_Name(), '')
|
||||||
|
let &errorformat = g:self.Error_Format
|
||||||
|
let &makeprg = l:make_prg
|
||||||
|
wall
|
||||||
|
make
|
||||||
|
copen
|
||||||
|
set wrap
|
||||||
|
wincmd W
|
||||||
|
endfunction decada#Build " }}}1
|
||||||
|
|
||||||
|
function decada#Set_Session (...) dict " {{{1
|
||||||
|
if a:0 > 0
|
||||||
|
call ada#Switch_Session (a:1)
|
||||||
|
elseif argc() == 0 && strlen (v:servername) > 0
|
||||||
|
call ada#Switch_Session (
|
||||||
|
\ expand('~')[0:-2] . ".vimfiles.session]" .
|
||||||
|
\ v:servername . ".vim")
|
||||||
|
endif
|
||||||
|
return
|
||||||
|
endfunction decada#Set_Session " }}}1
|
||||||
|
|
||||||
|
function decada#New () " }}}1
|
||||||
|
let Retval = {
|
||||||
|
\ 'Make' : function ('decada#Make'),
|
||||||
|
\ 'Unit_Name' : function ('decada#Unit_Name'),
|
||||||
|
\ 'Set_Session' : function ('decada#Set_Session'),
|
||||||
|
\ 'Project_Dir' : '',
|
||||||
|
\ 'Make_Command' : 'ACS COMPILE /Wait /Log /NoPreLoad /Optimize=Development /Debug %<',
|
||||||
|
\ 'Error_Format' : '%+A%%ADAC-%t-%m,%C %#%m,%Zat line number %l in file %f,' .
|
||||||
|
\ '%+I%%ada-I-%m,%C %#%m,%Zat line number %l in file %f'}
|
||||||
|
|
||||||
|
return Retval
|
||||||
|
endfunction decada#New " }}}1
|
||||||
|
|
||||||
|
finish " 1}}}
|
||||||
|
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" Copyright (C) 2006 Martin Krischik
|
||||||
|
"
|
||||||
|
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||||
|
" vim: foldmethod=marker
|
501
runtime/autoload/getscript.vim
Normal file
501
runtime/autoload/getscript.vim
Normal file
@@ -0,0 +1,501 @@
|
|||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" getscript.vim
|
||||||
|
" Author: Charles E. Campbell, Jr.
|
||||||
|
" Date: Nov 27, 2006
|
||||||
|
" Version: 23
|
||||||
|
" Installing: :help glvs-install
|
||||||
|
" Usage: :help glvs
|
||||||
|
"
|
||||||
|
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Initialization: {{{1
|
||||||
|
" if you're sourcing this file, surely you can't be
|
||||||
|
" expecting vim to be in its vi-compatible mode
|
||||||
|
if &cp
|
||||||
|
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:keepfo = &fo
|
||||||
|
let s:keepcpo = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
if exists("g:loaded_getscript")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_getscript= "v23"
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Global Variables: {{{1
|
||||||
|
" allow user to change the command for obtaining scripts (does fetch work?)
|
||||||
|
if !exists("g:GetLatestVimScripts_wget")
|
||||||
|
if executable("wget")
|
||||||
|
let g:GetLatestVimScripts_wget= "wget"
|
||||||
|
elseif executable("curl")
|
||||||
|
let g:GetLatestVimScripts_wget= "curl"
|
||||||
|
else
|
||||||
|
let g:GetLatestVimScripts_wget = 'echo "GetLatestVimScripts needs wget or curl"'
|
||||||
|
let g:GetLatestVimScripts_options = ""
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" options that wget and curl require:
|
||||||
|
if !exists("g:GetLatestVimScripts_options")
|
||||||
|
if g:GetLatestVimScripts_wget == "wget"
|
||||||
|
let g:GetLatestVimScripts_options= "-q -O"
|
||||||
|
elseif g:GetLatestVimScripts_wget == "curl"
|
||||||
|
let g:GetLatestVimScripts_options= "-s -O"
|
||||||
|
else
|
||||||
|
let g:GetLatestVimScripts_options= ""
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" by default, allow autoinstall lines to work
|
||||||
|
if !exists("g:GetLatestVimScripts_allowautoinstall")
|
||||||
|
let g:GetLatestVimScripts_allowautoinstall= 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
"" For debugging:
|
||||||
|
"let g:GetLatestVimScripts_wget = "echo"
|
||||||
|
"let g:GetLatestVimScripts_options = "options"
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Check If AutoInstall Capable: {{{1
|
||||||
|
let s:autoinstall= ""
|
||||||
|
if g:GetLatestVimScripts_allowautoinstall
|
||||||
|
|
||||||
|
if (has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")) && &shell != "bash"
|
||||||
|
" windows (but not cygwin/bash)
|
||||||
|
let s:dotvim= "vimfiles"
|
||||||
|
if !exists("g:GetLatestVimScripts_mv")
|
||||||
|
let g:GetLatestVimScripts_mv= "ren"
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
" unix
|
||||||
|
let s:dotvim= ".vim"
|
||||||
|
if !exists("g:GetLatestVimScripts_mv")
|
||||||
|
let g:GetLatestVimScripts_mv= "mv"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
|
||||||
|
let s:autoinstall= $HOME."/".s:dotvim
|
||||||
|
endif
|
||||||
|
" call Decho("s:autoinstall<".s:autoinstall.">")
|
||||||
|
"else "Decho
|
||||||
|
" call Decho("g:GetLatestVimScripts_allowautoinstall=".g:GetLatestVimScripts_allowautoinstall.": :AutoInstall: disabled")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Public Interface: {{{1
|
||||||
|
com! -nargs=0 GetLatestVimScripts call getscript#GetLatestVimScripts()
|
||||||
|
com! -nargs=0 GetScript call getscript#GetLatestVimScripts()
|
||||||
|
silent! com -nargs=0 GLVS call getscript#GetLatestVimScripts()
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" GetOneScript: (Get Latest Vim Script) this function operates {{{1
|
||||||
|
" on the current line, interpreting two numbers and text as
|
||||||
|
" ScriptID, SourceID, and Filename.
|
||||||
|
" It downloads any scripts that have newer versions from vim.sf.net.
|
||||||
|
fun! s:GetOneScript(...)
|
||||||
|
" call Dfunc("GetOneScript()")
|
||||||
|
|
||||||
|
" set options to allow progress to be shown on screen
|
||||||
|
let t_ti= &t_ti
|
||||||
|
let t_te= &t_te
|
||||||
|
let rs = &rs
|
||||||
|
set t_ti= t_te= nors
|
||||||
|
|
||||||
|
" put current line on top-of-screen and interpret it into
|
||||||
|
" a script identifer : used to obtain webpage
|
||||||
|
" source identifier : used to identify current version
|
||||||
|
" and an associated comment: used to report on what's being considered
|
||||||
|
if a:0 >= 3
|
||||||
|
let scriptid = a:1
|
||||||
|
let srcid = a:2
|
||||||
|
let fname = a:3
|
||||||
|
let cmmnt = ""
|
||||||
|
" call Decho("scriptid<".scriptid.">")
|
||||||
|
" call Decho("srcid <".srcid.">")
|
||||||
|
" call Decho("fname <".fname.">")
|
||||||
|
else
|
||||||
|
let curline = getline(".")
|
||||||
|
if curline =~ '^\s*#'
|
||||||
|
" call Dret("GetOneScript : skipping a pure comment line")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let parsepat = '^\s*\(\d\+\)\s\+\(\d\+\)\s\+\(.\{-}\)\(\s*#.*\)\=$'
|
||||||
|
try
|
||||||
|
let scriptid = substitute(curline,parsepat,'\1','e')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E486/
|
||||||
|
let scriptid= 0
|
||||||
|
endtry
|
||||||
|
try
|
||||||
|
let srcid = substitute(curline,parsepat,'\2','e')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E486/
|
||||||
|
let srcid= 0
|
||||||
|
endtry
|
||||||
|
try
|
||||||
|
let fname= substitute(curline,parsepat,'\3','e')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E486/
|
||||||
|
let fname= ""
|
||||||
|
endtry
|
||||||
|
try
|
||||||
|
let cmmnt= substitute(curline,parsepat,'\4','e')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E486/
|
||||||
|
let cmmnt= ""
|
||||||
|
endtry
|
||||||
|
" call Decho("curline <".curline.">")
|
||||||
|
" call Decho("parsepat<".parsepat.">")
|
||||||
|
" call Decho("scriptid<".scriptid.">")
|
||||||
|
" call Decho("srcid <".srcid.">")
|
||||||
|
" call Decho("fname <".fname.">")
|
||||||
|
endif
|
||||||
|
|
||||||
|
if scriptid == 0 || srcid == 0
|
||||||
|
" When looking for :AutoInstall: lines, skip scripts that
|
||||||
|
" have 0 0 scriptname
|
||||||
|
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let doautoinstall= 0
|
||||||
|
if fname =~ ":AutoInstall:"
|
||||||
|
" call Decho("fname<".fname."> has :AutoInstall:...")
|
||||||
|
let aicmmnt= substitute(fname,'\s\+:AutoInstall:\s\+',' ','')
|
||||||
|
" call Decho("aicmmnt<".aicmmnt."> s:autoinstall=".s:autoinstall)
|
||||||
|
if s:autoinstall != ""
|
||||||
|
let doautoinstall = g:GetLatestVimScripts_allowautoinstall
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let aicmmnt= fname
|
||||||
|
endif
|
||||||
|
" call Decho("aicmmnt<".aicmmnt.">: doautoinstall=".doautoinstall)
|
||||||
|
|
||||||
|
exe "norm z\<CR>"
|
||||||
|
redraw!
|
||||||
|
" call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid)
|
||||||
|
echomsg 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
|
||||||
|
|
||||||
|
" grab a copy of the plugin's vim.sf.net webpage
|
||||||
|
let scriptaddr = 'http://vim.sf.net/script.php?script_id='.scriptid
|
||||||
|
let tmpfile = tempname()
|
||||||
|
let v:errmsg = ""
|
||||||
|
|
||||||
|
" make three tries at downloading the description
|
||||||
|
let itry= 1
|
||||||
|
while itry <= 3
|
||||||
|
" call Decho("try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
|
||||||
|
if has("win32") || has("win16") || has("win95")
|
||||||
|
" call Decho("silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile.' "'.scriptaddr.'"')
|
||||||
|
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile.' "'.scriptaddr.'"'
|
||||||
|
else
|
||||||
|
" call Decho("silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile." '".scriptaddr."'")
|
||||||
|
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile." '".scriptaddr."'"
|
||||||
|
endif
|
||||||
|
if itry == 1
|
||||||
|
exe "silent vsplit ".tmpfile
|
||||||
|
else
|
||||||
|
silent! e %
|
||||||
|
endif
|
||||||
|
|
||||||
|
" find the latest source-id in the plugin's webpage
|
||||||
|
silent! 1
|
||||||
|
let findpkg= search('Click on the package to download','W')
|
||||||
|
if findpkg > 0
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let itry= itry + 1
|
||||||
|
endwhile
|
||||||
|
" call Decho(" --- end downloading tries while loop --- itry=".itry)
|
||||||
|
|
||||||
|
" testing: did finding /Click on the package.../ fail?
|
||||||
|
if findpkg == 0 || itry >= 4
|
||||||
|
silent q!
|
||||||
|
call delete(tmpfile)
|
||||||
|
" restore options
|
||||||
|
let &t_ti = t_ti
|
||||||
|
let &t_te = t_te
|
||||||
|
let &rs = rs
|
||||||
|
let s:downerrors = s:downerrors + 1
|
||||||
|
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
|
||||||
|
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
|
||||||
|
" call Dret("GetOneScript : srch for /Click on the package/ failed")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" call Decho('found "Click on the package to download"')
|
||||||
|
|
||||||
|
let findsrcid= search('src_id=','W')
|
||||||
|
if findsrcid == 0
|
||||||
|
silent q!
|
||||||
|
call delete(tmpfile)
|
||||||
|
" restore options
|
||||||
|
let &t_ti = t_ti
|
||||||
|
let &t_te = t_te
|
||||||
|
let &rs = rs
|
||||||
|
let s:downerrors = s:downerrors + 1
|
||||||
|
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
|
||||||
|
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
|
||||||
|
" call Dret("GetOneScript : srch for /src_id/ failed")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" call Decho('found "src_id=" in description page')
|
||||||
|
|
||||||
|
let srcidpat = '^\s*<td class.*src_id=\(\d\+\)">\([^<]\+\)<.*$'
|
||||||
|
let latestsrcid= substitute(getline("."),srcidpat,'\1','')
|
||||||
|
let fname = substitute(getline("."),srcidpat,'\2','')
|
||||||
|
" call Decho("srcidpat<".srcidpat."> latestsrcid<".latestsrcid."> fname<".fname.">")
|
||||||
|
silent q!
|
||||||
|
call delete(tmpfile)
|
||||||
|
|
||||||
|
" convert the strings-of-numbers into numbers
|
||||||
|
let srcid = srcid + 0
|
||||||
|
let latestsrcid = latestsrcid + 0
|
||||||
|
" call Decho("srcid=".srcid." latestsrcid=".latestsrcid." fname<".fname.">")
|
||||||
|
|
||||||
|
" has the plugin's most-recent srcid increased, which indicates
|
||||||
|
" that it has been updated
|
||||||
|
if latestsrcid > srcid
|
||||||
|
let s:downloads= s:downloads + 1
|
||||||
|
if fname == bufname("%")
|
||||||
|
" GetLatestVimScript has to be careful about downloading itself
|
||||||
|
let fname= "NEW_".fname
|
||||||
|
endif
|
||||||
|
|
||||||
|
" the plugin has been updated since we last obtained it, so download a new copy
|
||||||
|
" call Decho("...downloading new <".fname.">")
|
||||||
|
echomsg "...downloading new <".fname.">"
|
||||||
|
if has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")
|
||||||
|
" call Decho("windows: silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".fname.' "'.'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid.'"')
|
||||||
|
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".fname.' "'.'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid.'"'
|
||||||
|
else
|
||||||
|
" call Decho("unix: silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".fname." '".'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid."'")
|
||||||
|
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".fname." '".'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid."'"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" AutoInstall: only if doautoinstall is so indicating
|
||||||
|
if doautoinstall
|
||||||
|
" call Decho("attempting to do autoinstall: getcwd<".getcwd()."> filereadable(".fname.")=".filereadable(fname))
|
||||||
|
if filereadable(fname)
|
||||||
|
" call Decho("move <".fname."> to ".s:autoinstall)
|
||||||
|
" call Decho("DISABLED for testing")
|
||||||
|
exe "silent !".g:GetLatestVimScripts_mv." ".fname." ".s:autoinstall
|
||||||
|
let curdir= escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
|
||||||
|
exe "cd ".s:autoinstall
|
||||||
|
if fname =~ '\.bz2$'
|
||||||
|
" call Decho("attempt to bunzip2 ".fname)
|
||||||
|
exe "silent !bunzip2 ".fname
|
||||||
|
let fname= substitute(fname,'\.bz2$','','')
|
||||||
|
elseif fname =~ '\.gz$'
|
||||||
|
" call Decho("attempt to gunzip ".fname)
|
||||||
|
exe "silent !gunzip ".fname
|
||||||
|
let fname= substitute(fname,'\.gz$','','')
|
||||||
|
endif
|
||||||
|
if fname =~ '\.zip$'
|
||||||
|
" call Decho("attempt to unzip ".fname)
|
||||||
|
exe "silent !unzip -o".fname
|
||||||
|
elseif fname =~ '\.tar$'
|
||||||
|
" call Decho("attempt to untar ".fname)
|
||||||
|
exe "silent !tar -xvf ".fname
|
||||||
|
elseif fname =~ '\.vba$'
|
||||||
|
" call Decho("attempt to handle a vimball: ".fname)
|
||||||
|
1split
|
||||||
|
exe "e ".fname
|
||||||
|
so %
|
||||||
|
q
|
||||||
|
endif
|
||||||
|
if fname =~ '.vim$'
|
||||||
|
" call Decho("attempt to simply move ".fname." to plugin")
|
||||||
|
exe "silent !".g:GetLatestVimScripts_mv." ".fname." plugin"
|
||||||
|
endif
|
||||||
|
let docdir= substitute(&rtp,',.*','','e')."/doc"
|
||||||
|
" call Decho("helptags docdir<".docdir.">")
|
||||||
|
exe "helptags ".docdir
|
||||||
|
exe "cd ".curdir
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" update the data in the <GetLatestVimScripts.dat> file
|
||||||
|
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
|
||||||
|
call setline(line("."),modline)
|
||||||
|
" call Decho("modline<".modline."> (updated GetLatestVimScripts.dat file)")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" restore options
|
||||||
|
let &t_ti= t_ti
|
||||||
|
let &t_te= t_te
|
||||||
|
let &rs = rs
|
||||||
|
|
||||||
|
" call Dret("GetOneScript")
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" GetLatestVimScripts: this function gets the latest versions of {{{1
|
||||||
|
" scripts based on the list in
|
||||||
|
" (first dir in runtimepath)/GetLatest/GetLatestVimScripts.dat
|
||||||
|
fun! getscript#GetLatestVimScripts()
|
||||||
|
" call Dfunc("GetLatestVimScripts() autoinstall<".s:autoinstall.">")
|
||||||
|
|
||||||
|
" insure that wget is executable
|
||||||
|
if executable(g:GetLatestVimScripts_wget) != 1
|
||||||
|
echoerr "GetLatestVimScripts needs ".g:GetLatestVimScripts_wget." which apparently is not available on your system"
|
||||||
|
" call Dret("GetLatestVimScripts : wget not executable/availble")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Find the .../GetLatest subdirectory under the runtimepath
|
||||||
|
for datadir in split(&rtp,',') + ['']
|
||||||
|
if isdirectory(datadir."/GetLatest")
|
||||||
|
" call Decho("found directory<".datadir.">")
|
||||||
|
let datadir= datadir . "/GetLatest"
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
if filereadable(datadir."GetLatestVimScripts.dat")
|
||||||
|
" call Decho("found ".datadir."/GetLatestVimScripts.dat")
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
" Sanity checks: readability and writability
|
||||||
|
if datadir == ""
|
||||||
|
echoerr 'Missing "GetLatest/" on your runtimepath - see :help glvs-dist-install'
|
||||||
|
" call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if filewritable(datadir) != 2
|
||||||
|
echoerr "(getLatestVimScripts) Your ".datadir." isn't writable"
|
||||||
|
" call Dret("GetLatestVimScripts : non-writable directory<".datadir.">")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let datafile= datadir."/GetLatestVimScripts.dat"
|
||||||
|
if !filereadable(datafile)
|
||||||
|
echoerr "Your data file<".datafile."> isn't readable"
|
||||||
|
" call Dret("GetLatestVimScripts : non-readable datafile<".datafile.">")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if !filewritable(datafile)
|
||||||
|
echoerr "Your data file<".datafile."> isn't writable"
|
||||||
|
" call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" call Decho("datadir <".datadir.">")
|
||||||
|
" call Decho("datafile <".datafile.">")
|
||||||
|
|
||||||
|
" don't let any events interfere (like winmanager's, taglist's, etc)
|
||||||
|
let eikeep= &ei
|
||||||
|
set ei=all
|
||||||
|
|
||||||
|
" record current directory, change to datadir, open split window with
|
||||||
|
" datafile
|
||||||
|
let origdir= getcwd()
|
||||||
|
exe "cd ".escape(substitute(datadir,'\','/','ge'),"|[]*'\" #")
|
||||||
|
split
|
||||||
|
exe "e ".escape(substitute(datafile,'\','/','ge'),"|[]*'\" #")
|
||||||
|
res 1000
|
||||||
|
let s:downloads = 0
|
||||||
|
let s:downerrors= 0
|
||||||
|
|
||||||
|
" Check on dependencies mentioned in plugins
|
||||||
|
" call Decho(" ")
|
||||||
|
" call Decho("searching plugins for GetLatestVimScripts dependencies")
|
||||||
|
let lastline = line("$")
|
||||||
|
let plugins = globpath(&rtp,"plugin/*.vim")
|
||||||
|
let foundscript = 0
|
||||||
|
|
||||||
|
" call Decho("plugins<".plugins."> lastline#".lastline)
|
||||||
|
while plugins != ""
|
||||||
|
let plugin = substitute(plugins,'\n.*$','','e')
|
||||||
|
let plugins= (plugins =~ '\n')? substitute(plugins,'^.\{-}\n\(.*\)$','\1','e') : ""
|
||||||
|
$
|
||||||
|
" call Decho(".dependency checking<".plugin."> line$=".line("$"))
|
||||||
|
exe "silent r ".plugin
|
||||||
|
while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0
|
||||||
|
let newscript= substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
|
||||||
|
let llp1 = lastline+1
|
||||||
|
|
||||||
|
if newscript !~ '^"'
|
||||||
|
" found a "GetLatestVimScripts: # #" line in the script; check if its already in the datafile
|
||||||
|
let curline = line(".")
|
||||||
|
let noai_script = substitute(newscript,'\s*:AutoInstall:\s*','','e')
|
||||||
|
exe llp1
|
||||||
|
let srchline = search('\<'.noai_script.'\>','bW')
|
||||||
|
" call Decho("..newscript<".newscript."> noai_script<".noai_script."> srch=".srchline." lastline=".lastline)
|
||||||
|
|
||||||
|
if srchline == 0
|
||||||
|
" found a new script to permanently include in the datafile
|
||||||
|
let keep_rega = @a
|
||||||
|
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
|
||||||
|
exe lastline."put a"
|
||||||
|
echomsg "Appending <".@a."> to ".datafile." for ".newscript
|
||||||
|
" call Decho("..APPEND (".noai_script.")<".@a."> to GetLatestVimScripts.dat")
|
||||||
|
let @a = keep_rega
|
||||||
|
let lastline = llp1
|
||||||
|
let curline = curline + 1
|
||||||
|
let foundscript = foundscript + 1
|
||||||
|
" else " Decho
|
||||||
|
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
|
||||||
|
endif
|
||||||
|
|
||||||
|
let curline = curline + 1
|
||||||
|
exe curline
|
||||||
|
endif
|
||||||
|
|
||||||
|
endwhile
|
||||||
|
let llp1= lastline + 1
|
||||||
|
" call Decho(".deleting lines: ".llp1.",$d")
|
||||||
|
exe "silent! ".llp1.",$d"
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
if foundscript == 0
|
||||||
|
set nomod
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat
|
||||||
|
set lz
|
||||||
|
" call Decho(" --- end of dependency checking loop --- ")
|
||||||
|
" call Decho("call GetOneScript on lines at end of datafile<".datafile.">")
|
||||||
|
1
|
||||||
|
/^-----/,$g/^\s*\d/call <SID>GetOneScript()
|
||||||
|
|
||||||
|
" Final report (an echomsg)
|
||||||
|
try
|
||||||
|
silent! ?^-------?
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E114/
|
||||||
|
" call Dret("GetLatestVimScripts : nothing done!")
|
||||||
|
return
|
||||||
|
endtry
|
||||||
|
exe "norm! kz\<CR>"
|
||||||
|
redraw!
|
||||||
|
let s:msg = ""
|
||||||
|
if s:downloads == 1
|
||||||
|
let s:msg = "Downloaded one updated script to <".datadir.">"
|
||||||
|
elseif s:downloads == 2
|
||||||
|
let s:msg= "Downloaded two updated scripts to <".datadir.">"
|
||||||
|
elseif s:downloads > 1
|
||||||
|
let s:msg= "Downloaded ".s:downloads." updated scripts to <".datadir.">"
|
||||||
|
else
|
||||||
|
let s:msg= "Everything was already current"
|
||||||
|
endif
|
||||||
|
if s:downerrors > 0
|
||||||
|
let s:msg= s:msg." (".s:downerrors." downloading errors)"
|
||||||
|
endif
|
||||||
|
echomsg s:msg
|
||||||
|
" save the file
|
||||||
|
if &mod
|
||||||
|
silent! w!
|
||||||
|
endif
|
||||||
|
q
|
||||||
|
|
||||||
|
" restore events and current directory
|
||||||
|
exe "cd ".escape(substitute(origdir,'\','/','ge'),"|[]*'\" #")
|
||||||
|
let &ei= eikeep
|
||||||
|
set nolz
|
||||||
|
" call Dret("GetLatestVimScripts : did ".s:downloads." downloads")
|
||||||
|
endfun
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
" Restore Options: {{{1
|
||||||
|
let &fo = s:keepfo
|
||||||
|
let &cpo= s:keepcpo
|
||||||
|
|
||||||
|
" vim: ts=8 sts=2 fdm=marker nowrap
|
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,34 @@
|
|||||||
"pythoncomplete.vim - Omni Completion for python
|
"pythoncomplete.vim - Omni Completion for python
|
||||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||||
" Version: 0.5
|
" Version: 0.7
|
||||||
" Last Updated: 19 April 2006
|
" Last Updated: 19 Oct 2006
|
||||||
"
|
|
||||||
" Yeah, I skipped a version number - 0.4 was never public.
|
|
||||||
" It was a bugfix version on top of 0.3. This is a complete
|
|
||||||
" rewrite.
|
|
||||||
"
|
"
|
||||||
|
" Changes
|
||||||
" TODO:
|
" TODO:
|
||||||
" User defined docstrings aren't handled right...
|
" User defined docstrings aren't handled right...
|
||||||
" 'info' item output can use some formatting work
|
" 'info' item output can use some formatting work
|
||||||
" Add an "unsafe eval" mode, to allow for return type evaluation
|
" Add an "unsafe eval" mode, to allow for return type evaluation
|
||||||
|
" Complete basic syntax along with import statements
|
||||||
|
" i.e. "import url<c-x,c-o>"
|
||||||
|
" Continue parsing on invalid line??
|
||||||
|
"
|
||||||
|
" v 0.7
|
||||||
|
" * Fixed function list sorting (_ and __ at the bottom)
|
||||||
|
" * Removed newline removal from docs. It appears vim handles these better in
|
||||||
|
" recent patches
|
||||||
|
"
|
||||||
|
" v 0.6:
|
||||||
|
" * Fixed argument completion
|
||||||
|
" * Removed the 'kind' completions, as they are better indicated
|
||||||
|
" with real syntax
|
||||||
|
" * Added tuple assignment parsing (whoops, that was forgotten)
|
||||||
|
" * Fixed import handling when flattening scope
|
||||||
|
"
|
||||||
|
" v 0.5:
|
||||||
|
" Yeah, I skipped a version number - 0.4 was never public.
|
||||||
|
" It was a bugfix version on top of 0.3. This is a complete
|
||||||
|
" rewrite.
|
||||||
|
"
|
||||||
|
|
||||||
if !has('python')
|
if !has('python')
|
||||||
echo "Error: Required vim compiled with +python"
|
echo "Error: Required vim compiled with +python"
|
||||||
@@ -28,7 +46,7 @@ function! pythoncomplete#Complete(findstart, base)
|
|||||||
if c =~ '\w'
|
if c =~ '\w'
|
||||||
continue
|
continue
|
||||||
elseif ! c =~ '\.'
|
elseif ! c =~ '\.'
|
||||||
idx = -1
|
let idx = -1
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
@@ -45,7 +63,7 @@ function! pythoncomplete#Complete(findstart, base)
|
|||||||
while idx > 0
|
while idx > 0
|
||||||
let idx -= 1
|
let idx -= 1
|
||||||
let c = line[idx]
|
let c = line[idx]
|
||||||
if c =~ '\w' || c =~ '\.'
|
if c =~ '\w' || c =~ '\.' || c == '('
|
||||||
let cword = c . cword
|
let cword = c . cword
|
||||||
continue
|
continue
|
||||||
elseif strlen(cword) > 0 || idx == 0
|
elseif strlen(cword) > 0 || idx == 0
|
||||||
@@ -73,7 +91,24 @@ def vimcomplete(context,match):
|
|||||||
try:
|
try:
|
||||||
import vim
|
import vim
|
||||||
def complsort(x,y):
|
def complsort(x,y):
|
||||||
return x['abbr'] > y['abbr']
|
try:
|
||||||
|
xa = x['abbr']
|
||||||
|
ya = y['abbr']
|
||||||
|
if xa[0] == '_':
|
||||||
|
if xa[1] == '_' and ya[0:2] == '__':
|
||||||
|
return xa > ya
|
||||||
|
elif ya[0:2] == '__':
|
||||||
|
return -1
|
||||||
|
elif y[0] == '_':
|
||||||
|
return xa > ya
|
||||||
|
else:
|
||||||
|
return 1
|
||||||
|
elif ya[0] == '_':
|
||||||
|
return -1
|
||||||
|
else:
|
||||||
|
return xa > ya
|
||||||
|
except:
|
||||||
|
return 0
|
||||||
cmpl = Completer()
|
cmpl = Completer()
|
||||||
cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
|
cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
|
||||||
all = cmpl.get_completions(context,match)
|
all = cmpl.get_completions(context,match)
|
||||||
@@ -86,7 +121,7 @@ def vimcomplete(context,match):
|
|||||||
dictstr += '"icase":0},'
|
dictstr += '"icase":0},'
|
||||||
if dictstr[-1] == ',': dictstr = dictstr[:-1]
|
if dictstr[-1] == ',': dictstr = dictstr[:-1]
|
||||||
dictstr += ']'
|
dictstr += ']'
|
||||||
dbg("dict: %s" % dictstr)
|
#dbg("dict: %s" % dictstr)
|
||||||
vim.command("silent let g:pythoncomplete_completions = %s" % dictstr)
|
vim.command("silent let g:pythoncomplete_completions = %s" % dictstr)
|
||||||
#dbg("Completion dict:\n%s" % all)
|
#dbg("Completion dict:\n%s" % all)
|
||||||
except vim.error:
|
except vim.error:
|
||||||
@@ -108,11 +143,7 @@ class Completer(object):
|
|||||||
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
|
||||||
|
|
||||||
def _cleanstr(self,doc):
|
def _cleanstr(self,doc):
|
||||||
return doc.replace('"',' ')\
|
return doc.replace('"',' ').replace("'",' ')
|
||||||
.replace("'",' ')\
|
|
||||||
.replace('\n',' ')\
|
|
||||||
.replace('\r',' ')\
|
|
||||||
.replace('
|
|
||||||
|
|
||||||
def get_arguments(self,func_obj):
|
def get_arguments(self,func_obj):
|
||||||
def _ctor(obj):
|
def _ctor(obj):
|
||||||
@@ -128,23 +159,23 @@ class Completer(object):
|
|||||||
elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func
|
elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func
|
||||||
else: arg_offset = 0
|
else: arg_offset = 0
|
||||||
|
|
||||||
|
arg_text=''
|
||||||
if type(func_obj) in [types.FunctionType, types.LambdaType]:
|
if type(func_obj) in [types.FunctionType, types.LambdaType]:
|
||||||
try:
|
try:
|
||||||
cd = func_obj.func_code
|
cd = func_obj.func_code
|
||||||
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
|
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
|
||||||
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
|
defaults = func_obj.func_defaults or ''
|
||||||
defaults = func_obj.func_defaults or []
|
defaults = map(lambda name: "=%s" % name, defaults)
|
||||||
defaults = [""] * (len(real_args)-len(defaults)) + defaults
|
defaults = [""] * (len(real_args)-len(defaults)) + defaults
|
||||||
items = map(lambda a,d: a+d, real_args, defaults)
|
items = map(lambda a,d: a+d, real_args, defaults)
|
||||||
if func_obj.func_code.co_flags & 0x4:
|
if func_obj.func_code.co_flags & 0x4:
|
||||||
items.append("...")
|
items.append("...")
|
||||||
if func_obj.func_code.co_flags & 0x8:
|
if func_obj.func_code.co_flags & 0x8:
|
||||||
items.append("***")
|
items.append("***")
|
||||||
items.append("***")
|
arg_text = (','.join(items)) + ')'
|
||||||
|
|
||||||
except:
|
except:
|
||||||
except:
|
dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
||||||
pass
|
pass
|
||||||
if len(arg_text) == 0:
|
if len(arg_text) == 0:
|
||||||
# The doc string sometimes contains the function signature
|
# The doc string sometimes contains the function signature
|
||||||
@@ -160,6 +191,7 @@ class Completer(object):
|
|||||||
ridx = sigline.find(')')
|
ridx = sigline.find(')')
|
||||||
if lidx > 0 and ridx > 0:
|
if lidx > 0 and ridx > 0:
|
||||||
arg_text = sigline[lidx+1:ridx] + ')'
|
arg_text = sigline[lidx+1:ridx] + ')'
|
||||||
|
if len(arg_text) == 0: arg_text = ')'
|
||||||
return arg_text
|
return arg_text
|
||||||
|
|
||||||
def get_completions(self,context,match):
|
def get_completions(self,context,match):
|
||||||
@@ -172,12 +204,11 @@ class Completer(object):
|
|||||||
all = {}
|
all = {}
|
||||||
ridx = stmt.rfind('.')
|
ridx = stmt.rfind('.')
|
||||||
if len(stmt) > 0 and stmt[-1] == '(':
|
if len(stmt) > 0 and stmt[-1] == '(':
|
||||||
if len(stmt) > 0 and stmt[-1] == '(':
|
|
||||||
result = eval(_sanitize(stmt[:-1]), self.compldict)
|
result = eval(_sanitize(stmt[:-1]), self.compldict)
|
||||||
doc = result.__doc__
|
doc = result.__doc__
|
||||||
if doc == None: doc = ''
|
if doc == None: doc = ''
|
||||||
if doc == None: doc = ''
|
args = self.get_arguments(result)
|
||||||
args = self.get_arguments(res)
|
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
|
||||||
elif ridx == -1:
|
elif ridx == -1:
|
||||||
match = stmt
|
match = stmt
|
||||||
all = self.compldict
|
all = self.compldict
|
||||||
@@ -206,22 +237,18 @@ class Completer(object):
|
|||||||
if doc == None or doc == '': doc = maindoc
|
if doc == None or doc == '': doc = maindoc
|
||||||
|
|
||||||
wrd = m[len(match):]
|
wrd = m[len(match):]
|
||||||
wrd = m[len(match):]
|
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
|
||||||
if "function" in typestr:
|
if "function" in typestr:
|
||||||
c['word'] += '('
|
c['word'] += '('
|
||||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
|
||||||
elif "method" in typestr:
|
elif "method" in typestr:
|
||||||
c['word'] += '('
|
c['word'] += '('
|
||||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
|
||||||
elif "module" in typestr:
|
elif "module" in typestr:
|
||||||
c['word'] += '.'
|
c['word'] += '.'
|
||||||
c['word'] += '.'
|
|
||||||
elif "class" in typestr:
|
elif "class" in typestr:
|
||||||
c['word'] += '('
|
c['word'] += '('
|
||||||
c['abbr'] += '('
|
c['abbr'] += '('
|
||||||
c['abbr'] += '('
|
|
||||||
completions.append(c)
|
completions.append(c)
|
||||||
except:
|
except:
|
||||||
i = sys.exc_info()
|
i = sys.exc_info()
|
||||||
@@ -277,10 +304,13 @@ class Scope(object):
|
|||||||
# we need to start with this, to fix up broken completions
|
# we need to start with this, to fix up broken completions
|
||||||
# hopefully this name is unique enough...
|
# hopefully this name is unique enough...
|
||||||
str = '"""'+self.docstr+'"""\n'
|
str = '"""'+self.docstr+'"""\n'
|
||||||
|
for l in self.locals:
|
||||||
|
if l.startswith('import'): str += l+'\n'
|
||||||
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
|
||||||
for sub in self.subscopes:
|
for sub in self.subscopes:
|
||||||
str += sub.get_code()
|
str += sub.get_code()
|
||||||
str += sub.get_code()
|
for l in self.locals:
|
||||||
|
if not l.startswith('import'): str += l+'\n'
|
||||||
|
|
||||||
return str
|
return str
|
||||||
|
|
||||||
@@ -420,6 +450,8 @@ class PyParser:
|
|||||||
tokentype, token, indent = self.next()
|
tokentype, token, indent = self.next()
|
||||||
if tokentype == tokenize.STRING or token == 'str':
|
if tokentype == tokenize.STRING or token == 'str':
|
||||||
return '""'
|
return '""'
|
||||||
|
elif token == '(' or token == 'tuple':
|
||||||
|
return '()'
|
||||||
elif token == '[' or token == 'list':
|
elif token == '[' or token == 'list':
|
||||||
return '[]'
|
return '[]'
|
||||||
elif token == '{' or token == 'dict':
|
elif token == '{' or token == 'dict':
|
||||||
@@ -494,9 +526,9 @@ class PyParser:
|
|||||||
freshscope=True
|
freshscope=True
|
||||||
while True:
|
while True:
|
||||||
tokentype, token, indent = self.next()
|
tokentype, token, indent = self.next()
|
||||||
tokentype, token, indent = self.next()
|
#dbg( 'main: token=[%s] indent=[%s]' % (token,indent))
|
||||||
|
|
||||||
|
if tokentype == DEDENT or token == "pass":
|
||||||
self.scope = self.scope.pop(indent)
|
self.scope = self.scope.pop(indent)
|
||||||
elif token == 'def':
|
elif token == 'def':
|
||||||
func = self._parsefunction(indent)
|
func = self._parsefunction(indent)
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
" URL: http://vim-ruby.rubyforge.org
|
" URL: http://vim-ruby.rubyforge.org
|
||||||
" Anon CVS: See above site
|
" Anon CVS: See above site
|
||||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||||
|
" Maintainer Version: 0.8
|
||||||
" ----------------------------------------------------------------------------
|
" ----------------------------------------------------------------------------
|
||||||
"
|
"
|
||||||
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
||||||
@@ -12,20 +13,20 @@
|
|||||||
|
|
||||||
" {{{ requirement checks
|
" {{{ requirement checks
|
||||||
if !has('ruby')
|
if !has('ruby')
|
||||||
echohl ErrorMsg
|
s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
|
||||||
echo "Error: Required vim compiled with +ruby"
|
s:ErrMsg( "Error: falling back to syntax completion" )
|
||||||
echohl None
|
" lets fall back to syntax completion
|
||||||
|
setlocal omnifunc=syntaxcomplete#Complete
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if version < 700
|
if version < 700
|
||||||
echohl ErrorMsg
|
s:ErrMsg( "Error: Required vim >= 7.0" )
|
||||||
echo "Error: Required vim >= 7.0"
|
|
||||||
echohl None
|
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
" }}} requirement checks
|
" }}} requirement checks
|
||||||
|
|
||||||
|
" {{{ configuration failsafe initialization
|
||||||
if !exists("g:rubycomplete_rails")
|
if !exists("g:rubycomplete_rails")
|
||||||
let g:rubycomplete_rails = 0
|
let g:rubycomplete_rails = 0
|
||||||
endif
|
endif
|
||||||
@@ -34,76 +35,131 @@ if !exists("g:rubycomplete_classes_in_global")
|
|||||||
let g:rubycomplete_classes_in_global = 0
|
let g:rubycomplete_classes_in_global = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if !exists("g:rubycomplete_buffer_loading")
|
||||||
|
let g:rubycomplete_classes_in_global = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists("g:rubycomplete_include_object")
|
||||||
|
let g:rubycomplete_include_object = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists("g:rubycomplete_include_objectspace")
|
||||||
|
let g:rubycomplete_include_objectspace = 0
|
||||||
|
endif
|
||||||
|
" }}} configuration failsafe initialization
|
||||||
|
|
||||||
" {{{ vim-side support functions
|
" {{{ vim-side support functions
|
||||||
function! GetBufferRubyModule(name)
|
let s:rubycomplete_debug = 0
|
||||||
let [snum,enum] = GetBufferRubyEntity(a:name, "module")
|
|
||||||
|
function! s:ErrMsg(msg)
|
||||||
|
echohl ErrorMsg
|
||||||
|
echo a:msg
|
||||||
|
echohl None
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:dprint(msg)
|
||||||
|
if s:rubycomplete_debug == 1
|
||||||
|
echom a:msg
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:GetBufferRubyModule(name, ...)
|
||||||
|
if a:0 == 1
|
||||||
|
let [snum,enum] = s:GetBufferRubyEntity(a:name, "module", a:1)
|
||||||
|
else
|
||||||
|
let [snum,enum] = s:GetBufferRubyEntity(a:name, "module")
|
||||||
|
endif
|
||||||
return snum . '..' . enum
|
return snum . '..' . enum
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! GetBufferRubyClass(name)
|
function! s:GetBufferRubyClass(name, ...)
|
||||||
let [snum,enum] = GetBufferRubyEntity(a:name, "class")
|
if a:0 >= 1
|
||||||
|
let [snum,enum] = s:GetBufferRubyEntity(a:name, "class", a:1)
|
||||||
|
else
|
||||||
|
let [snum,enum] = s:GetBufferRubyEntity(a:name, "class")
|
||||||
|
endif
|
||||||
return snum . '..' . enum
|
return snum . '..' . enum
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! GetBufferRubySingletonMethods(name)
|
function! s:GetBufferRubySingletonMethods(name)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! GetBufferRubyEntity( name, type )
|
function! s:GetBufferRubyEntity( name, type, ... )
|
||||||
|
let lastpos = getpos(".")
|
||||||
|
let lastline = lastpos
|
||||||
|
if (a:0 >= 1)
|
||||||
|
let lastline = [ 0, a:1, 0, 0 ]
|
||||||
|
call cursor( a:1, 0 )
|
||||||
|
endif
|
||||||
|
|
||||||
let stopline = 1
|
let stopline = 1
|
||||||
let crex = '^\s*' . a:type . '\s*' . a:name . '\s*\(<\s*.*\s*\)\?\n*\(\(\s\|#\).*\n*\)*\n*\s*end$'
|
|
||||||
let [lnum,lcol] = searchpos( crex, 'nbw')
|
let crex = '^\s*\<' . a:type . '\>\s*\<' . a:name . '\>\s*\(<\s*.*\s*\)\?'
|
||||||
|
let [lnum,lcol] = searchpos( crex, 'w' )
|
||||||
|
"let [lnum,lcol] = searchpairpos( crex . '\zs', '', '\(end\|}\)', 'w' )
|
||||||
|
|
||||||
if lnum == 0 && lcol == 0
|
if lnum == 0 && lcol == 0
|
||||||
|
call cursor(lastpos[1], lastpos[2])
|
||||||
return [0,0]
|
return [0,0]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let [enum,ecol] = searchpos( crex, 'nebw')
|
let curpos = getpos(".")
|
||||||
|
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'wr' )
|
||||||
|
call cursor(lastpos[1], lastpos[2])
|
||||||
|
|
||||||
if lnum > enum
|
if lnum > enum
|
||||||
let realdef = getline( lnum )
|
return [0,0]
|
||||||
let crexb = '^' . realdef . '\n*\(\(\s\|#\).*\n*\)*\n*\s*end$'
|
|
||||||
let [enum,ecol] = searchpos( crexb, 'necw' )
|
|
||||||
endif
|
endif
|
||||||
" we found a the class def
|
" we found a the class def
|
||||||
return [lnum,enum]
|
return [lnum,enum]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! IsInClassDef()
|
function! s:IsInClassDef()
|
||||||
let [snum,enum] = GetBufferRubyEntity( '.*', "class" )
|
return s:IsPosInClassDef( line('.') )
|
||||||
let ret = 'nil'
|
endfunction
|
||||||
let pos = line('.')
|
|
||||||
|
|
||||||
if snum < pos && pos < enum
|
function! s:IsPosInClassDef(pos)
|
||||||
|
let [snum,enum] = s:GetBufferRubyEntity( '.*', "class" )
|
||||||
|
let ret = 'nil'
|
||||||
|
|
||||||
|
if snum < a:pos && a:pos < enum
|
||||||
let ret = snum . '..' . enum
|
let ret = snum . '..' . enum
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! GetRubyVarType(v)
|
function! s:GetRubyVarType(v)
|
||||||
let stopline = 1
|
let stopline = 1
|
||||||
let vtp = ''
|
let vtp = ''
|
||||||
let pos = getpos('.')
|
let pos = getpos('.')
|
||||||
let [lnum,lcol] = searchpos('^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$','nb',stopline)
|
let sstr = '^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$'
|
||||||
|
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||||
if lnum != 0 && lcol != 0
|
if lnum != 0 && lcol != 0
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
let str = getline(lnum)
|
let str = getline(lnum)
|
||||||
let vtp = substitute(str,'^\s*#\s*@var\s*'.a:v.'\>\s\+\([^ \t]\+\)\s*$','\1','')
|
let vtp = substitute(str,sstr,'\1','')
|
||||||
return vtp
|
return vtp
|
||||||
endif
|
endif
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
if g:rubycomplete_rails == 1 && g:rubycomplete_rails_loaded == 1
|
let ctors = '\(now\|new\|open\|get_instance'
|
||||||
let ctors = '\(now\|new\|open\|get_instance\|find\|create\)'
|
if exists('g:rubycomplete_rails') && g:rubycomplete_rails == 1 && s:rubycomplete_rails_loaded == 1
|
||||||
|
let ctors = ctors.'\|find\|create'
|
||||||
else
|
else
|
||||||
let ctors = '\(now\|new\|open\|get_instance\)'
|
|
||||||
endif
|
endif
|
||||||
|
let ctors = ctors.'\)'
|
||||||
|
|
||||||
let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%r{\|[A-Za-z0-9@:\-()]\+...\?\)','nb',stopline)
|
let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)'
|
||||||
|
let sstr = ''.a:v.'\>\s*[+\-*/]*'.fstr
|
||||||
|
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||||
if lnum != 0 && lcol != 0
|
if lnum != 0 && lcol != 0
|
||||||
let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.' . ctors . '\>\|[\[{"''/]\|%r{\|[A-Za-z0-9@:\-()]\+...\?\)',lcol)
|
let str = matchstr(getline(lnum),fstr,lcol)
|
||||||
let str = substitute(str,'^=\s*','','')
|
let str = substitute(str,'^=\s*','','')
|
||||||
|
|
||||||
call setpos('.',pos)
|
call setpos('.',pos)
|
||||||
if str == '"' || str == ''''
|
if str == '"' || str == '''' || stridx(tolower(str), '%q[') != -1
|
||||||
return 'String'
|
return 'String'
|
||||||
elseif str == '['
|
elseif str == '[' || stridx(str, '%w[') != -1
|
||||||
return 'Array'
|
return 'Array'
|
||||||
elseif str == '{'
|
elseif str == '{'
|
||||||
return 'Hash'
|
return 'Hash'
|
||||||
@@ -111,6 +167,8 @@ function! GetRubyVarType(v)
|
|||||||
return 'Regexp'
|
return 'Regexp'
|
||||||
elseif strlen(str) >= 4 && stridx(str,'..') != -1
|
elseif strlen(str) >= 4 && stridx(str,'..') != -1
|
||||||
return 'Range'
|
return 'Range'
|
||||||
|
elseif stridx(str, 'lambda') != -1 || str == '&'
|
||||||
|
return 'Proc'
|
||||||
elseif strlen(str) > 4
|
elseif strlen(str) > 4
|
||||||
let l = stridx(str,'.')
|
let l = stridx(str,'.')
|
||||||
return str[0:l-1]
|
return str[0:l-1]
|
||||||
@@ -123,6 +181,11 @@ endfunction
|
|||||||
|
|
||||||
"}}} vim-side support functions
|
"}}} vim-side support functions
|
||||||
|
|
||||||
|
"{{{ vim-side completion function
|
||||||
|
function! rubycomplete#Init()
|
||||||
|
execute "ruby VimRubyCompletion.preload_rails"
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! rubycomplete#Complete(findstart, base)
|
function! rubycomplete#Complete(findstart, base)
|
||||||
"findstart = 1 when we need to get the text length
|
"findstart = 1 when we need to get the text length
|
||||||
if a:findstart
|
if a:findstart
|
||||||
@@ -145,21 +208,26 @@ function! rubycomplete#Complete(findstart, base)
|
|||||||
"findstart = 0 when we need to return the list of completions
|
"findstart = 0 when we need to return the list of completions
|
||||||
else
|
else
|
||||||
let g:rubycomplete_completions = []
|
let g:rubycomplete_completions = []
|
||||||
execute "ruby get_completions('" . a:base . "')"
|
execute "ruby VimRubyCompletion.get_completions('" . a:base . "')"
|
||||||
return g:rubycomplete_completions
|
return g:rubycomplete_completions
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
"}}} vim-side completion function
|
||||||
|
|
||||||
|
"{{{ ruby-side code
|
||||||
function! s:DefRuby()
|
function! s:DefRuby()
|
||||||
ruby << RUBYEOF
|
ruby << RUBYEOF
|
||||||
# {{{ ruby completion
|
# {{{ ruby completion
|
||||||
RailsWords = [
|
|
||||||
"has_many", "has_one",
|
|
||||||
"belongs_to",
|
|
||||||
]
|
|
||||||
|
|
||||||
ReservedWords = [
|
begin
|
||||||
|
require 'rubygems' # let's assume this is safe...?
|
||||||
|
rescue Exception
|
||||||
|
#ignore?
|
||||||
|
end
|
||||||
|
class VimRubyCompletion
|
||||||
|
# {{{ constants
|
||||||
|
@@debug = false
|
||||||
|
@@ReservedWords = [
|
||||||
"BEGIN", "END",
|
"BEGIN", "END",
|
||||||
"alias", "and",
|
"alias", "and",
|
||||||
"begin", "break",
|
"begin", "break",
|
||||||
@@ -179,12 +247,13 @@ ReservedWords = [
|
|||||||
"yield",
|
"yield",
|
||||||
]
|
]
|
||||||
|
|
||||||
Operators = [ "%", "&", "*", "**", "+", "-", "/",
|
@@Operators = [ "%", "&", "*", "**", "+", "-", "/",
|
||||||
"<", "<<", "<=", "<=>", "==", "===", "=~", ">", ">=", ">>",
|
"<", "<<", "<=", "<=>", "==", "===", "=~", ">", ">=", ">>",
|
||||||
"[]", "[]=", "^", ]
|
"[]", "[]=", "^", ]
|
||||||
|
# }}} constants
|
||||||
|
|
||||||
|
# {{{ buffer analysis magic
|
||||||
def load_requires
|
def load_requires
|
||||||
buf = VIM::Buffer.current
|
buf = VIM::Buffer.current
|
||||||
enum = buf.line_number
|
enum = buf.line_number
|
||||||
nums = Range.new( 1, enum )
|
nums = Range.new( 1, enum )
|
||||||
@@ -196,247 +265,460 @@ def load_requires
|
|||||||
#ignore?
|
#ignore?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_buffer_class(name)
|
def load_buffer_class(name)
|
||||||
classdef = get_buffer_entity(name, 'GetBufferRubyClass("%s")')
|
dprint "load_buffer_class(%s) START" % name
|
||||||
|
classdef = get_buffer_entity(name, 's:GetBufferRubyClass("%s")')
|
||||||
return if classdef == nil
|
return if classdef == nil
|
||||||
|
|
||||||
pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef )
|
pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef )
|
||||||
load_buffer_class( $2 ) if pare != nil
|
load_buffer_class( $2 ) if pare != nil && $2 != name # load parent class if needed
|
||||||
|
|
||||||
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
|
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
|
||||||
load_buffer_module( $2 ) if mixre != nil
|
load_buffer_module( $2 ) if mixre != nil && $2 != name # load mixins if needed
|
||||||
|
|
||||||
|
begin
|
||||||
eval classdef
|
eval classdef
|
||||||
end
|
rescue Exception
|
||||||
|
VIM::evaluate( "s:ErrMsg( 'Problem loading class \"%s\", was it already completed?' )" % name )
|
||||||
|
end
|
||||||
|
dprint "load_buffer_class(%s) END" % name
|
||||||
|
end
|
||||||
|
|
||||||
def load_buffer_module(name)
|
def load_buffer_module(name)
|
||||||
classdef = get_buffer_entity(name, 'GetBufferRubyModule("%s")')
|
dprint "load_buffer_module(%s) START" % name
|
||||||
|
classdef = get_buffer_entity(name, 's:GetBufferRubyModule("%s")')
|
||||||
return if classdef == nil
|
return if classdef == nil
|
||||||
|
|
||||||
|
begin
|
||||||
eval classdef
|
eval classdef
|
||||||
end
|
rescue Exception
|
||||||
|
VIM::evaluate( "s:ErrMsg( 'Problem loading module \"%s\", was it already completed?' )" % name )
|
||||||
|
end
|
||||||
|
dprint "load_buffer_module(%s) END" % name
|
||||||
|
end
|
||||||
|
|
||||||
def get_buffer_entity(name, vimfun)
|
def get_buffer_entity(name, vimfun)
|
||||||
|
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
|
||||||
|
return nil if loading_allowed != '1'
|
||||||
return nil if /(\"|\')+/.match( name )
|
return nil if /(\"|\')+/.match( name )
|
||||||
buf = VIM::Buffer.current
|
buf = VIM::Buffer.current
|
||||||
nums = eval( VIM::evaluate( vimfun % name ) )
|
nums = eval( VIM::evaluate( vimfun % name ) )
|
||||||
return nil if nums == nil
|
return nil if nums == nil
|
||||||
return nil if nums.min == nums.max && nums.min == 0
|
return nil if nums.min == nums.max && nums.min == 0
|
||||||
|
|
||||||
cur_line = VIM::Buffer.current.line_number
|
dprint "get_buffer_entity START"
|
||||||
|
visited = []
|
||||||
|
clscnt = 0
|
||||||
|
bufname = VIM::Buffer.current.name
|
||||||
classdef = ""
|
classdef = ""
|
||||||
|
cur_line = VIM::Buffer.current.line_number
|
||||||
|
while (nums != nil && !(nums.min == 0 && nums.max == 0) )
|
||||||
|
dprint "visited: %s" % visited.to_s
|
||||||
|
break if visited.index( nums )
|
||||||
|
visited << nums
|
||||||
|
|
||||||
nums.each do |x|
|
nums.each do |x|
|
||||||
if x != cur_line
|
if x != cur_line
|
||||||
|
next if x == 0
|
||||||
ln = buf[x]
|
ln = buf[x]
|
||||||
|
if /^\s*(module|class|def|include)\s+/.match(ln)
|
||||||
|
clscnt += 1 if $1 == "class"
|
||||||
|
#dprint "\$1: %s" % $1
|
||||||
classdef += "%s\n" % ln
|
classdef += "%s\n" % ln
|
||||||
|
classdef += "end\n" if /def\s+/.match(ln)
|
||||||
|
dprint ln
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
nm = "%s(::.*)*\", %s, \"" % [ name, nums.last ]
|
||||||
|
nums = eval( VIM::evaluate( vimfun % nm ) )
|
||||||
|
dprint "nm: \"%s\"" % nm
|
||||||
|
dprint "vimfun: %s" % (vimfun % nm)
|
||||||
|
dprint "got nums: %s" % nums.to_s
|
||||||
|
end
|
||||||
|
if classdef.length > 1
|
||||||
|
classdef += "end\n"*clscnt
|
||||||
|
# classdef = "class %s\n%s\nend\n" % [ bufname.gsub( /\/|\\/, "_" ), classdef ]
|
||||||
|
end
|
||||||
|
|
||||||
|
dprint "get_buffer_entity END"
|
||||||
|
dprint "classdef====start"
|
||||||
|
lns = classdef.split( "\n" )
|
||||||
|
lns.each { |x| dprint x }
|
||||||
|
dprint "classdef====end"
|
||||||
return classdef
|
return classdef
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_var_type( receiver )
|
def get_var_type( receiver )
|
||||||
if /(\"|\')+/.match( receiver )
|
if /(\"|\')+/.match( receiver )
|
||||||
"String"
|
"String"
|
||||||
else
|
else
|
||||||
VIM::evaluate("GetRubyVarType('%s')" % receiver)
|
VIM::evaluate("s:GetRubyVarType('%s')" % receiver)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def get_buffer_classes()
|
def dprint( txt )
|
||||||
|
print txt if @@debug
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_buffer_entity_list( type )
|
||||||
# this will be a little expensive.
|
# this will be a little expensive.
|
||||||
allow_aggressive_load = VIM::evaluate('g:rubycomplete_classes_in_global')
|
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
|
||||||
return [] if allow_aggressive_load != '1'
|
allow_aggressive_load = VIM::evaluate("exists('g:rubycomplete_classes_in_global') && g:rubycomplete_classes_in_global")
|
||||||
|
return [] if allow_aggressive_load != '1' || loading_allowed != '1'
|
||||||
|
|
||||||
buf = VIM::Buffer.current
|
buf = VIM::Buffer.current
|
||||||
eob = buf.length
|
eob = buf.length
|
||||||
ret = []
|
ret = []
|
||||||
rg = 1..eob
|
rg = 1..eob
|
||||||
|
re = eval( "/^\s*%s\s*([A-Za-z0-9_:-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*/" % type )
|
||||||
|
|
||||||
rg.each do |x|
|
rg.each do |x|
|
||||||
if /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*/.match( buf[x] )
|
if re.match( buf[x] )
|
||||||
|
next if type == "def" && eval( VIM::evaluate("s:IsPosInClassDef(%s)" % x) ) != nil
|
||||||
ret.push $1
|
ret.push $1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_rails()
|
def get_buffer_modules
|
||||||
allow_rails = VIM::evaluate('g:rubycomplete_rails')
|
return get_buffer_entity_list( "modules" )
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_buffer_methods
|
||||||
|
return get_buffer_entity_list( "def" )
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_buffer_classes
|
||||||
|
return get_buffer_entity_list( "class" )
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def load_rails
|
||||||
|
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
|
||||||
return if allow_rails != '1'
|
return if allow_rails != '1'
|
||||||
|
|
||||||
buf_path = VIM::evaluate('expand("%:p")')
|
buf_path = VIM::evaluate('expand("%:p")')
|
||||||
file_name = VIM::evaluate('expand("%:t")')
|
file_name = VIM::evaluate('expand("%:t")')
|
||||||
path = buf_path.gsub( file_name, '' )
|
vim_dir = VIM::evaluate('getcwd()')
|
||||||
path.gsub!( /\\/, "/" )
|
file_dir = buf_path.gsub( file_name, '' )
|
||||||
pup = [ "./", "../", "../../", "../../../", "../../../../" ]
|
file_dir.gsub!( /\\/, "/" )
|
||||||
pok = nil
|
vim_dir.gsub!( /\\/, "/" )
|
||||||
|
vim_dir << "/"
|
||||||
|
dirs = [ vim_dir, file_dir ]
|
||||||
|
sdirs = [ "", "./", "../", "../../", "../../../", "../../../../" ]
|
||||||
|
rails_base = nil
|
||||||
|
|
||||||
pup.each do |sup|
|
dirs.each do |dir|
|
||||||
tpok = "%s%sconfig" % [ path, sup ]
|
sdirs.each do |sub|
|
||||||
if File.exists?( tpok )
|
trail = "%s%s" % [ dir, sub ]
|
||||||
pok = tpok
|
tcfg = "%sconfig" % trail
|
||||||
|
|
||||||
|
if File.exists?( tcfg )
|
||||||
|
rails_base = trail
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
break if rails_base
|
||||||
|
end
|
||||||
|
|
||||||
return if pok == nil
|
return if rails_base == nil
|
||||||
|
$:.push rails_base unless $:.index( rails_base )
|
||||||
|
|
||||||
bootfile = pok + "/boot.rb"
|
rails_config = rails_base + "config/"
|
||||||
envfile = pok + "/environment.rb"
|
rails_lib = rails_base + "lib/"
|
||||||
|
$:.push rails_config unless $:.index( rails_config )
|
||||||
|
$:.push rails_lib unless $:.index( rails_lib )
|
||||||
|
|
||||||
|
bootfile = rails_config + "boot.rb"
|
||||||
|
envfile = rails_config + "environment.rb"
|
||||||
if File.exists?( bootfile ) && File.exists?( envfile )
|
if File.exists?( bootfile ) && File.exists?( envfile )
|
||||||
begin
|
begin
|
||||||
require bootfile
|
require bootfile
|
||||||
require envfile
|
require envfile
|
||||||
|
begin
|
||||||
require 'console_app'
|
require 'console_app'
|
||||||
require 'console_with_helpers'
|
require 'console_with_helpers'
|
||||||
VIM::command('let g:rubycomplete_rails_loaded = 1')
|
rescue Exception
|
||||||
rescue
|
dprint "Rails 1.1+ Error %s" % $!
|
||||||
print "Error loading rails environment"
|
# assume 1.0
|
||||||
|
end
|
||||||
|
#eval( "Rails::Initializer.run" ) #not necessary?
|
||||||
|
VIM::command('let s:rubycomplete_rails_loaded = 1')
|
||||||
|
dprint "rails loaded"
|
||||||
|
rescue Exception
|
||||||
|
dprint "Rails Error %s" % $!
|
||||||
|
VIM::evaluate( "s:ErrMsg('Error loading rails environment')" )
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def get_rails_helpers
|
def get_rails_helpers
|
||||||
allow_rails = VIM::evaluate('g:rubycomplete_rails')
|
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
|
||||||
rails_loaded = VIM::evaluate('g:rubycomplete_rails_loaded')
|
rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded')
|
||||||
return [] if allow_rails != '1' || rails_loaded != '1'
|
return [] if allow_rails != '1' || rails_loaded != '1'
|
||||||
return RailsWords
|
|
||||||
end
|
|
||||||
|
|
||||||
def get_completions(base)
|
buf_path = VIM::evaluate('expand("%:p")')
|
||||||
|
buf_path.gsub!( /\\/, "/" )
|
||||||
|
path_elm = buf_path.split( "/" )
|
||||||
|
dprint "buf_path: %s" % buf_path
|
||||||
|
types = [ "app", "db", "lib", "test", "components", "script" ]
|
||||||
|
|
||||||
|
i = nil
|
||||||
|
ret = []
|
||||||
|
type = nil
|
||||||
|
types.each do |t|
|
||||||
|
i = path_elm.index( t )
|
||||||
|
break if i
|
||||||
|
end
|
||||||
|
type = path_elm[i]
|
||||||
|
type.downcase!
|
||||||
|
|
||||||
|
dprint "type: %s" % type
|
||||||
|
case type
|
||||||
|
when "app"
|
||||||
|
i += 1
|
||||||
|
subtype = path_elm[i]
|
||||||
|
subtype.downcase!
|
||||||
|
|
||||||
|
dprint "subtype: %s" % subtype
|
||||||
|
case subtype
|
||||||
|
when "views"
|
||||||
|
ret += ActionView::Base.instance_methods
|
||||||
|
ret += ActionView::Base.methods
|
||||||
|
when "controllers"
|
||||||
|
ret += ActionController::Base.instance_methods
|
||||||
|
ret += ActionController::Base.methods
|
||||||
|
when "models"
|
||||||
|
ret += ActiveRecord::Base.instance_methods
|
||||||
|
ret += ActiveRecord::Base.methods
|
||||||
|
end
|
||||||
|
|
||||||
|
when "db"
|
||||||
|
ret += ActiveRecord::ConnectionAdapters::SchemaStatements.instance_methods
|
||||||
|
ret += ActiveRecord::ConnectionAdapters::SchemaStatements.methods
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
|
def add_rails_columns( cls )
|
||||||
|
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
|
||||||
|
rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded')
|
||||||
|
return [] if allow_rails != '1' || rails_loaded != '1'
|
||||||
|
|
||||||
|
begin
|
||||||
|
eval( "#{cls}.establish_connection" )
|
||||||
|
return [] unless eval( "#{cls}.ancestors.include?(ActiveRecord::Base).to_s" )
|
||||||
|
col = eval( "#{cls}.column_names" )
|
||||||
|
return col if col
|
||||||
|
rescue
|
||||||
|
dprint "add_rails_columns err: (cls: %s) %s" % [ cls, $! ]
|
||||||
|
return []
|
||||||
|
end
|
||||||
|
return []
|
||||||
|
end
|
||||||
|
|
||||||
|
def clean_sel(sel, msg)
|
||||||
|
sel.delete_if { |x| x == nil }
|
||||||
|
sel.uniq!
|
||||||
|
sel.grep(/^#{Regexp.quote(msg)}/) if msg != nil
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_rails_view_methods
|
||||||
|
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
|
||||||
|
rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded')
|
||||||
|
return [] if allow_rails != '1' || rails_loaded != '1'
|
||||||
|
|
||||||
|
buf_path = VIM::evaluate('expand("%:p")')
|
||||||
|
buf_path.gsub!( /\\/, "/" )
|
||||||
|
pelm = buf_path.split( "/" )
|
||||||
|
idx = pelm.index( "views" )
|
||||||
|
|
||||||
|
return [] unless idx
|
||||||
|
idx += 1
|
||||||
|
|
||||||
|
clspl = pelm[idx].camelize.pluralize
|
||||||
|
cls = clspl.singularize
|
||||||
|
|
||||||
|
ret = []
|
||||||
|
begin
|
||||||
|
ret += eval( "#{cls}.instance_methods" )
|
||||||
|
ret += eval( "#{clspl}Helper.instance_methods" )
|
||||||
|
rescue Exception
|
||||||
|
dprint "Error: Unable to load rails view helpers for %s: %s" % [ cls, $! ]
|
||||||
|
end
|
||||||
|
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
# }}} buffer analysis magic
|
||||||
|
|
||||||
|
# {{{ main completion code
|
||||||
|
def self.preload_rails
|
||||||
|
a = VimRubyCompletion.new
|
||||||
|
require 'Thread'
|
||||||
|
Thread.new(a) do |b|
|
||||||
|
begin
|
||||||
|
b.load_rails
|
||||||
|
rescue
|
||||||
|
end
|
||||||
|
end
|
||||||
|
a.load_rails
|
||||||
|
rescue
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.get_completions(base)
|
||||||
|
b = VimRubyCompletion.new
|
||||||
|
b.get_completions base
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_completions(base)
|
||||||
|
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
|
||||||
|
if loading_allowed == '1'
|
||||||
load_requires
|
load_requires
|
||||||
load_rails
|
load_rails
|
||||||
|
end
|
||||||
|
|
||||||
input = VIM::Buffer.current.line
|
input = VIM::Buffer.current.line
|
||||||
cpos = VIM::Window.current.cursor[1] - 1
|
cpos = VIM::Window.current.cursor[1] - 1
|
||||||
input = input[0..cpos] if cpos != 0
|
input = input[0..cpos]
|
||||||
input += base
|
input += base
|
||||||
|
input.sub!(/.*[ \t\n\"\\'`><=;|&{(]/, '') # Readline.basic_word_break_characters
|
||||||
|
input.sub!(/self\./, '')
|
||||||
|
input.sub!(/.*((\.\.[\[(]?)|([\[(]))/, '')
|
||||||
|
|
||||||
rip = input.rindex(/\s/,cpos)
|
dprint 'input %s' % input
|
||||||
if rip
|
|
||||||
input = input[rip..input.length]
|
|
||||||
end
|
|
||||||
|
|
||||||
asn = /^.*(\+|\-|\*|=|\(|\[)=?(\s*[A-Za-z0-9_:@.-]*)(\s*(\{|\+|\-|\*|\%|\/)?\s*).*/
|
|
||||||
if asn.match(input)
|
|
||||||
input = $2
|
|
||||||
end
|
|
||||||
|
|
||||||
input.strip!
|
|
||||||
message = nil
|
message = nil
|
||||||
receiver = nil
|
receiver = nil
|
||||||
candidates = []
|
methods = []
|
||||||
|
variables = []
|
||||||
|
classes = []
|
||||||
|
constants = []
|
||||||
|
|
||||||
case input
|
case input
|
||||||
when /^(\/[^\/]*\/)\.([^.]*)$/ # Regexp
|
when /^(\/[^\/]*\/)\.([^.]*)$/ # Regexp
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
candidates = Regexp.instance_methods(true)
|
methods = Regexp.instance_methods(true)
|
||||||
|
|
||||||
when /^([^\]]*\])\.([^.]*)$/ # Array
|
when /^([^\]]*\])\.([^.]*)$/ # Array
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
candidates = Array.instance_methods(true)
|
methods = Array.instance_methods(true)
|
||||||
|
|
||||||
when /^([^\}]*\})\.([^.]*)$/ # Proc or Hash
|
when /^([^\}]*\})\.([^.]*)$/ # Proc or Hash
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
candidates = Proc.instance_methods(true) | Hash.instance_methods(true)
|
methods = Proc.instance_methods(true) | Hash.instance_methods(true)
|
||||||
|
|
||||||
when /^(:[^:.]*)$/ # Symbol
|
when /^(:[^:.]*)$/ # Symbol
|
||||||
|
dprint "symbol"
|
||||||
if Symbol.respond_to?(:all_symbols)
|
if Symbol.respond_to?(:all_symbols)
|
||||||
receiver = $1
|
receiver = $1
|
||||||
candidates = Symbol.all_symbols.collect{|s| s.id2name}
|
message = $1.sub( /:/, '' )
|
||||||
candidates.delete_if { |c| c.match( /'/ ) }
|
methods = Symbol.all_symbols.collect{|s| s.id2name}
|
||||||
|
methods.delete_if { |c| c.match( /'/ ) }
|
||||||
end
|
end
|
||||||
|
|
||||||
when /^::([A-Z][^:\.\(]*)$/ # Absolute Constant or class methods
|
when /^::([A-Z][^:\.\(]*)$/ # Absolute Constant or class methods
|
||||||
|
dprint "const or cls"
|
||||||
receiver = $1
|
receiver = $1
|
||||||
candidates = Object.constants
|
methods = Object.constants
|
||||||
candidates.grep(/^#{receiver}/).collect{|e| "::" + e}
|
methods.grep(/^#{receiver}/).collect{|e| "::" + e}
|
||||||
|
|
||||||
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ # Constant or class methods
|
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ # Constant or class methods
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($4)
|
message = Regexp.quote($4)
|
||||||
|
dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ]
|
||||||
|
load_buffer_class( receiver )
|
||||||
begin
|
begin
|
||||||
candidates = eval("#{receiver}.constants | #{receiver}.methods")
|
classes = eval("#{receiver}.constants")
|
||||||
|
#methods = eval("#{receiver}.methods")
|
||||||
rescue Exception
|
rescue Exception
|
||||||
candidates = []
|
dprint "exception: %s" % $!
|
||||||
|
methods = []
|
||||||
end
|
end
|
||||||
candidates.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
methods.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
||||||
|
|
||||||
when /^(:[^:.]+)\.([^.]*)$/ # Symbol
|
when /^(:[^:.]+)\.([^.]*)$/ # Symbol
|
||||||
|
dprint "symbol"
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($2)
|
message = Regexp.quote($2)
|
||||||
candidates = Symbol.instance_methods(true)
|
methods = Symbol.instance_methods(true)
|
||||||
|
|
||||||
when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/ # Numeric
|
when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/ # Numeric
|
||||||
|
dprint "numeric"
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($4)
|
message = Regexp.quote($4)
|
||||||
begin
|
begin
|
||||||
candidates = eval(receiver).methods
|
methods = eval(receiver).methods
|
||||||
rescue Exception
|
rescue Exception
|
||||||
candidates
|
methods = []
|
||||||
end
|
end
|
||||||
|
|
||||||
when /^(\$[^.]*)$/ #global
|
when /^(\$[^.]*)$/ #global
|
||||||
candidates = global_variables.grep(Regexp.new(Regexp.quote($1)))
|
dprint "global"
|
||||||
|
methods = global_variables.grep(Regexp.new(Regexp.quote($1)))
|
||||||
|
|
||||||
when /^((\.?[^.]+)+)\.([^.]*)$/ # variable
|
when /^((\.?[^.]+)+)\.([^.]*)$/ # variable
|
||||||
|
dprint "variable"
|
||||||
receiver = $1
|
receiver = $1
|
||||||
message = Regexp.quote($3)
|
message = Regexp.quote($3)
|
||||||
load_buffer_class( receiver )
|
load_buffer_class( receiver )
|
||||||
|
|
||||||
cv = eval("self.class.constants")
|
cv = eval("self.class.constants")
|
||||||
vartype = get_var_type( receiver )
|
vartype = get_var_type( receiver )
|
||||||
|
dprint "vartype: %s" % vartype
|
||||||
if vartype != ''
|
if vartype != ''
|
||||||
load_buffer_class( vartype )
|
load_buffer_class( vartype )
|
||||||
|
|
||||||
begin
|
begin
|
||||||
candidates = eval("#{vartype}.instance_methods")
|
methods = eval("#{vartype}.instance_methods")
|
||||||
|
variables = eval("#{vartype}.instance_variables")
|
||||||
rescue Exception
|
rescue Exception
|
||||||
candidates = []
|
dprint "load_buffer_class err: %s" % $!
|
||||||
end
|
end
|
||||||
elsif (cv).include?(receiver)
|
elsif (cv).include?(receiver)
|
||||||
# foo.func and foo is local var.
|
# foo.func and foo is local var.
|
||||||
candidates = eval("#{receiver}.methods")
|
methods = eval("#{receiver}.methods")
|
||||||
|
vartype = receiver
|
||||||
elsif /^[A-Z]/ =~ receiver and /\./ !~ receiver
|
elsif /^[A-Z]/ =~ receiver and /\./ !~ receiver
|
||||||
|
vartype = receiver
|
||||||
# Foo::Bar.func
|
# Foo::Bar.func
|
||||||
begin
|
begin
|
||||||
candidates = eval("#{receiver}.methods")
|
methods = eval("#{receiver}.methods")
|
||||||
rescue Exception
|
rescue Exception
|
||||||
candidates = []
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
# func1.func2
|
# func1.func2
|
||||||
candidates = []
|
|
||||||
ObjectSpace.each_object(Module){|m|
|
ObjectSpace.each_object(Module){|m|
|
||||||
next if m.name != "IRB::Context" and
|
next if m.name != "IRB::Context" and
|
||||||
/^(IRB|SLex|RubyLex|RubyToken)/ =~ m.name
|
/^(IRB|SLex|RubyLex|RubyToken)/ =~ m.name
|
||||||
candidates.concat m.instance_methods(false)
|
methods.concat m.instance_methods(false)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
variables += add_rails_columns( "#{vartype}" ) if vartype && vartype.length > 0
|
||||||
|
|
||||||
when /^\(?\s*[A-Za-z0-9:^@.%\/+*\(\)]+\.\.\.?[A-Za-z0-9:^@.%\/+*\(\)]+\s*\)?\.([^.]*)/
|
when /^\(?\s*[A-Za-z0-9:^@.%\/+*\(\)]+\.\.\.?[A-Za-z0-9:^@.%\/+*\(\)]+\s*\)?\.([^.]*)/
|
||||||
message = $1
|
message = $1
|
||||||
candidates = Range.instance_methods(true)
|
methods = Range.instance_methods(true)
|
||||||
|
|
||||||
when /^\[(\s*[A-Za-z0-9:^@.%\/+*\(\)\[\]\{\}.\'\"],?)*\].([^.]*)/
|
|
||||||
message = $2
|
|
||||||
candidates = Array.instance_methods(true)
|
|
||||||
|
|
||||||
when /^\.([^.]*)$/ # unknown(maybe String)
|
when /^\.([^.]*)$/ # unknown(maybe String)
|
||||||
message = Regexp.quote($1)
|
message = Regexp.quote($1)
|
||||||
candidates = String.instance_methods(true)
|
methods = String.instance_methods(true)
|
||||||
|
|
||||||
else
|
else
|
||||||
inclass = eval( VIM::evaluate("IsInClassDef()") )
|
dprint "default/other"
|
||||||
|
inclass = eval( VIM::evaluate("s:IsInClassDef()") )
|
||||||
|
|
||||||
if inclass != nil
|
if inclass != nil
|
||||||
|
dprint "inclass"
|
||||||
classdef = "%s\n" % VIM::Buffer.current[ inclass.min ]
|
classdef = "%s\n" % VIM::Buffer.current[ inclass.min ]
|
||||||
found = /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*\n$/.match( classdef )
|
found = /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*\n$/.match( classdef )
|
||||||
|
|
||||||
@@ -445,8 +727,8 @@ def get_completions(base)
|
|||||||
message = input
|
message = input
|
||||||
load_buffer_class( receiver )
|
load_buffer_class( receiver )
|
||||||
begin
|
begin
|
||||||
candidates = eval( "#{receiver}.instance_methods" )
|
methods = eval( "#{receiver}.instance_methods" )
|
||||||
candidates += get_rails_helpers
|
variables += add_rails_columns( "#{receiver}" )
|
||||||
rescue Exception
|
rescue Exception
|
||||||
found = nil
|
found = nil
|
||||||
end
|
end
|
||||||
@@ -454,37 +736,67 @@ def get_completions(base)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if inclass == nil || found == nil
|
if inclass == nil || found == nil
|
||||||
candidates = eval("self.class.constants")
|
dprint "inclass == nil"
|
||||||
candidates += get_buffer_classes
|
methods = get_buffer_methods
|
||||||
|
methods += get_rails_view_methods
|
||||||
|
|
||||||
|
cls_const = Class.constants
|
||||||
|
constants = cls_const.select { |c| /^[A-Z_-]+$/.match( c ) }
|
||||||
|
classes = eval("self.class.constants") - constants
|
||||||
|
classes += get_buffer_classes
|
||||||
|
classes += get_buffer_modules
|
||||||
|
|
||||||
|
include_objectspace = VIM::evaluate("exists('g:rubycomplete_include_objectspace') && g:rubycomplete_include_objectspace")
|
||||||
|
ObjectSpace.each_object(Class) { |cls| classes << cls.to_s } if include_objectspace == "1"
|
||||||
message = receiver = input
|
message = receiver = input
|
||||||
end
|
end
|
||||||
|
|
||||||
|
methods += get_rails_helpers
|
||||||
|
methods += Kernel.public_methods
|
||||||
end
|
end
|
||||||
|
|
||||||
candidates.delete_if { |x| x == nil }
|
|
||||||
candidates.uniq!
|
include_object = VIM::evaluate("exists('g:rubycomplete_include_object') && g:rubycomplete_include_object")
|
||||||
candidates.sort!
|
methods = clean_sel( methods, message )
|
||||||
candidates = candidates.grep(/^#{Regexp.quote(message)}/) if message != nil
|
methods = (methods-Object.instance_methods) if include_object == "0"
|
||||||
|
rbcmeth = (VimRubyCompletion.instance_methods-Object.instance_methods) # lets remove those rubycomplete methods
|
||||||
|
methods = (methods-rbcmeth)
|
||||||
|
|
||||||
|
variables = clean_sel( variables, message )
|
||||||
|
classes = clean_sel( classes, message ) - ["VimRubyCompletion"]
|
||||||
|
constants = clean_sel( constants, message )
|
||||||
|
|
||||||
|
valid = []
|
||||||
|
valid += methods.collect { |m| { :name => m, :type => 'm' } }
|
||||||
|
valid += variables.collect { |v| { :name => v, :type => 'v' } }
|
||||||
|
valid += classes.collect { |c| { :name => c, :type => 't' } }
|
||||||
|
valid += constants.collect { |d| { :name => d, :type => 'd' } }
|
||||||
|
valid.sort! { |x,y| x[:name] <=> y[:name] }
|
||||||
|
|
||||||
outp = ""
|
outp = ""
|
||||||
valid = (candidates-Object.instance_methods)
|
|
||||||
|
|
||||||
rg = 0..valid.length
|
rg = 0..valid.length
|
||||||
rg.step(150) do |x|
|
rg.step(150) do |x|
|
||||||
stpos = 0+x
|
stpos = 0+x
|
||||||
enpos = 150+x
|
enpos = 150+x
|
||||||
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s'}," % [ c, c ] }
|
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ] }
|
||||||
outp.sub!(/,$/, '')
|
outp.sub!(/,$/, '')
|
||||||
|
|
||||||
VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp)
|
VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp)
|
||||||
outp = ""
|
outp = ""
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
# }}} main completion code
|
||||||
|
|
||||||
|
end # VimRubyCompletion
|
||||||
# }}} ruby completion
|
# }}} ruby completion
|
||||||
RUBYEOF
|
RUBYEOF
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let g:rubycomplete_rails_loaded = 0
|
let s:rubycomplete_rails_loaded = 0
|
||||||
|
|
||||||
call s:DefRuby()
|
call s:DefRuby()
|
||||||
" vim:tw=78:sw=4:ts=8:et:ft=vim:norl:
|
"}}} ruby-side code
|
||||||
|
|
||||||
|
|
||||||
|
" vim:tw=78:sw=4:ts=8:et:fdm=marker:ft=vim:norl:
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: All languages, uses existing syntax highlighting rules
|
" Language: All languages, uses existing syntax highlighting rules
|
||||||
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
||||||
" Version: 2.0
|
" Version: 3.0
|
||||||
" Last Change: Fri May 05 2006 10:34:57 PM
|
" Last Change: Wed Nov 08 2006 10:46:46 AM
|
||||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||||
|
|
||||||
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
||||||
@@ -19,13 +19,31 @@ endif
|
|||||||
if exists('g:loaded_syntax_completion')
|
if exists('g:loaded_syntax_completion')
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_syntax_completion = 20
|
let g:loaded_syntax_completion = 30
|
||||||
|
|
||||||
" Set ignorecase to the ftplugin standard
|
" Set ignorecase to the ftplugin standard
|
||||||
|
" This is the default setting, but if you define a buffer local
|
||||||
|
" variable you can override this on a per filetype.
|
||||||
if !exists('g:omni_syntax_ignorecase')
|
if !exists('g:omni_syntax_ignorecase')
|
||||||
let g:omni_syntax_ignorecase = &ignorecase
|
let g:omni_syntax_ignorecase = &ignorecase
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Indicates whether we should use the iskeyword option to determine
|
||||||
|
" how to split words.
|
||||||
|
" This is the default setting, but if you define a buffer local
|
||||||
|
" variable you can override this on a per filetype.
|
||||||
|
if !exists('g:omni_syntax_use_iskeyword')
|
||||||
|
let g:omni_syntax_use_iskeyword = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Only display items in the completion window that are at least
|
||||||
|
" this many characters in length.
|
||||||
|
" This is the default setting, but if you define a buffer local
|
||||||
|
" variable you can override this on a per filetype.
|
||||||
|
if !exists('g:omni_syntax_minimum_length')
|
||||||
|
let g:omni_syntax_minimum_length = 0
|
||||||
|
endif
|
||||||
|
|
||||||
" This script will build a completion list based on the syntax
|
" This script will build a completion list based on the syntax
|
||||||
" elements defined by the files in $VIMRUNTIME/syntax.
|
" elements defined by the files in $VIMRUNTIME/syntax.
|
||||||
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||||
@@ -38,21 +56,28 @@ let s:prepended = ''
|
|||||||
" This function is used for the 'omnifunc' option.
|
" This function is used for the 'omnifunc' option.
|
||||||
function! syntaxcomplete#Complete(findstart, base)
|
function! syntaxcomplete#Complete(findstart, base)
|
||||||
|
|
||||||
|
" Only display items in the completion window that are at least
|
||||||
|
" this many characters in length
|
||||||
|
if !exists('b:omni_syntax_ignorecase')
|
||||||
|
if exists('g:omni_syntax_ignorecase')
|
||||||
|
let b:omni_syntax_ignorecase = g:omni_syntax_ignorecase
|
||||||
|
else
|
||||||
|
let b:omni_syntax_ignorecase = &ignorecase
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
if a:findstart
|
if a:findstart
|
||||||
" Locate the start of the item, including "."
|
" Locate the start of the item, including "."
|
||||||
let line = getline('.')
|
let line = getline('.')
|
||||||
let start = col('.') - 1
|
let start = col('.') - 1
|
||||||
let lastword = -1
|
let lastword = -1
|
||||||
while start > 0
|
while start > 0
|
||||||
if line[start - 1] =~ '\w'
|
" if line[start - 1] =~ '\S'
|
||||||
|
" let start -= 1
|
||||||
|
" elseif line[start - 1] =~ '\.'
|
||||||
|
if line[start - 1] =~ '\k'
|
||||||
let start -= 1
|
let start -= 1
|
||||||
elseif line[start - 1] =~ '\.'
|
let lastword = a:findstart
|
||||||
" The user must be specifying a column name
|
|
||||||
if lastword == -1
|
|
||||||
let lastword = start
|
|
||||||
endif
|
|
||||||
let start -= 1
|
|
||||||
let b:sql_compl_type = 'column'
|
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
@@ -64,11 +89,12 @@ function! syntaxcomplete#Complete(findstart, base)
|
|||||||
let s:prepended = ''
|
let s:prepended = ''
|
||||||
return start
|
return start
|
||||||
endif
|
endif
|
||||||
let s:prepended = strpart(line, start, lastword - start)
|
let s:prepended = strpart(line, start, (col('.') - 1) - start)
|
||||||
return lastword
|
return start
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let base = s:prepended . a:base
|
" let base = s:prepended . a:base
|
||||||
|
let base = s:prepended
|
||||||
|
|
||||||
let filetype = substitute(&filetype, '\.', '_', 'g')
|
let filetype = substitute(&filetype, '\.', '_', 'g')
|
||||||
let list_idx = index(s:cache_name, filetype, 0, &ignorecase)
|
let list_idx = index(s:cache_name, filetype, 0, &ignorecase)
|
||||||
@@ -82,11 +108,16 @@ function! syntaxcomplete#Complete(findstart, base)
|
|||||||
|
|
||||||
" Return list of matches.
|
" Return list of matches.
|
||||||
|
|
||||||
if base =~ '\w'
|
if base != ''
|
||||||
let compstr = join(compl_list, ' ')
|
" let compstr = join(compl_list, ' ')
|
||||||
let expr = (g:omni_syntax_ignorecase==0?'\C':'').'\<\%('.base.'\)\@!\w\+\s*'
|
" let expr = (b:omni_syntax_ignorecase==0?'\C':'').'\<\%('.base.'\)\@!\w\+\s*'
|
||||||
let compstr = substitute(compstr, expr, '', 'g')
|
" let compstr = substitute(compstr, expr, '', 'g')
|
||||||
let compl_list = split(compstr, '\s\+')
|
" let compl_list = split(compstr, '\s\+')
|
||||||
|
|
||||||
|
" Filter the list based on the first few characters the user
|
||||||
|
" entered
|
||||||
|
let expr = 'v:val '.(g:omni_syntax_ignorecase==1?'=~?':'=~#')." '^".escape(base, '\\/.*$^~[]').".*'"
|
||||||
|
let compl_list = filter(deepcopy(compl_list), expr)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return compl_list
|
return compl_list
|
||||||
@@ -100,6 +131,26 @@ function! OmniSyntaxList()
|
|||||||
" let use_dictionary = a:1
|
" let use_dictionary = a:1
|
||||||
" endif
|
" endif
|
||||||
|
|
||||||
|
" Only display items in the completion window that are at least
|
||||||
|
" this many characters in length
|
||||||
|
if !exists('b:omni_syntax_use_iskeyword')
|
||||||
|
if exists('g:omni_syntax_use_iskeyword')
|
||||||
|
let b:omni_syntax_use_iskeyword = g:omni_syntax_use_iskeyword
|
||||||
|
else
|
||||||
|
let b:omni_syntax_use_iskeyword = 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Only display items in the completion window that are at least
|
||||||
|
" this many characters in length
|
||||||
|
if !exists('b:omni_syntax_minimum_length')
|
||||||
|
if exists('g:omni_syntax_minimum_length')
|
||||||
|
let b:omni_syntax_minimum_length = g:omni_syntax_minimum_length
|
||||||
|
else
|
||||||
|
let b:omni_syntax_minimum_length = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
let saveL = @l
|
let saveL = @l
|
||||||
|
|
||||||
" Loop through all the syntax groupnames, and build a
|
" Loop through all the syntax groupnames, and build a
|
||||||
@@ -294,14 +345,32 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
|||||||
\ , "", 'g'
|
\ , "", 'g'
|
||||||
\ )
|
\ )
|
||||||
|
|
||||||
|
if b:omni_syntax_use_iskeyword == 0
|
||||||
" There are a number of items which have non-word characters in
|
" There are a number of items which have non-word characters in
|
||||||
" them, *'T_F1'*. vim.vim is one such file.
|
" them, *'T_F1'*. vim.vim is one such file.
|
||||||
" This will replace non-word characters with spaces.
|
" This will replace non-word characters with spaces.
|
||||||
let syn_list = substitute( syn_list, '[^0-9A-Za-z_ ]', ' ', 'g' )
|
let syn_list = substitute( syn_list, '[^0-9A-Za-z_ ]', ' ', 'g' )
|
||||||
|
else
|
||||||
|
let accept_chars = ','.&iskeyword.','
|
||||||
|
" Remove all character ranges
|
||||||
|
let accept_chars = substitute(accept_chars, ',[^,]\+-[^,]\+,', ',', 'g')
|
||||||
|
" Remove all numeric specifications
|
||||||
|
let accept_chars = substitute(accept_chars, ',\d\{-},', ',', 'g')
|
||||||
|
" Remove all commas
|
||||||
|
let accept_chars = substitute(accept_chars, ',', '', 'g')
|
||||||
|
" Escape special regex characters
|
||||||
|
let accept_chars = escape(accept_chars, '\\/.*$^~[]' )
|
||||||
|
" Remove all characters that are not acceptable
|
||||||
|
let syn_list = substitute( syn_list, '[^0-9A-Za-z_ '.accept_chars.']', ' ', 'g' )
|
||||||
|
endif
|
||||||
|
|
||||||
|
if b:omni_syntax_minimum_length > 0
|
||||||
|
" If the user specified a minimum length, enforce it
|
||||||
|
let syn_list = substitute(' '.syn_list.' ', ' \S\{,'.b:omni_syntax_minimum_length.'}\ze ', ' ', 'g')
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
let syn_list = ''
|
let syn_list = ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
return syn_list
|
return syn_list
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
@@ -1,7 +1,12 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: XML
|
" Language: XML
|
||||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||||
" Last Change: 2006 Apr 30
|
" Last Change: 2006 Jul 18
|
||||||
|
" Version: 1.8
|
||||||
|
"
|
||||||
|
" Changelog:
|
||||||
|
" 1.8 - 2006 Jul 18
|
||||||
|
" - allow for closing of xml tags even when data file isn't available
|
||||||
|
|
||||||
" This function will create Dictionary with users namespace strings and values
|
" This function will create Dictionary with users namespace strings and values
|
||||||
" canonical (system) names of data files. Names should be lowercase,
|
" canonical (system) names of data files. Names should be lowercase,
|
||||||
@@ -80,7 +85,7 @@ function! xmlcomplete#CompleteTags(findstart, base)
|
|||||||
let context_line = getline(curline-i)
|
let context_line = getline(curline-i)
|
||||||
if context_line =~ '<[^>]*$'
|
if context_line =~ '<[^>]*$'
|
||||||
" Yep, this is this line
|
" Yep, this is this line
|
||||||
let context_lines = getline(curline-i, curline)
|
let context_lines = getline(curline-i, curline-1) + [b:compl_context]
|
||||||
let b:compl_context = join(context_lines, ' ')
|
let b:compl_context = join(context_lines, ' ')
|
||||||
break
|
break
|
||||||
elseif context_line =~ '>[^<]*$' || i == curline
|
elseif context_line =~ '>[^<]*$' || i == curline
|
||||||
@@ -106,10 +111,6 @@ function! xmlcomplete#CompleteTags(findstart, base)
|
|||||||
return start
|
return start
|
||||||
|
|
||||||
else
|
else
|
||||||
" There is no connection of namespace and data file. Abandon action
|
|
||||||
if !exists("g:xmldata_connection") || g:xmldata_connection == {}
|
|
||||||
return []
|
|
||||||
endif
|
|
||||||
" Initialize base return lists
|
" Initialize base return lists
|
||||||
let res = []
|
let res = []
|
||||||
let res2 = []
|
let res2 = []
|
||||||
@@ -119,6 +120,17 @@ function! xmlcomplete#CompleteTags(findstart, base)
|
|||||||
endif
|
endif
|
||||||
let context = matchstr(b:compl_context, '^<\zs.*')
|
let context = matchstr(b:compl_context, '^<\zs.*')
|
||||||
unlet! b:compl_context
|
unlet! b:compl_context
|
||||||
|
" There is no connection of namespace and data file.
|
||||||
|
if !exists("g:xmldata_connection") || g:xmldata_connection == {}
|
||||||
|
" There is still possibility we may do something - eg. close tag
|
||||||
|
let b:unaryTagsStack = "base meta link hr br param img area input col"
|
||||||
|
if context =~ '^\/'
|
||||||
|
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
|
||||||
|
return [opentag.">"]
|
||||||
|
else
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
" Make entities completion
|
" Make entities completion
|
||||||
if exists("b:entitiescompl")
|
if exists("b:entitiescompl")
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
" zip.vim: Handles browsing zipfiles
|
" zip.vim: Handles browsing zipfiles
|
||||||
" AUTOLOAD PORTION
|
" AUTOLOAD PORTION
|
||||||
" Date: May 01, 2006
|
" Date: Sep 29, 2006
|
||||||
" Version: 9
|
" Version: 12
|
||||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
|
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
@@ -15,15 +15,28 @@
|
|||||||
" of this software.
|
" of this software.
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Initialization: {{{1
|
" Load Once: {{{1
|
||||||
let s:keepcpo= &cpo
|
let s:keepcpo= &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
if exists("g:loaded_zip")
|
if &cp || exists("g:loaded_zip") || v:version < 700
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let g:loaded_zip = "v9"
|
let g:loaded_zip = "v12"
|
||||||
let s:zipfile_escape = ' ?&;\'
|
let s:zipfile_escape = ' ?&;\'
|
||||||
|
let s:ERROR = 2
|
||||||
|
let s:WARNING = 1
|
||||||
|
let s:NOTE = 0
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Global Values: {{{1
|
||||||
|
if !exists("g:zip_shq")
|
||||||
|
if has("unix")
|
||||||
|
let g:zip_shq= "'"
|
||||||
|
else
|
||||||
|
let g:zip_shq= '"'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
" ----------------
|
" ----------------
|
||||||
" Functions: {{{1
|
" Functions: {{{1
|
||||||
@@ -38,8 +51,9 @@ fun! zip#Browse(zipfile)
|
|||||||
|
|
||||||
" sanity checks
|
" sanity checks
|
||||||
if !executable("unzip")
|
if !executable("unzip")
|
||||||
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
|
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Browse")
|
" call Dret("zip#Browse")
|
||||||
return
|
return
|
||||||
@@ -47,8 +61,9 @@ fun! zip#Browse(zipfile)
|
|||||||
if !filereadable(a:zipfile)
|
if !filereadable(a:zipfile)
|
||||||
if a:zipfile !~# '^\a\+://'
|
if a:zipfile !~# '^\a\+://'
|
||||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
" if its an url, don't complain, let url-handlers such as vim do its thing
|
||||||
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
|
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
endif
|
endif
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Browse : file<".a:zipfile."> not readable")
|
" call Dret("zip#Browse : file<".a:zipfile."> not readable")
|
||||||
@@ -75,11 +90,12 @@ fun! zip#Browse(zipfile)
|
|||||||
0d
|
0d
|
||||||
$
|
$
|
||||||
|
|
||||||
" call Decho("exe silent r! unzip -l '".a:zipfile."'")
|
" call Decho("exe silent r! unzip -l ".s:QuoteFileDir(a:zipfile))
|
||||||
exe "silent r! unzip -l '".a:zipfile."'"
|
exe "silent r! unzip -l ".s:QuoteFileDir(a:zipfile)
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
|
redraw!
|
||||||
echohl WarningMsg | echo "***warning*** (zip#Browse) ".a:zipfile." is not a zip file" | echohl None
|
echohl WarningMsg | echo "***warning*** (zip#Browse) ".a:zipfile." is not a zip file" | echohl None
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
silent %d
|
silent %d
|
||||||
let eikeep= &ei
|
let eikeep= &ei
|
||||||
set ei=BufReadCmd,FileReadCmd
|
set ei=BufReadCmd,FileReadCmd
|
||||||
@@ -121,8 +137,9 @@ fun! s:ZipBrowseSelect()
|
|||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if fname =~ '/$'
|
if fname =~ '/$'
|
||||||
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Browse) Please specify a file, not a directory" | echohl None
|
echohl Error | echo "***error*** (zip#Browse) Please specify a file, not a directory" | echohl None
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("ZipBrowseSelect")
|
" call Dret("ZipBrowseSelect")
|
||||||
return
|
return
|
||||||
@@ -131,7 +148,7 @@ fun! s:ZipBrowseSelect()
|
|||||||
" call Decho("fname<".fname.">")
|
" call Decho("fname<".fname.">")
|
||||||
|
|
||||||
" get zipfile to the new-window
|
" get zipfile to the new-window
|
||||||
let zipfile= substitute(w:zipfile,'.zip$','','e')
|
let zipfile = w:zipfile
|
||||||
let curfile= expand("%")
|
let curfile= expand("%")
|
||||||
" call Decho("zipfile<".zipfile.">")
|
" call Decho("zipfile<".zipfile.">")
|
||||||
" call Decho("curfile<".curfile.">")
|
" call Decho("curfile<".curfile.">")
|
||||||
@@ -160,12 +177,15 @@ fun! zip#Read(fname,mode)
|
|||||||
else
|
else
|
||||||
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||||
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
|
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||||
|
|
||||||
|
" TODO Needs to predicated to using InfoZIP's unzip on Windows
|
||||||
|
let fname = substitute(fname, '[', '[[]', 'g')
|
||||||
endif
|
endif
|
||||||
" call Decho("zipfile<".zipfile.">")
|
" call Decho("zipfile<".zipfile.">")
|
||||||
" call Decho("fname <".fname.">")
|
" call Decho("fname <".fname.">")
|
||||||
|
|
||||||
" call Decho("exe r! unzip -p '".zipfile."' '".fname."'")
|
" call Decho("exe r! unzip -p ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
|
||||||
exe "silent r! unzip -p '".zipfile."' '".fname."'"
|
exe "silent r! unzip -p ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname)
|
||||||
|
|
||||||
" cleanup
|
" cleanup
|
||||||
0d
|
0d
|
||||||
@@ -184,15 +204,17 @@ fun! zip#Write(fname)
|
|||||||
|
|
||||||
" sanity checks
|
" sanity checks
|
||||||
if !executable("zip")
|
if !executable("zip")
|
||||||
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
|
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Write")
|
" call Dret("zip#Write")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if !exists("*mkdir")
|
if !exists("*mkdir")
|
||||||
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
echohl Error | echo "***error*** (zip#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Write")
|
" call Dret("zip#Write")
|
||||||
return
|
return
|
||||||
@@ -208,15 +230,11 @@ fun! zip#Write(fname)
|
|||||||
call mkdir(tmpdir,"p")
|
call mkdir(tmpdir,"p")
|
||||||
|
|
||||||
" attempt to change to the indicated directory
|
" attempt to change to the indicated directory
|
||||||
try
|
if s:ChgDir(tmpdir,s:ERROR,"(zip#Write) cannot cd to temporary directory")
|
||||||
exe "cd ".escape(tmpdir,' \')
|
|
||||||
catch /^Vim\%((\a\+)\)\=:E344/
|
|
||||||
echohl Error | echo "***error*** (zip#Write) cannot cd to temporary directory" | Echohl None
|
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Write")
|
" call Dret("zip#Write")
|
||||||
return
|
return
|
||||||
endtry
|
endif
|
||||||
" call Decho("current directory now: ".getcwd())
|
" call Decho("current directory now: ".getcwd())
|
||||||
|
|
||||||
" place temporary files under .../_ZIPVIM_/
|
" place temporary files under .../_ZIPVIM_/
|
||||||
@@ -255,21 +273,27 @@ fun! zip#Write(fname)
|
|||||||
let zipfile = substitute(system("cygpath ".zipfile),'\n','','e')
|
let zipfile = substitute(system("cygpath ".zipfile),'\n','','e')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" call Decho("zip -u '".zipfile.".zip' '".fname."'")
|
" TODO Needs to predicated to using InfoZIP's unzip
|
||||||
call system("zip -u '".zipfile.".zip' '".fname."'")
|
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
|
||||||
|
let fname = substitute(fname, '[', '[[]', 'g')
|
||||||
|
endif
|
||||||
|
|
||||||
|
" call Decho("zip -u ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
|
||||||
|
call system("zip -u ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
|
||||||
if v:shell_error != 0
|
if v:shell_error != 0
|
||||||
|
redraw!
|
||||||
echohl Error | echo "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname | echohl None
|
echohl Error | echo "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname | echohl None
|
||||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
|
|
||||||
elseif s:zipfile_{winnr()} =~ '^\a\+://'
|
elseif s:zipfile_{winnr()} =~ '^\a\+://'
|
||||||
" support writing zipfiles across a network
|
" support writing zipfiles across a network
|
||||||
let netzipfile= s:zipfile_{winnr()}
|
let netzipfile= s:zipfile_{winnr()}
|
||||||
" call Decho("handle writing <".zipfile.".zip> across network as <".netzipfile.">")
|
" call Decho("handle writing <".zipfile."> across network as <".netzipfile.">")
|
||||||
1split|enew
|
1split|enew
|
||||||
let binkeep= &binary
|
let binkeep= &binary
|
||||||
let eikeep = &ei
|
let eikeep = &ei
|
||||||
set binary ei=all
|
set binary ei=all
|
||||||
exe "e! ".zipfile.".zip"
|
exe "e! ".zipfile
|
||||||
call netrw#NetWrite(netzipfile)
|
call netrw#NetWrite(netzipfile)
|
||||||
let &ei = eikeep
|
let &ei = eikeep
|
||||||
let &binary = binkeep
|
let &binary = binkeep
|
||||||
@@ -280,25 +304,61 @@ fun! zip#Write(fname)
|
|||||||
" cleanup and restore current directory
|
" cleanup and restore current directory
|
||||||
cd ..
|
cd ..
|
||||||
call s:Rmdir("_ZIPVIM_")
|
call s:Rmdir("_ZIPVIM_")
|
||||||
exe "cd ".escape(curdir,' \')
|
call s:ChgDir(curdir,s:WARNING,"(zip#Write) unable to return to ".curdir."!")
|
||||||
|
call s:Rmdir(tmpdir)
|
||||||
setlocal nomod
|
setlocal nomod
|
||||||
|
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
" call Dret("zip#Write")
|
" call Dret("zip#Write")
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" QuoteFileDir: {{{2
|
||||||
|
fun! s:QuoteFileDir(fname)
|
||||||
|
" call Dfunc("QuoteFileDir(fname<".a:fname.">)")
|
||||||
|
" call Dret("QuoteFileDir")
|
||||||
|
return g:zip_shq.a:fname.g:zip_shq
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" ChgDir: {{{2
|
||||||
|
fun! s:ChgDir(newdir,errlvl,errmsg)
|
||||||
|
" call Dfunc("ChgDir(newdir<".a:newdir."> errlvl=".a:errlvl." errmsg<".a:errmsg.">)")
|
||||||
|
|
||||||
|
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
|
||||||
|
let newdir= escape(a:newdir,' ')
|
||||||
|
else
|
||||||
|
let newdir= escape(a:newdir,'\ ')
|
||||||
|
endif
|
||||||
|
|
||||||
|
try
|
||||||
|
exe "cd ".newdir
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E344/
|
||||||
|
redraw!
|
||||||
|
if a:errlvl == s:NOTE
|
||||||
|
echo "***note*** ".a:errmsg
|
||||||
|
elseif a:errlvl == s:WARNING
|
||||||
|
echohl WarningMsg | echo "***warning*** ".a:errmsg | echohl NONE
|
||||||
|
elseif a:errlvl == s:ERROR
|
||||||
|
echohl Error | echo "***error*** ".a:errmsg | echohl NONE
|
||||||
|
endif
|
||||||
|
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
|
" call Dret("ChgDir 1")
|
||||||
|
return 1
|
||||||
|
endtry
|
||||||
|
|
||||||
|
" call Dret("ChgDir 0")
|
||||||
|
return 0
|
||||||
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Rmdir: {{{2
|
" Rmdir: {{{2
|
||||||
fun! s:Rmdir(fname)
|
fun! s:Rmdir(fname)
|
||||||
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
||||||
if has("unix")
|
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
|
||||||
call system("/bin/rm -rf ".a:fname)
|
call system("rmdir /S/Q ".s:QuoteFileDir(a:fname))
|
||||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
|
||||||
if &shell =~? "sh$"
|
|
||||||
call system("/bin/rm -rf ".a:fname)
|
|
||||||
else
|
else
|
||||||
call system("del /S ".a:fname)
|
call system("/bin/rm -rf ".s:QuoteFileDir(a:fname))
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
" call Dret("Rmdir")
|
" call Dret("Rmdir")
|
||||||
endfun
|
endfun
|
||||||
|
@@ -2,9 +2,9 @@
|
|||||||
" vim: tw=0 ts=4 sw=4
|
" vim: tw=0 ts=4 sw=4
|
||||||
" Vim color file
|
" Vim color file
|
||||||
" Maintainer: Steven Vertigan <steven@vertigan.wattle.id.au>
|
" Maintainer: Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||||
" Last Change: 2003 May 11
|
" Last Change: 2006 Sep 23
|
||||||
" Revision #4: Support for new "Underline" group. Removed superfluous html
|
" Revision #5: Switch main text from white to yellow for easier contrast,
|
||||||
" formatting.
|
" fixed some problems with terminal backgrounds.
|
||||||
|
|
||||||
set background=dark
|
set background=dark
|
||||||
hi clear
|
hi clear
|
||||||
@@ -12,66 +12,44 @@ if exists("syntax_on")
|
|||||||
syntax reset
|
syntax reset
|
||||||
endif
|
endif
|
||||||
let g:colors_name = "blue"
|
let g:colors_name = "blue"
|
||||||
hi Normal guifg=white guibg=darkBlue
|
hi Normal guifg=yellow guibg=darkBlue ctermfg=yellow ctermbg=darkBlue
|
||||||
hi Normal ctermfg=white ctermbg=darkBlue
|
|
||||||
hi NonText guifg=magenta ctermfg=lightMagenta
|
hi NonText guifg=magenta ctermfg=lightMagenta
|
||||||
hi comment guifg=gray gui=bold
|
hi comment guifg=gray ctermfg=gray ctermbg=darkBlue gui=bold
|
||||||
hi comment ctermfg=gray
|
|
||||||
hi constant guifg=cyan ctermfg=cyan
|
hi constant guifg=cyan ctermfg=cyan
|
||||||
hi identifier guifg=gray ctermfg=gray
|
hi identifier guifg=gray ctermfg=red
|
||||||
hi statement guifg=yellow gui=none ctermfg=yellow
|
hi statement guifg=white ctermfg=white ctermbg=darkBlue gui=none
|
||||||
hi preproc guifg=green ctermfg=green
|
hi preproc guifg=green ctermfg=green
|
||||||
hi type guifg=orange ctermfg=darkYellow
|
hi type guifg=orange ctermfg=lightRed ctermbg=darkBlue
|
||||||
hi special guifg=magenta ctermfg=lightMagenta
|
hi special guifg=magenta ctermfg=lightMagenta ctermbg=darkBlue
|
||||||
hi Underlined guifg=cyan ctermfg=cyan
|
hi Underlined guifg=cyan ctermfg=cyan gui=underline cterm=underline
|
||||||
hi Underlined gui=underline cterm=underline
|
hi label guifg=yellow ctermfg=yellow
|
||||||
|
hi operator guifg=orange gui=bold ctermfg=lightRed ctermbg=darkBlue
|
||||||
|
|
||||||
hi ErrorMsg guifg=orange guibg=darkBlue
|
hi ErrorMsg guifg=orange guibg=darkBlue ctermfg=lightRed
|
||||||
hi ErrorMsg ctermfg=lightRed
|
hi WarningMsg guifg=cyan guibg=darkBlue ctermfg=cyan gui=bold
|
||||||
hi WarningMsg guifg=cyan guibg=darkBlue gui=bold
|
hi ModeMsg guifg=yellow gui=NONE ctermfg=yellow
|
||||||
hi WarningMsg ctermfg=cyan
|
hi MoreMsg guifg=yellow gui=NONE ctermfg=yellow
|
||||||
hi ModeMsg guifg=yellow gui=NONE
|
hi Error guifg=red guibg=darkBlue gui=underline ctermfg=red
|
||||||
hi ModeMsg ctermfg=yellow
|
|
||||||
hi MoreMsg guifg=yellow gui=NONE
|
|
||||||
hi MoreMsg ctermfg=yellow
|
|
||||||
hi Error guifg=red guibg=darkBlue gui=underline
|
|
||||||
hi Error ctermfg=red
|
|
||||||
|
|
||||||
hi Todo guifg=black guibg=orange
|
hi Todo guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
|
||||||
hi Todo ctermfg=black ctermbg=darkYellow
|
hi Cursor guifg=black guibg=white ctermfg=black ctermbg=white
|
||||||
hi Cursor guifg=black guibg=white
|
hi Search guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
|
||||||
hi Cursor ctermfg=black ctermbg=white
|
hi IncSearch guifg=black guibg=yellow ctermfg=black ctermbg=darkYellow
|
||||||
hi Search guifg=black guibg=orange
|
hi LineNr guifg=cyan ctermfg=cyan
|
||||||
hi Search ctermfg=black ctermbg=darkYellow
|
|
||||||
hi IncSearch guifg=black guibg=yellow
|
|
||||||
hi IncSearch ctermfg=black ctermbg=darkYellow
|
|
||||||
hi LineNr guifg=pink ctermfg=lightMagenta
|
|
||||||
hi title guifg=white gui=bold cterm=bold
|
hi title guifg=white gui=bold cterm=bold
|
||||||
|
|
||||||
hi StatusLineNC gui=NONE guifg=black guibg=blue
|
hi StatusLineNC gui=NONE guifg=black guibg=blue ctermfg=black ctermbg=blue
|
||||||
hi StatusLineNC ctermfg=black ctermbg=blue
|
hi StatusLine gui=bold guifg=cyan guibg=blue ctermfg=cyan ctermbg=blue
|
||||||
hi StatusLine gui=bold guifg=cyan guibg=blue
|
hi VertSplit gui=none guifg=blue guibg=blue ctermfg=blue ctermbg=blue
|
||||||
hi StatusLine ctermfg=cyan ctermbg=blue
|
|
||||||
|
|
||||||
hi label guifg=yellow ctermfg=yellow
|
hi Visual term=reverse ctermfg=black ctermbg=darkCyan guifg=black guibg=darkCyan
|
||||||
hi operator guifg=orange gui=bold ctermfg=darkYellow
|
|
||||||
hi clear Visual
|
|
||||||
hi Visual term=reverse
|
|
||||||
hi Visual ctermfg=black ctermbg=darkCyan
|
|
||||||
hi Visual guifg=black guibg=darkCyan
|
|
||||||
|
|
||||||
hi DiffChange guibg=darkGreen guifg=black
|
hi DiffChange guibg=darkGreen guifg=black ctermbg=darkGreen ctermfg=black
|
||||||
hi DiffChange ctermbg=darkGreen ctermfg=black
|
hi DiffText guibg=olivedrab guifg=black ctermbg=lightGreen ctermfg=black
|
||||||
hi DiffText guibg=olivedrab guifg=black
|
hi DiffAdd guibg=slateblue guifg=black ctermbg=blue ctermfg=black
|
||||||
hi DiffText ctermbg=lightGreen ctermfg=black
|
hi DiffDelete guibg=coral guifg=black ctermbg=cyan ctermfg=black
|
||||||
hi DiffAdd guibg=slateblue guifg=black
|
|
||||||
hi DiffAdd ctermbg=blue ctermfg=black
|
|
||||||
hi DiffDelete guibg=coral guifg=black
|
|
||||||
hi DiffDelete ctermbg=cyan ctermfg=black
|
|
||||||
|
|
||||||
hi Folded guibg=orange guifg=black
|
hi Folded guibg=orange guifg=black ctermbg=yellow ctermfg=black
|
||||||
hi Folded ctermbg=yellow ctermfg=black
|
hi FoldColumn guibg=gray30 guifg=black ctermbg=gray ctermfg=black
|
||||||
hi FoldColumn guibg=gray30 guifg=black
|
|
||||||
hi FoldColumn ctermbg=gray ctermfg=black
|
|
||||||
hi cIf0 guifg=gray ctermfg=gray
|
hi cIf0 guifg=gray ctermfg=gray
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
" Vim color file
|
" Vim color file
|
||||||
" Maintainer: Thorsten Maerz <info@netztorte.de>
|
" Maintainer: Thorsten Maerz <info@netztorte.de>
|
||||||
" Last Change: 2001 Jul 23
|
" Last Change: 2006 Dec 07
|
||||||
" grey on black
|
" grey on black
|
||||||
" optimized for TFT panels
|
" optimized for TFT panels
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ let g:colors_name = "torte"
|
|||||||
" GUI
|
" GUI
|
||||||
highlight Normal guifg=Grey80 guibg=Black
|
highlight Normal guifg=Grey80 guibg=Black
|
||||||
highlight Search guifg=Black guibg=Red gui=bold
|
highlight Search guifg=Black guibg=Red gui=bold
|
||||||
highlight Visual guifg=Grey25 gui=bold
|
highlight Visual guifg=#404040 gui=bold
|
||||||
highlight Cursor guifg=Black guibg=Green gui=bold
|
highlight Cursor guifg=Black guibg=Green gui=bold
|
||||||
highlight Special guifg=Orange
|
highlight Special guifg=Orange
|
||||||
highlight Comment guifg=#80a0ff
|
highlight Comment guifg=#80a0ff
|
||||||
@@ -42,7 +42,7 @@ if has("unix")
|
|||||||
if v:version<600
|
if v:version<600
|
||||||
highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
|
highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
|
||||||
highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
|
highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
|
||||||
highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=Grey25 gui=bold
|
highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=#404040 gui=bold
|
||||||
highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue gui=NONE
|
highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue gui=NONE
|
||||||
highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE
|
highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE
|
||||||
endif
|
endif
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*change.txt* For Vim version 7.0. Last change: 2006 May 05
|
*change.txt* For Vim version 7.1a. Last change: 2007 Jan 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -640,7 +640,7 @@ The flags that you can use for the substitute commands:
|
|||||||
|
|
||||||
[#] Like [p] and prepend the line number.
|
[#] Like [p] and prepend the line number.
|
||||||
|
|
||||||
[l] Like [l] but print the text like |:list|.
|
[l] Like [p] but print the text like |:list|.
|
||||||
|
|
||||||
[r] Only useful in combination with ":&" or ":s" without arguments. ":&r"
|
[r] Only useful in combination with ":&" or ":s" without arguments. ":&r"
|
||||||
works the same way as ":~": When the search pattern is empty, use the
|
works the same way as ":~": When the search pattern is empty, use the
|
||||||
@@ -670,14 +670,20 @@ pattern from the last substitute or ":global" command. With the [r] flag, the
|
|||||||
command uses the pattern from the last substitute, ":global", or search
|
command uses the pattern from the last substitute, ":global", or search
|
||||||
command.
|
command.
|
||||||
|
|
||||||
|
If the {string} is omitted the substitute is done as if it's empty. Thus the
|
||||||
|
matched pattern is deleted. The separator after {pattern} can also be left
|
||||||
|
out then. Example: >
|
||||||
|
:%s/TESTING
|
||||||
|
This deletes "TESTING" from all lines, but only one per line.
|
||||||
|
|
||||||
For compatibility with Vi these two exceptions are allowed:
|
For compatibility with Vi these two exceptions are allowed:
|
||||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||||
"\&{string}&" does the same as "//{string}/".
|
"\&{string}&" does the same as "//{string}/".
|
||||||
*E146*
|
*E146*
|
||||||
Instead of the '/' which surrounds the pattern and replacement string, you
|
Instead of the '/' which surrounds the pattern and replacement string, you
|
||||||
can use any other character, but not an alphanumeric character, '\', '"' or
|
can use any other single-byte character, but not an alphanumeric character,
|
||||||
'|'. This is useful if you want to include a '/' in the search pattern or
|
'\', '"' or '|'. This is useful if you want to include a '/' in the search
|
||||||
replacement string. Example: >
|
pattern or replacement string. Example: >
|
||||||
:s+/+//+
|
:s+/+//+
|
||||||
|
|
||||||
For the definition of a pattern, see |pattern|.
|
For the definition of a pattern, see |pattern|.
|
||||||
@@ -1075,7 +1081,7 @@ and ":put" commands and with CTRL-R. {not in Vi}
|
|||||||
{not available when compiled without the |+cmdline_hist|
|
{not available when compiled without the |+cmdline_hist|
|
||||||
feature}
|
feature}
|
||||||
|
|
||||||
6. Expression register "= *quote_=* *quote=*
|
6. Expression register "= *quote_=* *quote=* *@=*
|
||||||
This is not really a register that stores text, but is a way to use an
|
This is not really a register that stores text, but is a way to use an
|
||||||
expression in commands which use a register. The expression register is
|
expression in commands which use a register. The expression register is
|
||||||
read-only; you cannot put text into it. After the '=', the cursor moves to
|
read-only; you cannot put text into it. After the '=', the cursor moves to
|
||||||
@@ -1365,7 +1371,7 @@ readability.
|
|||||||
|
|
||||||
letter meaning when present in 'formatoptions' ~
|
letter meaning when present in 'formatoptions' ~
|
||||||
|
|
||||||
t Auto-wrap text using textwidth (does not apply to comments)
|
t Auto-wrap text using textwidth
|
||||||
c Auto-wrap comments using textwidth, inserting the current comment
|
c Auto-wrap comments using textwidth, inserting the current comment
|
||||||
leader automatically.
|
leader automatically.
|
||||||
r Automatically insert the current comment leader after hitting
|
r Automatically insert the current comment leader after hitting
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*cmdline.txt* For Vim version 7.1a. Last change: 2006 Jul 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -301,6 +301,10 @@ CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
|
|||||||
for the next command or Search pattern.
|
for the next command or Search pattern.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
|
*c_CTRL-]*
|
||||||
|
CTRL-] Trigger abbreviation, without inserting a character. {not in
|
||||||
|
Vi}
|
||||||
|
|
||||||
For Emacs-style editing on the command-line see |emacs-keys|.
|
For Emacs-style editing on the command-line see |emacs-keys|.
|
||||||
|
|
||||||
The <Up> and <Down> keys take the current command-line as a search string.
|
The <Up> and <Down> keys take the current command-line as a search string.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*debug.txt* For Vim version 7.0. Last change: 2006 May 01
|
*debug.txt* For Vim version 7.1a. Last change: 2006 May 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*debugger.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*debugger.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*develop.txt* For Vim version 7.0. Last change: 2006 Mar 09
|
*develop.txt* For Vim version 7.1a. Last change: 2006 Sep 26
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -224,7 +224,7 @@ __.* POSIX, system
|
|||||||
_[A-Z].* POSIX, system
|
_[A-Z].* POSIX, system
|
||||||
E[A-Z0-9]* POSIX, errno.h
|
E[A-Z0-9]* POSIX, errno.h
|
||||||
|
|
||||||
*_t POSIX, for typedefs. Use *_T instead.
|
.*_t POSIX, for typedefs. Use .*_T instead.
|
||||||
|
|
||||||
wait don't use as argument to a function, conflicts with types.h
|
wait don't use as argument to a function, conflicts with types.h
|
||||||
index shadows global declaration
|
index shadows global declaration
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 7.0. Last change: 2006 Apr 14
|
*diff.txt* For Vim version 7.1a. Last change: 2006 Oct 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -155,13 +155,16 @@ All the buffers edited in a window where the 'diff' option is set will join in
|
|||||||
the diff. This is also possible for hidden buffers. They must have been
|
the diff. This is also possible for hidden buffers. They must have been
|
||||||
edited in a window first for this to be possible.
|
edited in a window first for this to be possible.
|
||||||
|
|
||||||
|
*:DiffOrig* *diff-original-file*
|
||||||
Since 'diff' is a window-local option, it's possible to view the same buffer
|
Since 'diff' is a window-local option, it's possible to view the same buffer
|
||||||
in diff mode in one window and "normal" in another window. It is also
|
in diff mode in one window and "normal" in another window. It is also
|
||||||
possible to view the changes you have made to a buffer, but since Vim doesn't
|
possible to view the changes you have made to a buffer since the file was
|
||||||
allow having two buffers for the same file, you need to make a copy of the
|
loaded. Since Vim doesn't allow having two buffers for the same file, you
|
||||||
original file and diff with that. For example: >
|
need another buffer. This command is useful: >
|
||||||
:!cp % tempfile
|
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
|
||||||
:diffsplit tempfile
|
\ | wincmd p | diffthis
|
||||||
|
(this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
|
||||||
|
between the current buffer and the file it was loaded from.
|
||||||
|
|
||||||
A buffer that is unloaded cannot be used for the diff. But it does work for
|
A buffer that is unloaded cannot be used for the diff. But it does work for
|
||||||
hidden buffers. You can use ":hide" to close a window without unloading the
|
hidden buffers. You can use ":hide" to close a window without unloading the
|
||||||
@@ -239,7 +242,7 @@ that the buffers will be equal within the specified range.
|
|||||||
mode.
|
mode.
|
||||||
See below for [range].
|
See below for [range].
|
||||||
|
|
||||||
*:diffpu* *:diffput*
|
*:diffpu* *:diffput* *E793*
|
||||||
:[range]diffpu[t] [bufspec]
|
:[range]diffpu[t] [bufspec]
|
||||||
Modify another buffer to undo difference with the current
|
Modify another buffer to undo difference with the current
|
||||||
buffer. Just like ":diffget" but the other buffer is modified
|
buffer. Just like ":diffget" but the other buffer is modified
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*digraph.txt* For Vim version 7.0. Last change: 2006 Apr 25
|
*digraph.txt* For Vim version 7.1a. Last change: 2006 Jul 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -107,13 +107,12 @@ If you accidentally typed an 'a' that should be an 'e', you will type 'a' <BS>
|
|||||||
this, you will have to type <BS> e again. To avoid this don't set the
|
this, you will have to type <BS> e again. To avoid this don't set the
|
||||||
'digraph' option and use CTRL-K to enter digraphs.
|
'digraph' option and use CTRL-K to enter digraphs.
|
||||||
|
|
||||||
You may have problems using Vim with characters which have an ASCII value
|
You may have problems using Vim with characters which have a value above 128.
|
||||||
above 128. For example: You insert ue (u-umlaut) and the editor echoes \334
|
For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
|
||||||
in Insert mode. After leaving the Insert mode everything is fine. Note that
|
mode. After leaving the Insert mode everything is fine. Note that fmt
|
||||||
fmt removes all characters with ASCII codes above 128 from the text being
|
removes all characters with a value above 128 from the text being formatted.
|
||||||
formatted. On some Unix systems this means you have to define the
|
On some Unix systems this means you have to define the environment-variable
|
||||||
environment-variable LC_CTYPE. If you are using csh, then put the following
|
LC_CTYPE. If you are using csh, then put the following line in your .cshrc: >
|
||||||
line in your .cshrc: >
|
|
||||||
setenv LC_CTYPE iso_8859_1
|
setenv LC_CTYPE iso_8859_1
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*editing.txt* For Vim version 7.1a. Last change: 2006 Oct 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -372,7 +372,7 @@ Example: The command ":e Long File Name " will edit the file "Long File
|
|||||||
Name". When using a command that accepts more than one file name (like ":next
|
Name". When using a command that accepts more than one file name (like ":next
|
||||||
file1 file2") embedded spaces must be escaped with a backslash.
|
file1 file2") embedded spaces must be escaped with a backslash.
|
||||||
|
|
||||||
*wildcard*
|
*wildcard* *wildcards*
|
||||||
Wildcards in {file} are expanded. Which wildcards are supported depends on
|
Wildcards in {file} are expanded. Which wildcards are supported depends on
|
||||||
the system. These are the common ones:
|
the system. These are the common ones:
|
||||||
? matches one character
|
? matches one character
|
||||||
@@ -849,7 +849,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
|||||||
|
|
||||||
*:w* *:write*
|
*:w* *:write*
|
||||||
*E502* *E503* *E504* *E505*
|
*E502* *E503* *E504* *E505*
|
||||||
*E512* *E514* *E667*
|
*E512* *E514* *E667* *E796*
|
||||||
:w[rite] Write the whole buffer to the current file. This is
|
:w[rite] Write the whole buffer to the current file. This is
|
||||||
the normal way to save changes to a file. It fails
|
the normal way to save changes to a file. It fails
|
||||||
when the 'readonly' option is set or when there is
|
when the 'readonly' option is set or when there is
|
||||||
@@ -1150,8 +1150,8 @@ If you want to always use ":confirm", set the 'confirm' option.
|
|||||||
*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
|
*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
|
||||||
:bro[wse] {command} Open a file selection dialog for an argument to
|
:bro[wse] {command} Open a file selection dialog for an argument to
|
||||||
{command}. At present this works for |:e|, |:w|,
|
{command}. At present this works for |:e|, |:w|,
|
||||||
|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc| and
|
|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc|,
|
||||||
|:mksession|.
|
|:mksession|, |:split|, |:vsplit|, and |:tabe|.
|
||||||
{only in Win32, Athena, Motif, GTK and Mac GUI}
|
{only in Win32, Athena, Motif, GTK and Mac GUI}
|
||||||
When ":browse" is not possible you get an error
|
When ":browse" is not possible you get an error
|
||||||
message. If the |+browse| feature is missing or the
|
message. If the |+browse| feature is missing or the
|
||||||
@@ -1469,7 +1469,9 @@ problem goes away the next day.
|
|||||||
{not available when compiled without the |+path_extra| feature}
|
{not available when compiled without the |+path_extra| feature}
|
||||||
|
|
||||||
The file searching is currently used for the 'path', 'cdpath' and 'tags'
|
The file searching is currently used for the 'path', 'cdpath' and 'tags'
|
||||||
options. There are three different types of searching:
|
options, for |finddir()| and |findfile()|.
|
||||||
|
|
||||||
|
There are three different types of searching:
|
||||||
|
|
||||||
1) Downward search: *starstar*
|
1) Downward search: *starstar*
|
||||||
Downward search uses the wildcards '*', '**' and possibly others
|
Downward search uses the wildcards '*', '**' and possibly others
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*fold.txt* For Vim version 7.0. Last change: 2006 Mar 29
|
*fold.txt* For Vim version 7.1a. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*gui_w16.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*gui_w16.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*gui_w32.txt* For Vim version 7.1a. Last change: 2007 May 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -233,7 +233,8 @@ $VIMRUNTIME/mswin.vim script. You could add this line to your _vimrc file: >
|
|||||||
Since CTRL-C is used to copy the text to the clipboard, it can't be used to
|
Since CTRL-C is used to copy the text to the clipboard, it can't be used to
|
||||||
cancel an operation. Use CTRL-Break for that.
|
cancel an operation. Use CTRL-Break for that.
|
||||||
|
|
||||||
CTRL-Z is used for undo. This means you can't suspend Vim.
|
CTRL-Z is used for undo. This means you can't suspend Vim with this key, use
|
||||||
|
|:suspend| instead (if it's supported at all).
|
||||||
|
|
||||||
*CTRL-V-alternative* *CTRL-Q*
|
*CTRL-V-alternative* *CTRL-Q*
|
||||||
Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
|
Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
|
||||||
@@ -463,6 +464,8 @@ This maps Alt-Space to pop down the system menu for the Vim window. Note that
|
|||||||
Maps Control-N to produce the keys Alt-Space followed by N. This minimizes the
|
Maps Control-N to produce the keys Alt-Space followed by N. This minimizes the
|
||||||
Vim window via the system menu.
|
Vim window via the system menu.
|
||||||
|
|
||||||
|
Note that the key changes depending on the language you are using.
|
||||||
|
|
||||||
*intellimouse-wheel-problems*
|
*intellimouse-wheel-problems*
|
||||||
When using the Intellimouse mouse wheel causes Vim to stop accepting input, go
|
When using the Intellimouse mouse wheel causes Vim to stop accepting input, go
|
||||||
to:
|
to:
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*gui_x11.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*gui_x11.txt* For Vim version 7.1a. Last change: 2006 Jul 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -406,8 +406,9 @@ These are the different looks:
|
|||||||
- That means the menubar and toolbar handles are back! Yeah! And the
|
- That means the menubar and toolbar handles are back! Yeah! And the
|
||||||
resizing grid still works too.
|
resizing grid still works too.
|
||||||
|
|
||||||
GNOME is automatically compiled with if it was found by configure.
|
GNOME is compiled with if it was found by configure and the
|
||||||
(FIXME: Is this still true? Use --enable-gnome-check to force it to.)
|
--enable-gnome-check argument was used.
|
||||||
|
|
||||||
|
|
||||||
GNOME session support *gui-gnome-session* *gnome-session*
|
GNOME session support *gui-gnome-session* *gnome-session*
|
||||||
|
|
||||||
@@ -436,7 +437,7 @@ command line argument).
|
|||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
7. KDE version *gui-kde* *kde* *KDE* *KVim*
|
7. KDE version *gui-kde* *kde* *KDE* *KVim*
|
||||||
|
*gui-x11-kde*
|
||||||
There is no KDE version of Vim. There has been some work on a port using the
|
There is no KDE version of Vim. There has been some work on a port using the
|
||||||
Qt toolkit, but it never worked properly and it has been abandoned. Work
|
Qt toolkit, but it never worked properly and it has been abandoned. Work
|
||||||
continues on Yzis: www.yzis.org.
|
continues on Yzis: www.yzis.org.
|
||||||
@@ -497,12 +498,6 @@ menus look a bit better. Edit the Makefile and look for "XAW_LIB". The
|
|||||||
scrollbars will remain the same, because Vim has its own, which are already
|
scrollbars will remain the same, because Vim has its own, which are already
|
||||||
3D (in fact, they look more like Motif).
|
3D (in fact, they look more like Motif).
|
||||||
|
|
||||||
*gui-x11-kde*
|
|
||||||
For Vim-KDE, you need at least Qt(>=2.x) and the corresponding kdelibs.
|
|
||||||
To compile, you must use the --with-qt-dir configure flag because QTDIR is not
|
|
||||||
automatically detected yet. Giving KDE's directories to the configure script
|
|
||||||
may also help in some cases.
|
|
||||||
|
|
||||||
*gui-x11-neXtaw*
|
*gui-x11-neXtaw*
|
||||||
The neXtaw version is mostly like Athena, but uses different widgets.
|
The neXtaw version is mostly like Athena, but uses different widgets.
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*hangulin.txt* For Vim version 7.0. Last change: 2006 Apr 02
|
*hangulin.txt* For Vim version 7.1a. Last change: 2006 Apr 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 7.0. Last change: 2006 May 07
|
*help.txt* For Vim version 7.1a. Last change: 2006 Nov 07
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -143,6 +143,7 @@ Special issues ~
|
|||||||
|farsi.txt| Farsi (Persian) editing
|
|farsi.txt| Farsi (Persian) editing
|
||||||
|hebrew.txt| Hebrew language support and editing
|
|hebrew.txt| Hebrew language support and editing
|
||||||
|russian.txt| Russian language support and editing
|
|russian.txt| Russian language support and editing
|
||||||
|
|ada.txt| Ada (the programming language) support
|
||||||
|hangulin.txt| Hangul (Korean) input mode
|
|hangulin.txt| Hangul (Korean) input mode
|
||||||
|rileft.txt| right-to-left editing mode
|
|rileft.txt| right-to-left editing mode
|
||||||
|
|
||||||
@@ -189,10 +190,12 @@ Remarks about specific systems ~
|
|||||||
|os_win32.txt| MS-Windows 95/98/NT
|
|os_win32.txt| MS-Windows 95/98/NT
|
||||||
*standard-plugin-list*
|
*standard-plugin-list*
|
||||||
Standard plugins ~
|
Standard plugins ~
|
||||||
|
|pi_getscript.txt| Downloading latest version of Vim scripts
|
||||||
|pi_gzip.txt| Reading and writing compressed files
|
|pi_gzip.txt| Reading and writing compressed files
|
||||||
|pi_netrw.txt| Reading and writing files over a network
|
|pi_netrw.txt| Reading and writing files over a network
|
||||||
|pi_paren.txt| Highlight matching parens
|
|pi_paren.txt| Highlight matching parens
|
||||||
|pi_tar.txt| Tar file explorer
|
|pi_tar.txt| Tar file explorer
|
||||||
|
|pi_vimball.txt| Create a self-installing Vim script
|
||||||
|pi_zip.txt| Zip archive explorer
|
|pi_zip.txt| Zip archive explorer
|
||||||
|
|
||||||
LOCAL ADDITIONS: *local-additions*
|
LOCAL ADDITIONS: *local-additions*
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_cscop.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*if_cscop.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_mzsch.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*if_mzsch.txt* For Vim version 7.1a. Last change: 2007 May 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sergey Khorev
|
VIM REFERENCE MANUAL by Sergey Khorev
|
||||||
@@ -23,6 +23,8 @@ Dynamic loading added by Sergey Khorev
|
|||||||
For downloading MzScheme and other info:
|
For downloading MzScheme and other info:
|
||||||
http://www.plt-scheme.org/software/mzscheme/
|
http://www.plt-scheme.org/software/mzscheme/
|
||||||
|
|
||||||
|
Note: On FreeBSD you should use the "drscheme" port.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Commands *mzscheme-commands*
|
1. Commands *mzscheme-commands*
|
||||||
|
|
||||||
@@ -262,8 +264,9 @@ In a console window type "path" to see what directories are used.
|
|||||||
|
|
||||||
The names of the DLLs must match the MzScheme version Vim was compiled with.
|
The names of the DLLs must match the MzScheme version Vim was compiled with.
|
||||||
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
||||||
"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for
|
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
||||||
"libmzsch\d\d\d_\d\d\d\.dll\c".
|
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
||||||
|
-DDYNAMIC_MZGC_DLL="something" in the "Compilation" info.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
vim:tw=78:ts=8:sts=4:ft=help:norl:
|
vim:tw=78:ts=8:sts=4:ft=help:norl:
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_ole.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*if_ole.txt* For Vim version 7.1a. Last change: 2006 Apr 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_perl.txt* For Vim version 7.0. Last change: 2006 Mar 06
|
*if_perl.txt* For Vim version 7.1a. Last change: 2006 Mar 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*if_pyth.txt* For Vim version 7.1a. Last change: 2006 Apr 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_ruby.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*if_ruby.txt* For Vim version 7.1a. Last change: 2006 Apr 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Shugo Maeda
|
VIM REFERENCE MANUAL by Shugo Maeda
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*if_sniff.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*if_sniff.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL
|
VIM REFERENCE MANUAL
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 7.0. Last change: 2006 May 05
|
*insert.txt* For Vim version 7.1a. Last change: 2007 Apr 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -219,8 +219,8 @@ CTRL-_ Switch between languages, as follows:
|
|||||||
Please refer to |rileft.txt| for more information about
|
Please refer to |rileft.txt| for more information about
|
||||||
right-to-left mode.
|
right-to-left mode.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Only if compiled with the |+rightleft| feature (which is not
|
Only if compiled with the |+rightleft| feature.
|
||||||
the default).
|
|
||||||
*i_CTRL-^*
|
*i_CTRL-^*
|
||||||
CTRL-^ Toggle the use of typing language characters.
|
CTRL-^ Toggle the use of typing language characters.
|
||||||
When language |:lmap| mappings are defined:
|
When language |:lmap| mappings are defined:
|
||||||
@@ -1156,14 +1156,15 @@ any printable, non-white character:
|
|||||||
|
|
||||||
In all three states these can be used:
|
In all three states these can be used:
|
||||||
CTRL-Y Yes: Accept the currently selected match and stop completion.
|
CTRL-Y Yes: Accept the currently selected match and stop completion.
|
||||||
CTRL-E End completion, go back to what was typed.
|
CTRL-E End completion, go back to what was there before selecting a
|
||||||
|
match (what was typed or longest common string).
|
||||||
<PageUp> Select a match several entries back, but don't insert it.
|
<PageUp> Select a match several entries back, but don't insert it.
|
||||||
<PageDown> Select a match several entries further, but don't insert it.
|
<PageDown> Select a match several entries further, but don't insert it.
|
||||||
<Up> Select the previous match, as if CTRL-P was used, but don't
|
<Up> Select the previous match, as if CTRL-P was used, but don't
|
||||||
insert it.
|
insert it.
|
||||||
<Down> Select the next match, as if CTRL-N was used, but don't
|
<Down> Select the next match, as if CTRL-N was used, but don't
|
||||||
insert it.
|
insert it.
|
||||||
space or <Tab> Stop completion without changing the match and insert the
|
<Space> or <Tab> Stop completion without changing the match and insert the
|
||||||
typed character.
|
typed character.
|
||||||
|
|
||||||
The behavior of the Enter key depends on the state you are in:
|
The behavior of the Enter key depends on the state you are in:
|
||||||
@@ -1210,7 +1211,8 @@ C *ft-c-omni*
|
|||||||
|
|
||||||
Completion of C code requires a tags file. You should use Exuberant ctags,
|
Completion of C code requires a tags file. You should use Exuberant ctags,
|
||||||
because it adds extra information that is needed for completion. You can find
|
because it adds extra information that is needed for completion. You can find
|
||||||
it here: http://ctags.sourceforge.net/
|
it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
|
||||||
|
|
||||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
||||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||||
A compiled .exe for MS-Windows can be found at:
|
A compiled .exe for MS-Windows can be found at:
|
||||||
@@ -1330,9 +1332,9 @@ will be suggested. All other elements are not placed in suggestion list.
|
|||||||
|
|
||||||
PHP *ft-php-omni*
|
PHP *ft-php-omni*
|
||||||
|
|
||||||
Completion of PHP code requires tags file for completion of data from external
|
Completion of PHP code requires a tags file for completion of data from
|
||||||
files. You should use Exuberant ctags version 5.5.4 or newer. You can find it
|
external files and for class aware completion. You should use Exuberant ctags
|
||||||
here: http://ctags.sourceforge.net/
|
version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/
|
||||||
|
|
||||||
Script completes:
|
Script completes:
|
||||||
|
|
||||||
@@ -1390,8 +1392,10 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
|||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Vim will load/evaluate code in order to provide completions. This may
|
- Vim will load/evaluate code in order to provide completions. This may
|
||||||
cause some code execution, which may be a concern.
|
cause some code execution, which may be a concern. This is no longer
|
||||||
- In context 1 above, Vim can parse the entire buffer to add a list of
|
enabled by default, to enable this feature add >
|
||||||
|
let g:rubycomplete_buffer_loading = 1
|
||||||
|
<- In context 1 above, Vim can parse the entire buffer to add a list of
|
||||||
classes to the completion results. This feature is turned off by default,
|
classes to the completion results. This feature is turned off by default,
|
||||||
to enable it add >
|
to enable it add >
|
||||||
let g:rubycomplete_classes_in_global = 1
|
let g:rubycomplete_classes_in_global = 1
|
||||||
@@ -1407,8 +1411,13 @@ Notes:
|
|||||||
|
|
||||||
SYNTAX *ft-syntax-omni*
|
SYNTAX *ft-syntax-omni*
|
||||||
|
|
||||||
This uses the current syntax highlighting for completion. It can be used for
|
Vim has the ability to color syntax highlight nearly 500 languages. Part of
|
||||||
any filetype and provides a minimal language-sensitive completion.
|
this highlighting includes knowing what keywords are part of a language. Many
|
||||||
|
filetypes already have custom completion scripts written for them, the
|
||||||
|
syntaxcomplete plugin provides basic completion for all other filetypes. It
|
||||||
|
does this by populating the omni completion list with the text Vim already
|
||||||
|
knows how to color highlight. It can be used for any filetype and provides a
|
||||||
|
minimal language-sensitive completion.
|
||||||
|
|
||||||
To enable syntax code completion you can run: >
|
To enable syntax code completion you can run: >
|
||||||
setlocal omnifunc=syntaxcomplete#Complete
|
setlocal omnifunc=syntaxcomplete#Complete
|
||||||
@@ -1461,6 +1470,15 @@ groups: >
|
|||||||
You can create as many of these variables as you need, varying only the
|
You can create as many of these variables as you need, varying only the
|
||||||
filetype at the end of the variable name.
|
filetype at the end of the variable name.
|
||||||
|
|
||||||
|
The plugin uses the isKeyword option to determine where word boundaries are
|
||||||
|
for the syntax items. For example, in the Scheme language completion should
|
||||||
|
include the "-", call-with-output-file. Depending on your filetype, this may
|
||||||
|
not provide the words you are expecting. Setting the
|
||||||
|
g:omni_syntax_use_iskeyword option to 0 will force the syntax plugin to break
|
||||||
|
on word characters. This can be controlled adding the following to your
|
||||||
|
vimrc: >
|
||||||
|
let g:omni_syntax_use_iskeyword = 0
|
||||||
|
|
||||||
|
|
||||||
SQL *ft-sql-omni*
|
SQL *ft-sql-omni*
|
||||||
|
|
||||||
@@ -1771,13 +1789,13 @@ NOTE: ":append" and ":insert" don't work properly in between ":if" and
|
|||||||
See |++opt| for the possible values of [++opt].
|
See |++opt| for the possible values of [++opt].
|
||||||
|
|
||||||
*:r!* *:read!*
|
*:r!* *:read!*
|
||||||
:r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
:[range]r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
||||||
the cursor. A temporary file is used to store the
|
the cursor or the specified line. A temporary file is
|
||||||
output of the command which is then read into the
|
used to store the output of the command which is then
|
||||||
buffer. 'shellredir' is used to save the output of
|
read into the buffer. 'shellredir' is used to save
|
||||||
the command, which can be set to include stderr or
|
the output of the command, which can be set to include
|
||||||
not. {cmd} is executed like with ":!{cmd}", any '!'
|
stderr or not. {cmd} is executed like with ":!{cmd}",
|
||||||
is replaced with the previous command |:!|.
|
any '!' is replaced with the previous command |:!|.
|
||||||
|
|
||||||
These commands insert the contents of a file, or the output of a command,
|
These commands insert the contents of a file, or the output of a command,
|
||||||
into the buffer. They can be undone. They cannot be repeated with the "."
|
into the buffer. They can be undone. They cannot be repeated with the "."
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*mbyte.txt* For Vim version 7.1a. Last change: 2006 Aug 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -403,7 +403,8 @@ depends on the system used, no detailed list can be given.
|
|||||||
8bit 2byte MS-Windows: works for all codepages installed on your
|
8bit 2byte MS-Windows: works for all codepages installed on your
|
||||||
system; you can only type 8bit characters;
|
system; you can only type 8bit characters;
|
||||||
Other systems: does NOT work.
|
Other systems: does NOT work.
|
||||||
8bit Unicode Works, but you can only type 8bit characters; in a
|
8bit Unicode Works, but only 8bit characters can be typed directly
|
||||||
|
(others through digraphs, keymaps, etc.); in a
|
||||||
terminal you can only see 8bit characters; the GUI can
|
terminal you can only see 8bit characters; the GUI can
|
||||||
show all characters that the 'guifont' supports.
|
show all characters that the 'guifont' supports.
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*mlang.txt* For Vim version 7.0. Last change: 2004 Feb 24
|
*mlang.txt* For Vim version 7.1a. Last change: 2006 Jul 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -114,7 +114,7 @@ the language of your choice. use "en" to disable translations. >
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
2. Menus *multilang-menus*
|
2. Menus *multilang-menus*
|
||||||
|
|
||||||
See |45.2| for the basics.
|
See |45.2| for the basics, esp. using 'langmenu'.
|
||||||
|
|
||||||
Note that if changes have been made to the menus after the translation was
|
Note that if changes have been made to the menus after the translation was
|
||||||
done, some of the menus may be shown in English. Please try contacting the
|
done, some of the menus may be shown in English. Please try contacting the
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*motion.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*motion.txt* For Vim version 7.1a. Last change: 2006 Dec 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -169,15 +169,15 @@ l or *l*
|
|||||||
|
|
||||||
*0*
|
*0*
|
||||||
0 To the first character of the line. |exclusive|
|
0 To the first character of the line. |exclusive|
|
||||||
motion. When moving up or down, stay in same screen
|
motion.
|
||||||
column (if possible).
|
|
||||||
|
|
||||||
*<Home>* *<kHome>*
|
*<Home>* *<kHome>*
|
||||||
<Home> To the first character of the line. |exclusive|
|
<Home> To the first character of the line. |exclusive|
|
||||||
motion. When moving up or down, stay in same text
|
motion. When moving up or down next, stay in same
|
||||||
column (if possible). Works like "1|", which differs
|
TEXT column (if possible). Most other commands stay
|
||||||
from "0" when the line starts with a <Tab>. {not in
|
in the same SCREEN column. <Home> works like "1|",
|
||||||
Vi}
|
which differs from "0" when the line starts with a
|
||||||
|
<Tab>. {not in Vi}
|
||||||
|
|
||||||
*^*
|
*^*
|
||||||
^ To the first non-blank character of the line.
|
^ To the first non-blank character of the line.
|
||||||
@@ -752,11 +752,11 @@ m[ or m] Set the |'[| or |']| mark. Useful when an operator is
|
|||||||
be omitted.
|
be omitted.
|
||||||
|
|
||||||
*'* *'a* *`* *`a*
|
*'* *'a* *`* *`a*
|
||||||
'{a-z} `{a-z} Jump to the mark {a-z}.
|
'{a-z} `{a-z} Jump to the mark {a-z} in the current buffer.
|
||||||
|
|
||||||
*'A* *'0* *`A* *`0*
|
*'A* *'0* *`A* *`0*
|
||||||
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the correct file (not a motion
|
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
|
||||||
command when in another file). {not in Vi}
|
a motion command when in another file). {not in Vi}
|
||||||
|
|
||||||
*g'* *g'a* *g`* *g`a*
|
*g'* *g'a* *g`* *g`a*
|
||||||
g'{mark} g`{mark}
|
g'{mark} g`{mark}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_390.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*os_390.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Ralf Schandl
|
VIM REFERENCE MANUAL by Ralf Schandl
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_beos.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*os_beos.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_mac.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*os_mac.txt* For Vim version 7.1a. Last change: 2006 Apr 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_msdos.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*os_msdos.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_risc.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*os_risc.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Thomas Leonard
|
VIM REFERENCE MANUAL by Thomas Leonard
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*os_unix.txt* For Vim version 7.0. Last change: 2005 Mar 29
|
*os_unix.txt* For Vim version 7.1a. Last change: 2005 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
406
runtime/doc/pi_getscript.txt
Normal file
406
runtime/doc/pi_getscript.txt
Normal file
@@ -0,0 +1,406 @@
|
|||||||
|
*pi_getscript.txt* For Vim version 7.1a. Last change: 2007 Apr 26
|
||||||
|
>
|
||||||
|
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-2006 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.
|
||||||
|
Use At-Your-Own-Risk.
|
||||||
|
|
||||||
|
Getscript is a plugin that simplifies retrieval of the latest versions of the
|
||||||
|
scripts that you yourself use! Typing |:GLVS| will invoke getscript; it will
|
||||||
|
then use the <GetLatestVimScripts.dat> (see |GetLatestVimScripts_dat|) file to
|
||||||
|
get the latest versions of scripts listed therein from http://vim.sf.net/.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1. Contents *glvs-contents* *glvs* *getscript*
|
||||||
|
*GetLatestVimScripts*
|
||||||
|
|
||||||
|
1. Contents........................................: |glvs-contents|
|
||||||
|
2. GetLatestVimScripts -- Getting Started..........: |glvs-install|
|
||||||
|
3. GetLatestVimScripts Usage.......................: |glvs-usage|
|
||||||
|
4. GetLatestVimScripts Data File...................: |glvs-data|
|
||||||
|
5. GetLatestVimScripts Friendly Plugins............: |glvs-plugins|
|
||||||
|
6. GetLatestVimScripts AutoInstall.................: |glvs-autoinstall|
|
||||||
|
7. GetLatestViMScripts Options.....................: |glvs-options|
|
||||||
|
8. GetLatestVimScripts Algorithm...................: |glvs-alg|
|
||||||
|
9. GetLatestVimScripts History.....................: |glvs-hist|
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
2. GetLatestVimScripts -- Getting Started *getscript-start*
|
||||||
|
*getlatestvimscripts-install*
|
||||||
|
|
||||||
|
VERSION FROM VIM DISTRIBUTION *glvs-dist-install*
|
||||||
|
|
||||||
|
Vim 7.0 does not include the GetLatestVimScripts.dist file which
|
||||||
|
serves as an example and a template. So, you'll need to create
|
||||||
|
your own! See |GetLatestVimScripts_dat|.
|
||||||
|
|
||||||
|
VERSION FROM VIM SF NET *glvs-install*
|
||||||
|
|
||||||
|
NOTE: The last step, that of renaming/moving the GetLatestVimScripts.dist
|
||||||
|
file, is for those who have just downloaded GetLatestVimScripts.tar.bz2 for
|
||||||
|
the first time.
|
||||||
|
|
||||||
|
The GetLatestVimScripts.dist file serves as an example and a template for your
|
||||||
|
own personal list. Feel free to remove all the scripts mentioned within it;
|
||||||
|
the "important" part of it is the first two lines.
|
||||||
|
|
||||||
|
Your computer needs to have wget for GetLatestVimScripts to do its work.
|
||||||
|
|
||||||
|
1. if compressed: gunzip getscript.vba.gz
|
||||||
|
2. Unix:
|
||||||
|
vim getscript.vba
|
||||||
|
:so %
|
||||||
|
:q
|
||||||
|
cd ~/.vim/GetLatest
|
||||||
|
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
|
||||||
|
(edit GetLatestVimScripts.dat to install your own personal
|
||||||
|
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
||||||
|
|
||||||
|
3. Windows:
|
||||||
|
vim getscript.vba
|
||||||
|
:so %
|
||||||
|
:q
|
||||||
|
cd **path-to-vimfiles**/GetLatest
|
||||||
|
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
|
||||||
|
(edit GetLatestVimScripts.dat to install your own personal
|
||||||
|
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. GetLatestVimScripts Usage *glvs-usage* *:GLVS*
|
||||||
|
|
||||||
|
Unless its been defined elsewhere, >
|
||||||
|
:GLVS
|
||||||
|
will invoke GetLatestVimScripts(). If some other plugin has defined that
|
||||||
|
command, then you may type
|
||||||
|
>
|
||||||
|
:GetLatestVimScripts
|
||||||
|
<
|
||||||
|
The script will attempt to update and, if permitted, will automatically
|
||||||
|
install scripts from http://vim.sourceforge.net/. To do so it will peruse a
|
||||||
|
file,
|
||||||
|
>
|
||||||
|
.vim/GetLatest/GetLatestVimScripts.dat (unix)
|
||||||
|
<
|
||||||
|
or >
|
||||||
|
..wherever..\vimfiles\GetLatest\GetLatestVimScripts.dat (windows)
|
||||||
|
(see |glvs-data|), and examine plugins in your [.vim|vimfiles]/plugin
|
||||||
|
directory (see |glvs-plugins|).
|
||||||
|
|
||||||
|
Scripts which have been downloaded will appear in the
|
||||||
|
~/.vim/GetLatest (unix) or ..wherever..\vimfiles\GetLatest (windows)
|
||||||
|
subdirectory. GetLatestVimScripts will attempt to automatically
|
||||||
|
install them if you have the following line in your <.vimrc>: >
|
||||||
|
|
||||||
|
let g:GetLatestVimScripts_allowautoinstall=1
|
||||||
|
|
||||||
|
The <GetLatestVimScripts.dat> file will be automatically be updated to
|
||||||
|
reflect the latest version of script(s) so downloaded.
|
||||||
|
(also see |glvs-options|)
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
4. GetLatestVimScripts Data File *getscript-data* *glvs-data*
|
||||||
|
*:GetLatestVimScripts_dat*
|
||||||
|
The data file <GetLatestVimScripts.dat> must have for its first two lines
|
||||||
|
the following text:
|
||||||
|
>
|
||||||
|
ScriptID SourceID Filename
|
||||||
|
--------------------------
|
||||||
|
<
|
||||||
|
Following those two lines are three columns; the first two are numeric
|
||||||
|
followed by a text column. The GetLatest/GetLatestVimScripts.dist file
|
||||||
|
contains an example of such a data file. Anything following a #... is
|
||||||
|
ignored, so you may embed comments in the file.
|
||||||
|
|
||||||
|
The first number on each line gives the script's ScriptID. When you're about
|
||||||
|
to use a web browser to look at scripts on http://vim.sf.net/, just before you
|
||||||
|
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.
|
||||||
|
|
||||||
|
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
|
||||||
|
serves to indicate "when" a script was uploaded. Setting the SourceID to 1
|
||||||
|
insures that GetLatestVimScripts will assume that the script it has is
|
||||||
|
out-of-date.
|
||||||
|
|
||||||
|
The SourceID is extracted by GetLatestVimScripts from the script's page on
|
||||||
|
vim.sf.net; whenever its greater than the one stored in the
|
||||||
|
GetLatestVimScripts.dat file, the script will be downloaded
|
||||||
|
(see |GetLatestVimScripts_dat|).
|
||||||
|
|
||||||
|
If your script's author has included a special comment line in his/her plugin,
|
||||||
|
the plugin itself will be used by GetLatestVimScripts to build your
|
||||||
|
<GetLatestVimScripts.dat> file, including any dependencies on other scripts it
|
||||||
|
may have. As an example, consider: >
|
||||||
|
|
||||||
|
" GetLatestVimScripts: 884 1 :AutoInstall: AutoAlign.vim
|
||||||
|
|
||||||
|
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
|
||||||
|
<
|
||||||
|
in it an AutoAlign.vim 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!
|
||||||
|
|
||||||
|
*GetLatestVimScripts_dat*
|
||||||
|
As an example of a <GetLatestVimScripts.dat> file:
|
||||||
|
>
|
||||||
|
ScriptID SourceID Filename
|
||||||
|
--------------------------
|
||||||
|
294 1 Align.vim
|
||||||
|
120 2 decho.vim
|
||||||
|
40 3 DrawIt.tar.gz
|
||||||
|
451 4 EasyAccents.vim
|
||||||
|
195 5 engspchk.vim
|
||||||
|
642 6 GetLatestVimScripts.vim
|
||||||
|
489 7 Manpageview.vim
|
||||||
|
<
|
||||||
|
Note: the first two lines are required, but essentially act as comments.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
5. GetLatestVimScripts Friendly Plugins *getscript-plugins* *glvs-plugins*
|
||||||
|
|
||||||
|
If a plugin author includes the following comment anywhere in their plugin,
|
||||||
|
GetLatestVimScripts will find it and use it to automatically build the user's
|
||||||
|
GetLatestVimScripts.dat files:
|
||||||
|
>
|
||||||
|
src_id
|
||||||
|
v
|
||||||
|
" GetLatestVimScripts: ### ### yourscriptname
|
||||||
|
^
|
||||||
|
scriptid
|
||||||
|
<
|
||||||
|
As an author, you should include such a line in to refer to your own script
|
||||||
|
plus any additional lines describing any plugin dependencies it may have.
|
||||||
|
Same format, of course!
|
||||||
|
|
||||||
|
If your command is auto-installable (see |glvs-autoinstall|), and most scripts
|
||||||
|
are, then you may include :AutoInstall: at the start of "yourscriptname".
|
||||||
|
|
||||||
|
GetLatestVimScripts commands for those scripts are then appended, if not
|
||||||
|
already present, to the user's GetLatest/GetLatestVimScripts.dat file. Its 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
|
||||||
|
hard work. GetLatestVimScripts provides a solution for this: put
|
||||||
|
>
|
||||||
|
0 0 yourscriptname
|
||||||
|
<
|
||||||
|
into your <GetLatestVimScripts.dat> file and GetLatestVimScripts will skip
|
||||||
|
examining the "yourscriptname" scripts for those GetLatestVimScripts comment
|
||||||
|
lines. As a result, those lines won't be inadvertently installed into your
|
||||||
|
<GetLatestVimScripts.dat> file and subsequently used to download your own
|
||||||
|
scripts. This is especially important to do if you've included the
|
||||||
|
:AutoInstall: option.
|
||||||
|
|
||||||
|
Be certain to use the same "yourscriptname" in the "0 0 yourscriptname" line
|
||||||
|
as you've used in your GetLatestVimScripts comment!
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
6. GetLatestVimScripts AutoInstall *getscript-autoinstall*
|
||||||
|
*glvs-autoinstall*
|
||||||
|
|
||||||
|
GetLatestVimScripts now supports "AutoInstall". Not all scripts are
|
||||||
|
supportive of auto-install, as they may have special things you need to do to
|
||||||
|
install them (please refer to the script's "install" directions). On the
|
||||||
|
other hand, most scripts will be auto-installable.
|
||||||
|
|
||||||
|
To let GetLatestVimScripts do an autoinstall, the data file's comment field
|
||||||
|
should begin with (surrounding blanks are ignored): >
|
||||||
|
|
||||||
|
:AutoInstall:
|
||||||
|
<
|
||||||
|
Both colons are needed, and it should begin the comment (yourscriptname)
|
||||||
|
field.
|
||||||
|
|
||||||
|
One may prevent any autoinstalling by putting the following line in your
|
||||||
|
<.vimrc>: >
|
||||||
|
|
||||||
|
let g:GetLatestVimScripts_allowautoinstall= 0
|
||||||
|
<
|
||||||
|
With :AutoInstall: enabled, as it is by default, files which end with
|
||||||
|
|
||||||
|
---.tar.bz2 : decompressed & untarred in .vim/ directory
|
||||||
|
---.vba.bz2 : decompressed in .vim/ directory, then vimball handles it
|
||||||
|
---.vim.bz2 : decompressed & moved into .vim/plugin directory
|
||||||
|
---.tar.gz : decompressed & untarred in .vim/ directory
|
||||||
|
---.vba.gz : decompressed in .vim/ directory, then vimball handles it
|
||||||
|
---.vim.gz : decompressed & moved into .vim/plugin directory
|
||||||
|
---.vba : unzipped in .vim/ directory
|
||||||
|
---.vim : moved to .vim/plugin directory
|
||||||
|
---.zip : unzipped in .vim/ directory
|
||||||
|
|
||||||
|
and which merely need to have their components placed by the untar/gunzip or
|
||||||
|
move-to-plugin-directory process should be auto-installable. Vimballs, of
|
||||||
|
course, should always be auto-installable.
|
||||||
|
|
||||||
|
When is a script not auto-installable? Let me give an example:
|
||||||
|
|
||||||
|
.vim/after/syntax/blockhl.vim
|
||||||
|
|
||||||
|
The <blockhl.vim> script provides block highlighting for C/C++ programs; it is
|
||||||
|
available at:
|
||||||
|
|
||||||
|
http://vim.sourceforge.net/scripts/script.php?script_id=104
|
||||||
|
|
||||||
|
Currently, vim's after/syntax only supports by-filetype scripts (in
|
||||||
|
blockhl.vim's case, that's after/syntax/c.vim). Hence, auto-install would
|
||||||
|
possibly overwrite the current user's after/syntax/c.vim file.
|
||||||
|
|
||||||
|
In my own case, I use <aftersyntax.vim> (renamed to after/syntax/c.vim) to
|
||||||
|
allow a after/syntax/c/ directory:
|
||||||
|
|
||||||
|
http://vim.sourceforge.net/scripts/script.php?script_id=1023
|
||||||
|
|
||||||
|
The script allows multiple syntax files to exist separately in the
|
||||||
|
after/syntax/c subdirectory. I can't bundle aftersyntax.vim in and build an
|
||||||
|
appropriate tarball for auto-install because of the potential for the
|
||||||
|
after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
7. GetLatestVimScripts Options *glvs-options*
|
||||||
|
>
|
||||||
|
g:GetLatestVimScripts_wget
|
||||||
|
< default= "wget"
|
||||||
|
This variable holds the name of the command for obtaining
|
||||||
|
scripts.
|
||||||
|
>
|
||||||
|
g:GetLatestVimScripts_options
|
||||||
|
< default= "-q -O"
|
||||||
|
This variable holds the options to be used with the
|
||||||
|
g:GetLatestVimScripts_wget command.
|
||||||
|
>
|
||||||
|
g:getLatestVimScripts_allowautoinstall
|
||||||
|
< default= 1
|
||||||
|
This variable indicates whether GetLatestVimScripts is allowed
|
||||||
|
to attempt to automatically install scripts. Note that it
|
||||||
|
doesn't understand vimballs (yet). Furthermore, the plugin
|
||||||
|
author has to have explicitly indicated that his/her plugin
|
||||||
|
is automatically installable.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
|
||||||
|
|
||||||
|
The Vim sourceforge page dynamically creates a page by keying off of the
|
||||||
|
so-called script-id. Within the webpage of
|
||||||
|
|
||||||
|
http://vim.sourceforge.net/scripts/script.php?script_id=40
|
||||||
|
|
||||||
|
is a line specifying the latest source-id (src_id). The source identifier
|
||||||
|
numbers are always increasing, hence if the src_id is greater than the one
|
||||||
|
recorded for the script in GetLatestVimScripts then its time to download a
|
||||||
|
newer copy of that script.
|
||||||
|
|
||||||
|
GetLatestVimScripts will then download the script and update its internal
|
||||||
|
database of script ids, source ids, and scriptnames.
|
||||||
|
|
||||||
|
The AutoInstall process will:
|
||||||
|
|
||||||
|
Move the file from GetLatest/ to the following directory
|
||||||
|
Unix : $HOME/.vim
|
||||||
|
Windows: $HOME\vimfiles
|
||||||
|
if the downloaded file ends with ".bz2"
|
||||||
|
bunzip2 it
|
||||||
|
else if the downloaded file ends with ".gz"
|
||||||
|
gunzip it
|
||||||
|
if the resulting file ends with ".zip"
|
||||||
|
unzip it
|
||||||
|
else if the resulting file ends with ".tar"
|
||||||
|
tar -oxvf it
|
||||||
|
else if the resulting file ends with ".vim"
|
||||||
|
move it to the plugin subdirectory
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
|
||||||
|
|
||||||
|
v23 Nov 03, 2006 : * ignores comments (#...)
|
||||||
|
* handles vimballs
|
||||||
|
v22 Oct 13, 2006 : * supports automatic use of curl if wget is not
|
||||||
|
available
|
||||||
|
v21 May 01, 2006 : * now takes advantage of autoloading.
|
||||||
|
v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use;
|
||||||
|
unzip needs the -o flag to overwrite.
|
||||||
|
v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong
|
||||||
|
script! Fixed.
|
||||||
|
v18 Mar 21, 2005 : * bugfix to automatic database construction
|
||||||
|
* bugfix - nowrapscan caused an error
|
||||||
|
(tnx to David Green for the fix)
|
||||||
|
Apr 01, 2005 * if shell is bash, "mv" instead of "ren" used in
|
||||||
|
:AutoInstall:s, even though its o/s is windows
|
||||||
|
Apr 01, 2005 * when downloading errors occurred, GLVS was
|
||||||
|
terminating early. It now just goes on to trying
|
||||||
|
the next script (after trying three times to
|
||||||
|
download a script description page)
|
||||||
|
Apr 20, 2005 * bugfix - when a failure to download occurred,
|
||||||
|
GetLatestVimScripts would stop early and claim that
|
||||||
|
everything was current. Fixed.
|
||||||
|
v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which
|
||||||
|
defaults to 1, can be used to prevent all
|
||||||
|
:AutoInstall:
|
||||||
|
v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent
|
||||||
|
* fixed bug with :AutoInstall: use of helptags
|
||||||
|
v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't
|
||||||
|
always preventing downloads (just usually). Fixed.
|
||||||
|
v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than
|
||||||
|
s:dotvim. Fixed.
|
||||||
|
v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid
|
||||||
|
is zero. Useful for script authors; that way their
|
||||||
|
own GetLatestVimScripts activity won't overwrite
|
||||||
|
their scripts.
|
||||||
|
v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that
|
||||||
|
was intended only for testing. Removed, now works.
|
||||||
|
* :AutoInstall: implemented
|
||||||
|
v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin:
|
||||||
|
* :GetLatestVimScripts command
|
||||||
|
* (runtimepath)/GetLatest/GetLatestVimScripts.dat
|
||||||
|
now holds scripts that need updating
|
||||||
|
v10 Apr 19, 2004 : * moved history from script to doc
|
||||||
|
v9 Jan 23, 2004 : windows (win32/win16/win95) will use
|
||||||
|
double quotes ("") whereas other systems will use
|
||||||
|
single quotes ('') around the urls in calls via wget
|
||||||
|
v8 Dec 01, 2003 : makes three tries at downloading
|
||||||
|
v7 Sep 02, 2003 : added error messages if "Click on..." or "src_id="
|
||||||
|
not found in downloaded webpage
|
||||||
|
Uses t_ti, t_te, and rs to make progress visible
|
||||||
|
v6 Aug 06, 2003 : final status messages now display summary of work
|
||||||
|
( "Downloaded someqty scripts" or
|
||||||
|
"Everything was current")
|
||||||
|
Now GetLatestVimScripts is careful about downloading
|
||||||
|
GetLatestVimScripts.vim itself!
|
||||||
|
(goes to <NEW_GetLatestVimScripts.vim>)
|
||||||
|
v5 Aug 04, 2003 : missing an endif near bottom
|
||||||
|
v4 Jun 17, 2003 : redraw! just before each "considering" message
|
||||||
|
v3 May 27, 2003 : Protects downloaded files from errant shell
|
||||||
|
expansions with single quotes: '...'
|
||||||
|
v2 May 14, 2003 : extracts name of item to be obtained from the
|
||||||
|
script file. Uses it instead of comment field
|
||||||
|
for output filename; comment is used in the
|
||||||
|
"considering..." line and is now just a comment!
|
||||||
|
* Fixed a bug: a string-of-numbers is not the
|
||||||
|
same as a number, so I added zero to them
|
||||||
|
and they became numbers. Fixes comparison.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
vim:tw=78:ts=8:ft=help:fdm=marker
|
@@ -1,4 +1,4 @@
|
|||||||
*pi_gzip.txt* For Vim version 7.0. Last change: 2002 Oct 29
|
*pi_gzip.txt* For Vim version 7.1a. Last change: 2002 Oct 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*pi_paren.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*pi_paren.txt* For Vim version 7.1a. Last change: 2006 Jun 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -43,7 +43,7 @@ are:
|
|||||||
- What is visible in the window.
|
- What is visible in the window.
|
||||||
- 100 lines above or below the cursor to avoid a long delay when there are
|
- 100 lines above or below the cursor to avoid a long delay when there are
|
||||||
closed folds.
|
closed folds.
|
||||||
- 'synmaxcolumn' times 2 bytes before or after the cursor to avoid a delay
|
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
|
||||||
in a long line with syntax highlighting.
|
in a long line with syntax highlighting.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*pi_tar.txt* For Vim version 7.0. Last change: 2006 May 02
|
*pi_tar.txt* For Vim version 7.1a. Last change: 2006 Sep 29
|
||||||
|
|
||||||
+====================+
|
+====================+
|
||||||
| Tar File Interface |
|
| Tar File Interface |
|
||||||
@@ -42,6 +42,8 @@ Copyright: The GPL (gnu public license) applies to *tar-copyright*
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. History *tar-history*
|
4. History *tar-history*
|
||||||
|
|
||||||
|
v10 May 02, 2006 * now using "redraw then echo" to show messages, instead
|
||||||
|
of "echo and prompt user"
|
||||||
v9 May 02, 2006 * improved detection of masquerading as tar file
|
v9 May 02, 2006 * improved detection of masquerading as tar file
|
||||||
v8 May 02, 2006 * allows editing of files that merely masquerade as tar
|
v8 May 02, 2006 * allows editing of files that merely masquerade as tar
|
||||||
files
|
files
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*pi_vimball.txt* For Vim version 7.0. Last change: 2006 May 01
|
*pi_vimball.txt* For Vim version 7.1a. Last change: 2007 Jan 03
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
Vimball Archiver
|
Vimball Archiver
|
||||||
@@ -13,10 +13,13 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
|
|||||||
Use At-Your-Own-Risk!
|
Use At-Your-Own-Risk!
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Contents *vimball* *vimball-contents*
|
1. Contents *vba* *vimball* *vimball-contents*
|
||||||
|
|
||||||
1. Contents......................................: |vimball-contents|
|
1. Contents......................................: |vimball-contents|
|
||||||
2. Vimball Manual................................: |vimball-manual|
|
2. Vimball Manual................................: |vimball-manual|
|
||||||
|
MkVimball.....................................: |:MkVimball|
|
||||||
|
UseVimball....................................: |:UseVimball|
|
||||||
|
RmVimball.....................................: |:RmVimball|
|
||||||
3. Vimball History...............................: |vimball-history|
|
3. Vimball History...............................: |vimball-history|
|
||||||
|
|
||||||
|
|
||||||
@@ -24,19 +27,26 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
|
|||||||
2. Vimball Manual *vimball-manual*
|
2. Vimball Manual *vimball-manual*
|
||||||
|
|
||||||
*:MkVimball*
|
*:MkVimball*
|
||||||
:[range]MkVimball[!] filename
|
:[range]MkVimball[!] filename [path]
|
||||||
|
|
||||||
This command takes lines holding a path to files to be included in
|
The range is composed of lines holding paths to files to be included
|
||||||
your vimball; as an example: >
|
in your new vimball. As an example: >
|
||||||
plugin/something.vim
|
plugin/something.vim
|
||||||
doc/something.txt
|
doc/something.txt
|
||||||
< using MkVimball on this range will create a file called "filename.vba"
|
< using >
|
||||||
which can be used by Vimball.vim to re-create these files. If the
|
:[range]MkVimball filename
|
||||||
|
<
|
||||||
|
on this range of lines will create a file called "filename.vba" which
|
||||||
|
can be used by Vimball.vim to re-create these files. If the
|
||||||
"filename.vba" file already exists, then MkVimball will issue a
|
"filename.vba" file already exists, then MkVimball will issue a
|
||||||
warning and not create the file. Note that these paths are relative
|
warning and not create the file. Note that these paths are relative
|
||||||
to your .vim (vimfiles) directory, and the files should be in that
|
to your .vim (vimfiles) directory, and the files should be in that
|
||||||
directory. The vimball plugin uses the first |'runtimepath'|directory
|
directory. The vimball plugin normally uses the first |'runtimepath'|
|
||||||
that exists as a prefix; don't use absolute paths.
|
directory that exists as a prefix; don't use absolute paths, unless
|
||||||
|
the user has specified such a path.
|
||||||
|
*g:vimball_home*
|
||||||
|
You may override the use of the |'runtimepath'| by specifying a
|
||||||
|
variable, g:vimball_home.
|
||||||
|
|
||||||
If you use the exclamation point (!), then MkVimball will create the
|
If you use the exclamation point (!), then MkVimball will create the
|
||||||
"filename.vba" file, overwriting it if it already exists. This
|
"filename.vba" file, overwriting it if it already exists. This
|
||||||
@@ -52,15 +62,50 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
|
|||||||
file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
|
file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
|
||||||
line.
|
line.
|
||||||
|
|
||||||
:VimballList *vimball-vimballlist*
|
:VimballList *:VimballList*
|
||||||
|
|
||||||
This command will tell Vimball to list the files in the archive, along
|
This command will tell Vimball to list the files in the archive, along
|
||||||
with their lengths in lines.
|
with their lengths in lines.
|
||||||
|
|
||||||
|
:UseVimball [path] *:UseVimball*
|
||||||
|
|
||||||
|
This command is contained within the vimball itself; it invokes the
|
||||||
|
vimball#Vimball() routine which is responsible for unpacking the
|
||||||
|
vimball. One may choose to execute it by hand instead of sourcing
|
||||||
|
the vimball; one may also choose to specify a path for the
|
||||||
|
installation, thereby overriding the automatic choice of the first
|
||||||
|
existing directory on the |'runtimepath'|.
|
||||||
|
|
||||||
|
:RmVimball vimballfile [path] *:RmVimball*
|
||||||
|
|
||||||
|
This command removes all files generated by the specified vimball
|
||||||
|
(but not any directories it may have made). One may choose a path
|
||||||
|
for de-installation, too (see |'runtimepath'|); otherwise, the
|
||||||
|
default is the first existing directory on the |'runtimepath'|.
|
||||||
|
To implement this, a file (.VimballRecord) is made in that directory
|
||||||
|
containing a record of what files need to be removed for all vimballs
|
||||||
|
used thus far.
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. Vimball History *vimball-history* {{{1
|
3. Vimball History *vimball-history* {{{1
|
||||||
|
|
||||||
|
21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
|
||||||
|
handling problem and it now changes \s to /s
|
||||||
|
20 : Nov 20, 2006 * substitute() calls have all had the 'e' flag
|
||||||
|
removed.
|
||||||
|
18 : Aug 01, 2006 * vimballs now use folding to easily display their
|
||||||
|
contents.
|
||||||
|
* if a user has AsNeeded/somefile, then vimball
|
||||||
|
will extract plugin/somefile to the AsNeeded/
|
||||||
|
directory
|
||||||
|
17 : Jun 28, 2006 * changes all \s to /s internally for Windows
|
||||||
|
16 : Jun 15, 2006 * A. Mechylynk's idea to allow users to specify
|
||||||
|
installation root paths implemented for
|
||||||
|
UseVimball, MkVimball, and RmVimball.
|
||||||
|
* RmVimball implemented
|
||||||
|
15 : Jun 13, 2006 * bugfix
|
||||||
|
14 : May 26, 2006 * bugfixes
|
||||||
13 : May 01, 2006 * exists("&acd") used to determine if the acd
|
13 : May 01, 2006 * exists("&acd") used to determine if the acd
|
||||||
option exists
|
option exists
|
||||||
12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
|
12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*pi_zip.txt* For Vim version 7.0. Last change: 2006 May 01
|
*pi_zip.txt* For Vim version 7.1a. Last change: 2006 Sep 29
|
||||||
|
|
||||||
+====================+
|
+====================+
|
||||||
| Zip File Interface |
|
| Zip File Interface |
|
||||||
@@ -31,8 +31,18 @@ Copyright: Copyright (C) 2005,2006 Charles E Campbell, Jr {{{1 *zip-copyright*
|
|||||||
also write to the file. Currently, one may not make a new file in
|
also write to the file. Currently, one may not make a new file in
|
||||||
zip archives via the plugin.
|
zip archives via the plugin.
|
||||||
|
|
||||||
|
The zip program supports one option: >
|
||||||
|
g:zip_shq
|
||||||
|
< which by default is a single quote under Unix (') and a double quote
|
||||||
|
under Windows ("). If you'd rather have no quotes, simply set
|
||||||
|
g:zip_shq to the empty string (let g:zip_shq= "") in your <.vimrc>.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. History *zip-history*
|
3. History *zip-history*
|
||||||
|
v10 May 02, 2006 * now using "redraw then echo" to show messages, instead
|
||||||
|
of "echo and prompt user"
|
||||||
|
* g:zip_shq provided to allow for quoting control for the
|
||||||
|
command being passed via :r! ... commands.
|
||||||
v8 Apr 10, 2006 * Bram Moolenaar reported that he received an error message
|
v8 Apr 10, 2006 * Bram Moolenaar reported that he received an error message
|
||||||
due to "Pattern not found: ^.*\%0c"; this was caused by
|
due to "Pattern not found: ^.*\%0c"; this was caused by
|
||||||
stridx finding a Name... at the beginning of the line;
|
stridx finding a Name... at the beginning of the line;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*print.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*print.txt* For Vim version 7.1a. Last change: 2007 Apr 22
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -427,7 +427,7 @@ There are currently a number of limitations with PostScript printing:
|
|||||||
*E618* *E619*
|
*E618* *E619*
|
||||||
To use your own print character encoding when printing 8-bit character data
|
To use your own print character encoding when printing 8-bit character data
|
||||||
you need to define your own PostScript font encoding vector. Details on how
|
you need to define your own PostScript font encoding vector. Details on how
|
||||||
to to define a font encoding vector is beyond the scope of this help file, but
|
to define a font encoding vector is beyond the scope of this help file, but
|
||||||
you can find details in the PostScript Language Reference Manual, 3rd Edition,
|
you can find details in the PostScript Language Reference Manual, 3rd Edition,
|
||||||
published by Addison-Wesley and available in PDF form at
|
published by Addison-Wesley and available in PDF form at
|
||||||
http://www.adobe.com/. The following describes what you need to do for VIM to
|
http://www.adobe.com/. The following describes what you need to do for VIM to
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*quickref.txt* For Vim version 7.1a. Last change: 2006 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -783,7 +783,8 @@ Short explanation of each option: *option-list*
|
|||||||
'number' 'nu' print the line number in front of each line
|
'number' 'nu' print the line number in front of each line
|
||||||
'numberwidth' 'nuw' number of columns used for the line number
|
'numberwidth' 'nuw' number of columns used for the line number
|
||||||
'omnifunc' 'ofu' function for filetype-specific completion
|
'omnifunc' 'ofu' function for filetype-specific completion
|
||||||
'operatorfunc' 'opfunc' funtion to be called for |g@| operator
|
'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' operating system-specific filetype information
|
||||||
'paragraphs' 'para' nroff macros that separate paragraphs
|
'paragraphs' 'para' nroff macros that separate paragraphs
|
||||||
'paste' allow pasting text
|
'paste' allow pasting text
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*recover.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*recover.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*rileft.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*rileft.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Avner Lottem
|
VIM REFERENCE MANUAL by Avner Lottem
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*russian.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*russian.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Vassily Ragosin
|
VIM REFERENCE MANUAL by Vassily Ragosin
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*sign.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*sign.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*sponsor.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*sponsor.txt* For Vim version 7.1a. Last change: 2007 Jan 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -59,7 +59,7 @@ But only if you enable this on your account page.
|
|||||||
HOW TO SEND MONEY *send-money*
|
HOW TO SEND MONEY *send-money*
|
||||||
|
|
||||||
Credit card Through PayPal, see the PayPal site for information:
|
Credit card Through PayPal, see the PayPal site for information:
|
||||||
https://www.paypal.com
|
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
|
||||||
The e-mail address for sending sponsorship money is:
|
The e-mail address for sending sponsorship money is:
|
||||||
donate@vim.org
|
donate@vim.org
|
||||||
The e-mail address for Vim registration is:
|
The e-mail address for Vim registration is:
|
||||||
|
236
runtime/doc/tags
236
runtime/doc/tags
@@ -253,6 +253,26 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
'gfw' options.txt /*'gfw'*
|
'gfw' options.txt /*'gfw'*
|
||||||
'ghr' options.txt /*'ghr'*
|
'ghr' options.txt /*'ghr'*
|
||||||
'go' options.txt /*'go'*
|
'go' options.txt /*'go'*
|
||||||
|
'go-A' options.txt /*'go-A'*
|
||||||
|
'go-F' options.txt /*'go-F'*
|
||||||
|
'go-L' options.txt /*'go-L'*
|
||||||
|
'go-M' options.txt /*'go-M'*
|
||||||
|
'go-R' options.txt /*'go-R'*
|
||||||
|
'go-T' options.txt /*'go-T'*
|
||||||
|
'go-a' options.txt /*'go-a'*
|
||||||
|
'go-b' options.txt /*'go-b'*
|
||||||
|
'go-c' options.txt /*'go-c'*
|
||||||
|
'go-e' options.txt /*'go-e'*
|
||||||
|
'go-f' options.txt /*'go-f'*
|
||||||
|
'go-g' options.txt /*'go-g'*
|
||||||
|
'go-h' options.txt /*'go-h'*
|
||||||
|
'go-i' options.txt /*'go-i'*
|
||||||
|
'go-l' options.txt /*'go-l'*
|
||||||
|
'go-m' options.txt /*'go-m'*
|
||||||
|
'go-p' options.txt /*'go-p'*
|
||||||
|
'go-r' options.txt /*'go-r'*
|
||||||
|
'go-t' options.txt /*'go-t'*
|
||||||
|
'go-v' options.txt /*'go-v'*
|
||||||
'gp' options.txt /*'gp'*
|
'gp' options.txt /*'gp'*
|
||||||
'gr' vi_diff.txt /*'gr'*
|
'gr' vi_diff.txt /*'gr'*
|
||||||
'graphic' vi_diff.txt /*'graphic'*
|
'graphic' vi_diff.txt /*'graphic'*
|
||||||
@@ -528,6 +548,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
'nomousehide' options.txt /*'nomousehide'*
|
'nomousehide' options.txt /*'nomousehide'*
|
||||||
'nonu' options.txt /*'nonu'*
|
'nonu' options.txt /*'nonu'*
|
||||||
'nonumber' options.txt /*'nonumber'*
|
'nonumber' options.txt /*'nonumber'*
|
||||||
|
'noodev' options.txt /*'noodev'*
|
||||||
|
'noopendevice' options.txt /*'noopendevice'*
|
||||||
'nopaste' options.txt /*'nopaste'*
|
'nopaste' options.txt /*'nopaste'*
|
||||||
'nopi' options.txt /*'nopi'*
|
'nopi' options.txt /*'nopi'*
|
||||||
'nopreserveindent' options.txt /*'nopreserveindent'*
|
'nopreserveindent' options.txt /*'nopreserveindent'*
|
||||||
@@ -629,11 +651,13 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
'number' options.txt /*'number'*
|
'number' options.txt /*'number'*
|
||||||
'numberwidth' options.txt /*'numberwidth'*
|
'numberwidth' options.txt /*'numberwidth'*
|
||||||
'nuw' options.txt /*'nuw'*
|
'nuw' options.txt /*'nuw'*
|
||||||
|
'odev' options.txt /*'odev'*
|
||||||
'oft' options.txt /*'oft'*
|
'oft' options.txt /*'oft'*
|
||||||
'ofu' options.txt /*'ofu'*
|
'ofu' options.txt /*'ofu'*
|
||||||
'omnifunc' options.txt /*'omnifunc'*
|
'omnifunc' options.txt /*'omnifunc'*
|
||||||
'op' vi_diff.txt /*'op'*
|
'op' vi_diff.txt /*'op'*
|
||||||
'open' vi_diff.txt /*'open'*
|
'open' vi_diff.txt /*'open'*
|
||||||
|
'opendevice' options.txt /*'opendevice'*
|
||||||
'operatorfunc' options.txt /*'operatorfunc'*
|
'operatorfunc' options.txt /*'operatorfunc'*
|
||||||
'opfunc' options.txt /*'opfunc'*
|
'opfunc' options.txt /*'opfunc'*
|
||||||
'optimize' vi_diff.txt /*'optimize'*
|
'optimize' vi_diff.txt /*'optimize'*
|
||||||
@@ -1283,6 +1307,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
-xrm gui_x11.txt /*-xrm*
|
-xrm gui_x11.txt /*-xrm*
|
||||||
-y starting.txt /*-y*
|
-y starting.txt /*-y*
|
||||||
. repeat.txt /*.*
|
. repeat.txt /*.*
|
||||||
|
... eval.txt /*...*
|
||||||
.Xdefaults gui_x11.txt /*.Xdefaults*
|
.Xdefaults gui_x11.txt /*.Xdefaults*
|
||||||
.aff spell.txt /*.aff*
|
.aff spell.txt /*.aff*
|
||||||
.dic spell.txt /*.dic*
|
.dic spell.txt /*.dic*
|
||||||
@@ -1296,6 +1321,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
/<CR> pattern.txt /*\/<CR>*
|
/<CR> pattern.txt /*\/<CR>*
|
||||||
/[[. pattern.txt /*\/[[.*
|
/[[. pattern.txt /*\/[[.*
|
||||||
/[[= pattern.txt /*\/[[=*
|
/[[= pattern.txt /*\/[[=*
|
||||||
|
/[\n] pattern.txt /*\/[\\n]*
|
||||||
/[] pattern.txt /*\/[]*
|
/[] pattern.txt /*\/[]*
|
||||||
/\ pattern.txt /*\/\\*
|
/\ pattern.txt /*\/\\*
|
||||||
/\$ pattern.txt /*\/\\$*
|
/\$ pattern.txt /*\/\\$*
|
||||||
@@ -1672,6 +1698,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:!cmd various.txt /*:!cmd*
|
:!cmd various.txt /*:!cmd*
|
||||||
:!start os_win32.txt /*:!start*
|
:!start os_win32.txt /*:!start*
|
||||||
:# various.txt /*:#*
|
:# various.txt /*:#*
|
||||||
|
:#! various.txt /*:#!*
|
||||||
:$ cmdline.txt /*:$*
|
:$ cmdline.txt /*:$*
|
||||||
:% cmdline.txt /*:%*
|
:% cmdline.txt /*:%*
|
||||||
:& change.txt /*:&*
|
:& change.txt /*:&*
|
||||||
@@ -1707,8 +1734,20 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:@ repeat.txt /*:@*
|
:@ repeat.txt /*:@*
|
||||||
:@: repeat.txt /*:@:*
|
:@: repeat.txt /*:@:*
|
||||||
:@@ repeat.txt /*:@@*
|
:@@ repeat.txt /*:@@*
|
||||||
|
:AdaLines ada.txt /*:AdaLines*
|
||||||
|
:AdaRainbow ada.txt /*:AdaRainbow*
|
||||||
|
:AdaSpaces ada.txt /*:AdaSpaces*
|
||||||
|
:AdaTagDir ada.txt /*:AdaTagDir*
|
||||||
|
:AdaTagFile ada.txt /*:AdaTagFile*
|
||||||
|
:AdaTypes ada.txt /*:AdaTypes*
|
||||||
:CompilerSet usr_41.txt /*:CompilerSet*
|
:CompilerSet usr_41.txt /*:CompilerSet*
|
||||||
|
:DiffOrig diff.txt /*:DiffOrig*
|
||||||
:Explore pi_netrw.txt /*:Explore*
|
:Explore pi_netrw.txt /*:Explore*
|
||||||
|
:GLVS pi_getscript.txt /*:GLVS*
|
||||||
|
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
||||||
|
:GnatFind ada.txt /*:GnatFind*
|
||||||
|
:GnatPretty ada.txt /*:GnatPretty*
|
||||||
|
:GnatTags ada.txt /*:GnatTags*
|
||||||
:Hexplore pi_netrw.txt /*:Hexplore*
|
:Hexplore pi_netrw.txt /*:Hexplore*
|
||||||
:Man filetype.txt /*:Man*
|
:Man filetype.txt /*:Man*
|
||||||
:MkVimball pi_vimball.txt /*:MkVimball*
|
:MkVimball pi_vimball.txt /*:MkVimball*
|
||||||
@@ -1718,9 +1757,13 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:P various.txt /*:P*
|
:P various.txt /*:P*
|
||||||
:Pexplore pi_netrw.txt /*:Pexplore*
|
:Pexplore pi_netrw.txt /*:Pexplore*
|
||||||
:Print various.txt /*:Print*
|
:Print various.txt /*:Print*
|
||||||
|
:RmVimball pi_vimball.txt /*:RmVimball*
|
||||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||||
:TOhtml syntax.txt /*:TOhtml*
|
:TOhtml syntax.txt /*:TOhtml*
|
||||||
|
:Texplore pi_netrw.txt /*:Texplore*
|
||||||
|
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||||
|
:VimballList pi_vimball.txt /*:VimballList*
|
||||||
:X editing.txt /*:X*
|
:X editing.txt /*:X*
|
||||||
:XMLent insert.txt /*:XMLent*
|
:XMLent insert.txt /*:XMLent*
|
||||||
:XMLns insert.txt /*:XMLns*
|
:XMLns insert.txt /*:XMLns*
|
||||||
@@ -1906,9 +1949,17 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:comc map.txt /*:comc*
|
:comc map.txt /*:comc*
|
||||||
:comclear map.txt /*:comclear*
|
:comclear map.txt /*:comclear*
|
||||||
:command map.txt /*:command*
|
:command map.txt /*:command*
|
||||||
|
:command-bang map.txt /*:command-bang*
|
||||||
|
:command-bar map.txt /*:command-bar*
|
||||||
|
:command-buffer map.txt /*:command-buffer*
|
||||||
|
:command-complete map.txt /*:command-complete*
|
||||||
:command-completion map.txt /*:command-completion*
|
:command-completion map.txt /*:command-completion*
|
||||||
:command-completion-custom map.txt /*:command-completion-custom*
|
:command-completion-custom map.txt /*:command-completion-custom*
|
||||||
:command-completion-customlist map.txt /*:command-completion-customlist*
|
:command-completion-customlist map.txt /*:command-completion-customlist*
|
||||||
|
:command-count map.txt /*:command-count*
|
||||||
|
:command-nargs map.txt /*:command-nargs*
|
||||||
|
:command-range map.txt /*:command-range*
|
||||||
|
:command-register map.txt /*:command-register*
|
||||||
:command-verbose map.txt /*:command-verbose*
|
:command-verbose map.txt /*:command-verbose*
|
||||||
:comment eval.txt /*:comment*
|
:comment eval.txt /*:comment*
|
||||||
:comp quickfix.txt /*:comp*
|
:comp quickfix.txt /*:comp*
|
||||||
@@ -1992,6 +2043,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:earlier undo.txt /*:earlier*
|
:earlier undo.txt /*:earlier*
|
||||||
:ec eval.txt /*:ec*
|
:ec eval.txt /*:ec*
|
||||||
:echo eval.txt /*:echo*
|
:echo eval.txt /*:echo*
|
||||||
|
:echo-redraw eval.txt /*:echo-redraw*
|
||||||
:echoe eval.txt /*:echoe*
|
:echoe eval.txt /*:echoe*
|
||||||
:echoerr eval.txt /*:echoerr*
|
:echoerr eval.txt /*:echoerr*
|
||||||
:echoh eval.txt /*:echoh*
|
:echoh eval.txt /*:echoh*
|
||||||
@@ -2186,12 +2238,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:let eval.txt /*:let*
|
:let eval.txt /*:let*
|
||||||
:let+= eval.txt /*:let+=*
|
:let+= eval.txt /*:let+=*
|
||||||
:let-$ eval.txt /*:let-$*
|
:let-$ eval.txt /*:let-$*
|
||||||
|
:let-& eval.txt /*:let-&*
|
||||||
:let-= eval.txt /*:let-=*
|
:let-= eval.txt /*:let-=*
|
||||||
:let-@ eval.txt /*:let-@*
|
:let-@ eval.txt /*:let-@*
|
||||||
:let-environment eval.txt /*:let-environment*
|
:let-environment eval.txt /*:let-environment*
|
||||||
:let-option eval.txt /*:let-option*
|
:let-option eval.txt /*:let-option*
|
||||||
:let-register eval.txt /*:let-register*
|
:let-register eval.txt /*:let-register*
|
||||||
:let-star eval.txt /*:let-star*
|
|
||||||
:let-unpack eval.txt /*:let-unpack*
|
:let-unpack eval.txt /*:let-unpack*
|
||||||
:let.= eval.txt /*:let.=*
|
:let.= eval.txt /*:let.=*
|
||||||
:lex quickfix.txt /*:lex*
|
:lex quickfix.txt /*:lex*
|
||||||
@@ -2708,6 +2760,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:syn-sync-second syntax.txt /*:syn-sync-second*
|
:syn-sync-second syntax.txt /*:syn-sync-second*
|
||||||
:syn-sync-third syntax.txt /*:syn-sync-third*
|
:syn-sync-third syntax.txt /*:syn-sync-third*
|
||||||
:syn-transparent syntax.txt /*:syn-transparent*
|
:syn-transparent syntax.txt /*:syn-transparent*
|
||||||
|
:sync scroll.txt /*:sync*
|
||||||
:syncbind scroll.txt /*:syncbind*
|
:syncbind scroll.txt /*:syncbind*
|
||||||
:syntax syntax.txt /*:syntax*
|
:syntax syntax.txt /*:syntax*
|
||||||
:syntax-enable syntax.txt /*:syntax-enable*
|
:syntax-enable syntax.txt /*:syntax-enable*
|
||||||
@@ -3027,6 +3080,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
<cfile> cmdline.txt /*<cfile>*
|
<cfile> cmdline.txt /*<cfile>*
|
||||||
<character> intro.txt /*<character>*
|
<character> intro.txt /*<character>*
|
||||||
<count> map.txt /*<count>*
|
<count> map.txt /*<count>*
|
||||||
|
<f-args> map.txt /*<f-args>*
|
||||||
<k0> term.txt /*<k0>*
|
<k0> term.txt /*<k0>*
|
||||||
<k1> term.txt /*<k1>*
|
<k1> term.txt /*<k1>*
|
||||||
<k2> term.txt /*<k2>*
|
<k2> term.txt /*<k2>*
|
||||||
@@ -3086,7 +3140,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
@ repeat.txt /*@*
|
@ repeat.txt /*@*
|
||||||
@/ change.txt /*@\/*
|
@/ change.txt /*@\/*
|
||||||
@: repeat.txt /*@:*
|
@: repeat.txt /*@:*
|
||||||
|
@= change.txt /*@=*
|
||||||
@@ repeat.txt /*@@*
|
@@ repeat.txt /*@@*
|
||||||
|
@r eval.txt /*@r*
|
||||||
A insert.txt /*A*
|
A insert.txt /*A*
|
||||||
ACL editing.txt /*ACL*
|
ACL editing.txt /*ACL*
|
||||||
ATTENTION usr_11.txt /*ATTENTION*
|
ATTENTION usr_11.txt /*ATTENTION*
|
||||||
@@ -4017,6 +4073,11 @@ E789 syntax.txt /*E789*
|
|||||||
E79 message.txt /*E79*
|
E79 message.txt /*E79*
|
||||||
E790 undo.txt /*E790*
|
E790 undo.txt /*E790*
|
||||||
E791 mbyte.txt /*E791*
|
E791 mbyte.txt /*E791*
|
||||||
|
E792 gui.txt /*E792*
|
||||||
|
E793 diff.txt /*E793*
|
||||||
|
E794 eval.txt /*E794*
|
||||||
|
E795 eval.txt /*E795*
|
||||||
|
E796 editing.txt /*E796*
|
||||||
E80 message.txt /*E80*
|
E80 message.txt /*E80*
|
||||||
E800 arabic.txt /*E800*
|
E800 arabic.txt /*E800*
|
||||||
E81 map.txt /*E81*
|
E81 map.txt /*E81*
|
||||||
@@ -4079,7 +4140,10 @@ GTK+ gui_x11.txt /*GTK+*
|
|||||||
GUI gui.txt /*GUI*
|
GUI gui.txt /*GUI*
|
||||||
GUI-X11 gui_x11.txt /*GUI-X11*
|
GUI-X11 gui_x11.txt /*GUI-X11*
|
||||||
GUIEnter autocmd.txt /*GUIEnter*
|
GUIEnter autocmd.txt /*GUIEnter*
|
||||||
GetLatestVimScripts-copyright getscript.txt /*GetLatestVimScripts-copyright*
|
GUIFailed autocmd.txt /*GUIFailed*
|
||||||
|
GetLatestVimScripts pi_getscript.txt /*GetLatestVimScripts*
|
||||||
|
GetLatestVimScripts-copyright pi_getscript.txt /*GetLatestVimScripts-copyright*
|
||||||
|
GetLatestVimScripts_dat pi_getscript.txt /*GetLatestVimScripts_dat*
|
||||||
Gnome gui_x11.txt /*Gnome*
|
Gnome gui_x11.txt /*Gnome*
|
||||||
H motion.txt /*H*
|
H motion.txt /*H*
|
||||||
I insert.txt /*I*
|
I insert.txt /*I*
|
||||||
@@ -4129,6 +4193,7 @@ NetBSD-backspace options.txt /*NetBSD-backspace*
|
|||||||
Normal intro.txt /*Normal*
|
Normal intro.txt /*Normal*
|
||||||
Normal-mode intro.txt /*Normal-mode*
|
Normal-mode intro.txt /*Normal-mode*
|
||||||
Nread pi_netrw.txt /*Nread*
|
Nread pi_netrw.txt /*Nread*
|
||||||
|
Nsource pi_netrw.txt /*Nsource*
|
||||||
Nvi intro.txt /*Nvi*
|
Nvi intro.txt /*Nvi*
|
||||||
Nwrite pi_netrw.txt /*Nwrite*
|
Nwrite pi_netrw.txt /*Nwrite*
|
||||||
O insert.txt /*O*
|
O insert.txt /*O*
|
||||||
@@ -4222,6 +4287,7 @@ SessionLoad-variable starting.txt /*SessionLoad-variable*
|
|||||||
SessionLoadPost autocmd.txt /*SessionLoadPost*
|
SessionLoadPost autocmd.txt /*SessionLoadPost*
|
||||||
ShellCmdPost autocmd.txt /*ShellCmdPost*
|
ShellCmdPost autocmd.txt /*ShellCmdPost*
|
||||||
ShellFilterPost autocmd.txt /*ShellFilterPost*
|
ShellFilterPost autocmd.txt /*ShellFilterPost*
|
||||||
|
SourceCmd autocmd.txt /*SourceCmd*
|
||||||
SourcePre autocmd.txt /*SourcePre*
|
SourcePre autocmd.txt /*SourcePre*
|
||||||
SpellFileMissing autocmd.txt /*SpellFileMissing*
|
SpellFileMissing autocmd.txt /*SpellFileMissing*
|
||||||
StdinReadPost autocmd.txt /*StdinReadPost*
|
StdinReadPost autocmd.txt /*StdinReadPost*
|
||||||
@@ -4418,7 +4484,17 @@ abandon editing.txt /*abandon*
|
|||||||
abbreviations map.txt /*abbreviations*
|
abbreviations map.txt /*abbreviations*
|
||||||
abel.vim syntax.txt /*abel.vim*
|
abel.vim syntax.txt /*abel.vim*
|
||||||
active-buffer windows.txt /*active-buffer*
|
active-buffer windows.txt /*active-buffer*
|
||||||
ada.vim syntax.txt /*ada.vim*
|
ada#Create_Tags() ada.txt /*ada#Create_Tags()*
|
||||||
|
ada#Jump_Tag() ada.txt /*ada#Jump_Tag()*
|
||||||
|
ada#Listtags() ada.txt /*ada#Listtags()*
|
||||||
|
ada#Switch_Syntax_Option() ada.txt /*ada#Switch_Syntax_Option()*
|
||||||
|
ada#Word() ada.txt /*ada#Word()*
|
||||||
|
ada-compiler ada.txt /*ada-compiler*
|
||||||
|
ada-ctags ada.txt /*ada-ctags*
|
||||||
|
ada-extra-plugins ada.txt /*ada-extra-plugins*
|
||||||
|
ada-reference ada.txt /*ada-reference*
|
||||||
|
ada.txt ada.txt /*ada.txt*
|
||||||
|
ada.vim ada.txt /*ada.vim*
|
||||||
add() eval.txt /*add()*
|
add() eval.txt /*add()*
|
||||||
add-filetype-plugin usr_05.txt /*add-filetype-plugin*
|
add-filetype-plugin usr_05.txt /*add-filetype-plugin*
|
||||||
add-global-plugin usr_05.txt /*add-global-plugin*
|
add-global-plugin usr_05.txt /*add-global-plugin*
|
||||||
@@ -4437,6 +4513,7 @@ added-6.1 version6.txt /*added-6.1*
|
|||||||
added-6.2 version6.txt /*added-6.2*
|
added-6.2 version6.txt /*added-6.2*
|
||||||
added-6.3 version6.txt /*added-6.3*
|
added-6.3 version6.txt /*added-6.3*
|
||||||
added-6.4 version6.txt /*added-6.4*
|
added-6.4 version6.txt /*added-6.4*
|
||||||
|
added-7.1 version7.txt /*added-7.1*
|
||||||
added-BeOS version5.txt /*added-BeOS*
|
added-BeOS version5.txt /*added-BeOS*
|
||||||
added-Mac version5.txt /*added-Mac*
|
added-Mac version5.txt /*added-Mac*
|
||||||
added-VMS version5.txt /*added-VMS*
|
added-VMS version5.txt /*added-VMS*
|
||||||
@@ -4650,6 +4727,7 @@ c_CTRL-Y cmdline.txt /*c_CTRL-Y*
|
|||||||
c_CTRL-\_CTRL-G intro.txt /*c_CTRL-\\_CTRL-G*
|
c_CTRL-\_CTRL-G intro.txt /*c_CTRL-\\_CTRL-G*
|
||||||
c_CTRL-\_CTRL-N intro.txt /*c_CTRL-\\_CTRL-N*
|
c_CTRL-\_CTRL-N intro.txt /*c_CTRL-\\_CTRL-N*
|
||||||
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
|
||||||
|
c_CTRL-] cmdline.txt /*c_CTRL-]*
|
||||||
c_CTRL-^ cmdline.txt /*c_CTRL-^*
|
c_CTRL-^ cmdline.txt /*c_CTRL-^*
|
||||||
c_CTRL-_ cmdline.txt /*c_CTRL-_*
|
c_CTRL-_ cmdline.txt /*c_CTRL-_*
|
||||||
c_digraph cmdline.txt /*c_digraph*
|
c_digraph cmdline.txt /*c_digraph*
|
||||||
@@ -4679,6 +4757,7 @@ changed-6.1 version6.txt /*changed-6.1*
|
|||||||
changed-6.2 version6.txt /*changed-6.2*
|
changed-6.2 version6.txt /*changed-6.2*
|
||||||
changed-6.3 version6.txt /*changed-6.3*
|
changed-6.3 version6.txt /*changed-6.3*
|
||||||
changed-6.4 version6.txt /*changed-6.4*
|
changed-6.4 version6.txt /*changed-6.4*
|
||||||
|
changed-7.1 version7.txt /*changed-7.1*
|
||||||
changelist motion.txt /*changelist*
|
changelist motion.txt /*changelist*
|
||||||
changelog.vim syntax.txt /*changelog.vim*
|
changelog.vim syntax.txt /*changelog.vim*
|
||||||
changenr() eval.txt /*changenr()*
|
changenr() eval.txt /*changenr()*
|
||||||
@@ -4729,10 +4808,15 @@ compatible-default starting.txt /*compatible-default*
|
|||||||
compile-changes-5 version5.txt /*compile-changes-5*
|
compile-changes-5 version5.txt /*compile-changes-5*
|
||||||
compile-changes-6 version6.txt /*compile-changes-6*
|
compile-changes-6 version6.txt /*compile-changes-6*
|
||||||
compile-changes-7 version7.txt /*compile-changes-7*
|
compile-changes-7 version7.txt /*compile-changes-7*
|
||||||
|
compiler-compaqada ada.txt /*compiler-compaqada*
|
||||||
|
compiler-decada ada.txt /*compiler-decada*
|
||||||
|
compiler-gnat ada.txt /*compiler-gnat*
|
||||||
|
compiler-hpada ada.txt /*compiler-hpada*
|
||||||
compiler-manx quickfix.txt /*compiler-manx*
|
compiler-manx quickfix.txt /*compiler-manx*
|
||||||
compiler-pyunit quickfix.txt /*compiler-pyunit*
|
compiler-pyunit quickfix.txt /*compiler-pyunit*
|
||||||
compiler-select quickfix.txt /*compiler-select*
|
compiler-select quickfix.txt /*compiler-select*
|
||||||
compiler-tex quickfix.txt /*compiler-tex*
|
compiler-tex quickfix.txt /*compiler-tex*
|
||||||
|
compiler-vaxada ada.txt /*compiler-vaxada*
|
||||||
compl-current insert.txt /*compl-current*
|
compl-current insert.txt /*compl-current*
|
||||||
compl-define insert.txt /*compl-define*
|
compl-define insert.txt /*compl-define*
|
||||||
compl-dictionary insert.txt /*compl-dictionary*
|
compl-dictionary insert.txt /*compl-dictionary*
|
||||||
@@ -4916,6 +5000,7 @@ debugger-integration debugger.txt /*debugger-integration*
|
|||||||
debugger-support debugger.txt /*debugger-support*
|
debugger-support debugger.txt /*debugger-support*
|
||||||
debugger.txt debugger.txt /*debugger.txt*
|
debugger.txt debugger.txt /*debugger.txt*
|
||||||
dec-mouse options.txt /*dec-mouse*
|
dec-mouse options.txt /*dec-mouse*
|
||||||
|
decada_members ada.txt /*decada_members*
|
||||||
deepcopy() eval.txt /*deepcopy()*
|
deepcopy() eval.txt /*deepcopy()*
|
||||||
definition-search tagsrch.txt /*definition-search*
|
definition-search tagsrch.txt /*definition-search*
|
||||||
definitions intro.txt /*definitions*
|
definitions intro.txt /*definitions*
|
||||||
@@ -4952,6 +5037,7 @@ diff diff.txt /*diff*
|
|||||||
diff-diffexpr diff.txt /*diff-diffexpr*
|
diff-diffexpr diff.txt /*diff-diffexpr*
|
||||||
diff-mode diff.txt /*diff-mode*
|
diff-mode diff.txt /*diff-mode*
|
||||||
diff-options diff.txt /*diff-options*
|
diff-options diff.txt /*diff-options*
|
||||||
|
diff-original-file diff.txt /*diff-original-file*
|
||||||
diff-patchexpr diff.txt /*diff-patchexpr*
|
diff-patchexpr diff.txt /*diff-patchexpr*
|
||||||
diff.txt diff.txt /*diff.txt*
|
diff.txt diff.txt /*diff.txt*
|
||||||
diff_filler() eval.txt /*diff_filler()*
|
diff_filler() eval.txt /*diff_filler()*
|
||||||
@@ -5203,6 +5289,7 @@ fixed-6.1 version6.txt /*fixed-6.1*
|
|||||||
fixed-6.2 version6.txt /*fixed-6.2*
|
fixed-6.2 version6.txt /*fixed-6.2*
|
||||||
fixed-6.3 version6.txt /*fixed-6.3*
|
fixed-6.3 version6.txt /*fixed-6.3*
|
||||||
fixed-6.4 version6.txt /*fixed-6.4*
|
fixed-6.4 version6.txt /*fixed-6.4*
|
||||||
|
fixed-7.1 version7.txt /*fixed-7.1*
|
||||||
flexwiki.vim syntax.txt /*flexwiki.vim*
|
flexwiki.vim syntax.txt /*flexwiki.vim*
|
||||||
fname_diff-variable eval.txt /*fname_diff-variable*
|
fname_diff-variable eval.txt /*fname_diff-variable*
|
||||||
fname_in-variable eval.txt /*fname_in-variable*
|
fname_in-variable eval.txt /*fname_in-variable*
|
||||||
@@ -5250,7 +5337,15 @@ fortran.vim syntax.txt /*fortran.vim*
|
|||||||
french-maillist intro.txt /*french-maillist*
|
french-maillist intro.txt /*french-maillist*
|
||||||
frombook usr_01.txt /*frombook*
|
frombook usr_01.txt /*frombook*
|
||||||
ft-abel-syntax syntax.txt /*ft-abel-syntax*
|
ft-abel-syntax syntax.txt /*ft-abel-syntax*
|
||||||
ft-ada-syntax syntax.txt /*ft-ada-syntax*
|
ft-ada-commands ada.txt /*ft-ada-commands*
|
||||||
|
ft-ada-constants ada.txt /*ft-ada-constants*
|
||||||
|
ft-ada-functions ada.txt /*ft-ada-functions*
|
||||||
|
ft-ada-indent ada.txt /*ft-ada-indent*
|
||||||
|
ft-ada-omni ada.txt /*ft-ada-omni*
|
||||||
|
ft-ada-options ada.txt /*ft-ada-options*
|
||||||
|
ft-ada-plugin ada.txt /*ft-ada-plugin*
|
||||||
|
ft-ada-syntax ada.txt /*ft-ada-syntax*
|
||||||
|
ft-ada-variables ada.txt /*ft-ada-variables*
|
||||||
ft-ant-syntax syntax.txt /*ft-ant-syntax*
|
ft-ant-syntax syntax.txt /*ft-ant-syntax*
|
||||||
ft-apache-syntax syntax.txt /*ft-apache-syntax*
|
ft-apache-syntax syntax.txt /*ft-apache-syntax*
|
||||||
ft-asm-syntax syntax.txt /*ft-asm-syntax*
|
ft-asm-syntax syntax.txt /*ft-asm-syntax*
|
||||||
@@ -5395,18 +5490,60 @@ g- undo.txt /*g-*
|
|||||||
g0 motion.txt /*g0*
|
g0 motion.txt /*g0*
|
||||||
g8 various.txt /*g8*
|
g8 various.txt /*g8*
|
||||||
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
|
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
|
||||||
|
g:ada#Comment ada.txt /*g:ada#Comment*
|
||||||
|
g:ada#Ctags_Kinds ada.txt /*g:ada#Ctags_Kinds*
|
||||||
|
g:ada#DotWordRegex ada.txt /*g:ada#DotWordRegex*
|
||||||
|
g:ada#Keywords ada.txt /*g:ada#Keywords*
|
||||||
|
g:ada#WordRegex ada.txt /*g:ada#WordRegex*
|
||||||
|
g:ada_abbrev ada.txt /*g:ada_abbrev*
|
||||||
|
g:ada_all_tab_usage ada.txt /*g:ada_all_tab_usage*
|
||||||
|
g:ada_begin_preproc ada.txt /*g:ada_begin_preproc*
|
||||||
|
g:ada_default_compiler ada.txt /*g:ada_default_compiler*
|
||||||
|
g:ada_extended_completion ada.txt /*g:ada_extended_completion*
|
||||||
|
g:ada_extended_tagging ada.txt /*g:ada_extended_tagging*
|
||||||
|
g:ada_folding ada.txt /*g:ada_folding*
|
||||||
|
g:ada_gnat_extensions ada.txt /*g:ada_gnat_extensions*
|
||||||
|
g:ada_line_errors ada.txt /*g:ada_line_errors*
|
||||||
|
g:ada_no_tab_space_error ada.txt /*g:ada_no_tab_space_error*
|
||||||
|
g:ada_no_trail_space_error ada.txt /*g:ada_no_trail_space_error*
|
||||||
|
g:ada_omni_with_keywords ada.txt /*g:ada_omni_with_keywords*
|
||||||
|
g:ada_rainbow_color ada.txt /*g:ada_rainbow_color*
|
||||||
|
g:ada_space_errors ada.txt /*g:ada_space_errors*
|
||||||
|
g:ada_standard_types ada.txt /*g:ada_standard_types*
|
||||||
|
g:ada_with_gnat_project_files ada.txt /*g:ada_with_gnat_project_files*
|
||||||
|
g:ada_withuse_ordinary ada.txt /*g:ada_withuse_ordinary*
|
||||||
|
g:decada ada.txt /*g:decada*
|
||||||
|
g:decada.Error_Format ada.txt /*g:decada.Error_Format*
|
||||||
|
g:decada.Make() ada.txt /*g:decada.Make()*
|
||||||
|
g:decada.Make_Command ada.txt /*g:decada.Make_Command*
|
||||||
|
g:decada.Unit_Name() ada.txt /*g:decada.Unit_Name()*
|
||||||
|
g:gnat ada.txt /*g:gnat*
|
||||||
|
g:gnat.Error_Format ada.txt /*g:gnat.Error_Format*
|
||||||
|
g:gnat.Find() ada.txt /*g:gnat.Find()*
|
||||||
|
g:gnat.Find_Program ada.txt /*g:gnat.Find_Program*
|
||||||
|
g:gnat.Make() ada.txt /*g:gnat.Make()*
|
||||||
|
g:gnat.Make_Command ada.txt /*g:gnat.Make_Command*
|
||||||
|
g:gnat.Pretty() ada.txt /*g:gnat.Pretty()*
|
||||||
|
g:gnat.Pretty_Program ada.txt /*g:gnat.Pretty_Program*
|
||||||
|
g:gnat.Project_File ada.txt /*g:gnat.Project_File*
|
||||||
|
g:gnat.Set_Project_File() ada.txt /*g:gnat.Set_Project_File()*
|
||||||
|
g:gnat.Tags() ada.txt /*g:gnat.Tags()*
|
||||||
|
g:gnat.Tags_Command ada.txt /*g:gnat.Tags_Command*
|
||||||
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
|
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
|
||||||
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
|
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
|
||||||
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
||||||
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
||||||
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
|
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
|
||||||
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
|
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
|
||||||
|
g:netrw_extracmd pi_netrw.txt /*g:netrw_extracmd*
|
||||||
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
|
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
|
||||||
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
|
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
|
||||||
g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
|
g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
|
||||||
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
|
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
|
||||||
g:netrw_ftp_cmd pi_netrw.txt /*g:netrw_ftp_cmd*
|
g:netrw_ftp_cmd pi_netrw.txt /*g:netrw_ftp_cmd*
|
||||||
g:netrw_ftp_list_cmd pi_netrw.txt /*g:netrw_ftp_list_cmd*
|
g:netrw_ftp_list_cmd pi_netrw.txt /*g:netrw_ftp_list_cmd*
|
||||||
|
g:netrw_ftp_sizelist_cmd pi_netrw.txt /*g:netrw_ftp_sizelist_cmd*
|
||||||
|
g:netrw_ftp_timelist_cmd pi_netrw.txt /*g:netrw_ftp_timelist_cmd*
|
||||||
g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode*
|
g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode*
|
||||||
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
|
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
|
||||||
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
|
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
|
||||||
@@ -5414,11 +5551,13 @@ g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
|
|||||||
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
|
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
|
||||||
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
|
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
|
||||||
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
||||||
|
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
||||||
g:netrw_local_mkdir pi_netrw.txt /*g:netrw_local_mkdir*
|
g:netrw_local_mkdir pi_netrw.txt /*g:netrw_local_mkdir*
|
||||||
g:netrw_local_rmdir pi_netrw.txt /*g:netrw_local_rmdir*
|
g:netrw_local_rmdir pi_netrw.txt /*g:netrw_local_rmdir*
|
||||||
g:netrw_longlist pi_netrw.txt /*g:netrw_longlist*
|
|
||||||
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
||||||
|
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
||||||
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
||||||
|
g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
|
||||||
g:netrw_passwd pi_netrw.txt /*g:netrw_passwd*
|
g:netrw_passwd pi_netrw.txt /*g:netrw_passwd*
|
||||||
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
||||||
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
||||||
@@ -5427,6 +5566,7 @@ g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
|||||||
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
||||||
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
||||||
g:netrw_sftp_cmd pi_netrw.txt /*g:netrw_sftp_cmd*
|
g:netrw_sftp_cmd pi_netrw.txt /*g:netrw_sftp_cmd*
|
||||||
|
g:netrw_shq pi_netrw.txt /*g:netrw_shq*
|
||||||
g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by*
|
g:netrw_sort_by pi_netrw.txt /*g:netrw_sort_by*
|
||||||
g:netrw_sort_direction pi_netrw.txt /*g:netrw_sort_direction*
|
g:netrw_sort_direction pi_netrw.txt /*g:netrw_sort_direction*
|
||||||
g:netrw_sort_sequence pi_netrw.txt /*g:netrw_sort_sequence*
|
g:netrw_sort_sequence pi_netrw.txt /*g:netrw_sort_sequence*
|
||||||
@@ -5434,6 +5574,7 @@ g:netrw_ssh_browse_reject pi_netrw.txt /*g:netrw_ssh_browse_reject*
|
|||||||
g:netrw_ssh_cmd pi_netrw.txt /*g:netrw_ssh_cmd*
|
g:netrw_ssh_cmd pi_netrw.txt /*g:netrw_ssh_cmd*
|
||||||
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
g:netrw_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
||||||
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
|
g:netrw_uid pi_netrw.txt /*g:netrw_uid*
|
||||||
|
g:netrw_use_noswf pi_netrw.txt /*g:netrw_use_noswf*
|
||||||
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
|
g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
|
||||||
g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
|
g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
|
||||||
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
|
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
|
||||||
@@ -5442,6 +5583,7 @@ g:tar_cmd pi_tar.txt /*g:tar_cmd*
|
|||||||
g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
||||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||||
g:var eval.txt /*g:var*
|
g:var eval.txt /*g:var*
|
||||||
|
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||||
g; motion.txt /*g;*
|
g; motion.txt /*g;*
|
||||||
g< message.txt /*g<*
|
g< message.txt /*g<*
|
||||||
g<Down> motion.txt /*g<Down>*
|
g<Down> motion.txt /*g<Down>*
|
||||||
@@ -5496,20 +5638,19 @@ getfperm() eval.txt /*getfperm()*
|
|||||||
getfsize() eval.txt /*getfsize()*
|
getfsize() eval.txt /*getfsize()*
|
||||||
getftime() eval.txt /*getftime()*
|
getftime() eval.txt /*getftime()*
|
||||||
getftype() eval.txt /*getftype()*
|
getftype() eval.txt /*getftype()*
|
||||||
getlatestvimscripts getscript.txt /*getlatestvimscripts*
|
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
||||||
getlatestvimscripts-algorithm getscript.txt /*getlatestvimscripts-algorithm*
|
|
||||||
getlatestvimscripts-autoinstall getscript.txt /*getlatestvimscripts-autoinstall*
|
|
||||||
getlatestvimscripts-data getscript.txt /*getlatestvimscripts-data*
|
|
||||||
getlatestvimscripts-history getscript.txt /*getlatestvimscripts-history*
|
|
||||||
getlatestvimscripts-plugins getscript.txt /*getlatestvimscripts-plugins*
|
|
||||||
getline() eval.txt /*getline()*
|
getline() eval.txt /*getline()*
|
||||||
getloclist() eval.txt /*getloclist()*
|
getloclist() eval.txt /*getloclist()*
|
||||||
getpos() eval.txt /*getpos()*
|
getpos() eval.txt /*getpos()*
|
||||||
getqflist() eval.txt /*getqflist()*
|
getqflist() eval.txt /*getqflist()*
|
||||||
getreg() eval.txt /*getreg()*
|
getreg() eval.txt /*getreg()*
|
||||||
getregtype() eval.txt /*getregtype()*
|
getregtype() eval.txt /*getregtype()*
|
||||||
getscript getscript.txt /*getscript*
|
getscript pi_getscript.txt /*getscript*
|
||||||
getscript.txt getscript.txt /*getscript.txt*
|
getscript-autoinstall pi_getscript.txt /*getscript-autoinstall*
|
||||||
|
getscript-data pi_getscript.txt /*getscript-data*
|
||||||
|
getscript-history pi_getscript.txt /*getscript-history*
|
||||||
|
getscript-plugins pi_getscript.txt /*getscript-plugins*
|
||||||
|
getscript-start pi_getscript.txt /*getscript-start*
|
||||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||||
getwinposx() eval.txt /*getwinposx()*
|
getwinposx() eval.txt /*getwinposx()*
|
||||||
getwinposy() eval.txt /*getwinposy()*
|
getwinposy() eval.txt /*getwinposy()*
|
||||||
@@ -5526,14 +5667,24 @@ global-ime mbyte.txt /*global-ime*
|
|||||||
global-local options.txt /*global-local*
|
global-local options.txt /*global-local*
|
||||||
global-variable eval.txt /*global-variable*
|
global-variable eval.txt /*global-variable*
|
||||||
globpath() eval.txt /*globpath()*
|
globpath() eval.txt /*globpath()*
|
||||||
glvs getscript.txt /*glvs*
|
glvs pi_getscript.txt /*glvs*
|
||||||
glvs-alg getscript.txt /*glvs-alg*
|
glvs-alg pi_getscript.txt /*glvs-alg*
|
||||||
glvs-autoinstall getscript.txt /*glvs-autoinstall*
|
glvs-algorithm pi_getscript.txt /*glvs-algorithm*
|
||||||
glvs-contents getscript.txt /*glvs-contents*
|
glvs-autoinstall pi_getscript.txt /*glvs-autoinstall*
|
||||||
glvs-data getscript.txt /*glvs-data*
|
glvs-contents pi_getscript.txt /*glvs-contents*
|
||||||
glvs-hist getscript.txt /*glvs-hist*
|
glvs-copyright pi_getscript.txt /*glvs-copyright*
|
||||||
glvs-plugins getscript.txt /*glvs-plugins*
|
glvs-data pi_getscript.txt /*glvs-data*
|
||||||
|
glvs-dist-install pi_getscript.txt /*glvs-dist-install*
|
||||||
|
glvs-hist pi_getscript.txt /*glvs-hist*
|
||||||
|
glvs-install pi_getscript.txt /*glvs-install*
|
||||||
|
glvs-options pi_getscript.txt /*glvs-options*
|
||||||
|
glvs-plugins pi_getscript.txt /*glvs-plugins*
|
||||||
|
glvs-usage pi_getscript.txt /*glvs-usage*
|
||||||
gm motion.txt /*gm*
|
gm motion.txt /*gm*
|
||||||
|
gnat#Insert_Tags_Header() ada.txt /*gnat#Insert_Tags_Header()*
|
||||||
|
gnat#New() ada.txt /*gnat#New()*
|
||||||
|
gnat-xref ada.txt /*gnat-xref*
|
||||||
|
gnat_members ada.txt /*gnat_members*
|
||||||
gnome-session gui_x11.txt /*gnome-session*
|
gnome-session gui_x11.txt /*gnome-session*
|
||||||
go motion.txt /*go*
|
go motion.txt /*go*
|
||||||
gp change.txt /*gp*
|
gp change.txt /*gp*
|
||||||
@@ -5621,7 +5772,6 @@ gvimrc gui.txt /*gvimrc*
|
|||||||
gw change.txt /*gw*
|
gw change.txt /*gw*
|
||||||
gwgw change.txt /*gwgw*
|
gwgw change.txt /*gwgw*
|
||||||
gww change.txt /*gww*
|
gww change.txt /*gww*
|
||||||
gx pi_netrw.txt /*gx*
|
|
||||||
gzip pi_gzip.txt /*gzip*
|
gzip pi_gzip.txt /*gzip*
|
||||||
gzip-autocmd pi_gzip.txt /*gzip-autocmd*
|
gzip-autocmd pi_gzip.txt /*gzip-autocmd*
|
||||||
gzip-example autocmd.txt /*gzip-example*
|
gzip-example autocmd.txt /*gzip-example*
|
||||||
@@ -5636,11 +5786,13 @@ has() eval.txt /*has()*
|
|||||||
has-patch eval.txt /*has-patch*
|
has-patch eval.txt /*has-patch*
|
||||||
has_key() eval.txt /*has_key()*
|
has_key() eval.txt /*has_key()*
|
||||||
haskell.vim syntax.txt /*haskell.vim*
|
haskell.vim syntax.txt /*haskell.vim*
|
||||||
|
haslocaldir() eval.txt /*haslocaldir()*
|
||||||
hasmapto() eval.txt /*hasmapto()*
|
hasmapto() eval.txt /*hasmapto()*
|
||||||
hebrew hebrew.txt /*hebrew*
|
hebrew hebrew.txt /*hebrew*
|
||||||
hebrew.txt hebrew.txt /*hebrew.txt*
|
hebrew.txt hebrew.txt /*hebrew.txt*
|
||||||
help various.txt /*help*
|
help various.txt /*help*
|
||||||
help-context help.txt /*help-context*
|
help-context help.txt /*help-context*
|
||||||
|
help-summary usr_02.txt /*help-summary*
|
||||||
help-translated various.txt /*help-translated*
|
help-translated various.txt /*help-translated*
|
||||||
help-xterm-window various.txt /*help-xterm-window*
|
help-xterm-window various.txt /*help-xterm-window*
|
||||||
help.txt help.txt /*help.txt*
|
help.txt help.txt /*help.txt*
|
||||||
@@ -6162,6 +6314,9 @@ mouse-mode-table term.txt /*mouse-mode-table*
|
|||||||
mouse-overview term.txt /*mouse-overview*
|
mouse-overview term.txt /*mouse-overview*
|
||||||
mouse-swap-buttons term.txt /*mouse-swap-buttons*
|
mouse-swap-buttons term.txt /*mouse-swap-buttons*
|
||||||
mouse-using term.txt /*mouse-using*
|
mouse-using term.txt /*mouse-using*
|
||||||
|
mouse_col-variable eval.txt /*mouse_col-variable*
|
||||||
|
mouse_lnum-variable eval.txt /*mouse_lnum-variable*
|
||||||
|
mouse_win-variable eval.txt /*mouse_win-variable*
|
||||||
movement intro.txt /*movement*
|
movement intro.txt /*movement*
|
||||||
ms-dos os_msdos.txt /*ms-dos*
|
ms-dos os_msdos.txt /*ms-dos*
|
||||||
msdos os_msdos.txt /*msdos*
|
msdos os_msdos.txt /*msdos*
|
||||||
@@ -6232,10 +6387,7 @@ netbeans.txt netbeans.txt /*netbeans.txt*
|
|||||||
netreadfixup pi_netrw.txt /*netreadfixup*
|
netreadfixup pi_netrw.txt /*netreadfixup*
|
||||||
netrw pi_netrw.txt /*netrw*
|
netrw pi_netrw.txt /*netrw*
|
||||||
netrw-- pi_netrw.txt /*netrw--*
|
netrw-- pi_netrw.txt /*netrw--*
|
||||||
netrw-B pi_netrw.txt /*netrw-B*
|
|
||||||
netrw-D pi_netrw.txt /*netrw-D*
|
netrw-D pi_netrw.txt /*netrw-D*
|
||||||
netrw-NB pi_netrw.txt /*netrw-NB*
|
|
||||||
netrw-Nb pi_netrw.txt /*netrw-Nb*
|
|
||||||
netrw-O pi_netrw.txt /*netrw-O*
|
netrw-O pi_netrw.txt /*netrw-O*
|
||||||
netrw-P pi_netrw.txt /*netrw-P*
|
netrw-P pi_netrw.txt /*netrw-P*
|
||||||
netrw-R pi_netrw.txt /*netrw-R*
|
netrw-R pi_netrw.txt /*netrw-R*
|
||||||
@@ -6243,7 +6395,6 @@ netrw-S pi_netrw.txt /*netrw-S*
|
|||||||
netrw-U pi_netrw.txt /*netrw-U*
|
netrw-U pi_netrw.txt /*netrw-U*
|
||||||
netrw-a pi_netrw.txt /*netrw-a*
|
netrw-a pi_netrw.txt /*netrw-a*
|
||||||
netrw-activate pi_netrw.txt /*netrw-activate*
|
netrw-activate pi_netrw.txt /*netrw-activate*
|
||||||
netrw-b pi_netrw.txt /*netrw-b*
|
|
||||||
netrw-bookmark pi_netrw.txt /*netrw-bookmark*
|
netrw-bookmark pi_netrw.txt /*netrw-bookmark*
|
||||||
netrw-bookmarks pi_netrw.txt /*netrw-bookmarks*
|
netrw-bookmarks pi_netrw.txt /*netrw-bookmarks*
|
||||||
netrw-browse pi_netrw.txt /*netrw-browse*
|
netrw-browse pi_netrw.txt /*netrw-browse*
|
||||||
@@ -6258,6 +6409,8 @@ netrw-cr pi_netrw.txt /*netrw-cr*
|
|||||||
netrw-credits pi_netrw.txt /*netrw-credits*
|
netrw-credits pi_netrw.txt /*netrw-credits*
|
||||||
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
|
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
|
||||||
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
|
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
|
||||||
|
netrw-ctrl_h pi_netrw.txt /*netrw-ctrl_h*
|
||||||
|
netrw-ctrl_l pi_netrw.txt /*netrw-ctrl_l*
|
||||||
netrw-curdir pi_netrw.txt /*netrw-curdir*
|
netrw-curdir pi_netrw.txt /*netrw-curdir*
|
||||||
netrw-d pi_netrw.txt /*netrw-d*
|
netrw-d pi_netrw.txt /*netrw-d*
|
||||||
netrw-debug pi_netrw.txt /*netrw-debug*
|
netrw-debug pi_netrw.txt /*netrw-debug*
|
||||||
@@ -6274,9 +6427,12 @@ netrw-externapp pi_netrw.txt /*netrw-externapp*
|
|||||||
netrw-file pi_netrw.txt /*netrw-file*
|
netrw-file pi_netrw.txt /*netrw-file*
|
||||||
netrw-fixup pi_netrw.txt /*netrw-fixup*
|
netrw-fixup pi_netrw.txt /*netrw-fixup*
|
||||||
netrw-ftp pi_netrw.txt /*netrw-ftp*
|
netrw-ftp pi_netrw.txt /*netrw-ftp*
|
||||||
|
netrw-gb pi_netrw.txt /*netrw-gb*
|
||||||
|
netrw-gx pi_netrw.txt /*netrw-gx*
|
||||||
netrw-handler pi_netrw.txt /*netrw-handler*
|
netrw-handler pi_netrw.txt /*netrw-handler*
|
||||||
netrw-help pi_netrw.txt /*netrw-help*
|
netrw-help pi_netrw.txt /*netrw-help*
|
||||||
netrw-hexplore pi_netrw.txt /*netrw-hexplore*
|
netrw-hexplore pi_netrw.txt /*netrw-hexplore*
|
||||||
|
netrw-hiding pi_netrw.txt /*netrw-hiding*
|
||||||
netrw-history pi_netrw.txt /*netrw-history*
|
netrw-history pi_netrw.txt /*netrw-history*
|
||||||
netrw-horiz pi_netrw.txt /*netrw-horiz*
|
netrw-horiz pi_netrw.txt /*netrw-horiz*
|
||||||
netrw-i pi_netrw.txt /*netrw-i*
|
netrw-i pi_netrw.txt /*netrw-i*
|
||||||
@@ -6284,7 +6440,10 @@ netrw-incompatible pi_netrw.txt /*netrw-incompatible*
|
|||||||
netrw-list pi_netrw.txt /*netrw-list*
|
netrw-list pi_netrw.txt /*netrw-list*
|
||||||
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
|
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
|
||||||
netrw-listhack pi_netrw.txt /*netrw-listhack*
|
netrw-listhack pi_netrw.txt /*netrw-listhack*
|
||||||
|
netrw-login pi_netrw.txt /*netrw-login*
|
||||||
netrw-maps pi_netrw.txt /*netrw-maps*
|
netrw-maps pi_netrw.txt /*netrw-maps*
|
||||||
|
netrw-mb pi_netrw.txt /*netrw-mb*
|
||||||
|
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
||||||
netrw-move pi_netrw.txt /*netrw-move*
|
netrw-move pi_netrw.txt /*netrw-move*
|
||||||
netrw-netrc pi_netrw.txt /*netrw-netrc*
|
netrw-netrc pi_netrw.txt /*netrw-netrc*
|
||||||
netrw-nexplore pi_netrw.txt /*netrw-nexplore*
|
netrw-nexplore pi_netrw.txt /*netrw-nexplore*
|
||||||
@@ -6299,7 +6458,11 @@ netrw-p3 pi_netrw.txt /*netrw-p3*
|
|||||||
netrw-p4 pi_netrw.txt /*netrw-p4*
|
netrw-p4 pi_netrw.txt /*netrw-p4*
|
||||||
netrw-p5 pi_netrw.txt /*netrw-p5*
|
netrw-p5 pi_netrw.txt /*netrw-p5*
|
||||||
netrw-p6 pi_netrw.txt /*netrw-p6*
|
netrw-p6 pi_netrw.txt /*netrw-p6*
|
||||||
|
netrw-p7 pi_netrw.txt /*netrw-p7*
|
||||||
|
netrw-p8 pi_netrw.txt /*netrw-p8*
|
||||||
|
netrw-p9 pi_netrw.txt /*netrw-p9*
|
||||||
netrw-passwd pi_netrw.txt /*netrw-passwd*
|
netrw-passwd pi_netrw.txt /*netrw-passwd*
|
||||||
|
netrw-password pi_netrw.txt /*netrw-password*
|
||||||
netrw-path pi_netrw.txt /*netrw-path*
|
netrw-path pi_netrw.txt /*netrw-path*
|
||||||
netrw-pexplore pi_netrw.txt /*netrw-pexplore*
|
netrw-pexplore pi_netrw.txt /*netrw-pexplore*
|
||||||
netrw-preview pi_netrw.txt /*netrw-preview*
|
netrw-preview pi_netrw.txt /*netrw-preview*
|
||||||
@@ -6307,6 +6470,7 @@ netrw-problems pi_netrw.txt /*netrw-problems*
|
|||||||
netrw-protocol pi_netrw.txt /*netrw-protocol*
|
netrw-protocol pi_netrw.txt /*netrw-protocol*
|
||||||
netrw-prvwin pi_netrw.txt /*netrw-prvwin*
|
netrw-prvwin pi_netrw.txt /*netrw-prvwin*
|
||||||
netrw-pscp pi_netrw.txt /*netrw-pscp*
|
netrw-pscp pi_netrw.txt /*netrw-pscp*
|
||||||
|
netrw-psftp pi_netrw.txt /*netrw-psftp*
|
||||||
netrw-putty pi_netrw.txt /*netrw-putty*
|
netrw-putty pi_netrw.txt /*netrw-putty*
|
||||||
netrw-q pi_netrw.txt /*netrw-q*
|
netrw-q pi_netrw.txt /*netrw-q*
|
||||||
netrw-r pi_netrw.txt /*netrw-r*
|
netrw-r pi_netrw.txt /*netrw-r*
|
||||||
@@ -6319,15 +6483,19 @@ netrw-settings pi_netrw.txt /*netrw-settings*
|
|||||||
netrw-sexplore pi_netrw.txt /*netrw-sexplore*
|
netrw-sexplore pi_netrw.txt /*netrw-sexplore*
|
||||||
netrw-sort pi_netrw.txt /*netrw-sort*
|
netrw-sort pi_netrw.txt /*netrw-sort*
|
||||||
netrw-sortsequence pi_netrw.txt /*netrw-sortsequence*
|
netrw-sortsequence pi_netrw.txt /*netrw-sortsequence*
|
||||||
|
netrw-source pi_netrw.txt /*netrw-source*
|
||||||
netrw-starpat pi_netrw.txt /*netrw-starpat*
|
netrw-starpat pi_netrw.txt /*netrw-starpat*
|
||||||
netrw-starstar pi_netrw.txt /*netrw-starstar*
|
netrw-starstar pi_netrw.txt /*netrw-starstar*
|
||||||
netrw-starstarpat pi_netrw.txt /*netrw-starstarpat*
|
netrw-starstarpat pi_netrw.txt /*netrw-starstarpat*
|
||||||
netrw-start pi_netrw.txt /*netrw-start*
|
netrw-start pi_netrw.txt /*netrw-start*
|
||||||
|
netrw-t pi_netrw.txt /*netrw-t*
|
||||||
|
netrw-texplore pi_netrw.txt /*netrw-texplore*
|
||||||
netrw-transparent pi_netrw.txt /*netrw-transparent*
|
netrw-transparent pi_netrw.txt /*netrw-transparent*
|
||||||
netrw-u pi_netrw.txt /*netrw-u*
|
netrw-u pi_netrw.txt /*netrw-u*
|
||||||
netrw-uidpass pi_netrw.txt /*netrw-uidpass*
|
netrw-uidpass pi_netrw.txt /*netrw-uidpass*
|
||||||
netrw-updir pi_netrw.txt /*netrw-updir*
|
netrw-updir pi_netrw.txt /*netrw-updir*
|
||||||
netrw-urls pi_netrw.txt /*netrw-urls*
|
netrw-urls pi_netrw.txt /*netrw-urls*
|
||||||
|
netrw-userpass pi_netrw.txt /*netrw-userpass*
|
||||||
netrw-v pi_netrw.txt /*netrw-v*
|
netrw-v pi_netrw.txt /*netrw-v*
|
||||||
netrw-var pi_netrw.txt /*netrw-var*
|
netrw-var pi_netrw.txt /*netrw-var*
|
||||||
netrw-variables pi_netrw.txt /*netrw-variables*
|
netrw-variables pi_netrw.txt /*netrw-variables*
|
||||||
@@ -6415,8 +6583,10 @@ new-vimgrep version7.txt /*new-vimgrep*
|
|||||||
new-virtedit version6.txt /*new-virtedit*
|
new-virtedit version6.txt /*new-virtedit*
|
||||||
news intro.txt /*news*
|
news intro.txt /*news*
|
||||||
nextnonblank() eval.txt /*nextnonblank()*
|
nextnonblank() eval.txt /*nextnonblank()*
|
||||||
|
nice todo.txt /*nice*
|
||||||
no-eval-feature eval.txt /*no-eval-feature*
|
no-eval-feature eval.txt /*no-eval-feature*
|
||||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||||
|
non-greedy pattern.txt /*non-greedy*
|
||||||
normal-index index.txt /*normal-index*
|
normal-index index.txt /*normal-index*
|
||||||
not-compatible usr_01.txt /*not-compatible*
|
not-compatible usr_01.txt /*not-compatible*
|
||||||
not-edited editing.txt /*not-edited*
|
not-edited editing.txt /*not-edited*
|
||||||
@@ -6523,6 +6693,7 @@ photon-gui os_qnx.txt /*photon-gui*
|
|||||||
php.vim syntax.txt /*php.vim*
|
php.vim syntax.txt /*php.vim*
|
||||||
php3.vim syntax.txt /*php3.vim*
|
php3.vim syntax.txt /*php3.vim*
|
||||||
phtml.vim syntax.txt /*phtml.vim*
|
phtml.vim syntax.txt /*phtml.vim*
|
||||||
|
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
|
||||||
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
|
pi_gzip.txt pi_gzip.txt /*pi_gzip.txt*
|
||||||
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
pi_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
||||||
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
||||||
@@ -6694,6 +6865,7 @@ replacing change.txt /*replacing*
|
|||||||
replacing-ex insert.txt /*replacing-ex*
|
replacing-ex insert.txt /*replacing-ex*
|
||||||
reselect-Visual visual.txt /*reselect-Visual*
|
reselect-Visual visual.txt /*reselect-Visual*
|
||||||
resolve() eval.txt /*resolve()*
|
resolve() eval.txt /*resolve()*
|
||||||
|
restore-cursor usr_05.txt /*restore-cursor*
|
||||||
restore-position tips.txt /*restore-position*
|
restore-position tips.txt /*restore-position*
|
||||||
restricted-mode starting.txt /*restricted-mode*
|
restricted-mode starting.txt /*restricted-mode*
|
||||||
retab-example change.txt /*retab-example*
|
retab-example change.txt /*retab-example*
|
||||||
@@ -6761,8 +6933,6 @@ s/\r change.txt /*s\/\\r*
|
|||||||
s/\t change.txt /*s\/\\t*
|
s/\t change.txt /*s\/\\t*
|
||||||
s/\u change.txt /*s\/\\u*
|
s/\u change.txt /*s\/\\u*
|
||||||
s/\~ change.txt /*s\/\\~*
|
s/\~ change.txt /*s\/\\~*
|
||||||
s:netrw_col pi_netrw.txt /*s:netrw_col*
|
|
||||||
s:netrw_line pi_netrw.txt /*s:netrw_line*
|
|
||||||
s:var eval.txt /*s:var*
|
s:var eval.txt /*s:var*
|
||||||
s<CR> change.txt /*s<CR>*
|
s<CR> change.txt /*s<CR>*
|
||||||
sandbox eval.txt /*sandbox*
|
sandbox eval.txt /*sandbox*
|
||||||
@@ -6775,6 +6945,7 @@ script usr_41.txt /*script*
|
|||||||
script-here if_perl.txt /*script-here*
|
script-here if_perl.txt /*script-here*
|
||||||
script-local map.txt /*script-local*
|
script-local map.txt /*script-local*
|
||||||
script-variable eval.txt /*script-variable*
|
script-variable eval.txt /*script-variable*
|
||||||
|
scriptnames-dictionary eval.txt /*scriptnames-dictionary*
|
||||||
scriptout-changed version4.txt /*scriptout-changed*
|
scriptout-changed version4.txt /*scriptout-changed*
|
||||||
scroll-binding scroll.txt /*scroll-binding*
|
scroll-binding scroll.txt /*scroll-binding*
|
||||||
scroll-cursor scroll.txt /*scroll-cursor*
|
scroll-cursor scroll.txt /*scroll-cursor*
|
||||||
@@ -6832,6 +7003,7 @@ sgml.vim syntax.txt /*sgml.vim*
|
|||||||
sh.vim syntax.txt /*sh.vim*
|
sh.vim syntax.txt /*sh.vim*
|
||||||
shell-window tips.txt /*shell-window*
|
shell-window tips.txt /*shell-window*
|
||||||
shell_error-variable eval.txt /*shell_error-variable*
|
shell_error-variable eval.txt /*shell_error-variable*
|
||||||
|
shellescape() eval.txt /*shellescape()*
|
||||||
shift intro.txt /*shift*
|
shift intro.txt /*shift*
|
||||||
shift-left-right change.txt /*shift-left-right*
|
shift-left-right change.txt /*shift-left-right*
|
||||||
short-name-changed version4.txt /*short-name-changed*
|
short-name-changed version4.txt /*short-name-changed*
|
||||||
@@ -7340,6 +7512,8 @@ termresponse-variable eval.txt /*termresponse-variable*
|
|||||||
tex-error syntax.txt /*tex-error*
|
tex-error syntax.txt /*tex-error*
|
||||||
tex-folding syntax.txt /*tex-folding*
|
tex-folding syntax.txt /*tex-folding*
|
||||||
tex-math syntax.txt /*tex-math*
|
tex-math syntax.txt /*tex-math*
|
||||||
|
tex-morecommands syntax.txt /*tex-morecommands*
|
||||||
|
tex-package syntax.txt /*tex-package*
|
||||||
tex-runon syntax.txt /*tex-runon*
|
tex-runon syntax.txt /*tex-runon*
|
||||||
tex-slow syntax.txt /*tex-slow*
|
tex-slow syntax.txt /*tex-slow*
|
||||||
tex-style syntax.txt /*tex-style*
|
tex-style syntax.txt /*tex-style*
|
||||||
@@ -7481,6 +7655,9 @@ v:key eval.txt /*v:key*
|
|||||||
v:lang eval.txt /*v:lang*
|
v:lang eval.txt /*v:lang*
|
||||||
v:lc_time eval.txt /*v:lc_time*
|
v:lc_time eval.txt /*v:lc_time*
|
||||||
v:lnum eval.txt /*v:lnum*
|
v:lnum eval.txt /*v:lnum*
|
||||||
|
v:mouse_col eval.txt /*v:mouse_col*
|
||||||
|
v:mouse_lnum eval.txt /*v:mouse_lnum*
|
||||||
|
v:mouse_win eval.txt /*v:mouse_win*
|
||||||
v:prevcount eval.txt /*v:prevcount*
|
v:prevcount eval.txt /*v:prevcount*
|
||||||
v:profiling eval.txt /*v:profiling*
|
v:profiling eval.txt /*v:profiling*
|
||||||
v:progname eval.txt /*v:progname*
|
v:progname eval.txt /*v:progname*
|
||||||
@@ -7610,6 +7787,7 @@ various-cmds various.txt /*various-cmds*
|
|||||||
various-motions motion.txt /*various-motions*
|
various-motions motion.txt /*various-motions*
|
||||||
various.txt various.txt /*various.txt*
|
various.txt various.txt /*various.txt*
|
||||||
vb.vim syntax.txt /*vb.vim*
|
vb.vim syntax.txt /*vb.vim*
|
||||||
|
vba pi_vimball.txt /*vba*
|
||||||
verbose starting.txt /*verbose*
|
verbose starting.txt /*verbose*
|
||||||
version-5.1 version5.txt /*version-5.1*
|
version-5.1 version5.txt /*version-5.1*
|
||||||
version-5.2 version5.txt /*version-5.2*
|
version-5.2 version5.txt /*version-5.2*
|
||||||
@@ -7623,6 +7801,7 @@ version-6.1 version6.txt /*version-6.1*
|
|||||||
version-6.2 version6.txt /*version-6.2*
|
version-6.2 version6.txt /*version-6.2*
|
||||||
version-6.3 version6.txt /*version-6.3*
|
version-6.3 version6.txt /*version-6.3*
|
||||||
version-6.4 version6.txt /*version-6.4*
|
version-6.4 version6.txt /*version-6.4*
|
||||||
|
version-7.1 version7.txt /*version-7.1*
|
||||||
version-variable eval.txt /*version-variable*
|
version-variable eval.txt /*version-variable*
|
||||||
version4.txt version4.txt /*version4.txt*
|
version4.txt version4.txt /*version4.txt*
|
||||||
version5.txt version5.txt /*version5.txt*
|
version5.txt version5.txt /*version5.txt*
|
||||||
@@ -7648,13 +7827,13 @@ vim-multibyte intro.txt /*vim-multibyte*
|
|||||||
vim-script-intro usr_41.txt /*vim-script-intro*
|
vim-script-intro usr_41.txt /*vim-script-intro*
|
||||||
vim-variable eval.txt /*vim-variable*
|
vim-variable eval.txt /*vim-variable*
|
||||||
vim.vim syntax.txt /*vim.vim*
|
vim.vim syntax.txt /*vim.vim*
|
||||||
|
vim7 version7.txt /*vim7*
|
||||||
vim: options.txt /*vim:*
|
vim: options.txt /*vim:*
|
||||||
vimball pi_vimball.txt /*vimball*
|
vimball pi_vimball.txt /*vimball*
|
||||||
vimball-contents pi_vimball.txt /*vimball-contents*
|
vimball-contents pi_vimball.txt /*vimball-contents*
|
||||||
vimball-extract pi_vimball.txt /*vimball-extract*
|
vimball-extract pi_vimball.txt /*vimball-extract*
|
||||||
vimball-history pi_vimball.txt /*vimball-history*
|
vimball-history pi_vimball.txt /*vimball-history*
|
||||||
vimball-manual pi_vimball.txt /*vimball-manual*
|
vimball-manual pi_vimball.txt /*vimball-manual*
|
||||||
vimball-vimballlist pi_vimball.txt /*vimball-vimballlist*
|
|
||||||
vimdev intro.txt /*vimdev*
|
vimdev intro.txt /*vimdev*
|
||||||
vimdiff diff.txt /*vimdiff*
|
vimdiff diff.txt /*vimdiff*
|
||||||
vimfiles options.txt /*vimfiles*
|
vimfiles options.txt /*vimfiles*
|
||||||
@@ -7709,6 +7888,7 @@ warningmsg-variable eval.txt /*warningmsg-variable*
|
|||||||
white-space pattern.txt /*white-space*
|
white-space pattern.txt /*white-space*
|
||||||
whitespace pattern.txt /*whitespace*
|
whitespace pattern.txt /*whitespace*
|
||||||
wildcard editing.txt /*wildcard*
|
wildcard editing.txt /*wildcard*
|
||||||
|
wildcards editing.txt /*wildcards*
|
||||||
win16-!start gui_w16.txt /*win16-!start*
|
win16-!start gui_w16.txt /*win16-!start*
|
||||||
win16-clipboard gui_w16.txt /*win16-clipboard*
|
win16-clipboard gui_w16.txt /*win16-clipboard*
|
||||||
win16-colors gui_w16.txt /*win16-colors*
|
win16-colors gui_w16.txt /*win16-colors*
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*term.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*term.txt* For Vim version 7.1a. Last change: 2007 Feb 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -749,7 +749,7 @@ to be used while keeping the shift key pressed. When clicking in a window
|
|||||||
which is editing another buffer, the Visual or Select mode is stopped.
|
which is editing another buffer, the Visual or Select mode is stopped.
|
||||||
|
|
||||||
In Normal, Visual and Select mode clicking the right mouse button with the alt
|
In Normal, Visual and Select mode clicking the right mouse button with the alt
|
||||||
key pressed causes the Visual area to become blockwise. When 'mousemodel is
|
key pressed causes the Visual area to become blockwise. When 'mousemodel' is
|
||||||
"popup" the left button has to be used with the alt key. Note that this won't
|
"popup" the left button has to be used with the alt key. Note that this won't
|
||||||
work on systems where the window manager consumes the mouse events when the
|
work on systems where the window manager consumes the mouse events when the
|
||||||
alt key is pressed (it may move the window).
|
alt key is pressed (it may move the window).
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*tips.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*tips.txt* For Vim version 7.1a. Last change: 2006 Jul 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -149,8 +149,8 @@ these two variables are the correct place where the above mentioned control
|
|||||||
sequences should go.
|
sequences should go.
|
||||||
|
|
||||||
Compare your xterm termcap entry (found in /etc/termcap) with your xterm
|
Compare your xterm termcap entry (found in /etc/termcap) with your xterm
|
||||||
terminfo entry (retrieved with /usr/5bin/infocmp -C xterm). Both should
|
terminfo entry (retrieved with "infocmp -C xterm"). Both should contain
|
||||||
contain entries similar to: >
|
entries similar to: >
|
||||||
:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:
|
:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:
|
||||||
|
|
||||||
PS: If you find any difference, someone (your sysadmin?) should better check
|
PS: If you find any difference, someone (your sysadmin?) should better check
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*uganda.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*uganda.txt* For Vim version 7.1a. Last change: 2007 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -13,6 +13,7 @@ below or visit the ICCF web site, available at these URLs:
|
|||||||
|
|
||||||
http://iccf-holland.org/
|
http://iccf-holland.org/
|
||||||
http://www.vim.org/iccf/
|
http://www.vim.org/iccf/
|
||||||
|
http://www.iccf.nl/
|
||||||
|
|
||||||
You can also sponsor the development of Vim. Vim sponsors can vote for
|
You can also sponsor the development of Vim. Vim sponsors can vote for
|
||||||
features. See |sponsor|. The money goes to Uganda anyway.
|
features. See |sponsor|. The money goes to Uganda anyway.
|
||||||
@@ -211,21 +212,12 @@ Sending money: *iccf-donations*
|
|||||||
Check the ICCF web site for the latest information! See |iccf| for the URL.
|
Check the ICCF web site for the latest information! See |iccf| for the URL.
|
||||||
|
|
||||||
|
|
||||||
USA: The methods mentioned below can be used. Alternatively, you
|
USA: The methods mentioned below can be used.
|
||||||
can send a check to the Nehemiah Group Outreach Society
|
Sending a check to the Nehemiah Group Outreach Society (NGOS)
|
||||||
(NGOS). This will reduce banking costs and you can get an IRS
|
is no longer possible, unfortunately. We are looking for
|
||||||
tax receipt. The NGOS forwards the funds directly to the
|
another way to get you an IRS tax receipt.
|
||||||
Kibaale project in Uganda. Checks must be made payable to
|
For sponsoring a child contact KCF in Canada (see below). US
|
||||||
NGOS but please note on the check "donation Kibaale". Mail
|
checks can be send to them to lower banking costs.
|
||||||
checks to:
|
|
||||||
NGOS
|
|
||||||
P.O. Box 50862
|
|
||||||
Indianapolis, IN 45250
|
|
||||||
Questions regarding the Nehemiah Group Outreach Society (NGOS)
|
|
||||||
should be directed to: Ross deMerchant, Executive Director -
|
|
||||||
r.demerchant AT sbcglobal DOT net.
|
|
||||||
For sponsoring a child contact KCF in Canada (see below) and
|
|
||||||
send the check to NGOS in Indianapolis.
|
|
||||||
|
|
||||||
Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
|
Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
|
||||||
take care of the Canadian sponsors for the children in
|
take care of the Canadian sponsors for the children in
|
||||||
@@ -264,7 +256,7 @@ Europe: Use a bank transfer if possible. Your bank should have a form
|
|||||||
Credit Card: You can use PayPal to send money with a Credit card. This is
|
Credit Card: You can use PayPal to send money with a Credit card. This is
|
||||||
the most widely used Internet based payment system. It's
|
the most widely used Internet based payment system. It's
|
||||||
really simple to use. Use this link to find more info:
|
really simple to use. Use this link to find more info:
|
||||||
https://www.paypal.com/affil/pal=Bram%40iccf-holland.org
|
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
|
||||||
The e-mail address for sending the money to is:
|
The e-mail address for sending the money to is:
|
||||||
Bram@iccf-holland.org
|
Bram@iccf-holland.org
|
||||||
For amounts above 400 Euro ($500) sending a check is
|
For amounts above 400 Euro ($500) sending a check is
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*undo.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*undo.txt* For Vim version 7.1a. Last change: 2006 Apr 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_02.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_02.txt* For Vim version 7.1a. Last change: 2007 Feb 28
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -302,7 +302,7 @@ edited. Typing this command twice cancels the preceding "U".
|
|||||||
|
|
||||||
The "U" command is a change by itself, which the "u" command undoes and CTRL-R
|
The "U" command is a change by itself, which the "u" command undoes and CTRL-R
|
||||||
redoes. This might be a bit confusing. Don't worry, with "u" and CTRL-R you
|
redoes. This might be a bit confusing. Don't worry, with "u" and CTRL-R you
|
||||||
can go to any of the situations you had. More about that in section ||.
|
can go to any of the situations you had. More about that in section |32.1|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*02.6* Other editing commands
|
*02.6* Other editing commands
|
||||||
@@ -497,6 +497,66 @@ You can use the error ID at the start to find help about it: >
|
|||||||
|
|
||||||
:help E37
|
:help E37
|
||||||
|
|
||||||
|
|
||||||
|
Summary: *help-summary* >
|
||||||
|
:help
|
||||||
|
< Gives you very general help. Scroll down to see a list of all
|
||||||
|
helpfiles, including those added locally (i.e. not distributed
|
||||||
|
with Vim). >
|
||||||
|
:help user-toc.txt
|
||||||
|
< Table of contents of the User Manual. >
|
||||||
|
:help :subject
|
||||||
|
< Ex-command "subject", for instance the following: >
|
||||||
|
:help :help
|
||||||
|
< Help on getting help. >
|
||||||
|
:help abc
|
||||||
|
< normal-mode command "abc". >
|
||||||
|
:help CTRL-B
|
||||||
|
< Control key <C-B> in Normal mode. >
|
||||||
|
:help i_abc
|
||||||
|
:help i_CTRL-B
|
||||||
|
< The same in Insert mode. >
|
||||||
|
:help v_abc
|
||||||
|
:help v_CTRL-B
|
||||||
|
< The same in Visual mode. >
|
||||||
|
:help c_abc
|
||||||
|
:help c_CTRL-B
|
||||||
|
< The same in Command-line mode. >
|
||||||
|
:help 'subject'
|
||||||
|
< Option 'subject'. >
|
||||||
|
:help subject()
|
||||||
|
< Function "subject". >
|
||||||
|
:help -subject
|
||||||
|
< Command-line option "-subject". >
|
||||||
|
:help +subject
|
||||||
|
< Compile-time feature "+subject'. >
|
||||||
|
:help EventName
|
||||||
|
< Autocommand event "EventName". >
|
||||||
|
:help digraphs.txt
|
||||||
|
< The top of the helpfile "digraph.txt".
|
||||||
|
Similarly for any other helpfile. >
|
||||||
|
:help pattern<Tab>
|
||||||
|
< Find a help tag starting with "pattern". Repeat <Tab> for
|
||||||
|
others. >
|
||||||
|
:help pattern<Ctrl-D>
|
||||||
|
< See all possible help tag matches "pattern" at once. >
|
||||||
|
:helpgrep pattern
|
||||||
|
< Search the whole text of all help files for pattern "pattern".
|
||||||
|
Jumps to the first match. Jump to other matches with: >
|
||||||
|
:cn
|
||||||
|
< next match >
|
||||||
|
:cprev
|
||||||
|
:cN
|
||||||
|
< previous match >
|
||||||
|
:cfirst
|
||||||
|
:clast
|
||||||
|
< first or last match >
|
||||||
|
:copen
|
||||||
|
:cclose
|
||||||
|
< open/close the quickfix window; press <Enter> to jump
|
||||||
|
to the item under the cursor
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
Next chapter: |usr_03.txt| Moving around
|
Next chapter: |usr_03.txt| Moving around
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_03.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_03.txt* For Vim version 7.1a. Last change: 2006 Jun 21
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -606,7 +606,7 @@ NAMED MARKS *bookmark*
|
|||||||
Vim enables you to place your own marks in the text. The command "ma" marks
|
Vim enables you to place your own marks in the text. The command "ma" marks
|
||||||
the place under the cursor as mark a. You can place 26 marks (a through z) in
|
the place under the cursor as mark a. You can place 26 marks (a through z) in
|
||||||
your text. You can't see them, it's just a position that Vim remembers.
|
your text. You can't see them, it's just a position that Vim remembers.
|
||||||
To go to a mark, use the command `{mark}, where "{mark} is the mark letter.
|
To go to a mark, use the command `{mark}, where {mark} is the mark letter.
|
||||||
Thus to move to the a mark:
|
Thus to move to the a mark:
|
||||||
>
|
>
|
||||||
`a
|
`a
|
||||||
@@ -622,7 +622,7 @@ while working on some text near the end of the file.
|
|||||||
|
|
||||||
ms
|
ms
|
||||||
|
|
||||||
The move to the text you want to work on and put the e (end) mark there: >
|
Then move to the text you want to work on and put the e (end) mark there: >
|
||||||
|
|
||||||
me
|
me
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_08.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*usr_08.txt* For Vim version 7.1a. Last change: 2006 Jul 18
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -197,8 +197,8 @@ unmodified.)
|
|||||||
MOVING BETWEEN WINDOWS
|
MOVING BETWEEN WINDOWS
|
||||||
|
|
||||||
Since you can split windows horizontally and vertically as much as you like,
|
Since you can split windows horizontally and vertically as much as you like,
|
||||||
you can create any layout of windows. Then you can use these commands to move
|
you can create almost any layout of windows. Then you can use these commands
|
||||||
between them:
|
to move between them:
|
||||||
|
|
||||||
CTRL-W h move to the window on the left
|
CTRL-W h move to the window on the left
|
||||||
CTRL-W j move to the window below
|
CTRL-W j move to the window below
|
||||||
@@ -242,7 +242,7 @@ and the type this command: >
|
|||||||
This uses the uppercase letter K. What happens is that the window is moved to
|
This uses the uppercase letter K. What happens is that the window is moved to
|
||||||
the very top. You will notice that K is again used for moving upwards.
|
the very top. You will notice that K is again used for moving upwards.
|
||||||
When you have vertical splits, CTRL-W K will move the current window to the
|
When you have vertical splits, CTRL-W K will move the current window to the
|
||||||
top and make it occupy the full with of the Vim window. If this is your
|
top and make it occupy the full width of the Vim window. If this is your
|
||||||
layout:
|
layout:
|
||||||
|
|
||||||
+-------------------------------------------+
|
+-------------------------------------------+
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_09.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_09.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_10.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_10.txt* For Vim version 7.1a. Last change: 2006 Nov 05
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -183,8 +183,9 @@ results in (starting with the original line):
|
|||||||
Teacher Smith criticized Teacher Johnson today. ~
|
Teacher Smith criticized Teacher Johnson today. ~
|
||||||
|
|
||||||
Other flags include p (print), which causes the ":substitute" command to print
|
Other flags include p (print), which causes the ":substitute" command to print
|
||||||
out each line it changes. The c (confirm) flag tells ":substitute" to ask you
|
out the last line it changes. The c (confirm) flag tells ":substitute" to ask
|
||||||
for confirmation before it performs each substitution. Enter the following: >
|
you for confirmation before it performs each substitution. Enter the
|
||||||
|
following: >
|
||||||
|
|
||||||
:%s/Professor/Teacher/c
|
:%s/Professor/Teacher/c
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_25.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_25.txt* For Vim version 7.1a. Last change: 2006 Jun 21
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ whole file by typing this: >
|
|||||||
together. A common mistake is to have a line with a space or Tab. That's a
|
together. A common mistake is to have a line with a space or Tab. That's a
|
||||||
blank line, but not an empty line.
|
blank line, but not an empty line.
|
||||||
|
|
||||||
Vim is able format more than just plain text. See |fo-table| for how to
|
Vim is able to format more than just plain text. See |fo-table| for how to
|
||||||
change this. See the 'joinspaces' option to change the number of spaces used
|
change this. See the 'joinspaces' option to change the number of spaces used
|
||||||
after a full stop.
|
after a full stop.
|
||||||
It is possible to use an external program for formatting. This is useful
|
It is possible to use an external program for formatting. This is useful
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_26.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_26.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_29.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_29.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_32.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*usr_32.txt* For Vim version 7.1a. Last change: 2006 Apr 30
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_42.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_42.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_44.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_44.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_90.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_90.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*usr_toc.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*usr_toc.txt* For Vim version 7.1a. Last change: 2006 Apr 24
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*version5.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*version5.txt* For Vim version 7.1a. Last change: 2006 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1865,7 +1865,7 @@ For ":syntax keyword" the "transparent" option did work, although not
|
|||||||
mentioned in the help. But synID() returned wrong name.
|
mentioned in the help. But synID() returned wrong name.
|
||||||
|
|
||||||
"gqG" in a file with one-word-per-line (e.g. a dictionary) was very slow and
|
"gqG" in a file with one-word-per-line (e.g. a dictionary) was very slow and
|
||||||
not interruptable.
|
not interruptible.
|
||||||
|
|
||||||
"gq" operator inserted screen lines in the wrong situation. Now screen
|
"gq" operator inserted screen lines in the wrong situation. Now screen
|
||||||
lines are inserted or deleted when this speeds up displaying.
|
lines are inserted or deleted when this speeds up displaying.
|
||||||
@@ -2870,7 +2870,7 @@ backspace key. "\<Del>" produces 0x7f.
|
|||||||
|
|
||||||
The shell syntax didn't contain a "syn sync maxlines" setting. In a long file
|
The shell syntax didn't contain a "syn sync maxlines" setting. In a long file
|
||||||
without recognizable items, syncing took so long it looked like Vim hangs.
|
without recognizable items, syncing took so long it looked like Vim hangs.
|
||||||
Added a maxlines setting, and made syncing interruptable.
|
Added a maxlines setting, and made syncing interruptible.
|
||||||
|
|
||||||
The "gs" command didn't flush output before waiting.
|
The "gs" command didn't flush output before waiting.
|
||||||
|
|
||||||
@@ -7578,7 +7578,7 @@ Fixed compiling under NeXT. (Jeroen C.M. Goudswaard)
|
|||||||
|
|
||||||
optwin.vim gave an error when used in Vi compatible mode ('cpo' contains 'C').
|
optwin.vim gave an error when used in Vi compatible mode ('cpo' contains 'C').
|
||||||
|
|
||||||
Tcl interpreter: "buffer" command didn't check for presense of an argument.
|
Tcl interpreter: "buffer" command didn't check for presence of an argument.
|
||||||
(Dave Bodenstab)
|
(Dave Bodenstab)
|
||||||
|
|
||||||
dosinst.c: Added checks for too long file name.
|
dosinst.c: Added checks for too long file name.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*version6.txt* For Vim version 7.0. Last change: 2006 Apr 30
|
*version6.txt* For Vim version 7.1a. Last change: 2006 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -11128,7 +11128,7 @@ Solution: Insert the indent. Also fix other mistakes.
|
|||||||
Files: runtime/doc/eval.txt
|
Files: runtime/doc/eval.txt
|
||||||
|
|
||||||
Patch 6.2.187
|
Patch 6.2.187
|
||||||
Problem: Using Insure++ reveals a number of bugs. (Dominuque Pelle)
|
Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle)
|
||||||
Solution: Initialize variables where needed. Free allocated memory to avoid
|
Solution: Initialize variables where needed. Free allocated memory to avoid
|
||||||
leaks. Fix comparing tags to avoid reading past allocated memory.
|
leaks. Fix comparing tags to avoid reading past allocated memory.
|
||||||
Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
|
Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
|
||||||
@@ -14406,7 +14406,7 @@ Files: src/normal.c
|
|||||||
Patch 6.3.075
|
Patch 6.3.075
|
||||||
Problem: After unloading another buffer, syntax highlighting in the current
|
Problem: After unloading another buffer, syntax highlighting in the current
|
||||||
buffer may be wrong when it uses "containedin". (Eric Arnold)
|
buffer may be wrong when it uses "containedin". (Eric Arnold)
|
||||||
Solution: Use "buf" intead of "curbuf" in syntax_clear().
|
Solution: Use "buf" instead of "curbuf" in syntax_clear().
|
||||||
Files: src/syntax.c
|
Files: src/syntax.c
|
||||||
|
|
||||||
Patch 6.3.076
|
Patch 6.3.076
|
||||||
|
@@ -182,7 +182,6 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sub writeCSS
|
sub writeCSS
|
||||||
{
|
{
|
||||||
open( CSS, ">vim-stylesheet.css" ) || die "Couldn't write stylesheet: $!\n";
|
open( CSS, ">vim-stylesheet.css" ) || die "Couldn't write stylesheet: $!\n";
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
*visual.txt* For Vim version 7.0. Last change: 2006 Apr 24
|
*visual.txt* For Vim version 7.1a. Last change: 2006 Sep 26
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -175,7 +175,7 @@ stops when a motion command is used that does not move straight up or down.
|
|||||||
|
|
||||||
For moving the end of the block many commands can be used, but you cannot
|
For moving the end of the block many commands can be used, but you cannot
|
||||||
use Ex commands, commands that make changes or abandon the file. Commands
|
use Ex commands, commands that make changes or abandon the file. Commands
|
||||||
(starting with) ".pPiIaAO&", CTRL-^, "Z", CTRL-], CTRL-T, CTRL-R, CTRL-I
|
(starting with) ".", "&", CTRL-^, "Z", CTRL-], CTRL-T, CTRL-R, CTRL-I
|
||||||
and CTRL-O cause a beep and Visual mode continues.
|
and CTRL-O cause a beep and Visual mode continues.
|
||||||
|
|
||||||
When switching to another window on the same buffer, the cursor position in
|
When switching to another window on the same buffer, the cursor position in
|
||||||
|
@@ -226,7 +226,7 @@ Stampa 3 linee (0x30 bytes esadecimali) alla fine di
|
|||||||
\fI% xxd \-s \-0x30 file
|
\fI% xxd \-s \-0x30 file
|
||||||
.PP
|
.PP
|
||||||
.br
|
.br
|
||||||
Stampa 120 bytes come immagine esadecimale continua con 40 bytes per linea.
|
Stampa 120 bytes come immagine esadecimale continua con 20 bytes per linea.
|
||||||
.br
|
.br
|
||||||
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
||||||
|
|
||||||
|
@@ -216,7 +216,7 @@ Wypisz trzy linie (heksowe 0x30 bajtów) z końca
|
|||||||
\fI% xxd \-s \-0x30 plik
|
\fI% xxd \-s \-0x30 plik
|
||||||
.PP
|
.PP
|
||||||
.br
|
.br
|
||||||
Wypisz 120 bajtów jako ciągły zrzut heksowy z 40 oktetami na linię.
|
Wypisz 120 bajtów jako ciągły zrzut heksowy z 20 oktetami na linię.
|
||||||
.br
|
.br
|
||||||
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
||||||
.br
|
.br
|
||||||
|
@@ -231,7 +231,7 @@ xxd с помощью strace(1) или truss(1) в тех случаях, ког
|
|||||||
.PP
|
.PP
|
||||||
.br
|
.br
|
||||||
Вывести 120 байтов в виде непрерывного шестнадцатеричного представления
|
Вывести 120 байтов в виде непрерывного шестнадцатеричного представления
|
||||||
по 40 октетов в строке:
|
по 20 октетов в строке:
|
||||||
.PP
|
.PP
|
||||||
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
||||||
.br
|
.br
|
||||||
|
@@ -1,62 +1,102 @@
|
|||||||
" Vim Ada plugin file
|
"------------------------------------------------------------------------------
|
||||||
" Language: Ada
|
" Description: Perform Ada specific completion & tagging.
|
||||||
" Maintainer: Neil Bird <neil@fnxweb.com>
|
" Language: Ada (2005)
|
||||||
" Last Change: 2006 Apr 21
|
" $Id$
|
||||||
" Version: $Id$
|
" Maintainer: Martin Krischik
|
||||||
" Look for the latest version at http://vim.sourceforge.net/
|
" Neil Bird <neil@fnxweb.com>
|
||||||
"
|
" $Author$
|
||||||
" Perform Ada specific completion & tagging.
|
" $Date$
|
||||||
"
|
" Version: 4.2
|
||||||
"
|
" $Revision$
|
||||||
|
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $
|
||||||
|
" History: 24.05.2006 MK Unified Headers
|
||||||
|
" 26.05.2006 MK ' should not be in iskeyword.
|
||||||
|
" 16.07.2006 MK Ada-Mode as vim-ball
|
||||||
|
" 02.10.2006 MK Better folding.
|
||||||
|
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||||
|
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||||
|
" autoload
|
||||||
|
" 05.11.2006 MK Bram suggested to save on spaces
|
||||||
|
" Help Page: ft-ada-plugin
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
" Provides mapping overrides for tag jumping that figure out the current
|
" Provides mapping overrides for tag jumping that figure out the current
|
||||||
" Ada object and tag jump to that, not the 'simple' vim word.
|
" Ada object and tag jump to that, not the 'simple' vim word.
|
||||||
" Similarly allows <Ctrl-N> matching of full-length ada entities from tags.
|
" Similarly allows <Ctrl-N> matching of full-length ada entities from tags.
|
||||||
" Exports 'AdaWord()' function to return full name of Ada entity under the
|
"------------------------------------------------------------------------------
|
||||||
" cursor( or at given line/column), stripping whitespace/newlines as necessary.
|
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists ("b:did_ftplugin") || version < 700
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't load another plugin for this buffer
|
" Don't load another plugin for this buffer
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 38
|
||||||
|
|
||||||
|
"
|
||||||
" Temporarily set cpoptions to ensure the script loads OK
|
" Temporarily set cpoptions to ensure the script loads OK
|
||||||
|
"
|
||||||
let s:cpoptions = &cpoptions
|
let s:cpoptions = &cpoptions
|
||||||
set cpo-=C
|
set cpoptions-=C
|
||||||
|
|
||||||
" Ada comments
|
" Section: Comments {{{1
|
||||||
setlocal comments+=O:--
|
"
|
||||||
|
setlocal comments=O:--,:--\ \
|
||||||
|
setlocal commentstring=--\ \ %s
|
||||||
|
setlocal complete=.,w,b,u,t,i
|
||||||
|
|
||||||
" Make local tag mappings for this buffer (if not already set)
|
" Section: Tagging {{{1
|
||||||
if mapcheck('<C-]>','n') == ''
|
"
|
||||||
nnoremap <unique> <buffer> <C-]> :call JumpToTag_ada('')<cr>
|
if exists ("g:ada_extended_tagging")
|
||||||
endif
|
" Make local tag mappings for this buffer (if not already set)
|
||||||
if mapcheck('g<C-]>','n') == ''
|
if g:ada_extended_tagging == 'jump'
|
||||||
nnoremap <unique> <buffer> g<C-]> :call JumpToTag_ada('','stj')<cr>
|
if mapcheck('<C-]>','n') == ''
|
||||||
|
nnoremap <unique> <buffer> <C-]> :call ada#Jump_Tag ('', 'tjump')<cr>
|
||||||
|
endif
|
||||||
|
if mapcheck('g<C-]>','n') == ''
|
||||||
|
nnoremap <unique> <buffer> g<C-]> :call ada#Jump_Tag ('','stjump')<cr>
|
||||||
|
endif
|
||||||
|
elseif g:ada_extended_tagging == 'list'
|
||||||
|
if mapcheck('<C-]>','n') == ''
|
||||||
|
nnoremap <unique> <buffer> <C-]> :call ada#List_Tag ()<cr>
|
||||||
|
endif
|
||||||
|
if mapcheck('g<C-]>','n') == ''
|
||||||
|
nnoremap <unique> <buffer> g<C-]> :call ada#List_Tag ()<cr>
|
||||||
|
endif
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if mapcheck('<C-N>','i') == ''
|
" Section: Completion {{{1
|
||||||
inoremap <unique> <buffer> <C-N> <C-R>=<SID>AdaCompletion("\<lt>C-N>")<cr>
|
"
|
||||||
endif
|
setlocal completefunc=ada#User_Complete
|
||||||
if mapcheck('<C-P>','i') == ''
|
setlocal omnifunc=adacomplete#Complete
|
||||||
inoremap <unique> <buffer> <C-P> <C-R>=<SID>AdaCompletion("\<lt>C-P>")<cr>
|
|
||||||
endif
|
if exists ("g:ada_extended_completion")
|
||||||
if mapcheck('<C-X><C-]>','i') == ''
|
if mapcheck ('<C-N>','i') == ''
|
||||||
inoremap <unique> <buffer> <C-X><C-]> <C-R>=<SID>AdaCompletion("\<lt>C-X>\<lt>C-]>")<cr>
|
inoremap <unique> <buffer> <C-N> <C-R>=ada#Completion("\<lt>C-N>")<cr>
|
||||||
endif
|
endif
|
||||||
if mapcheck('<bs>','i') == ''
|
if mapcheck ('<C-P>','i') == ''
|
||||||
inoremap <silent> <unique> <buffer> <bs> <C-R>=<SID>AdaInsertBackspace()<cr>
|
inoremap <unique> <buffer> <C-P> <C-R>=ada#Completion("\<lt>C-P>")<cr>
|
||||||
|
endif
|
||||||
|
if mapcheck ('<C-X><C-]>','i') == ''
|
||||||
|
inoremap <unique> <buffer> <C-X><C-]> <C-R>=<SID>ada#Completion("\<lt>C-X>\<lt>C-]>")<cr>
|
||||||
|
endif
|
||||||
|
if mapcheck ('<bs>','i') == ''
|
||||||
|
inoremap <silent> <unique> <buffer> <bs> <C-R>=ada#Insert_Backspace ()<cr>
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Section: Matchit {{{1
|
||||||
|
"
|
||||||
" Only do this when not done yet for this buffer & matchit is used
|
" Only do this when not done yet for this buffer & matchit is used
|
||||||
if ! exists("b:match_words") && exists("loaded_matchit")
|
"
|
||||||
|
if !exists ("b:match_words") &&
|
||||||
|
\ exists ("loaded_matchit")
|
||||||
|
"
|
||||||
" The following lines enable the macros/matchit.vim plugin for
|
" The following lines enable the macros/matchit.vim plugin for
|
||||||
" Ada-specific extended matching with the % key.
|
" Ada-specific extended matching with the % key.
|
||||||
|
"
|
||||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||||
let b:match_words=
|
let b:match_words =
|
||||||
\ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' .
|
\ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' .
|
||||||
\ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' .
|
\ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' .
|
||||||
\ '\%(\<while\>.*\|\<for\>.*\|'.s:notend.'\)\<loop\>:\<end\>\s\+\<loop\>,' .
|
\ '\%(\<while\>.*\|\<for\>.*\|'.s:notend.'\)\<loop\>:\<end\>\s\+\<loop\>,' .
|
||||||
@@ -64,160 +104,87 @@ if ! exists("b:match_words") && exists("loaded_matchit")
|
|||||||
\ s:notend . '\<record\>:\<end\>\s\+\<record\>'
|
\ s:notend . '\<record\>:\<end\>\s\+\<record\>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Section: Compiler {{{1
|
||||||
" Prevent re-load of functions
|
"
|
||||||
if exists('s:id')
|
if ! exists("current_compiler") ||
|
||||||
finish
|
\ current_compiler != g:ada_default_compiler
|
||||||
|
execute "compiler " . g:ada_default_compiler
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Get this script's unique id
|
" Section: Folding {{{1
|
||||||
map <script> <SID>?? <SID>??
|
"
|
||||||
let s:id = substitute( maparg('<SID>??'), '^<SNR>\(.*\)_??$', '\1', '' )
|
if exists("g:ada_folding")
|
||||||
unmap <script> <SID>??
|
if g:ada_folding[0] == 'i'
|
||||||
|
setlocal foldmethod=indent
|
||||||
|
setlocal foldignore=--
|
||||||
" Extract current Ada word across multiple lines
|
setlocal foldnestmax=5
|
||||||
" AdaWord( [line, column] )\
|
elseif g:ada_folding[0] == 'g'
|
||||||
let s:AdaWordRegex = '\a\w*\(\_s*\.\_s*\a\w*\)*'
|
setlocal foldmethod=expr
|
||||||
let s:AdaComment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
setlocal foldexpr=ada#Pretty_Print_Folding(v:lnum)
|
||||||
|
elseif g:ada_folding[0] == 's'
|
||||||
function! AdaWord(...)
|
setlocal foldmethod=syntax
|
||||||
if a:0 > 1
|
|
||||||
let linenr = a:1
|
|
||||||
let colnr = a:2 - 1
|
|
||||||
else
|
|
||||||
let linenr = line('.')
|
|
||||||
let colnr = col('.') - 1
|
|
||||||
endif
|
|
||||||
let line = substitute( getline(linenr), s:AdaComment, '', '' )
|
|
||||||
" Cope with tag searching for items in comments; if we are, don't loop
|
|
||||||
" backards looking for previous lines
|
|
||||||
if colnr > strlen(line)
|
|
||||||
" We were in a comment
|
|
||||||
let line = getline(linenr)
|
|
||||||
let search_prev_lines = 0
|
|
||||||
else
|
|
||||||
let search_prev_lines = 1
|
|
||||||
endif
|
endif
|
||||||
|
setlocal tabstop=8
|
||||||
|
setlocal softtabstop=3
|
||||||
|
setlocal shiftwidth=3
|
||||||
|
endif
|
||||||
|
|
||||||
" Go backwards until we find a match (Ada ID) that *doesn't* include our
|
" Section: Abbrev {{{1
|
||||||
" location - i.e., the previous ID. This is because the current 'correct'
|
"
|
||||||
" match will toggle matching/not matching as we traverse characters
|
if exists("g:ada_abbrev")
|
||||||
" backwards. Thus, we have to find the previous unrelated match, exclude
|
iabbrev ret return
|
||||||
" it, then use the next full match (ours).
|
iabbrev proc procedure
|
||||||
" Remember to convert vim column 'colnr' [1..n] to string offset [0..(n-1)]
|
iabbrev pack package
|
||||||
" ... but start, here, one after the required char.
|
iabbrev func function
|
||||||
let newcol = colnr + 1
|
endif
|
||||||
while 1
|
|
||||||
let newcol = newcol - 1
|
|
||||||
if newcol < 0
|
|
||||||
" Have to include previous line from file
|
|
||||||
let linenr = linenr - 1
|
|
||||||
if linenr < 1 || !search_prev_lines
|
|
||||||
" Start of file or matching in a comment
|
|
||||||
let linenr = 1
|
|
||||||
let newcol = 0
|
|
||||||
let ourmatch = match( line, s:AdaWordRegex )
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
" Get previous line, and prepend it to our search string
|
|
||||||
let newline = substitute( getline(linenr), s:AdaComment, '', '' )
|
|
||||||
let newcol = strlen(newline) - 1
|
|
||||||
let colnr = colnr + newcol
|
|
||||||
let line = newline . line
|
|
||||||
endif
|
|
||||||
" Check to see if this is a match excluding 'us'
|
|
||||||
let mend = newcol + matchend( strpart(line,newcol), s:AdaWordRegex ) - 1
|
|
||||||
if mend >= newcol && mend < colnr
|
|
||||||
" Yes
|
|
||||||
let ourmatch = mend+1 + match( strpart(line,mend+1), s:AdaWordRegex )
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
|
|
||||||
" Got anything?
|
" Section: Commands, Mapping, Menus {{{1
|
||||||
if ourmatch < 0
|
"
|
||||||
return ''
|
call ada#Map_Popup (
|
||||||
else
|
\ 'Tag.List',
|
||||||
let line = strpart( line, ourmatch)
|
\ 'l',
|
||||||
endif
|
\ 'call ada#List_Tag ()')
|
||||||
|
call ada#Map_Popup (
|
||||||
" Now simply add further lines until the match gets no bigger
|
\'Tag.Jump',
|
||||||
let matchstr = matchstr( line, s:AdaWordRegex )
|
\'j',
|
||||||
let lastline = line('$')
|
\'call ada#Jump_Tag ()')
|
||||||
let linenr = line('.') + 1
|
call ada#Map_Menu (
|
||||||
while linenr <= lastline
|
\'Tag.Create File',
|
||||||
let lastmatch = matchstr
|
\':AdaTagFile',
|
||||||
let line = line . substitute( getline(linenr), s:AdaComment, '', '' )
|
\'call ada#Create_Tags (''file'')')
|
||||||
let matchstr = matchstr( line, s:AdaWordRegex )
|
call ada#Map_Menu (
|
||||||
if matchstr == lastmatch
|
\'Tag.Create Dir',
|
||||||
break
|
\':AdaTagDir',
|
||||||
endif
|
\'call ada#Create_Tags (''dir'')')
|
||||||
endwhile
|
|
||||||
|
|
||||||
" Strip whitespace & return
|
|
||||||
return substitute( matchstr, '\s\+', '', 'g' )
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
|
||||||
" Word tag - include '.' and if Ada make uppercase
|
|
||||||
" Name allows a common JumpToTag() to look for an ft specific JumpToTag_ft().
|
|
||||||
function! JumpToTag_ada(word,...)
|
|
||||||
if a:word == ''
|
|
||||||
" Get current word
|
|
||||||
let word = AdaWord()
|
|
||||||
if word == ''
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
let word = a:word
|
|
||||||
endif
|
|
||||||
if a:0 > 0
|
|
||||||
let mode = a:1
|
|
||||||
else
|
|
||||||
let mode = 'tj'
|
|
||||||
endif
|
|
||||||
|
|
||||||
let v:errmsg = ''
|
|
||||||
execute 'silent!' mode word
|
|
||||||
if v:errmsg != ''
|
|
||||||
if v:errmsg =~ '^E426:' " Tag not found
|
|
||||||
let ignorecase = &ignorecase
|
|
||||||
set ignorecase
|
|
||||||
execute mode word
|
|
||||||
let &ignorecase = ignorecase
|
|
||||||
else
|
|
||||||
" Repeat to give error
|
|
||||||
execute mode word
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
|
||||||
" Word completion (^N/^R/^X^]) - force '.' inclusion
|
|
||||||
function! s:AdaCompletion(cmd)
|
|
||||||
set iskeyword+=46
|
|
||||||
return a:cmd . "\<C-R>=<SNR>" . s:id . "_AdaCompletionEnd()\<CR>"
|
|
||||||
endfunction
|
|
||||||
function! s:AdaCompletionEnd()
|
|
||||||
set iskeyword-=46
|
|
||||||
return ''
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
|
||||||
" Backspace at end of line after auto-inserted commentstring '-- ' wipes it
|
|
||||||
function! s:AdaInsertBackspace()
|
|
||||||
let line = getline('.')
|
|
||||||
if col('.') > strlen(line) && match(line,'-- $') != -1 && match(&comments,'--') != -1
|
|
||||||
return "\<bs>\<bs>\<bs>"
|
|
||||||
else
|
|
||||||
return "\<bs>"
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
call ada#Map_Menu (
|
||||||
|
\'Highlight.Toggle Space Errors',
|
||||||
|
\ ':AdaSpaces',
|
||||||
|
\'call ada#Switch_Syntax_Option (''space_errors'')')
|
||||||
|
call ada#Map_Menu (
|
||||||
|
\'Highlight.Toggle Lines Errors',
|
||||||
|
\ ':AdaLines',
|
||||||
|
\'call ada#Switch_Syntax_Option (''line_errors'')')
|
||||||
|
call ada#Map_Menu (
|
||||||
|
\'Highlight.Toggle Rainbow Color',
|
||||||
|
\ ':AdaRainbow',
|
||||||
|
\'call ada#Switch_Syntax_Option (''rainbow_color'')')
|
||||||
|
call ada#Map_Menu (
|
||||||
|
\'Highlight.Toggle Standard Types',
|
||||||
|
\ ':AdaTypes',
|
||||||
|
\'call ada#Switch_Syntax_Option (''standard_types'')')
|
||||||
|
|
||||||
|
" 1}}}
|
||||||
" Reset cpoptions
|
" Reset cpoptions
|
||||||
let &cpoptions = s:cpoptions
|
let &cpoptions = s:cpoptions
|
||||||
unlet s:cpoptions
|
unlet s:cpoptions
|
||||||
|
|
||||||
" vim: sts=2 sw=2 :
|
finish " 1}}}
|
||||||
|
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" Copyright (C) 2006 Martin Krischik
|
||||||
|
"
|
||||||
|
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" vim: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||||
|
" vim: foldmethod=marker
|
||||||
|
15
runtime/ftplugin/bst.vim
Normal file
15
runtime/ftplugin/bst.vim
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: bst
|
||||||
|
" Author: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
|
" $Id$
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
setlocal commentstring=%\ %s
|
||||||
|
setlocal comments=:%
|
||||||
|
setlocal fo-=t fo+=croql
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setlocal com< cms< fo<"
|
266
runtime/ftplugin/cobol.vim
Normal file
266
runtime/ftplugin/cobol.vim
Normal file
@@ -0,0 +1,266 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: cobol
|
||||||
|
" Author: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
|
" $Id$
|
||||||
|
|
||||||
|
" Insert mode mappings: <C-T> <C-D> <Tab>
|
||||||
|
" Normal mode mappings: < > << >> [[ ]] [] ][
|
||||||
|
" Visual mode mappings: < >
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
setlocal commentstring=\ \ \ \ \ \ *%s
|
||||||
|
setlocal comments=:*
|
||||||
|
setlocal fo+=croqlt
|
||||||
|
setlocal expandtab
|
||||||
|
setlocal textwidth=72
|
||||||
|
|
||||||
|
" matchit support
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let s:ordot = '\|\ze\.\%( \@=\|$\)'
|
||||||
|
let b:match_ignorecase=1
|
||||||
|
"let b:match_skip = 'getline(".") =~ "^.\\{6\\}[*/C]"'
|
||||||
|
let b:match_words=
|
||||||
|
\ '\$if\>:$else\>:\$endif\>,' .
|
||||||
|
\ '[$-]\@<!\<if\>:\<\%(then\|else\)\>:\<end-if\>'.s:ordot.',' .
|
||||||
|
\ '-\@<!\<perform\s\+\%(\d\+\s\+times\|until\|varying\|with\s\+test\)\>:\<end-perform\>'.s:ordot . ',' .
|
||||||
|
\ '-\@<!\<\%(search\|evaluate\)\>:\<\%(when\)\>:\<end-\%(search\|evaluate\)\>' .s:ordot . ',' .
|
||||||
|
\ '-\@<!\<\%(add\|compute\|divide\|multiply\|subtract\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+size\s\+error\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=on\s\+size\s\+error\>:\<end-\%(add\|compute\|divide\|multiply\|subtract\)\>' .s:ordot . ',' .
|
||||||
|
\ '-\@<!\<\%(string\|unstring\|accept\|display\|call\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=on\s\+\%(overflow\|exception\)\>:\<end-\%(string\|unstring\|accept\|display\|call\)\>' .s:ordot . ',' .
|
||||||
|
\ '-\@<!\<\%(delete\|rewrite\|start\|write\|read\)\>\%(.*\(\%$\|\%(\n\%(\%(\s*\|.\{6\}\)[*/].*\n\)*\)\=\s*\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>\)\)\@=:\%(\<not\s\+\)\@<!\<\%(not\s\+\)\=\%(invalid\s\+key\|at\s\+end\|no\s\+data\|at\s\+end-of-page\)\>:\<end-\%(delete\|rewrite\|start\|write\|read\)\>' .s:ordot
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has("gui_win32") && !exists("b:browsefilter")
|
||||||
|
let b:browsefilter = "COBOL Source Files (*.cbl, *.cob)\t*.cbl;*.cob;*.lib\n".
|
||||||
|
\ "All Files (*.*)\t*.*\n"
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setlocal com< cms< fo< et< tw<" .
|
||||||
|
\ " | unlet! b:browsefilter b:match_words b:match_ignorecase b:match_skip"
|
||||||
|
if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps")
|
||||||
|
let b:undo_ftplugin = b:undo_ftplugin .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> <'" .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> >'" .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> <<'" .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> >>'" .
|
||||||
|
\ " | sil! exe 'vunmap <buffer> <'" .
|
||||||
|
\ " | sil! exe 'vunmap <buffer> >'" .
|
||||||
|
\ " | sil! exe 'iunmap <buffer> <C-D>'" .
|
||||||
|
\ " | sil! exe 'iunmap <buffer> <C-T>'" .
|
||||||
|
\ " | sil! exe 'iunmap <buffer> <Tab>'" .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> <Plug>Traditional'" .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> <Plug>Comment'" .
|
||||||
|
\ " | sil! exe 'nunmap <buffer> <Plug>DeComment'" .
|
||||||
|
\ " | sil! exe 'vunmap <buffer> <Plug>VisualTraditional'" .
|
||||||
|
\ " | sil! exe 'vunmap <buffer> <Plug>VisualComment'" .
|
||||||
|
\ " | sil! exe 'iunmap <buffer> <Plug>VisualDeComment'" .
|
||||||
|
\ " | sil! exe 'unmap <buffer> [['" .
|
||||||
|
\ " | sil! exe 'unmap <buffer> ]]'" .
|
||||||
|
\ " | sil! exe 'unmap <buffer> []'" .
|
||||||
|
\ " | sil! exe 'unmap <buffer> ]['"
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists("g:no_plugin_maps") && !exists("g:no_cobol_maps")
|
||||||
|
if version >= 700
|
||||||
|
nnoremap <silent> <buffer> > :set opfunc=<SID>IncreaseFunc<CR>g@
|
||||||
|
nnoremap <silent> <buffer> < :set opfunc=<SID>DecreaseFunc<CR>g@
|
||||||
|
endif
|
||||||
|
nnoremap <silent> <buffer> >> :call CobolIndentBlock(1)<CR>
|
||||||
|
nnoremap <silent> <buffer> << :call CobolIndentBlock(-1)<CR>
|
||||||
|
vnoremap <silent> <buffer> > :call CobolIndentBlock(v:count1)<CR>
|
||||||
|
vnoremap <silent> <buffer> < :call CobolIndentBlock(-v:count1)<CR>
|
||||||
|
inoremap <silent> <buffer> <C-T> <C-R>=<SID>IncreaseIndent()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
|
||||||
|
inoremap <silent> <buffer> <C-D> <C-R>=<SID>DecreaseIndent()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
|
||||||
|
if !maparg("<Tab>","i")
|
||||||
|
inoremap <silent> <buffer> <Tab> <C-R>=<SID>Tab()<CR><C-R>=<SID>RestoreShiftwidth()<CR>
|
||||||
|
endif
|
||||||
|
noremap <silent> <buffer> [[ m':call search('\c^\%(\s*\<Bar>.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\<Bar>section\)\s*\.','bW')<CR>
|
||||||
|
noremap <silent> <buffer> ]] m':call search('\c^\%(\s*\<Bar>.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\<Bar>section\)\.','W')<CR>
|
||||||
|
noremap <silent> <buffer> [] m':call <SID>toend('b')<CR>
|
||||||
|
noremap <silent> <buffer> ][ m':call <SID>toend('')<CR>
|
||||||
|
" For EnhancedCommentify
|
||||||
|
noremap <silent> <buffer> <Plug>Traditional :call <SID>Comment('t')<CR>
|
||||||
|
noremap <silent> <buffer> <Plug>Comment :call <SID>Comment('c')<CR>
|
||||||
|
noremap <silent> <buffer> <Plug>DeComment :call <SID>Comment('u')<CR>
|
||||||
|
noremap <silent> <buffer> <Plug>VisualTraditional :'<,'>call <SID>Comment('t')<CR>
|
||||||
|
noremap <silent> <buffer> <Plug>VisualComment :'<,'>call <SID>Comment('c')<CR>
|
||||||
|
noremap <silent> <buffer> <Plug>VisualDeComment :'<,'>call <SID>Comment('u')<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
|
|
||||||
|
if exists("g:did_cobol_ftplugin_functions")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:did_cobol_ftplugin_functions = 1
|
||||||
|
|
||||||
|
function! s:repeat(str,count)
|
||||||
|
let i = 0
|
||||||
|
let ret = ""
|
||||||
|
while i < a:count
|
||||||
|
let ret = ret . a:str
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
return ret
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:increase(...)
|
||||||
|
let lnum = '.'
|
||||||
|
let sw = &shiftwidth
|
||||||
|
let i = a:0 ? a:1 : indent(lnum)
|
||||||
|
if i >= 11
|
||||||
|
return sw - (i - 11) % sw
|
||||||
|
elseif i >= 7
|
||||||
|
return 11-i
|
||||||
|
elseif i == 6
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return 6-i
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:decrease(...)
|
||||||
|
let lnum = '.'
|
||||||
|
let sw = &shiftwidth
|
||||||
|
let i = indent(a:0 ? a:1 : lnum)
|
||||||
|
if i >= 11 + sw
|
||||||
|
return 1 + (i + 12) % sw
|
||||||
|
elseif i > 11
|
||||||
|
return i-11
|
||||||
|
elseif i > 7
|
||||||
|
return i-7
|
||||||
|
elseif i == 7
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
return i
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! CobolIndentBlock(shift)
|
||||||
|
let head = strpart(getline('.'),0,7)
|
||||||
|
let tail = strpart(getline('.'),7)
|
||||||
|
let indent = match(tail,'[^ ]')
|
||||||
|
let sw = &shiftwidth
|
||||||
|
let shift = a:shift
|
||||||
|
if shift > 0
|
||||||
|
if indent < 4
|
||||||
|
let tail = s:repeat(" ",4-indent).tail
|
||||||
|
let shift = shift - 1
|
||||||
|
endif
|
||||||
|
let tail = s:repeat(" ",shift*sw).tail
|
||||||
|
let shift = 0
|
||||||
|
elseif shift < 0
|
||||||
|
if (indent-4) > -shift * sw
|
||||||
|
let tail = strpart(tail,-shift * sw)
|
||||||
|
elseif (indent-4) > (-shift-1) * sw
|
||||||
|
let tail = strpart(tail,indent - 4)
|
||||||
|
else
|
||||||
|
let tail = strpart(tail,indent)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
call setline('.',head.tail)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:IncreaseFunc(type)
|
||||||
|
'[,']call CobolIndentBlock(1)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:DecreaseFunc(type)
|
||||||
|
'[,']call CobolIndentBlock(-1)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:IncreaseIndent()
|
||||||
|
let c = "\<C-T>"
|
||||||
|
if exists("*InsertCtrlTWrapper")
|
||||||
|
let key = InsertCtrlTWrapper()
|
||||||
|
if key != c
|
||||||
|
return key
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let interval = s:increase()
|
||||||
|
let b:cobol_shiftwidth = &shiftwidth
|
||||||
|
let &shiftwidth = 1
|
||||||
|
let lastchar = strpart(getline('.'),col('.')-2,1)
|
||||||
|
if lastchar == '0' || lastchar == '^'
|
||||||
|
return "\<BS>".lastchar.c
|
||||||
|
else
|
||||||
|
return s:repeat(c,interval)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:DecreaseIndent()
|
||||||
|
let c = "\<C-D>"
|
||||||
|
if exists("*InsertCtrlDWrapper")
|
||||||
|
" I hack Ctrl-D to delete when not at the end of the line.
|
||||||
|
let key = InsertCtrlDWrapper()
|
||||||
|
if key != c
|
||||||
|
return key
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let interval = s:decrease()
|
||||||
|
let b:cobol_shiftwidth = &shiftwidth
|
||||||
|
let &shiftwidth = 1
|
||||||
|
return s:repeat(c,interval)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:RestoreShiftwidth()
|
||||||
|
if exists("b:cobol_shiftwidth")
|
||||||
|
let &shiftwidth=b:cobol_shiftwidth
|
||||||
|
unlet b:cobol_shiftwidth
|
||||||
|
endif
|
||||||
|
return ""
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:Tab()
|
||||||
|
if (strpart(getline('.'),0,col('.')-1) =~ '^\s*$' && &sta)
|
||||||
|
return s:IncreaseIndent()
|
||||||
|
elseif &sts == &sw && &sts != 8 && &et
|
||||||
|
return s:repeat(" ",s:increase(col('.')-1))
|
||||||
|
else
|
||||||
|
return "\<Tab>"
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:Comment(arg)
|
||||||
|
" For EnhancedCommentify
|
||||||
|
let line = getline('.')
|
||||||
|
if (line =~ '^.\{6\}[*/C]' || a:arg == 'c') && a:arg != 'u'
|
||||||
|
let line = substitute(line,'^.\{6\}\zs.',' ','')
|
||||||
|
else
|
||||||
|
let line = substitute(line,'^.\{6\}\zs.','*','')
|
||||||
|
endif
|
||||||
|
call setline('.',line)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:toend(direction)
|
||||||
|
let ignore = '^\(\s*\|.\{6\}\)\%([*/]\|\s*$\)'
|
||||||
|
let keep = line('.')
|
||||||
|
keepjumps +
|
||||||
|
while line('.') < line('$') && getline('.') =~ ignore
|
||||||
|
keepjumps +
|
||||||
|
endwhile
|
||||||
|
let res = search('\c^\%(\s*\|.\{6\}\s\+\)\zs[A-Za-z0-9-]\+\s\+\%(division\|section\)\s*\.',a:direction.'W')
|
||||||
|
if a:direction != 'b' && !res
|
||||||
|
let res = line('$')
|
||||||
|
keepjumps $
|
||||||
|
elseif res
|
||||||
|
keepjumps -
|
||||||
|
endif
|
||||||
|
if res
|
||||||
|
while line('.') > 1 && getline('.') =~ ignore
|
||||||
|
keepjumps -
|
||||||
|
endwhile
|
||||||
|
if line('.') == 1 && getline('.') =~ ignore
|
||||||
|
exe "keepjumps ".keep
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
exe "keepjumps ".keep
|
||||||
|
endif
|
||||||
|
endfunction
|
@@ -2,14 +2,14 @@
|
|||||||
" Language: Debian Changelog
|
" Language: Debian Changelog
|
||||||
" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de>
|
" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||||
" Stefano Zacchiroli <zack@debian.org>
|
" Stefano Zacchiroli <zack@debian.org>
|
||||||
" Last Change: $LastChangedDate: 2006-04-28 12:15:12 -0400 (ven, 28 apr 2006) $
|
" Last Change: $LastChangedDate: 2006-08-24 23:41:26 +0200 (gio, 24 ago 2006) $
|
||||||
" License: GNU GPL, version 2.0 or later
|
" License: GNU GPL, version 2.0 or later
|
||||||
" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/ftplugin/debchangelog.vim?op=file&rev=0&sc=0
|
" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/ftplugin/debchangelog.vim?op=file&rev=0&sc=0
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin=1
|
||||||
|
|
||||||
" {{{1 Local settings (do on every load)
|
" {{{1 Local settings (do on every load)
|
||||||
setlocal foldmethod=expr
|
setlocal foldmethod=expr
|
||||||
@@ -227,21 +227,22 @@ augroup END
|
|||||||
" }}}
|
" }}}
|
||||||
" {{{1 folding
|
" {{{1 folding
|
||||||
|
|
||||||
" look for an author name searching backward from a given line number
|
" look for an author name in the [zonestart zoneend] lines searching backward
|
||||||
function! s:getAuthor(lnum)
|
function! s:getAuthor(zonestart, zoneend)
|
||||||
let line = getline(a:lnum)
|
let linepos = a:zoneend
|
||||||
let backsteps = 0
|
while linepos >= a:zonestart
|
||||||
while line !~ '^ --'
|
let line = getline(linepos)
|
||||||
let backsteps += 1
|
if line =~ '^ --'
|
||||||
let line = getline(a:lnum - backsteps)
|
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
|
||||||
|
endif
|
||||||
|
let linepos -= 1
|
||||||
endwhile
|
endwhile
|
||||||
let author = substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
|
return '[unknown]'
|
||||||
return author
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! DebChangelogFoldText()
|
function! DebChangelogFoldText()
|
||||||
if v:folddashes == '-' " changelog entry fold
|
if v:folddashes == '-' " changelog entry fold
|
||||||
return foldtext() . ' -- ' . s:getAuthor(v:foldend) . ' '
|
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
|
||||||
endif
|
endif
|
||||||
return foldtext()
|
return foldtext()
|
||||||
endfunction
|
endfunction
|
||||||
@@ -260,6 +261,8 @@ function! GetDebChangelogFold(lnum)
|
|||||||
return '='
|
return '='
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
foldopen! " unfold the entry the cursor is on (usually the first one)
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" vim: set foldmethod=marker:
|
" vim: set foldmethod=marker:
|
||||||
|
61
runtime/ftplugin/hamster.vim
Normal file
61
runtime/ftplugin/hamster.vim
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
" Vim filetype plugin
|
||||||
|
" Language: Hamster Script
|
||||||
|
" Version: 2.0.6.0
|
||||||
|
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
||||||
|
" Last Change: Wed Nov 08 2006 12:03:09 PM
|
||||||
|
|
||||||
|
" Only do this when not done yet for this buffer
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Don't load another plugin for this buffer
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let cpo_save = &cpo
|
||||||
|
set cpo-=C
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl fo< com< tw< commentstring<"
|
||||||
|
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||||
|
|
||||||
|
" Set 'formatoptions' to break comment lines but not other lines,
|
||||||
|
" and insert the comment leader when hitting <CR> or using "o".
|
||||||
|
setlocal fo-=t fo+=croql
|
||||||
|
|
||||||
|
" Use the # sign for comments
|
||||||
|
setlocal comments=:#
|
||||||
|
|
||||||
|
" Format comments to be up to 78 characters long
|
||||||
|
if &tw == 0
|
||||||
|
setlocal tw=78
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Comments start with a double quote
|
||||||
|
setlocal commentstring=#%s
|
||||||
|
|
||||||
|
" Move around functions.
|
||||||
|
noremap <silent><buffer> [[ :call search('^\s*sub\>', "bW")<CR>
|
||||||
|
noremap <silent><buffer> ]] :call search('^\s*sub\>', "W")<CR>
|
||||||
|
noremap <silent><buffer> [] :call search('^\s*endsub\>', "bW")<CR>
|
||||||
|
noremap <silent><buffer> ][ :call search('^\s*endsub\>', "W")<CR>
|
||||||
|
|
||||||
|
" Move around comments
|
||||||
|
noremap <silent><buffer> ]# :call search('^\s*#\@!', "W")<CR>
|
||||||
|
noremap <silent><buffer> [# :call search('^\s*#\@!', "bW")<CR>
|
||||||
|
|
||||||
|
" Let the matchit plugin know what items can be matched.
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 0
|
||||||
|
let b:match_words =
|
||||||
|
\ '\<sub\>:\<return\>:\<endsub\>,' .
|
||||||
|
\ '\<do\|while\|repeat\|for\>:\<break\>:\<continue\>:\<loop\|endwhile\|until\|endfor\>,' .
|
||||||
|
\ '\<if\>:\<else\%[if]\>:\<endif\>'
|
||||||
|
|
||||||
|
" Ignore ":syntax region" commands, the 'end' argument clobbers if-endif
|
||||||
|
" let b:match_skip = 'getline(".") =~ "^\\s*sy\\%[ntax]\\s\\+region" ||
|
||||||
|
" \ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"'
|
||||||
|
endif
|
||||||
|
|
||||||
|
setlocal ignorecase
|
||||||
|
let &cpo = cpo_save
|
||||||
|
setlocal cpo+=M " makes \%( match \)
|
@@ -8,7 +8,7 @@ if exists("b:did_ftplugin")
|
|||||||
endif
|
endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
let b:undo_plugin = "setl com< cms< fo<"
|
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||||
|
|
||||||
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
|
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
|
||||||
setlocal formatoptions-=t formatoptions+=croql
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Mail
|
" Language: Mail
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2004 Feb 20
|
" Last Change: 2007 Apr 30
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -11,7 +11,8 @@ let b:did_ftplugin = 1
|
|||||||
|
|
||||||
let b:undo_ftplugin = "setl modeline< tw< fo<"
|
let b:undo_ftplugin = "setl modeline< tw< fo<"
|
||||||
|
|
||||||
" Don't use modelines in e-mail messages, avoid trojan horses
|
" Don't use modelines in e-mail messages, avoid trojan horses and nasty
|
||||||
|
" "jokes" (e.g., setting 'textwidth' to 5).
|
||||||
setlocal nomodeline
|
setlocal nomodeline
|
||||||
|
|
||||||
" many people recommend keeping e-mail messages 72 chars wide
|
" many people recommend keeping e-mail messages 72 chars wide
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Make
|
" Language: Make
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2004 Dec 17
|
" Last Change: 2006 Jun 17
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -9,7 +9,7 @@ if exists("b:did_ftplugin")
|
|||||||
endif
|
endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl et< fo< com< commentstring<"
|
let b:undo_ftplugin = "setl et< sts< fo< com< cms< inc<"
|
||||||
|
|
||||||
" Make sure a hard tab is used, required for most make programs
|
" Make sure a hard tab is used, required for most make programs
|
||||||
setlocal noexpandtab softtabstop=0
|
setlocal noexpandtab softtabstop=0
|
||||||
|
@@ -4,7 +4,8 @@
|
|||||||
" Markus Mottl <markus.mottl@gmail.com>
|
" Markus Mottl <markus.mottl@gmail.com>
|
||||||
" Stefano Zacchiroli <zack@bononia.it>
|
" Stefano Zacchiroli <zack@bononia.it>
|
||||||
" URL: http://www.ocaml.info/vim/ftplugin/ocaml.vim
|
" URL: http://www.ocaml.info/vim/ftplugin/ocaml.vim
|
||||||
" Last Change: 2006 Apr 11 - Fixed an initialization bug; fixed ASS abbrev (MM)
|
" Last Change: 2006 May 01 - Added .annot support for file.whateverext (SZ)
|
||||||
|
" 2006 Apr 11 - Fixed an initialization bug; fixed ASS abbrev (MM)
|
||||||
" 2005 Oct 13 - removed GPL; better matchit support (MM, SZ)
|
" 2005 Oct 13 - removed GPL; better matchit support (MM, SZ)
|
||||||
"
|
"
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -202,6 +203,7 @@ python << EOF
|
|||||||
|
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
|
import os.path
|
||||||
import string
|
import string
|
||||||
import time
|
import time
|
||||||
import vim
|
import vim
|
||||||
@@ -288,13 +290,13 @@ class Annotations:
|
|||||||
line = f.readline() # position line
|
line = f.readline() # position line
|
||||||
f.close()
|
f.close()
|
||||||
self.__filename = fname
|
self.__filename = fname
|
||||||
self.__ml_filename = re.sub("\.annot$", ".ml", fname)
|
self.__ml_filename = vim.current.buffer.name
|
||||||
self.__timestamp = int(time.time())
|
self.__timestamp = int(time.time())
|
||||||
except IOError:
|
except IOError:
|
||||||
raise no_annotations
|
raise no_annotations
|
||||||
|
|
||||||
def parse(self):
|
def parse(self):
|
||||||
annot_file = re.sub("\.ml$", ".annot", vim.current.buffer.name)
|
annot_file = os.path.splitext(vim.current.buffer.name)[0] + ".annot"
|
||||||
self.__parse(annot_file)
|
self.__parse(annot_file)
|
||||||
|
|
||||||
def get_type(self, (line1, col1), (line2, col2)):
|
def get_type(self, (line1, col1), (line2, col2)):
|
||||||
|
@@ -1,19 +1,32 @@
|
|||||||
" Vim indent file
|
"------------------------------------------------------------------------------
|
||||||
" Language: Ada
|
" Description: Vim Ada indent file
|
||||||
" Maintainer: Neil Bird <neil@fnxweb.com>
|
" Language: Ada (2005)
|
||||||
" Last Change: 2006 Apr 30
|
" $Id$
|
||||||
" Version: $Id$
|
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||||
" Look for the latest version at http://vim.sourceforge.net/
|
" Maintainer: Martin Krischik
|
||||||
"
|
" Neil Bird <neil@fnxweb.com>
|
||||||
|
" $Author$
|
||||||
|
" $Date$
|
||||||
|
" Version: 4.2
|
||||||
|
" $Revision$
|
||||||
|
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/indent/ada.vim $
|
||||||
|
" History: 24.05.2006 MK Unified Headers
|
||||||
|
" 16.07.2006 MK Ada-Mode as vim-ball
|
||||||
|
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||||
|
" 05.11.2006 MK Bram suggested to save on spaces
|
||||||
|
" Help Page: ft-vim-indent
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
" ToDo:
|
" ToDo:
|
||||||
" Verify handling of multi-line exprs. and recovery upon the final ';'.
|
" Verify handling of multi-line exprs. and recovery upon the final ';'.
|
||||||
" Correctly find comments given '"' and "" ==> " syntax.
|
" Correctly find comments given '"' and "" ==> " syntax.
|
||||||
" Combine the two large block-indent functions into one?
|
" Combine the two large block-indent functions into one?
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent") || version < 700
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:did_indent = 1
|
let b:did_indent = 1
|
||||||
|
|
||||||
setlocal indentexpr=GetAdaIndent()
|
setlocal indentexpr=GetAdaIndent()
|
||||||
@@ -25,10 +38,14 @@ if exists("*GetAdaIndent")
|
|||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let s:AdaBlockStart = '^\s*\(if\>\|while\>\|else\>\|elsif\>\|loop\>\|for\>.*\<\(loop\|use\)\>\|declare\>\|begin\>\|type\>.*\<is\>[^;]*$\|\(type\>.*\)\=\<record\>\|procedure\>\|function\>\|accept\>\|do\>\|task\>\|package\>\|then\>\|when\>\|is\>\)'
|
if exists("g:ada_with_gnat_project_files")
|
||||||
let s:AdaComment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
let s:AdaBlockStart = '^\s*\(if\>\|while\>\|else\>\|elsif\>\|loop\>\|for\>.*\<\(loop\|use\)\>\|declare\>\|begin\>\|type\>.*\<is\>[^;]*$\|\(type\>.*\)\=\<record\>\|procedure\>\|function\>\|accept\>\|do\>\|task\>\|package\>\|project\>\|then\>\|when\>\|is\>\)'
|
||||||
|
else
|
||||||
|
let s:AdaBlockStart = '^\s*\(if\>\|while\>\|else\>\|elsif\>\|loop\>\|for\>.*\<\(loop\|use\)\>\|declare\>\|begin\>\|type\>.*\<is\>[^;]*$\|\(type\>.*\)\=\<record\>\|procedure\>\|function\>\|accept\>\|do\>\|task\>\|package\>\|then\>\|when\>\|is\>\)'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Section: s:MainBlockIndent {{{1
|
||||||
|
"
|
||||||
" Try to find indent of the block we're in
|
" Try to find indent of the block we're in
|
||||||
" prev_indent = the previous line's indent
|
" prev_indent = the previous line's indent
|
||||||
" prev_lnum = previous line (to start looking on)
|
" prev_lnum = previous line (to start looking on)
|
||||||
@@ -39,9 +56,9 @@ let s:AdaComment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
|||||||
" This shouldn't work as well as it appears to with lines that are currently
|
" This shouldn't work as well as it appears to with lines that are currently
|
||||||
" nowhere near the correct indent (e.g., start of line)!
|
" nowhere near the correct indent (e.g., start of line)!
|
||||||
" Seems to work OK as it 'starts' with the indent of the /previous/ line.
|
" Seems to work OK as it 'starts' with the indent of the /previous/ line.
|
||||||
function s:MainBlockIndent( prev_indent, prev_lnum, blockstart, stop_at )
|
function s:MainBlockIndent (prev_indent, prev_lnum, blockstart, stop_at)
|
||||||
let lnum = a:prev_lnum
|
let lnum = a:prev_lnum
|
||||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
let line = substitute( getline(lnum), ada#Comment, '', '' )
|
||||||
while lnum > 1
|
while lnum > 1
|
||||||
if a:stop_at != '' && line =~ '^\s*' . a:stop_at && indent(lnum) < a:prev_indent
|
if a:stop_at != '' && line =~ '^\s*' . a:stop_at && indent(lnum) < a:prev_indent
|
||||||
return a:prev_indent
|
return a:prev_indent
|
||||||
@@ -55,7 +72,7 @@ function s:MainBlockIndent( prev_indent, prev_lnum, blockstart, stop_at )
|
|||||||
let lnum = prevnonblank(lnum - 1)
|
let lnum = prevnonblank(lnum - 1)
|
||||||
" Get previous non-blank/non-comment-only line
|
" Get previous non-blank/non-comment-only line
|
||||||
while 1
|
while 1
|
||||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
let line = substitute( getline(lnum), ada#Comment, '', '' )
|
||||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
@@ -67,8 +84,10 @@ function s:MainBlockIndent( prev_indent, prev_lnum, blockstart, stop_at )
|
|||||||
endwhile
|
endwhile
|
||||||
" Fallback - just move back one
|
" Fallback - just move back one
|
||||||
return a:prev_indent - &sw
|
return a:prev_indent - &sw
|
||||||
endfunction
|
endfunction MainBlockIndent
|
||||||
|
|
||||||
|
" Section: s:EndBlockIndent {{{1
|
||||||
|
"
|
||||||
" Try to find indent of the block we're in (and about to complete),
|
" Try to find indent of the block we're in (and about to complete),
|
||||||
" including handling of nested blocks. Works on the 'end' of a block.
|
" including handling of nested blocks. Works on the 'end' of a block.
|
||||||
" prev_indent = the previous line's indent
|
" prev_indent = the previous line's indent
|
||||||
@@ -97,7 +116,7 @@ function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend )
|
|||||||
" Get previous non-blank/non-comment-only line
|
" Get previous non-blank/non-comment-only line
|
||||||
while 1
|
while 1
|
||||||
let line = getline(lnum)
|
let line = getline(lnum)
|
||||||
let line = substitute( line, s:AdaComment, '', '' )
|
let line = substitute( line, ada#Comment, '', '' )
|
||||||
if line !~ '^\s*$'
|
if line !~ '^\s*$'
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
@@ -109,8 +128,10 @@ function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend )
|
|||||||
endwhile
|
endwhile
|
||||||
" Fallback - just move back one
|
" Fallback - just move back one
|
||||||
return a:prev_indent - &sw
|
return a:prev_indent - &sw
|
||||||
endfunction
|
endfunction EndBlockIndent
|
||||||
|
|
||||||
|
" Section: s:StatementIndent {{{1
|
||||||
|
"
|
||||||
" Return indent of previous statement-start
|
" Return indent of previous statement-start
|
||||||
" (after we've indented due to multi-line statements).
|
" (after we've indented due to multi-line statements).
|
||||||
" This time, we start searching on the line *before* the one given (which is
|
" This time, we start searching on the line *before* the one given (which is
|
||||||
@@ -122,7 +143,7 @@ function s:StatementIndent( current_indent, prev_lnum )
|
|||||||
let lnum = prevnonblank(lnum - 1)
|
let lnum = prevnonblank(lnum - 1)
|
||||||
" Get previous non-blank/non-comment-only line
|
" Get previous non-blank/non-comment-only line
|
||||||
while 1
|
while 1
|
||||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
let line = substitute( getline(lnum), ada#Comment, '', '' )
|
||||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
@@ -145,10 +166,13 @@ function s:StatementIndent( current_indent, prev_lnum )
|
|||||||
endwhile
|
endwhile
|
||||||
" Fallback - just use current one
|
" Fallback - just use current one
|
||||||
return a:current_indent
|
return a:current_indent
|
||||||
endfunction
|
endfunction StatementIndent
|
||||||
|
|
||||||
|
|
||||||
|
" Section: GetAdaIndent {{{1
|
||||||
|
"
|
||||||
" Find correct indent of a new line based upon what went before
|
" Find correct indent of a new line based upon what went before
|
||||||
|
"
|
||||||
function GetAdaIndent()
|
function GetAdaIndent()
|
||||||
" Find a non-blank line above the current line.
|
" Find a non-blank line above the current line.
|
||||||
let lnum = prevnonblank(v:lnum - 1)
|
let lnum = prevnonblank(v:lnum - 1)
|
||||||
@@ -157,7 +181,7 @@ function GetAdaIndent()
|
|||||||
|
|
||||||
" Get previous non-blank/non-comment-only/non-cpp line
|
" Get previous non-blank/non-comment-only/non-cpp line
|
||||||
while 1
|
while 1
|
||||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
let line = substitute( getline(lnum), g:ada#Comment, '', '' )
|
||||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
@@ -198,7 +222,7 @@ function GetAdaIndent()
|
|||||||
exe lnum
|
exe lnum
|
||||||
exe 'normal! $F)%'
|
exe 'normal! $F)%'
|
||||||
if getline('.') =~ '^\s*('
|
if getline('.') =~ '^\s*('
|
||||||
" Dire layout - use previous indent (could check for AdaComment here)
|
" Dire layout - use previous indent (could check for ada#Comment here)
|
||||||
let ind = indent( prevnonblank( line('.')-1 ) )
|
let ind = indent( prevnonblank( line('.')-1 ) )
|
||||||
else
|
else
|
||||||
let ind = indent('.')
|
let ind = indent('.')
|
||||||
@@ -263,6 +287,14 @@ function GetAdaIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
return ind
|
return ind
|
||||||
endfunction
|
endfunction GetAdaIndent
|
||||||
|
|
||||||
" vim: set sw=3 sts=3 :
|
finish " 1}}}
|
||||||
|
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" Copyright (C) 2006 Martin Krischik
|
||||||
|
"
|
||||||
|
" Vim is Charityware - see ":help license" or uganda.txt for licence details.
|
||||||
|
"------------------------------------------------------------------------------
|
||||||
|
" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
|
||||||
|
" vim: foldmethod=marker
|
||||||
|
@@ -1,16 +1,59 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Ruby
|
" Language: eRuby
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||||
" Info: $Id$
|
" Info: $Id$
|
||||||
" URL: http://vim-ruby.rubyforge.org
|
" URL: http://vim-ruby.rubyforge.org
|
||||||
" Anon CVS: See above site
|
" Anon CVS: See above site
|
||||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
runtime! indent/html.vim
|
runtime! indent/ruby.vim
|
||||||
|
unlet! b:did_indent
|
||||||
|
|
||||||
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
|
runtime! indent/html.vim
|
||||||
|
unlet! b:did_indent
|
||||||
|
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal indentexpr=GetErubyIndent(v:lnum)
|
||||||
|
setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=else,=elsif,=rescue,=ensure,=when
|
||||||
|
|
||||||
|
" Only define the function once.
|
||||||
|
if exists("*GetErubyIndent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! GetErubyIndent(lnum)
|
||||||
|
let vcol = col('.')
|
||||||
|
call cursor(a:lnum,1)
|
||||||
|
let inruby = searchpair('<%','','%>')
|
||||||
|
call cursor(a:lnum,vcol)
|
||||||
|
if inruby && getline(a:lnum) !~ '^<%'
|
||||||
|
let ind = GetRubyIndent()
|
||||||
|
else
|
||||||
|
let ind = HtmlIndentGet(a:lnum)
|
||||||
|
endif
|
||||||
|
let lnum = prevnonblank(a:lnum-1)
|
||||||
|
let line = getline(lnum)
|
||||||
|
let cline = getline(a:lnum)
|
||||||
|
if cline =~# '<%\s*\%(end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%(-\=%>\|$\)'
|
||||||
|
let ind = ind - &sw
|
||||||
|
endif
|
||||||
|
if line =~# '\<do\%(\s*|[^|]*|\)\=\s*-\=%>'
|
||||||
|
let ind = ind + &sw
|
||||||
|
elseif line =~# '<%\s*\%(module\|class\|def\|if\|for\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue\)\>.*%>'
|
||||||
|
let ind = ind + &sw
|
||||||
|
endif
|
||||||
|
if line =~# '^\s*<%[=#]\=\s*$' && cline !~# '^\s*end\>'
|
||||||
|
let ind = ind + &sw
|
||||||
|
endif
|
||||||
|
if cline =~# '^\s*-\=%>\s*$'
|
||||||
|
let ind = ind - &sw
|
||||||
|
endif
|
||||||
|
return ind
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim:set sw=2 sts=2 ts=8 noet ff=unix:
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
" Description: html indenter
|
" Description: html indenter
|
||||||
" Author: Johannes Zellner <johannes@zellner.org>
|
" Author: Johannes Zellner <johannes@zellner.org>
|
||||||
" Last Change: Tue, 27 Apr 2004 10:28:39 CEST
|
" Last Change: Mo, 05 Jun 2006 22:32:41 CEST
|
||||||
" Restoring 'cpo' and 'ic' added by Bram 2006 May 5
|
" Restoring 'cpo' and 'ic' added by Bram 2006 May 5
|
||||||
" Globals: g:html_indent_tags -- indenting tags
|
" Globals: g:html_indent_tags -- indenting tags
|
||||||
" g:html_indent_strict -- inhibit 'O O' elements
|
" g:html_indent_strict -- inhibit 'O O' elements
|
||||||
@@ -193,8 +193,17 @@ fun! HtmlIndentGet(lnum)
|
|||||||
|
|
||||||
" [-- special handling for <javascript>: use cindent --]
|
" [-- special handling for <javascript>: use cindent --]
|
||||||
let js = '<script.*type\s*=\s*.*java'
|
let js = '<script.*type\s*=\s*.*java'
|
||||||
|
|
||||||
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
" by Tye Zdrojewski <zdro@yahoo.com>, 05 Jun 2006
|
||||||
|
" ZDR: This needs to be an AND (we are 'after the start of the pair' AND
|
||||||
|
" we are 'before the end of the pair'). Otherwise, indentation
|
||||||
|
" before the start of the script block will be affected; the end of
|
||||||
|
" the pair will still match if we are before the beginning of the
|
||||||
|
" pair.
|
||||||
|
"
|
||||||
if 0 < searchpair(js, '', '</script>', 'nWb')
|
if 0 < searchpair(js, '', '</script>', 'nWb')
|
||||||
\ || 0 < searchpair(js, '', '</script>', 'nW')
|
\ && 0 < searchpair(js, '', '</script>', 'nW')
|
||||||
" we're inside javascript
|
" we're inside javascript
|
||||||
if getline(lnum) !~ js && getline(a:lnum) != '</script>'
|
if getline(lnum) !~ js && getline(a:lnum) != '</script>'
|
||||||
if restore_ic == 0
|
if restore_ic == 0
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user