mirror of
https://github.com/vim/vim
synced 2025-07-15 16:51:57 +00:00
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
|
||||
|
@ -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_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.
|
||||
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
|
||||
(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.
|
||||
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 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,430 +1,430 @@
|
||||
" Vim completion script
|
||||
" Language: CSS 2.1
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2006 Apr 30
|
||||
" Last Change: 2007 Mar 11
|
||||
|
||||
function! csscomplete#CompleteCSS(findstart, base)
|
||||
|
||||
if a:findstart
|
||||
" We need whole line to proper checking
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let compl_begin = col('.') - 2
|
||||
while start >= 0 && line[start - 1] =~ '\(\k\|-\)'
|
||||
while start >= 0 && line[start - 1] =~ '\%(\k\|-\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
let b:compl_context = getline('.')[0:compl_begin]
|
||||
return start
|
||||
endif
|
||||
|
||||
" 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 know what should
|
||||
" be completed.
|
||||
" 1. if nearest are ^ or { or ; current word is property
|
||||
" 2. if : it is value (with exception of pseudo things)
|
||||
" 3. if } we are outside of css definitions
|
||||
" 4. for comments ignoring is be the easiest but assume they are the same
|
||||
" as 1.
|
||||
" 5. if @ complete at-rule
|
||||
" 6. if ! complete important
|
||||
if exists("b:compl_context")
|
||||
let line = b:compl_context
|
||||
unlet! b:compl_context
|
||||
else
|
||||
" 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
|
||||
" be completed.
|
||||
" 1. if nearest are ^ or { or ; current word is property
|
||||
" 2. if : it is value (with exception of pseudo things)
|
||||
" 3. if } we are outside of css definitions
|
||||
" 4. for comments ignoring is be the easiest but assume they are the same
|
||||
" as 1.
|
||||
" 5. if @ complete at-rule
|
||||
" 6. if ! complete important
|
||||
if exists("b:compl_context")
|
||||
let line = b:compl_context
|
||||
unlet! b:compl_context
|
||||
else
|
||||
let line = a:base
|
||||
endif
|
||||
let line = a:base
|
||||
endif
|
||||
|
||||
let res = []
|
||||
let res2 = []
|
||||
let borders = {}
|
||||
let res = []
|
||||
let res2 = []
|
||||
let borders = {}
|
||||
|
||||
" We need the last occurrence of char so reverse line
|
||||
let revline = join(reverse(split(line, '.\zs')), '')
|
||||
" Check last occurrence of sequence
|
||||
|
||||
let openbrace = stridx(revline, '{')
|
||||
let closebrace = stridx(revline, '}')
|
||||
let colon = stridx(revline, ':')
|
||||
let semicolon = stridx(revline, ';')
|
||||
let opencomm = stridx(revline, '*/') " Line was reversed
|
||||
let closecomm = stridx(revline, '/*') " Line was reversed
|
||||
let style = stridx(revline, '=\s*elyts') " Line was reversed
|
||||
let atrule = stridx(revline, '@')
|
||||
let exclam = stridx(revline, '!')
|
||||
let openbrace = strridx(line, '{')
|
||||
let closebrace = strridx(line, '}')
|
||||
let colon = strridx(line, ':')
|
||||
let semicolon = strridx(line, ';')
|
||||
let opencomm = strridx(line, '/*')
|
||||
let closecomm = strridx(line, '*/')
|
||||
let style = strridx(line, 'style\s*=')
|
||||
let atrule = strridx(line, '@')
|
||||
let exclam = strridx(line, '!')
|
||||
|
||||
if openbrace > -1
|
||||
let borders[openbrace] = "openbrace"
|
||||
endif
|
||||
if closebrace > -1
|
||||
let borders[closebrace] = "closebrace"
|
||||
endif
|
||||
if colon > -1
|
||||
let borders[colon] = "colon"
|
||||
endif
|
||||
if semicolon > -1
|
||||
let borders[semicolon] = "semicolon"
|
||||
endif
|
||||
if opencomm > -1
|
||||
let borders[opencomm] = "opencomm"
|
||||
endif
|
||||
if closecomm > -1
|
||||
let borders[closecomm] = "closecomm"
|
||||
endif
|
||||
if style > -1
|
||||
let borders[style] = "style"
|
||||
endif
|
||||
if atrule > -1
|
||||
let borders[atrule] = "atrule"
|
||||
endif
|
||||
if exclam > -1
|
||||
let borders[exclam] = "exclam"
|
||||
endif
|
||||
if openbrace > -1
|
||||
let borders[openbrace] = "openbrace"
|
||||
endif
|
||||
if closebrace > -1
|
||||
let borders[closebrace] = "closebrace"
|
||||
endif
|
||||
if colon > -1
|
||||
let borders[colon] = "colon"
|
||||
endif
|
||||
if semicolon > -1
|
||||
let borders[semicolon] = "semicolon"
|
||||
endif
|
||||
if opencomm > -1
|
||||
let borders[opencomm] = "opencomm"
|
||||
endif
|
||||
if closecomm > -1
|
||||
let borders[closecomm] = "closecomm"
|
||||
endif
|
||||
if style > -1
|
||||
let borders[style] = "style"
|
||||
endif
|
||||
if atrule > -1
|
||||
let borders[atrule] = "atrule"
|
||||
endif
|
||||
if exclam > -1
|
||||
let borders[exclam] = "exclam"
|
||||
endif
|
||||
|
||||
|
||||
if len(borders) == 0 || borders[min(keys(borders))] =~ '^\(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
|
||||
" Complete properties
|
||||
if len(borders) == 0 || borders[max(keys(borders))] =~ '^\%(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
|
||||
" 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")
|
||||
|
||||
let entered_property = matchstr(line, '.\{-}\zs[a-zA-Z-]*$')
|
||||
let entered_property = matchstr(line, '.\{-}\zs[a-zA-Z-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_property
|
||||
call add(res, m . ':')
|
||||
elseif m =~? entered_property
|
||||
call add(res2, m . ':')
|
||||
endif
|
||||
endfor
|
||||
for m in values
|
||||
if m =~? '^'.entered_property
|
||||
call add(res, m . ':')
|
||||
elseif m =~? entered_property
|
||||
call add(res2, m . ':')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
return res + res2
|
||||
|
||||
elseif borders[min(keys(borders))] == 'colon'
|
||||
" Get name of property
|
||||
let prop = tolower(matchstr(line, '\zs[a-zA-Z-]*\ze\s*:[^:]\{-}$'))
|
||||
elseif borders[max(keys(borders))] == 'colon'
|
||||
" Get name of property
|
||||
let prop = tolower(matchstr(line, '\zs[a-zA-Z-]*\ze\s*:[^:]\{-}$'))
|
||||
|
||||
if prop == 'azimuth'
|
||||
let values = ["left-side", "far-left", "left", "center-left", "center", "center-right", "right", "far-right", "right-side", "behind", "leftwards", "rightwards"]
|
||||
elseif prop == 'background-attachment'
|
||||
let values = ["scroll", "fixed"]
|
||||
elseif prop == 'background-color'
|
||||
let values = ["transparent", "rgb(", "#"]
|
||||
elseif prop == 'background-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'background-position'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z]\+\)\?$'
|
||||
let values = ["top", "center", "bottom"]
|
||||
elseif vals =~ '^[a-zA-Z]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
let values = ["left", "center", "right"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'background-repeat'
|
||||
let values = ["repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'background'
|
||||
let values = ["url(", "scroll", "fixed", "transparent", "rgb(", "#", "none", "top", "center", "bottom" , "left", "right", "repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'border-collapse'
|
||||
let values = ["collapse", "separate"]
|
||||
elseif prop == 'border-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop == 'border-spacing'
|
||||
return []
|
||||
elseif prop == 'border-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)$'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
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(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
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(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'bottom'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'caption-side'
|
||||
let values = ["top", "bottom"]
|
||||
elseif prop == 'clear'
|
||||
let values = ["none", "left", "right", "both"]
|
||||
elseif prop == 'clip'
|
||||
let values = ["auto", "rect("]
|
||||
elseif prop == 'color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'content'
|
||||
let values = ["normal", "attr(", "open-quote", "close-quote", "no-open-quote", "no-close-quote"]
|
||||
elseif prop =~ 'counter-\(increment\|reset\)$'
|
||||
let values = ["none"]
|
||||
elseif prop =~ '^\(cue-after\|cue-before\|cue\)$'
|
||||
let values = ["url(", "none"]
|
||||
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"]
|
||||
elseif prop == 'direction'
|
||||
let values = ["ltr", "rtl"]
|
||||
elseif prop == 'display'
|
||||
let values = ["inline", "block", "list-item", "run-in", "inline-block", "table", "inline-table", "table-row-group", "table-header-group", "table-footer-group", "table-row", "table-column-group", "table-column", "table-cell", "table-caption", "none"]
|
||||
elseif prop == 'elevation'
|
||||
let values = ["below", "level", "above", "higher", "lower"]
|
||||
elseif prop == 'empty-cells'
|
||||
let values = ["show", "hide"]
|
||||
elseif prop == 'float'
|
||||
let values = ["left", "right", "none"]
|
||||
elseif prop == 'font-family'
|
||||
let values = ["sans-serif", "serif", "monospace", "cursive", "fantasy"]
|
||||
elseif prop == 'font-size'
|
||||
let values = ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller"]
|
||||
elseif prop == 'font-style'
|
||||
let values = ["normal", "italic", "oblique"]
|
||||
elseif prop == 'font-variant'
|
||||
let values = ["normal", "small-caps"]
|
||||
elseif prop == 'font-weight'
|
||||
let values = ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
||||
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"]
|
||||
elseif prop =~ '^\(height\|width\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ '^\(left\|rigth\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'letter-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'line-height'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'list-style-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'list-style-position'
|
||||
let values = ["inside", "outside"]
|
||||
elseif prop == 'list-style-type'
|
||||
let values = ["disc", "circle", "square", "decimal", "decimal-leading-zero", "lower-roman", "upper-roman", "lower-latin", "upper-latin", "none"]
|
||||
elseif prop == 'list-style'
|
||||
return []
|
||||
elseif prop == 'margin'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ 'margin-\(right\|left\|top\|bottom\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-height'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-height'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'orphans'
|
||||
return []
|
||||
elseif prop == 'outline-color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'outline-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop == 'outline-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'outline'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z0-9,()#]\+\)\?$'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
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(]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'overflow'
|
||||
let values = ["visible", "hidden", "scroll", "auto"]
|
||||
elseif prop == 'padding'
|
||||
return []
|
||||
elseif prop =~ 'padding-\(top\|right\|bottom\|left\)$'
|
||||
return []
|
||||
elseif prop =~ 'page-break-\(after\|before\)$'
|
||||
let values = ["auto", "always", "avoid", "left", "right"]
|
||||
elseif prop == 'page-break-inside'
|
||||
let values = ["auto", "avoid"]
|
||||
elseif prop =~ 'pause-\(after\|before\)$'
|
||||
return []
|
||||
elseif prop == 'pause'
|
||||
return []
|
||||
elseif prop == 'pitch-range'
|
||||
return []
|
||||
elseif prop == 'pitch'
|
||||
let values = ["x-low", "low", "medium", "high", "x-high"]
|
||||
elseif prop == 'play-during'
|
||||
let values = ["url(", "mix", "repeat", "auto", "none"]
|
||||
elseif prop == 'position'
|
||||
let values = ["static", "relative", "absolute", "fixed"]
|
||||
elseif prop == 'quotes'
|
||||
let values = ["none"]
|
||||
elseif prop == 'richness'
|
||||
return []
|
||||
elseif prop == 'speak-header'
|
||||
let values = ["once", "always"]
|
||||
elseif prop == 'speak-numeral'
|
||||
let values = ["digits", "continuous"]
|
||||
elseif prop == 'speak-punctuation'
|
||||
let values = ["code", "none"]
|
||||
elseif prop == 'speak'
|
||||
let values = ["normal", "none", "spell-out"]
|
||||
elseif prop == 'speech-rate'
|
||||
let values = ["x-slow", "slow", "medium", "fast", "x-fast", "faster", "slower"]
|
||||
elseif prop == 'stress'
|
||||
return []
|
||||
elseif prop == 'table-layout'
|
||||
let values = ["auto", "fixed"]
|
||||
elseif prop == 'text-align'
|
||||
let values = ["left", "right", "center", "justify"]
|
||||
elseif prop == 'text-decoration'
|
||||
let values = ["none", "underline", "overline", "line-through", "blink"]
|
||||
elseif prop == 'text-indent'
|
||||
return []
|
||||
elseif prop == 'text-transform'
|
||||
let values = ["capitalize", "uppercase", "lowercase", "none"]
|
||||
elseif prop == 'top'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'unicode-bidi'
|
||||
let values = ["normal", "embed", "bidi-override"]
|
||||
elseif prop == 'vertical-align'
|
||||
let values = ["baseline", "sub", "super", "top", "text-top", "middle", "bottom", "text-bottom"]
|
||||
elseif prop == 'visibility'
|
||||
let values = ["visible", "hidden", "collapse"]
|
||||
elseif prop == 'voice-family'
|
||||
return []
|
||||
elseif prop == 'volume'
|
||||
let values = ["silent", "x-soft", "soft", "medium", "loud", "x-loud"]
|
||||
elseif prop == 'white-space'
|
||||
let values = ["normal", "pre", "nowrap", "pre-wrap", "pre-line"]
|
||||
elseif prop == 'widows'
|
||||
return []
|
||||
elseif prop == 'word-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'z-index'
|
||||
let values = ["auto"]
|
||||
if prop == 'azimuth'
|
||||
let values = ["left-side", "far-left", "left", "center-left", "center", "center-right", "right", "far-right", "right-side", "behind", "leftwards", "rightwards"]
|
||||
elseif prop == 'background-attachment'
|
||||
let values = ["scroll", "fixed"]
|
||||
elseif prop == 'background-color'
|
||||
let values = ["transparent", "rgb(", "#"]
|
||||
elseif prop == 'background-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'background-position'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["top", "center", "bottom"]
|
||||
elseif vals =~ '^[a-zA-Z]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
let values = ["left", "center", "right"]
|
||||
else
|
||||
" If no property match it is possible we are outside of {} and
|
||||
" trying to complete pseudo-(class|element)
|
||||
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.','
|
||||
let values = ["first-child", "link", "visited", "hover", "active", "focus", "lang", "first-line", "first-letter", "before", "after"]
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'background-repeat'
|
||||
let values = ["repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'background'
|
||||
let values = ["url(", "scroll", "fixed", "transparent", "rgb(", "#", "none", "top", "center", "bottom" , "left", "right", "repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'border-collapse'
|
||||
let values = ["collapse", "separate"]
|
||||
elseif prop == 'border-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop == 'border-spacing'
|
||||
return []
|
||||
elseif prop == 'border-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)$'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
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(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\%(top\|right\|bottom\|left\)-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
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(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'bottom'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'caption-side'
|
||||
let values = ["top", "bottom"]
|
||||
elseif prop == 'clear'
|
||||
let values = ["none", "left", "right", "both"]
|
||||
elseif prop == 'clip'
|
||||
let values = ["auto", "rect("]
|
||||
elseif prop == 'color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'content'
|
||||
let values = ["normal", "attr(", "open-quote", "close-quote", "no-open-quote", "no-close-quote"]
|
||||
elseif prop =~ 'counter-\%(increment\|reset\)$'
|
||||
let values = ["none"]
|
||||
elseif prop =~ '^\%(cue-after\|cue-before\|cue\)$'
|
||||
let values = ["url(", "none"]
|
||||
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"]
|
||||
elseif prop == 'direction'
|
||||
let values = ["ltr", "rtl"]
|
||||
elseif prop == 'display'
|
||||
let values = ["inline", "block", "list-item", "run-in", "inline-block", "table", "inline-table", "table-row-group", "table-header-group", "table-footer-group", "table-row", "table-column-group", "table-column", "table-cell", "table-caption", "none"]
|
||||
elseif prop == 'elevation'
|
||||
let values = ["below", "level", "above", "higher", "lower"]
|
||||
elseif prop == 'empty-cells'
|
||||
let values = ["show", "hide"]
|
||||
elseif prop == 'float'
|
||||
let values = ["left", "right", "none"]
|
||||
elseif prop == 'font-family'
|
||||
let values = ["sans-serif", "serif", "monospace", "cursive", "fantasy"]
|
||||
elseif prop == 'font-size'
|
||||
let values = ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller"]
|
||||
elseif prop == 'font-style'
|
||||
let values = ["normal", "italic", "oblique"]
|
||||
elseif prop == 'font-variant'
|
||||
let values = ["normal", "small-caps"]
|
||||
elseif prop == 'font-weight'
|
||||
let values = ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
||||
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"]
|
||||
elseif prop =~ '^\%(height\|width\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ '^\%(left\|rigth\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'letter-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'line-height'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'list-style-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'list-style-position'
|
||||
let values = ["inside", "outside"]
|
||||
elseif prop == 'list-style-type'
|
||||
let values = ["disc", "circle", "square", "decimal", "decimal-leading-zero", "lower-roman", "upper-roman", "lower-latin", "upper-latin", "none"]
|
||||
elseif prop == 'list-style'
|
||||
return []
|
||||
elseif prop == 'margin'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ 'margin-\%(right\|left\|top\|bottom\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-height'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-height'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'orphans'
|
||||
return []
|
||||
elseif prop == 'outline-color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'outline-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop == 'outline-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'outline'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\%([a-zA-Z0-9,()#]\+\)\?$'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+\%([a-zA-Z]\+\)\?$'
|
||||
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(]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'overflow'
|
||||
let values = ["visible", "hidden", "scroll", "auto"]
|
||||
elseif prop == 'padding'
|
||||
return []
|
||||
elseif prop =~ 'padding-\%(top\|right\|bottom\|left\)$'
|
||||
return []
|
||||
elseif prop =~ 'page-break-\%(after\|before\)$'
|
||||
let values = ["auto", "always", "avoid", "left", "right"]
|
||||
elseif prop == 'page-break-inside'
|
||||
let values = ["auto", "avoid"]
|
||||
elseif prop =~ 'pause-\%(after\|before\)$'
|
||||
return []
|
||||
elseif prop == 'pause'
|
||||
return []
|
||||
elseif prop == 'pitch-range'
|
||||
return []
|
||||
elseif prop == 'pitch'
|
||||
let values = ["x-low", "low", "medium", "high", "x-high"]
|
||||
elseif prop == 'play-during'
|
||||
let values = ["url(", "mix", "repeat", "auto", "none"]
|
||||
elseif prop == 'position'
|
||||
let values = ["static", "relative", "absolute", "fixed"]
|
||||
elseif prop == 'quotes'
|
||||
let values = ["none"]
|
||||
elseif prop == 'richness'
|
||||
return []
|
||||
elseif prop == 'speak-header'
|
||||
let values = ["once", "always"]
|
||||
elseif prop == 'speak-numeral'
|
||||
let values = ["digits", "continuous"]
|
||||
elseif prop == 'speak-punctuation'
|
||||
let values = ["code", "none"]
|
||||
elseif prop == 'speak'
|
||||
let values = ["normal", "none", "spell-out"]
|
||||
elseif prop == 'speech-rate'
|
||||
let values = ["x-slow", "slow", "medium", "fast", "x-fast", "faster", "slower"]
|
||||
elseif prop == 'stress'
|
||||
return []
|
||||
elseif prop == 'table-layout'
|
||||
let values = ["auto", "fixed"]
|
||||
elseif prop == 'text-align'
|
||||
let values = ["left", "right", "center", "justify"]
|
||||
elseif prop == 'text-decoration'
|
||||
let values = ["none", "underline", "overline", "line-through", "blink"]
|
||||
elseif prop == 'text-indent'
|
||||
return []
|
||||
elseif prop == 'text-transform'
|
||||
let values = ["capitalize", "uppercase", "lowercase", "none"]
|
||||
elseif prop == 'top'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'unicode-bidi'
|
||||
let values = ["normal", "embed", "bidi-override"]
|
||||
elseif prop == 'vertical-align'
|
||||
let values = ["baseline", "sub", "super", "top", "text-top", "middle", "bottom", "text-bottom"]
|
||||
elseif prop == 'visibility'
|
||||
let values = ["visible", "hidden", "collapse"]
|
||||
elseif prop == 'voice-family'
|
||||
return []
|
||||
elseif prop == 'volume'
|
||||
let values = ["silent", "x-soft", "soft", "medium", "loud", "x-loud"]
|
||||
elseif prop == 'white-space'
|
||||
let values = ["normal", "pre", "nowrap", "pre-wrap", "pre-line"]
|
||||
elseif prop == 'widows'
|
||||
return []
|
||||
elseif prop == 'word-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'z-index'
|
||||
let values = ["auto"]
|
||||
else
|
||||
" If no property match it is possible we are outside of {} and
|
||||
" trying to complete pseudo-(class|element)
|
||||
let element = tolower(matchstr(line, '\zs[a-zA-Z1-6]*\ze:[^:[:space:]]\{-}$'))
|
||||
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"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
|
||||
" Complete values
|
||||
let entered_value = matchstr(line, '.\{-}\zs[a-zA-Z0-9#,.(_-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_value
|
||||
call add(res, m)
|
||||
elseif m =~? entered_value
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif borders[max(keys(borders))] == 'closebrace'
|
||||
|
||||
return []
|
||||
|
||||
elseif borders[max(keys(borders))] == 'exclam'
|
||||
|
||||
" Complete values
|
||||
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
|
||||
|
||||
let values = ["important"]
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_imp
|
||||
call add(res, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
|
||||
elseif borders[max(keys(borders))] == 'atrule'
|
||||
|
||||
let afterat = matchstr(line, '.*@\zs.*')
|
||||
|
||||
if afterat =~ '\s'
|
||||
|
||||
let atrulename = matchstr(line, '.*@\zs[a-zA-Z-]\+\ze')
|
||||
|
||||
if atrulename == 'media'
|
||||
let values = ["screen", "tty", "tv", "projection", "handheld", "print", "braille", "aural", "all"]
|
||||
|
||||
let atruleafterbase = matchstr(line, '.*@media\s\+\ze.*$')
|
||||
let entered_atruleafter = matchstr(line, '.*@media\s\+\zs.*$')
|
||||
|
||||
elseif atrulename == 'import'
|
||||
let atruleafterbase = matchstr(line, '.*@import\s\+\ze.*$')
|
||||
let entered_atruleafter = matchstr(line, '.*@import\s\+\zs.*$')
|
||||
|
||||
if entered_atruleafter =~ "^[\"']"
|
||||
let filestart = matchstr(entered_atruleafter, '^.\zs.*')
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"\"".v:val')
|
||||
|
||||
elseif entered_atruleafter =~ "^url("
|
||||
let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*")
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"url(".v:val')
|
||||
|
||||
else
|
||||
return []
|
||||
let values = ['"', 'url(']
|
||||
|
||||
endif
|
||||
|
||||
else
|
||||
return []
|
||||
|
||||
endif
|
||||
|
||||
" Complete values
|
||||
let entered_value = matchstr(line, '.\{-}\zs[a-zA-Z0-9#,.(_-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_value
|
||||
if m =~? '^'.entered_atruleafter
|
||||
call add(res, m)
|
||||
elseif m =~? entered_value
|
||||
elseif m =~? entered_atruleafter
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif borders[min(keys(borders))] == 'closebrace'
|
||||
endif
|
||||
|
||||
return []
|
||||
let values = ["charset", "page", "media", "import", "font-face"]
|
||||
|
||||
elseif borders[min(keys(borders))] == 'exclam'
|
||||
|
||||
" Complete values
|
||||
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
|
||||
|
||||
let values = ["important"]
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_imp
|
||||
call add(res, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
|
||||
elseif borders[min(keys(borders))] == 'atrule'
|
||||
|
||||
let afterat = matchstr(line, '.*@\zs.*')
|
||||
|
||||
if afterat =~ '\s'
|
||||
|
||||
let atrulename = matchstr(line, '.*@\zs[a-zA-Z-]\+\ze')
|
||||
|
||||
if atrulename == 'media'
|
||||
let values = ["screen", "tty", "tv", "projection", "handheld", "print", "braille", "aural", "all"]
|
||||
|
||||
let atruleafterbase = matchstr(line, '.*@media\s\+\ze.*$')
|
||||
let entered_atruleafter = matchstr(line, '.*@media\s\+\zs.*$')
|
||||
|
||||
elseif atrulename == 'import'
|
||||
let atruleafterbase = matchstr(line, '.*@import\s\+\ze.*$')
|
||||
let entered_atruleafter = matchstr(line, '.*@import\s\+\zs.*$')
|
||||
|
||||
if entered_atruleafter =~ "^[\"']"
|
||||
let filestart = matchstr(entered_atruleafter, '^.\zs.*')
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"\"".v:val')
|
||||
|
||||
elseif entered_atruleafter =~ "^url("
|
||||
let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*")
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"url(".v:val')
|
||||
|
||||
else
|
||||
let values = ['"', 'url(']
|
||||
|
||||
endif
|
||||
|
||||
else
|
||||
return []
|
||||
|
||||
endif
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atruleafter
|
||||
call add(res, m)
|
||||
elseif m =~? entered_atruleafter
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
let entered_atrule = matchstr(line, '.*@\zs[a-zA-Z-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atrule
|
||||
call add(res, m .' ')
|
||||
elseif m =~? entered_atrule
|
||||
call add(res2, m .' ')
|
||||
endif
|
||||
endfor
|
||||
|
||||
let values = ["charset", "page", "media", "import", "font-face"]
|
||||
return res + res2
|
||||
|
||||
let entered_atrule = matchstr(line, '.*@\zs[a-zA-Z-]*$')
|
||||
endif
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atrule
|
||||
call add(res, m .' ')
|
||||
elseif m =~? entered_atrule
|
||||
call add(res2, m .' ')
|
||||
endif
|
||||
endfor
|
||||
return []
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
return []
|
||||
|
||||
endif
|
||||
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
|
||||
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
|
||||
" Version: 0.5
|
||||
" Last Updated: 19 April 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.
|
||||
" Version: 0.7
|
||||
" Last Updated: 19 Oct 2006
|
||||
"
|
||||
" Changes
|
||||
" TODO:
|
||||
" User defined docstrings aren't handled right...
|
||||
" 'info' item output can use some formatting work
|
||||
" 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')
|
||||
echo "Error: Required vim compiled with +python"
|
||||
@ -28,7 +46,7 @@ function! pythoncomplete#Complete(findstart, base)
|
||||
if c =~ '\w'
|
||||
continue
|
||||
elseif ! c =~ '\.'
|
||||
idx = -1
|
||||
let idx = -1
|
||||
break
|
||||
else
|
||||
break
|
||||
@ -45,7 +63,7 @@ function! pythoncomplete#Complete(findstart, base)
|
||||
while idx > 0
|
||||
let idx -= 1
|
||||
let c = line[idx]
|
||||
if c =~ '\w' || c =~ '\.'
|
||||
if c =~ '\w' || c =~ '\.' || c == '('
|
||||
let cword = c . cword
|
||||
continue
|
||||
elseif strlen(cword) > 0 || idx == 0
|
||||
@ -73,7 +91,24 @@ def vimcomplete(context,match):
|
||||
try:
|
||||
import vim
|
||||
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.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
|
||||
all = cmpl.get_completions(context,match)
|
||||
@ -86,7 +121,7 @@ def vimcomplete(context,match):
|
||||
dictstr += '"icase":0},'
|
||||
if dictstr[-1] == ',': dictstr = dictstr[:-1]
|
||||
dictstr += ']'
|
||||
dbg("dict: %s" % dictstr)
|
||||
#dbg("dict: %s" % dictstr)
|
||||
vim.command("silent let g:pythoncomplete_completions = %s" % dictstr)
|
||||
#dbg("Completion dict:\n%s" % all)
|
||||
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))
|
||||
|
||||
def _cleanstr(self,doc):
|
||||
return doc.replace('"',' ')\
|
||||
.replace("'",' ')\
|
||||
.replace('\n',' ')\
|
||||
.replace('\r',' ')\
|
||||
.replace('
|
||||
return doc.replace('"',' ').replace("'",' ')
|
||||
|
||||
def get_arguments(self,func_obj):
|
||||
def _ctor(obj):
|
||||
@ -128,23 +159,23 @@ class Completer(object):
|
||||
elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func
|
||||
else: arg_offset = 0
|
||||
|
||||
|
||||
arg_text=''
|
||||
if type(func_obj) in [types.FunctionType, types.LambdaType]:
|
||||
try:
|
||||
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]
|
||||
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
|
||||
items = map(lambda a,d: a+d, real_args, defaults)
|
||||
if func_obj.func_code.co_flags & 0x4:
|
||||
items.append("...")
|
||||
if func_obj.func_code.co_flags & 0x8:
|
||||
items.append("***")
|
||||
items.append("***")
|
||||
arg_text = (','.join(items)) + ')'
|
||||
|
||||
except:
|
||||
except:
|
||||
dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1]))
|
||||
pass
|
||||
if len(arg_text) == 0:
|
||||
# The doc string sometimes contains the function signature
|
||||
@ -160,6 +191,7 @@ class Completer(object):
|
||||
ridx = sigline.find(')')
|
||||
if lidx > 0 and ridx > 0:
|
||||
arg_text = sigline[lidx+1:ridx] + ')'
|
||||
if len(arg_text) == 0: arg_text = ')'
|
||||
return arg_text
|
||||
|
||||
def get_completions(self,context,match):
|
||||
@ -172,12 +204,11 @@ class Completer(object):
|
||||
all = {}
|
||||
ridx = stmt.rfind('.')
|
||||
if len(stmt) > 0 and stmt[-1] == '(':
|
||||
if len(stmt) > 0 and stmt[-1] == '(':
|
||||
result = eval(_sanitize(stmt[:-1]), self.compldict)
|
||||
doc = result.__doc__
|
||||
if doc == None: doc = ''
|
||||
if doc == None: doc = ''
|
||||
args = self.get_arguments(res)
|
||||
args = self.get_arguments(result)
|
||||
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
|
||||
elif ridx == -1:
|
||||
match = stmt
|
||||
all = self.compldict
|
||||
@ -206,22 +237,18 @@ class Completer(object):
|
||||
if doc == None or doc == '': doc = maindoc
|
||||
|
||||
wrd = m[len(match):]
|
||||
wrd = m[len(match):]
|
||||
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
|
||||
if "function" in typestr:
|
||||
c['word'] += '('
|
||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||
elif "method" in typestr:
|
||||
c['word'] += '('
|
||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
|
||||
elif "module" in typestr:
|
||||
c['word'] += '.'
|
||||
c['word'] += '.'
|
||||
elif "class" in typestr:
|
||||
c['word'] += '('
|
||||
c['abbr'] += '('
|
||||
c['abbr'] += '('
|
||||
completions.append(c)
|
||||
except:
|
||||
i = sys.exc_info()
|
||||
@ -277,10 +304,13 @@ class Scope(object):
|
||||
# we need to start with this, to fix up broken completions
|
||||
# hopefully this name is unique enough...
|
||||
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'
|
||||
for sub in self.subscopes:
|
||||
str += sub.get_code()
|
||||
str += sub.get_code()
|
||||
for l in self.locals:
|
||||
if not l.startswith('import'): str += l+'\n'
|
||||
|
||||
return str
|
||||
|
||||
@ -420,6 +450,8 @@ class PyParser:
|
||||
tokentype, token, indent = self.next()
|
||||
if tokentype == tokenize.STRING or token == 'str':
|
||||
return '""'
|
||||
elif token == '(' or token == 'tuple':
|
||||
return '()'
|
||||
elif token == '[' or token == 'list':
|
||||
return '[]'
|
||||
elif token == '{' or token == 'dict':
|
||||
@ -494,9 +526,9 @@ class PyParser:
|
||||
freshscope=True
|
||||
while True:
|
||||
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)
|
||||
elif token == 'def':
|
||||
func = self._parsefunction(indent)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
||||
" Vim completion script
|
||||
" Language: All languages, uses existing syntax highlighting rules
|
||||
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
||||
" Version: 2.0
|
||||
" Last Change: Fri May 05 2006 10:34:57 PM
|
||||
" Version: 3.0
|
||||
" Last Change: Wed Nov 08 2006 10:46:46 AM
|
||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||
|
||||
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
||||
@ -19,13 +19,31 @@ endif
|
||||
if exists('g:loaded_syntax_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntax_completion = 20
|
||||
let g:loaded_syntax_completion = 30
|
||||
|
||||
" 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')
|
||||
let g:omni_syntax_ignorecase = &ignorecase
|
||||
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
|
||||
" elements defined by the files in $VIMRUNTIME/syntax.
|
||||
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
@ -38,21 +56,28 @@ let s:prepended = ''
|
||||
" This function is used for the 'omnifunc' option.
|
||||
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
|
||||
" Locate the start of the item, including "."
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let lastword = -1
|
||||
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
|
||||
elseif line[start - 1] =~ '\.'
|
||||
" The user must be specifying a column name
|
||||
if lastword == -1
|
||||
let lastword = start
|
||||
endif
|
||||
let start -= 1
|
||||
let b:sql_compl_type = 'column'
|
||||
let lastword = a:findstart
|
||||
else
|
||||
break
|
||||
endif
|
||||
@ -64,11 +89,12 @@ function! syntaxcomplete#Complete(findstart, base)
|
||||
let s:prepended = ''
|
||||
return start
|
||||
endif
|
||||
let s:prepended = strpart(line, start, lastword - start)
|
||||
return lastword
|
||||
let s:prepended = strpart(line, start, (col('.') - 1) - start)
|
||||
return start
|
||||
endif
|
||||
|
||||
let base = s:prepended . a:base
|
||||
" let base = s:prepended . a:base
|
||||
let base = s:prepended
|
||||
|
||||
let filetype = substitute(&filetype, '\.', '_', 'g')
|
||||
let list_idx = index(s:cache_name, filetype, 0, &ignorecase)
|
||||
@ -82,11 +108,16 @@ function! syntaxcomplete#Complete(findstart, base)
|
||||
|
||||
" Return list of matches.
|
||||
|
||||
if base =~ '\w'
|
||||
let compstr = join(compl_list, ' ')
|
||||
let expr = (g:omni_syntax_ignorecase==0?'\C':'').'\<\%('.base.'\)\@!\w\+\s*'
|
||||
let compstr = substitute(compstr, expr, '', 'g')
|
||||
let compl_list = split(compstr, '\s\+')
|
||||
if base != ''
|
||||
" let compstr = join(compl_list, ' ')
|
||||
" let expr = (b:omni_syntax_ignorecase==0?'\C':'').'\<\%('.base.'\)\@!\w\+\s*'
|
||||
" let compstr = substitute(compstr, expr, '', 'g')
|
||||
" 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
|
||||
|
||||
return compl_list
|
||||
@ -100,6 +131,26 @@ function! OmniSyntaxList()
|
||||
" let use_dictionary = a:1
|
||||
" 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
|
||||
|
||||
" Loop through all the syntax groupnames, and build a
|
||||
@ -294,14 +345,32 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
\ , "", 'g'
|
||||
\ )
|
||||
|
||||
" There are a number of items which have non-word characters in
|
||||
" them, *'T_F1'*. vim.vim is one such file.
|
||||
" This will replace non-word characters with spaces.
|
||||
let syn_list = substitute( syn_list, '[^0-9A-Za-z_ ]', ' ', 'g' )
|
||||
if b:omni_syntax_use_iskeyword == 0
|
||||
" There are a number of items which have non-word characters in
|
||||
" them, *'T_F1'*. vim.vim is one such file.
|
||||
" This will replace non-word characters with spaces.
|
||||
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
|
||||
let syn_list = ''
|
||||
endif
|
||||
|
||||
return syn_list
|
||||
endfunction
|
||||
|
||||
|
@ -1,7 +1,12 @@
|
||||
" Vim completion script
|
||||
" Language: XML
|
||||
" 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
|
||||
" 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)
|
||||
if context_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, ' ')
|
||||
break
|
||||
elseif context_line =~ '>[^<]*$' || i == curline
|
||||
@ -106,10 +111,6 @@ function! xmlcomplete#CompleteTags(findstart, base)
|
||||
return start
|
||||
|
||||
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
|
||||
let res = []
|
||||
let res2 = []
|
||||
@ -119,6 +120,17 @@ function! xmlcomplete#CompleteTags(findstart, base)
|
||||
endif
|
||||
let context = matchstr(b:compl_context, '^<\zs.*')
|
||||
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
|
||||
if exists("b:entitiescompl")
|
||||
|
@ -1,9 +1,9 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: May 01, 2006
|
||||
" Version: 9
|
||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Date: Sep 29, 2006
|
||||
" Version: 12
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@ -15,15 +15,28 @@
|
||||
" of this software.
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Initialization: {{{1
|
||||
" Load Once: {{{1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
if exists("g:loaded_zip")
|
||||
if &cp || exists("g:loaded_zip") || v:version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_zip = "v9"
|
||||
let g:loaded_zip = "v12"
|
||||
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
|
||||
@ -38,8 +51,9 @@ fun! zip#Browse(zipfile)
|
||||
|
||||
" sanity checks
|
||||
if !executable("unzip")
|
||||
redraw!
|
||||
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
|
||||
" call Dret("zip#Browse")
|
||||
return
|
||||
@ -47,8 +61,9 @@ fun! zip#Browse(zipfile)
|
||||
if !filereadable(a:zipfile)
|
||||
if a:zipfile !~# '^\a\+://'
|
||||
" 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
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
endif
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Browse : file<".a:zipfile."> not readable")
|
||||
@ -75,11 +90,12 @@ fun! zip#Browse(zipfile)
|
||||
0d
|
||||
$
|
||||
|
||||
" call Decho("exe silent r! unzip -l '".a:zipfile."'")
|
||||
exe "silent r! unzip -l '".a:zipfile."'"
|
||||
" call Decho("exe silent r! unzip -l ".s:QuoteFileDir(a:zipfile))
|
||||
exe "silent r! unzip -l ".s:QuoteFileDir(a:zipfile)
|
||||
if v:shell_error != 0
|
||||
redraw!
|
||||
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
|
||||
let eikeep= &ei
|
||||
set ei=BufReadCmd,FileReadCmd
|
||||
@ -121,8 +137,9 @@ fun! s:ZipBrowseSelect()
|
||||
return
|
||||
endif
|
||||
if fname =~ '/$'
|
||||
redraw!
|
||||
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
|
||||
" call Dret("ZipBrowseSelect")
|
||||
return
|
||||
@ -131,7 +148,7 @@ fun! s:ZipBrowseSelect()
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
" get zipfile to the new-window
|
||||
let zipfile= substitute(w:zipfile,'.zip$','','e')
|
||||
let zipfile = w:zipfile
|
||||
let curfile= expand("%")
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("curfile<".curfile.">")
|
||||
@ -160,12 +177,15 @@ fun! zip#Read(fname,mode)
|
||||
else
|
||||
let zipfile = 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
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
|
||||
" call Decho("exe r! unzip -p '".zipfile."' '".fname."'")
|
||||
exe "silent r! unzip -p '".zipfile."' '".fname."'"
|
||||
" call Decho("exe r! unzip -p ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
|
||||
exe "silent r! unzip -p ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname)
|
||||
|
||||
" cleanup
|
||||
0d
|
||||
@ -184,15 +204,17 @@ fun! zip#Write(fname)
|
||||
|
||||
" sanity checks
|
||||
if !executable("zip")
|
||||
redraw!
|
||||
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
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
endif
|
||||
if !exists("*mkdir")
|
||||
redraw!
|
||||
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
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
@ -208,15 +230,11 @@ fun! zip#Write(fname)
|
||||
call mkdir(tmpdir,"p")
|
||||
|
||||
" attempt to change to the indicated directory
|
||||
try
|
||||
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()
|
||||
if s:ChgDir(tmpdir,s:ERROR,"(zip#Write) cannot cd to temporary directory")
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
endtry
|
||||
endif
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
" place temporary files under .../_ZIPVIM_/
|
||||
@ -255,21 +273,27 @@ fun! zip#Write(fname)
|
||||
let zipfile = substitute(system("cygpath ".zipfile),'\n','','e')
|
||||
endif
|
||||
|
||||
" call Decho("zip -u '".zipfile.".zip' '".fname."'")
|
||||
call system("zip -u '".zipfile.".zip' '".fname."'")
|
||||
" TODO Needs to predicated to using InfoZIP's unzip
|
||||
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
|
||||
redraw!
|
||||
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\+://'
|
||||
" support writing zipfiles across a network
|
||||
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
|
||||
let binkeep= &binary
|
||||
let eikeep = &ei
|
||||
set binary ei=all
|
||||
exe "e! ".zipfile.".zip"
|
||||
exe "e! ".zipfile
|
||||
call netrw#NetWrite(netzipfile)
|
||||
let &ei = eikeep
|
||||
let &binary = binkeep
|
||||
@ -280,25 +304,61 @@ fun! zip#Write(fname)
|
||||
" cleanup and restore current directory
|
||||
cd ..
|
||||
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
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
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
|
||||
fun! s:Rmdir(fname)
|
||||
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
||||
if has("unix")
|
||||
call system("/bin/rm -rf ".a:fname)
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if &shell =~? "sh$"
|
||||
call system("/bin/rm -rf ".a:fname)
|
||||
else
|
||||
call system("del /S ".a:fname)
|
||||
endif
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
|
||||
call system("rmdir /S/Q ".s:QuoteFileDir(a:fname))
|
||||
else
|
||||
call system("/bin/rm -rf ".s:QuoteFileDir(a:fname))
|
||||
endif
|
||||
" call Dret("Rmdir")
|
||||
endfun
|
||||
@ -307,4 +367,4 @@ endfun
|
||||
" Modelines And Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim:ts=8 fdm=marker
|
||||
" vim:ts=8 fdm=marker
|
||||
|
@ -2,9 +2,9 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Steven Vertigan <steven@vertigan.wattle.id.au>
|
||||
" Last Change: 2003 May 11
|
||||
" Revision #4: Support for new "Underline" group. Removed superfluous html
|
||||
" formatting.
|
||||
" Last Change: 2006 Sep 23
|
||||
" Revision #5: Switch main text from white to yellow for easier contrast,
|
||||
" fixed some problems with terminal backgrounds.
|
||||
|
||||
set background=dark
|
||||
hi clear
|
||||
@ -12,66 +12,44 @@ if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
let g:colors_name = "blue"
|
||||
hi Normal guifg=white guibg=darkBlue
|
||||
hi Normal ctermfg=white ctermbg=darkBlue
|
||||
hi Normal guifg=yellow guibg=darkBlue ctermfg=yellow ctermbg=darkBlue
|
||||
hi NonText guifg=magenta ctermfg=lightMagenta
|
||||
hi comment guifg=gray gui=bold
|
||||
hi comment ctermfg=gray
|
||||
hi comment guifg=gray ctermfg=gray ctermbg=darkBlue gui=bold
|
||||
hi constant guifg=cyan ctermfg=cyan
|
||||
hi identifier guifg=gray ctermfg=gray
|
||||
hi statement guifg=yellow gui=none ctermfg=yellow
|
||||
hi identifier guifg=gray ctermfg=red
|
||||
hi statement guifg=white ctermfg=white ctermbg=darkBlue gui=none
|
||||
hi preproc guifg=green ctermfg=green
|
||||
hi type guifg=orange ctermfg=darkYellow
|
||||
hi special guifg=magenta ctermfg=lightMagenta
|
||||
hi Underlined guifg=cyan ctermfg=cyan
|
||||
hi Underlined gui=underline cterm=underline
|
||||
hi type guifg=orange ctermfg=lightRed ctermbg=darkBlue
|
||||
hi special guifg=magenta ctermfg=lightMagenta ctermbg=darkBlue
|
||||
hi Underlined guifg=cyan ctermfg=cyan 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 ctermfg=lightRed
|
||||
hi WarningMsg guifg=cyan guibg=darkBlue gui=bold
|
||||
hi WarningMsg ctermfg=cyan
|
||||
hi ModeMsg guifg=yellow gui=NONE
|
||||
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 ErrorMsg guifg=orange guibg=darkBlue ctermfg=lightRed
|
||||
hi WarningMsg guifg=cyan guibg=darkBlue ctermfg=cyan gui=bold
|
||||
hi ModeMsg guifg=yellow gui=NONE ctermfg=yellow
|
||||
hi MoreMsg guifg=yellow gui=NONE ctermfg=yellow
|
||||
hi Error guifg=red guibg=darkBlue gui=underline ctermfg=red
|
||||
|
||||
hi Todo guifg=black guibg=orange
|
||||
hi Todo ctermfg=black ctermbg=darkYellow
|
||||
hi Cursor guifg=black guibg=white
|
||||
hi Cursor ctermfg=black ctermbg=white
|
||||
hi Search guifg=black guibg=orange
|
||||
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 Todo guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
|
||||
hi Cursor guifg=black guibg=white ctermfg=black ctermbg=white
|
||||
hi Search guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
|
||||
hi IncSearch guifg=black guibg=yellow ctermfg=black ctermbg=darkYellow
|
||||
hi LineNr guifg=cyan ctermfg=cyan
|
||||
hi title guifg=white gui=bold cterm=bold
|
||||
|
||||
hi StatusLineNC gui=NONE guifg=black guibg=blue
|
||||
hi StatusLineNC ctermfg=black ctermbg=blue
|
||||
hi StatusLine gui=bold guifg=cyan guibg=blue
|
||||
hi StatusLine ctermfg=cyan ctermbg=blue
|
||||
hi StatusLineNC gui=NONE guifg=black guibg=blue ctermfg=black ctermbg=blue
|
||||
hi StatusLine gui=bold guifg=cyan guibg=blue ctermfg=cyan ctermbg=blue
|
||||
hi VertSplit gui=none guifg=blue guibg=blue ctermfg=blue ctermbg=blue
|
||||
|
||||
hi label guifg=yellow ctermfg=yellow
|
||||
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 Visual term=reverse ctermfg=black ctermbg=darkCyan guifg=black guibg=darkCyan
|
||||
|
||||
hi DiffChange guibg=darkGreen guifg=black
|
||||
hi DiffChange ctermbg=darkGreen ctermfg=black
|
||||
hi DiffText guibg=olivedrab guifg=black
|
||||
hi DiffText ctermbg=lightGreen 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 DiffChange guibg=darkGreen guifg=black ctermbg=darkGreen ctermfg=black
|
||||
hi DiffText guibg=olivedrab guifg=black ctermbg=lightGreen ctermfg=black
|
||||
hi DiffAdd guibg=slateblue guifg=black ctermbg=blue ctermfg=black
|
||||
hi DiffDelete guibg=coral guifg=black ctermbg=cyan ctermfg=black
|
||||
|
||||
hi Folded guibg=orange guifg=black
|
||||
hi Folded ctermbg=yellow ctermfg=black
|
||||
hi FoldColumn guibg=gray30 guifg=black
|
||||
hi FoldColumn ctermbg=gray ctermfg=black
|
||||
hi Folded guibg=orange guifg=black ctermbg=yellow ctermfg=black
|
||||
hi FoldColumn guibg=gray30 guifg=black ctermbg=gray ctermfg=black
|
||||
hi cIf0 guifg=gray ctermfg=gray
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
" Vim color file
|
||||
" Maintainer: Thorsten Maerz <info@netztorte.de>
|
||||
" Last Change: 2001 Jul 23
|
||||
" Last Change: 2006 Dec 07
|
||||
" grey on black
|
||||
" optimized for TFT panels
|
||||
|
||||
@ -18,7 +18,7 @@ let g:colors_name = "torte"
|
||||
" GUI
|
||||
highlight Normal guifg=Grey80 guibg=Black
|
||||
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 Special guifg=Orange
|
||||
highlight Comment guifg=#80a0ff
|
||||
@ -42,7 +42,7 @@ if has("unix")
|
||||
if v:version<600
|
||||
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 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 Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE
|
||||
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
|
||||
@ -640,7 +640,7 @@ The flags that you can use for the substitute commands:
|
||||
|
||||
[#] 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"
|
||||
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.
|
||||
|
||||
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:
|
||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||
"\&{string}&" does the same as "//{string}/".
|
||||
*E146*
|
||||
Instead of the '/' which surrounds the pattern and replacement string, you
|
||||
can use any other character, but not an alphanumeric character, '\', '"' or
|
||||
'|'. This is useful if you want to include a '/' in the search pattern or
|
||||
replacement string. Example: >
|
||||
can use any other single-byte character, but not an alphanumeric character,
|
||||
'\', '"' or '|'. This is useful if you want to include a '/' in the search
|
||||
pattern or replacement string. Example: >
|
||||
:s+/+//+
|
||||
|
||||
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|
|
||||
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
|
||||
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
|
||||
@ -1365,7 +1371,7 @@ readability.
|
||||
|
||||
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
|
||||
leader automatically.
|
||||
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
|
||||
@ -301,6 +301,10 @@ CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
|
||||
for the next command or Search pattern.
|
||||
{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|.
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
@ -224,7 +224,7 @@ __.* POSIX, system
|
||||
_[A-Z].* POSIX, system
|
||||
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
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
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
|
||||
allow having two buffers for the same file, you need to make a copy of the
|
||||
original file and diff with that. For example: >
|
||||
:!cp % tempfile
|
||||
:diffsplit tempfile
|
||||
possible to view the changes you have made to a buffer since the file was
|
||||
loaded. Since Vim doesn't allow having two buffers for the same file, you
|
||||
need another buffer. This command is useful: >
|
||||
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
|
||||
\ | 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
|
||||
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.
|
||||
See below for [range].
|
||||
|
||||
*:diffpu* *:diffput*
|
||||
*:diffpu* *:diffput* *E793*
|
||||
:[range]diffpu[t] [bufspec]
|
||||
Modify another buffer to undo difference with the current
|
||||
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
|
||||
@ -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
|
||||
'digraph' option and use CTRL-K to enter digraphs.
|
||||
|
||||
You may have problems using Vim with characters which have an ASCII value
|
||||
above 128. For example: You insert ue (u-umlaut) and the editor echoes \334
|
||||
in Insert mode. After leaving the Insert mode everything is fine. Note that
|
||||
fmt removes all characters with ASCII codes above 128 from the text being
|
||||
formatted. On some Unix systems this means you have to define the
|
||||
environment-variable LC_CTYPE. If you are using csh, then put the following
|
||||
line in your .cshrc: >
|
||||
You may have problems using Vim with characters which have a value above 128.
|
||||
For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
|
||||
mode. After leaving the Insert mode everything is fine. Note that fmt
|
||||
removes all characters with a value above 128 from the text being formatted.
|
||||
On some Unix systems this means you have to define the environment-variable
|
||||
LC_CTYPE. If you are using csh, then put the following line in your .cshrc: >
|
||||
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
|
||||
@ -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
|
||||
file1 file2") embedded spaces must be escaped with a backslash.
|
||||
|
||||
*wildcard*
|
||||
*wildcard* *wildcards*
|
||||
Wildcards in {file} are expanded. Which wildcards are supported depends on
|
||||
the system. These are the common ones:
|
||||
? matches one character
|
||||
@ -849,7 +849,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
||||
|
||||
*:w* *:write*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667*
|
||||
*E512* *E514* *E667* *E796*
|
||||
:w[rite] Write the whole buffer to the current file. This is
|
||||
the normal way to save changes to a file. It fails
|
||||
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*
|
||||
:bro[wse] {command} Open a file selection dialog for an argument to
|
||||
{command}. At present this works for |:e|, |:w|,
|
||||
|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc| and
|
||||
|:mksession|.
|
||||
|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc|,
|
||||
|:mksession|, |:split|, |:vsplit|, and |:tabe|.
|
||||
{only in Win32, Athena, Motif, GTK and Mac GUI}
|
||||
When ":browse" is not possible you get an error
|
||||
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}
|
||||
|
||||
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*
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
@ -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
|
||||
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*
|
||||
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
|
||||
Vim window via the system menu.
|
||||
|
||||
Note that the key changes depending on the language you are using.
|
||||
|
||||
*intellimouse-wheel-problems*
|
||||
When using the Intellimouse mouse wheel causes Vim to stop accepting input, go
|
||||
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
|
||||
@ -406,8 +406,9 @@ These are the different looks:
|
||||
- That means the menubar and toolbar handles are back! Yeah! And the
|
||||
resizing grid still works too.
|
||||
|
||||
GNOME is automatically compiled with if it was found by configure.
|
||||
(FIXME: Is this still true? Use --enable-gnome-check to force it to.)
|
||||
GNOME is compiled with if it was found by configure and the
|
||||
--enable-gnome-check argument was used.
|
||||
|
||||
|
||||
GNOME session support *gui-gnome-session* *gnome-session*
|
||||
|
||||
@ -436,7 +437,7 @@ command line argument).
|
||||
|
||||
==============================================================================
|
||||
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
|
||||
Qt toolkit, but it never worked properly and it has been abandoned. Work
|
||||
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
|
||||
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*
|
||||
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
|
||||
|
@ -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
|
||||
k
|
||||
@ -143,6 +143,7 @@ Special issues ~
|
||||
|farsi.txt| Farsi (Persian) editing
|
||||
|hebrew.txt| Hebrew language support and editing
|
||||
|russian.txt| Russian language support and editing
|
||||
|ada.txt| Ada (the programming language) support
|
||||
|hangulin.txt| Hangul (Korean) input mode
|
||||
|rileft.txt| right-to-left editing mode
|
||||
|
||||
@ -189,11 +190,13 @@ Remarks about specific systems ~
|
||||
|os_win32.txt| MS-Windows 95/98/NT
|
||||
*standard-plugin-list*
|
||||
Standard plugins ~
|
||||
|pi_gzip.txt| Reading and writing compressed files
|
||||
|pi_netrw.txt| Reading and writing files over a network
|
||||
|pi_paren.txt| Highlight matching parens
|
||||
|pi_tar.txt| Tar file explorer
|
||||
|pi_zip.txt| Zip archive explorer
|
||||
|pi_getscript.txt| Downloading latest version of Vim scripts
|
||||
|pi_gzip.txt| Reading and writing compressed files
|
||||
|pi_netrw.txt| Reading and writing files over a network
|
||||
|pi_paren.txt| Highlight matching parens
|
||||
|pi_tar.txt| Tar file explorer
|
||||
|pi_vimball.txt| Create a self-installing Vim script
|
||||
|pi_zip.txt| Zip archive explorer
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
@ -23,6 +23,8 @@ Dynamic loading added by Sergey Khorev
|
||||
For downloading MzScheme and other info:
|
||||
http://www.plt-scheme.org/software/mzscheme/
|
||||
|
||||
Note: On FreeBSD you should use the "drscheme" port.
|
||||
|
||||
==============================================================================
|
||||
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.
|
||||
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
||||
"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for
|
||||
"libmzsch\d\d\d_\d\d\d\.dll\c".
|
||||
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
||||
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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
@ -219,8 +219,8 @@ CTRL-_ Switch between languages, as follows:
|
||||
Please refer to |rileft.txt| for more information about
|
||||
right-to-left mode.
|
||||
{not in Vi}
|
||||
Only if compiled with the |+rightleft| feature (which is not
|
||||
the default).
|
||||
Only if compiled with the |+rightleft| feature.
|
||||
|
||||
*i_CTRL-^*
|
||||
CTRL-^ Toggle the use of typing language characters.
|
||||
When language |:lmap| mappings are defined:
|
||||
@ -1156,14 +1156,15 @@ any printable, non-white character:
|
||||
|
||||
In all three states these can be used:
|
||||
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.
|
||||
<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
|
||||
insert it.
|
||||
<Down> Select the next match, as if CTRL-N was used, but don't
|
||||
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.
|
||||
|
||||
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,
|
||||
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:
|
||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||
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*
|
||||
|
||||
Completion of PHP code requires tags file for completion of data from external
|
||||
files. You should use Exuberant ctags version 5.5.4 or newer. You can find it
|
||||
here: http://ctags.sourceforge.net/
|
||||
Completion of PHP code requires a tags file for completion of data from
|
||||
external files and for class aware completion. You should use Exuberant ctags
|
||||
version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/
|
||||
|
||||
Script completes:
|
||||
|
||||
@ -1390,8 +1392,10 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
||||
|
||||
Notes:
|
||||
- Vim will load/evaluate code in order to provide completions. This may
|
||||
cause some code execution, which may be a concern.
|
||||
- In context 1 above, Vim can parse the entire buffer to add a list of
|
||||
cause some code execution, which may be a concern. This is no longer
|
||||
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,
|
||||
to enable it add >
|
||||
let g:rubycomplete_classes_in_global = 1
|
||||
@ -1407,8 +1411,13 @@ Notes:
|
||||
|
||||
SYNTAX *ft-syntax-omni*
|
||||
|
||||
This uses the current syntax highlighting for completion. It can be used for
|
||||
any filetype and provides a minimal language-sensitive completion.
|
||||
Vim has the ability to color syntax highlight nearly 500 languages. Part of
|
||||
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: >
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
@ -1461,6 +1470,15 @@ groups: >
|
||||
You can create as many of these variables as you need, varying only the
|
||||
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*
|
||||
|
||||
@ -1771,13 +1789,13 @@ NOTE: ":append" and ":insert" don't work properly in between ":if" and
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
*:r!* *:read!*
|
||||
:r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
||||
the cursor. A temporary file is used to store the
|
||||
output of the command which is then read into the
|
||||
buffer. 'shellredir' is used to save the output of
|
||||
the command, which can be set to include stderr or
|
||||
not. {cmd} is executed like with ":!{cmd}", any '!'
|
||||
is replaced with the previous command |:!|.
|
||||
:[range]r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
||||
the cursor or the specified line. A temporary file is
|
||||
used to store the output of the command which is then
|
||||
read into the buffer. 'shellredir' is used to save
|
||||
the output of the command, which can be set to include
|
||||
stderr or not. {cmd} is executed like with ":!{cmd}",
|
||||
any '!' is replaced with the previous 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 "."
|
||||
|
@ -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.
|
||||
@ -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
|
||||
system; you can only type 8bit characters;
|
||||
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
|
||||
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
|
||||
@ -114,7 +114,7 @@ the language of your choice. use "en" to disable translations. >
|
||||
==============================================================================
|
||||
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
|
||||
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
|
||||
@ -169,15 +169,15 @@ l or *l*
|
||||
|
||||
*0*
|
||||
0 To the first character of the line. |exclusive|
|
||||
motion. When moving up or down, stay in same screen
|
||||
column (if possible).
|
||||
motion.
|
||||
|
||||
*<Home>* *<kHome>*
|
||||
<Home> To the first character of the line. |exclusive|
|
||||
motion. When moving up or down, stay in same text
|
||||
column (if possible). Works like "1|", which differs
|
||||
from "0" when the line starts with a <Tab>. {not in
|
||||
Vi}
|
||||
motion. When moving up or down next, stay in same
|
||||
TEXT column (if possible). Most other commands stay
|
||||
in the same SCREEN column. <Home> works like "1|",
|
||||
which differs from "0" when the line starts with a
|
||||
<Tab>. {not in Vi}
|
||||
|
||||
*^*
|
||||
^ 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.
|
||||
|
||||
*'* *'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-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the correct file (not a motion
|
||||
command when in another file). {not in Vi}
|
||||
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
|
||||
a motion command when in another file). {not in Vi}
|
||||
|
||||
*g'* *g'a* *g`* *g`a*
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
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
|
||||
|
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
|
||||
@ -43,7 +43,7 @@ are:
|
||||
- What is visible in the window.
|
||||
- 100 lines above or below the cursor to avoid a long delay when there are
|
||||
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.
|
||||
|
||||
==============================================================================
|
||||
|
@ -1,8 +1,8 @@
|
||||
*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 |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
@ -31,35 +31,37 @@ Copyright: The GPL (gnu public license) applies to *tar-copyright*
|
||||
|
||||
These options are variables that one may change, typically in one's
|
||||
<.vimrc> file.
|
||||
Default
|
||||
Variable Value Explanation
|
||||
Default
|
||||
Variable Value Explanation
|
||||
*g:tar_browseoptions* "Ptf" used to get a list of contents
|
||||
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
|
||||
*g:tar_cmd* "tar" the name of the tar program
|
||||
*g:tar_writeoptions* "uf" used to update/replace a file
|
||||
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
|
||||
*g:tar_cmd* "tar" the name of the tar program
|
||||
*g:tar_writeoptions* "uf" used to update/replace a file
|
||||
|
||||
|
||||
==============================================================================
|
||||
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
|
||||
v8 May 02, 2006 * allows editing of files that merely masquerade as tar
|
||||
files
|
||||
files
|
||||
v7 Mar 22, 2006 * work on making tar plugin work across network
|
||||
Mar 27, 2006 * g:tar_cmd now available for users to change the name
|
||||
of the tar program to be used. By default, of course,
|
||||
of the tar program to be used. By default, of course,
|
||||
its "tar".
|
||||
v6 Dec 21, 2005 * writing to files not in directories caused problems -
|
||||
fixed (pointed out by Christian Robinson)
|
||||
fixed (pointed out by Christian Robinson)
|
||||
v5 Nov 22, 2005 * report option workaround installed
|
||||
v3 Sep 16, 2005 * handles writing files in an archive back to the
|
||||
archive
|
||||
archive
|
||||
Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
|
||||
Oct 18, 2005 * handles writing to compressed archives
|
||||
Nov 03, 2005 * handles writing tarfiles across a network using
|
||||
netrw#NetWrite()
|
||||
v2 * converted to use Vim7's new autoload feature by
|
||||
Bram Moolenaar
|
||||
netrw#NetWrite()
|
||||
v2 * converted to use Vim7's new autoload feature by
|
||||
Bram Moolenaar
|
||||
v1 (original) * Michael Toren (see http://michael.toren.net/code/)
|
||||
|
||||
==============================================================================
|
||||
|
@ -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
|
||||
@ -13,10 +13,13 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
|
||||
Use At-Your-Own-Risk!
|
||||
|
||||
==============================================================================
|
||||
1. Contents *vimball* *vimball-contents*
|
||||
1. Contents *vba* *vimball* *vimball-contents*
|
||||
|
||||
1. Contents......................................: |vimball-contents|
|
||||
2. Vimball Manual................................: |vimball-manual|
|
||||
MkVimball.....................................: |:MkVimball|
|
||||
UseVimball....................................: |:UseVimball|
|
||||
RmVimball.....................................: |:RmVimball|
|
||||
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*
|
||||
|
||||
*:MkVimball*
|
||||
:[range]MkVimball[!] filename
|
||||
:[range]MkVimball[!] filename [path]
|
||||
|
||||
This command takes lines holding a path to files to be included in
|
||||
your vimball; as an example: >
|
||||
The range is composed of lines holding paths to files to be included
|
||||
in your new vimball. As an example: >
|
||||
plugin/something.vim
|
||||
doc/something.txt
|
||||
< using MkVimball on this range will create a file called "filename.vba"
|
||||
which can be used by Vimball.vim to re-create these files. If the
|
||||
< using >
|
||||
:[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
|
||||
warning and not create the file. Note that these paths are relative
|
||||
to your .vim (vimfiles) directory, and the files should be in that
|
||||
directory. The vimball plugin uses the first |'runtimepath'|directory
|
||||
that exists as a prefix; don't use absolute paths.
|
||||
directory. The vimball plugin normally uses the first |'runtimepath'|
|
||||
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
|
||||
"filename.vba" file, overwriting it if it already exists. This
|
||||
@ -52,22 +62,57 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
|
||||
file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
|
||||
line.
|
||||
|
||||
:VimballList *vimball-vimballlist*
|
||||
:VimballList *:VimballList*
|
||||
|
||||
This command will tell Vimball to list the files in the archive, along
|
||||
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
|
||||
|
||||
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
|
||||
option exists
|
||||
12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
|
||||
11 : Apr 27, 2006 * VimballList would create missing subdirectories that
|
||||
the vimball specified were needed. Fixed.
|
||||
the vimball specified were needed. Fixed.
|
||||
10 : Apr 27, 2006 * moved all setting saving/restoration to a pair of
|
||||
functions. Included some more settings in them
|
||||
functions. Included some more settings in them
|
||||
which frequently cause trouble.
|
||||
9 : Apr 26, 2006 * various changes to support Windows prediliction
|
||||
for backslashes and spaces in file and directory
|
||||
@ -80,7 +125,7 @@ Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
|
||||
only fires once, so the "Source this file..."
|
||||
message is now issued only once.
|
||||
3 : Mar 20, 2006 * removed query, now requires sourcing to be
|
||||
extracted (:so %). Message to that effect
|
||||
extracted (:so %). Message to that effect
|
||||
included.
|
||||
* :VimballList now shows files that would be
|
||||
extracted.
|
||||
|
@ -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 |
|
||||
@ -7,7 +7,7 @@
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005,2006 Charles E Campbell, Jr {{{1 *zip-copyright*
|
||||
Permission is hereby granted to use and distribute this code,
|
||||
Permission is hereby granted to use and distribute this code,
|
||||
with or without modifications, provided that this copyright
|
||||
notice is copied with it. Like anything else that's free,
|
||||
zip.vim, zipPlugin.vim, and pi_zip.txt are provided *as is*
|
||||
@ -31,24 +31,34 @@ 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
|
||||
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*
|
||||
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
|
||||
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;
|
||||
zip.vim tried 4,$s/^.*\%0c//, but that doesn't work.
|
||||
Fixed.
|
||||
v7 Mar 22, 2006 * escaped some characters that can cause filename handling
|
||||
problems.
|
||||
problems.
|
||||
v6 Dec 21, 2005 * writing to files not in directories caused problems -
|
||||
fixed (pointed out by Christian Robinson)
|
||||
fixed (pointed out by Christian Robinson)
|
||||
v5 Nov 22, 2005 * report option workaround installed
|
||||
v3 Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
|
||||
v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt)
|
||||
* began testing under Windows; works thus far
|
||||
* began testing under Windows; works thus far
|
||||
* filetype detection fixed
|
||||
Nov 03, 2005 * handles writing zipfiles across a network using
|
||||
netrw#NetWrite()
|
||||
netrw#NetWrite()
|
||||
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
|
||||
|
||||
==============================================================================
|
||||
|
@ -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
|
||||
@ -427,7 +427,7 @@ There are currently a number of limitations with PostScript printing:
|
||||
*E618* *E619*
|
||||
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
|
||||
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,
|
||||
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
|
||||
|
@ -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
|
||||
@ -783,7 +783,8 @@ Short explanation of each option: *option-list*
|
||||
'number' 'nu' print the line number in front of each line
|
||||
'numberwidth' 'nuw' number of columns used for the line number
|
||||
'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
|
||||
'paragraphs' 'para' nroff macros that separate paragraphs
|
||||
'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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
@ -59,7 +59,7 @@ But only if you enable this on your account page.
|
||||
HOW TO SEND MONEY *send-money*
|
||||
|
||||
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:
|
||||
donate@vim.org
|
||||
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'*
|
||||
'ghr' options.txt /*'ghr'*
|
||||
'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'*
|
||||
'gr' vi_diff.txt /*'gr'*
|
||||
'graphic' vi_diff.txt /*'graphic'*
|
||||
@ -528,6 +548,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nomousehide' options.txt /*'nomousehide'*
|
||||
'nonu' options.txt /*'nonu'*
|
||||
'nonumber' options.txt /*'nonumber'*
|
||||
'noodev' options.txt /*'noodev'*
|
||||
'noopendevice' options.txt /*'noopendevice'*
|
||||
'nopaste' options.txt /*'nopaste'*
|
||||
'nopi' options.txt /*'nopi'*
|
||||
'nopreserveindent' options.txt /*'nopreserveindent'*
|
||||
@ -629,11 +651,13 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'number' options.txt /*'number'*
|
||||
'numberwidth' options.txt /*'numberwidth'*
|
||||
'nuw' options.txt /*'nuw'*
|
||||
'odev' options.txt /*'odev'*
|
||||
'oft' options.txt /*'oft'*
|
||||
'ofu' options.txt /*'ofu'*
|
||||
'omnifunc' options.txt /*'omnifunc'*
|
||||
'op' vi_diff.txt /*'op'*
|
||||
'open' vi_diff.txt /*'open'*
|
||||
'opendevice' options.txt /*'opendevice'*
|
||||
'operatorfunc' options.txt /*'operatorfunc'*
|
||||
'opfunc' options.txt /*'opfunc'*
|
||||
'optimize' vi_diff.txt /*'optimize'*
|
||||
@ -1283,6 +1307,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
-xrm gui_x11.txt /*-xrm*
|
||||
-y starting.txt /*-y*
|
||||
. repeat.txt /*.*
|
||||
... eval.txt /*...*
|
||||
.Xdefaults gui_x11.txt /*.Xdefaults*
|
||||
.aff spell.txt /*.aff*
|
||||
.dic spell.txt /*.dic*
|
||||
@ -1296,6 +1321,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/<CR> pattern.txt /*\/<CR>*
|
||||
/[[. pattern.txt /*\/[[.*
|
||||
/[[= pattern.txt /*\/[[=*
|
||||
/[\n] pattern.txt /*\/[\\n]*
|
||||
/[] pattern.txt /*\/[]*
|
||||
/\ pattern.txt /*\/\\*
|
||||
/\$ pattern.txt /*\/\\$*
|
||||
@ -1672,6 +1698,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:!cmd various.txt /*:!cmd*
|
||||
:!start os_win32.txt /*:!start*
|
||||
:# various.txt /*:#*
|
||||
:#! various.txt /*:#!*
|
||||
:$ cmdline.txt /*:$*
|
||||
:% cmdline.txt /*:%*
|
||||
:& change.txt /*:&*
|
||||
@ -1707,8 +1734,20 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:@ 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*
|
||||
:DiffOrig diff.txt /*:DiffOrig*
|
||||
: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*
|
||||
:Man filetype.txt /*:Man*
|
||||
:MkVimball pi_vimball.txt /*:MkVimball*
|
||||
@ -1718,9 +1757,13 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:P various.txt /*:P*
|
||||
:Pexplore pi_netrw.txt /*:Pexplore*
|
||||
:Print various.txt /*:Print*
|
||||
:RmVimball pi_vimball.txt /*:RmVimball*
|
||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||
:TOhtml syntax.txt /*:TOhtml*
|
||||
:Texplore pi_netrw.txt /*:Texplore*
|
||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||
:VimballList pi_vimball.txt /*:VimballList*
|
||||
:X editing.txt /*:X*
|
||||
:XMLent insert.txt /*:XMLent*
|
||||
:XMLns insert.txt /*:XMLns*
|
||||
@ -1906,9 +1949,17 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:comc map.txt /*:comc*
|
||||
:comclear map.txt /*:comclear*
|
||||
: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-custom map.txt /*:command-completion-custom*
|
||||
: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*
|
||||
:comment eval.txt /*:comment*
|
||||
:comp quickfix.txt /*:comp*
|
||||
@ -1992,6 +2043,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:earlier undo.txt /*:earlier*
|
||||
:ec eval.txt /*:ec*
|
||||
:echo eval.txt /*:echo*
|
||||
:echo-redraw eval.txt /*:echo-redraw*
|
||||
:echoe eval.txt /*:echoe*
|
||||
:echoerr eval.txt /*:echoerr*
|
||||
: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-environment eval.txt /*:let-environment*
|
||||
:let-option eval.txt /*:let-option*
|
||||
:let-register eval.txt /*:let-register*
|
||||
:let-star eval.txt /*:let-star*
|
||||
:let-unpack eval.txt /*:let-unpack*
|
||||
:let.= eval.txt /*:let.=*
|
||||
:lex quickfix.txt /*:lex*
|
||||
@ -2708,6 +2760,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:syn-sync-second syntax.txt /*:syn-sync-second*
|
||||
:syn-sync-third syntax.txt /*:syn-sync-third*
|
||||
:syn-transparent syntax.txt /*:syn-transparent*
|
||||
:sync scroll.txt /*:sync*
|
||||
:syncbind scroll.txt /*:syncbind*
|
||||
:syntax syntax.txt /*:syntax*
|
||||
:syntax-enable syntax.txt /*:syntax-enable*
|
||||
@ -3027,6 +3080,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
<cfile> cmdline.txt /*<cfile>*
|
||||
<character> intro.txt /*<character>*
|
||||
<count> map.txt /*<count>*
|
||||
<f-args> map.txt /*<f-args>*
|
||||
<k0> term.txt /*<k0>*
|
||||
<k1> term.txt /*<k1>*
|
||||
<k2> term.txt /*<k2>*
|
||||
@ -3086,7 +3140,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
@ repeat.txt /*@*
|
||||
@/ change.txt /*@\/*
|
||||
@: repeat.txt /*@:*
|
||||
@= change.txt /*@=*
|
||||
@@ repeat.txt /*@@*
|
||||
@r eval.txt /*@r*
|
||||
A insert.txt /*A*
|
||||
ACL editing.txt /*ACL*
|
||||
ATTENTION usr_11.txt /*ATTENTION*
|
||||
@ -4017,6 +4073,11 @@ E789 syntax.txt /*E789*
|
||||
E79 message.txt /*E79*
|
||||
E790 undo.txt /*E790*
|
||||
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*
|
||||
E800 arabic.txt /*E800*
|
||||
E81 map.txt /*E81*
|
||||
@ -4079,7 +4140,10 @@ GTK+ gui_x11.txt /*GTK+*
|
||||
GUI gui.txt /*GUI*
|
||||
GUI-X11 gui_x11.txt /*GUI-X11*
|
||||
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*
|
||||
H motion.txt /*H*
|
||||
I insert.txt /*I*
|
||||
@ -4129,6 +4193,7 @@ NetBSD-backspace options.txt /*NetBSD-backspace*
|
||||
Normal intro.txt /*Normal*
|
||||
Normal-mode intro.txt /*Normal-mode*
|
||||
Nread pi_netrw.txt /*Nread*
|
||||
Nsource pi_netrw.txt /*Nsource*
|
||||
Nvi intro.txt /*Nvi*
|
||||
Nwrite pi_netrw.txt /*Nwrite*
|
||||
O insert.txt /*O*
|
||||
@ -4222,6 +4287,7 @@ SessionLoad-variable starting.txt /*SessionLoad-variable*
|
||||
SessionLoadPost autocmd.txt /*SessionLoadPost*
|
||||
ShellCmdPost autocmd.txt /*ShellCmdPost*
|
||||
ShellFilterPost autocmd.txt /*ShellFilterPost*
|
||||
SourceCmd autocmd.txt /*SourceCmd*
|
||||
SourcePre autocmd.txt /*SourcePre*
|
||||
SpellFileMissing autocmd.txt /*SpellFileMissing*
|
||||
StdinReadPost autocmd.txt /*StdinReadPost*
|
||||
@ -4418,7 +4484,17 @@ abandon editing.txt /*abandon*
|
||||
abbreviations map.txt /*abbreviations*
|
||||
abel.vim syntax.txt /*abel.vim*
|
||||
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-filetype-plugin usr_05.txt /*add-filetype-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.3 version6.txt /*added-6.3*
|
||||
added-6.4 version6.txt /*added-6.4*
|
||||
added-7.1 version7.txt /*added-7.1*
|
||||
added-BeOS version5.txt /*added-BeOS*
|
||||
added-Mac version5.txt /*added-Mac*
|
||||
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-N intro.txt /*c_CTRL-\\_CTRL-N*
|
||||
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_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.3 version6.txt /*changed-6.3*
|
||||
changed-6.4 version6.txt /*changed-6.4*
|
||||
changed-7.1 version7.txt /*changed-7.1*
|
||||
changelist motion.txt /*changelist*
|
||||
changelog.vim syntax.txt /*changelog.vim*
|
||||
changenr() eval.txt /*changenr()*
|
||||
@ -4729,10 +4808,15 @@ compatible-default starting.txt /*compatible-default*
|
||||
compile-changes-5 version5.txt /*compile-changes-5*
|
||||
compile-changes-6 version6.txt /*compile-changes-6*
|
||||
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-pyunit quickfix.txt /*compiler-pyunit*
|
||||
compiler-select quickfix.txt /*compiler-select*
|
||||
compiler-tex quickfix.txt /*compiler-tex*
|
||||
compiler-vaxada ada.txt /*compiler-vaxada*
|
||||
compl-current insert.txt /*compl-current*
|
||||
compl-define insert.txt /*compl-define*
|
||||
compl-dictionary insert.txt /*compl-dictionary*
|
||||
@ -4916,6 +5000,7 @@ debugger-integration debugger.txt /*debugger-integration*
|
||||
debugger-support debugger.txt /*debugger-support*
|
||||
debugger.txt debugger.txt /*debugger.txt*
|
||||
dec-mouse options.txt /*dec-mouse*
|
||||
decada_members ada.txt /*decada_members*
|
||||
deepcopy() eval.txt /*deepcopy()*
|
||||
definition-search tagsrch.txt /*definition-search*
|
||||
definitions intro.txt /*definitions*
|
||||
@ -4952,6 +5037,7 @@ diff diff.txt /*diff*
|
||||
diff-diffexpr diff.txt /*diff-diffexpr*
|
||||
diff-mode diff.txt /*diff-mode*
|
||||
diff-options diff.txt /*diff-options*
|
||||
diff-original-file diff.txt /*diff-original-file*
|
||||
diff-patchexpr diff.txt /*diff-patchexpr*
|
||||
diff.txt diff.txt /*diff.txt*
|
||||
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.3 version6.txt /*fixed-6.3*
|
||||
fixed-6.4 version6.txt /*fixed-6.4*
|
||||
fixed-7.1 version7.txt /*fixed-7.1*
|
||||
flexwiki.vim syntax.txt /*flexwiki.vim*
|
||||
fname_diff-variable eval.txt /*fname_diff-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*
|
||||
frombook usr_01.txt /*frombook*
|
||||
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-apache-syntax syntax.txt /*ft-apache-syntax*
|
||||
ft-asm-syntax syntax.txt /*ft-asm-syntax*
|
||||
@ -5395,18 +5490,60 @@ g- undo.txt /*g-*
|
||||
g0 motion.txt /*g0*
|
||||
g8 various.txt /*g8*
|
||||
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_altv pi_netrw.txt /*g:netrw_altv*
|
||||
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
||||
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
||||
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
|
||||
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_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
|
||||
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_cmd pi_netrw.txt /*g:netrw_ftp_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_hide pi_netrw.txt /*g:netrw_hide*
|
||||
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_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
|
||||
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_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_menu pi_netrw.txt /*g:netrw_menu*
|
||||
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_rcp_cmd pi_netrw.txt /*g:netrw_rcp_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_scp_cmd pi_netrw.txt /*g:netrw_scp_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_direction pi_netrw.txt /*g:netrw_sort_direction*
|
||||
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_timefmt pi_netrw.txt /*g:netrw_timefmt*
|
||||
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_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
|
||||
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_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:var eval.txt /*g:var*
|
||||
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||
g; motion.txt /*g;*
|
||||
g< message.txt /*g<*
|
||||
g<Down> motion.txt /*g<Down>*
|
||||
@ -5496,20 +5638,19 @@ getfperm() eval.txt /*getfperm()*
|
||||
getfsize() eval.txt /*getfsize()*
|
||||
getftime() eval.txt /*getftime()*
|
||||
getftype() eval.txt /*getftype()*
|
||||
getlatestvimscripts getscript.txt /*getlatestvimscripts*
|
||||
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*
|
||||
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
||||
getline() eval.txt /*getline()*
|
||||
getloclist() eval.txt /*getloclist()*
|
||||
getpos() eval.txt /*getpos()*
|
||||
getqflist() eval.txt /*getqflist()*
|
||||
getreg() eval.txt /*getreg()*
|
||||
getregtype() eval.txt /*getregtype()*
|
||||
getscript getscript.txt /*getscript*
|
||||
getscript.txt getscript.txt /*getscript.txt*
|
||||
getscript pi_getscript.txt /*getscript*
|
||||
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()*
|
||||
getwinposx() eval.txt /*getwinposx()*
|
||||
getwinposy() eval.txt /*getwinposy()*
|
||||
@ -5526,14 +5667,24 @@ global-ime mbyte.txt /*global-ime*
|
||||
global-local options.txt /*global-local*
|
||||
global-variable eval.txt /*global-variable*
|
||||
globpath() eval.txt /*globpath()*
|
||||
glvs getscript.txt /*glvs*
|
||||
glvs-alg getscript.txt /*glvs-alg*
|
||||
glvs-autoinstall getscript.txt /*glvs-autoinstall*
|
||||
glvs-contents getscript.txt /*glvs-contents*
|
||||
glvs-data getscript.txt /*glvs-data*
|
||||
glvs-hist getscript.txt /*glvs-hist*
|
||||
glvs-plugins getscript.txt /*glvs-plugins*
|
||||
glvs pi_getscript.txt /*glvs*
|
||||
glvs-alg pi_getscript.txt /*glvs-alg*
|
||||
glvs-algorithm pi_getscript.txt /*glvs-algorithm*
|
||||
glvs-autoinstall pi_getscript.txt /*glvs-autoinstall*
|
||||
glvs-contents pi_getscript.txt /*glvs-contents*
|
||||
glvs-copyright pi_getscript.txt /*glvs-copyright*
|
||||
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*
|
||||
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*
|
||||
go motion.txt /*go*
|
||||
gp change.txt /*gp*
|
||||
@ -5621,7 +5772,6 @@ gvimrc gui.txt /*gvimrc*
|
||||
gw change.txt /*gw*
|
||||
gwgw change.txt /*gwgw*
|
||||
gww change.txt /*gww*
|
||||
gx pi_netrw.txt /*gx*
|
||||
gzip pi_gzip.txt /*gzip*
|
||||
gzip-autocmd pi_gzip.txt /*gzip-autocmd*
|
||||
gzip-example autocmd.txt /*gzip-example*
|
||||
@ -5636,11 +5786,13 @@ has() eval.txt /*has()*
|
||||
has-patch eval.txt /*has-patch*
|
||||
has_key() eval.txt /*has_key()*
|
||||
haskell.vim syntax.txt /*haskell.vim*
|
||||
haslocaldir() eval.txt /*haslocaldir()*
|
||||
hasmapto() eval.txt /*hasmapto()*
|
||||
hebrew hebrew.txt /*hebrew*
|
||||
hebrew.txt hebrew.txt /*hebrew.txt*
|
||||
help various.txt /*help*
|
||||
help-context help.txt /*help-context*
|
||||
help-summary usr_02.txt /*help-summary*
|
||||
help-translated various.txt /*help-translated*
|
||||
help-xterm-window various.txt /*help-xterm-window*
|
||||
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-swap-buttons term.txt /*mouse-swap-buttons*
|
||||
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*
|
||||
ms-dos os_msdos.txt /*ms-dos*
|
||||
msdos os_msdos.txt /*msdos*
|
||||
@ -6232,10 +6387,7 @@ netbeans.txt netbeans.txt /*netbeans.txt*
|
||||
netreadfixup pi_netrw.txt /*netreadfixup*
|
||||
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-NB pi_netrw.txt /*netrw-NB*
|
||||
netrw-Nb pi_netrw.txt /*netrw-Nb*
|
||||
netrw-O pi_netrw.txt /*netrw-O*
|
||||
netrw-P pi_netrw.txt /*netrw-P*
|
||||
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-a pi_netrw.txt /*netrw-a*
|
||||
netrw-activate pi_netrw.txt /*netrw-activate*
|
||||
netrw-b pi_netrw.txt /*netrw-b*
|
||||
netrw-bookmark pi_netrw.txt /*netrw-bookmark*
|
||||
netrw-bookmarks pi_netrw.txt /*netrw-bookmarks*
|
||||
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-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
|
||||
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-d pi_netrw.txt /*netrw-d*
|
||||
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-fixup pi_netrw.txt /*netrw-fixup*
|
||||
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-help pi_netrw.txt /*netrw-help*
|
||||
netrw-hexplore pi_netrw.txt /*netrw-hexplore*
|
||||
netrw-hiding pi_netrw.txt /*netrw-hiding*
|
||||
netrw-history pi_netrw.txt /*netrw-history*
|
||||
netrw-horiz pi_netrw.txt /*netrw-horiz*
|
||||
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-listbookmark pi_netrw.txt /*netrw-listbookmark*
|
||||
netrw-listhack pi_netrw.txt /*netrw-listhack*
|
||||
netrw-login pi_netrw.txt /*netrw-login*
|
||||
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-netrc pi_netrw.txt /*netrw-netrc*
|
||||
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-p5 pi_netrw.txt /*netrw-p5*
|
||||
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-password pi_netrw.txt /*netrw-password*
|
||||
netrw-path pi_netrw.txt /*netrw-path*
|
||||
netrw-pexplore pi_netrw.txt /*netrw-pexplore*
|
||||
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-prvwin pi_netrw.txt /*netrw-prvwin*
|
||||
netrw-pscp pi_netrw.txt /*netrw-pscp*
|
||||
netrw-psftp pi_netrw.txt /*netrw-psftp*
|
||||
netrw-putty pi_netrw.txt /*netrw-putty*
|
||||
netrw-q pi_netrw.txt /*netrw-q*
|
||||
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-sort pi_netrw.txt /*netrw-sort*
|
||||
netrw-sortsequence pi_netrw.txt /*netrw-sortsequence*
|
||||
netrw-source pi_netrw.txt /*netrw-source*
|
||||
netrw-starpat pi_netrw.txt /*netrw-starpat*
|
||||
netrw-starstar pi_netrw.txt /*netrw-starstar*
|
||||
netrw-starstarpat pi_netrw.txt /*netrw-starstarpat*
|
||||
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-u pi_netrw.txt /*netrw-u*
|
||||
netrw-uidpass pi_netrw.txt /*netrw-uidpass*
|
||||
netrw-updir pi_netrw.txt /*netrw-updir*
|
||||
netrw-urls pi_netrw.txt /*netrw-urls*
|
||||
netrw-userpass pi_netrw.txt /*netrw-userpass*
|
||||
netrw-v pi_netrw.txt /*netrw-v*
|
||||
netrw-var pi_netrw.txt /*netrw-var*
|
||||
netrw-variables pi_netrw.txt /*netrw-variables*
|
||||
@ -6415,8 +6583,10 @@ new-vimgrep version7.txt /*new-vimgrep*
|
||||
new-virtedit version6.txt /*new-virtedit*
|
||||
news intro.txt /*news*
|
||||
nextnonblank() eval.txt /*nextnonblank()*
|
||||
nice todo.txt /*nice*
|
||||
no-eval-feature eval.txt /*no-eval-feature*
|
||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||
non-greedy pattern.txt /*non-greedy*
|
||||
normal-index index.txt /*normal-index*
|
||||
not-compatible usr_01.txt /*not-compatible*
|
||||
not-edited editing.txt /*not-edited*
|
||||
@ -6523,6 +6693,7 @@ photon-gui os_qnx.txt /*photon-gui*
|
||||
php.vim syntax.txt /*php.vim*
|
||||
php3.vim syntax.txt /*php3.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_netrw.txt pi_netrw.txt /*pi_netrw.txt*
|
||||
pi_paren.txt pi_paren.txt /*pi_paren.txt*
|
||||
@ -6694,6 +6865,7 @@ replacing change.txt /*replacing*
|
||||
replacing-ex insert.txt /*replacing-ex*
|
||||
reselect-Visual visual.txt /*reselect-Visual*
|
||||
resolve() eval.txt /*resolve()*
|
||||
restore-cursor usr_05.txt /*restore-cursor*
|
||||
restore-position tips.txt /*restore-position*
|
||||
restricted-mode starting.txt /*restricted-mode*
|
||||
retab-example change.txt /*retab-example*
|
||||
@ -6761,8 +6933,6 @@ s/\r change.txt /*s\/\\r*
|
||||
s/\t change.txt /*s\/\\t*
|
||||
s/\u change.txt /*s\/\\u*
|
||||
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<CR> change.txt /*s<CR>*
|
||||
sandbox eval.txt /*sandbox*
|
||||
@ -6775,6 +6945,7 @@ script usr_41.txt /*script*
|
||||
script-here if_perl.txt /*script-here*
|
||||
script-local map.txt /*script-local*
|
||||
script-variable eval.txt /*script-variable*
|
||||
scriptnames-dictionary eval.txt /*scriptnames-dictionary*
|
||||
scriptout-changed version4.txt /*scriptout-changed*
|
||||
scroll-binding scroll.txt /*scroll-binding*
|
||||
scroll-cursor scroll.txt /*scroll-cursor*
|
||||
@ -6832,6 +7003,7 @@ sgml.vim syntax.txt /*sgml.vim*
|
||||
sh.vim syntax.txt /*sh.vim*
|
||||
shell-window tips.txt /*shell-window*
|
||||
shell_error-variable eval.txt /*shell_error-variable*
|
||||
shellescape() eval.txt /*shellescape()*
|
||||
shift intro.txt /*shift*
|
||||
shift-left-right change.txt /*shift-left-right*
|
||||
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-folding syntax.txt /*tex-folding*
|
||||
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-slow syntax.txt /*tex-slow*
|
||||
tex-style syntax.txt /*tex-style*
|
||||
@ -7481,6 +7655,9 @@ v:key eval.txt /*v:key*
|
||||
v:lang eval.txt /*v:lang*
|
||||
v:lc_time eval.txt /*v:lc_time*
|
||||
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:profiling eval.txt /*v:profiling*
|
||||
v:progname eval.txt /*v:progname*
|
||||
@ -7610,6 +7787,7 @@ various-cmds various.txt /*various-cmds*
|
||||
various-motions motion.txt /*various-motions*
|
||||
various.txt various.txt /*various.txt*
|
||||
vb.vim syntax.txt /*vb.vim*
|
||||
vba pi_vimball.txt /*vba*
|
||||
verbose starting.txt /*verbose*
|
||||
version-5.1 version5.txt /*version-5.1*
|
||||
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.3 version6.txt /*version-6.3*
|
||||
version-6.4 version6.txt /*version-6.4*
|
||||
version-7.1 version7.txt /*version-7.1*
|
||||
version-variable eval.txt /*version-variable*
|
||||
version4.txt version4.txt /*version4.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-variable eval.txt /*vim-variable*
|
||||
vim.vim syntax.txt /*vim.vim*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim: options.txt /*vim:*
|
||||
vimball pi_vimball.txt /*vimball*
|
||||
vimball-contents pi_vimball.txt /*vimball-contents*
|
||||
vimball-extract pi_vimball.txt /*vimball-extract*
|
||||
vimball-history pi_vimball.txt /*vimball-history*
|
||||
vimball-manual pi_vimball.txt /*vimball-manual*
|
||||
vimball-vimballlist pi_vimball.txt /*vimball-vimballlist*
|
||||
vimdev intro.txt /*vimdev*
|
||||
vimdiff diff.txt /*vimdiff*
|
||||
vimfiles options.txt /*vimfiles*
|
||||
@ -7709,6 +7888,7 @@ warningmsg-variable eval.txt /*warningmsg-variable*
|
||||
white-space pattern.txt /*white-space*
|
||||
whitespace pattern.txt /*whitespace*
|
||||
wildcard editing.txt /*wildcard*
|
||||
wildcards editing.txt /*wildcards*
|
||||
win16-!start gui_w16.txt /*win16-!start*
|
||||
win16-clipboard gui_w16.txt /*win16-clipboard*
|
||||
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
|
||||
@ -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.
|
||||
|
||||
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
|
||||
work on systems where the window manager consumes the mouse events when the
|
||||
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
|
||||
@ -149,8 +149,8 @@ these two variables are the correct place where the above mentioned control
|
||||
sequences should go.
|
||||
|
||||
Compare your xterm termcap entry (found in /etc/termcap) with your xterm
|
||||
terminfo entry (retrieved with /usr/5bin/infocmp -C xterm). Both should
|
||||
contain entries similar to: >
|
||||
terminfo entry (retrieved with "infocmp -C xterm"). Both should contain
|
||||
entries similar to: >
|
||||
:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:
|
||||
|
||||
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
|
||||
@ -13,6 +13,7 @@ below or visit the ICCF web site, available at these URLs:
|
||||
|
||||
http://iccf-holland.org/
|
||||
http://www.vim.org/iccf/
|
||||
http://www.iccf.nl/
|
||||
|
||||
You can also sponsor the development of Vim. Vim sponsors can vote for
|
||||
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.
|
||||
|
||||
|
||||
USA: The methods mentioned below can be used. Alternatively, you
|
||||
can send a check to the Nehemiah Group Outreach Society
|
||||
(NGOS). This will reduce banking costs and you can get an IRS
|
||||
tax receipt. The NGOS forwards the funds directly to the
|
||||
Kibaale project in Uganda. Checks must be made payable to
|
||||
NGOS but please note on the check "donation Kibaale". Mail
|
||||
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.
|
||||
USA: The methods mentioned below can be used.
|
||||
Sending a check to the Nehemiah Group Outreach Society (NGOS)
|
||||
is no longer possible, unfortunately. We are looking for
|
||||
another way to get you an IRS tax receipt.
|
||||
For sponsoring a child contact KCF in Canada (see below). US
|
||||
checks can be send to them to lower banking costs.
|
||||
|
||||
Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
|
||||
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
|
||||
the most widely used Internet based payment system. It's
|
||||
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:
|
||||
Bram@iccf-holland.org
|
||||
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
|
||||
|
@ -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
|
||||
|
||||
@ -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
|
||||
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
|
||||
@ -497,6 +497,66 @@ You can use the error ID at the start to find help about it: >
|
||||
|
||||
: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
|
||||
|
@ -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
|
||||
|
||||
@ -606,7 +606,7 @@ NAMED MARKS *bookmark*
|
||||
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
|
||||
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:
|
||||
>
|
||||
`a
|
||||
@ -622,7 +622,7 @@ while working on some text near the end of the file.
|
||||
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
|
||||
@ -197,8 +197,8 @@ unmodified.)
|
||||
MOVING BETWEEN WINDOWS
|
||||
|
||||
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
|
||||
between them:
|
||||
you can create almost any layout of windows. Then you can use these commands
|
||||
to move between them:
|
||||
|
||||
CTRL-W h move to the window on the left
|
||||
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
|
||||
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
|
||||
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:
|
||||
|
||||
+-------------------------------------------+
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
@ -183,8 +183,9 @@ results in (starting with the original line):
|
||||
Teacher Smith criticized Teacher Johnson today. ~
|
||||
|
||||
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
|
||||
for confirmation before it performs each substitution. Enter the following: >
|
||||
out the last line it changes. The c (confirm) flag tells ":substitute" to ask
|
||||
you for confirmation before it performs each substitution. Enter the
|
||||
following: >
|
||||
|
||||
:%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
|
||||
|
||||
@ -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
|
||||
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
|
||||
after a full stop.
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
@ -1865,7 +1865,7 @@ For ":syntax keyword" the "transparent" option did work, although not
|
||||
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
|
||||
not interruptable.
|
||||
not interruptible.
|
||||
|
||||
"gq" operator inserted screen lines in the wrong situation. Now screen
|
||||
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
|
||||
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.
|
||||
|
||||
@ -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').
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
@ -11128,7 +11128,7 @@ Solution: Insert the indent. Also fix other mistakes.
|
||||
Files: runtime/doc/eval.txt
|
||||
|
||||
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
|
||||
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,
|
||||
@ -14406,7 +14406,7 @@ Files: src/normal.c
|
||||
Patch 6.3.075
|
||||
Problem: After unloading another buffer, syntax highlighting in the current
|
||||
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
|
||||
|
||||
Patch 6.3.076
|
||||
|
@ -182,7 +182,6 @@ EOF
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub writeCSS
|
||||
{
|
||||
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
|
||||
@ -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
|
||||
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.
|
||||
|
||||
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
|
||||
.PP
|
||||
.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
|
||||
\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
|
||||
.PP
|
||||
.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
|
||||
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
||||
.br
|
||||
|
@ -231,7 +231,7 @@ xxd с помощью strace(1) или truss(1) в тех случаях, ког
|
||||
.PP
|
||||
.br
|
||||
Вывести 120 байтов в виде непрерывного шестнадцатеричного представления
|
||||
по 40 октетов в строке:
|
||||
по 20 октетов в строке:
|
||||
.PP
|
||||
\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
|
||||
.br
|
||||
|
@ -1,223 +1,190 @@
|
||||
" Vim Ada plugin file
|
||||
" Language: Ada
|
||||
" Maintainer: Neil Bird <neil@fnxweb.com>
|
||||
" Last Change: 2006 Apr 21
|
||||
" Version: $Id$
|
||||
" Look for the latest version at http://vim.sourceforge.net/
|
||||
"
|
||||
" Perform Ada specific completion & tagging.
|
||||
"
|
||||
"
|
||||
"------------------------------------------------------------------------------
|
||||
" Description: Perform Ada specific completion & tagging.
|
||||
" Language: Ada (2005)
|
||||
" $Id$
|
||||
" Maintainer: Martin Krischik
|
||||
" Neil Bird <neil@fnxweb.com>
|
||||
" $Author$
|
||||
" $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
|
||||
" Ada object and tag jump to that, not the 'simple' vim word.
|
||||
" 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
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
if exists ("b:did_ftplugin") || version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
" 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
|
||||
"
|
||||
let s:cpoptions = &cpoptions
|
||||
set cpo-=C
|
||||
set cpoptions-=C
|
||||
|
||||
" Ada comments
|
||||
setlocal comments+=O:--
|
||||
" Section: Comments {{{1
|
||||
"
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal commentstring=--\ \ %s
|
||||
setlocal complete=.,w,b,u,t,i
|
||||
|
||||
" Make local tag mappings for this buffer (if not already set)
|
||||
if mapcheck('<C-]>','n') == ''
|
||||
nnoremap <unique> <buffer> <C-]> :call JumpToTag_ada('')<cr>
|
||||
endif
|
||||
if mapcheck('g<C-]>','n') == ''
|
||||
nnoremap <unique> <buffer> g<C-]> :call JumpToTag_ada('','stj')<cr>
|
||||
endif
|
||||
|
||||
if mapcheck('<C-N>','i') == ''
|
||||
inoremap <unique> <buffer> <C-N> <C-R>=<SID>AdaCompletion("\<lt>C-N>")<cr>
|
||||
endif
|
||||
if mapcheck('<C-P>','i') == ''
|
||||
inoremap <unique> <buffer> <C-P> <C-R>=<SID>AdaCompletion("\<lt>C-P>")<cr>
|
||||
endif
|
||||
if mapcheck('<C-X><C-]>','i') == ''
|
||||
inoremap <unique> <buffer> <C-X><C-]> <C-R>=<SID>AdaCompletion("\<lt>C-X>\<lt>C-]>")<cr>
|
||||
endif
|
||||
if mapcheck('<bs>','i') == ''
|
||||
inoremap <silent> <unique> <buffer> <bs> <C-R>=<SID>AdaInsertBackspace()<cr>
|
||||
endif
|
||||
|
||||
|
||||
" Only do this when not done yet for this buffer & matchit is used
|
||||
if ! exists("b:match_words") && exists("loaded_matchit")
|
||||
" The following lines enable the macros/matchit.vim plugin for
|
||||
" Ada-specific extended matching with the % key.
|
||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||
let b:match_words=
|
||||
\ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' .
|
||||
\ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' .
|
||||
\ '\%(\<while\>.*\|\<for\>.*\|'.s:notend.'\)\<loop\>:\<end\>\s\+\<loop\>,' .
|
||||
\ '\%(\<do\>\|\<begin\>\):\<exception\>:\<end\>\s*\%($\|[;A-Z]\),' .
|
||||
\ s:notend . '\<record\>:\<end\>\s\+\<record\>'
|
||||
endif
|
||||
|
||||
|
||||
" Prevent re-load of functions
|
||||
if exists('s:id')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Get this script's unique id
|
||||
map <script> <SID>?? <SID>??
|
||||
let s:id = substitute( maparg('<SID>??'), '^<SNR>\(.*\)_??$', '\1', '' )
|
||||
unmap <script> <SID>??
|
||||
|
||||
|
||||
" Extract current Ada word across multiple lines
|
||||
" AdaWord( [line, column] )\
|
||||
let s:AdaWordRegex = '\a\w*\(\_s*\.\_s*\a\w*\)*'
|
||||
let s:AdaComment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
||||
|
||||
function! AdaWord(...)
|
||||
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
|
||||
|
||||
" Go backwards until we find a match (Ada ID) that *doesn't* include our
|
||||
" location - i.e., the previous ID. This is because the current 'correct'
|
||||
" match will toggle matching/not matching as we traverse characters
|
||||
" backwards. Thus, we have to find the previous unrelated match, exclude
|
||||
" it, then use the next full match (ours).
|
||||
" Remember to convert vim column 'colnr' [1..n] to string offset [0..(n-1)]
|
||||
" ... but start, here, one after the required char.
|
||||
let newcol = colnr + 1
|
||||
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
|
||||
" Section: Tagging {{{1
|
||||
"
|
||||
if exists ("g:ada_extended_tagging")
|
||||
" Make local tag mappings for this buffer (if not already set)
|
||||
if g:ada_extended_tagging == 'jump'
|
||||
if mapcheck('<C-]>','n') == ''
|
||||
nnoremap <unique> <buffer> <C-]> :call ada#Jump_Tag ('', 'tjump')<cr>
|
||||
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
|
||||
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
|
||||
|
||||
" Got anything?
|
||||
if ourmatch < 0
|
||||
return ''
|
||||
else
|
||||
let line = strpart( line, ourmatch)
|
||||
endif
|
||||
" Section: Completion {{{1
|
||||
"
|
||||
setlocal completefunc=ada#User_Complete
|
||||
setlocal omnifunc=adacomplete#Complete
|
||||
|
||||
" Now simply add further lines until the match gets no bigger
|
||||
let matchstr = matchstr( line, s:AdaWordRegex )
|
||||
let lastline = line('$')
|
||||
let linenr = line('.') + 1
|
||||
while linenr <= lastline
|
||||
let lastmatch = matchstr
|
||||
let line = line . substitute( getline(linenr), s:AdaComment, '', '' )
|
||||
let matchstr = matchstr( line, s:AdaWordRegex )
|
||||
if matchstr == lastmatch
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
if exists ("g:ada_extended_completion")
|
||||
if mapcheck ('<C-N>','i') == ''
|
||||
inoremap <unique> <buffer> <C-N> <C-R>=ada#Completion("\<lt>C-N>")<cr>
|
||||
endif
|
||||
if mapcheck ('<C-P>','i') == ''
|
||||
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
|
||||
|
||||
" Strip whitespace & return
|
||||
return substitute( matchstr, '\s\+', '', 'g' )
|
||||
endfunction
|
||||
" Section: Matchit {{{1
|
||||
"
|
||||
" Only do this when not done yet for this buffer & matchit is used
|
||||
"
|
||||
if !exists ("b:match_words") &&
|
||||
\ exists ("loaded_matchit")
|
||||
"
|
||||
" The following lines enable the macros/matchit.vim plugin for
|
||||
" Ada-specific extended matching with the % key.
|
||||
"
|
||||
let s:notend = '\%(\<end\s\+\)\@<!'
|
||||
let b:match_words =
|
||||
\ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' .
|
||||
\ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' .
|
||||
\ '\%(\<while\>.*\|\<for\>.*\|'.s:notend.'\)\<loop\>:\<end\>\s\+\<loop\>,' .
|
||||
\ '\%(\<do\>\|\<begin\>\):\<exception\>:\<end\>\s*\%($\|[;A-Z]\),' .
|
||||
\ s:notend . '\<record\>:\<end\>\s\+\<record\>'
|
||||
endif
|
||||
|
||||
" Section: Compiler {{{1
|
||||
"
|
||||
if ! exists("current_compiler") ||
|
||||
\ current_compiler != g:ada_default_compiler
|
||||
execute "compiler " . g:ada_default_compiler
|
||||
endif
|
||||
|
||||
" 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
|
||||
" Section: Folding {{{1
|
||||
"
|
||||
if exists("g:ada_folding")
|
||||
if g:ada_folding[0] == 'i'
|
||||
setlocal foldmethod=indent
|
||||
setlocal foldignore=--
|
||||
setlocal foldnestmax=5
|
||||
elseif g:ada_folding[0] == 'g'
|
||||
setlocal foldmethod=expr
|
||||
setlocal foldexpr=ada#Pretty_Print_Folding(v:lnum)
|
||||
elseif g:ada_folding[0] == 's'
|
||||
setlocal foldmethod=syntax
|
||||
endif
|
||||
setlocal tabstop=8
|
||||
setlocal softtabstop=3
|
||||
setlocal shiftwidth=3
|
||||
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
|
||||
" Section: Abbrev {{{1
|
||||
"
|
||||
if exists("g:ada_abbrev")
|
||||
iabbrev ret return
|
||||
iabbrev proc procedure
|
||||
iabbrev pack package
|
||||
iabbrev func function
|
||||
endif
|
||||
|
||||
" Section: Commands, Mapping, Menus {{{1
|
||||
"
|
||||
call ada#Map_Popup (
|
||||
\ 'Tag.List',
|
||||
\ 'l',
|
||||
\ 'call ada#List_Tag ()')
|
||||
call ada#Map_Popup (
|
||||
\'Tag.Jump',
|
||||
\'j',
|
||||
\'call ada#Jump_Tag ()')
|
||||
call ada#Map_Menu (
|
||||
\'Tag.Create File',
|
||||
\':AdaTagFile',
|
||||
\'call ada#Create_Tags (''file'')')
|
||||
call ada#Map_Menu (
|
||||
\'Tag.Create Dir',
|
||||
\':AdaTagDir',
|
||||
\'call ada#Create_Tags (''dir'')')
|
||||
|
||||
" 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
|
||||
let &cpoptions = 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
|
||||
" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" 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
|
||||
" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/ftplugin/debchangelog.vim?op=file&rev=0&sc=0
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
let b:did_ftplugin=1
|
||||
|
||||
" {{{1 Local settings (do on every load)
|
||||
setlocal foldmethod=expr
|
||||
@ -227,21 +227,22 @@ augroup END
|
||||
" }}}
|
||||
" {{{1 folding
|
||||
|
||||
" look for an author name searching backward from a given line number
|
||||
function! s:getAuthor(lnum)
|
||||
let line = getline(a:lnum)
|
||||
let backsteps = 0
|
||||
while line !~ '^ --'
|
||||
let backsteps += 1
|
||||
let line = getline(a:lnum - backsteps)
|
||||
" look for an author name in the [zonestart zoneend] lines searching backward
|
||||
function! s:getAuthor(zonestart, zoneend)
|
||||
let linepos = a:zoneend
|
||||
while linepos >= a:zonestart
|
||||
let line = getline(linepos)
|
||||
if line =~ '^ --'
|
||||
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
|
||||
endif
|
||||
let linepos -= 1
|
||||
endwhile
|
||||
let author = substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
|
||||
return author
|
||||
return '[unknown]'
|
||||
endfunction
|
||||
|
||||
function! DebChangelogFoldText()
|
||||
if v:folddashes == '-' " changelog entry fold
|
||||
return foldtext() . ' -- ' . s:getAuthor(v:foldend) . ' '
|
||||
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
|
||||
endif
|
||||
return foldtext()
|
||||
endfunction
|
||||
@ -260,6 +261,8 @@ function! GetDebChangelogFold(lnum)
|
||||
return '='
|
||||
endfunction
|
||||
|
||||
foldopen! " unfold the entry the cursor is on (usually the first one)
|
||||
|
||||
" }}}
|
||||
|
||||
" 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
|
||||
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 formatoptions-=t formatoptions+=croql
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Mail
|
||||
" 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
|
||||
if exists("b:did_ftplugin")
|
||||
@ -11,7 +11,8 @@ let b:did_ftplugin = 1
|
||||
|
||||
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
|
||||
|
||||
" many people recommend keeping e-mail messages 72 chars wide
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Make
|
||||
" 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
|
||||
if exists("b:did_ftplugin")
|
||||
@ -9,7 +9,7 @@ if exists("b:did_ftplugin")
|
||||
endif
|
||||
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
|
||||
setlocal noexpandtab softtabstop=0
|
||||
|
@ -4,7 +4,8 @@
|
||||
" Markus Mottl <markus.mottl@gmail.com>
|
||||
" Stefano Zacchiroli <zack@bononia.it>
|
||||
" 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)
|
||||
"
|
||||
if exists("b:did_ftplugin")
|
||||
@ -202,6 +203,7 @@ python << EOF
|
||||
|
||||
import re
|
||||
import os
|
||||
import os.path
|
||||
import string
|
||||
import time
|
||||
import vim
|
||||
@ -288,13 +290,13 @@ class Annotations:
|
||||
line = f.readline() # position line
|
||||
f.close()
|
||||
self.__filename = fname
|
||||
self.__ml_filename = re.sub("\.annot$", ".ml", fname)
|
||||
self.__ml_filename = vim.current.buffer.name
|
||||
self.__timestamp = int(time.time())
|
||||
except IOError:
|
||||
raise no_annotations
|
||||
|
||||
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)
|
||||
|
||||
def get_type(self, (line1, col1), (line2, col2)):
|
||||
|
@ -1,19 +1,32 @@
|
||||
" Vim indent file
|
||||
" Language: Ada
|
||||
" Maintainer: Neil Bird <neil@fnxweb.com>
|
||||
" Last Change: 2006 Apr 30
|
||||
" Version: $Id$
|
||||
" Look for the latest version at http://vim.sourceforge.net/
|
||||
"
|
||||
"------------------------------------------------------------------------------
|
||||
" Description: Vim Ada indent file
|
||||
" Language: Ada (2005)
|
||||
" $Id$
|
||||
" Copyright: Copyright (C) 2006 Martin Krischik
|
||||
" 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:
|
||||
" Verify handling of multi-line exprs. and recovery upon the final ';'.
|
||||
" Correctly find comments given '"' and "" ==> " syntax.
|
||||
" Combine the two large block-indent functions into one?
|
||||
"------------------------------------------------------------------------------
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
if exists("b:did_indent") || version < 700
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetAdaIndent()
|
||||
@ -25,10 +38,14 @@ if exists("*GetAdaIndent")
|
||||
finish
|
||||
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\>\)'
|
||||
let s:AdaComment = "\\v^(\"[^\"]*\"|'.'|[^\"']){-}\\zs\\s*--.*"
|
||||
|
||||
if exists("g:ada_with_gnat_project_files")
|
||||
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
|
||||
" prev_indent = the previous line's indent
|
||||
" 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
|
||||
" nowhere near the correct indent (e.g., start of 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 line = substitute( getline(lnum), s:AdaComment, '', '' )
|
||||
let line = substitute( getline(lnum), ada#Comment, '', '' )
|
||||
while lnum > 1
|
||||
if a:stop_at != '' && line =~ '^\s*' . a:stop_at && indent(lnum) < 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)
|
||||
" Get previous non-blank/non-comment-only line
|
||||
while 1
|
||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
||||
let line = substitute( getline(lnum), ada#Comment, '', '' )
|
||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||
break
|
||||
endif
|
||||
@ -67,8 +84,10 @@ function s:MainBlockIndent( prev_indent, prev_lnum, blockstart, stop_at )
|
||||
endwhile
|
||||
" Fallback - just move back one
|
||||
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),
|
||||
" including handling of nested blocks. Works on the 'end' of a block.
|
||||
" 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
|
||||
while 1
|
||||
let line = getline(lnum)
|
||||
let line = substitute( line, s:AdaComment, '', '' )
|
||||
let line = substitute( line, ada#Comment, '', '' )
|
||||
if line !~ '^\s*$'
|
||||
break
|
||||
endif
|
||||
@ -109,8 +128,10 @@ function s:EndBlockIndent( prev_indent, prev_lnum, blockstart, blockend )
|
||||
endwhile
|
||||
" Fallback - just move back one
|
||||
return a:prev_indent - &sw
|
||||
endfunction
|
||||
endfunction EndBlockIndent
|
||||
|
||||
" Section: s:StatementIndent {{{1
|
||||
"
|
||||
" Return indent of previous statement-start
|
||||
" (after we've indented due to multi-line statements).
|
||||
" 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)
|
||||
" Get previous non-blank/non-comment-only line
|
||||
while 1
|
||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
||||
let line = substitute( getline(lnum), ada#Comment, '', '' )
|
||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||
break
|
||||
endif
|
||||
@ -145,10 +166,13 @@ function s:StatementIndent( current_indent, prev_lnum )
|
||||
endwhile
|
||||
" Fallback - just use current one
|
||||
return a:current_indent
|
||||
endfunction
|
||||
endfunction StatementIndent
|
||||
|
||||
|
||||
" Section: GetAdaIndent {{{1
|
||||
"
|
||||
" Find correct indent of a new line based upon what went before
|
||||
"
|
||||
function GetAdaIndent()
|
||||
" Find a non-blank line above the current line.
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
@ -157,7 +181,7 @@ function GetAdaIndent()
|
||||
|
||||
" Get previous non-blank/non-comment-only/non-cpp line
|
||||
while 1
|
||||
let line = substitute( getline(lnum), s:AdaComment, '', '' )
|
||||
let line = substitute( getline(lnum), g:ada#Comment, '', '' )
|
||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||
break
|
||||
endif
|
||||
@ -198,7 +222,7 @@ function GetAdaIndent()
|
||||
exe lnum
|
||||
exe 'normal! $F)%'
|
||||
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 ) )
|
||||
else
|
||||
let ind = indent('.')
|
||||
@ -263,6 +287,14 @@ function GetAdaIndent()
|
||||
endif
|
||||
|
||||
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
|
||||
" Language: Ruby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Language: eRuby
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
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
|
||||
" 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
|
||||
" Globals: g:html_indent_tags -- indenting tags
|
||||
" g:html_indent_strict -- inhibit 'O O' elements
|
||||
@ -193,8 +193,17 @@ fun! HtmlIndentGet(lnum)
|
||||
|
||||
" [-- special handling for <javascript>: use cindent --]
|
||||
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')
|
||||
\ || 0 < searchpair(js, '', '</script>', 'nW')
|
||||
\ && 0 < searchpair(js, '', '</script>', 'nW')
|
||||
" we're inside javascript
|
||||
if getline(lnum) !~ js && getline(a:lnum) != '</script>'
|
||||
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