diff options
-rw-r--r-- | runtime/doc/hebrew.txt | 9 | ||||
-rw-r--r-- | runtime/doc/repeat.txt | 11 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 8 | ||||
-rw-r--r-- | runtime/doc/usr_23.txt | 2 | ||||
-rw-r--r-- | runtime/ftplugin/javascript.vim | 4 | ||||
-rw-r--r-- | runtime/ftplugin/man.vim | 19 | ||||
-rw-r--r-- | runtime/macros/matchit.vim | 58 | ||||
-rw-r--r-- | runtime/plugin/rrhelper.vim | 9 | ||||
-rw-r--r-- | runtime/syntax/dosbatch.vim | 22 | ||||
-rw-r--r-- | runtime/syntax/gitconfig.vim | 38 | ||||
-rw-r--r-- | runtime/syntax/haste.vim | 150 | ||||
-rw-r--r-- | runtime/tutor/runtime/indent.vim | 31 | ||||
-rw-r--r-- | runtime/tutor/runtime/vim16x16.png | bin | 0 -> 226 bytes | |||
-rw-r--r-- | runtime/tutor/tutor.eo.utf-8 | 967 | ||||
-rw-r--r-- | src/po/pl.po | 21 | ||||
-rw-r--r-- | src/po/zh_CN.po | 2 | ||||
-rw-r--r-- | src/term.c | 27 |
17 files changed, 1286 insertions, 92 deletions
diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt index 966befef08..600f277188 100644 --- a/runtime/doc/hebrew.txt +++ b/runtime/doc/hebrew.txt @@ -1,4 +1,4 @@ -*hebrew.txt* For Vim version 7.1. Last change: 2003 May 11 +*hebrew.txt* For Vim version 7.2a. Last change: 2007 Jun 14 VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem) @@ -7,11 +7,8 @@ Hebrew Language support (options & mapping) for Vim *hebrew* The supporting 'rightleft' functionality was originally created by Avner -Lottem: - E-mail: alottem@iil.intel.com - Phone: +972-4-8307322 - -Ron Aaron <ron@ronware.org> is currently helping support these features. +Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is +currently helping support these features. {Vi does not have any of these commands} diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt index 2361ddcb19..38a485753d 100644 --- a/runtime/doc/repeat.txt +++ b/runtime/doc/repeat.txt @@ -1,4 +1,4 @@ -*repeat.txt* For Vim version 7.1. Last change: 2007 Jan 07 +*repeat.txt* For Vim version 7.2a. Last change: 2007 Aug 12 VIM REFERENCE MANUAL by Bram Moolenaar @@ -89,10 +89,11 @@ This replaces all occurrences of "pat" with "PAT". The same can be done with: :%s/pat/PAT/g Which is two characters shorter! -A special case is using ":visual" as a command. This will move to a matching -line, go to Normal mode to let you execute commands there until you use |Q| to -return to Ex mode. This will be repeated for each matching line. While doing -this you cannot use ":global". +When using "global" in Ex mode, a special case is using ":visual" as a +command. This will move to a matching line, go to Normal mode to let you +execute commands there until you use |Q| to return to Ex mode. This will be +repeated for each matching line. While doing this you cannot use ":global". +To abort this type CTRL-C twice. ============================================================================== 3. Complex repeats *complex-repeat* diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index b58dade4ae..c017fb4b79 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.1. Last change: 2007 Aug 14 +*starting.txt* For Vim version 7.2a. Last change: 2008 Jun 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1386,10 +1386,14 @@ using this command: > vim -c "normal '0" -In a shell you could make an alias for it: > +In a csh compatible shell you could make an alias for it: > alias lvim vim -c '"'normal "'"0'"' +For a bash-like shell: > + + alias lvim='vim -c "normal '\''0"' + Use the "r" flag in 'viminfo' to specify for which files no marks should be remembered. diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt index 59c5c529f0..e0aa05dcb0 100644 --- a/runtime/doc/usr_23.txt +++ b/runtime/doc/usr_23.txt @@ -1,4 +1,4 @@ -*usr_23.txt* For Vim version 7.1. Last change: 2006 Apr 24 +*usr_23.txt* For Vim version 7.2a. Last change: 2006 Apr 24 VIM USER MANUAL - by Bram Moolenaar diff --git a/runtime/ftplugin/javascript.vim b/runtime/ftplugin/javascript.vim index 1ba440041d..af5e4a920c 100644 --- a/runtime/ftplugin/javascript.vim +++ b/runtime/ftplugin/javascript.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: Javascript " Maintainer: Doug Kearns <dougkearns@gmail.com> -" Last Change: 2007 Feb 21 +" Last Change: 2008 Jun 15 " URL: http://gus.gscit.monash.edu.au/~djkea2/vim/ftplugin/javascript.vim if exists("b:did_ftplugin") @@ -28,7 +28,7 @@ setlocal commentstring=//%s " Change the :browse e filter to primarily show Java-related files. if has("gui_win32") - let b:browsefilter="Javascript Files (*.js)\t*.js\n" + let b:browsefilter="Javascript Files (*.js)\t*.js\n" . \ "All Files (*.*)\t*.*\n" endif diff --git a/runtime/ftplugin/man.vim b/runtime/ftplugin/man.vim index 88d7bca25c..a58d2977a9 100644 --- a/runtime/ftplugin/man.vim +++ b/runtime/ftplugin/man.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: man " Maintainer: Nam SungHyun <namsh@kldp.org> -" Last Change: 2006 Dec 04 +" Last Change: 2007 Nov 30 " To make the ":Man" command available before editing a manual page, source " this script from your startup vimrc file. @@ -41,13 +41,16 @@ if !exists("s:man_tag_depth") let s:man_tag_depth = 0 -if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5" - let s:man_sect_arg = "-s" - let s:man_find_arg = "-l" -else - let s:man_sect_arg = "" - let s:man_find_arg = "-w" -endif +let s:man_sect_arg = "" +let s:man_find_arg = "-w" +try + if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5" + let s:man_sect_arg = "-s" + let s:man_find_arg = "-l" + endif +catch /E145:/ + " Ignore the error in restricted mode +endtry func <SID>PreGetPage(cnt) if a:cnt == 0 diff --git a/runtime/macros/matchit.vim b/runtime/macros/matchit.vim index 7fcc53e803..e41cda9e17 100644 --- a/runtime/macros/matchit.vim +++ b/runtime/macros/matchit.vim @@ -1,7 +1,7 @@ " matchit.vim: (global plugin) Extended "%" matching -" Last Change: Mon May 15 10:00 PM 2006 EDT +" Last Change: Fri Jan 25 10:00 AM 2008 EST " Maintainer: Benji Fisher PhD <benji@member.AMS.org> -" Version: 1.11, for Vim 6.3+ +" Version: 1.13.2, for Vim 6.3+ " URL: http://www.vim.org/script.php?script_id=39 " Documentation: @@ -42,7 +42,7 @@ if exists("loaded_matchit") || &cp endif let loaded_matchit = 1 let s:last_mps = "" -let s:last_words = "" +let s:last_words = ":" let s:save_cpo = &cpo set cpo&vim @@ -100,13 +100,10 @@ function! s:Match_wrapper(word, forward, mode) range " In s:CleanUp(), we may need to check whether the cursor moved forward. let startline = line(".") let startcol = col(".") - " Use default behavior if called with a count or if no patterns are defined. + " Use default behavior if called with a count. if v:count exe "normal! " . v:count . "%" return s:CleanUp(restore_options, a:mode, startline, startcol) - elseif !exists("b:match_words") || b:match_words == "" - silent! normal! % - return s:CleanUp(restore_options, a:mode, startline, startcol) end " First step: if not already done, set the script variables @@ -114,8 +111,10 @@ function! s:Match_wrapper(word, forward, mode) range " s:pat parsed version of b:match_words " s:all regexp based on s:pat and the default groups " - " Allow b:match_words = "GetVimMatchWords()" . - if b:match_words =~ ":" + if !exists("b:match_words") || b:match_words == "" + let match_words = "" + " Allow b:match_words = "GetVimMatchWords()" . + elseif b:match_words =~ ":" let match_words = b:match_words else execute "let match_words =" b:match_words @@ -125,13 +124,6 @@ function! s:Match_wrapper(word, forward, mode) range \ exists("b:match_debug") let s:last_words = match_words let s:last_mps = &mps - if match_words !~ s:notslash . '\\\d' - let s:do_BR = 0 - let s:pat = match_words - else - let s:do_BR = 1 - let s:pat = s:ParseWords(match_words) - endif " The next several lines were here before " BF started messing with this script. " quote the special chars in 'matchpairs', replace [,:] with \| and then @@ -141,8 +133,15 @@ function! s:Match_wrapper(word, forward, mode) range let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") . \ '\/\*:\*\/,#if\%(def\)\=:#else\>:#elif\>:#endif\>' " s:all = pattern with all the keywords - let s:all = s:pat . (strlen(s:pat) ? "," : "") . default - let s:all = substitute(s:all, s:notslash . '\zs[,:]\+', '\\|', 'g') + let match_words = match_words . (strlen(match_words) ? "," : "") . default + if match_words !~ s:notslash . '\\\d' + let s:do_BR = 0 + let s:pat = match_words + else + let s:do_BR = 1 + let s:pat = s:ParseWords(match_words) + endif + let s:all = substitute(s:pat, s:notslash . '\zs[,:]\+', '\\|', 'g') let s:all = '\%(' . s:all . '\)' " let s:all = '\%(' . substitute(s:all, '\\\ze[,:]', '', 'g') . '\)' if exists("b:match_debug") @@ -172,16 +171,14 @@ function! s:Match_wrapper(word, forward, mode) range else " Find the match that ends on or after the cursor and set curcol. let regexp = s:Wholematch(matchline, s:all, startcol-1) let curcol = match(matchline, regexp) + " If there is no match, give up. + if curcol == -1 + return s:CleanUp(restore_options, a:mode, startline, startcol) + endif let endcol = matchend(matchline, regexp) let suf = strlen(matchline) - endcol let prefix = (curcol ? '^.*\%' . (curcol + 1) . 'c\%(' : '^\%(') let suffix = (suf ? '\)\%' . (endcol + 1) . 'c.*$' : '\)$') - " If the match comes from the defaults, bail out. - if matchline !~ prefix . - \ substitute(s:pat, s:notslash.'\zs[,:]\+', '\\|', 'g') . suffix - silent! norm! % - return s:CleanUp(restore_options, a:mode, startline, startcol) - endif endif if exists("b:match_debug") let b:match_match = matchstr(matchline, regexp) @@ -401,6 +398,7 @@ fun! s:ParseWords(groups) endwhile " Now, tail has been used up. let parsed = parsed . "," endwhile " groups =~ '[^,:]' + let parsed = substitute(parsed, ',$', '', '') return parsed endfun @@ -651,7 +649,7 @@ fun! s:MultiMatch(spflag, mode) " s:all regexp based on s:pat and the default groups " This part is copied and slightly modified from s:Match_wrapper(). let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") . - \ '\/\*:\*\/,#if\%(def\)\=:$else\>:#elif\>:#endif\>' + \ '\/\*:\*\/,#if\%(def\)\=:#else\>:#elif\>:#endif\>' " Allow b:match_words = "GetVimMatchWords()" . if b:match_words =~ ":" let match_words = b:match_words @@ -682,10 +680,12 @@ fun! s:MultiMatch(spflag, mode) " - maybe even more functionality should be split off " - into separate functions! let cdefault = (s:pat =~ '[^,]$' ? "," : "") . default - let open = substitute(s:pat . cdefault, ':[^,]*,', '\\),\\(', 'g') - let open = '\(' . substitute(open, ':[^,]*$', '\\)', '') - let close = substitute(s:pat . cdefault, ',[^,]*:', '\\),\\(', 'g') - let close = substitute(close, '[^,]*:', '\\(', '') . '\)' + let open = substitute(s:pat . cdefault, + \ s:notslash . '\zs:.\{-}' . s:notslash . ',', '\\),\\(', 'g') + let open = '\(' . substitute(open, s:notslash . '\zs:.*$', '\\)', '') + let close = substitute(s:pat . cdefault, + \ s:notslash . '\zs,.\{-}' . s:notslash . ':', '\\),\\(', 'g') + let close = substitute(close, '^.\{-}' . s:notslash . ':', '\\(', '') . '\)' if exists("b:match_skip") let skip = b:match_skip elseif exists("b:match_comment") " backwards compatibility and testing! diff --git a/runtime/plugin/rrhelper.vim b/runtime/plugin/rrhelper.vim index 05090b59ca..302177cb2d 100644 --- a/runtime/plugin/rrhelper.vim +++ b/runtime/plugin/rrhelper.vim @@ -1,6 +1,6 @@ " Vim plugin with helper function(s) for --remote-wait " Maintainer: Flemming Madsen <fma@cci.dk> -" Last Change: 2004 May 30 +" Last Change: 2008 May 29 " Has this already been loaded? if exists("loaded_rrhelper") @@ -27,7 +27,12 @@ if has("clientserver") " Path separators are always forward slashes for the autocommand pattern. " Escape special characters with a backslash. - let f = escape(substitute(argv(cnt), '\\', '/', "g"), ' *,?[{') + let f = substitute(argv(cnt), '\\', '/', "g") + if exists('*fnameescape') + let f = fnameescape(f) + else + let f = escape(f, " \t\n*?[{`$\\%#'\"|!<") + endif execute "augroup ".uniqueGroup execute "autocmd ".uniqueGroup." BufUnload ". f ." call DoRemoteReply('".id."', '".cnt."', '".uniqueGroup."', '". f ."')" let cnt = cnt + 1 diff --git a/runtime/syntax/dosbatch.vim b/runtime/syntax/dosbatch.vim index e27310cc91..8c01299334 100644 --- a/runtime/syntax/dosbatch.vim +++ b/runtime/syntax/dosbatch.vim @@ -2,7 +2,7 @@ " Language: MSDOS batch file (with NT command extensions) " Maintainer: Mike Williams <mrw@eandem.co.uk> " Filenames: *.bat -" Last Change: 16th March 2004 +" Last Change: 10th May 2008 " Web Page: http://www.eandem.co.uk/mrw/vim " " Options Flags: @@ -43,8 +43,8 @@ syn match dosbatchOperator "\s\(&\||\|^\|<<\|>>\)=\=\s" syn match dosbatchIfOperator "if\s\+\(\(not\)\=\s\+\)\=\(exist\|defined\|errorlevel\|cmdextversion\)\="lc=2 " String - using "'s is a convenience rather than a requirement outside of FOR -syn match dosbatchString "\"[^"]*\"" contains=dosbatchVariable,dosBatchArgument,@dosbatchNumber -syn match dosbatchString "\<echo[^)>|]*"lc=4 contains=dosbatchVariable,dosbatchArgument,@dosbatchNumber +syn match dosbatchString "\"[^"]*\"" contains=dosbatchVariable,dosBatchArgument,dosbatchSpecialChar,@dosbatchNumber,@Spell +syn match dosbatchString "\<echo\([^)>|]\|\^\@<=[)>|]\)*"lc=4 contains=dosbatchVariable,dosbatchArgument,dosbatchSpecialChar,@dosbatchNumber,@Spell syn match dosbatchEchoOperator "\<echo\s\+\(on\|off\)\s*$"lc=4 " For embedded commands @@ -91,12 +91,12 @@ syn match dosbatchLabel "\<goto\s\+\h\w*\>"lc=4 syn match dosbatchLabel ":\h\w*\>" " Comments - usual rem but also two colons as first non-space is an idiom -syn match dosbatchComment "^rem\($\|\s.*$\)"lc=3 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument -syn match dosbatchComment "\srem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument -syn match dosbatchComment "\s*:\s*:.*$" contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument +syn match dosbatchComment "^rem\($\|\s.*$\)"lc=3 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell +syn match dosbatchComment "\srem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell +syn match dosbatchComment "\s*:\s*:.*$" contains=dosbatchTodo,dosbatchSpecialChar,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell " Comments in ()'s - still to handle spaces before rem -syn match dosbatchComment "(rem[^)]*"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument +syn match dosbatchComment "(rem\([^)]\|\^\@<=)\)*"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument,@Spell syn keyword dosbatchImplicit append assoc at attrib break cacls cd chcp chdir syn keyword dosbatchImplicit chkdsk chkntfs cls cmd color comp compact convert copy @@ -127,12 +127,12 @@ if version >= 508 || !exists("did_dosbatch_syntax_inits") HiLink dosbatchConditional Conditional HiLink dosbatchRepeat Repeat - HiLink dosbatchOperator Operator - HiLink dosbatchEchoOperator dosbatchOperator - HiLink dosbatchIfOperator dosbatchOperator + HiLink dosbatchOperator Operator + HiLink dosbatchEchoOperator dosbatchOperator + HiLink dosbatchIfOperator dosbatchOperator HiLink dosbatchArgument Identifier - HiLink dosbatchIdentifier Identifier + HiLink dosbatchIdentifier Identifier HiLink dosbatchVariable dosbatchIdentifier HiLink dosbatchSpecialChar SpecialChar diff --git a/runtime/syntax/gitconfig.vim b/runtime/syntax/gitconfig.vim new file mode 100644 index 0000000000..f44ce2b579 --- /dev/null +++ b/runtime/syntax/gitconfig.vim @@ -0,0 +1,38 @@ +" Vim syntax file +" Language: git config file +" Maintainer: Tim Pope <vimNOSPAM@tpope.info> +" Filenames: gitconfig, .gitconfig, *.git/config +" Last Change: 2008 Jun 04 + +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword+=- +setlocal iskeyword-=_ +syn case ignore +syn sync minlines=10 + +syn match gitconfigComment "[#;].*" +syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]" +syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]' +syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite +syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend +syn keyword gitconfigBoolean true false yes no contained +syn match gitconfigNumber "\d\+" contained +syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError +syn match gitconfigError +\\.+ contained +syn match gitconfigEscape +\\[\\"ntb]+ contained +syn match gitconfigEscape +\\$+ contained + +hi def link gitconfigComment Comment +hi def link gitconfigSection Keyword +hi def link gitconfigVariable Identifier +hi def link gitconfigBoolean Boolean +hi def link gitconfigNumber Number +hi def link gitconfigString String +hi def link gitconfigDelim Delimiter +hi def link gitconfigEscape Delimiter +hi def link gitconfigError Error + +let b:current_syntax = "gitconfig" diff --git a/runtime/syntax/haste.vim b/runtime/syntax/haste.vim new file mode 100644 index 0000000000..cf943f1085 --- /dev/null +++ b/runtime/syntax/haste.vim @@ -0,0 +1,150 @@ +" Vim syntax file +" Language: HASTE +" Maintainer: M. Tranchero - maurizio.tranchero?gmail.com +" Credits: some parts have been taken from vhdl, verilog, and C syntax +" files +" version: 0.5 + +" HASTE +if exists("b:current_syntax") + finish +endif +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" case is significant +syn case match + +" HASTE keywords +syn keyword hasteStatement act alias arb array begin bitvec +syn keyword hasteStatement bitwidth boolvec broad case +syn keyword hasteStatement cast chan const dataprobe do edge +syn keyword hasteStatement else end export false ff fi file +syn keyword hasteStatement fit for forever func if import +syn keyword hasteStatement inprobe is les main narb narrow +syn keyword hasteStatement negedge od of or outprobe pas +syn keyword hasteStatement posedge probe proc ram ramreg +syn keyword hasteStatement repeat rom romreg sample sel si +syn keyword hasteStatement sign sizeof skip stop then true +syn keyword hasteStatement type until var wait wire +syn keyword hasteFutureExt Z ffe partial +syn keyword hasteVerilog buf reg while + +" Special match for "if", "or", and "else" since "else if" +" and other "else+if" combination shouldn't be highlighted. +" The right keyword is "or" +syn match hasteStatement "\<\(if\|then\|else\|fi\)\>" +syn match hasteNone "\<else\s\+if\>$" +syn match hasteNone "\<else\s\+if\>\s" +syn match hasteNone "\<elseif\>\s" +syn match hasteNone "\<elsif\>\s" +syn match hasteStatement "\<\(case\|is\|si\)\>" +syn match hasteStatement "\<\(repeat\|until\)\>" +syn match hasteStatement "\<\(forever\|do\|od\)\>" +syn match hasteStatement "\<\(for\|do\|od\)\>" +syn match hasteStatement "\<\(do\|or\|od\)\>" +syn match hasteStatement "\<\(sel\|les\)\>" +syn match hasteError "\<\d\+[_a-zA-Z]\+\>" + +" Predifined Haste types +syn keyword hasteType bool + +" Values for standard Haste types +" syn match hasteVector "\'[0L1HXWZU\-\?]\'" + +syn match hasteVector "0b\"[01_]\+\"" +syn match hasteVector "0x\"[0-9a-f_]\+\"" +syn match hasteCharacter "'.'" +syn region hasteString start=+"+ end=+"+ +" C pre-processor directives +"syn region hasteIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match hasteIncluded display contained "<[^>]*>" +syn match hasteIncluded display contained "<[^"]*>" +syn match hasteInclude display "^\s*#include\>\s*["<]" contains=hasteIncluded +syn region hasteDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@hastePreProcGroup,@Spell +syn region hasteDefine start="^\s*\(%:\|#\)\s*\(ifndef\|ifdef\|endif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=@Spell +syn region hastePreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=hasteComment,hasteCppString,hasteCharacter,hasteCppParen,hasteParenError,hasteNumbers,hasteCommentError,hasteSpaceError +syn region hastePreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@hastePreProcGroup,@Spell +syn cluster hastePreProcGroup contains=hasteIncluded,hasteInclude,hasteDefine +syn region hasteCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=hasteSpaceError,hasteCppSkip + +" floating numbers +syn match hasteNumber "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>" +syn match hasteNumber "-\=\<\d\+\.\d\+\>" +syn match hasteNumber "0*2#[01_]\+\.[01_]\+#\(E[+\-]\=\d\+\)\=" +syn match hasteNumber "0*16#[0-9a-f_]\+\.[0-9a-f_]\+#\(E[+\-]\=\d\+\)\=" +" integer numbers +syn match hasteNumber "-\=\<\d\+\(E[+\-]\=\d\+\)\>" +syn match hasteNumber "-\=\<\d\+\>" +syn match hasteNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\=" +syn match hasteNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\=" +" operators +syn keyword hasteSeparators & , . \| : +syn keyword hasteExecution \|\| ; @ +syn keyword hasteOperator := ? ! +syn keyword hasteTypeConstr "[" << >> .. "]" ~ +syn keyword hasteExprOp < <= >= > = # <> + - * == ## +syn keyword hasteMisc ( ) 0x 0b +" +syn match hasteSeparators "[&:\|,.]" +syn match hasteOperator ":=" +syn match hasteOperator "?" +syn match hasteOperator "!" +syn match hasteExecution "||" +syn match hasteExecution ";" +syn match hasteExecution "@" +syn match hasteType "\[\[" +syn match hasteType "\]\]" +syn match hasteType "<<" +syn match hasteType ">>" +syn match hasteExprOp "<" +syn match hasteExprOp "<=" +syn match hasteExprOp ">=" +syn match hasteExprOp ">" +syn match hasteExprOp "<>" +syn match hasteExprOp "=" +syn match hasteExprOp "==" +syn match hasteExprOp "##" +syn match hasteExprOp "#" +syn match hasteExprOp "*" +syn match hasteExprOp "+" + +syn region hasteComment start="/\*" end="\*/" contains=@Spell +syn region hasteComment start="{" end="}" contains=@Spell +syn match hasteComment "//.*" contains=@Spell + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link hasteSpecial Special +hi def link hasteStatement Statement +hi def link hasteCharacter String +hi def link hasteString String +hi def link hasteVector String +hi def link hasteBoolean String +hi def link hasteComment Comment +hi def link hasteNumber String +hi def link hasteTime String +hi def link hasteType Type +hi def link hasteGlobal Error +hi def link hasteError Error +hi def link hasteAttribute Type +hi def link hasteSeparators Special +hi def link hasteExecution Special +hi def link hasteTypeConstr Special +hi def link hasteOperator Type +hi def link hasteExprOp Type +hi def link hasteMisc String +hi def link hasteFutureExt Error +hi def link hasteVerilog Error +hi def link hasteDefine Macro +hi def link hasteInclude Include +hi def link hastePreProc PreProc + +let b:current_syntax = "haste" + +" vim: ts=8 diff --git a/runtime/tutor/runtime/indent.vim b/runtime/tutor/runtime/indent.vim new file mode 100644 index 0000000000..12f03648ca --- /dev/null +++ b/runtime/tutor/runtime/indent.vim @@ -0,0 +1,31 @@ +" Vim support file to switch on loading indent files for file types +" +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last Change: 2008 Feb 22 + +if exists("did_indent_on") + finish +endif +let did_indent_on = 1 + +augroup filetypeindent + au FileType * call s:LoadIndent() + func! s:LoadIndent() + if exists("b:undo_indent") + exe b:undo_indent + unlet! b:undo_indent b:did_indent + endif + let s = expand("<amatch>") + if s != "" + if exists("b:did_indent") + unlet b:did_indent + endif + + " When there is a dot it is used to separate filetype names. Thus for + " "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim". + for name in split(s, '\.') + exe 'runtime! indent/' . name . '.vim' + endfor + endif + endfunc +augroup END diff --git a/runtime/tutor/runtime/vim16x16.png b/runtime/tutor/runtime/vim16x16.png Binary files differnew file mode 100644 index 0000000000..fb45d22a05 --- /dev/null +++ b/runtime/tutor/runtime/vim16x16.png diff --git a/runtime/tutor/tutor.eo.utf-8 b/runtime/tutor/tutor.eo.utf-8 new file mode 100644 index 0000000000..8f67b207b0 --- /dev/null +++ b/runtime/tutor/tutor.eo.utf-8 @@ -0,0 +1,967 @@ +============================================================================== += B o n v e n o n al la I n s t r u i l o de V I M - Versio 1.0.eo = +============================================================================== + + Vim estas tre potenca redaktilo, kiu havas multajn komandojn, tro da ili + por ĉion klarigi en instruilo kiel ĉi tiu. Ĉi tiu instruilo estas + fasonita por priskribi sufiĉajn komandojn, por ke vi kapablu uzi Vim + kun sufiĉa facileco. + + La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas + de kiom da tempo estas uzata por eksperimenti. + + ATENTU: + La komandoj en la lecionoj ŝanĝos la tekston. Kopiu tiun ĉi dosieron + por ekzerci vin (se vi lanĉis "vimtutor", tiam estas jam kopio). + + Gravas memori, ke ĉi tiu instruilo estas organizata por instrui per + la uzo. Tio signifas, ke vi devas plenumi la komandojn por bone lerni + ilin. Se vi nur legas la tekston, vi forgesos la komandojn! + + Nun, certigu, ke la majuskla baskulo NE estas en reĝimo majuskla, + kaj premu la klavon j sufiĉe da fojoj por movi la kursoron, kaj por + ke la leciono 1.1 plenigu la ekranon. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.1: MOVI LA KURSORON + + + ** Por movi la kursoron, premu la h,j,k,l klavojn kiel montrite. ** + ^ + k Konsilo: La klavo h estas la plej liva kaj movas liven. + < h l > La klavo l estas la plej dekstra kaj movas dekstren. + j La klavo j aspektas kiel malsuprena sago. + v + 1. Movu la kursoron sur la ekrano ĝis kiam vi sentas vin komforta. + + 2. Premu la klavon (j) ĝis kiam ĝi ripetas. + Vi nun scias, kiel moviĝi al la sekvanta leciono + + 3. Uzante la malsuprenan klavon, moviĝu al la leciono 1.2. + +RIMARKO: Se vi dubas pri tio, kion vi premis, premu <ESK> por reiri al + la normala reĝimo. Tiam repremu la deziratan komandon. + +RIMARKO: La klavoj de la kursoro devus ankaŭ funkcii. Sed uzante hjkl, + vi kapablos moviĝi pli rapide post kiam vi kutimiĝos. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.2: ELIRI EL VIM + + + !! RIMARKO: Antaŭ ol plenumi iujn subajn paŝojn ajn, legu la tutan lecionon!! + + 1. Premu la klavon <ESK> (por certigi, ke vi estas en normala reĝimo). + + 2. Tajpu: :q! <Enenklavo>. + Tio eliras el la rekdaktilo, SEN konservi la ŝanĝojn, kion vi faris. + + 3. Kiam vi vidas la ŝelinviton, tajpu la komandon kiun vi uzis por eniri + en ĉi tiu instruilo. Tio estus: vimtutor <Enenklavo> + + 4. Se vi memoris tiujn paŝojn kaj sentas vin memfida, plenumu la paŝojn + 1 ĝis 3 por eliri kaj reeniri la redaktilon. + +RIMARKO: :q! <Enenklavo> eliras sen konservi la ŝanĝojn kion vi faris. + Post kelkaj lecionoj, vi lernos kiel konservi la ŝanĝojn al dosiero. + + 5. Movu la kursoron suben ĝis la leciono 1.3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.3: REDAKTO DE TEKSTO - FORVIŜO + + + ** Premu x por forviŝi la signon sub la kursoro. ** + + 1. Movu la kursoron al la suba linio markita per --->. + + 2. Por korekti la erarojn, movu la kursoron ĝis kiam ĝi estas sur la + forviŝenda signo. + + 3. Premu la klavon x por forviŝi la nedeziratan signon. + + 4. Ripetu paŝojn 2 ĝis 4 ĝis kiam la frazo estas ĝusta. + + +---> La boovinno saaltiss ssur laa luuno. + + 5. Post kiam la linio estas ĝusta, iru al la leciono 1.4 + +RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.4: REDAKTO DE TEKSTO - ENMETO + + + ** Premu i por enmeti tekston. ** + + 1. Movu la kursoron al la unua suba linio markita per --->. + + 2. Por igi la unuan linion sama ol la dua, movu la kursoron sur la unuan + signon post kie la teksto estas enmetenda. + + 3. Premu i kaj tajpu la bezonatajn aldonojn. + + 4. Premu <ESK> kiam la eraroj estas korektitaj por reiri al la normala + reĝimo. Ripetu la paŝojn 2 ĝis 4 por korekti la frazon. + +---> Mank en ĉi linio. +---> Mankas tekston en ĉi tiu linio. + + 5. Kiam vi sentas vin komforta pri enmeto de teksto, moviĝu al la + leciono 1.5. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.5: REDAKTO DE TEKSTO - POSTALDONO + + + ** Premu A por postaldoni tekston. ** + + 1. Movu la kursoron al la unua suba linio markita per --->. + Ne gravas sur kiu signo estas la kursoro. + + 2. Premu A kaj tajpu la bezonatajn aldonojn. + + 3. Post kiam la teksto estas aldonita, premu <ESK> por reiri al la normala + reĝimo. + + 4. Movu la kursoron al la dua linio markita per ---> kaj ripetu la + paŝojn 2 kaj 3 por korekti la frazon. + +---> Mankas teksto el ti + Mankas teksto el tiu linio. +---> Mankas ankaŭ teks + Mankas ankaŭ teksto ĉi tie. + + 5 Kiam vi sentas vin komforta pri postaldono de teksto, moviĝu al la + leciono 1.6 + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.6: REDAKTI DOSIERON + + ** Uzu :wq por konservi dosieron kaj eliri. ** + + !! RIMARKO: Antaŭ ol plenumi iun suban paŝon ajn, legu la tutan lecionon!! + + 1. Eliru el la instruilo kiel vi faris en la leciono 1.2: :q! + + 2. Ĉe la ŝelinvito, tajpu ĉi tiun komandon: vim tutor <Enenklavo> + 'vim' estas la komando por lanĉi la redaktilon Vim, 'tutor' estas la + dosiernomo de la dosiero, kiun vi volas redakti. Uzu dosieron, kiu + ŝanĝeblas. + + 3. Enmetu kaj forviŝu tekston, kiel vi lernis en la antaŭaj lecionoj. + + 4. Konservu la dosieron kun ŝanĝoj kaj eliru el Vim per: :qw <Enenklavo> + + 5. Relanĉu la instruilon vimtutor kaj moviĝu suben al la sekvanta resumo. + + 6. Post kiam vi legis la suprajn paŝojn, kaj komprenis ilin: faru ilin. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1 RESUMO + + 1. La kursoro moviĝas aŭ per la sagoklavoj, aŭ per la klavoj hjkl. + h (liven) j (suben) k (supren) l (dekstren) + + 2. Por lanĉi Vim el la ŝelinvito, tajpu: vim DOSIERNOMO <Enenklavo> + + 3. Por eliri el Vim, tajpu: <ESK> :q! <Enenklavo> por rezigni la ŝanĝojn + + 4. Por forviŝi la signojn ĉe la pozicio de la kursoro, tajpu: x + + 5. Por enmeti aŭ postaldoni tekston, tajpu: + i tajpu enmetendan tekston <ESK> + enmetas tekston antaŭ la kursoro + + A tajpu la postaldonendan tekston <ESK> + postaldonas post la kursoro + +RIMARKO: Premo de <ESK> iras al la normala reĝimo, aŭ rezignas la + nedeziratan aŭ parte plenumita komando. + +Nun daŭrigu al la leciono 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.1: KOMANDOJ DE FORVIŜO + + + ** Tajpu dw por forviŝi vorton. ** + + 1. Premu <ESK> por certigi, ke vi estas en normala reĝimo. + + 2. Movu la kursoron al la linio markita per --->. + + 3. Movu la kursoron al la komenco de vorto, kiu forviŝendas. + + 4. Tajpu dw por forviŝi la vorton. + + RIMARKO: La litero d aperos en la lasta linio sur la ekrano kiam vi + tajpas ĝin. Vim atendas ĝis kiam vi tajpas w . Se vi vidas + alian signon ol d vi tajpis ion mise; premu <ESK> kaj + rekomencu. + +---> Estas iuj vortoj kiuj Zamenhof ne devus esti akuzativo en ĉi tiu frazo. + + 5. Ripetu paŝojn 3 kaj 4 ĝis kiam la frazo estas ĝusta kaj moviĝu al la + leciono 2.2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.2: PLIAJ KOMANDOJ DE FORVIŜO + + ** Tajpu d$ por forviŝi la finon de la linio. ** + + 1. Premu <ESK> por certigi, ke vi estas en normala reĝimo. + + 2. Movu la kursoron sur la suban linion markita per --->. + + 3. Movu la kursoron ĉe la fino de la ĝusta linio (POST la unu |