forked from aniani/vim
updated for version 7.0c03
This commit is contained in:
parent
86ca6e3b8c
commit
e2f98b95c8
459
runtime/autoload/sqlcomplete.vim
Normal file
459
runtime/autoload/sqlcomplete.vim
Normal file
@ -0,0 +1,459 @@
|
|||||||
|
" Vim completion script
|
||||||
|
" Language: SQL
|
||||||
|
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
||||||
|
" Version: 1.0
|
||||||
|
" Last Change: Tue Mar 28 2006 4:39:49 PM
|
||||||
|
|
||||||
|
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
||||||
|
" This check is in place in case this script is
|
||||||
|
" sourced directly instead of using the autoload feature.
|
||||||
|
if exists('&omnifunc')
|
||||||
|
" Do not set the option if already set since this
|
||||||
|
" results in an E117 warning.
|
||||||
|
if &omnifunc == ""
|
||||||
|
setlocal omnifunc=sqlcomplete#Complete
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_sql_completion')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let g:loaded_sql_completion = 1
|
||||||
|
|
||||||
|
" Maintains filename of dictionary
|
||||||
|
let s:sql_file_table = ""
|
||||||
|
let s:sql_file_procedure = ""
|
||||||
|
let s:sql_file_view = ""
|
||||||
|
|
||||||
|
" Define various arrays to be used for caching
|
||||||
|
let s:tbl_name = []
|
||||||
|
let s:tbl_alias = []
|
||||||
|
let s:tbl_cols = []
|
||||||
|
let s:syn_list = []
|
||||||
|
let s:syn_value = []
|
||||||
|
|
||||||
|
" Used in conjunction with the syntaxcomplete plugin
|
||||||
|
let s:save_inc = ""
|
||||||
|
let s:save_exc = ""
|
||||||
|
if exists('g:omni_syntax_group_include_sql')
|
||||||
|
let s:save_inc = g:omni_syntax_group_include_sql
|
||||||
|
endif
|
||||||
|
if exists('g:omni_syntax_group_exclude_sql')
|
||||||
|
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Used with the column list
|
||||||
|
let s:save_prev_table = ""
|
||||||
|
|
||||||
|
" Default the option to verify table alias
|
||||||
|
if !exists('g:omni_sql_use_tbl_alias')
|
||||||
|
let g:omni_sql_use_tbl_alias = 'a'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" This function is used for the 'omnifunc' option.
|
||||||
|
function! sqlcomplete#Complete(findstart, base)
|
||||||
|
|
||||||
|
" Default to table name completion
|
||||||
|
let compl_type = 'table'
|
||||||
|
" Allow maps to specify what type of object completion they want
|
||||||
|
if exists('b:sql_compl_type')
|
||||||
|
let compl_type = b:sql_compl_type
|
||||||
|
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'
|
||||||
|
let start -= 1
|
||||||
|
elseif line[start - 1] =~ '\.' && compl_type =~ 'column\|table'
|
||||||
|
" If the completion type is table or column
|
||||||
|
" Then assume we are looking for column completion
|
||||||
|
" column_type can be either 'column' or 'column_csv'
|
||||||
|
if lastword == -1
|
||||||
|
let lastword = start
|
||||||
|
endif
|
||||||
|
let start -= 1
|
||||||
|
let b:sql_compl_type = 'column'
|
||||||
|
else
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" Return the column of the last word, which is going to be changed.
|
||||||
|
" Remember the text that comes before it in s:prepended.
|
||||||
|
if lastword == -1
|
||||||
|
let s:prepended = ''
|
||||||
|
return start
|
||||||
|
endif
|
||||||
|
let s:prepended = strpart(line, start, lastword - start)
|
||||||
|
return lastword
|
||||||
|
endif
|
||||||
|
|
||||||
|
let base = s:prepended . a:base
|
||||||
|
|
||||||
|
let compl_list = []
|
||||||
|
|
||||||
|
" Default to table name completion
|
||||||
|
let compl_type = 'table'
|
||||||
|
" Allow maps to specify what type of object completion they want
|
||||||
|
if exists('b:sql_compl_type')
|
||||||
|
let compl_type = b:sql_compl_type
|
||||||
|
unlet b:sql_compl_type
|
||||||
|
endif
|
||||||
|
|
||||||
|
if compl_type == 'tableReset'
|
||||||
|
let compl_type = 'table'
|
||||||
|
let base = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
if compl_type == 'table' ||
|
||||||
|
\ compl_type == 'procedure' ||
|
||||||
|
\ compl_type == 'view'
|
||||||
|
|
||||||
|
" This type of completion relies upon the dbext.vim plugin
|
||||||
|
if s:SQLCCheck4dbext() == -1
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:sql_file_{compl_type} == ""
|
||||||
|
let compl_type = substitute(compl_type, '\w\+', '\u&', '')
|
||||||
|
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type)
|
||||||
|
endif
|
||||||
|
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type)
|
||||||
|
if s:sql_file_{compl_type} != ""
|
||||||
|
if filereadable(s:sql_file_{compl_type})
|
||||||
|
let compl_list = readfile(s:sql_file_{compl_type})
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
elseif compl_type == 'column'
|
||||||
|
|
||||||
|
" This type of completion relies upon the dbext.vim plugin
|
||||||
|
if s:SQLCCheck4dbext() == -1
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
|
||||||
|
if base == ""
|
||||||
|
" The last time we displayed a column list we stored
|
||||||
|
" the table name. If the user selects a column list
|
||||||
|
" without a table name of alias present, assume they want
|
||||||
|
" the previous column list displayed.
|
||||||
|
let base = s:save_prev_table
|
||||||
|
endif
|
||||||
|
|
||||||
|
if base != ""
|
||||||
|
let compl_list = s:SQLCGetColumns(base, '')
|
||||||
|
let s:save_prev_table = base
|
||||||
|
let base = ''
|
||||||
|
endif
|
||||||
|
elseif compl_type == 'column_csv'
|
||||||
|
|
||||||
|
" This type of completion relies upon the dbext.vim plugin
|
||||||
|
if s:SQLCCheck4dbext() == -1
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
|
||||||
|
if base == ""
|
||||||
|
" The last time we displayed a column list we stored
|
||||||
|
" the table name. If the user selects a column list
|
||||||
|
" without a table name of alias present, assume they want
|
||||||
|
" the previous column list displayed.
|
||||||
|
let base = s:save_prev_table
|
||||||
|
endif
|
||||||
|
|
||||||
|
if base != ""
|
||||||
|
let compl_list = s:SQLCGetColumns(base, 'csv')
|
||||||
|
let s:save_prev_table = base
|
||||||
|
" Join the column array into 1 single element array
|
||||||
|
" but make the columns column separated
|
||||||
|
let compl_list = [join(compl_list, ', ')]
|
||||||
|
let base = ''
|
||||||
|
endif
|
||||||
|
elseif compl_type == 'resetCache'
|
||||||
|
" Reset all cached items
|
||||||
|
let s:tbl_name = []
|
||||||
|
let s:tbl_alias = []
|
||||||
|
let s:tbl_cols = []
|
||||||
|
let s:syn_list = []
|
||||||
|
let s:syn_value = []
|
||||||
|
return []
|
||||||
|
else
|
||||||
|
" Default to empty or not found
|
||||||
|
let compl_list = []
|
||||||
|
" Check if we have already cached the syntax list
|
||||||
|
let list_idx = index(s:syn_list, compl_type, 0, &ignorecase)
|
||||||
|
if list_idx > -1
|
||||||
|
" Return previously cached value
|
||||||
|
let compl_list = s:syn_value[list_idx]
|
||||||
|
else
|
||||||
|
" Request the syntax list items from the
|
||||||
|
" syntax completion plugin
|
||||||
|
if compl_type == 'syntax'
|
||||||
|
" Handle this special case. This allows the user
|
||||||
|
" to indicate they want all the syntax items available,
|
||||||
|
" so do not specify a specific include list.
|
||||||
|
let g:omni_syntax_group_include_sql = ''
|
||||||
|
else
|
||||||
|
" The user has specified a specific syntax group
|
||||||
|
let g:omni_syntax_group_include_sql = compl_type
|
||||||
|
endif
|
||||||
|
let g:omni_syntax_group_exclude_sql = ''
|
||||||
|
let syn_value = OmniSyntaxList()
|
||||||
|
let g:omni_syntax_group_include_sql = s:save_inc
|
||||||
|
let g:omni_syntax_group_exclude_sql = s:save_exc
|
||||||
|
" Cache these values for later use
|
||||||
|
let s:syn_list = add( s:syn_list, compl_type )
|
||||||
|
let s:syn_value = add( s:syn_value, syn_value )
|
||||||
|
let compl_list = syn_value
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if base != ''
|
||||||
|
" Filter the list based on the first few characters the user
|
||||||
|
" entered
|
||||||
|
let expr = 'v:val =~ "^'.base.'"'
|
||||||
|
let compl_list = filter(copy(compl_list), expr)
|
||||||
|
endif
|
||||||
|
|
||||||
|
return compl_list
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
function! s:SQLCWarningMsg(msg)
|
||||||
|
echohl WarningMsg
|
||||||
|
echomsg a:msg
|
||||||
|
echohl None
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:SQLCErrorMsg(msg)
|
||||||
|
echohl ErrorMsg
|
||||||
|
echomsg a:msg
|
||||||
|
echohl None
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:SQLCCheck4dbext()
|
||||||
|
if !exists('g:loaded_dbext')
|
||||||
|
let msg = "The dbext plugin must be loaded for dynamic SQL completion"
|
||||||
|
call s:SQLCErrorMsg(msg)
|
||||||
|
" Leave time for the user to read the error message
|
||||||
|
:sleep 2
|
||||||
|
return -1
|
||||||
|
elseif g:loaded_dbext < 210
|
||||||
|
let msg = "The dbext plugin must be at least version 2.10 " .
|
||||||
|
\ " for dynamic SQL completion"
|
||||||
|
call s:SQLCErrorMsg(msg)
|
||||||
|
" Leave time for the user to read the error message
|
||||||
|
:sleep 2
|
||||||
|
return -1
|
||||||
|
endif
|
||||||
|
return 1
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:SQLCAddAlias(table_name, table_alias, cols)
|
||||||
|
let table_name = a:table_name
|
||||||
|
let table_alias = a:table_alias
|
||||||
|
let cols = a:cols
|
||||||
|
|
||||||
|
if g:omni_sql_use_tbl_alias != 'n'
|
||||||
|
if table_alias == ''
|
||||||
|
if 'da' =~? g:omni_sql_use_tbl_alias
|
||||||
|
if table_name =~ '_'
|
||||||
|
" Treat _ as separators since people often use these
|
||||||
|
" for word separators
|
||||||
|
let save_keyword = &iskeyword
|
||||||
|
setlocal iskeyword-=_
|
||||||
|
|
||||||
|
" Get the first letter of each word
|
||||||
|
" [[:alpha:]] is used instead of \w
|
||||||
|
" to catch extended accented characters
|
||||||
|
"
|
||||||
|
let table_alias = substitute(
|
||||||
|
\ table_name,
|
||||||
|
\ '\<[[:alpha:]]\+\>_\?',
|
||||||
|
\ '\=strpart(submatch(0), 0, 1)',
|
||||||
|
\ 'g'
|
||||||
|
\ )
|
||||||
|
" Restore original value
|
||||||
|
let &iskeyword = save_keyword
|
||||||
|
elseif table_name =~ '\u\U'
|
||||||
|
let initials = substitute(
|
||||||
|
\ table_name, '\(\u\)\U*', '\1', 'g')
|
||||||
|
else
|
||||||
|
let table_alias = strpart(table_name, 0, 1)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if table_alias != ''
|
||||||
|
" Following a word character, make sure there is a . and no spaces
|
||||||
|
let table_alias = substitute(table_alias, '\w\zs\.\?\s*$', '.', '')
|
||||||
|
if 'a' =~? g:omni_sql_use_tbl_alias && a:table_alias == ''
|
||||||
|
let table_alias = inputdialog("Enter table alias:", table_alias)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if table_alias != ''
|
||||||
|
let cols = substitute(cols, '\<\w', table_alias.'&', 'g')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
return cols
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:SQLCGetColumns(table_name, list_type)
|
||||||
|
let table_name = matchstr(a:table_name, '^\w\+')
|
||||||
|
let table_cols = []
|
||||||
|
let table_alias = ''
|
||||||
|
let move_to_top = 1
|
||||||
|
|
||||||
|
if g:loaded_dbext >= 210
|
||||||
|
let saveSettingAlias = DB_listOption('use_tbl_alias')
|
||||||
|
exec 'DBSetOption use_tbl_alias=n'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Check if we have already cached the column list for this table
|
||||||
|
" by its name
|
||||||
|
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
|
||||||
|
if list_idx > -1
|
||||||
|
let table_cols = split(s:tbl_cols[list_idx])
|
||||||
|
else
|
||||||
|
" Check if we have already cached the column list for this table
|
||||||
|
" by its alias, assuming the table_name provided was actually
|
||||||
|
" the alias for the table instead
|
||||||
|
" select *
|
||||||
|
" from area a
|
||||||
|
" where a.
|
||||||
|
let list_idx = index(s:tbl_alias, table_name, 0, &ignorecase)
|
||||||
|
if list_idx > -1
|
||||||
|
let table_alias = table_name
|
||||||
|
let table_name = s:tbl_name[list_idx]
|
||||||
|
let table_cols = split(s:tbl_cols[list_idx])
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If we have not found a cached copy of the table
|
||||||
|
" And the table ends in a "." or we are looking for a column list
|
||||||
|
" if list_idx == -1 && (a:table_name =~ '\.' || b:sql_compl_type =~ 'column')
|
||||||
|
" if list_idx == -1 && (a:table_name =~ '\.' || a:list_type =~ 'csv')
|
||||||
|
if list_idx == -1
|
||||||
|
let saveY = @y
|
||||||
|
let saveSearch = @/
|
||||||
|
let saveWScan = &wrapscan
|
||||||
|
let curline = line(".")
|
||||||
|
let curcol = col(".")
|
||||||
|
|
||||||
|
" Do not let searchs wrap
|
||||||
|
setlocal nowrapscan
|
||||||
|
" If . was entered, look at the word just before the .
|
||||||
|
" We are looking for something like this:
|
||||||
|
" select *
|
||||||
|
" from customer c
|
||||||
|
" where c.
|
||||||
|
" So when . is pressed, we need to find 'c'
|
||||||
|
"
|
||||||
|
|
||||||
|
" Search backwards to the beginning of the statement
|
||||||
|
" and do NOT wrap
|
||||||
|
" exec 'silent! normal! v?\<\(select\|update\|delete\|;\)\>'."\n".'"yy'
|
||||||
|
exec 'silent! normal! ?\<\(select\|update\|delete\|;\)\>'."\n"
|
||||||
|
|
||||||
|
" Start characterwise visual mode
|
||||||
|
" Advance right one character
|
||||||
|
" Search foward until one of the following:
|
||||||
|
" 1. Another select/update/delete statement
|
||||||
|
" 2. A ; at the end of a line (the delimiter)
|
||||||
|
" 3. The end of the file (incase no delimiter)
|
||||||
|
" Yank the visually selected text into the "y register.
|
||||||
|
exec 'silent! normal! vl/\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
|
||||||
|
|
||||||
|
let query = @y
|
||||||
|
let query = substitute(query, "\n", ' ', 'g')
|
||||||
|
let found = 0
|
||||||
|
|
||||||
|
" if query =~? '^\(select\|update\|delete\)'
|
||||||
|
if query =~? '^\(select\)'
|
||||||
|
let found = 1
|
||||||
|
" \(\(\<\w\+\>\)\.\)\? -
|
||||||
|
" 'from.\{-}' - Starting at the from clause
|
||||||
|
" '\zs\(\(\<\w\+\>\)\.\)\?' - Get the owner name (optional)
|
||||||
|
" '\<\w\+\>\ze' - Get the table name
|
||||||
|
" '\s\+\<'.table_name.'\>' - Followed by the alias
|
||||||
|
" '\s*\.\@!.*' - Cannot be followed by a .
|
||||||
|
" '\(\<where\>\|$\)' - Must be followed by a WHERE clause
|
||||||
|
" '.*' - Exclude the rest of the line in the match
|
||||||
|
let table_name_new = matchstr(@y,
|
||||||
|
\ 'from.\{-}'.
|
||||||
|
\ '\zs\(\(\<\w\+\>\)\.\)\?'.
|
||||||
|
\ '\<\w\+\>\ze'.
|
||||||
|
\ '\s\+\%(as\s\+\)\?\<'.table_name.'\>'.
|
||||||
|
\ '\s*\.\@!.*'.
|
||||||
|
\ '\(\<where\>\|$\)'.
|
||||||
|
\ '.*'
|
||||||
|
\ )
|
||||||
|
if table_name_new != ''
|
||||||
|
let table_alias = table_name
|
||||||
|
let table_name = table_name_new
|
||||||
|
|
||||||
|
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
|
||||||
|
if list_idx > -1
|
||||||
|
let table_cols = split(s:tbl_cols[list_idx])
|
||||||
|
let s:tbl_name[list_idx] = table_name
|
||||||
|
let s:tbl_alias[list_idx] = table_alias
|
||||||
|
else
|
||||||
|
let list_idx = index(s:tbl_alias, table_name, 0, &ignorecase)
|
||||||
|
if list_idx > -1
|
||||||
|
let table_cols = split(s:tbl_cols[list_idx])
|
||||||
|
let s:tbl_name[list_idx] = table_name
|
||||||
|
let s:tbl_alias[list_idx] = table_alias
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Simply assume it is a table name provided with a . on the end
|
||||||
|
let found = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
let @y = saveY
|
||||||
|
let @/ = saveSearch
|
||||||
|
let &wrapscan = saveWScan
|
||||||
|
|
||||||
|
" Return to previous location
|
||||||
|
call cursor(curline, curcol)
|
||||||
|
|
||||||
|
if found == 0
|
||||||
|
if g:loaded_dbext > 201
|
||||||
|
exec 'DBSetOption use_tbl_alias='.saveSettingAlias
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Not a SQL statement, do not display a list
|
||||||
|
return []
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if empty(table_cols)
|
||||||
|
" Specify silent mode, no messages to the user (tbl, 1)
|
||||||
|
" Specify do not comma separate (tbl, 1, 1)
|
||||||
|
let table_cols_str = DB_getListColumn(table_name, 1, 1)
|
||||||
|
|
||||||
|
if table_cols_str != ""
|
||||||
|
let s:tbl_name = add( s:tbl_name, table_name )
|
||||||
|
let s:tbl_alias = add( s:tbl_alias, table_alias )
|
||||||
|
let s:tbl_cols = add( s:tbl_cols, table_cols_str )
|
||||||
|
let table_cols = split(table_cols_str)
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:loaded_dbext > 201
|
||||||
|
exec 'DBSetOption use_tbl_alias='.saveSettingAlias
|
||||||
|
endif
|
||||||
|
|
||||||
|
if a:list_type == 'csv' && !empty(table_cols)
|
||||||
|
let cols = join(table_cols, ', ')
|
||||||
|
let cols = s:SQLCAddAlias(table_name, table_alias, cols)
|
||||||
|
let table_cols = [cols]
|
||||||
|
endif
|
||||||
|
|
||||||
|
return table_cols
|
||||||
|
endfunction
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: All languages, uses existing syntax highlighting rules
|
" Language: All languages, uses existing syntax highlighting rules
|
||||||
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
" Maintainer: David Fishburn <fishburn@ianywhere.com>
|
||||||
" Version: 1.2
|
" Version: 1.3
|
||||||
" Last Change: Sat Mar 18 2006 8:25:30 PM
|
" Last Change: Mon Mar 27 2006 9:29:35 PM
|
||||||
|
|
||||||
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
||||||
" This check is in place in case this script is
|
" This check is in place in case this script is
|
||||||
@ -181,7 +181,7 @@ function! OmniSyntaxList()
|
|||||||
if get_syn_list == 1
|
if get_syn_list == 1
|
||||||
" Pass in the full syntax listing, plus the group name we
|
" Pass in the full syntax listing, plus the group name we
|
||||||
" are interested in.
|
" are interested in.
|
||||||
let extra_syn_list = s:SyntaxGroupItems(group_name, syntax_full)
|
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||||
|
|
||||||
let syn_list = syn_list . extra_syn_list . "\n"
|
let syn_list = syn_list . extra_syn_list . "\n"
|
||||||
endif
|
endif
|
||||||
@ -212,7 +212,7 @@ function! OmniSyntaxList()
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:SyntaxGroupItems( group_name, syntax_full )
|
function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||||
|
|
||||||
let syn_list = ""
|
let syn_list = ""
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 7.0c. Last change: 2006 Mar 26
|
*eval.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1501,6 +1501,7 @@ append( {lnum}, {list}) Number append lines {list} below line {lnum}
|
|||||||
argc() Number number of files in the argument list
|
argc() Number number of files in the argument list
|
||||||
argidx() Number current index in the argument list
|
argidx() Number current index in the argument list
|
||||||
argv( {nr}) String {nr} entry of the argument list
|
argv( {nr}) String {nr} entry of the argument list
|
||||||
|
argv( ) List the argument list
|
||||||
browse( {save}, {title}, {initdir}, {default})
|
browse( {save}, {title}, {initdir}, {default})
|
||||||
String put up a file requester
|
String put up a file requester
|
||||||
browsedir( {title}, {initdir}) String put up a directory requester
|
browsedir( {title}, {initdir}) String put up a directory requester
|
||||||
@ -1767,7 +1768,7 @@ argidx() The result is the current index in the argument list. 0 is
|
|||||||
the first file. argc() - 1 is the last one. See |arglist|.
|
the first file. argc() - 1 is the last one. See |arglist|.
|
||||||
|
|
||||||
*argv()*
|
*argv()*
|
||||||
argv({nr}) The result is the {nr}th file in the argument list of the
|
argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||||
current window. See |arglist|. "argv(0)" is the first one.
|
current window. See |arglist|. "argv(0)" is the first one.
|
||||||
Example: >
|
Example: >
|
||||||
:let i = 0
|
:let i = 0
|
||||||
@ -1776,7 +1777,9 @@ argv({nr}) The result is the {nr}th file in the argument list of the
|
|||||||
: exe 'amenu Arg.' . f . ' :e ' . f . '<CR>'
|
: exe 'amenu Arg.' . f . ' :e ' . f . '<CR>'
|
||||||
: let i = i + 1
|
: let i = i + 1
|
||||||
:endwhile
|
:endwhile
|
||||||
<
|
< Without the {nr} argument a |List| with the whole |arglist| is
|
||||||
|
returned.
|
||||||
|
|
||||||
*browse()*
|
*browse()*
|
||||||
browse({save}, {title}, {initdir}, {default})
|
browse({save}, {title}, {initdir}, {default})
|
||||||
Put up a file requester. This only works when "has("browse")"
|
Put up a file requester. This only works when "has("browse")"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*fold.txt* For Vim version 7.0c. Last change: 2005 Sep 10
|
*fold.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -109,6 +109,7 @@ level of the previous line.
|
|||||||
|
|
||||||
There must be no side effects from the expression. The text in the buffer,
|
There must be no side effects from the expression. The text in the buffer,
|
||||||
cursor position, the search patterns, options etc. must not be changed.
|
cursor position, the search patterns, options etc. must not be changed.
|
||||||
|
You can change and restore them if you are careful.
|
||||||
|
|
||||||
If there is some error in the expression, or the resulting value isn't
|
If there is some error in the expression, or the resulting value isn't
|
||||||
recognized, there is no error message and the fold level will be zero.
|
recognized, there is no error message and the fold level will be zero.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*indent.txt* For Vim version 7.0c. Last change: 2005 Aug 30
|
*indent.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -68,7 +68,7 @@ as follows:
|
|||||||
"e" if you type the second 'e' for an "else" at the start of a
|
"e" if you type the second 'e' for an "else" at the start of a
|
||||||
line
|
line
|
||||||
|
|
||||||
Characters that can precede each key:
|
Characters that can precede each key: *i_CTRL-F*
|
||||||
! When a '!' precedes the key, Vim will not insert the key but will
|
! When a '!' precedes the key, Vim will not insert the key but will
|
||||||
instead reindent the current line. This allows you to define a
|
instead reindent the current line. This allows you to define a
|
||||||
command key for reindenting the current line. CTRL-F is the default
|
command key for reindenting the current line. CTRL-F is the default
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 7.0c. Last change: 2006 Mar 28
|
*insert.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1217,8 +1217,8 @@ Complete properties and their appropriate values according to CSS 2.1
|
|||||||
specification.
|
specification.
|
||||||
|
|
||||||
|
|
||||||
HTML and XHTML *ft-html-omni*
|
HTML *ft-html-omni*
|
||||||
*ft-xhtml-omni*
|
XHTML *ft-xhtml-omni*
|
||||||
|
|
||||||
CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is
|
CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is
|
||||||
designed to support writing of XHTML 1.0 Strict files but will also works for
|
designed to support writing of XHTML 1.0 Strict files but will also works for
|
||||||
@ -1368,6 +1368,14 @@ You can create as many of these variables as you need, varying only the
|
|||||||
filetype at the end of the variable name.
|
filetype at the end of the variable name.
|
||||||
|
|
||||||
|
|
||||||
|
SQL *ft-sql-omni*
|
||||||
|
|
||||||
|
Completion for the SQL language includes statements, functions, keywords.
|
||||||
|
It will also dynamically complete tables, procedures, views and column lists
|
||||||
|
with data pulled directly from within a database. For detailed instructions
|
||||||
|
and a tutorial see |omni-sql-completion|.
|
||||||
|
|
||||||
|
|
||||||
XML *ft-xml-omni*
|
XML *ft-xml-omni*
|
||||||
|
|
||||||
Vim 7 provides mechanism to context aware completion of XML files. It depends
|
Vim 7 provides mechanism to context aware completion of XML files. It depends
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 7.0c. Last change: 2006 Mar 05
|
*mbyte.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@ -1076,6 +1076,7 @@ also add this line: >
|
|||||||
'' '
|
'' '
|
||||||
Since the mapping is defined with |:lnoremap| the resulting quote will not be
|
Since the mapping is defined with |:lnoremap| the resulting quote will not be
|
||||||
used for the start of another character.
|
used for the start of another character.
|
||||||
|
The "accents" keymap uses this. *keymap-accents*
|
||||||
|
|
||||||
Although it's possible to have more than one character in the second column,
|
Although it's possible to have more than one character in the second column,
|
||||||
this is unusual. But you can use various ways to specify the character: >
|
this is unusual. But you can use various ways to specify the character: >
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 7.0c. Last change: 2006 Mar 26
|
*options.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -2077,6 +2077,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Highlight the screen line of the cursor with CursorLine
|
Highlight the screen line of the cursor with CursorLine
|
||||||
|hl-CursorLine|. Useful to easily spot the cursor. Will make screen
|
|hl-CursorLine|. Useful to easily spot the cursor. Will make screen
|
||||||
redrawing slower.
|
redrawing slower.
|
||||||
|
When Visual mode is active the highlighting isn't used to make it
|
||||||
|
easier to spot where the selected area.
|
||||||
|
|
||||||
|
|
||||||
*'debug'*
|
*'debug'*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*os_mac.txt* For Vim version 7.0c. Last change: 2006 Mar 26
|
*os_mac.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@ -86,6 +86,14 @@ A: Assuming that Vim.app is located in /Applications:
|
|||||||
Or:
|
Or:
|
||||||
/Applications/Vim.app/Contents/MacOS/Vim -g {arguments}
|
/Applications/Vim.app/Contents/MacOS/Vim -g {arguments}
|
||||||
|
|
||||||
|
Q: How can I set $PATH to something reasonable when I start Vim.app from the
|
||||||
|
GUI or with open?
|
||||||
|
A: The following trick works with most shells. Put it in your vimrc file.
|
||||||
|
This is included in the system vimrc file included with the binaries
|
||||||
|
distributed at macvim.org . >
|
||||||
|
let s:path = system("echo echo VIMPATH'${PATH}' | $SHELL -l")
|
||||||
|
let $PATH = matchstr(s:path, 'VIMPATH\zs.\{-}\ze\n')
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Mac Lack *mac-lack*
|
4. Mac Lack *mac-lack*
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*pi_paren.txt* For Vim version 7.0c. Last change: 2006 Mar 24
|
*pi_paren.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -38,5 +38,9 @@ in a string or comment syntax item, then matches inside string and comment
|
|||||||
syntax items are ignored. Any syntax items with "string" or "comment"
|
syntax items are ignored. Any syntax items with "string" or "comment"
|
||||||
somewhere in their name are considered string or comment items.
|
somewhere in their name are considered string or comment items.
|
||||||
|
|
||||||
|
The search is limited to what is visible in the window. The plugin doesn't
|
||||||
|
search further than 100 lines to avoid a long delay when there are closed
|
||||||
|
folds.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*sponsor.txt* For Vim version 7.0c. Last change: 2006 Mar 24
|
*sponsor.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -13,7 +13,7 @@ working on Vim please send a donation.
|
|||||||
|
|
||||||
Since Bram is back to a paid job the money will now be used to help children
|
Since Bram is back to a paid job the money will now be used to help children
|
||||||
in Uganda. See |uganda|. But at the same time donations increase Bram's
|
in Uganda. See |uganda|. But at the same time donations increase Bram's
|
||||||
motivation to work on Vim!
|
motivation to keep working on Vim!
|
||||||
|
|
||||||
For the most recent information about sponsoring look on the Vim web site:
|
For the most recent information about sponsoring look on the Vim web site:
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ QUESTIONS AND ANSWERS *sponsor-faq* *register-faq*
|
|||||||
Why should I give money?
|
Why should I give money?
|
||||||
|
|
||||||
If you do not show your appreciation for Vim then Bram will be less motivated
|
If you do not show your appreciation for Vim then Bram will be less motivated
|
||||||
to fix bugs and add new features.
|
to fix bugs and add new features. He will do something else instead.
|
||||||
|
|
||||||
|
|
||||||
How much money should I send?
|
How much money should I send?
|
||||||
@ -177,6 +177,12 @@ You can change your votes any time you like, up to two years after you
|
|||||||
sent money. The points will be counted right away.
|
sent money. The points will be counted right away.
|
||||||
|
|
||||||
|
|
||||||
|
Can I add an item to vote on?
|
||||||
|
|
||||||
|
Not directly. You can suggest items to vote on to Bram. He will consider
|
||||||
|
fitting your item into the list.
|
||||||
|
|
||||||
|
|
||||||
How about Charityware?
|
How about Charityware?
|
||||||
|
|
||||||
Currently the Vim donations go to |uganda| anyway. Thus it doesn't matter if
|
Currently the Vim donations go to |uganda| anyway. Thus it doesn't matter if
|
||||||
@ -202,7 +208,9 @@ let him know that the donation is done because of the use of Vim.
|
|||||||
|
|
||||||
Can you send me a bill?
|
Can you send me a bill?
|
||||||
|
|
||||||
No. But a receipt is possible.
|
No, because there is no relation between the money you send and the work that
|
||||||
|
is done. But a receipt is possible.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*sql.txt* For Vim version 7.0c. Last change: Fri Jan 06 2006 8:09:25 AM
|
*sql.txt* For Vim version 7.0c. Last change: Tue Mar 28 2006 9:33:14 PM
|
||||||
|
|
||||||
by David Fishburn
|
by David Fishburn
|
||||||
|
|
||||||
@ -17,6 +17,16 @@ features for navigation, indentation and syntax highlighting.
|
|||||||
2.1 SQLSetType |SQLSetType|
|
2.1 SQLSetType |SQLSetType|
|
||||||
2.2 SQL Dialect Default |sql-type-default|
|
2.2 SQL Dialect Default |sql-type-default|
|
||||||
3. Adding new SQL Dialects |sql-adding-dialects|
|
3. Adding new SQL Dialects |sql-adding-dialects|
|
||||||
|
4. OMNI SQL Completion |sql-completion|
|
||||||
|
4.1 Static mode |sql-completion-static|
|
||||||
|
4.2 Dynamic mode |sql-completion-dynamic|
|
||||||
|
4.3 Tutorial |sql-completion-tutorial|
|
||||||
|
4.3.1 Complete Tables |sql-completion-tables|
|
||||||
|
4.3.2 Complete Columns |sql-completion-columns|
|
||||||
|
4.3.3 Complete Procedures |sql-completion-procedures|
|
||||||
|
4.3.4 Complete Views |sql-completion-views|
|
||||||
|
4.4 Completion Customization |sql-completion-customization|
|
||||||
|
4.5 Customizing Maps |sql-completion-maps|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Navigation *sql-navigation*
|
1. Navigation *sql-navigation*
|
||||||
@ -89,7 +99,7 @@ file): >
|
|||||||
|
|
||||||
1.3 Predefined Object Motions *sql-predefined-objects*
|
1.3 Predefined Object Motions *sql-predefined-objects*
|
||||||
-----------------------------
|
-----------------------------
|
||||||
Most relational databases support various standard features, tables, indicies,
|
Most relational databases support various standard features, tables, indices,
|
||||||
triggers and stored procedures. Each vendor also has a variety of proprietary
|
triggers and stored procedures. Each vendor also has a variety of proprietary
|
||||||
objects. The next set of maps have been created to help move between these
|
objects. The next set of maps have been created to help move between these
|
||||||
objects. Depends on which database vendor you are using, the list of objects
|
objects. Depends on which database vendor you are using, the list of objects
|
||||||
@ -293,6 +303,333 @@ No changes are necessary to the SQLSetType function. It will automatically
|
|||||||
pickup the new SQL files and load them when you issue the SQLSetType command.
|
pickup the new SQL files and load them when you issue the SQLSetType command.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
4. OMNI SQL Completion *sql-completion*
|
||||||
|
*omni-sql-completion*
|
||||||
|
|
||||||
|
Vim 7 includes a code completion interface and functions which allows plugin
|
||||||
|
developers to build in code completion for any language. Vim 7 includes
|
||||||
|
code completion for the SQL language.
|
||||||
|
|
||||||
|
There are two modes to the SQL completion plugin, static and dynamic. The
|
||||||
|
static mode populates the popups with the data generated from current syntax
|
||||||
|
highlight rules. The dynamic mode populates the popups with data retrieved
|
||||||
|
directly from a database. This includes, table lists, column lists,
|
||||||
|
procedures names and more.
|
||||||
|
|
||||||
|
4.1 Static Mode *sql-completion-static*
|
||||||
|
---------------
|
||||||
|
The static popups created contain items defined by the active syntax rules
|
||||||
|
while editing a file with a filetype of SQL. The plugin defines (by default)
|
||||||
|
various maps to help the user refine which list of items they wish displayed.
|
||||||
|
The defaults static maps are: >
|
||||||
|
imap <buffer> <C-C>a <C-\><C-O>:let b:sql_compl_type='syntax'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <C-C>s <C-\><C-O>:let b:sql_compl_type='sqlStatement'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <C-C>f <C-\><C-O>:let b:sql_compl_type='sqlFunction'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <C-C>k <C-\><C-O>:let b:sql_compl_type='sqlKeyword'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <C-C>o <C-\><C-O>:let b:sql_compl_type='sqlOption'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <C-C>T <C-\><C-O>:let b:sql_compl_type='sqlType'<CR><C-X><C-O>
|
||||||
|
<
|
||||||
|
The static maps (which are based on the syntax highlight groups) follow this
|
||||||
|
format: >
|
||||||
|
imap <buffer> <C-C>k <C-\><C-O>:let b:sql_compl_type='sqlKeyword'<CR><C-X><C-O>
|
||||||
|
<
|
||||||
|
This command breaks down as: >
|
||||||
|
imap - Create an insert map
|
||||||
|
<buffer> - Only for this buffer
|
||||||
|
<C-C>k - Your choice of key map
|
||||||
|
<C-\><C-O> - Execute one command, return to Insert mode
|
||||||
|
:let b:sql_compl_type= - Choose the highlight group's entries to display.
|
||||||
|
You can view a list of highlight group names to
|
||||||
|
choose from by executing the
|
||||||
|
:syntax list
|
||||||
|
command while editing a SQL file.
|
||||||
|
'sqlKeyword' - Display the items for the sqlKeyword highlight
|
||||||
|
group
|
||||||
|
<CR> - Execute the :let command
|
||||||
|
<C-X><C-O> - Trigger the standard omni completion key stroke.
|
||||||
|
By setting the b:sql_compl_type variable, this
|
||||||
|
instructs the SQL completion plugin to populate
|
||||||
|
the popup with items from the sqlKeyword highlight
|
||||||
|
group. The plugin will also cache this result
|
||||||
|
until Vim is restarted. The syntax list is
|
||||||
|
retrieved using the syntaxcomplete plugin.
|
||||||
|
<
|
||||||
|
Setting b:sql_compl_type = 'syntax' is a special case. This instructs the
|
||||||
|
syntaxcomplete plugin to retrieve all syntax items. So this will effectively
|
||||||
|
work for any of Vim's SQL syntax files. At the time of writing this includes
|
||||||
|
10 different syntax files for the different dialects of SQL (see section 3
|
||||||
|
above, |sql-dialects|).
|
||||||
|
|
||||||
|
Here are some examples of the entries which are pulled from the syntax files: >
|
||||||
|
All
|
||||||
|
- Contains the contents of all syntax highlight groups
|
||||||
|
Statements
|
||||||
|
- Select, Insert, Update, Delete, Create, Alter, ...
|
||||||
|
Functions
|
||||||
|
- Min, Max, Trim, Round, Date, ...
|
||||||
|
Keywords
|
||||||
|
- Index, Database, Having, Group, With
|
||||||
|
Options
|
||||||
|
- Isolation_level, On_error, Qualify_owners, Fire_triggers, ...
|
||||||
|
Types
|
||||||
|
- Integer, Char, Varchar, Date, DateTime, Timestamp, ...
|
||||||
|
<
|
||||||
|
|
||||||
|
4.2 Dynamic Mode *sql-completion-dynamic*
|
||||||
|
----------------
|
||||||
|
Dynamic mode populates the popups with data directly from a database. In
|
||||||
|
order for the dynamic feature to be enabled you must have the dbext.vim
|
||||||
|
plugin installed, (http://vim.sourceforge.net/script.php?script_id=356).
|
||||||
|
|
||||||
|
Dynamic mode is used by several features of the SQL completion plugin.
|
||||||
|
After installing the dbext plugin see the |dbext-tutorial| for additional
|
||||||
|
configuration and usage. The dbext plugin allows the SQL completion plugin
|
||||||
|
to display a list of tables, procedures, views and columns. >
|
||||||
|
Table List
|
||||||
|
- All tables for all schema owners
|
||||||
|
Procedure List
|
||||||
|
- All stored procedures for all schema owners
|
||||||
|
View List
|
||||||
|
- All stored procedures for all schema owners
|
||||||
|
Column List
|
||||||
|
- For the selected table, the columns that are part of the table
|
||||||
|
<
|
||||||
|
To enable the popup, while in INSERT mode, use the following key combinations
|
||||||
|
for each group (where <C-C> means hold the CTRL key down while pressing
|
||||||
|
the space bar):
|
||||||
|
Table List - <C-C>t
|
||||||
|
- <C-X><C-O> (the default map assumes tables)
|
||||||
|
Stored Procedure List - <C-C>p
|
||||||
|
View List - <C-C>v
|
||||||
|
Column List - <C-C>c
|
||||||
|
- .<C-X><C-O>
|
||||||
|
- If <C-X><C-O> is pressed following a period
|
||||||
|
it is assumed you are asking for a column list.
|
||||||
|
- When viewing a popup window displaying the list
|
||||||
|
of tables, you can press <C-Right>, this will
|
||||||
|
replace the table currently highlighted with
|
||||||
|
the column list for that table.
|
||||||
|
- When viewing a popup window displaying the list
|
||||||
|
of columns, you can press <C-Left>, this will
|
||||||
|
replace the column list with the list of tables.
|
||||||
|
|
||||||
|
The SQL completion plugin caches various lists that are displayed in
|
||||||
|
the popup window. This makes the re-displaying of these lists very
|
||||||
|
fast. If new tables or columns are added to the database it may become
|
||||||
|
necessary to clear the plugins cache. The default map for this is: >
|
||||||
|
imap <buffer> <C-C>R <C-O>:let b:sql_compl_type='ResetCache'<CR><C-X><C-O>
|
||||||
|
<
|
||||||
|
|
||||||
|
4.3 SQL Tutorial *sql-completion-tutorial*
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This tutorial is designed to take you through the common features of the SQL
|
||||||
|
completion plugin so that: >
|
||||||
|
a) You gain familiarity with the plugin
|
||||||
|
b) You are introduced to some of the more common features
|
||||||
|
c) Show how to customize it to your preferences
|
||||||
|
d) Demonstrate "Best of Use" of the plugin (easiest way to configure).
|
||||||
|
<
|
||||||
|
First, create a new buffer: >
|
||||||
|
:e tutorial.sql
|
||||||
|
<
|
||||||
|
|
||||||
|
Static features
|
||||||
|
---------------
|
||||||
|
To take you through the various lists, simply enter insert mode, hit:
|
||||||
|
<C-C>s (show SQL statements)
|
||||||
|
At this point, you can page down through the list until you find "select".
|
||||||
|
If you are familiar with the item you are looking for, for example you know
|
||||||
|
the statement begins with the letter "s". You can type ahead (without the
|
||||||
|
quotes) "se" then press:
|
||||||
|
<C-Spact>t
|
||||||
|
Assuming "select" is highlighted in the popup list press <Enter> to choose
|
||||||
|
the entry. Now type:
|
||||||
|
* fr<C-C>a (show all syntax items)
|
||||||
|
choose "from" from the popup list.
|
||||||
|
|
||||||
|
When writing stored procedures using the "type" list is useful. It contains
|
||||||
|
a list of all the database supported types. This may or may not be true
|
||||||
|
depending on the syntax file you are using. The SQL Anywhere syntax file
|
||||||
|
(sqlanywhere.vim) has support for this: >
|
||||||
|
BEGIN
|
||||||
|
DECLARE customer_id <C-C>T <-- Choose a type from the list
|
||||||
|
<
|
||||||
|
|
||||||
|
Dynamic features
|
||||||
|
----------------
|
||||||
|
To take advantage of the dynamic features you must first install the
|
||||||
|
dbext.vim plugin (http://vim.sourceforge.net/script.php?script_id=356). It
|
||||||
|
also comes with a tutorial. From the SQL completion plugin's perspective,
|
||||||
|
the main feature dbext provides is a connection to a database. dbext
|
||||||
|
connection profiles are the most efficient mechanism to define connection
|
||||||
|
information. Once connections have been setup, the SQL completion plugin
|
||||||
|
uses the features of dbext in the background to populate the popups.
|
||||||
|
|
||||||
|
What follows assumes dbext.vim has been correctly configured, a simple test
|
||||||
|
is to run the command, :DBListTable. If a list of tables is shown, you know
|
||||||
|
dbext.vim is working as expected. If not, please consult the dbext.txt
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
Assuming you have followed the |dbext-tutorial| you can press <C-C>t to
|
||||||
|
display a list of tables. There is a delay while dbext is creating the table
|
||||||
|
list. After the list is displayed press <C-W>. This will remove both the
|
||||||
|
popup window and the table name already chosen when the list became active. >
|
||||||
|
|
||||||
|
4.3.1 Table Completion: *sql-completion-tables*
|
||||||
|
<
|
||||||
|
Press <C-C>t to display a list of tables from within the database you
|
||||||
|
have connected via the dbext plugin.
|
||||||
|
NOTE: All of the SQL completion popups support typing a prefix before pressing
|
||||||
|
the key map. This will limit the contents of the popup window to just items
|
||||||
|
beginning with those characters. >
|
||||||
|
|
||||||
|
4.3.2 Column Completion: *sql-completion-columns*
|
||||||
|
<
|
||||||
|
The SQL completion plugin can also display a list of columns for particular
|
||||||
|
tables. The column completion is trigger via <C-C>c.
|
||||||
|
|
||||||
|
NOTE: The following example uses <C-Right> to trigger a column list while
|
||||||
|
the popup window is active. This map is only available on the Windows
|
||||||
|
platforms since *nix does not recognize CTRL and the right arrow held down
|
||||||
|
together. If you wish to enable this functionality on a *nix platform choose
|
||||||
|
a key and create this mapping (see |sql-completion-maps| for further
|
||||||
|
details on where to create this imap): >
|
||||||
|
imap <buffer> <your_keystroke> <CR><C-\><C-O>:let b:sql_compl_type='column'<CR><C-X><C-O>
|
||||||
|
<
|
||||||
|
Example of using column completion:
|
||||||
|
- Press <C-C>t again to display the list of tables.
|
||||||
|
- When the list is displayed in the completion window, press <C-Right>,
|
||||||
|
this will replace the list of tables, with a list of columns for the
|
||||||
|
table highlighted (after the same short delay).
|
||||||
|
- If you press <C-Left>, this will again replace the column list with the
|
||||||
|
list of tables. This allows you to drill into tables and column lists
|
||||||
|
very quickly.
|
||||||
|
- Press <C-Right> again while the same table is highlighted. You will
|
||||||
|
notice there is no delay since the column list has been cached. If you
|
||||||
|
change the schema of a cached table you can press <C-C>R, which
|
||||||
|
clears the SQL completion cache.
|
||||||
|
- NOTE: <C-Right> and <C-Left> have been designed to work while the
|
||||||
|
completion window is active. If you use these maps when the completion
|
||||||
|
window is not active a carriage return will be inadvertently entered in
|
||||||
|
your buffer.
|
||||||
|
|
||||||
|
Lets look how we can build a SQL statement dynamically. A select statement
|
||||||
|
requires a list of columns. There are two ways to build a column list using
|
||||||
|
the SQL completion plugin. >
|
||||||
|
One column at a time:
|
||||||
|
< 1. After typing SELECT press <C-C>t to display a list of tables.
|
||||||
|
2. Choose a table from the list.
|
||||||
|
3. Press <C-Right> to display a list of columns.
|
||||||
|
4. Choose the column from the list and press enter.
|
||||||
|
5. Enter a "," and press <C-C>c. Generating a column list
|
||||||
|
generally requires having the cursor on a table name. The plugin
|
||||||
|
uses this name to determine what table to retrieve the column list.
|
||||||
|
In this step, since we are pressing <C-C>c without the cursor
|
||||||
|
on a table name the column list displayed will be for the previous
|
||||||
|
table. Choose a different column and move on.
|
||||||
|
6. Repeat step 5 as often as necessary. >
|
||||||
|
All columns for a table:
|
||||||
|
< 1. After typing SELECT press <C-C>t to display a list of tables.
|
||||||
|
2. Highlight the table you need the column list for.
|
||||||
|
3. Press <Enter> to choose the table from the list.
|
||||||
|
4. Press <C-C>l to request a comma separated list of all columns
|
||||||
|
for this table.
|
||||||
|
5. Based on the table name chosen in step 3, the plugin attempts to
|
||||||
|
decide on a reasonable table alias. You are then prompted to
|
||||||
|
either accept of change the alias. Press OK.
|
||||||
|
6. The table name is replaced with the column list of the table is
|
||||||
|
replaced with the comma separate list of columns with the alias
|
||||||
|
prepended to each of the columns.
|
||||||
|
7. Step 3 and 4 can be replaced by pressing <C-C>L, which has
|
||||||
|
a <CR> embedded in the map to choose the currently highlighted
|
||||||
|
table in the list.
|
||||||
|
|
||||||
|
There is a special provision when writing select statements. Consider the
|
||||||
|
following statement: >
|
||||||
|
select *
|
||||||
|
from customer c,
|
||||||
|
contact cn,
|
||||||
|
department as dp,
|
||||||
|
employee e,
|
||||||
|
site_options so
|
||||||
|
where c.
|
||||||
|
<
|
||||||
|
In INSERT mode after typing the final "c." which is an alias for the
|
||||||
|
"customer" table, you can press either <C-C>c or <C-X><C-O>. This will
|
||||||
|
popup a list of columns for the customer table. It does this by looking back
|
||||||
|
to the beginning of the select statement and finding a list of the tables
|
||||||
|
specified in the FROM clause. In this case it notes that in the string
|
||||||
|
"customer c", "c" is an alias for the customer table. The optional "AS"
|
||||||
|
keyword is also supported, "customer AS c". >
|
||||||
|
|
||||||
|
|
||||||
|
4.3.3 Procedure Completion: *sql-completion-procedures*
|
||||||
|
<
|
||||||
|
Similar to the table list, <C-C>p, will display a list of stored
|
||||||
|
procedures stored within the database. >
|
||||||
|
|
||||||
|
4.3.4 View Completion: *sql-completion-views*
|
||||||
|
<
|
||||||
|
Similar to the table list, <C-C>v, will display a list of views in the
|
||||||
|
database.
|
||||||
|
|
||||||
|
|
||||||
|
4.4 Completion Customization *sql-completion-customization*
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
The SQL completion plugin can be customized through various options set in
|
||||||
|
your |vimrc|: >
|
||||||
|
omni_sql_no_default_maps
|
||||||
|
< - Default: This variable is not defined
|
||||||
|
- If this variable is defined, no maps are created for OMNI
|
||||||
|
completion. See |sql-completion-maps| for further discussion.
|
||||||
|
>
|
||||||
|
omni_sql_use_tbl_alias
|
||||||
|
< - Default: a
|
||||||
|
- This setting is only used when generating a comma separated
|
||||||
|
column list. By default the map is <C-C>l. When generating
|
||||||
|
a column list, an alias can be prepended to the beginning of each
|
||||||
|
column, for example: e.emp_id, e.emp_name. This option has three
|
||||||
|
settings: >
|
||||||
|
n - do not use an alias
|
||||||
|
d - use the default (calculated) alias
|
||||||
|
a - ask to confirm the alias name
|
||||||
|
<
|
||||||
|
An alias is determined following a few rules:
|
||||||
|
1. If the table name has an '_', then use it as a separator: >
|
||||||
|
MY_TABLE_NAME --> MTN
|
||||||
|
my_table_name --> mtn
|
||||||
|
My_table_NAME --> MtN
|
||||||
|
< 2. If the table name does NOT contain an '_', but DOES use
|
||||||
|
mixed case then the case is used as a separator: >
|
||||||
|
MyTableName --> MTN
|
||||||
|
< 3. If the table name does NOT contain an '_', and does NOT
|
||||||
|
use mixed case then the first letter of the table is used: >
|
||||||
|
mytablename --> m
|
||||||
|
MYTABLENAME --> M
|
||||||
|
<
|
||||||
|
|
||||||
|
4.5 Customizing Maps *sql-completion-maps*
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
You can create as many additional key maps as you like. Generally, the maps
|
||||||
|
will be specifying different syntax highlight groups.
|
||||||
|
|
||||||
|
If you do not wish the default maps created or the key choices do not work on
|
||||||
|
your platform (often a case on *nix) you define the following variable in
|
||||||
|
your |vimrc|: >
|
||||||
|
let g:omni_sql_no_default_maps = 1
|
||||||
|
<
|
||||||
|
Do no edit ftplugin/sql.vim directly! If you change this file your changes
|
||||||
|
will be over written on future updates. Vim has a special directory structure
|
||||||
|
that allows you to make customizations without changing the files that are
|
||||||
|
included with the Vim distribution. If you wish to customize the maps
|
||||||
|
create an after/ftplugin/sql.vim (see |after-directory|) and place the same
|
||||||
|
maps from the ftplugin/sql.vim in it using your own key strokes. <C-C> was
|
||||||
|
chosen since it will work on both Windows and *nix platforms. On the windows
|
||||||
|
platform you can also use <C-Space> or ALT keys.
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -5307,6 +5307,7 @@ ft-sh-syntax syntax.txt /*ft-sh-syntax*
|
|||||||
ft-spec-plugin filetype.txt /*ft-spec-plugin*
|
ft-spec-plugin filetype.txt /*ft-spec-plugin*
|
||||||
ft-spup-syntax syntax.txt /*ft-spup-syntax*
|
ft-spup-syntax syntax.txt /*ft-spup-syntax*
|
||||||
ft-sql filetype.txt /*ft-sql*
|
ft-sql filetype.txt /*ft-sql*
|
||||||
|
ft-sql-omni insert.txt /*ft-sql-omni*
|
||||||
ft-sql-syntax syntax.txt /*ft-sql-syntax*
|
ft-sql-syntax syntax.txt /*ft-sql-syntax*
|
||||||
ft-sqlanywhere-syntax syntax.txt /*ft-sqlanywhere-syntax*
|
ft-sqlanywhere-syntax syntax.txt /*ft-sqlanywhere-syntax*
|
||||||
ft-sqlinformix-syntax syntax.txt /*ft-sqlinformix-syntax*
|
ft-sqlinformix-syntax syntax.txt /*ft-sqlinformix-syntax*
|
||||||
@ -5746,6 +5747,7 @@ i_CTRL-B-gone version5.txt /*i_CTRL-B-gone*
|
|||||||
i_CTRL-C insert.txt /*i_CTRL-C*
|
i_CTRL-C insert.txt /*i_CTRL-C*
|
||||||
i_CTRL-D insert.txt /*i_CTRL-D*
|
i_CTRL-D insert.txt /*i_CTRL-D*
|
||||||
i_CTRL-E insert.txt /*i_CTRL-E*
|
i_CTRL-E insert.txt /*i_CTRL-E*
|
||||||
|
i_CTRL-F indent.txt /*i_CTRL-F*
|
||||||
i_CTRL-G_<Down> insert.txt /*i_CTRL-G_<Down>*
|
i_CTRL-G_<Down> insert.txt /*i_CTRL-G_<Down>*
|
||||||
i_CTRL-G_<Up> insert.txt /*i_CTRL-G_<Up>*
|
i_CTRL-G_<Up> insert.txt /*i_CTRL-G_<Up>*
|
||||||
i_CTRL-G_CTRL-J insert.txt /*i_CTRL-G_CTRL-J*
|
i_CTRL-G_CTRL-J insert.txt /*i_CTRL-G_CTRL-J*
|
||||||
@ -5916,6 +5918,7 @@ key-mapping map.txt /*key-mapping*
|
|||||||
key-notation intro.txt /*key-notation*
|
key-notation intro.txt /*key-notation*
|
||||||
key-variable eval.txt /*key-variable*
|
key-variable eval.txt /*key-variable*
|
||||||
keycodes intro.txt /*keycodes*
|
keycodes intro.txt /*keycodes*
|
||||||
|
keymap-accents mbyte.txt /*keymap-accents*
|
||||||
keymap-file-format mbyte.txt /*keymap-file-format*
|
keymap-file-format mbyte.txt /*keymap-file-format*
|
||||||
keymap-hebrew mbyte.txt /*keymap-hebrew*
|
keymap-hebrew mbyte.txt /*keymap-hebrew*
|
||||||
keypad-0 intro.txt /*keypad-0*
|
keypad-0 intro.txt /*keypad-0*
|
||||||
@ -6386,6 +6389,7 @@ ole-normal if_ole.txt /*ole-normal*
|
|||||||
ole-registration if_ole.txt /*ole-registration*
|
ole-registration if_ole.txt /*ole-registration*
|
||||||
ole-sendkeys if_ole.txt /*ole-sendkeys*
|
ole-sendkeys if_ole.txt /*ole-sendkeys*
|
||||||
ole-setforeground if_ole.txt /*ole-setforeground*
|
ole-setforeground if_ole.txt /*ole-setforeground*
|
||||||
|
omni-sql-completion sql.txt /*omni-sql-completion*
|
||||||
online-help various.txt /*online-help*
|
online-help various.txt /*online-help*
|
||||||
opening-window windows.txt /*opening-window*
|
opening-window windows.txt /*opening-window*
|
||||||
operator motion.txt /*operator*
|
operator motion.txt /*operator*
|
||||||
@ -6905,6 +6909,16 @@ sponsor.txt sponsor.txt /*sponsor.txt*
|
|||||||
spoon os_unix.txt /*spoon*
|
spoon os_unix.txt /*spoon*
|
||||||
spup.vim syntax.txt /*spup.vim*
|
spup.vim syntax.txt /*spup.vim*
|
||||||
sql-adding-dialects sql.txt /*sql-adding-dialects*
|
sql-adding-dialects sql.txt /*sql-adding-dialects*
|
||||||
|
sql-completion sql.txt /*sql-completion*
|
||||||
|
sql-completion-columns sql.txt /*sql-completion-columns*
|
||||||
|
sql-completion-customization sql.txt /*sql-completion-customization*
|
||||||
|
sql-completion-dynamic sql.txt /*sql-completion-dynamic*
|
||||||
|
sql-completion-maps sql.txt /*sql-completion-maps*
|
||||||
|
sql-completion-procedures sql.txt /*sql-completion-procedures*
|
||||||
|
sql-completion-static sql.txt /*sql-completion-static*
|
||||||
|
sql-completion-tables sql.txt /*sql-completion-tables*
|
||||||
|
sql-completion-tutorial sql.txt /*sql-completion-tutorial*
|
||||||
|
sql-completion-views sql.txt /*sql-completion-views*
|
||||||
sql-dialects sql.txt /*sql-dialects*
|
sql-dialects sql.txt /*sql-dialects*
|
||||||
sql-macros sql.txt /*sql-macros*
|
sql-macros sql.txt /*sql-macros*
|
||||||
sql-matchit sql.txt /*sql-matchit*
|
sql-matchit sql.txt /*sql-matchit*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0c. Last change: 2006 Mar 28
|
*todo.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -30,10 +30,7 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
The 16 bit DOS version compiles now, but it's still too low on memory, writing
|
When "search" is in 'foldopen' have [s and ]s open folds.
|
||||||
a file fails when 'writebackup' is set.
|
|
||||||
|
|
||||||
Have argv() return the arguments in a List.
|
|
||||||
|
|
||||||
New Hungarian dictionary. (Laci Nemeth)
|
New Hungarian dictionary. (Laci Nemeth)
|
||||||
test COMPOUNDFORBIDFLAG
|
test COMPOUNDFORBIDFLAG
|
||||||
@ -49,9 +46,6 @@ New Hungarian dictionary. (Laci Nemeth)
|
|||||||
Also: when the environment variable exists, use it. If it doesn't
|
Also: when the environment variable exists, use it. If it doesn't
|
||||||
exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
|
exist, set it. Requires good names: $VIM_USER_VIMRC $VIM_USER_DIR
|
||||||
Add a menu item "Preferences" that does "sp $MYVIMRC".
|
Add a menu item "Preferences" that does "sp $MYVIMRC".
|
||||||
- The Replace dialog takes "\r" literal, unless "replace all" is used.
|
|
||||||
Need to escape backslashes.
|
|
||||||
Win32: the text to replace with isn't remembered.
|
|
||||||
|
|
||||||
Add more tests for all new functionality in Vim 7. Especially new functions.
|
Add more tests for all new functionality in Vim 7. Especially new functions.
|
||||||
|
|
||||||
@ -461,7 +455,8 @@ MSDOS/DJGPP:
|
|||||||
8 DJGPP: "cd c:" can take us to a directory that no longer exists.
|
8 DJGPP: "cd c:" can take us to a directory that no longer exists.
|
||||||
change_drive() doesn't check this. How to check for this error?
|
change_drive() doesn't check this. How to check for this error?
|
||||||
9 The 16 bit version runs out of memory very quickly. Should find unused
|
9 The 16 bit version runs out of memory very quickly. Should find unused
|
||||||
code and reduce static data.
|
code and reduce static data. Resetting 'writebackup' helps to be able to
|
||||||
|
write a file.
|
||||||
9 Crash when running on Windows 98 in a console window and pressing CTRL-C.
|
9 Crash when running on Windows 98 in a console window and pressing CTRL-C.
|
||||||
Happens now and then. When debugging Vim in gdb this also happens. Since
|
Happens now and then. When debugging Vim in gdb this also happens. Since
|
||||||
the console crashes, might be a bug in the DOS console. Resetting
|
the console crashes, might be a bug in the DOS console. Resetting
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0c. Last change: 2006 Mar 28
|
*version7.txt* For Vim version 7.0c. Last change: 2006 Mar 29
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -692,6 +692,7 @@ New and extended functions: ~
|
|||||||
|
|
||||||
|add()| append an item to a List
|
|add()| append an item to a List
|
||||||
|append()| append List of lines to the buffer
|
|append()| append List of lines to the buffer
|
||||||
|
|argv()| without an argument return the whole argument list
|
||||||
|browsedir()| dialog to select a directory
|
|browsedir()| dialog to select a directory
|
||||||
|bufnr()| takes an extra argument: create buffer
|
|bufnr()| takes an extra argument: create buffer
|
||||||
|byteidx()| index of a character (Ilya Sher)
|
|byteidx()| index of a character (Ilya Sher)
|
||||||
@ -2239,4 +2240,19 @@ text.
|
|||||||
GUI: When there are left and righ scrollbars, ":tabedit" kept them instead of
|
GUI: When there are left and righ scrollbars, ":tabedit" kept them instead of
|
||||||
using the one that isn't needed.
|
using the one that isn't needed.
|
||||||
|
|
||||||
|
Using "gP" to replace al the text could leave the cursor below the last line,
|
||||||
|
causing ml_get errors.
|
||||||
|
|
||||||
|
When 'cursorline' is set don't use the highlighting when Visual mode is
|
||||||
|
active, otherwise it's difficult to see the selected area.
|
||||||
|
|
||||||
|
The matchparen plugin restricts the search to 100 lines, to avoid a long delay
|
||||||
|
when there are closed folds.
|
||||||
|
|
||||||
|
Sometimes using CTRL-X s to list spelling suggestions used text from another
|
||||||
|
line.
|
||||||
|
|
||||||
|
Win32: Set the default for 'isprint' back to the wrong default "@,~-255",
|
||||||
|
because many people use Windows-1252 while 'encoding' is "latin1".
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" Vim script for Evim key bindings
|
" Vim script for Evim key bindings
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2002 Mar 04
|
" Last Change: 2006 Mar 29
|
||||||
|
|
||||||
" Don't use Vi-compatible mode.
|
" Don't use Vi-compatible mode.
|
||||||
set nocompatible
|
set nocompatible
|
||||||
@ -15,8 +15,8 @@ set insertmode
|
|||||||
set hidden
|
set hidden
|
||||||
|
|
||||||
" Make cursor keys ignore wrapping
|
" Make cursor keys ignore wrapping
|
||||||
inoremap <Down> <C-O>gj
|
inoremap <Down> <C-R>=pumvisible() ? "\<lt>Down>" : "\<lt>C-O>gj"<CR>
|
||||||
inoremap <Up> <C-O>gk
|
inoremap <Up> <C-R>=pumvisible() ? "\<lt>Up>" : "\<lt>C-O>gk"<CR>
|
||||||
|
|
||||||
" CTRL-F does Find dialog instead of page forward
|
" CTRL-F does Find dialog instead of page forward
|
||||||
noremap <C-F> :promptfind<CR>
|
noremap <C-F> :promptfind<CR>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
|
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
|
||||||
" Version: 1.0
|
" Version: 1.0
|
||||||
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
|
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
|
||||||
" Last Change: Wed Jan 11 2006 10:04:55 AM
|
" Last Change: Tue Mar 28 2006 2:26:48 PM
|
||||||
" Download: http://vim.sourceforge.net/script.php?script_id=454
|
" Download: http://vim.sourceforge.net/script.php?script_id=454
|
||||||
|
|
||||||
" For more details please use:
|
" For more details please use:
|
||||||
@ -367,16 +367,35 @@ if exists('&omnifunc')
|
|||||||
setlocal omnifunc=sqlcomplete#Complete
|
setlocal omnifunc=sqlcomplete#Complete
|
||||||
" Prevent the intellisense plugin from loading
|
" Prevent the intellisense plugin from loading
|
||||||
let b:sql_vis = 1
|
let b:sql_vis = 1
|
||||||
imap <buffer> <c-space>t <C-O>:let b:sql_compl_type='table'<CR><C-X><C-O>
|
if !exists('g:omni_sql_no_default_maps')
|
||||||
imap <buffer> <c-space>p <C-O>:let b:sql_compl_type='procedure'<CR><C-X><C-O>
|
" Static maps which use populate the completion list
|
||||||
imap <buffer> <c-space>v <C-O>:let b:sql_compl_type='view'<CR><C-X><C-O>
|
" using Vim's syntax highlighting rules
|
||||||
imap <buffer> <c-space>c <C-O>:let b:sql_compl_type='column'<CR><C-X><C-O>
|
imap <buffer> <c-c>a <C-\><C-O>:let b:sql_compl_type='syntax'<CR><C-X><C-O>
|
||||||
imap <buffer> <c-space>f <C-O>:let b:sql_compl_type='function'<CR><C-X><C-O>
|
imap <buffer> <c-c>k <C-\><C-O>:let b:sql_compl_type='sqlKeyword'<CR><C-X><C-O>
|
||||||
imap <buffer> <c-space>o <C-O>:let b:sql_compl_type='option'<CR><C-X><C-O>
|
imap <buffer> <c-c>f <C-\><C-O>:let b:sql_compl_type='sqlFunction'<CR><C-X><C-O>
|
||||||
imap <buffer> <c-right> <C-O>:let b:sql_compl_type='column'<CR><C-X><C-O>
|
imap <buffer> <c-c>o <C-\><C-O>:let b:sql_compl_type='sqlOption'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-c>T <C-\><C-O>:let b:sql_compl_type='sqlType'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-c>s <C-\><C-O>:let b:sql_compl_type='sqlStatement'<CR><C-X><C-O>
|
||||||
|
" Dynamic maps which use populate the completion list
|
||||||
|
" using the dbext.vim plugin
|
||||||
|
imap <buffer> <c-c>t <C-\><C-O>:let b:sql_compl_type='table'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-c>p <C-\><C-O>:let b:sql_compl_type='procedure'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-c>v <C-\><C-O>:let b:sql_compl_type='view'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-c>c <C-\><C-O>:let b:sql_compl_type='column'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-c>l <C-\><C-O>:let b:sql_compl_type='column_csv'<CR><C-X><C-O>
|
||||||
|
" The next 3 maps are only to be used while the completion window is
|
||||||
|
" active due to the <CR> at the beginning of the map
|
||||||
|
imap <buffer> <c-c>L <CR><C-\><C-O>:let b:sql_compl_type='column_csv'<CR><C-X><C-O>
|
||||||
|
if has('win32')
|
||||||
|
imap <buffer> <c-right> <CR><C-\><C-O>:let b:sql_compl_type='column'<CR><C-X><C-O>
|
||||||
|
imap <buffer> <c-left> <C-\><C-O>:let b:sql_compl_type='tableReset'<CR><C-X><C-O>
|
||||||
|
endif
|
||||||
|
" Remove any cached items useful for schema changes
|
||||||
|
imap <buffer> <c-c>R <C-\><C-O>:let b:sql_compl_type='resetCache'<CR><C-X><C-O>
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
|
|
||||||
" vim:sw=4:ff=unix:
|
" vim:sw=4:
|
||||||
|
|
||||||
|
@ -330,3 +330,8 @@ if has('iconv')
|
|||||||
endif
|
endif
|
||||||
an 10.396.120.130 ファイル(&F).エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
an 10.396.120.130 ファイル(&F).エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" filler to avoid the line above being recognized as a modeline
|
||||||
|
" filler
|
||||||
|
" filler
|
||||||
|
" filler
|
||||||
|
@ -330,3 +330,8 @@ if has('iconv')
|
|||||||
endif
|
endif
|
||||||
an 10.396.120.130 ファイル(&F).エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
an 10.396.120.130 ファイル(&F).エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" filler to avoid the line above being recognized as a modeline
|
||||||
|
" filler
|
||||||
|
" filler
|
||||||
|
" filler
|
||||||
|
@ -330,3 +330,8 @@ if has('iconv')
|
|||||||
endif
|
endif
|
||||||
an 10.396.120.130 ファイル(&F).エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
an 10.396.120.130 ファイル(&F).エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" filler to avoid the line above being recognized as a modeline
|
||||||
|
" filler
|
||||||
|
" filler
|
||||||
|
" filler
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for showing matching parens
|
" Vim plugin for showing matching parens
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Mar 14
|
" Last Change: 2006 Mar 29
|
||||||
|
|
||||||
" Exit quickly when:
|
" Exit quickly when:
|
||||||
" - this plugin was already loaded (or disabled)
|
" - this plugin was already loaded (or disabled)
|
||||||
@ -63,15 +63,22 @@ function! s:Highlight_Matching_Pair()
|
|||||||
|
|
||||||
" Figure out the arguments for searchpairpos().
|
" Figure out the arguments for searchpairpos().
|
||||||
" Restrict the search to visible lines with "stopline".
|
" Restrict the search to visible lines with "stopline".
|
||||||
|
" And avoid searching very far (e.g., for closed folds)
|
||||||
if i % 2 == 0
|
if i % 2 == 0
|
||||||
let s_flags = 'nW'
|
let s_flags = 'nW'
|
||||||
let c2 = plist[i + 1]
|
let c2 = plist[i + 1]
|
||||||
let stopline = line('w$')
|
let stopline = line('w$')
|
||||||
|
if stopline > c_lnum + 100
|
||||||
|
let stopline = c_lnu + 100
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
let s_flags = 'nbW'
|
let s_flags = 'nbW'
|
||||||
let c2 = c
|
let c2 = c
|
||||||
let c = plist[i - 1]
|
let c = plist[i - 1]
|
||||||
let stopline = line('w0')
|
let stopline = line('w0')
|
||||||
|
if stopline < c_lnum - 100
|
||||||
|
let stopline = c_lnu - 100
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if c == '['
|
if c == '['
|
||||||
let c = '\['
|
let c = '\['
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Vim help file
|
" Language: Vim help file
|
||||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||||
" Last Change: 2006 Mar 26
|
" Last Change: 2006 Mar 29
|
||||||
|
|
||||||
" Quit when a (custom) syntax file was already loaded
|
" Quit when a (custom) syntax file was already loaded
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
syn match helpHeadline "^[A-Z ]\+[ ]\+\*"me=e-1
|
syn match helpHeadline "^[-A-Z ]\+[ \t]\+\*"me=e-1
|
||||||
syn match helpSectionDelim "^=\{3,}.*===$"
|
syn match helpSectionDelim "^=\{3,}.*===$"
|
||||||
syn match helpSectionDelim "^-\{3,}.*--$"
|
syn match helpSectionDelim "^-\{3,}.*--$"
|
||||||
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
|
syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
|
||||||
|
@ -47,7 +47,8 @@ syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained
|
|||||||
syn keyword pythonRepeat for while
|
syn keyword pythonRepeat for while
|
||||||
syn keyword pythonConditional if elif else
|
syn keyword pythonConditional if elif else
|
||||||
syn keyword pythonOperator and in is not or
|
syn keyword pythonOperator and in is not or
|
||||||
syn keyword pythonPreCondit import from
|
" AS will be a keyword in Python 3
|
||||||
|
syn keyword pythonPreCondit import from as
|
||||||
syn match pythonComment "#.*$" contains=pythonTodo
|
syn match pythonComment "#.*$" contains=pythonTodo
|
||||||
syn keyword pythonTodo TODO FIXME XXX contained
|
syn keyword pythonTodo TODO FIXME XXX contained
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Vim 7.0 script
|
" Language: Vim 7.0 script
|
||||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
" Last Change: March 22, 2006
|
" Last Change: March 29, 2006
|
||||||
" Version: 7.0-35
|
" Version: 7.0-37 NOT RELEASED
|
||||||
" Automatically generated keyword lists: {{{1
|
" Automatically generated keyword lists: {{{1
|
||||||
|
|
||||||
" Quit when a syntax file was already loaded {{{2
|
" Quit when a syntax file was already loaded {{{2
|
||||||
@ -16,7 +16,7 @@ syn keyword vimTodo contained COMBAK NOT RELEASED TODO WIP
|
|||||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||||
|
|
||||||
" regular vim commands {{{2
|
" regular vim commands {{{2
|
||||||
syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] caddb[uffer] cad[dexpr] caddf[ile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] earlier echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] laddb[uffer] lad[dexpr] laddf[ile] lan[guage] la[st] later lb[uffer] lc[d] lch[dir] lcl[ose] le[ft] lefta[bove] lex[pr] lf[ile] lfir[st] lg[etfile] lgr[ep] lgrepa[dd] lh[elpgrep] l[ist] ll lla[st] lli[st] lmak[e] lm[ap] lmapc[lear] lnew[er] lne[xt] lN[ext] lnf[ile] lNf[ile] ln[oremap] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lpf[ile] lp[revious] lr[ewind] ls lt[ag] lu[nmap] lv[imgrep] lvimgrepa[dd] lw[indow] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey NetrwSettings new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sm[ap] smapc[lear] sme smenu sn[ext] sN[ext] sni[ff] sno[magic] snor[emap] snoreme snoremenu sor[t] so[urce] spelld[ump] spe[llgood] spelli[nfo] spellr[epall] spellu[ndo] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] startg[replace] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sunm[ap] sus[pend] sv[iew] syncbind t tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabl[ast] tabmove tabnew tabn[ext] tabN[ext] tabo[nly] tabp[revious] tabr[ewind] tabs ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] undoj[oin] undol[ist] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] xm[ap] xmapc[lear] xme xmenu XMLent XMLns xn[oremap] xnoreme xnoremenu xu[nmap] y[ank]
|
syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] caddb[uffer] cad[dexpr] caddf[ile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cgetb[uffer] cgete[xpr] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] earlier echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] laddb[uffer] lad[dexpr] laddf[ile] lan[guage] la[st] later lb[uffer] lc[d] lch[dir] lcl[ose] le[ft] lefta[bove] lex[pr] lf[ile] lfir[st] lgetb[uffer] lgete[xpr] lg[etfile] lgr[ep] lgrepa[dd] lh[elpgrep] l[ist] ll lla[st] lli[st] lmak[e] lm[ap] lmapc[lear] lnew[er] lne[xt] lN[ext] lnf[ile] lNf[ile] ln[oremap] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lpf[ile] lp[revious] lr[ewind] ls lt[ag] lu[nmap] lv[imgrep] lvimgrepa[dd] lw[indow] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey NetrwSettings new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sm[ap] smapc[lear] sme smenu sn[ext] sN[ext] sni[ff] sno[magic] snor[emap] snoreme snoremenu sor[t] so[urce] spelld[ump] spe[llgood] spelli[nfo] spellr[epall] spellu[ndo] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] startg[replace] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sunm[ap] sus[pend] sv[iew] syncbind t tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabl[ast] tabmove tabnew tabn[ext] tabN[ext] tabo[nly] tabp[revious] tabr[ewind] tabs ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] undoj[oin] undol[ist] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] xm[ap] xmapc[lear] xme xmenu XMLent XMLns xn[oremap] xnoreme xnoremenu xu[nmap] y[ank]
|
||||||
syn match vimCommand contained "\<z[-+^.=]"
|
syn match vimCommand contained "\<z[-+^.=]"
|
||||||
|
|
||||||
" vimOptions are caught only when contained in a vimSet {{{2
|
" vimOptions are caught only when contained in a vimSet {{{2
|
||||||
@ -473,6 +473,11 @@ syn match vimContinue "^\s*\\"
|
|||||||
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
|
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
|
||||||
syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
|
syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
|
||||||
|
|
||||||
|
" Searches: {{{2
|
||||||
|
" =========
|
||||||
|
syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
|
||||||
|
syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
|
||||||
|
|
||||||
" Scripts : perl,ruby : Benoit Cerrina {{{2
|
" Scripts : perl,ruby : Benoit Cerrina {{{2
|
||||||
" ======= python,tcl: Johannes Zellner
|
" ======= python,tcl: Johannes Zellner
|
||||||
|
|
||||||
@ -609,6 +614,8 @@ hi def link vimPatSepErr vimPatSep
|
|||||||
hi def link vimPatSepZone vimString
|
hi def link vimPatSepZone vimString
|
||||||
hi def link vimPlainMark vimMark
|
hi def link vimPlainMark vimMark
|
||||||
hi def link vimPlainRegister vimRegister
|
hi def link vimPlainRegister vimRegister
|
||||||
|
hi def link vimSearch vimString
|
||||||
|
hi def link vimSearchDelim Statement
|
||||||
hi def link vimSetMod vimOption
|
hi def link vimSetMod vimOption
|
||||||
hi def link vimSetString vimString
|
hi def link vimSetString vimString
|
||||||
hi def link vimSpecFileMod vimSpecFile
|
hi def link vimSpecFileMod vimSpecFile
|
||||||
|
2
src/auto/configure
vendored
2
src/auto/configure
vendored
@ -2992,7 +2992,7 @@ rm -f conftest.err conftest.$ac_objext \
|
|||||||
elif test "x$MACARCH" = "xintel"; then
|
elif test "x$MACARCH" = "xintel"; then
|
||||||
CPPFLAGS="$CPPFLAGS -arch intel"
|
CPPFLAGS="$CPPFLAGS -arch intel"
|
||||||
LDFLAGS="$LDFLAGS -arch intel"
|
LDFLAGS="$LDFLAGS -arch intel"
|
||||||
else
|
elif test "x$MACARCH" = "xppc"; then
|
||||||
CPPFLAGS="$CPPFLAGS -arch ppc"
|
CPPFLAGS="$CPPFLAGS -arch ppc"
|
||||||
LDFLAGS="$LDFLAGS -arch ppc"
|
LDFLAGS="$LDFLAGS -arch ppc"
|
||||||
fi
|
fi
|
||||||
|
@ -136,7 +136,7 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
|
|||||||
elif test "x$MACARCH" = "xintel"; then
|
elif test "x$MACARCH" = "xintel"; then
|
||||||
CPPFLAGS="$CPPFLAGS -arch intel"
|
CPPFLAGS="$CPPFLAGS -arch intel"
|
||||||
LDFLAGS="$LDFLAGS -arch intel"
|
LDFLAGS="$LDFLAGS -arch intel"
|
||||||
else
|
elif test "x$MACARCH" = "xppc"; then
|
||||||
CPPFLAGS="$CPPFLAGS -arch ppc"
|
CPPFLAGS="$CPPFLAGS -arch ppc"
|
||||||
LDFLAGS="$LDFLAGS -arch ppc"
|
LDFLAGS="$LDFLAGS -arch ppc"
|
||||||
fi
|
fi
|
||||||
|
BIN
src/doc-txt.icns
BIN
src/doc-txt.icns
Binary file not shown.
@ -4497,6 +4497,8 @@ ins_complete(c)
|
|||||||
if (compl_col >= (colnr_T)startcol)
|
if (compl_col >= (colnr_T)startcol)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
spell_expand_check_cap(compl_col);
|
spell_expand_check_cap(compl_col);
|
||||||
|
/* Need to obtain "line" again, it may have become invalid. */
|
||||||
|
line = ml_get(curwin->w_cursor.lnum);
|
||||||
compl_length = (int)curs_col - compl_col;
|
compl_length = (int)curs_col - compl_col;
|
||||||
compl_pattern = vim_strnsave(line + compl_col, compl_length);
|
compl_pattern = vim_strnsave(line + compl_col, compl_length);
|
||||||
if (compl_pattern == NULL)
|
if (compl_pattern == NULL)
|
||||||
|
@ -6900,7 +6900,7 @@ static struct fst
|
|||||||
{"append", 2, 2, f_append},
|
{"append", 2, 2, f_append},
|
||||||
{"argc", 0, 0, f_argc},
|
{"argc", 0, 0, f_argc},
|
||||||
{"argidx", 0, 0, f_argidx},
|
{"argidx", 0, 0, f_argidx},
|
||||||
{"argv", 1, 1, f_argv},
|
{"argv", 0, 1, f_argv},
|
||||||
{"browse", 4, 4, f_browse},
|
{"browse", 4, 4, f_browse},
|
||||||
{"browsedir", 2, 2, f_browsedir},
|
{"browsedir", 2, 2, f_browsedir},
|
||||||
{"bufexists", 1, 1, f_bufexists},
|
{"bufexists", 1, 1, f_bufexists},
|
||||||
@ -7651,6 +7651,8 @@ f_argv(argvars, rettv)
|
|||||||
{
|
{
|
||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
|
if (argvars[0].v_type != VAR_UNKNOWN)
|
||||||
|
{
|
||||||
idx = get_tv_number_chk(&argvars[0], NULL);
|
idx = get_tv_number_chk(&argvars[0], NULL);
|
||||||
if (idx >= 0 && idx < ARGCOUNT)
|
if (idx >= 0 && idx < ARGCOUNT)
|
||||||
rettv->vval.v_string = vim_strsave(alist_name(&ARGLIST[idx]));
|
rettv->vval.v_string = vim_strsave(alist_name(&ARGLIST[idx]));
|
||||||
@ -7658,6 +7660,11 @@ f_argv(argvars, rettv)
|
|||||||
rettv->vval.v_string = NULL;
|
rettv->vval.v_string = NULL;
|
||||||
rettv->v_type = VAR_STRING;
|
rettv->v_type = VAR_STRING;
|
||||||
}
|
}
|
||||||
|
else if (rettv_list_alloc(rettv) == OK)
|
||||||
|
for (idx = 0; idx < ARGCOUNT; ++idx)
|
||||||
|
list_append_string(rettv->vval.v_list,
|
||||||
|
alist_name(&ARGLIST[idx]), -1);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "browse(save, title, initdir, default)" function
|
* "browse(save, title, initdir, default)" function
|
||||||
|
@ -5352,6 +5352,8 @@ gui_mch_get_color(char_u *name)
|
|||||||
{"DarkMagenta", "#BB00BB"},
|
{"DarkMagenta", "#BB00BB"},
|
||||||
{"DarkGrey", "#BBBBBB"},
|
{"DarkGrey", "#BBBBBB"},
|
||||||
{"DarkYellow", "#BBBB00"},
|
{"DarkYellow", "#BBBB00"},
|
||||||
|
{"Grey90", "#E5E5E5"},
|
||||||
|
{"Gray90", "#E5E5E5"},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3642,6 +3642,8 @@ gui_mch_get_color(char_u *name)
|
|||||||
{"Grey", RGB(0xC0, 0xC0, 0xC0)}, /*W*/
|
{"Grey", RGB(0xC0, 0xC0, 0xC0)}, /*W*/
|
||||||
{"lightgray", RGB(0xE0, 0xE0, 0xE0)}, /*W*/
|
{"lightgray", RGB(0xE0, 0xE0, 0xE0)}, /*W*/
|
||||||
{"lightgrey", RGB(0xE0, 0xE0, 0xE0)}, /*W*/
|
{"lightgrey", RGB(0xE0, 0xE0, 0xE0)}, /*W*/
|
||||||
|
{"gray90", RGB(0xE5, 0xE5, 0xE5)}, /*W*/
|
||||||
|
{"grey90", RGB(0xE5, 0xE5, 0xE5)}, /*W*/
|
||||||
{"white", RGB(0xFF, 0xFF, 0xFF)},
|
{"white", RGB(0xFF, 0xFF, 0xFF)},
|
||||||
{"darkred", RGB(0x80, 0x00, 0x00)}, /*W*/
|
{"darkred", RGB(0x80, 0x00, 0x00)}, /*W*/
|
||||||
{"red", RGB(0xDD, 0x08, 0x06)}, /*M*/
|
{"red", RGB(0xDD, 0x08, 0x06)}, /*M*/
|
||||||
|
@ -2007,6 +2007,8 @@ gui_mch_get_color(char_u *name)
|
|||||||
{"Grey", RGB(0xC0, 0xC0, 0xC0)},
|
{"Grey", RGB(0xC0, 0xC0, 0xC0)},
|
||||||
{"LightGray", RGB(0xD3, 0xD3, 0xD3)},
|
{"LightGray", RGB(0xD3, 0xD3, 0xD3)},
|
||||||
{"LightGrey", RGB(0xD3, 0xD3, 0xD3)},
|
{"LightGrey", RGB(0xD3, 0xD3, 0xD3)},
|
||||||
|
{"Gray90", RGB(0xE5, 0xE5, 0xE5)},
|
||||||
|
{"Grey90", RGB(0xE5, 0xE5, 0xE5)},
|
||||||
{"White", RGB(0xFF, 0xFF, 0xFF)},
|
{"White", RGB(0xFF, 0xFF, 0xFF)},
|
||||||
{"DarkRed", RGB(0x80, 0x00, 0x00)},
|
{"DarkRed", RGB(0x80, 0x00, 0x00)},
|
||||||
{"Red", RGB(0xFF, 0x00, 0x00)},
|
{"Red", RGB(0xFF, 0x00, 0x00)},
|
||||||
|
@ -1145,6 +1145,8 @@ gui_mch_get_color(char_u *name)
|
|||||||
{ "LightGrey", grgb(211, 211, 211) },
|
{ "LightGrey", grgb(211, 211, 211) },
|
||||||
{ "DarkGray", grgb(169, 169, 169) },
|
{ "DarkGray", grgb(169, 169, 169) },
|
||||||
{ "DarkGrey", grgb(169, 169, 169) },
|
{ "DarkGrey", grgb(169, 169, 169) },
|
||||||
|
{ "Grey90", grgb(229, 229, 229) },
|
||||||
|
{ "Gray90", grgb(229, 229, 229) },
|
||||||
|
|
||||||
{ "Black", grgb(0, 0, 0) },
|
{ "Black", grgb(0, 0, 0) },
|
||||||
{ "White", grgb(255, 255, 255) },
|
{ "White", grgb(255, 255, 255) },
|
||||||
|
@ -1070,6 +1070,12 @@ gui_mch_open(void)
|
|||||||
if (!IsWindowVisible(s_hwnd))
|
if (!IsWindowVisible(s_hwnd))
|
||||||
ShowWindow(s_hwnd, SW_SHOWDEFAULT);
|
ShowWindow(s_hwnd, SW_SHOWDEFAULT);
|
||||||
|
|
||||||
|
#ifdef MSWIN_FIND_REPLACE
|
||||||
|
/* Init replace string here, so that we keep it when re-opening the
|
||||||
|
* dialog. */
|
||||||
|
s_findrep_struct.lpstrReplaceWith[0] = NUL;
|
||||||
|
#endif
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1339,6 +1345,8 @@ gui_mch_get_color(char_u *name)
|
|||||||
{"Grey", RGB(0xC0, 0xC0, 0xC0)},
|
{"Grey", RGB(0xC0, 0xC0, 0xC0)},
|
||||||
{"LightGray", RGB(0xE0, 0xE0, 0xE0)},
|
{"LightGray", RGB(0xE0, 0xE0, 0xE0)},
|
||||||
{"LightGrey", RGB(0xE0, 0xE0, 0xE0)},
|
{"LightGrey", RGB(0xE0, 0xE0, 0xE0)},
|
||||||
|
{"Gray90", RGB(0xE5, 0xE5, 0xE5)},
|
||||||
|
{"Grey90", RGB(0xE5, 0xE5, 0xE5)},
|
||||||
{"White", RGB(0xFF, 0xFF, 0xFF)},
|
{"White", RGB(0xFF, 0xFF, 0xFF)},
|
||||||
{"DarkRed", RGB(0x80, 0x00, 0x00)},
|
{"DarkRed", RGB(0x80, 0x00, 0x00)},
|
||||||
{"Red", RGB(0xFF, 0x00, 0x00)},
|
{"Red", RGB(0xFF, 0x00, 0x00)},
|
||||||
@ -2370,11 +2378,8 @@ initialise_findrep(char_u *initial_string)
|
|||||||
if (wword)
|
if (wword)
|
||||||
s_findrep_struct.Flags |= FR_WHOLEWORD;
|
s_findrep_struct.Flags |= FR_WHOLEWORD;
|
||||||
if (entry_text != NULL && *entry_text != NUL)
|
if (entry_text != NULL && *entry_text != NUL)
|
||||||
{
|
|
||||||
vim_strncpy(s_findrep_struct.lpstrFindWhat, entry_text,
|
vim_strncpy(s_findrep_struct.lpstrFindWhat, entry_text,
|
||||||
s_findrep_struct.wFindWhatLen - 1);
|
s_findrep_struct.wFindWhatLen - 1);
|
||||||
s_findrep_struct.lpstrReplaceWith[0] = NUL;
|
|
||||||
}
|
|
||||||
vim_free(entry_text);
|
vim_free(entry_text);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -2296,6 +2296,8 @@ gui_mch_get_color(reqname)
|
|||||||
{"DarkMagenta", "#BB00BB"},
|
{"DarkMagenta", "#BB00BB"},
|
||||||
{"DarkGrey", "#BBBBBB"},
|
{"DarkGrey", "#BBBBBB"},
|
||||||
{"DarkYellow", "#BBBB00"},
|
{"DarkYellow", "#BBBB00"},
|
||||||
|
{"Gray90", "#E5E5E5"},
|
||||||
|
{"Grey90", "#E5E5E5"},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -431,9 +431,10 @@ struct vimoption
|
|||||||
#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
|
#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
|
||||||
|
|
||||||
/* 'isprint' for latin1 is also used for MS-Windows, where 0x80 is used for
|
/* 'isprint' for latin1 is also used for MS-Windows, where 0x80 is used for
|
||||||
* the currency sign. Thus this isn't really latin1... */
|
* the currency sign. This isn't really latin1 but Windows-1252, but we can't
|
||||||
|
* detect that. */
|
||||||
#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||||
# define ISP_LATIN1 (char_u *)"@,128,161-255"
|
# define ISP_LATIN1 (char_u *)"@,~-255"
|
||||||
#else
|
#else
|
||||||
# define ISP_LATIN1 (char_u *)"@,161-255"
|
# define ISP_LATIN1 (char_u *)"@,161-255"
|
||||||
#endif
|
#endif
|
||||||
|
@ -3106,8 +3106,9 @@ win_line(wp, lnum, startrow, endrow, nochange)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
/* Cursor line highlighting for 'cursorline'. */
|
/* Cursor line highlighting for 'cursorline'. Not when Visual mode is
|
||||||
if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
|
* active, because it's not clear what is selected then. */
|
||||||
|
if (wp->w_p_cul && lnum == wp->w_cursor.lnum && !VIsual_active)
|
||||||
{
|
{
|
||||||
line_attr = hl_attr(HLF_CUL);
|
line_attr = hl_attr(HLF_CUL);
|
||||||
area_highlighting = TRUE;
|
area_highlighting = TRUE;
|
||||||
|
@ -6186,9 +6186,9 @@ static char *(highlight_init_light[]) =
|
|||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
CENT("CursorColumn term=reverse ctermbg=LightGrey",
|
CENT("CursorColumn term=reverse ctermbg=LightGrey",
|
||||||
"CursorColumn term=reverse ctermbg=LightGrey guibg=LightGrey"),
|
"CursorColumn term=reverse ctermbg=LightGrey guibg=Grey90"),
|
||||||
CENT("CursorLine term=underline cterm=underline",
|
CENT("CursorLine term=underline cterm=underline",
|
||||||
"CursorLine term=underline cterm=underline guibg=LightGrey"),
|
"CursorLine term=underline cterm=underline guibg=Grey90"),
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
"Normal gui=NONE",
|
"Normal gui=NONE",
|
||||||
@ -6262,9 +6262,9 @@ static char *(highlight_init_dark[]) =
|
|||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_SYN_HL
|
#ifdef FEAT_SYN_HL
|
||||||
CENT("CursorColumn term=reverse ctermbg=DarkGrey",
|
CENT("CursorColumn term=reverse ctermbg=DarkGrey",
|
||||||
"CursorColumn term=reverse ctermbg=DarkGrey guibg=DarkGrey"),
|
"CursorColumn term=reverse ctermbg=DarkGrey guibg=Grey90"),
|
||||||
CENT("CursorLine term=underline cterm=underline",
|
CENT("CursorLine term=underline cterm=underline",
|
||||||
"CursorLine term=underline cterm=underline guibg=DarkGrey"),
|
"CursorLine term=underline cterm=underline guibg=Grey90"),
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
"Normal gui=NONE",
|
"Normal gui=NONE",
|
||||||
|
@ -35,6 +35,6 @@
|
|||||||
*/
|
*/
|
||||||
#define VIM_VERSION_NODOT "vim70c"
|
#define VIM_VERSION_NODOT "vim70c"
|
||||||
#define VIM_VERSION_SHORT "7.0c"
|
#define VIM_VERSION_SHORT "7.0c"
|
||||||
#define VIM_VERSION_MEDIUM "7.0c02 BETA"
|
#define VIM_VERSION_MEDIUM "7.0c03 BETA"
|
||||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0c02 BETA (2006 Mar 28)"
|
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0c03 BETA (2006 Mar 29)"
|
||||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0c02 BETA (2006 Mar 28, compiled "
|
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0c03 BETA (2006 Mar 29, compiled "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user