Updated runtime files.

This commit is contained in:
Bram Moolenaar
2010-11-16 20:34:40 +01:00
parent 644d37b84d
commit 166af9bb6f
25 changed files with 692 additions and 210 deletions

View File

@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2010 Oct 07
"
" Additional contributors:
"
@ -13,10 +13,284 @@
let s:cpo_sav = &cpo
set cpo-=C
func! tohtml#Convert2HTML(line1, line2)
" Automatically find charsets from all encodings supported natively by Vim. With
" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than
" this. Let the user specify these however since they won't be supported on
" every system. TODO: how? g:html_charsets and g:html_encodings?
"
" Note, not all of Vim's supported encodings have a charset to use.
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#encoding_to_charset: {{{
let g:tohtml#encoding_to_charset = {
\ 'latin1' : 'ISO-8859-1',
\ 'iso-8859-2' : 'ISO-8859-2',
\ 'iso-8859-3' : 'ISO-8859-3',
\ 'iso-8859-4' : 'ISO-8859-4',
\ 'iso-8859-5' : 'ISO-8859-5',
\ 'iso-8859-6' : 'ISO-8859-6',
\ 'iso-8859-7' : 'ISO-8859-7',
\ 'iso-8859-8' : 'ISO-8859-8',
\ 'iso-8859-9' : 'ISO-8859-9',
\ 'iso-8859-10' : '',
\ 'iso-8859-13' : 'ISO-8859-13',
\ 'iso-8859-14' : '',
\ 'iso-8859-15' : 'ISO-8859-15',
\ 'koi8-r' : 'KOI8-R',
\ 'koi8-u' : 'KOI8-U',
\ 'macroman' : 'macintosh',
\ 'cp437' : '',
\ 'cp775' : '',
\ 'cp850' : '',
\ 'cp852' : '',
\ 'cp855' : '',
\ 'cp857' : '',
\ 'cp860' : '',
\ 'cp861' : '',
\ 'cp862' : '',
\ 'cp863' : '',
\ 'cp865' : '',
\ 'cp866' : 'IBM866',
\ 'cp869' : '',
\ 'cp874' : '',
\ 'cp1250' : 'windows-1250',
\ 'cp1251' : 'windows-1251',
\ 'cp1253' : 'windows-1253',
\ 'cp1254' : 'windows-1254',
\ 'cp1255' : 'windows-1255',
\ 'cp1256' : 'windows-1256',
\ 'cp1257' : 'windows-1257',
\ 'cp1258' : 'windows-1258',
\ 'euc-jp' : 'EUC-JP',
\ 'sjis' : 'Shift_JIS',
\ 'cp932' : 'Shift_JIS',
\ 'cp949' : '',
\ 'euc-kr' : 'EUC-KR',
\ 'cp936' : 'GBK',
\ 'euc-cn' : 'GB2312',
\ 'big5' : 'Big5',
\ 'cp950' : 'Big5',
\ 'utf-8' : 'UTF-8',
\ 'ucs-2' : 'UTF-8',
\ 'ucs-2le' : 'UTF-8',
\ 'utf-16' : 'UTF-8',
\ 'utf-16le' : 'UTF-8',
\ 'ucs-4' : 'UTF-8',
\ 'ucs-4le' : 'UTF-8',
\ }
lockvar g:tohtml#encoding_to_charset
" Notes:
" 1. All UCS/UTF are converted to UTF-8 because it is much better supported
" 2. Any blank spaces are there because Vim supports it but at least one major
" web browser does not according to http://wiki.whatwg.org/wiki/Web_Encodings.
" }}}
" Only automatically find encodings supported natively by Vim, let the user
" specify the encoding if it's not natively supported. This function is only
" used when the user specifies the charset, they better know what they are
" doing!
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#charset_to_encoding: {{{
let g:tohtml#charset_to_encoding = {
\ 'iso_8859-1:1987' : 'latin1',
\ 'iso-ir-100' : 'latin1',
\ 'iso_8859-1' : 'latin1',
\ 'iso-8859-1' : 'latin1',
\ 'latin1' : 'latin1',
\ 'l1' : 'latin1',
\ 'ibm819' : 'latin1',
\ 'cp819' : 'latin1',
\ 'csisolatin1' : 'latin1',
\ 'iso_8859-2:1987' : 'iso-8859-2',
\ 'iso-ir-101' : 'iso-8859-2',
\ 'iso_8859-2' : 'iso-8859-2',
\ 'iso-8859-2' : 'iso-8859-2',
\ 'latin2' : 'iso-8859-2',
\ 'l2' : 'iso-8859-2',
\ 'csisolatin2' : 'iso-8859-2',
\ 'iso_8859-3:1988' : 'iso-8859-3',
\ 'iso-ir-109' : 'iso-8859-3',
\ 'iso_8859-3' : 'iso-8859-3',
\ 'iso-8859-3' : 'iso-8859-3',
\ 'latin3' : 'iso-8859-3',
\ 'l3' : 'iso-8859-3',
\ 'csisolatin3' : 'iso-8859-3',
\ 'iso_8859-4:1988' : 'iso-8859-4',
\ 'iso-ir-110' : 'iso-8859-4',
\ 'iso_8859-4' : 'iso-8859-4',
\ 'iso-8859-4' : 'iso-8859-4',
\ 'latin4' : 'iso-8859-4',
\ 'l4' : 'iso-8859-4',
\ 'csisolatin4' : 'iso-8859-4',
\ 'iso_8859-5:1988' : 'iso-8859-5',
\ 'iso-ir-144' : 'iso-8859-5',
\ 'iso_8859-5' : 'iso-8859-5',
\ 'iso-8859-5' : 'iso-8859-5',
\ 'cyrillic' : 'iso-8859-5',
\ 'csisolatincyrillic' : 'iso-8859-5',
\ 'iso_8859-6:1987' : 'iso-8859-6',
\ 'iso-ir-127' : 'iso-8859-6',
\ 'iso_8859-6' : 'iso-8859-6',
\ 'iso-8859-6' : 'iso-8859-6',
\ 'ecma-114' : 'iso-8859-6',
\ 'asmo-708' : 'iso-8859-6',
\ 'arabic' : 'iso-8859-6',
\ 'csisolatinarabic' : 'iso-8859-6',
\ 'iso_8859-7:1987' : 'iso-8859-7',
\ 'iso-ir-126' : 'iso-8859-7',
\ 'iso_8859-7' : 'iso-8859-7',
\ 'iso-8859-7' : 'iso-8859-7',
\ 'elot_928' : 'iso-8859-7',
\ 'ecma-118' : 'iso-8859-7',
\ 'greek' : 'iso-8859-7',
\ 'greek8' : 'iso-8859-7',
\ 'csisolatingreek' : 'iso-8859-7',
\ 'iso_8859-8:1988' : 'iso-8859-8',
\ 'iso-ir-138' : 'iso-8859-8',
\ 'iso_8859-8' : 'iso-8859-8',
\ 'iso-8859-8' : 'iso-8859-8',
\ 'hebrew' : 'iso-8859-8',
\ 'csisolatinhebrew' : 'iso-8859-8',
\ 'iso_8859-9:1989' : 'iso-8859-9',
\ 'iso-ir-148' : 'iso-8859-9',
\ 'iso_8859-9' : 'iso-8859-9',
\ 'iso-8859-9' : 'iso-8859-9',
\ 'latin5' : 'iso-8859-9',
\ 'l5' : 'iso-8859-9',
\ 'csisolatin5' : 'iso-8859-9',
\ 'iso-8859-10' : 'iso-8859-10',
\ 'iso-ir-157' : 'iso-8859-10',
\ 'l6' : 'iso-8859-10',
\ 'iso_8859-10:1992' : 'iso-8859-10',
\ 'csisolatin6' : 'iso-8859-10',
\ 'latin6' : 'iso-8859-10',
\ 'iso-8859-13' : 'iso-8859-13',
\ 'iso-8859-14' : 'iso-8859-14',
\ 'iso-ir-199' : 'iso-8859-14',
\ 'iso_8859-14:1998' : 'iso-8859-14',
\ 'iso_8859-14' : 'iso-8859-14',
\ 'latin8' : 'iso-8859-14',
\ 'iso-celtic' : 'iso-8859-14',
\ 'l8' : 'iso-8859-14',
\ 'iso-8859-15' : 'iso-8859-15',
\ 'iso_8859-15' : 'iso-8859-15',
\ 'latin-9' : 'iso-8859-15',
\ 'koi8-r' : 'koi8-r',
\ 'cskoi8r' : 'koi8-r',
\ 'koi8-u' : 'koi8-u',
\ 'macintosh' : 'macroman',
\ 'mac' : 'macroman',
\ 'csmacintosh' : 'macroman',
\ 'ibm437' : 'cp437',
\ 'cp437' : 'cp437',
\ '437' : 'cp437',
\ 'cspc8codepage437' : 'cp437',
\ 'ibm775' : 'cp775',
\ 'cp775' : 'cp775',
\ 'cspc775baltic' : 'cp775',
\ 'ibm850' : 'cp850',
\ 'cp850' : 'cp850',
\ '850' : 'cp850',
\ 'cspc850multilingual' : 'cp850',
\ 'ibm852' : 'cp852',
\ 'cp852' : 'cp852',
\ '852' : 'cp852',
\ 'cspcp852' : 'cp852',
\ 'ibm855' : 'cp855',
\ 'cp855' : 'cp855',
\ '855' : 'cp855',
\ 'csibm855' : 'cp855',
\ 'ibm857' : 'cp857',
\ 'cp857' : 'cp857',
\ '857' : 'cp857',
\ 'csibm857' : 'cp857',
\ 'ibm860' : 'cp860',
\ 'cp860' : 'cp860',
\ '860' : 'cp860',
\ 'csibm860' : 'cp860',
\ 'ibm861' : 'cp861',
\ 'cp861' : 'cp861',
\ '861' : 'cp861',
\ 'cp-is' : 'cp861',
\ 'csibm861' : 'cp861',
\ 'ibm862' : 'cp862',
\ 'cp862' : 'cp862',
\ '862' : 'cp862',
\ 'cspc862latinhebrew' : 'cp862',
\ 'ibm863' : 'cp863',
\ 'cp863' : 'cp863',
\ '863' : 'cp863',
\ 'csibm863' : 'cp863',
\ 'ibm865' : 'cp865',
\ 'cp865' : 'cp865',
\ '865' : 'cp865',
\ 'csibm865' : 'cp865',
\ 'ibm866' : 'cp866',
\ 'cp866' : 'cp866',
\ '866' : 'cp866',
\ 'csibm866' : 'cp866',
\ 'ibm869' : 'cp869',
\ 'cp869' : 'cp869',
\ '869' : 'cp869',
\ 'cp-gr' : 'cp869',
\ 'csibm869' : 'cp869',
\ 'windows-1250' : 'cp1250',
\ 'windows-1251' : 'cp1251',
\ 'windows-1253' : 'cp1253',
\ 'windows-1254' : 'cp1254',
\ 'windows-1255' : 'cp1255',
\ 'windows-1256' : 'cp1256',
\ 'windows-1257' : 'cp1257',
\ 'windows-1258' : 'cp1258',
\ 'extended_unix_code_packed_format_for_japanese' : 'euc-jp',
\ 'cseucpkdfmtjapanese' : 'euc-jp',
\ 'euc-jp' : 'euc-jp',
\ 'shift_jis' : 'sjis',
\ 'ms_kanji' : 'sjis',
\ 'sjis' : 'sjis',
\ 'csshiftjis' : 'sjis',
\ 'ibm-thai' : 'cp874',
\ 'csibmthai' : 'cp874',
\ 'ks_c_5601-1987' : 'cp949',
\ 'iso-ir-149' : 'cp949',
\ 'ks_c_5601-1989' : 'cp949',
\ 'ksc_5601' : 'cp949',
\ 'korean' : 'cp949',
\ 'csksc56011987' : 'cp949',
\ 'euc-kr' : 'euc-kr',
\ 'cseuckr' : 'euc-kr',
\ 'gbk' : 'cp936',
\ 'cp936' : 'cp936',
\ 'ms936' : 'cp936',
\ 'windows-936' : 'cp936',
\ 'gb_2312-80' : 'euc-cn',
\ 'iso-ir-58' : 'euc-cn',
\ 'chinese' : 'euc-cn',
\ 'csiso58gb231280' : 'euc-cn',
\ 'big5' : 'big5',
\ 'csbig5' : 'big5',
\ 'utf-8' : 'utf-8',
\ 'iso-10646-ucs-2' : 'ucs-2',
\ 'csunicode' : 'ucs-2',
\ 'utf-16' : 'utf-16',
\ 'utf-16be' : 'utf-16',
\ 'utf-16le' : 'utf-16le',
\ 'utf-32' : 'ucs-4',
\ 'utf-32be' : 'ucs-4',
\ 'utf-32le' : 'ucs-4le',
\ 'iso-10646-ucs-4' : 'ucs-4',
\ 'csucs4' : 'ucs-4'
\ }
lockvar g:tohtml#charset_to_encoding
"}}}
func! tohtml#Convert2HTML(line1, line2) "{{{
let s:settings = tohtml#GetUserSettings()
if !&diff || s:settings.diff_one_file
if !&diff || s:settings.diff_one_file "{{{
if a:line2 >= a:line1
let g:html_start_line = a:line1
let g:html_end_line = a:line2
@ -24,31 +298,50 @@ func! tohtml#Convert2HTML(line1, line2)
let g:html_start_line = a:line2
let g:html_end_line = a:line1
endif
runtime syntax/2html.vim
else
runtime syntax/2html.vim "}}}
else "{{{
let win_list = []
let buf_list = []
windo | if &diff | call add(win_list, winbufnr(0)) | endif
let s:settings.whole_filler = 1
let g:html_diff_win_num = 0
for window in win_list
" switch to the next buffer to convert
exe ":" . bufwinnr(window) . "wincmd w"
" figure out whether current charset and encoding will work, if not
" default to UTF-8
if !exists('g:html_use_encoding') &&
\ (&l:fileencoding!='' && &l:fileencoding!=s:settings.vim_encoding ||
\ &l:fileencoding=='' && &encoding!=s:settings.vim_encoding)
echohl WarningMsg
echomsg "TOhtml: mismatched file encodings in Diff buffers, using UTF-8"
echohl None
let s:settings.vim_encoding = 'utf-8'
let s:settings.encoding = 'UTF-8'
endif
" set up for diff-mode conversion
let g:html_start_line = 1
let g:html_end_line = line('$')
let g:html_diff_win_num += 1
" convert this file
runtime syntax/2html.vim
" remember the HTML buffer for later combination
call add(buf_list, bufnr('%'))
endfor
unlet g:html_diff_win_num
call tohtml#Diff2HTML(win_list, buf_list)
endif
endif "}}}
unlet g:html_start_line
unlet g:html_end_line
unlet s:settings
endfunc
endfunc "}}}
func! tohtml#Diff2HTML(win_list, buf_list)
func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let xml_line = ""
let tag_close = '>'
@ -87,7 +380,7 @@ func! tohtml#Diff2HTML(win_list, buf_list)
call add(html, '<head>')
" include encoding as close to the top as possible, but only if not already
" contained in XML information (to avoid haggling over content type)
" contained in XML information
if s:settings.encoding != "" && !s:settings.use_xhtml
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
endif
@ -133,7 +426,8 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let s:body_end_line = getline('.')
endif
" Grab the style information. Some of this will be duplicated...
" Grab the style information. Some of this will be duplicated so only insert
" it if it's not already there. {{{
1
let style_start = search('^<style type="text/css">')
1
@ -151,8 +445,10 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let insert_index += 1
endif
endfor
endif
endif " }}}
" everything new will get added before the diff styles so diff highlight
" properly overrides normal highlight
if diff_style_start != 0
let insert_index = diff_style_start
endif
@ -203,6 +499,20 @@ func! tohtml#Diff2HTML(win_list, buf_list)
" just in case some user autocmd creates content in the new buffer, make sure
" it is empty before proceeding
%d
" set the fileencoding to match the charset we'll be using
let &l:fileencoding=s:settings.vim_encoding
" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
" order mark is highly recommend on the web when using multibyte encodings. But,
" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
" determine when it is actually inserted.
if s:settings.vim_encoding == 'utf-8'
setlocal nobomb
else
setlocal bomb
endif
call append(0, html)
if len(style) > 0
@ -210,7 +520,7 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let style_start = search('^</head>')-1
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active.
" if dynamic folding is active. {{{
if s:settings.dynamic_folds
call append(style_start, [
\ "<script type='text/javascript'>",
@ -234,13 +544,13 @@ func! tohtml#Diff2HTML(win_list, buf_list)
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif
endif "}}}
" Insert styles from all the generated html documents and additional styles
" for the table-based layout of the side-by-side diff. The diff should take
" up the full browser window (but not more), and be static in size,
" horizontally scrollable when the lines are too long. Otherwise, the diff
" is pretty useless for really long lines.
" is pretty useless for really long lines. {{{
if s:settings.use_css
call append(style_start,
\ ['<style type="text/css">']+
@ -252,28 +562,28 @@ func! tohtml#Diff2HTML(win_list, buf_list)
\ 'td div { overflow: auto; }',
\ s:settings.use_xhtml ? '' : '-->',
\ '</style>'
\ ])
endif
\])
endif "}}}
endif
let &paste = s:old_paste
let &magic = s:old_magic
endfunc
endfunc "}}}
" Gets a single user option and sets it in the passed-in Dict, or gives it the
" default value if the option doesn't actually exist.
func! tohtml#GetOption(settings, option, default)
func! tohtml#GetOption(settings, option, default) "{{{
if exists('g:html_'.a:option)
let a:settings[a:option] = g:html_{a:option}
else
let a:settings[a:option] = a:default
endif
endfunc
endfunc "}}}
" returns a Dict containing the values of all user options for 2html, including
" default values for those not given an explicit value by the user. Discards the
" html_ prefix of the option for nicer looking code.
func! tohtml#GetUserSettings()
func! tohtml#GetUserSettings() "{{{
if exists('s:settings')
" just restore the known options if we've already retrieved them
return s:settings
@ -289,7 +599,7 @@ func! tohtml#GetUserSettings()
let g:html_use_xhtml = g:use_xhtml
endif
" get current option settings with appropriate defaults
" get current option settings with appropriate defaults {{{
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
@ -302,8 +612,9 @@ func! tohtml#GetUserSettings()
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
" }}}
" override those settings that need it
" override those settings that need it {{{
" hover opening implies dynamic folding
if user_settings.hover_unfold
@ -330,49 +641,91 @@ func! tohtml#GetUserSettings()
" aren't allowed inside a <pre> block
if !user_settings.use_css
let user_settings.no_pre = 1
endif
endif "}}}
" Figure out proper MIME charset from the 'encoding' option.
if exists("g:html_use_encoding")
if exists("g:html_use_encoding") "{{{
" user specified the desired MIME charset, figure out proper
" 'fileencoding' from it or warn the user if we cannot
let user_settings.encoding = g:html_use_encoding
let user_settings.vim_encoding = tohtml#EncodingFromCharset(g:html_use_encoding)
if user_settings.vim_encoding == ''
echohl WarningMsg
echomsg "TOhtml: file encoding for"
\ g:html_use_encoding
\ "unknown, please set 'fileencoding'"
echohl None
endif
else
let vim_encoding = &encoding
if vim_encoding =~ '^8bit\|^2byte'
let vim_encoding = substitute(vim_encoding, '^8bit-\|^2byte-', '', '')
" Figure out proper MIME charset from 'fileencoding' if possible
if &l:fileencoding != ''
let user_settings.vim_encoding = &l:fileencoding
call tohtml#CharsetFromEncoding(user_settings)
endif
if vim_encoding == 'latin1'
let user_settings.encoding = 'iso-8859-1'
elseif vim_encoding =~ "^cp12"
let user_settings.encoding = substitute(vim_encoding, 'cp', 'windows-', '')
elseif vim_encoding == 'sjis' || vim_encoding == 'cp932'
let user_settings.encoding = 'Shift_JIS'
elseif vim_encoding == 'big5' || vim_encoding == 'cp950'
let user_settings.encoding = "Big5"
elseif vim_encoding == 'euc-cn'
let user_settings.encoding = 'GB_2312-80'
elseif vim_encoding == 'euc-tw'
let user_settings.encoding = ""
elseif vim_encoding =~ '^euc\|^iso\|^koi'
let user_settings.encoding = substitute(vim_encoding, '.*', '\U\0', '')
elseif vim_encoding == 'cp949'
let user_settings.encoding = 'KS_C_5601-1987'
elseif vim_encoding == 'cp936'
let user_settings.encoding = 'GBK'
elseif vim_encoding =~ '^ucs\|^utf'
" else from 'encoding' if possible
if &l:fileencoding == '' || user_settings.encoding == ''
let user_settings.vim_encoding = &encoding
call tohtml#CharsetFromEncoding(user_settings)
endif
" else default to UTF-8 and warn user
if user_settings.encoding == ''
let user_settings.vim_encoding = 'utf-8'
let user_settings.encoding = 'UTF-8'
else
let user_settings.encoding = ""
echohl WarningMsg
echomsg "TOhtml: couldn't determine MIME charset, using UTF-8"
echohl None
endif
endif
endif "}}}
" TODO: font
return user_settings
endif
endfunc
endfunc "}}}
" get the proper HTML charset name from a Vim encoding option.
function! tohtml#CharsetFromEncoding(settings) "{{{
let l:vim_encoding = a:settings.vim_encoding
if exists('g:html_charset_override') && has_key(g:html_charset_override, l:vim_encoding)
let a:settings.encoding = g:html_charset_override[l:vim_encoding]
else
if l:vim_encoding =~ '^8bit\|^2byte'
" 8bit- and 2byte- prefixes are to indicate encodings available on the
" system that Vim will convert with iconv(), look up just the encoding name,
" not Vim's prefix.
let l:vim_encoding = substitute(l:vim_encoding, '^8bit-\|^2byte-', '', '')
endif
if has_key(g:tohtml#encoding_to_charset, l:vim_encoding)
let a:settings.encoding = g:tohtml#encoding_to_charset[l:vim_encoding]
else
let a:settings.encoding = ""
endif
endif
if a:settings.encoding != ""
let l:vim_encoding = tohtml#EncodingFromCharset(a:settings.encoding)
if l:vim_encoding != ""
" if the Vim encoding to HTML encoding conversion is set up (by default or
" by the user) to convert to a different encoding, we need to also change
" the Vim encoding of the new buffer
let a:settings.vim_encoding = l:vim_encoding
endif
endif
endfun "}}}
" Get the proper Vim encoding option setting from an HTML charset name.
function! tohtml#EncodingFromCharset(encoding) "{{{
if exists('g:html_encoding_override') && has_key(g:html_encoding_override, a:encoding)
return g:html_encoding_override[a:encoding]
elseif has_key(g:tohtml#charset_to_encoding, tolower(a:encoding))
return g:tohtml#charset_to_encoding[tolower(a:encoding)]
else
return ""
endif
endfun "}}}
let &cpo = s:cpo_sav
unlet s:cpo_sav
" Make sure any patches will probably use consistent indent
" vim: ts=8 sw=2 sts=2 noet
" vim: ts=8 sw=2 sts=2 noet fdm=marker

View File

@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.3. Last change: 2005 Mar 29
*arabic.txt* For Vim version 7.3. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
@ -146,7 +146,7 @@ o Enable Arabic settings [short-cut]
:set arabic
<
The two above noted possible invocations are the preferred manner
in which users are instructed to proceed. Baring an enabled 'termbidi'
in which users are instructed to proceed. Barring an enabled 'termbidi'
setting, both command options:
1. set the appropriate keymap

View File

@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2010 Sep 30
*diff.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -373,8 +373,8 @@ get an error message. Possible causes:
If it's not clear what the problem is set the 'verbose' option to one or more
to see more messages.
The self-installing Vim includes a diff program. If you don't have it you
might want to download a diff.exe. For example from
The self-installing Vim for MS-Windows includes a diff program. If you don't
have it you might want to download a diff.exe. For example from
http://jlb.twu.net/code/unixkit.php.

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2010 Oct 27
*eval.txt* For Vim version 7.3. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -4017,7 +4017,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
characters will be used:
" " Normal, Visual and Operator-pending
"!" Insert and Commandline mode
(|mapmpde-ic|)
(|mapmode-ic|)
"sid" The script local ID, used for <sid> mappings
(|<SID>|).

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.3. Last change: 2010 May 14
*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -156,26 +156,26 @@ configure which ones appear with the 'guioptions' option.
The interface looks like this (with ":set guioptions=mlrb"):
+------------------------------+
| File Edit Help | <- Menu bar (m)
+-+--------------------------+-+
|^| |^|
|#| Text area. |#|
| | | |
|v|__________________________|v|
Normal status line -> |-+ File.c 5,2 +-|
between Vim windows |^|""""""""""""""""""""""""""|^|
| | | |
| | Another file buffer. | |
| | | |
|#| |#|
Left scrollbar (l) -> |#| |#| <- Right
|#| |#| scrollbar (r)
| | | |
|v| |v|
+-+--------------------------+-+
| |< #### >| | <- Bottom
+-+--------------------------+-+ scrollbar (b)
+------------------------------+ `
| File Edit Help | <- Menu bar (m) `
+-+--------------------------+-+ `
|^| |^| `
|#| Text area. |#| `
| | | | `
|v|__________________________|v| `
Normal status line -> |-+ File.c 5,2 +-| `
between Vim windows |^|""""""""""""""""""""""""""|^| `
| | | | `
| | Another file buffer. | | `
| | | | `
|#| |#| `
Left scrollbar (l) -> |#| |#| <- Right `
|#| |#| scrollbar (r) `
| | | | `
|v| |v| `
+-+--------------------------+-+ `
| |< #### >| | <- Bottom `
+-+--------------------------+-+ scrollbar (b) `
Any of the scrollbar or menu components may be turned off by not putting the
appropriate letter in the 'guioptions' string. The bottom scrollbar is

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Oct 27
*insert.txt* For Vim version 7.3. Last change: 2010 Nov 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1037,6 +1037,8 @@ items:
items that only differ in case are added
dup when non-zero this match will be added even when an
item with the same word is already present.
empty when non-zero this match will be added even when it is
an empty string
All of these except 'icase' must be a string. If an item does not meet these
requirements then an error message is given and further items in the list are
@ -1064,9 +1066,9 @@ match to the total list. These matches should then not appear in the returned
list! Call |complete_check()| now and then to allow the user to press a key
while still searching for matches. Stop searching when it returns non-zero.
The function is allowed to move the cursor, it is restored afterwards. This
option cannot be set from a |modeline| or in the |sandbox|, for security
reasons.
*E839* *E840*
The function is allowed to move the cursor, it is restored afterwards.
The function is not allowed to move to another window or delete text.
An example that completes the names of the months: >
fun! CompleteMonths(findstart, base)

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2010 Sep 29
*intro.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -703,7 +703,7 @@ Lines longer than the window width will wrap, unless the 'wrap' option is off
(see below). The 'linebreak' option can be set to wrap at a blank character.
If the window has room after the last line of the buffer, Vim will show '~' in
the first column of the last lines in the window, like this: >
the first column of the last lines in the window, like this:
+-----------------------+
|some line |
@ -715,7 +715,7 @@ the first column of the last lines in the window, like this: >
Thus the '~' lines indicate that the end of the buffer was reached.
If the last line in a window doesn't fit, Vim will indicate this with a '@' in
the first column of the last lines in the window, like this: >
the first column of the last lines in the window, like this:
+-----------------------+
|first line |

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2010 Sep 29
*map.txt* For Vim version 7.3. Last change: 2010 Nov 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1093,16 +1093,20 @@ is executed, it is transformed into a normal Ex command and then executed.
For starters: See section |40.2| in the user manual.
*E183* *user-cmd-ambiguous*
*E183* *E841* *user-cmd-ambiguous*
All user defined commands must start with an uppercase letter, to avoid
confusion with builtin commands. (There are a few builtin commands, notably
:Next, :Print and :X, which do start with an uppercase letter. The builtin
will always take precedence in these cases). The other characters of the user
command can be uppercase letters, lowercase letters or digits. When using
digits, note that other commands that take a numeric argument may become
ambiguous. For example, the command ":Cc2" could be the user command ":Cc2"
without an argument, or the command ":Cc" with argument "2". It is advised to
put a space between the command name and the argument to avoid these problems.
confusion with builtin commands. Exceptions are these builtin commands:
:Next
:X
They cannot be used for a user defined command. ":Print" is also an existing
command, but it is deprecated and can be overruled.
The other characters of the user command can be uppercase letters, lowercase
letters or digits. When using digits, note that other commands that take a
numeric argument may become ambiguous. For example, the command ":Cc2" could
be the user command ":Cc2" without an argument, or the command ":Cc" with
argument "2". It is advised to put a space between the command name and the
argument to avoid these problems.
When using a user-defined command, the command can be abbreviated. However, if
an abbreviation is not unique, an error will be issued. Furthermore, a

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2010 Oct 23
*options.txt* For Vim version 7.3. Last change: 2010 Nov 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1699,7 +1699,8 @@ A jump table for the options with a short description can be found at |Q_op|.
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
invoked and what it should return.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu,preview")
@ -2843,6 +2844,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"dos" is not present or no <CR><NL> is found in the file.
Except: if "unix" was chosen, but there is a <CR> before
the first <NL>, and there appear to be more <CR>s than <NL>s in
the first few lines, "mac" is used.
4. If 'fileformat' is still not set, the first name from
'fileformats' is used.
When reading a file into an existing buffer, the same is done, but
@ -6230,8 +6232,9 @@ A jump table for the options with a short description can be found at |Q_op|.
Do smart autoindenting when starting a new line. Works for C-like
programs, but can also be used for other languages. 'cindent' does
something like this, works better in most cases, but is more strict,
see |C-indenting|. When 'cindent' is on, setting 'si' has no effect.
'indentexpr' is a more advanced alternative.
see |C-indenting|. When 'cindent' is on or 'smartindent' is set,
setting 'si' has no effect. 'indentexpr' is a more advanced
alternative.
Normally 'autoindent' should also be on when using 'smartindent'.
An indent is automatically inserted:
- After a line ending in '{'.
@ -7533,8 +7536,7 @@ A jump table for the options with a short description can be found at |Q_op|.
with an uppercase letter, and don't contain a lowercase
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
and "_K_L_M" are not. Nested List and Dict items may not be
read back correctly, you end up with a string representation
instead.
read back correctly, you end up with an empty item.
" Maximum number of lines saved for each register. Old name of
the '<' item, with the disadvantage that you need to put a
backslash before the ", otherwise it will be recognized as the

View File

@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 7.3. Last change: 2010 Aug 09
*pi_tar.txt* For Vim version 7.3. Last change: 2010 Nov 03
+====================+
| Tar File Interface |
@ -60,11 +60,11 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
<.vimrc> file.
Default
Variable Value Explanation
*g:tar_browseoptions* "Ptf" used to get a list of contents
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
*g:tar_browseoptions* "Ptf" used to get a list of contents
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
"--"s will be used to prevent unwanted
option expansion in tar commands.
Please be sure that your tar command
@ -76,7 +76,7 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
"-"
Not all tar's support the "--" which is why
it isn't default.
*g:tar_writeoptions* "uf" used to update/replace a file
*g:tar_writeoptions* "uf" used to update/replace a file
==============================================================================

View File

@ -1,4 +1,4 @@
*quotes.txt* For Vim version 7.3. Last change: 2006 Apr 24
*quotes.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -260,15 +260,16 @@ Eccettuato, Italy)
In summary:
__ ___ _ _ _ ___ _____
\ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _|
\ \ / /| | '_ ` _ \ | / __| | |_| | | | || |
\ V / | | | | | | | | \__ \ | _ | |_| || |
\_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_|
____ _____ _ _ _____ _____ _ _
/ ___|_ _| | | | ___| ___| | |
\___ \ | | | | | | |_ | |_ | | |
___) || | | |_| | _| | _| |_|_|
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia)
__ ___ _ _ _ ___ _____ `
\ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _| `
\ \ / /| | '_ ` _ \ | / __| | |_| | | | || | `
\ V / | | | | | | | | \__ \ | _ | |_| || | `
\_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_| `
____ _____ _ _ _____ _____ _ _ `
/ ___|_ _| | | | ___| ___| | | `
\___ \ | | | | | | |_ | |_ | | | `
___) || | | |_| | _| | _| |_|_| `
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) `
vim:tw=78:ts=8:ft=help:norl:

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2010 Sep 23
*syntax.txt* For Vim version 7.3. Last change: 2010 Oct 7
VIM REFERENCE MANUAL by Bram Moolenaar
@ -390,10 +390,10 @@ Or use the ":TOhtml" user command. It is defined in a standard plugin.
:10,40TOhtml
Warning: This is slow! The script must process every character of every line.
Because it is so slow, by default a progress bar is displayed in the
statusline for each step that usually takes a long time. If you don't like
seeing this progress bar, you can disable it and get a very minor speed
Warning: This can be slow! The script must process every character of every
line. Because it can take a long time, by default a progress bar is displayed
in the statusline for each major step in the conversion process. If you don't
like seeing this progress bar, you can disable it and get a very minor speed
improvement with: >
let g:html_no_progress = 1
@ -475,40 +475,69 @@ risk of making some things look a bit different, use: >
This will use <br> at the end of each line and use "&nbsp;" for repeated
spaces.
The current value of 'encoding' is used to specify the charset of the HTML
file. This only works for those values of 'encoding' that have an equivalent
HTML charset name. To overrule this set g:html_use_encoding to the name of
the charset to be used: >
:let g:html_use_encoding = "foobar"
To omit the line that specifies the charset, set g:html_use_encoding to an
empty string: >
:let g:html_use_encoding = ""
To go back to the automatic mechanism, delete the g:html_use_encoding
variable: >
:unlet g:html_use_encoding
<
For diff mode a sequence of more than 3 filler lines is displayed as three
lines with the middle line mentioning the total number of inserted lines. If
you prefer to see all the inserted lines use: >
For diff mode on a single file (with g:html_diff_one_file) a sequence of more
than 3 filler lines is displayed as three lines with the middle line
mentioning the total number of inserted lines. If you prefer to see all the
inserted lines as with the side-by-side diff, use: >
:let g:html_whole_filler = 1
And to go back to displaying up to three lines again: >
:unlet g:html_whole_filler
<
TOhtml uses the current value of 'fileencoding' if set, or 'encoding' if not,
to determine the charset and 'fileencoding' of the HTML file. In general, this
works for the encodings mentioned specifically by name in |encoding-names|, but
TOhtml will only automatically use those encodings which are widely supported.
However, you can override this to support specific encodings that may not be
automatically detected by default.
To overrule all automatic charset detection, set g:html_use_encoding to the
name of the charset to be used. TOhtml will try to determine the appropriate
'fileencoding' setting from the charset, but you may need to set it manually
if TOhtml cannot determine the encoding. It is recommended to set this
variable to something widely supported, like UTF-8, for anything you will be
hosting on a webserver: >
:let g:html_use_encoding = "UTF-8"
You can also use this option to omit the line that specifies the charset
entirely, by setting g:html_use_encoding to an empty string: >
:let g:html_use_encoding = ""
To go back to the automatic mechanism, delete the g:html_use_encoding
variable: >
:unlet g:html_use_encoding
If you specify a charset with g:html_use_encoding for which TOhtml cannot
automatically detect the corresponding 'fileencoding' setting, you can use
g:html_encoding_override to allow TOhtml to detect the correct encoding.
This is a dictionary of charset-encoding pairs that will replace existing
pairs automatically detected by TOhtml, or supplement with new pairs. For
example, to allow TOhtml to detect the HTML charset "windows-1252" properly as
the encoding "8bit-cp1252", use: >
:let g:html_encoding_override = {'windows-1252': '8bit-cp1252'}
<
The g:html_charset_override is similar, it allows TOhtml to detect the HTML
charset for any 'fileencoding' or 'encoding' which is not detected
automatically. You can also use it to override specific existing
encoding-charset pairs. For example, TOhtml will by default use UTF-8 for all
Unicode/UCS encodings. To use UTF-16 and UTF-32 instead, use: >
:let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'}
Note that documents encoded in either UTF-32 or UTF-16 have known
compatibility problems with at least one major browser.
*convert-to-XML* *convert-to-XHTML*
An alternative is to have the script generate XHTML (XML compliant HTML). To
do this set the "html_use_xhtml" variable: >
If you do not like plain HTML, an alternative is to have the script generate
XHTML (XML compliant HTML). To do this set the "html_use_xhtml" variable: >
:let g:html_use_xhtml = 1
Any of these options can be enabled or disabled by setting them explicitly to
the desired value, or restored to their default by removing the variable using
|:unlet|.
Any of the on/off options listed above can be enabled or disabled by setting
them explicitly to the desired value, or restored to their default by removing
the variable using |:unlet|.
Remarks:
- This only works in a version with GUI support. If the GUI is not actually
running (possible for X11) it still works, but not very well (the colors
may be wrong).
- Some truly ancient browsers may not show the background colors.
- From most browsers you can also print the file (in color)!
- This version of TOhtml may work with older versions of Vim, but some
features such as conceal support will not function, and the colors may be
incorrect for an old Vim without GUI support compiled in.
Here is an example how to run the script over all .c and .h files from a
Unix shell: >

View File

@ -4216,7 +4216,9 @@ E835 options.txt /*E835*
E836 if_pyth.txt /*E836*
E837 if_pyth.txt /*E837*
E838 netbeans.txt /*E838*
E839 insert.txt /*E839*
E84 windows.txt /*E84*
E840 insert.txt /*E840*
E85 options.txt /*E85*
E86 windows.txt /*E86*
E87 windows.txt /*E87*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2010 Oct 27
*todo.txt* For Vim version 7.3. Last change: 2010 Nov 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,7 +30,11 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Segfault with command line abbreviation. (Randy Morris, 2010 Oct 25)
Crash when using vimgrep with an ftp file. (Christian Brabandt, 2010 Nov 5)
Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
11) I can't reproduce it. It's probably caused by a handle_drop() call
in combination with autocommands that invoke a ":redraw" command.
Another valgrind output Jun 30.
'cursorline' is displayed too short when there are concealed characters and
'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
@ -38,6 +42,10 @@ Segfault with command line abbreviation. (Randy Morris, 2010 Oct 25)
Conceal: using Tab for cchar causes problems. Should reject it. (ZyX, 2010
Aug 25)
Problems with building after 7.3.050, -as-needed does not work for gcc 4.4.1?
(Charles Campbell, 2010 Nov 7) Or is the problem that we should use -ltinfo,
because nothing is used from ncurses?
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14)
@ -56,53 +64,42 @@ Using ":break" or something else that stops executing commands inside a
":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct
15)
Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10)
Beta testing finished now?
Three patches for undo persistence. (Christian Brabandt, 2010 Sep 4)
Patch to adjust mzscheme to support racket. (Sergey Khorev, 2010 Oct 24)
string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23)
Patch to use "--as-needed" instead of the link.sh functionality. (Kirill A.
Shutemov, 2010 Aug 25)
ml_get error for using :copen in a custom complete function. (Xavier
Deguillard, 2010 Oct 19) Other way to reproduce it by Lech Lorens, Oct 20.
Patch from Lech: Oct 20. More problems from Lech, Oct 21.
Patch to fix complete(). (Kikuchan, 2010 Oct 15)
maparg() does not show the <script> flag. How to restore the script ID?
Ruby: Patch to load Gem module. Why is this needed? (Yasuhiro Matsumoto, 2010
Oct 6)
":command Print echo 'print'" works, but ":Print" doesn't. Builtin Print
should be overruled. (Aaron Thoma)
Patch by Christian Brabandt, 2010 Sep 5.
Comparing recursive structure loops forever. (ZyX, 2010 Aug 22, info from John
Beckett Aug 23)
Patch from Christian Brabandt, 2010 Oct 2
":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24)
Patch from Benjamin Fritz, 2010 Oct 13.
Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
Not quite right.
Highlighting stops working after changing it many times. Script to reproduce
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
When 'cursorcolumn' is set locally to a window, ":new" opens a window with the
same highlighting but 'cursorcolumn' is empty. (Tyru, 2010 Nov 15)
GTK: drawing a double-width combining character over single-width characters
doesn't look right. (Dominique Pelle, 2010 Aug 8)
GTK: patch to fix hitting Enter in a dialog. (Britton Kerin, 2010 Nov 11)
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
":find" completion does not escape space in directory name. (Isz, 2010 Nov 2)
Win32: When using Chinese tear-off menu doesn't work. (Weasley, 2010 Oct 31)
Patch by Alex Jakushev, 2010 Nov 2.
Using control characters in 'statusline' doesn't work well. (ZyX, 2010 Nov 1)
Patch by Caio Ariede, 2010 Nov 3
Using ":call" inside "if 0" does not see that a function returns a Dict and
gives error for "." as string concatenation. (Yasuhiro Matsumoto, 2010 Oct 20)
Patch: Oct 20.
Patch to move check for emsg_not_now() up to avoid statusline not being
updated. (James Vega, 2010 Nov 4)
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17)
When putting text in the cut buffer (when exiting) and conversion doesn't work
@ -121,8 +118,9 @@ the system encoding (usually utf-8).
Problem producing tags file when hebrew.frx is present. It has a BOM.
Results in E670. (Tony Mechelynck, 2010 May 2)
Patch for dynamic loading Ruby on Unix. (Jon, 2010 Aug 23)
Included, but also need a change to configure.
Patch to support sorting on floating point number.
Ruby: ":ruby print $buffer.number" returns zero.
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
@ -138,6 +136,9 @@ and that it's documented.
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
2010 Oct 24)
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
Messages in message.txt are highlighted as examples.
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
@ -166,17 +167,33 @@ Echo starts in the wrong column:
while 1 | let s = input('A') | echo 'R' | endw
(Boyko Bantchev, 2010 Aug 9)
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30)
Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
CreateFile and CreateFileW are used without sharing, filewritable() fails when
the file was already open (e.g. script is being sourced). Add FILE_SHARE_READ|
FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29)
Looks like only bash can do it. (Yakov Lerner)
@ -217,6 +234,9 @@ like it has ":keepjumps" before it.
Coverity: ask someone to create new user: Dominique.
Check if there are new reported defects: http://scan.coverity.com/rung2.html
Patch to support :undo absolute jump to file save number. (Christian Brabandt,
2010 Nov 5)
When setting 'undofile' while the file is already loaded, but unchanged, try
to read the undo file. Requires computing a checksum of the text. (Andy
Wokula)
@ -266,6 +286,9 @@ Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
For running gvim on an USB stick: avoid the OLE registration. Use a command
line argument -noregister.
When using an expression in 'statusline' leading white space sometimes goes
missing (but not always). (ZyX, 2010 Nov 1)
When a mapping exists both for insert mode and lang-insert mode, the last one
doesn't work. (Tyru, 2010 May 6) Or is this intended?
@ -437,6 +460,11 @@ correct. Don't use it in the swap file.
Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
(Henrik Ohman, 2009, Jan 29)
shellescape() depends on 'shellshash' for quoting. That doesn't work when
'shellslash' is set but using cmd.exe. (Ben Fritz)
Use a different option or let it depend on whether 'shell' looks like a
unix-like shell?
Allow patches to add something to version.c, like with an official patch, so
that :version output shows which patches have been applied.
@ -486,11 +514,6 @@ Having "Syntax" in 'eventignore' for :bufdo may cause problems, e.g. for
option only for when jumping to another buffer, not when the command argument
is executed.
Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
11) I can't reproduce it. It's probably caused by a handle_drop() call
in combination with autocommands that invoke a ":redraw" command.
Another valgrind output Jun 30.
":pedit %" with a BufReadPre autocommand causes the cursor to move to the
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
@ -903,6 +926,8 @@ if_ruby.c.
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
Needs more work.
Python3 interface doesn't handle utf-8 correctly? (Nov 2010, lilydjwg)
The need_fileinfo flag is messy. Instead make the message right away and put
it in keep_msg?
@ -1564,6 +1589,8 @@ Athena and Motif:
Athena GUI:
9 The first event for any button in the menu or toolbar appears to get lost.
The second click on a menu does work.
9 When dragging the scrollbar thumb very fast, focus is only obtained in
the scrollbar itself. And the thumb is no longer updated when moving
through files.
@ -4379,6 +4406,8 @@ Debug mode:
Various improvements:
9 Python: be able to define a Python function that can be called directly
from Vim script. Requires converting the arguments and return value.
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
7 Add plugins for formatting? Should be able to make a choice depending on

View File

@ -1,4 +1,4 @@
*usr_01.txt* For Vim version 7.3. Last change: 2008 May 07
*usr_01.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM USER MANUAL - by Bram Moolenaar
@ -40,13 +40,20 @@ the commands and options used for it. Use these two commands:
Press CTRL-] to jump to a subject under the cursor.
Press CTRL-O to jump back (repeat to go further back).
Many links are in vertical bars, like this: |bars|. An option name, like
'number', a command in double quotes like ":write" and any other word can also
be used as a link. Try it out: Move the cursor to CTRL-] and press CTRL-]
on it.
Many links are in vertical bars, like this: |bars|. The bars themselves may
be hidden or invisible, see below. An option name, like 'number', a command
in double quotes like ":write" and any other word can also be used as a link.
Try it out: Move the cursor to CTRL-] and press CTRL-] on it.
Other subjects can be found with the ":help" command, see |help.txt|.
The bars and stars are usually hidden with the |conceal| feature. They also
use |hl-Ignore|, using the same color for the text as the background. You can
make them visible with: >
:set conceallevel=0
:hi link HelpBar Normal
:hi link HelpStar Normal
==============================================================================
*01.2* Vim installed

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.3. Last change: 2010 Jul 20
*usr_41.txt* For Vim version 7.3. Last change: 2010 Oct 31
VIM USER MANUAL - by Bram Moolenaar
@ -793,6 +793,7 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
synID() get syntax ID at a specific position
synIDattr() get a specific attribute of a syntax ID
synIDtrans() get translated syntax ID
synstack() get list of syntax IDs at a specific position
diff_hlID() get highlight ID for diff mode at a position
matchadd() define a pattern to highlight (a "match")
matcharg() get info about |:match| arguments

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2010 Sep 23
*various.txt* For Vim version 7.3. Last change: 2010 Nov 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -101,6 +101,7 @@ g8 Print the hex values of the bytes used in the
:[range]P[rint] [count] [flags]
Just as ":print". Was apparently added to Vi for
people that keep the shift key pressed too long...
Note: A user command can overrule this command.
See |ex-flags| for [flags].
*:l* *:list*

View File

@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.3. Last change: 2010 Oct 20
*version7.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1673,7 +1673,7 @@ The GTK font dialog uses a font size zero when the font name doesn't include a
size. Use a default size of 10.
This example in the documentation didn't work:
:e `=foo . ".c" `
:e `=foo . ".c"`
Skip over the expression in `=expr` when looking for comments, |, % and #.
When ":helpgrep" doesn't find anything there is no error message.

View File

@ -214,7 +214,7 @@ EOF
}
# main
usage() if $#ARGV < 2;
usage() if $#ARGV < 1;
print "Processing tags...\n";
readTagFile( $ARGV[ 0 ] );

View File

@ -1,23 +1,60 @@
" Vim plugin for converting a syntax highlighted file to HTML.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2010 Oct 28
"
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
" $VIMRUNTIME/syntax/2html.vim
"
" TODO:
" * Patch to leave tab characters in when noexpandtab set (Andy Spencer)
" * Make folds show up when using a range and dynamic folding
" * Remove fold column when there are no folds and using dynamic folding
" * Restore open/closed folds and cursor position after processing each file
" with option not to restore for speed increase
" * Add extra meta info (generation time, etc.)
" * Tidy up so we can use strict doctype more?
" * Tidy up so we can use strict doctype in even more situations?
" * Implementation detail: add threshold for writing the lines to the html
" buffer before we're done (5000 or so lines should do it)
" * TODO comments for code cleanup scattered throughout
"
"
" Changelog:
" 7.3_v7 (this version): see betas released on vim_dev below:
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
" 7.3_v7b2: Remove automatic detection of encodings that are not
" supported by all major browsers according to
" http://wiki.whatwg.org/wiki/Web_Encodings and convert
" to UTF-8 for all Unicode encodings. Make HTML
" encoding to Vim encoding detection be
" case-insensitive for built-in pairs.
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
" called in restricted mode (Andy Spencer). Use
" 'fencoding' instead of 'encoding' to determine by
" charset, and make sure the 'fenc' of the generated
" file matches its indicated charset. Add charsets for
" all of Vim's natively supported encodings.
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
" user settings interfering with diff mode generation,
" trailing whitespace (e.g. line number column) when
" using html_no_pre, and bugs when using
" html_hover_unfold.
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
" folds in diff mode when first line was folded.
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode.
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
" default to true when not set to anything. Use strict
" doctypes where possible. Rename use_xhtml option to
" html_use_xhtml for consistency. Use .xhtml extension
" when using this option. Add meta tag for settings.
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
" diff colors and the normal syntax colors
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
if exists('g:loaded_2html_plugin')
finish
endif
let g:loaded_2html_plugin = 'vim7.3_v6'
let g:loaded_2html_plugin = 'vim7.3_v7'
" Define the :TOhtml command when:
" - 'compatible' is not set

View File

@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2010 Sep 04
"
" Additional contributors:
"
@ -265,6 +265,19 @@ set paste
let s:old_magic = &magic
set magic
" set the fileencoding to match the charset we'll be using
let &l:fileencoding=s:settings.vim_encoding
" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
" order mark is highly recommend on the web when using multibyte encodings. But,
" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
" determine when it is actually inserted.
if s:settings.vim_encoding == 'utf-8'
setlocal nobomb
else
setlocal bomb
endif
let s:lines = []
if s:settings.use_xhtml
@ -1071,14 +1084,14 @@ let &magic = s:old_magic
let @/ = s:old_search
let &more = s:old_more
exe s:orgwin . "wincmd w"
let &l:stl = s:origwin_stl
let &l:et = s:old_et
let &l:scrollbind = s:old_bind
exe s:newwin . "wincmd w"
let &l:stl = s:newwin_stl
exec 'resize' s:old_winheight
let &l:winfixheight = s:old_winfixheight
call setwinvar(s:orgwin,'&stl', s:origwin_stl)
call setwinvar(s:newwin,'&stl', s:newwin_stl)
let &ls=s:ls
" Save a little bit of memory (worth doing?)

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2009 May 18
" Last Change: 2010 Nov 03
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@ -30,6 +30,7 @@ syn match helpVim "VIM REFERENCE.*"
syn match helpOption "'[a-z]\{2,\}'"
syn match helpOption "'t_..'"
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
syn match helpIgnore "." contained conceal
syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
syn match helpSpecial "\<N\>"

View File

@ -1,8 +1,8 @@
" Vim syntax file
" This is a GENERATED FILE. Please always refer to source file at the URI below.
" Language: XF86Config (XFree86 configuration file)
" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" Last Change: 2005 Jul 12
" Former Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" Last Change: 2010 Nov 01
" URL: http://trific.ath.cx/Ftp/vim/syntax/xf86conf.vim
" Required Vim Version: 6.0
"
@ -63,7 +63,7 @@ syn match xf86confModeLineValue "\"[^\"]\+\"\(\_s\+[0-9.]\+\)\{9}" nextgroup=xf8
" Sections and subsections
if b:xf86conf_xfree86_version >= 4
syn region xf86confSection matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\)\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confComment,xf86confOption,xf86confKeyword,xf86confSectionError
syn region xf86confSection matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\|InputClass\)\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confComment,xf86confOption,xf86confKeyword,xf86confSectionError
syn region xf86confSectionModule matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Module\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionAny,xf86confComment,xf86confOption,xf86confKeyword
syn region xf86confSectionMonitor matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Monitor\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionMode,xf86confModeLine,xf86confComment,xf86confOption,xf86confKeyword
syn region xf86confSectionModes matchgroup=xf86confSectionDelim start="^\s*Section\s\+\"Modes\"" end="^\s*EndSection\>" skip="#.*$\|\"[^\"]*\"" contains=xf86confSubsectionMode,xf86confModeLine,xf86confComment
@ -165,7 +165,7 @@ syn match xf86confSync "\(\s\+[+-][CHV]_*Sync\)\+" contained
" Synchronization
if b:xf86conf_xfree86_version >= 4
syn sync match xf86confSyncSection grouphere xf86confSection "^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\)\""
syn sync match xf86confSyncSection grouphere xf86confSection "^\s*Section\s\+\"\(Files\|Server[_ ]*Flags\|Input[_ ]*Device\|Device\|Video[_ ]*Adaptor\|Server[_ ]*Layout\|DRI\|Extensions\|Vendor\|Keyboard\|Pointer\|InputClass\)\""
syn sync match xf86confSyncSectionModule grouphere xf86confSectionModule "^\s*Section\s\+\"Module\""
syn sync match xf86confSyncSectionModes groupthere xf86confSectionModes "^\s*Section\s\+\"Modes\""
else

View File

@ -6142,7 +6142,7 @@ msgid "E485: Can't read file %s"
msgstr "E485: %s 파일을 읽을 수 없습니다"
msgid "E37: No write since last change (add ! to override)"
msgstr "E37: 마지막으로 고친 뒤 저장되지 않았습니다 (덮어쓰려면 ! 더하기)"
msgstr "E37: 마지막으로 고친 뒤 저장되지 않았습니다 (무시하려면 ! 더하기)"
msgid "E38: Null argument"
msgstr "E38: 널 인자"

View File

@ -6142,7 +6142,7 @@ msgid "E485: Can't read file %s"
msgstr "E485: %s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>"
msgid "E37: No write since last change (add ! to override)"
msgstr "E37: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ģ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʾҽ<CABE><D2BD>ϴ<EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ! <20><><EFBFBD>ϱ<EFBFBD>)"
msgstr "E37: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ģ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʾҽ<CABE><D2BD>ϴ<EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD> ! <20><><EFBFBD>ϱ<EFBFBD>)"
msgid "E38: Null argument"
msgstr "E38: <20><> <20><><EFBFBD><EFBFBD>"