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 966befef0..600f27718 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 2361ddcb1..38a485753 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 b58dade4a..c017fb4b7 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 59c5c529f..e0aa05dcb 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 1ba440041..af5e4a920 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 88d7bca25..a58d2977a 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 7fcc53e80..e41cda9e1 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 05090b59c..302177cb2 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 e27310cc9..8c0129933 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 000000000..f44ce2b57 --- /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 000000000..cf943f108 --- /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 000000000..12f03648c --- /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 000000000..fb45d22a0 --- /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 000000000..8f67b207b --- /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 unua . ). + + 4. Tajpu d$ por forivŝi ĝis la fino de la linio. + +---> Iu tajpis la finon de ĉi tiu linio dufoje. fino de ĉi tiu linio dufoje. + + + 5. Moviĝu al la leciono 2.3 por kompreni kio okazas. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.3: PRI OPERATOROJ KAJ MOVOJ + + + Multaj komandoj, kiuj ŝanĝas la tekston, estas faritaj de operatoro kaj + movo. La formato de komando de forviŝo per la operatoro de forviŝo d + estas kiel sekvas: + + d movo + + Kie: + d - estas la operatoro de movo + movo - estas tio, pri kio la operatoro operacios (listigita sube) + + Mallonga listo de movoj: + w - ĝis la komenco de la sekvanta vorto, krom ĝian unuan signon. + e - ĝis la fino de la nuna vorto, krom la lasta signo. + $ - ĝis la fino de la linio, krom la lasta signo. + + Do tajpo de 'de' forviŝos ekde la kursoro ĝis la fino de la vorto. + +RIMARKO: Premo de nur la movo en Normala reĝimo sen operatoro movos + la kursoron kiel specifite. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.4: UZI NOMBRON POR MOVO + + ** Tajpo de nombro antaŭ movo ripetas ĝin laŭfoje. ** + + 1. Movu la kursoron ĉe la komenco de la suba linio markita per --->. + + 2. Tajpu 2w por movi la kursoron je du vortoj antaŭen. + + 3. Tajpu 3e por movi la kursoron ĉe la fino de la tria vorto antaŭen. + + 4. Tajpu 0 (nul) por moviĝi ĉe la komenco de la linio. + + + 5. Ripetu paŝojn 2 ĝis 3 kun malsamaj nombroj. + +---> Tio estas nur linio kun vortoj, kie vi povas moviĝi. + + 6. Moviĝu al la leciono 2.5. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.5: UZI NOMBRON POR FORVIŜI PLI + + ** Tajpo de nombro kun operatoro ripetas ĝin laŭfoje. ** + + En la kombinaĵo de la operatoro de forviŝo, kaj movo kiel menciita + ĉi-supre, eblas aldoni nombron antaŭ la movo por pli forviŝi: + d nombro movo + + 1. Movu la kursoron ĉe la unua MAJUSKLA vorto en la linio markita per --->. + + 2. Tajpu d2w por forviŝi la du MAJUSKLAJN vortojn + + 3. Ripetu paŝojn 1 ĝis 2 per malsama nombro por forviŝi la sinsekvajn + MAJUSKLAJN vortojn per unu komando + +---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.6: OPERACII SUR LINIOJ + + ** Tajpu dd por forviŝi tutan linion. ** + + Pro la ofteco de forviŝo de tuta linio, la verkisto de Vi decidis, ke + estus pli facile simple tajpi du d-ojn por forviŝi linion. + + 1. Movu la kursoron sur la duan linion en la suba frazo. + 2. Tajpu dd por forviŝi la linion. + 3. Nun moviĝu al la kvara linio. + 4. Tajpu 2dd por forviŝi du liniojn. + +---> 1) Rozoj estas ruĝaj, +---> 2) Ŝlimo estas amuza, +---> 3) Violoj estas bluaj, +---> 4) Mi havas aŭton, +---> 5) Horloĝoj diras kioma horo estas, +---> 6) Sukero estas dolĉa, +---> 7) Kaj tiel vi estas. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.7: LA KOMANDO DE MALFARO + + ** Premu u por malfari la lastajn komandojn, U por ripari la tutan linion. ** + + 1. Movu la kursoron ĉe la suba linio markita per ---> kaj metu ĝin sur + la unuan eraron. + 2. Tajpu x por forviŝi la unuan nedeziratan signon. + 3. Nun tajpu u por malfari la lastan plenumitan komandon. + 4. Ĉi-foje, riparu ĉiujn erarojn en la linio kaj ĝia originala stato. + 5. Nun tajpu majusklan U por igi la linion al ĝia antaŭa stato. + 6. Nun tajpu u kelkfoje por malfari la U kaj antaŭajn komandojn. + 7. Nun tajpu CTRL-R (premante la CTRL klavon dum vi premas R) kelkfoje + por refari la komandojn (malfari la malfarojn). + +---> Koorektii la erarojn sur tiuu ĉi liniio kaj remettu illlin per malfaro. + + 8. Tiuj estas tre utilaj komandoj. Nun moviĝu al la leciono 2 RESUMO. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2 RESUMO + + 1. Por forviŝi ekde la kursoro ĝis la sekvanta vorto, tajpu: dw + 2. Por forviŝi ekde la kursoro ĝis la fino de la linio, tajpu: d$ + 3. Por forviŝi tutan linion, tajpu: dd + + 4. Por ripeti movon, antaŭmetu nombron: 2w + 5. La formato de ŝanĝa komando estas: + operatoro [nombro] movo + + kie: + operatoro - estas tio, kio farendas, kiel d por forviŝi + [nombro] - estas opcia nombro por ripeti la movon + movo - movas sur la teksto por operacii, kiel ekzemple w (vorto), + $ (ĝis fino de linio), ktp. + + 6. Por moviĝi al la komenco de la linio, uzu nul: 0 + + 7. Por malfari antaŭajn agojn, tajpu: u (minuskla u) + Por malfari ĉiujn ŝanĝojn sur la linio, tajpu: U (majuskla U) + Por refari la malfarojn, tajpu: CTRL-R + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.1 LA KOMANDO DE METO + + ** Tajpu p por meti tekston forviŝitan antaŭe post la kursoro. ** + + 1. Movu la kursoron ĉe la unua ---> suba linio. + + 2. Tajpu dd por forviŝi la linion kaj konservi ĝin ene de reĝistro de Vim. + + 3. Movu la kursoron ĉe la linio c), SUPER kie la forviŝita linio devus esti. + + 4. Tajpu p por meti la linion sub la kursoron. + + 5. Ripetu la paŝojn 2 ĝis 4 por meti ĉiujn liniojn en la ĝusta ordo. + +---> d) Ĉu ankaŭ vi povas lerni? +---> b) Violoj estas bluaj, +---> c) Inteligenteco lerneblas, +---> a) Rozoj estas ruĝaj, + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.2 LA KOMANDO DE ANSTATAŬIGO + + ** Tajpu rx por anstataŭigi la signon ĉe la kursoro per x . ** + + + 1. Movu la kursoron ĉe la unua suba linio markita per --->. + + 2. Movu la kursoron ĝis la unua eraro. + + 3. Tajpu r kaj la signon, kiu devus esti tie. + + 4. Ripetu paŝojn 2 kaj 3 ĝis kiam la unua linio egalas la duan. + +---> Kiem tiu lanio estis tajpita, iu pramis la naĝuftajn klovojn! +---> Kiam tiu linio estis tajpita, iu premis la neĝustajn klavojn! + + 5. Nun moviĝu al la leciono 3.3. + +Rimarko: Memoru, ke vi devus lerni per uzo, kaj ne per memorado. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.3 LA OPERATORO DE ŜANĜO + + ** Por ŝanĝi ĝis la fino de la vorto, tajpu ce . ** + + 1. Movu la kursoron ĉe la unua suba linio markita per --->. + + 2. Metu la kursoron sur la d en lduzw + + 3. Tajpu ce kaj la ĝustan vorton (en tiu ĉi kazo, tajpu inio ). + + 4. Premu <ESK> kaj moviĝu al la sekvanta signo, kiu bezonas ŝanĝon. + + 5. Ripetu la paŝojn 3 kaj 4 ĝis kiam la unua frazo egalas la duan. + +---> Tiu lduzw havas kelkajn vortojn, kiii bezas ŝanĝon per la ŝanĝooto. +---> Tiu linio havas kelkajn vortojn, kiuj bezonas ŝanĝon per la ŝanĝoperatoro. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.4 PLIAJ ŜANĜOJ PER c + + ** La operatoro de ŝanĝo uzeblas kun la sama movo ol forviŝo. ** + + 1. La operatoro de ŝanĝo funkcias sammaniere kiel forviŝo. La formato estas: + + c [nombro] movo + + 2. La movoj estas samaj, kiel ekzemple w (vorto) kaj $ (fino de linio). + + 3. Moviĝu ĉe la unua suba linio markita per --->. + + 4. Movu la kursoron al la unua eraro. + + 5. Tajpu c$ kaj tajpu la reston de la linio kiel la dua kaj premu <ESK>. + +---> La fino de ĉi tiu linio bezonas helpon por igi ĝin same kiel la dua. +---> La fino de ĉi tiu linio bezonas korektojn per uzo de la komando c$ + +RIMARKO: Vi povas uzi la klavon Retropaŝo por korekti erarojn dum vi tajpas. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3 RESUMO + + 1. Por remeti tekston, kiun vi ĵus forviŝis, tajpu p. Tio metas la + forviŝitan tekston POST la kursoro (se linio estis forviŝita, ĝi + iros en la linion sub la kursoro). + + 2. Por anstataŭigi la signon sub la kursoro, tajpu r kaj tiam la signon + kion vi deziras havi tie. + + 3. La operatoro de ŝanĝo ebligas al vi ŝanĝi ekde la kursoro, ĝis kie + la movo iras. Ekz. tajpu ce por ŝanĝi ekde la kursoro ĝis la fino + de la vorto, c$ por ŝanĝi ĝis la fino de la linio. + + 4. La formato de ŝanĝo estas: + + c [nombro] movo + +Nun daŭrigu al la sekvanta leciono. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.1: POZICIO DE KURSORO KAJ STATO DE DOSIERO + + ** Tajpu CTRL-G por montri vian pozicion en la dosiero kaj la dosierstaton. + Tajpu G por moviĝi al linio en la dosiero. ** + + RIMARKO: Legu la tutan lecionon antaŭ ol plenumi iun paŝon ajn!! + + 1. Premu la klavon Ctrl kaj premu g . Oni nomas tion CTRL-G. + Mesaĝo aperos ĉe la suba parto de la paĝo kun la dosiernomo kaj la + pozicio en la dosiero. Memoru la numeron de la linio por paŝo 3. + + RIMARKO: Vi eble vidas la pozicion de la kursoro ĉe la suba dekstra + angulo de la ekrano. Tio okazas kiam la agordo 'ruler' estas + ŝaltita (vidu :help 'ruler') + + 2. Premu G por moviĝi ĉe la subo de la dosiero. + Tajpu gg por moviĝi ĉe la komenco de la dosiero. + + 3. Tajpu la numeron de la linio kie vi estis kaj poste G . Tio removos + vin al la linio, kie vi estis kiam vi unue premis CTRL-G. + + 4. Se vi sentas vin komforta, plenumu paŝojn 1 ĝis 3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.2 LA KOMANDO DE SERĈO + + ** Tajpu / kaj poste frazon por serĉi la frazon. ** + + 1. En normala reĝimo, tajpu la / signon. Rimarku, ke ĝi kaj la kursoro + aperas ĉe la suba parto de la ekrano kiel por la : komando. + + 2. Nun tajpu 'errarro' <Enenklavo>. + Tio estas la vorto, kion vi volas serĉi. + + 3. Por serĉi la saman frazon denove, simple tajpu n . + Por serĉi la saman frazon denove en la retrodirekto, tajpu N . + + 4. Por serĉi frazon en la retrodirekto, uzu ? anstataŭ / . + + 5. Por reiri tien, el kie vi venis, premu CTRL-O (Premu Ctrl kaj o + literon o). Ripetu por pli retroiri. CTRL-I iras antaŭen. + +---> "errarro" ne estas maniero por literumi eraro; errarro estas eraro. + +RIMARKO: Kiam la serĉo atingas la finon de la dosiero, ĝi daŭras ĉe la + komenco, krom se la agordo 'wrapscan' estas malŝaltita. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.3 SERĈO DE KONGRUAJ KRAMPOJ + + ** Tajpu % por trovi kongruan ), [ aŭ } ** + + 1. Poziciu la kursoron sur iun (, [ aŭ { en la linio markita per --->. + + 2. Nun tajpu la % signon. + + 3. La kursoro moviĝas al la kongrua krampo. + + 4. Tajpu % por movi la kursoron al la alia kongrua krampo. + + 5. Movu la kursoron al la alia (, ), [, ], {, } kaj observu tion, + kion % faras. + +---> Ĉi tiu ( estas testa linio kun (-oj, [-oj, ]-oj kaj {-oj, }-oj en ĝi. )) + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.4 LA KOMANDO DE ANSTATAŭIGO + + + ** Tajpu :s/malnova/nova/g por anstataŭigi 'nova' per 'malnova'. ** + + 1. Movu la kursoron al la suba linio markita per --->. + + 2. Tajpu :s/laa/la <Enenklavo> . Rimarku, ke la komando ŝanĝas nur la + unuan okazaĵon de "laa" en la linio. + + 3. Nun tajpu :s/laa/la/g . Aldono de g opcio signifas mallokan + anstataŭigon en la linio. Ĝi ŝanĝas ĉiujn okazaĵojn de "laa" en la + linio. + +---> laa plej bona tempo por vidi florojn estas en laa printempo. + + 4. Por ŝanĝi ĉiujn okazaĵojn de iu ĉena signo inter du linioj, + tajpu :#,#s/malnova/nova/g kie #,# estas la numeroj de linioj de la + intervalo de la linioj kie la anstataŭigo + okazos. + Tajpu :%s/malnova/nova/g por ŝanĝi ĉiujn okazaĵojn en la tuta + dosiero. + Tajpu :s/malnova/nova/gc por trovi ĉiujn okazaĵojn en la tuta + dosiero, kun invitilo ĉu anstataŭigi + aŭ ne. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4 RESUMO + + 1. CTRL-G vidigas vian pozicion en la dosiero kaj la staton de la dosiero. + G movas la kursoron al la fino de la dosiero. + numero G movas la kursoron al tiu numero de linio. + gg movas la kursoron al la unua linio. + + 2. Tajpo de / kaj frazon serĉas la frazon antaŭen. + Tajpo de ? kaj frazon serĉas la frazon malantaŭen. + Post serĉo, tajpu n por trovi la sekvantan okazaĵon en la sama direkto aŭ + N por serĉi en la mala direkto. + CTRL-O movas vin al la antaŭaj pozicioj, CTRL-I al la novaj pozicioj. + + 3. Tajpo de % kiam la kursoro estas sur (,),[,],{ aŭ } moviĝas al ĝia + kongruo. + + 4. Por anstataŭigi 'nova' en la unua 'malnova' en linio :s/malnova/nova + Por anstataŭigi 'nova' en ĉiuj 'malnova'-oj en linio :s/malnova/nova/g + Por anstataŭigi frazon inter du #-aj linioj :#,#s/malnova/nova/g + Por anstataŭigi ĉiujn okazaĵojn en la dosiero :%s/malnova/nova/g + Por demandi konfirmon ĉiu-foje, aldonu 'c' :%s/malnova/nova/gc + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.1 KIEL PLENUMI EKSTERAN KOMANDON + + ** Tajpu :! sekvata de ekstera komando por plenumi la komandon. ** + + 1. Tajpu la konatan komandon : por pozicii la kursoron ĉe la suba parto + de la ekrano. Tio ebligas tajpadon de komando en komanda linio. + + 2. Nun tajpu la ! (krisigno) signon. Tio ebligas al vi plenumi iun + eksteran ŝelan komandon ajn. + + 3. Ekzemple, tajpu ls post ! kaj tajpu <Enenklavo>. Tio listigos la + enhavon de la dosierujo, same kiel se vi estis en ŝela invito. + Aŭ uzu :!dir se ls ne funkcias. + +RIMARKO: Eblas plenumi iun eksteran komandon ajn tiamaniere, ankaŭ kun + argumentoj. + +RIMARKO: Ĉiuj : komandoj devas finiĝi per tajpo de <Enenklavo> + Ekde nun, ni ne plu mencios tion. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.2 PLI PRI KONSERVO DE DOSIERO + + ** Por konservi la faritajn ŝanĝojn en la teksto, tajpu :w DOSIERNOMO. ** + + 1. Tajpu !dir aŭ !ls por akiri liston de via dosierujo. + Vi jam scias, ke vi devas tajpi <Enenklavo> post tio. + + 2. Elektu dosieron, kiu ne jam ekzistas, kiel ekzemple TESTO. + + 3. Nun tajpu: :w TESTO (kie TESTO estas la elektita dosiernomo) + + 4. Tio konservas la tutan dosieron (instruilo de Vim) per la nomo TESTO. + Por kontroli tion, tajpu :!dir aŭ !ls denove por vidigi vian + dosierujon. + +RIMARKO: Se vi volus eliri el Vim kaj restartigi ĝin denove per vim TESTO, + la dosiero estus precize same kiel kopio de la instruilo kiam vi + konservis ĝin. + + 5. Nun forviŝu la dosieron tajpante (MS-DOS): :!del TESTO + aŭ (UNIKSO): :!rm TESTO + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.3 APARTIGI KONSERVENDAN TESTON + + ** Por konservi parton de la dosiero, tajpu v movo :w DOSIERNOMO ** + + 1. Movu la kursoron al tiu linio. + + 2. Premu v kaj movu la kursoron al la kvina suba ero. Rimarku, ke la + teksto emfaziĝas. + + 3. Premu la : signon. Ĉe la fino de la ekrano :'<,'> aperos. + + 4. Tajpu w TESTO , kie TESTO estas dosiernomo, kiu ne jam ekzistas. + Kontrolu, ke vi vidas :'<,'>w TESTO antaŭ premi <Enenklavo>. + + 5. Vim konservos la apartigitajn liniojn al la dosiero TESTO. Uzu :dir + aŭ :!ls por vidigi ĝin. Ne jam forviŝu ĝin. Ni uzos ĝin en la + sekvanta leciono. + +RIMARKO: PREMO DE v komencas Viduman apartigon. Vi povas movi la kursoron + por pligrandigi aŭ malpligrandigi la apartigon. Tiam vi povas uzi + operatoron por plenumi ion kun la teksto. Ekzemple, d forviŝas + la tekston. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.4 AKIRI KAJ KUNFANDI DOSIEROJN + + + ** Por enmeti la enhavon de dosiero, tajpu :r DOSIERNOMON ** + + 1. Movu la kursoron ĵus super ĉi tiu linio. + +RIMARKO: Post plenumo de paŝo 2, vi vidos tekston el la leciono 5.3. Tiam + moviĝu SUBEN por vidi tiun lecionon denove. + + 2. Nun akiru vian dosieron TESTO uzante la komandon :r TESTO kie TESTO + estas la nomo de la dosiero, kiun vi uzis. + La dosiero, kion vi akiras, estas metita sub la linio de la kursoro. + + 3. Por kontroli, ĉu la dosiero akiriĝis, retromovu la kursoron kaj rimarku, + ke estas nun du kopioj de la leciono 5.3, la originala kaj la versio mem + de la dosiero. + +RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple, + :r !ls legas la eliron de la komando ls kaj metas ĝin sub la + kursoron. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5 RESUMO + + + 1. :!komando plenumas eksteran komandon. + + Iuj utilaj ekzemploj estas: + (MS-DOS) (UNIKSO) + :!dir :!ls - listigas dosierujon + :!del DOSIERNOMO :!rm DOSIERNOMO - forviŝas la dosieron DOSIERNOMO + + 2. :w DOSIERNOMO konservas la nunan dosieron de Vim al disko kun la + nomo DOSIERNOMO. + + 3. v movo :w DOSIERNOMO konservas la Viduman apartigo de linioj en + dosiero DOSIERNOMO. + + 4. :r DOSIERNOMO akiras la dosieron DOSIERNOMO el la disko kaj metas + ĝin sub la pozicion de la kursoro. + + 5. :r !dir legas la eligon de la komando dir kaj metas ĝin sub la + pozicion de la kursoro. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.1 LA KOMANDO DE MALFERMO + + + ** Tajpu o por malfermi linion sub la kursoro kaj eniri Enmetan reĝimon. ** + + 1. Movu la kursoron al la suba linio markita per --->. + + 2. Tajpu la minusklan literon o por malfermi linion SUB la kursoro kaj + eniri la Enmetan reĝimon. + + 3. Nun tajpu tekston kaj premu <ESK> por eliri la Enmetan reĝimon. + +---> Post tajpo de o la kursoro moviĝas al la malfermata linio en + Enmeta reĝimo. + + 4. Por malfermi linion SUPER la kursoro, nur tajpu majusklan O , + anstataŭ minusklan o. Provu tion per la suba linio. + +---> Malfermu linion SUPER tiu tajpante O dum la kursoro estas sur tiu linio. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.2 LA KOMANDO DE POSTALDONO + + + ** Tajpu a por enmeti POST la kursoro. ** + + 1. Movu la kursoron ĉe la komenco de la linio markita per --->. + + 2. Premu e ĝis kiam la kursoro estas ĉe la fino de li. + + 3. Tajpu a (minuskle) por aldoni tekston POST la kursoro. + + 4. Kompletigu la vorton same kiel la linio sub ĝi. Premu <ESK> por + eliri la Enmetan reĝimon. + + 5. Uzu e por moviĝi al la sekvanta nekompleta vorto kaj ripetu + paŝojn 3 kaj 4. + +---> Ĉi tiu lin ebligos vin ekz vin postal tekston al linio. +---> Ĉi tiu linio ebligos vin ekzerci vin postaldoni tekston al linio. + +RIMARKO: Ĉiu a, i kaj A iras al la sama Enmeta reĝimo, la nura malsamo + estas tie, kie la signoj estas enmetitaj. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.3 ALIA MANIERO POR ANSTATAŬIGI + + + ** Tajpu majusklan R por anstataŭigi pli ol unu signo. ** + + 1. Movu la kursoron al la unua suba linio markita per --->. Movu la + kursoron al la komenco de la unua xxx . + + 2. Nun premu R kaj tajpu la nombron sub ĝi en la dua linio, por ke ĝi + anstataŭigu la xxx . + + 3. Premu <ESK> por foriri la Anstataŭigan reĝimon. Rimarku, ke la cetera + parto de la linio restas neŝanĝata. + + 4. Ripetu la paŝojn por anstataŭigi la restantajn xxx. + +---> Aldono de 123 al xxx donas al vi xxx. +---> Aldono de 123 al 456 donas al vi 579. + +RIMARKO: Anstataŭiga reĝimo estas same kiel Enmeta reĝimo, sed ĉiu signo + tajpita forviŝas ekzistan signon. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.4 KOPII KAJ ALGLUI TEKSTON + + + ** Uzu la y operatoron por kopii tekston, kaj p por alglui ĝin ** + + + 1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)". + + 2. Komencu la Viduman reĝimon per v kaj movu la kursoron ĵus antaŭ "unua". + + 3. Tajpu y por kopii la emfazitan tekston. + + 4. Movu la kursoron ĉe la fino de la linio: j$ + + 5. Tajpu p por alglui la tekston. Tiam tajpu: a dua <ESK> . + + 6. Uzu Viduman reĝimon por apartigi " ero.", kopiu ĝin per y , moviĝu + ĉe la fino de la sekvanta linio per j$ kaj algluu la tekston tie + per p . + +---> a) tio estas la unua ero. + b) + +RIMARKO: vi povas ankaŭ uzi y kiel operatoro; yw kopias unu vorton. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.5 AGORDI OPCION + + ** Agordu opcion por ke serĉo aŭ anstataŭgo ignoru usklecon ** + + 1. Serĉu 'ignori' per tajpo de /ignori <Enenklavo> + Ripetu plurfoje premante n . + + 2. Ŝaltu la opcion 'ic' (ignori usklecon) per: :set ic + + 3. Nun serĉu 'ignori' denove premante n + Rimarku, ke Ignori kaj IGNORI estas nun troveblas. + + 4. Ŝaltu la opciojn 'hlsearch' kaj 'incsearch': :set hls is + + 5. Nun retajpu la serĉan komandon kaj vidu kio okazas: /ignore <Enenklavo> + + 6. Por malŝalti ignoron de uskleco: :set noic + +RIMARKO: Por forigi emfazon de kongruo, tajpu: :nohlsearch +RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu \c + en la frazo: /ignore\c <Enenklavo> + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6 RESUMO + + 1. Tajpu o por malfermi linion SUB la kursoro kaj eki en Enmeta reĝimo. + 1. Tajpu O por malfermi linion SUPER la kursoro. + + 2. Tajpu a por enmeti tekston POST la kursoro. + Tajpu A por enmeti tekston post la fino de la linio. + + 3. La e komando movas la kursoron al la fino de vorto. + + 4. la y operatoro kopias tekston, p algluas ĝin. + + 5. Tajpo de majuskla R eniras la Anstataŭigan reĝimon ĝis kiam + <ESK> estas premita. + + 6. Tajpo de ":set xxx" ŝaltas la opcion "xxx". Iuj opcioj estas: + 'ic' 'ignorecase' ignori usklecon dum serĉo + 'is' 'incsearch' montru partan kongruon dum serĉo + 'hls' 'hlsearch' emfazas ĉiujn kongruajn frazojn + Vi povas uzi aŭ la longan, aŭ la mallongan nomon de opcio. + + 7. Antaŭaldonu "no" por malŝalti la opcion: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7.1 AKIRI HELPON + + ** Uzu la helpan sistemon ** + + Vim havas ampleksan helpan sistemon. Por komenciĝi, provu unu el la tiuj + tri: + - premu la klavon <HELPO> (se vi havas ĝin) + - premu la klavon <F1> (se vi havas ĝin) + - tajpu :help <Enenklavo> + + Legu la tekston en la helpfenestro por trovi kiel helpo funkcias. + Tajpu CTRL-W CTRL-W por salti de unu fenestro al la alia. + Tajpu :q <Enenklavo> por fermi la helpan fenestron. + + Vi povas trovi helpon pri io ajn aldonante argumenton al la komando + ":help". Provu tiujn (ne forgesu premi <Enenklavo>): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7.2 KREI STARTAN SKRIPTON + + ** Ebligu eblecojn de Vim ** + + Vim havas multe pli da eblecoj ol Vi, sed la plej multaj estas defaŭlte + malŝaltitaj. Por ekuzi la eblecojn, vi devas krei dosieron "vimrc. + + 1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo: + :e ~/.vimrc por Unikso + :e $VIM/_vimrc por MS-Vindozo + + 2. Nun legu la enhavon de la ekzempla "vimrc" + :r $VIMRUNTIME/vimrc_example.vim + + 3. Konservu la dosieron per: + :w + + La sekvanta fojo, kiam vi lanĉas Vim, ĝi uzos sintaksan emfazon. + Vi povas aldoni ĉiujn viajn preferatajn agordojn al tiu dosiero "vimrc". + Por pli da informoj, tajpu :help vimrc-intro + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7.3 KOMPLETIGO + + ** Kompletigo de komanda linio per CTRL-D kaj <TAB> ** + + 1. Certigu ke Vim estas en kongrua reĝimo: :set nocp + + 2. Rigardu tiujn dosierojn, kiuj ekzistas en la dosierujo: :!ls aŭ :!dir + + 3. Tajpu la komencon de komando: :e + + 4. Premu CTRL-D kaj Vim montros liston de komandoj, kiuj komencas per "e". + + 5. Premu <TAB> kaj Vim kompletigos la nomon de la komando al ":edit". + + 6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI + + 7. Premu <TAB>. Vim kompletigos la nomon (se ĝi estas unika) + +RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj + <TAB>. Estas aparte utila por :help . + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7 RESUMO + + + 1. Tajpu :help aŭ premu <F1> aŭ <Helpo> por malfermi helpan fenestron. + + 2. Tajpu :help kmd por trovi helpon pri kmd. + + 3. Tajpu CTRL-W CTRL-W por salti al alia fenestro. + + 4. Tajpu :q to fermi la helpan fenestron. + + 5. Kreu komencan skripton vimrc por konservi viajn agordojn. + + 6. Kiam vi tajpas : komandon, premu CTRL-D por vidi ĉiujn kompleteblojn. + Premu <TAB> por uzi unu kompletigon. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Tio konkludas la instruilon de Vim. Ĝi celis doni mallongan superrigardon + de la redaktilo Vim, nur tio kio sufiĉas por ebligi al vi facilan uzon de + la redaktilo. Estas nepre nekompleta, ĉar Vim havas multajn multajn pliajn + komandojn. Legu la manlibron: ":help user-manual". + + Tiu instruilo estis verkita de Michael C. Pierce kaj Robert K. Ware, + el la Koloradia Lernejo de Minejoj (Colorado School of Mines) uzante + ideojn provizitajn de Charles Smith el la Stata Universitato de Koloradio + (Colorado State University) + + Retpoŝto: bware@mines.colorado.edu. + + Modifita por Vim de Bram Moolenaar. + + Tradukita en Esperanto de Dominique Pellé, 2008-04-01 + Retpoŝto: dominique.pelle@gmail.com + Lasta ŝanĝo: 2008-04-02 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/po/pl.po b/src/po/pl.po index 4f4e29ff3..696355d32 100644 --- a/src/po/pl.po +++ b/src/po/pl.po @@ -73,7 +73,7 @@ msgstr "E88: Nie mog przej przed pierwszy bufor" #, c-format msgid "E89: No write since last change for buffer %ld (add ! to override)" -msgstr "E89 Nie zapisano zmian w buforze %ld (wymu przez !)" +msgstr "E89: Nie zapisano zmian w buforze %ld (wymu przez !)" msgid "E90: Cannot unload last buffer" msgstr "E90: Nie mog wyadowa ostatniego bufora" @@ -339,7 +339,7 @@ msgstr "E111: Brak ']'" #, c-format msgid "E686: Argument of %s must be a List" -msgstr "E487: Argument %s musi by List" +msgstr "E686: Argument %s musi by List" #, c-format msgid "E712: Argument of %s must be a List or Dictionary" @@ -385,7 +385,7 @@ msgstr "E130: Nieznana funkcja: %s" #, c-format msgid "E461: Illegal variable name: %s" -msgstr "E418: Niedozwolona nazwa zmiennej: %s" +msgstr "E461: Niedozwolona nazwa zmiennej: %s" msgid "E687: Less targets than List items" msgstr "E687: Mniej celw ni elementw Listy" @@ -1064,7 +1064,7 @@ msgid "E156: Missing sign name" msgstr "E156: Brak nazwy znaku" msgid "E612: Too many signs defined" -msgstr "E255: Zbyt wiele nazw znakw" +msgstr "E612: Zbyt wiele nazw znakw" #, c-format msgid "E239: Invalid sign text: %s" @@ -1228,7 +1228,7 @@ msgstr "Brak pliku wymiany" msgid "Append File" msgstr "Docz plik" -msgid "E747: Cannot change directory, buffer is modifed (add ! to override)" +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: Nie mog zmieni katalogu, bufor zosta zmodyfikowany (dodaj ! aby " "wymusi)" @@ -1465,8 +1465,8 @@ msgstr "jest katalogiem" msgid "is not a file" msgstr "nie jest plikiem" -msgid "is a device (disabled with 'opendevice' option" -msgstr "jest urzdzeniem (wyczonym w opcji 'opendevice'" +msgid "is a device (disabled with 'opendevice' option)" +msgstr "jest urzdzeniem (wyczonym w opcji 'opendevice')" msgid "[New File]" msgstr "[Nowy Plik]" @@ -2523,8 +2523,7 @@ msgid "E265: $_ must be an instance of String" msgstr "E265: $_ musi by reprezentacj acucha" msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded." -msgstr "" -"E263: Przykro mi, ta komenda jest wyczona, bo nie mona zaadowa " +msgstr "E266: Przykro mi, ta komenda jest wyczona, bo nie mona zaadowa " "biblioteki Ruby." msgid "E267: unexpected return" @@ -2692,7 +2691,7 @@ msgstr "" "bufora/okna" msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded." -msgstr "Przykro mi, ta komenda jest wyczona, bo nie mona zaadowa biblioteki Tcl." +msgstr "E571: Przykro mi, ta komenda jest wyczona, bo nie mona zaadowa biblioteki Tcl." msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" msgstr "" @@ -3843,7 +3842,7 @@ msgid "E548: digit expected" msgstr "E548: oczekiwano cyfry" msgid "E549: Illegal percentage" -msgstr "E459: Niedozwolony procent" +msgstr "E549: Niedozwolony procent" msgid "Enter encryption key: " msgstr "Wprowad klucz do odkodowania: " diff --git a/src/po/zh_CN.po b/src/po/zh_CN.po index 3d3ab6285..5d9aceb5f 100644 --- a/src/po/zh_CN.po +++ b/src/po/zh_CN.po @@ -1207,7 +1207,7 @@ msgstr "ļ" msgid "Append File" msgstr "ļ" -msgid "E747: Cannot change directory, buffer is modifed (add ! to override)" +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "E747: ܸıĿ¼ ( ! ǿִ)" msgid "E186: No previous directory" diff --git a/src/term.c b/src/term.c index f1c718034..cbf406cb4 100644 --- a/src/term.c +++ b/src/term.c @@ -85,7 +85,8 @@ static void got_code_from_term __ARGS((char_u *code, int len)); static void check_for_codes_from_term __ARGS((void)); #endif #if defined(FEAT_GUI) \ - || (defined(FEAT_MOUSE) && (!defined(UNIX) || defined(FEAT_MOUSE_XTERM))) + || (defined(FEAT_MOUSE) && (!defined(UNIX) || defined(FEAT_MOUSE_XTERM) \ + || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE))) static int get_bytes_from_buf __ARGS((char_u *, char_u *, int)); #endif static void del_termcode_idx __ARGS((int idx)); @@ -1923,7 +1924,7 @@ set_termname(term) # endif clip_init(FALSE); # endif - if (term_is_xterm) + if (use_xterm_like_mouse(term)) { if (use_xterm_mouse()) p = NULL; /* keep existing value, might be "xterm2" */ @@ -2067,9 +2068,7 @@ set_termname(term) static int has_mouse_termcode = 0; # endif -# if (!defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_MOUSE_NET) \ - || defined(FEAT_MOUSE_DEC)) || defined(FEAT_MOUSE_JSB) \ - || defined(FEAT_MOUSE_PTERM) || defined(PROTO) +# if (!defined(UNIX) || defined(FEAT_MOUSE_TTY)) || defined(PROTO) void set_mouse_termcode(n, s) int n; /* KS_MOUSE, KS_NETTERM_MOUSE or KS_DEC_MOUSE */ @@ -2107,9 +2106,7 @@ set_mouse_termcode(n, s) # endif # if ((defined(UNIX) || defined(VMS) || defined(OS2)) \ - && (defined(FEAT_MOUSE_XTERM) || defined(FEAT_MOUSE_DEC) \ - || defined(FEAT_MOUSE_GPM) || defined(FEAT_MOUSE_PTERM))) \ - || defined(PROTO) + && defined(FEAT_MOUSE_TTY)) || defined(PROTO) void del_mouse_termcode(n) int n; /* KS_MOUSE, KS_NETTERM_MOUSE or KS_DEC_MOUSE */ @@ -2951,7 +2948,8 @@ get_long_from_buf(buf, val) #endif #if defined(FEAT_GUI) \ - || (defined(FEAT_MOUSE) && (!defined(UNIX) || defined(FEAT_MOUSE_XTERM))) + || (defined(FEAT_MOUSE) && (!defined(UNIX) || defined(FEAT_MOUSE_XTERM) \ + || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE))) /* * Read the next num_bytes bytes from buf, and store them in bytes. Assume * that buf has been through inchar(). Returns the actual number of bytes used @@ -3583,7 +3581,7 @@ add_termcode(name, string, flags) /* Change leading <Esc>[ to CSI, change <Esc>O to <M-O>. */ if (flags != 0 && flags != ATC_FROM_TERM && term_7to8bit(string) != 0) { - mch_memmove(s, s + 1, STRLEN(s)); + STRMOVE(s, s + 1); s[0] = term_7to8bit(string); } len = (int)STRLEN(s); @@ -3768,8 +3766,7 @@ switch_to_8bit() c = term_7to8bit(termcodes[i].code); if (c != 0) { - mch_memmove(termcodes[i].code + 1, termcodes[i].code + 2, - STRLEN(termcodes[i].code + 1)); + STRMOVE(termcodes[i].code + 1, termcodes[i].code + 2); termcodes[i].code[0] = c; } } @@ -3838,7 +3835,8 @@ check_termcode(max_offset, buf, buflen) int i, j; int idx = 0; #ifdef FEAT_MOUSE -# if !defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_GUI) +# if !defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_GUI) \ + || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE) char_u bytes[6]; int num_bytes; # endif @@ -4181,7 +4179,8 @@ check_termcode(max_offset, buf, buflen) { is_click = is_drag = FALSE; -# if !defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_GUI) +# if !defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_GUI) \ + || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE) if (key_name[0] == (int)KS_MOUSE) { /* |