diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-06-25 18:50:27 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-06-25 18:50:27 +0200 |
commit | 946e27ab65d6f5d25c449a1bf6aedd808149601f (patch) | |
tree | c89760ff953e00b9ff6f273fcaee9ba38dce4b70 /runtime | |
parent | b6da44ae82f93d036ffb2ba37a009119688d9971 (diff) | |
download | vim-946e27ab65d6f5d25c449a1bf6aedd808149601f.zip |
Updated runtime files.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/autoload/htmlcomplete.vim | 44 | ||||
-rw-r--r-- | runtime/doc/digraph.txt | 9 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 22 | ||||
-rw-r--r-- | runtime/doc/options.txt | 43 | ||||
-rw-r--r-- | runtime/doc/quickref.txt | 4 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 7 | ||||
-rw-r--r-- | runtime/doc/tags | 7 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 57 | ||||
-rw-r--r-- | runtime/ftplugin/html.vim | 44 | ||||
-rw-r--r-- | runtime/indent/html.vim | 58 | ||||
-rw-r--r-- | runtime/tutor/tutor.sr.cp1250 | 971 | ||||
-rw-r--r-- | runtime/tutor/tutor.sr.utf-8 | 971 | ||||
-rw-r--r-- | runtime/tutor/tutor.vim | 13 |
13 files changed, 2137 insertions, 113 deletions
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim index b2f1aeeb9..984ba8b58 100644 --- a/runtime/autoload/htmlcomplete.vim +++ b/runtime/autoload/htmlcomplete.vim @@ -1,7 +1,49 @@ " Vim completion script " Language: HTML and XHTML " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) -" Last Change: 2011 Apr 28 +" Last Change: 2014 Jun 20 + +" Distinguish between HTML versions. +" To use with other HTML versions add another "elseif" condition to match +" proper DOCTYPE. +function! htmlcomplete#DetectOmniFlavor() + if &filetype == 'xhtml' + let b:html_omni_flavor = 'xhtml10s' + else + let b:html_omni_flavor = 'html401t' + endif + let i = 1 + let line = "" + while i < 10 && i < line("$") + let line = getline(i) + if line =~ '<!DOCTYPE.*\<DTD ' + break + endif + let i += 1 + endwhile + if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above + if line =~ ' HTML 3\.2' + let b:html_omni_flavor = 'html32' + elseif line =~ ' XHTML 1\.1' + let b:html_omni_flavor = 'xhtml11' + else " two-step detection with strict/frameset/transitional + if line =~ ' XHTML 1\.0' + let b:html_omni_flavor = 'xhtml10' + elseif line =~ ' HTML 4\.01' + let b:html_omni_flavor = 'html401' + elseif line =~ ' HTML 4.0\>' + let b:html_omni_flavor = 'html40' + endif + if line =~ '\<Transitional\>' + let b:html_omni_flavor .= 't' + elseif line =~ '\<Frameset\>' + let b:html_omni_flavor .= 'f' + else + let b:html_omni_flavor .= 's' + endif + endif + endif +endfunction function! htmlcomplete#CompleteTags(findstart, base) if a:findstart diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt index cb9cd48ef..2be73da5b 100644 --- a/runtime/doc/digraph.txt +++ b/runtime/doc/digraph.txt @@ -1,4 +1,4 @@ -*digraph.txt* For Vim version 7.4. Last change: 2014 Apr 17 +*digraph.txt* For Vim version 7.4. Last change: 2014 Jun 19 VIM REFERENCE MANUAL by Bram Moolenaar @@ -170,6 +170,11 @@ used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is used for the euro sign, while both of them are the character 164, 0xa4. For compatibility with zsh Eu can also be used for the euro sign. +ROUBLE + +The rouble sign was added in 2014 as 0x20bd. Vim supports the digraphs =R and +=P for this. Note that R= and P= are other characters. + *digraph-table* char digraph hex dec official name ~ ^@ NU 0x00 0 NULL (NUL) @@ -966,6 +971,8 @@ char digraph hex dec official name ~ ₧ Pt 20A7 8359 PESETA SIGN ₩ W= 20A9 8361 WON SIGN € Eu 20AC 8364 EURO SIGN +₽ =R 20BD 8381 ROUBLE SIGN +₽ =P 20BD 8381 ROUBLE SIGN ℃ oC 2103 8451 DEGREE CELSIUS ℅ co 2105 8453 CARE OF ℉ oF 2109 8457 DEGREE FAHRENHEIT diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 695ac1f2b..c61ac07f4 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2014 Jun 12 +*eval.txt* For Vim version 7.4. Last change: 2014 Jun 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2609,7 +2609,7 @@ cursor({list}) with two, three or four item: [{lnum}, {col}, {off}] [{lnum}, {col}, {off}, {curswant}] - This is like the return value of |getpos()| or |getcurpos|, + This is like the return value of |getpos()| or |getcurpos()|, but without the first item. Does not change the jumplist. @@ -5629,11 +5629,19 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702* If you want a list to remain unmodified make a copy first: > :let sortedlist = sort(copy(mylist)) -< Uses the string representation of each item to sort on. - Numbers sort after Strings, |Lists| after Numbers. - For sorting text in the current buffer use |:sort|. +< When {func} is omitted, is empty or zero, then sort() uses the + string representation of each item to sort on. Numbers sort + after Strings, |Lists| after Numbers. For sorting text in the + current buffer use |:sort|. + + When {func} is given and it is is '1' or 'i' then case is + ignored. + + When {func} is given and it is 'n' then all items will be + sorted numerical (Implementation detail: This uses the + strtod() function to parse numbers, Strings, Lists, Dicts and + Funcrefs will be considered as being 0). - When {func} is given and it is one then case is ignored. When {func} is a |Funcref| or a function name, this function is called to compare items. The function is invoked with two items as argument and must return zero if they are equal, 1 or @@ -6555,7 +6563,7 @@ xor({expr}, {expr}) *xor()* *feature-list* -There are three types of features: +There are four types of features: 1. Features that are only supported when they have been enabled when Vim was compiled |+feature-list|. Example: > :if has("cindent") diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 6a2ad89a3..20391406f 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.4. Last change: 2014 May 28 +*options.txt* For Vim version 7.4. Last change: 2014 Jun 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1200,6 +1200,38 @@ A jump table for the options with a short description can be found at |Q_op|. break if 'linebreak' is on. Only works for ASCII and also for 8-bit characters when 'encoding' is an 8-bit encoding. + *'breakindent'* *'bri'* +'breakindent' 'bri' boolean (default off) + local to window + {not in Vi} + {not available when compiled without the |+linebreak| + feature} + Every wrapped line will continue visually indented (same amount of + space as the beginning of that line), thus preserving horizontal blocks + of text. + + *'breakindentopt'* *'briopt'* +'breakindentopt' 'briopt' string (default empty) + local to window + {not in Vi} + {not available when compiled without the |+linebreak| + feature} + Settings for 'breakindent'. It can consist of the following optional + items and must be seperated by a comma: + min:{n} Minimum text width that will be kept after + applying 'breakindent', even if the resulting + text should normally be narrower. This prevents + text indented almost to the right window border + occupying lot of vertical space when broken. + shift:{n} After applying 'breakindent', wrapped line + beginning will be shift by given number of + characters. It permits dynamic French paragraph + indentation (negative) or emphasizing the line + continuation (positive). + sbr Display the 'showbreak' value before applying the + additional indent. + The default value for min is 20 and shift is 0. + *'browsedir'* *'bsdir'* 'browsedir' 'bsdir' string (default: "last") global @@ -4575,12 +4607,13 @@ A jump table for the options with a short description can be found at |Q_op|. {not in Vi} {not available when compiled without the |+linebreak| feature} - If on Vim will wrap long lines at a character in 'breakat' rather + If on, Vim will wrap long lines at a character in 'breakat' rather than at the last character that fits on the screen. Unlike 'wrapmargin' and 'textwidth', this does not insert <EOL>s in the file, - it only affects the way the file is displayed, not its contents. The - value of 'showbreak' is used to put in front of wrapped lines. - This option is not used when the 'wrap' option is off or 'list' is on. + it only affects the way the file is displayed, not its contents. + If 'breakindent' is set, line is visually indented. Then, the value + of 'showbreak' is used to put in front of wrapped lines. This option + is not used when the 'wrap' option is off or 'list' is on. Note that <Tab> characters after an <EOL> are mostly not displayed with the right amount of white space. diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index 90d359775..79d87fa91 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.4. Last change: 2013 Jun 29 +*quickref.txt* For Vim version 7.4. Last change: 2014 Jun 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -624,6 +624,8 @@ Short explanation of each option: *option-list* 'bioskey' 'biosk' MS-DOS: use bios calls for input characters 'bomb' prepend a Byte Order Mark to the file 'breakat' 'brk' characters that may cause a line break +'breakindent' 'bri' wrapped line repeats indent +'breakindentopt' 'briopt' settings for 'breakindent' 'browsedir' 'bsdir' which directory to start browsing in 'bufhidden' 'bh' what to do when buffer is no longer in window 'buflisted' 'bl' whether the buffer shows up in the buffer list diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index a5de2f073..14b0bbffa 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1,4 +1,4 @@ -*starting.txt* For Vim version 7.4. Last change: 2014 Mar 29 +*starting.txt* For Vim version 7.4. Last change: 2014 Jun 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -167,7 +167,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly. *-+/* +/{pat} The cursor will be positioned on the first line containing "pat" in the first file being edited (see |pattern| for the - available search patterns). + available search patterns). The search starts at the cursor + position, which can be the first line or the cursor position + last used from |viminfo|. To force a search from the first + line use "+1 +/pat". +{command} *-+c* *-c* -c {command} {command} will be executed after the first file has been diff --git a/runtime/doc/tags b/runtime/doc/tags index bda3c6df2..f06335008 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -91,6 +91,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* 'bl' options.txt /*'bl'* 'bomb' options.txt /*'bomb'* 'breakat' options.txt /*'breakat'* +'breakindent' options.txt /*'breakindent'* +'breakindentopt' options.txt /*'breakindentopt'* +'bri' options.txt /*'bri'* +'briopt' options.txt /*'briopt'* 'brk' options.txt /*'brk'* 'browsedir' options.txt /*'browsedir'* 'bs' options.txt /*'bs'* @@ -2524,8 +2528,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :noh pattern.txt /*:noh* :nohlsearch pattern.txt /*:nohlsearch* :nor map.txt /*:nor* +:nore map.txt /*:nore* :norea map.txt /*:norea* :noreabbrev map.txt /*:noreabbrev* +:norem map.txt /*:norem* :noremap map.txt /*:noremap* :noremap! map.txt /*:noremap!* :noreme gui.txt /*:noreme* @@ -6826,6 +6832,7 @@ match() eval.txt /*match()* match-highlight pattern.txt /*match-highlight* match-parens tips.txt /*match-parens* matchadd() eval.txt /*matchadd()* +matchaddpos() eval.txt /*matchaddpos()* matcharg() eval.txt /*matcharg()* matchdelete() eval.txt /*matchdelete()* matchend() eval.txt /*matchend()* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index fb203b39f..d0ddf5b46 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.4. Last change: 2014 Jun 12 +*todo.txt* For Vim version 7.4. Last change: 2014 Jun 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -57,27 +57,18 @@ directory exists. (Sergio Gallelli, 2013 Dec 29) Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15) -Setting 'ttymouse' empty causes Dec mouse to be detected. (Elijah Griffin, -2014 May 13) - Python: ":py raw_input('prompt')" doesn't work. (Manu Hack) Value returned by virtcol() changes depending on how lines wrap. This is inconsistant with the documentation. -Serbian translation of the vimtutor. (Ivan Nejgebauer, 2014 Jun 2) - -Patch to add matchaddpos(), match using a position instead of a pattern. -To be used for matchparen. (Alexey Radkov, 2014 Jun 1) -Waiting for tests. Some on Jun 2. - MS-Windows: Crash opening very long file name starting with "\\". (Christian Brock, 2012 Jun 29) Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21) Patch to translate 0xce in K_NUL 3. (Yasuhiro Matsumoto, 2014 June 6) -Doesn't work yet. +Update by Nobuhiro Takasaki, Jun 19. Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19) @@ -87,8 +78,6 @@ Jun 8) Syntax file for gnuplot. Existing one is very old. (Andrew Rasmussen, 2014 Feb 24) -Add digraph for Rouble: =P. What's the Unicode? - Issue 174: Detect Mason files. No error for missing endwhile. (ZyX, 2014 Mar 20) @@ -109,6 +98,10 @@ Update from Ken Takata, 2014 Jan 10. Newer 2014 Apr 3. Win32: use 64 bit stat() if possible. (Ken Takata, 2014 May 12) More tests May 14. Update May 29. +The garbage collector may use too much stack. Make set_ref_in_item() +iterative instead of recursive. Test program by Marc Weber (2013 Dec 10) +Patch by Ben Fritz, 2014 Jun 22. + Idea: For a window in the middle (has window above and below it), use right-mouse-drag on the status line to move a window up/down without changing it's height? It's like dragging the status bar above it at the same time. @@ -121,9 +114,6 @@ This does not give an error: (Andre Sihera, 2014 Mar 21) This neither: (ZyX) vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1' -Patch for signs in GTK. (Christian Brabandt, 2014 Jun 10) -Asked about it. - 'viewdir' default on MS-Windows is not a good choice, it's a system directory. Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read from? @@ -133,6 +123,7 @@ Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman, When 'clipboard' is "unnamed", :g/pat/d is very slow. Only set the clipboard after the last delete? (Praful, 2014 May 28) +Patch by Christian Brabandt, 2014 Jun 18. Include a plugin manager with Vim? Neobundle seems to be the best currently. Long message about this from ZyX, 2014 Mar 23. And following replies. @@ -180,6 +171,16 @@ Editing an ascii file as ucs-2 or ucs-4 causes display errors. ":Next 1 some-arg" does not complain about trailing argument. Also for various other commands. (ZyX, 2014 Mar 30) +Patch to add sortuniq(). (Cade Forester, 2014 Mar 19) +Or add uniq() instead? Patch by lcd47, but it has problems. + +Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct +30) + +Patch to support expression argument to sort() instead of a function name. +Yasuhiro Matsumoto, 2013 May 31. +Or should we add a more general mechanism, like lambda functions? + VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow instead. (Samuel Ferencik, 2013 Sep 28) @@ -195,9 +196,6 @@ Patch to make test 100 work on MS-Windows. (Taro Muraoka, 2013 Dec 12) Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14) -Patch to add sortuniq(). (Cade Forester, 2014 Mar 19) -Or add uniq() instead? Patch by lcd47, but it has problems. - Perl: support for Activestate perl 5.18: Issue 170. Several syntax file match "^\s*" which may get underlined if that's in the @@ -300,19 +298,12 @@ Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar Patch by Christian Brabandt, 2013 Mar 23. Not 100% sure this is the right solution. -Patch to support expression argument to sort() instead of a function name. -Yasuhiro Matsumoto, 2013 May 31. -Or should we add a more general mechanism, like lambda functions? - Problem caused by patch 7.3.638: window->open does not update window correctly. Issue 91. Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}. (Christian Brabandt, 2013 Dec 9) -The garbage collector may use too much stack. Make set_ref_in_item() -iterative instead of recursive. Test program by Marc Weber (2013 Dec 10) - Exception caused by argument of return is not caught by try/catch. (David Barnett, 2013 Nov 19) @@ -323,17 +314,6 @@ Issue 28. Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt, 2013 Mar 19, later message) -- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav - Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30) - Version for latest MacVim: Tobia Conforto, 2009 Nov 23 - More recent version: https://retracile.net/wiki/VimBreakIndent - Posted to vim-dev by Taylor Hedberg, 2011 Nov 25 - Update by Taylor Hedberg, 2013 May 30. - Updated for Vim 7.4 by Ken Takata, 2013 Oct 5. - Update by Christian Brabandt, 2014 May 9. Remarks by Ken Takata. - Update by Christian 2014 May 12, github link on May 15 - 2014 May 28: remarks from Bram - Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15) Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May @@ -676,9 +656,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24) "0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22) -Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct -30) - Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011 May 24) Update May 26. diff --git a/runtime/ftplugin/html.vim b/runtime/ftplugin/html.vim index 418da06a6..7579080ea 100644 --- a/runtime/ftplugin/html.vim +++ b/runtime/ftplugin/html.vim @@ -20,49 +20,9 @@ if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1) setlocal formatoptions-=t formatoptions+=croql endif - if exists('&omnifunc') - " Distinguish between HTML versions - " To use with other HTML versions add another - " elseif condition to match proper DOCTYPE - setlocal omnifunc=htmlcomplete#CompleteTags - - if &filetype == 'xhtml' - let b:html_omni_flavor = 'xhtml10s' - else - let b:html_omni_flavor = 'html401t' - endif - let i = 1 - let line = "" - while i < 10 && i < line("$") - let line = getline(i) - if line =~ '<!DOCTYPE.*\<DTD ' - break - endif - let i += 1 - endwhile - if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above - if line =~ ' HTML 3\.2' - let b:html_omni_flavor = 'html32' - elseif line =~ ' XHTML 1\.1' - let b:html_omni_flavor = 'xhtml11' - else " two-step detection with strict/frameset/transitional - if line =~ ' XHTML 1\.0' - let b:html_omni_flavor = 'xhtml10' - elseif line =~ ' HTML 4\.01' - let b:html_omni_flavor = 'html401' - elseif line =~ ' HTML 4.0\>' - let b:html_omni_flavor = 'html40' - endif - if line =~ '\<Transitional\>' - let b:html_omni_flavor .= 't' - elseif line =~ '\<Frameset\>' - let b:html_omni_flavor .= 'f' - else - let b:html_omni_flavor .= 's' - endif - endif - endif + setlocal omnifunc=htmlcomplete#CompleteTags + call htmlcomplete#DetectOmniFlavor() endif " HTML: thanks to Johannes Zellner and Benji Fisher. diff --git a/runtime/indent/html.vim b/runtime/indent/html.vim index 601aad89f..d1f439905 100644 --- a/runtime/indent/html.vim +++ b/runtime/indent/html.vim @@ -2,7 +2,7 @@ " General: "{{{ " File: html.vim (Vimscript #2075) " Author: Andy Wokula <anwoku@yahoo.de> -" Last Change: 2013 Jun 12 +" Last Change: 2014 Jun 19 " Rev Days: 13 " Version: 0.9 " Vim Version: Vim7 @@ -30,6 +30,9 @@ let b:did_indent = 1 setlocal indentexpr=HtmlIndent() setlocal indentkeys=o,O,<Return>,<>>,{,},!^F +" Needed for % to work when finding start of a tag. +setlocal matchpairs+=<:> + let b:indent = {"lnum": -1} let b:undo_indent = "set inde< indk<| unlet b:indent" @@ -72,7 +75,7 @@ func! HtmlIndent_CheckUserSettings() "{{{ endfunc "}}} " Init Script Vars "{{{ -let s:usestate = 1 +let s:lasttick = 0 let s:css1indent = 0 let s:js1indent = 0 " not to be changed: @@ -150,7 +153,7 @@ func! s:CountITags(...) "{{{ if a:0==0 let s:block = s:newstate.block - let tmpline = substitute(s:curline, '<\zs\/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g') + let tmpline = substitute(s:curline, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g') if s:block == 3 let s:newstate.scripttype = s:GetScriptType(matchstr(tmpline, '\C.*<SCRIPT\>\zs[^>]*')) endif @@ -158,7 +161,7 @@ func! s:CountITags(...) "{{{ else let s:block = 0 " assume starting outside of a block let s:countonly = 1 " don't change state - let tmpline = substitute(s:altline, '<\zs\/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g') + let tmpline = substitute(s:altline, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g') let s:countonly = 0 endif endfunc "}}} @@ -321,6 +324,7 @@ func! s:FreshState(lnum) "{{{ " else within usual html let s:altline = tolower(getline(state.lnum)) + " check a:lnum-1 for closing comment (we need indent from the opening line) let comcol = stridx(s:altline, '-->') if comcol >= 0 @@ -337,11 +341,28 @@ func! s:FreshState(lnum) "{{{ " TODO check tags that follow "-->" endif + " Check if the previous line starts with end tag. + let swendtag = match(s:altline, '^\s*</') >= 0 + + " If previous line ended in a closing tag, line up with the opening tag. + " Avoids aligning with continuation lines. + " TODO: this assumes the start tag is at the start of a line. + if !swendtag && s:altline =~ '</\w\+\s*>\s*$' + call cursor(state.lnum, 99999) + normal F<h + " TODO: doesn't work for nested <br> and the like + let slnum = searchpair('<\w\+', '', '</\w', 'bW') + if slnum > 0 + let state.baseindent = indent(slnum) + return state + endif + endif + " else no comments + let state.lnum = s:FindTagStart(state.lnum) + let s:altline = tolower(getline(state.lnum)) call s:CountITags(1) let state.baseindent = indent(state.lnum) + s:nextrel * s:ShiftWidth() - " line starts with end tag - let swendtag = match(s:altline, '^\s*</') >= 0 if !swendtag let state.baseindent += s:curind * s:ShiftWidth() endif @@ -380,6 +401,7 @@ func! s:CSSIndent() "{{{ endif let minline = b:indent.blocklnr let pnum = s:css_prevnoncomment(v:lnum - 1, minline) + let pnum = s:FindTagStart(pnum) if pnum <= minline " < is to catch errors " indent for first content line after comments @@ -431,6 +453,19 @@ func! s:Alien5() "{{{ return -1 endfunc "}}} +" When the "lnum" line ends in ">" find the line containing the +" matching "<". Avoids using the indent of a continuation line. +" Moves the cursor. +" Return the matching line number or "lnum". +func! s:FindTagStart(lnum) "{{{ + if getline(a:lnum) =~ '>\s*$' + call cursor(a:lnum, 99999) + normal! % + return line('.') + endif + return a:lnum +endfunc "}}} + func! HtmlIndent() "{{{ let s:curline = tolower(getline(v:lnum)) let indentunit = s:ShiftWidth() @@ -441,7 +476,7 @@ func! HtmlIndent() "{{{ " does the line start with a closing tag? let swendtag = match(s:curline, '^\s*</') >= 0 - if prevnonblank(v:lnum-1) == b:indent.lnum && s:usestate + if prevnonblank(v:lnum-1) == b:indent.lnum && s:lasttick == b:changedtick - 1 " use state (continue from previous line) else " start over (know nothing) @@ -465,14 +500,10 @@ func! HtmlIndent() "{{{ let indent = s:Alien{b:indent.block}() let s:newstate.baseindent = b:indent.blocktagind + s:nextrel * indentunit endif - call extend(b:indent, s:newstate, "force") - return indent else " block continues " indent this line with alien method let indent = s:Alien{b:indent.block}() - call extend(b:indent, s:newstate, "force") - return indent endif else " not within a block - within usual html @@ -486,9 +517,10 @@ func! HtmlIndent() "{{{ let indent = b:indent.baseindent let s:newstate.baseindent = indent + (s:curind + s:nextrel) * indentunit endif - call extend(b:indent, s:newstate, "force") - return indent endif + let s:lasttick = b:changedtick + call extend(b:indent, s:newstate, "force") + return indent endfunc "}}} diff --git a/runtime/tutor/tutor.sr.cp1250 b/runtime/tutor/tutor.sr.cp1250 new file mode 100644 index 000000000..a99aacc34 --- /dev/null +++ b/runtime/tutor/tutor.sr.cp1250 @@ -0,0 +1,971 @@ +=============================================================================== += D o b r o d o l i u VIM p r i r u n i k - Verzija 1.7 = +=============================================================================== + + Vim je moan editor sa mnogo komandi, suvie da bismo ih ovde sve + opisali. Prirunik je zamiljen da opie dovoljno komandi da biste + mogli lagodno da koristite Vim kao editor opte namene. + + Priblino vreme potrebno za uspean zavretak prirunika je izmeu + 25 i 30 minuta, u zavisnosti od vremena potroenog na vebu. + + UPOZORENJE: + Komande u lekcijama e menjati tekst. Iskopirajte ovaj fajl i + vebajte na kopiji (ako ste pokrenuli "vimtutor" ovo je ve kopija). + + Vano je upamtiti da je ovaj prirunik zamiljen za aktivnu vebu. + To znai da morate upotrebljavati komande o kojima itate da biste + ih nauili. Ako samo itate tekst, zaboraviete komande! + + Ako je Caps Lock ukljuen ISKLJUITE ga. Pritisnite taster j dovoljno + puta da lekcija 1.1 cela stane na ekran. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.1: POMERANJE KURSORA + + + ** Za pomeranje kursora, pritiskajte tastere h,j,k,l kako je prikazano ** + ^ + k Savet: h je s leve strane i pomera kursor u levo. + < h l > l je s desne strane i pomera kursor u desno. + j j izgleda kao strelica nanie. + v + 1. Pomerajte kursor po ekranu dok se ne naviknete na komande. + + 2. Pritisnite taster (j) dok ne pone da se ponavlja. + Sada znate kako da doete do naredne lekcije. + + 3. Koristei taster j preite na lekciju 1.2. + +NAPOMENA: Ako niste sigurni ta ste zapravo pritisnuli, pritisnite <ESC> + za prelazak u Normal mod i pokuajte ponovo. + +NAPOMENA: Strelice takoe pomeraju kursor, ali korienje tastera hjkl je + znatno bre, kad se jednom naviknete na njih. Zaista! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.2: IZLAZAK IZ VIM-a + + + !! UPOZORENJE: Pre izvoenja bilo kog koraka, proitajte celu lekciju!! + + 1. Pritisnite <ESC> (editor je sada u Normal modu). + + 2. Otkucajte: :q! <ENTER>. + Ovime se izlazi iz editora, sa GUBITKOM svih izmena. + + 3. Kada se pojavi komandni prompt, unesite komandu koja je pokrenula + ovaj prirunik: vimtutor <ENTER> + + 4. Ako ste upamtili ove korake, izvrite ih redom od 1 do 3 da biste + izali iz editora i ponovo ga pokrenuli. + +NAPOMENA: :q! <ENTER> ponitava sve izmene koje ste napravili. + U narednim lekcijama nauiete kako da sauvate izmene. + + 5. Pomerite kursor na lekciju 1.3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.3: IZMENA TEKSTA - BRISANJE + + + ** Pritisnite x za brisanje znaka pod kursorom. ** + + 1. Pomerite kursor na red oznaen sa --->. + + 2. Da biste ispravili greke, pomerajte kursor dok se + ne nae na slovu koje treba izbrisati. + + 3. Pritisnite taster x da izbriete neeljeno slovo. + + 4. Ponavljajte korake od 2 do 4 dok ne ispravite sve greke. + +---> RRRibaa riibi grizzze rrreepp. + + 5. Kad ispravite red, preite na lekciju 1.4. + +NAPOMENA: Dok koristite prirunik, nemojte uiti komande napamet, + ve vebajte njihovu primenu. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.4: IZMENA TEKSTA - UBACIVANJE + + + ** Pritisnite i za ubacivanje teksta ispred kursora. ** + + 1. Pomerite kursor na prvi sledei red oznaen sa --->. + + 2. Da biste tekst prvog reda izjednaili s tekstom drugog, namestite + kursor na prvi znak POSLE kog ete ubaciti potreban tekst. + + 3. Pritisnite i pa unesite potrebne dopune. + + 4. Po ispravci svake greke pritisnite <ESC> da se vratite u Normal mod. + Ponovite korake od 2 do 4 da biste ispravili celu reenicu. + +---> Do teka neoje v red. +---> Deo teksta nedostaje iz ovog reda. + + 5. Preite na sledeu lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.5: IZMENA TEKSTA - DODAVANJE + + + ** Pritisnite A za dodavanje teksta. ** + + 1. Pomerite kursor na prvi sledei red oznaen sa --->. + Nije vano gde se nalazi kursor u tom redu. + + 2. Pritisnite A i unesite dodatni tekst. + + 3. Poto ste dodali tekst, pritisnite <ESC> za povratak u + Normal mod. + + 4. Pomerite kursor na drugi red oznaen sa ---> i ponavljajte + korake 2 i 3 dok ne ispravite tekst. + +---> Deo teksta nedostaje u + Deo teksta nedostaje u ovom redu. +---> Deo teksta nedostaje + Deo teksta nedostaje i ovde. + + 5. Preite na lekciju 1.6. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.6: IZMENA FAJLA + + + ** Upotrebite :wq za snimanje teksta i izlazak iz editora. ** + + !! UPOZORENJE: Pre izvoenja bilo kog koraka, proitajte celu lekciju!! + + 1. Izaite iz editora kao u lekciji 1.2: :q! + + 2. Na komandnom promptu unesite sledeu komandu: vim tutor <ENTER> + 'vim' je komanda za pokretanja Vim editora, 'tutor' je ime fajla koji + elite da menjate. Koristite fajl koji imate pravo da menjate. + + 3. Ubacujte i briite tekst kao u prethodnim lekcijama. + + 4. Snimite izmenjeni tekst i izaite iz Vim-a: :wq <ENTER> + + 5. Ponovo pokrenite vimtutor i proitajte rezime koji sledi. + + 6. Poto proitate korake iznad i u potpunosti ih razumete: + izvrite ih. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 1 + + + 1. Kursor se pomera strelicama ili pomou tastera hjkl . + h (levo) j (dole) k (gore) l (desno) + + 2. Za pokretanje Vim-a iz shell-a: vim IME_FAJLA <ENTER> + + 3. Izlaz: <ESC> :q! <ENTER> sve promene su izgubljene. + ILI: <ESC> :wq <ENTER> promene su sauvane. + + 4. Brisanje znaka na kome se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i unesite tekst <ESC> unos ispred kursora + A unesite tekst <ESC> dodavanje na kraju reda + +NAPOMENA: Pritiskom na <ESC> prebacujete Vim u Normal mod i + prekidate neeljenu ili delimino izvrenu komandu. + +Nastavite sa lekcijom 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.1: NAREDBE BRISANJA + + + ** Otkucajte dw za brisanje rei. ** + + 1. Pritisnite <ESC> da biste bili sigurni da ste u Normal modu. + + 2. Pomerite kursor na red oznaen sa --->. + + 3. Pomerite kursor na poetak rei koju treba izbrisati. + + 4. Otkucajte dw da biste uklonili re. + +NAPOMENA: Slovo d e se pojaviti na dnu ekrana kad ga otkucate. Vim eka + da otkucate w . Ako je prikazano neko drugo slovo, pogreili ste u + kucanju; pritisnite <ESC> i pokuajte ponovo. (Ako se ne pojavi + nita, moda je iskljuena opcija 'showcmd': vidi lekciju 6.5.) + +---> Neke rei smeno ne pripadaju na papir ovoj reenici. + + 5. Ponavljajte korake 3 i 4 dok ne ispravite reenicu, pa + preite na lekciju 2.2. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.2: JO BRISANJA + + + ** Otkucajte d$ za brisanje znakova do kraja reda. ** + + 1. Pritisnite <ESC> da biste bili sigurni da ste u Normal modu. + + 2. Pomerite kursor na red oznaen sa --->. + + 3. Pomerite kursor do kraja ispravnog dela reenice + (POSLE prve . ). + + 4. Otkucajte d$ za brisanje ostatka reda. + +---> Neko je uneo kraj ovog reda dvaput. kraj ovog reda dvaput. + + 5. Preite na lekciju 2.3 za podrobnije objanjenje. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.3: O OPERATORIMA I POKRETIMA + + + Mnoge komande za izmenu teksta sastoje se od operatora i pokreta. + Oblik komande brisanja sa d operatorom je sledei: + + d pokret + + Pri emu je: + d - operator brisanja. + pokret - ono na emu e se operacija izvravati (opisano u nastavku). + + Kratak spisak pokreta: + w - sve do poetka sledee rei, NE UKLJUUJUI prvo slovo. + e - sve do kraja tekue rei, UKLJUUJUI poslednje slovo. + $ - sve do kraje reda, UKLJUUJUI poslednje slovo. + + Kucanjem de brisae se tekst od kursora do kraja rei. + +NAPOMENA: Pritiskom samo na taster pokreta dok ste u Normal modu, bez + operatora, kursor se pomera kao to je opisano. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.4: KORIENJE BROJANJA ZA POKRETE + + + ** Unoenjem nekog broja pre pokreta, pokret se izvrava taj broj puta. ** + + 1. Pomerite kursor na red oznaen sa --->. + + 2. Otkucajte 2w da pomerite kursor dve rei napred. + + 3. Otkucajte 3e da pomerite kursor na kraj tree rei napred. + + 4. Otkucajte 0 (nulu) da pomerite kursor na poetak reda. + + 5. Ponovite korake 2 i 3 s nekim drugim brojevima. + +---> Reenica sa reima po kojoj moete pomerati kursor. + + 6. Preite na lekciju 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.5: KORIENJE BROJANJA ZA VEE BRISANJE + + + ** Unoenje nekog broja s operatorom ponavlja operator taj broj puta. ** + + U kombinaciji operatora brisanja s pokretima spomenutim iznad + moete uneti broj pre pokreta da biste izbrisali vie znakova: + + d broj pokret + + 1. Pomerite kursor na prvo slovo u rei s VELIKIM SLOVIMA u redu + oznaenom sa --->. + + 2. Otkucajte d2w da izbriete dve rei sa VELIKIM SLOVIMA + + 3. Ponovite korake 1 i 2 sa razliitim brojevima da izbriete + uzastopne rei sa VELIKIM SLOVIMA korienjem samo jedne komande. + +---> ovaj ABC DE red FGHI JK LMN OP s reima je RS TUVZ ispravljen. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.6: OPERACIJE NAD REDOVIMA + + + ** Otkucajte dd za brisanje celog reda. ** + + Zbog uestalosti brisanja celih redova, autori Vi-ja odluili su da + je lake brisati redove ako se otkuca d dvaput. + + 1. Pomerite kursor na drugi red u donjoj strofi. + 2. Otkucajte dd da ga izbriete. + 3. Pomerite kursor na etvrti red. + 4. Otkucajte 2dd da biste izbrisali dva reda. + +---> 1) Sedlo mi je od marame, +---> 2) blato na sve strane, +---> 3) uzda od kanapa, +---> 4) auto mi je ovde, +---> 5) satovi pokazuju vreme, +---> 6) a bi mi je od oina +---> 7) prebijena tapa. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.7: PONITAVANJE PROMENA + + + ** Pritisnite u za ponitavanje poslednje komande, U za ceo red. ** + + 1. Pomerite kursor na red oznaen sa ---> i postavite ga na mesto + prve greke. + 2. Otkucajte x da izbriete prvi neeljeni znak. + 3. Otkucajte u da ponitite poslednju izvrenu komandu. + 4. Sad ispravite sve greke u redu koristei komandu x . + 5. Otkucajte veliko U da biste vratili sadraj reda u prvobitno + stanje. + 6. Onda otkucajte u nekoliko puta da biste ponitili U + i prethodne komande. + 7. Sad otkucajte CTRL-R (drei CTRL dok pritiskate R) + nekoliko puta da biste vratili izmene (ponitili ponitavanja). + +---> Iiisspravite greke uu ovvom redu ii poonititeee ih. + + 8. Ovo su veoma korisne komande. Preite na rezime lekcije 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 2 + + + 1. Brisanje od kursora do sledee rei: dw + 2. Brisanje od kursora do kraja reda: d$ + 3. Brisanje celog reda: dd + + 4. Za ponavljanje pokreta prethodno unesite broj: 2w + 5. Oblik komande za izmenu: + operator [broj] pokret + gde je: + operator - ta uraditi, recimo d za brisanje + [broj] - neobavezan broj ponavljanja pokreta + pokret - kretanje po tekstu na kome se radi, + kao to je: w (re), $ (kraj reda), itd. + + 6. Pomeranje kursora na poetak reda: 0 + + 7. Za ponitavanje prethodnih izmena, pritisnite: u (malo u) + Za ponitavanje svih promena u redu, pritisnite: U (veliko U) + Za vraanja promena, otkucajte: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.1: KOMANDA POSTAVLJANJA + + + ** Otkucajte p da postavite prethodno izbrisan tekst iza kursora. ** + + 1. Pomerite kursor na prvi sledei red oznaen sa --->. + + 2. Otkucajte dd da izbriete red i smestite ga u Vim registar. + + 3. Pomerite kursor na red c), IZNAD mesta gde treba postaviti izbrisan red. + + 4. Otkucajte p da postavite red ispod kursora. + + 5. Ponavljajte korake 2 do 4 da biste postavili sve linije u pravilnom + redosledu. + +---> d) prebijena tapa. +---> b) uzda od kanapa, +---> c) a bi mi je od oina +---> a) Sedlo mi je od marame, + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.2: KOMANDA ZAMENE + + + ** Otkucajte rx da zamenite znak ispod kursora slovom x . ** + + 1. Pomerite kursor na prvi sledei red oznaen sa --->. + + 2. Pomerite kursor tako da se nalazi na prvoj greci. + + 3. Otkucajte r i onda znak koji treba da tu stoji. + + 4. Ponavljajte korake 2 i 3 sve dok prvi red ne bude + isti kao drugi. + +---> Kedi ju ovej red ugaen, nako je protresao pustane testere! +---> Kada je ovaj red unoen, neko je pritiskao pogrene tastere! + + 5. Preite na lekciju 3.2. + +NAPOMENA: Setite se da treba da uite vebanjem, ne pamenjem. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.3: OPERATOR IZMENE + + + ** Za izmenu teksta do kraja rei, otkucajte ce .** + + 1. Pomerite kursor na prvi sledei red oznaen sa --->. + + 2. Postavite kursor na a u rakdur. + + 3. Otkucajte ce i ispravite re (u ovom sluaju otkucajte ed ). + + 4. Pritisnite <ESC> i pomerite kursor na sledei znak koji + treba ispraviti. + + 5. Ponavljajte korake 3 i 4 sve dok prva reenica ne bude ista + kao druga. + +---> Ovaj rakdur ima nekoliko rejga koje treflja isprpikati operagrom izmene. +---> Ovaj red ima nekoliko rei koje treba ispraviti operatorom izmene. + +Uoite da ce brie re i postavlja editor u Insert mod. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.4: DALJE IZMENE UPOTREBOM c + + + ** Komanda izmene se koristi sa istim pokretima kao i brisanje. ** + + 1. Operator izmene se koristi na isti nain kao i operator brisanja: + + c [broj] pokret + + 2. Pokreti su isti, recimo: w (re) i $ (kraj reda). + + 3. Pomerite kursor na prvi sledei red oznaen sa --->. + + 4. Pomerite kursor na prvu greku. + + 5. Otkucajte c$ i unesite ostatak reda tako da bude isti kao + drugi red, pa pritisnite <ESC>. + +---> Kraj ovog reda treba izmeniti tako da izgleda kao red ispod. +---> Kraj ovog reda treba ispraviti korienjem c$ komande. + +NAPOMENA: Za ispravljanje greaka moete koristiti Backspace . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 3 + + + 1. Za postavljanje teksta koji ste upravo izbrisali, pritisnite p . Ovo + postavlja tekst IZA kursora (ako je bio izbrisan jedan ili vie redova + sadraj e doi na red ispod kursora). + + 2. Za zamenu znaka na kome se nalazi kursor, pritisnite r i onda + eljeni znak. + + 3. Operator izmene dozvoljava promenu teksta od kursora do pozicije gde + se zavrava pokret. Primera radi, kucajte ce za izmenu od kursora do + kraja rei, ili c$ za izmenu od kursora do kraja reda. + + 4. Oblik operacije izmene je: + + c [broj] pokret + +Preite na narednu lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.1: POZICIJA KURSORA I STATUS FAJLA + + ** Pritisnite CTRL-G za prikaz pozicije kursora u tekstu i status fajla. + Pritisnite G za pomeranje kursora na neki red u tekstu. ** + +NAPOMENA: Proitajte celu lekciju pre izvoenja bilo kog koraka!! + + 1. Drite taster CTRL i pritisnite g . Ovo zovemo CTRL-G. + Editor e na dnu ekrana ispisati poruku sa imenom fajla i pozicijom + kursora u tekstu. Zapamtite broj reda za 3. korak. + +NAPOMENA: U donjem desnom uglu moe se videti poziciju kursora ako je + ukljuena opcija 'ruler' (vidi :help ruler ili lekciju 6.5.) + + 2. Pritisnite G za pomeranje kursora na kraj teksta. + Pritisnite 1G ili gg za pomranje kursora na poetak teksta. + + 3. Otkucajte broj reda na kome ste malopre bili i onda G . Kursor + e se vratiti na red na kome je bio kad ste otkucali CTRL-G. + + 4. Ako ste spremni, izvrite korake od 1 do 3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.2: KOMANDE PRETRAIVANJA + + ** Otkucajte / i onda izraz koji elite da potraite. ** + + 1. U Normal modu otkucajte znak / . Primietite da se znak pojavio + zajedno sa kursorom na dnu ekrana kao i kod komande : . + + 2. Sada otkucajte 'grrreka' <ENTER>. (Bez razmaka i navodnika.) + To je re koju traite. + + 3. Za ponovno traenje istog izraza, otkucajte n . + Za traenje istog izraza u suprotnom smeru, otkucajte N . + + 4. Za traenje izraza unatrag, koristite ? umesto / . + + 5. Za povratak na prethodnu poziciju otkucajte CTRL-O (drite CTRL dok + pritiskate O ). Ponavljajte za ranije pozicije. CTRL-I ide napred. + +---> "grrreka" je pogreno; umesto grrreka treba da stoji greka. + +NAPOMENA: Ako pretraga doe do kraja teksta traenje e se nastaviti od + njegovog poetka osim ako je opcija 'wrapscan' iskljuena. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.3: TRAENJE PARA ZAGRADE + + + ** Otkucajte % za nalaenje para ), ] ili } . ** + + 1. Postavite kursor na bilo koju od ( , [ ili { + otvorenih zagrada u redu oznaenom sa --->. + + 2. Otkucajte znak % . + + 3. Kursor e se pomeriti na odgovarajuu zatvorenu zagradu. + + 4. Otkucajte % da pomerite kursor na prvu zagradu u paru. + + 5. Pomerite kursor na neku od (,),[,],{ ili } i ponovite komandu % . + +---> Red ( testiranja obinih ( [ uglastih ] i { vitiastih } zagrada.)) + + +NAPOMENA: Vrlo korisno u ispravljanju koda sa rasparenim zagradama! + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.4: KOMANDA ZAMENE + + + ** Otkucajte :s/staro/novo/g da zamenite 'staro' za 'novo'. ** + + 1. Pomerite kursor na red oznaen sa --->. + + 2. Otkucajte :s/rdi/ri/ <ENTER> . Primetite da ova komanda zamenjuje + samo prvo "rdi" u redu. + + 3. Otkucajte :s/rdi/ri/g . Dodavanje opcije g znai da e se komanda + izvriti u celom redu, zamenom svih pojava niza "rdi". + +---> rdiba rdibi grdize rep. + + 4. Za zamenu svih izraza izmeu neka dva reda, + otkucajte :#,#s/staro/novo/g gde su #,# krajnji brojevi redova u opsegu + u kome e se obaviti zamena. + Otkucajte :%s/staro/novo/g za zamenu svih izraza u celom tekstu. + Otkucajte :%s/staro/novo/gc za nalaenje svih izraza u tekstu i + potvrdu zamene. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 4 + + + 1. CTRL-G prikazuje poziciju kursora u tekstu i status fajla. + G pomera kursor na kraj teksta. + broj G pomera kursor na navedeni red. + gg pomera kursor na prvi red teksta. + + 2. Kucanjem / sa izrazom taj izraz se trai UNAPRED. + Kucanjem ? sa izrazom taj izraz se trai UNAZAD. + Posle komande traenja koristite n za nalaenje izraza u istom + smeru, a N za nalaenje u suprotnom smeru. + CTRL-O vraa kursor na prethodnu poziciju, a CTRL-I na narednu. + + 3. Kucanjem % kad je kursor na zagradi on se pomera na njen par. + + 4. Za zamenu prvog izraza staro za izraz novo :s/staro/novo/ + Za zamenu svih izraza u celom redu :s/staro/novo/g + Za zamenu svih izraza u opsegu linija #,# :#,#s/staro/novo/g + Za zamenu u celom tekstu :%s/staro/novo/g + Za potvrdu svake zamene dodajte 'c' :%s/staro/novo/gc + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.1: IZVRAVANJE SPOLJANJIH KOMANDI + + + ** Otkucajte :! pa spoljanju komandu koju elite da izvrite. ** + + 1. Otkucajte poznatu komandu : da biste namestili kursor na dno + ekrana. Time omoguavate unos komande u komandnoj liniji editora. + + 2. Otkucajte znak ! (uzvinik). Ovime omoguavate + izvravanje bilo koje spoljanje komande. + + 3. Kao primer otkucajte ls posle ! i pritisnite <ENTER>. Ovo e + prikazati sadraj direktorijuma, kao da ste na komandnom promptu. + Otkucajte :!dir ako :!ls ne radi. + +NAPOMENA: Na ovaj nain mogue je izvriti bilo koju spoljanju komandu, + zajedno sa njenim argumentima. + +NAPOMENA: Sve : komande se izvravaju poto pritisnete <ENTER> . + U daljem tekstu to neemo uvek napominjati. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.2: VIE O SNIMANJU FAJLOVA + + ** Za snimanje promena, otkucajte :w IME_FAJLA . ** + + 1. Otkucajte :!dir ili :!ls za pregled sadraja direktorijuma. + Ve znate da morate pritisnuti <ENTER> posle toga. + + 2. Izaberite ime fajla koji jo ne postoji, npr. TEST. + + 3. Otkucajte: :w TEST (gde je TEST ime koje ste izabrali.) + + 4. Time ete snimiti ceo fajl (Vim Tutor) pod imenom TEST. + Za proveru, otkucajte opet :!dir ili :!ls za pregled + sadraja direktorijuma. + +NAPOMENA: Ako biste napustili Vim i ponovo ga pokrenuli sa vim TEST , + tekst bi bio tana kopija ovog fajla u trenutku kad ste + ga snimili. + + 5. Izbriite fajl tako to ete otkucati (MS-DOS): :!del TEST + ili (Unix): :!rm TEST + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.3: SNIMANJE OZNAENOG TEKSTA + + + ** Da biste snimili deo teksta, otkucajte v pokret :w IME_FAJLA ** + + 1. Pomerite kursor na ovu liniju. + + 2. Pritisnite v i pomerite kursor pet redova ispod. Primetite da je + tekst oznaen inverzno. + + 3. Pritisnite : . Na dnu ekrana pojavie se :'<,'> . + + 4. Otkucajte w TEST , gde je TEST ime fajla koji jo ne postoji. + Proverite da zaista pie :'<,'>w TEST pre nego to pritisnete <ENTER>. + + 5. Vim e snimiti oznaeni tekst u TEST. Proverite sa :!dir ili !ls . + Nemojte jo brisati fajl! Koristiemo ga u narednoj lekciji. + +NAPOMENA: Komanda v zapoinje vizuelno oznaavanje. Moete pomerati kursor + i tako menjati veliinu oznaenog teksta. Onda moete upotrebiti + operatore nad tekstom. Na primer, d e izbrisati oznaeni tekst. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.4: UITAVANJE FAJLA U TEKST + + + ** Za ubacivanje sadraja fajla, otkucajte :r IME_FAJLA ** + + 1. Postavite kursor iznad ove linije. + +NAPOMENA: Poto izvrite 2. korak videete tekst iz lekcije 5.3. Tada + pomerite kursor DOLE da biste ponovo videli ovu lekciju. + + 2. Uitajte fajl TEST koristei komandu :r TEST gde je TEST ime fajla + koje ste koristili u prethodnoj lekciji. Sadraj uitanog fajla je + ubaen ispod kursora. + + 3. Da biste proverili da je fajl uitan, vratite kursor unazad i + primetite dve kopije lekcije 5.3, originalnu i onu iz fajla. + +NAPOMENA: Takoe moete uitati izlaz spoljanje komande. Na primer, + :r !ls e uitati izlaz komande ls i postaviti ga ispod + kursora. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 5 + + + 1. :!komanda izvrava spoljanju komandu. + + Korisni primeri: + (MS-DOS) (Unix) + :!dir :!ls - pregled sadraja direktorijuma. + :!del FAJL :!rm FAJL - brie fajl FAJL. + + 2. :w FAJL zapisuje trenutni tekst na disk pod imenom FAJL. + + 3. v pokret :w IME_FAJLA snima vizuelno oznaene redove u fajl + IME_FAJLA. + + 4. :r IME_FAJLA uitava fajl IME_FAJLA sa diska i stavlja + njegov sadraj ispod kursora. + + 5. :r !dir uitava izlaz komande dir i postavlja ga ispod kursora. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.1: KOMANDA OTVORI + + + ** Pritisnite o da biste otvorili red ispod kursora + i preli u Insert mod. ** + + 1. Pomerite kursor na sledei red oznaen sa --->. + + 2. Otkucajte malo o da biste otvorili novi red ISPOD kursora + i preli u Insert mod. + + 3. Otkucajte neki tekst i onda pritisnite <ESC> da biste izali + iz Insert moda. + +---> Kad pritisnete o kursor prelazi u novootvoreni red u Insert modu. + + 4. Za otvaranje reda IZNAD kursora, umesto malog otkucajte veliko O . + Isprobajte na donjem redu oznaenom sa --->. + +---> Otvorite red iznad ovog kucanjem velikog O dok je kursor u ovom redu. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.2: KOMANDA DODAJ + + + ** Otkucajte a za dodavanje teksta IZA kursora. ** + + 1. Pomerite kursor na poetak sledeeg reda oznaenog sa --->. + + 2. Kucajte e dok kursor ne doe na kraj rei re . + + 3. Otkucajte a (malo) da biste dodali tekst IZA kursora. + + 4. Dopunite re kao to je u redu ispod. Pritisnite <ESC> za izlazak + iz Insert moda. + + 5. Sa e preite na narednu nepotpunu re i ponovite korake 3 i 4. + +---> Ovaj re omoguava ve dodav teksta u nekom redu. +---> Ovaj red omoguava vebanje dodavanja teksta u nekom redu. + +NAPOMENA: Komande a, i, i A aktiviraju isti Insert mod, jedina + razlika je u poziciji od koje e se tekst ubacivati. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.3: DRUGI NAIN ZAMENE + + + ** Otkucajte veliko R da biste zamenili vie od jednog znaka. ** + + 1. Pomerite kursor na prvi sledei red oznaen sa --->. + Pomerite kursor na poetak prvog xxx . + + 2. Pritisnite R i otkucajte broj koji je red ispod, + tako da zameni xxx . + + 3. Pritisnite <ESC> za izlazak iz Replace moda. + Primetite da je ostatak reda ostao nepromenjen. + + 4. Ponovite korake da biste zamenili drugo xxx. + +---> Dodavanje 123 na xxx daje xxx. +---> Dodavanje 123 na 456 daje 579. + +NAPOMENA: Replace mod je kao Insert mod, s tom razlikom to svaki + uneti znak brie ve postojei. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.4: KOPIRANJE I LEPLJENJE TEKSTA + + + ** Koristite operator y za kopiranje a p za lepljenje teksta. ** + + 1. Pomerite kursor na red sa ---> i postavite kursor posle "a)". + + 2. Aktivirajte Visual mod sa v i pomerite kursor sve do ispred "prvi". + + 3. Pritisnite y da biste kopirali oznaeni tekst u interni bafer. + + 4. Pomerite kursor do kraja sledeeg reda: j$ + + 5. Pritisnite p da biste zalepili tekst. Onda otkucajte: a drugi <ESC> . + + 6. Upotrebite Visual mod da oznaite " red.", kopirajte sa y , kursor + pomerite na kraj sledeeg reda sa j$ i tamo zalepite tekst sa p . + +---> a) ovo je prvi red. + b) + +NAPOMENA: takoe moete koristiti y kao operator; yw kopira jednu re. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.5: POSTAVLJANJE OPCIJA + + + ** Postavite opciju tako da traenje i zamena ignoriu veliinu slova ** + + 1. Potraite re 'razlika': /razlika <ENTER> + Ponovite nekoliko puta pritiskom na n . + + 2. Aktivirajte opciju 'ic' (Ignore case): :set ic + + 3. Ponovo potraite re 'razlika' pritiskom na n + Primetite da su sada pronaeni i RAZLIKA i Razlika. + + 4. Aktivirajte opcije 'hlsearch' i 'incsearch': :set hls is + + 5. Ponovo otkucajte komandu traenja i uoite razlike: /razlika <ENTER> + + 6. Za deaktiviranje opcije ic kucajte: :set noic + +NAPOMENA: Za neoznaavanje pronaenih izraza otkucajte: :nohlsearch +NAPOMENA: Ako elite da ne razlikujete veliinu slova u samo jednoj komandi + traenja, dodajte \c u izraz: /razlika\c <ENTER> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 6 + + 1. Pritisnite o za otvaranje reda ISPOD kursora i prelazak u Insert mod. + Pritisnite O za otvaranje reda IZNAD kursora. + + 2. Pritisnite a za unos teksta IZA kursora. + Pritisnite A za unos teksta na kraju reda. + + 3. Komanda e pomera kursor na kraj rei. + + 4. Operator y kopira tekst, p ga lepi. + + 5. Kucanje velikog R aktivira Replace mod dok ne pritisnete <ESC> . + + 6. Kucanje ":set xxx" aktivira opciju "xxx". Neke opcije su: + 'ic' 'ignorecase' ne razlikuje velika/mala slova pri traenju + 'is' 'incsearch' prikazuje pronaen tekst dok kucate izraz + 'hls' 'hlsearch' oznaava inverzno sve pronaene izraze + Moete koristite dugo ili kratko ime opcije. + + 7. Ispred imena opcije stavite "no" da je deaktivirate: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.1: DOBIJANJE POMOI + + + ** Koristite on-line sistem za pomo ** + + Vim ima detaljan on-line sistem za pomo. Za poetak, pokuajte neto + od sledeeg: + - pritisnite taster <HELP> (ako ga imate na tastaturi) + - pritisnite taster <F1> (ako ga imate na tastaturi) + - otkucajte :help <ENTER> + + Proitajte tekst u prozoru pomoi da biste nauili pomo radi. + Kucanjem CTRL-W CTRL-W prelazite iz jednog prozora u drugi. + Otkucajte :q <ENTER> da zatvorite prozor pomoi. + + Pomo o praktino bilo kojoj temi moete dobiti dodavanjem argumenta + komandi ":help". Pokuajte ovo (ne zaboravite <ENTER> na kraju): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.2: PRAVLJENJE STARTNOG SKRIPTA + + + ** Aktivirajte mogunosti editora ** + + Vim ima mnogo vie mogunosti nego Vi, ali veina nije automatski + aktivirana. Za dodatne mogunosti napravite "vimrc" fajl. + + 1. Otvorite "vimrc" fajl. Ovo zavisi od vaeg sistema: + :e ~/.vimrc za Unix + :e $VIM/_vimrc za MS-Windows + + 2. Onda uitajte primer sadraja "vimrc" fajla: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Snimite fajl sa: + :w + + Sledei put kada pokrenete Vim, bojenje sintakse teksta bie + aktivirano. Sva svoja podeavanja moete dodati u "vimrc" fajl. + Za vie informacija otkucajte :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.3: AUTOMATSKO DOVRAVANJE + + + ** Dovravanje komandne linije sa CTRL-D i <TAB> ** + + 1. Podesite Vim da ne bude u Vi-kompatibilnom modu: :set nocp + + 2. Pogledajte koji fajlovi postoje u direktorijumu: :!ls ili :!dir + + 3. Otkucajte poetak komande: :e + + 4. Otkucajte CTRL-D i Vim e prikazati spisak komandi koje poinju sa "e". + + 5. Pritisnite <TAB> i Vim e dopuniti ime komande u ":edit". + + 6. Dodajte razmak i poetak imena postojeeg fajla: :edit FA + + 7. Pritisnite <TAB>. Vim e dopuniti ime fajla (ako je jedinstveno). + +NAPOMENA: Mogue je dopuniti mnoge komande. Samo probajte CTRL-D i <TAB>. + Naroito je korisno za :help komande. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 7 + + + 1. Otkucajte :help ili pritisnite <F1> ili <Help> za pomo. + + 2. Otkucajte :help komanda biste dobili pomo za tu komandu. + + 3. Otkucajte CTRL-W CTRL-W za prelazak u drugi prozor. + + 4. Otkucajte :q da zatvorite prozor pomoi. + + 5. Napravite vimrc startni skript za aktiviranje podeavanja koja + vam odgovaraju. + + 6. Dok kucate neku od : komandi, pritisnite CTRL-D da biste videli mogue + vrednosti. Pritisnite <TAB> da odaberete jednu od njih. + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Ovim je prirunik zavren. Njegov cilj je bio kratak pregled Vim editora, + koliko da omogui njegovo relativno jednostavno korienje. Prirunik nije + potpun, jer Vim ima mnogo vie komandi. Kao sledee, proitajte prirunik: + ":help user-manual". + + Za dalje itanje i uenje, preporuujemo knjigu: + Vim - Vi Improved - by Steve Oualline + Izdava: New Riders + Prva knjiga potpuno posveena Vim-u. Naroito korisna za poetnike. + Ima mnotvo primera i slika. + Vidite http://iccf-holland.org/click5.html + + Sledea knjiga je starija i vie govori o Vi-u nego o Vim-u, ali je takoe + preporuujemo: + Learning the Vi Editor - by Linda Lamb + Izdava: O'Reilly & Associates Inc. + Dobra knjiga iz koje moete saznati skoro sve to moete raditi u Vi-ju. + esto izdanje ima i informacija o Vim-u. + + Ovaj prirunik su napisali: Michael C. Pierce i Robert K. Ware, + Colorado School of Mines koristei ideje Charlesa Smitha, + Colorado State University. E-mail: bware@mines.colorado.edu. + + Prilagoavanje za Vim uradio je Bram Moolenaar. + + Prevod na srpski: Ivan Nejgebauer <ian@uns.ac.rs> + Verzija 1.0, maj/juni 2014. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.sr.utf-8 b/runtime/tutor/tutor.sr.utf-8 new file mode 100644 index 000000000..d9115d82f --- /dev/null +++ b/runtime/tutor/tutor.sr.utf-8 @@ -0,0 +1,971 @@ +=============================================================================== += D o b r o d o š l i u VIM p r i r u č n i k - Verzija 1.7 = +=============================================================================== + + Vim je moćan editor sa mnogo komandi, suviše da bismo ih ovde sve + opisali. Priručnik je zamišljen da opiše dovoljno komandi da biste + mogli lagodno da koristite Vim kao editor opšte namene. + + Približno vreme potrebno za uspešan završetak priručnika je između + 25 i 30 minuta, u zavisnosti od vremena potrošenog na vežbu. + + UPOZORENJE: + Komande u lekcijama će menjati tekst. Iskopirajte ovaj fajl i + vežbajte na kopiji (ako ste pokrenuli "vimtutor" ovo je već kopija). + + Važno je upamtiti da je ovaj priručnik zamišljen za aktivnu vežbu. + To znači da morate upotrebljavati komande o kojima čitate da biste + ih naučili. Ako samo čitate tekst, zaboravićete komande! + + Ako je Caps Lock uključen ISKLJUČITE ga. Pritisnite taster j dovoljno + puta da lekcija 1.1 cela stane na ekran. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.1: POMERANJE KURSORA + + + ** Za pomeranje kursora, pritiskajte tastere h,j,k,l kako je prikazano ** + ^ + k Savet: h je s leve strane i pomera kursor u levo. + < h l > l je s desne strane i pomera kursor u desno. + j j izgleda kao strelica naniže. + v + 1. Pomerajte kursor po ekranu dok se ne naviknete na komande. + + 2. Pritisnite taster (j) dok ne počne da se ponavlja. + Sada znate kako da dođete do naredne lekcije. + + 3. Koristeći taster j pređite na lekciju 1.2. + +NAPOMENA: Ako niste sigurni šta ste zapravo pritisnuli, pritisnite <ESC> + za prelazak u Normal mod i pokušajte ponovo. + +NAPOMENA: Strelice takođe pomeraju kursor, ali korišćenje tastera hjkl je + znatno brže, kad se jednom naviknete na njih. Zaista! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.2: IZLAZAK IZ VIM-a + + + !! UPOZORENJE: Pre izvođenja bilo kog koraka, pročitajte celu lekciju!! + + 1. Pritisnite <ESC> (editor je sada u Normal modu). + + 2. Otkucajte: :q! <ENTER>. + Ovime se izlazi iz editora, sa GUBITKOM svih izmena. + + 3. Kada se pojavi komandni prompt, unesite komandu koja je pokrenula + ovaj priručnik: vimtutor <ENTER> + + 4. Ako ste upamtili ove korake, izvršite ih redom od 1 do 3 da biste + izašli iz editora i ponovo ga pokrenuli. + +NAPOMENA: :q! <ENTER> poništava sve izmene koje ste napravili. + U narednim lekcijama naučićete kako da sačuvate izmene. + + 5. Pomerite kursor na lekciju 1.3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.3: IZMENA TEKSTA - BRISANJE + + + ** Pritisnite x za brisanje znaka pod kursorom. ** + + 1. Pomerite kursor na red označen sa --->. + + 2. Da biste ispravili greške, pomerajte kursor dok se + ne nađe na slovu koje treba izbrisati. + + 3. Pritisnite taster x da izbrišete neželjeno slovo. + + 4. Ponavljajte korake od 2 do 4 dok ne ispravite sve greške. + +---> RRRibaa riibi grizzze rrreepp. + + 5. Kad ispravite red, pređite na lekciju 1.4. + +NAPOMENA: Dok koristite priručnik, nemojte učiti komande napamet, + već vežbajte njihovu primenu. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.4: IZMENA TEKSTA - UBACIVANJE + + + ** Pritisnite i za ubacivanje teksta ispred kursora. ** + + 1. Pomerite kursor na prvi sledeći red označen sa --->. + + 2. Da biste tekst prvog reda izjednačili s tekstom drugog, namestite + kursor na prvi znak POSLE kog ćete ubaciti potreban tekst. + + 3. Pritisnite i pa unesite potrebne dopune. + + 4. Po ispravci svake greške pritisnite <ESC> da se vratite u Normal mod. + Ponovite korake od 2 do 4 da biste ispravili celu rečenicu. + +---> Do teka neoje v red. +---> Deo teksta nedostaje iz ovog reda. + + 5. Pređite na sledeću lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.5: IZMENA TEKSTA - DODAVANJE + + + ** Pritisnite A za dodavanje teksta. ** + + 1. Pomerite kursor na prvi sledeći red označen sa --->. + Nije važno gde se nalazi kursor u tom redu. + + 2. Pritisnite A i unesite dodatni tekst. + + 3. Pošto ste dodali tekst, pritisnite <ESC> za povratak u + Normal mod. + + 4. Pomerite kursor na drugi red označen sa ---> i ponavljajte + korake 2 i 3 dok ne ispravite tekst. + +---> Deo teksta nedostaje u + Deo teksta nedostaje u ovom redu. +---> Deo teksta nedostaje + Deo teksta nedostaje i ovde. + + 5. Pređite na lekciju 1.6. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.6: IZMENA FAJLA + + + ** Upotrebite :wq za snimanje teksta i izlazak iz editora. ** + + !! UPOZORENJE: Pre izvođenja bilo kog koraka, pročitajte celu lekciju!! + + 1. Izađite iz editora kao u lekciji 1.2: :q! + + 2. Na komandnom promptu unesite sledeću komandu: vim tutor <ENTER> + 'vim' je komanda za pokretanja Vim editora, 'tutor' je ime fajla koji + želite da menjate. Koristite fajl koji imate pravo da menjate. + + 3. Ubacujte i brišite tekst kao u prethodnim lekcijama. + + 4. Snimite izmenjeni tekst i izađite iz Vim-a: :wq <ENTER> + + 5. Ponovo pokrenite vimtutor i pročitajte rezime koji sledi. + + 6. Pošto pročitate korake iznad i u potpunosti ih razumete: + izvršite ih. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 1 + + + 1. Kursor se pomera strelicama ili pomoću tastera hjkl . + h (levo) j (dole) k (gore) l (desno) + + 2. Za pokretanje Vim-a iz shell-a: vim IME_FAJLA <ENTER> + + 3. Izlaz: <ESC> :q! <ENTER> sve promene su izgubljene. + ILI: <ESC> :wq <ENTER> promene su sačuvane. + + 4. Brisanje znaka na kome se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i unesite tekst <ESC> unos ispred kursora + A unesite tekst <ESC> dodavanje na kraju reda + +NAPOMENA: Pritiskom na <ESC> prebacujete Vim u Normal mod i + prekidate neželjenu ili delimično izvršenu komandu. + +Nastavite sa lekcijom 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.1: NAREDBE BRISANJA + + + ** Otkucajte dw za brisanje reči. ** + + 1. Pritisnite <ESC> da biste bili sigurni da ste u Normal modu. + + 2. Pomerite kursor na red označen sa --->. + + 3. Pomerite kursor na početak reči koju treba izbrisati. + + 4. Otkucajte dw da biste uklonili reč. + +NAPOMENA: Slovo d će se pojaviti na dnu ekrana kad ga otkucate. Vim čeka + da otkucate w . Ako je prikazano neko drugo slovo, pogrešili ste u + kucanju; pritisnite <ESC> i pokušajte ponovo. (Ako se ne pojavi + ništa, možda je isključena opcija 'showcmd': vidi lekciju 6.5.) + +---> Neke reči smešno ne pripadaju na papir ovoj rečenici. + + 5. Ponavljajte korake 3 i 4 dok ne ispravite rečenicu, pa + pređite na lekciju 2.2. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.2: JOŠ BRISANJA + + + ** Otkucajte d$ za brisanje znakova do kraja reda. ** + + 1. Pritisnite <ESC> da biste bili sigurni da ste u Normal modu. + + 2. Pomerite kursor na red označen sa --->. + + 3. Pomerite kursor do kraja ispravnog dela rečenice + (POSLE prve . ). + + 4. Otkucajte d$ za brisanje ostatka reda. + +---> Neko je uneo kraj ovog reda dvaput. kraj ovog reda dvaput. + + 5. Pređite na lekciju 2.3 za podrobnije objašnjenje. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.3: O OPERATORIMA I POKRETIMA + + + Mnoge komande za izmenu teksta sastoje se od operatora i pokreta. + Oblik komande brisanja sa d operatorom je sledeći: + + d pokret + + Pri čemu je: + d - operator brisanja. + pokret - ono na čemu će se operacija izvršavati (opisano u nastavku). + + Kratak spisak pokreta: + w - sve do početka sledeće reči, NE UKLJUČUJUĆI prvo slovo. + e - sve do kraja tekuće reči, UKLJUČUJUĆI poslednje slovo. + $ - sve do kraje reda, UKLJUČUJUĆI poslednje slovo. + + Kucanjem de brisaće se tekst od kursora do kraja reči. + +NAPOMENA: Pritiskom samo na taster pokreta dok ste u Normal modu, bez + operatora, kursor se pomera kao što je opisano. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.4: KORIŠĆENJE BROJANJA ZA POKRETE + + + ** Unošenjem nekog broja pre pokreta, pokret se izvršava taj broj puta. ** + + 1. Pomerite kursor na red označen sa --->. + + 2. Otkucajte 2w da pomerite kursor dve reči napred. + + 3. Otkucajte 3e da pomerite kursor na kraj treće reči napred. + + 4. Otkucajte 0 (nulu) da pomerite kursor na početak reda. + + 5. Ponovite korake 2 i 3 s nekim drugim brojevima. + +---> Rečenica sa rečima po kojoj možete pomerati kursor. + + 6. Pređite na lekciju 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.5: KORIŠĆENJE BROJANJA ZA VEĆE BRISANJE + + + ** Unošenje nekog broja s operatorom ponavlja operator taj broj puta. ** + + U kombinaciji operatora brisanja s pokretima spomenutim iznad + možete uneti broj pre pokreta da biste izbrisali više znakova: + + d broj pokret + + 1. Pomerite kursor na prvo slovo u reči s VELIKIM SLOVIMA u redu + označenom sa --->. + + 2. Otkucajte d2w da izbrišete dve reči sa VELIKIM SLOVIMA + + 3. Ponovite korake 1 i 2 sa različitim brojevima da izbrišete + uzastopne reči sa VELIKIM SLOVIMA korišćenjem samo jedne komande. + +---> ovaj ABCČĆ DĐE red FGHI JK LMN OP s rečima je RSŠ TUVZŽ ispravljen. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.6: OPERACIJE NAD REDOVIMA + + + ** Otkucajte dd za brisanje celog reda. ** + + Zbog učestalosti brisanja celih redova, autori Vi-ja odlučili su da + je lakše brisati redove ako se otkuca d dvaput. + + 1. Pomerite kursor na drugi red u donjoj strofi. + 2. Otkucajte dd da ga izbrišete. + 3. Pomerite kursor na četvrti red. + 4. Otkucajte 2dd da biste izbrisali dva reda. + +---> 1) Sedlo mi je od marame, +---> 2) blato na sve strane, +---> 3) uzda od kanapa, +---> 4) auto mi je ovde, +---> 5) satovi pokazuju vreme, +---> 6) a bič mi je od očina +---> 7) prebijena štapa. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.7: PONIŠTAVANJE PROMENA + + + ** Pritisnite u za poništavanje poslednje komande, U za ceo red. ** + + 1. Pomerite kursor na red označen sa ---> i postavite ga na mesto + prve greške. + 2. Otkucajte x da izbrišete prvi neželjeni znak. + 3. Otkucajte u da poništite poslednju izvršenu komandu. + 4. Sad ispravite sve greške u redu koristeći komandu x . + 5. Otkucajte veliko U da biste vratili sadržaj reda u prvobitno + stanje. + 6. Onda otkucajte u nekoliko puta da biste poništili U + i prethodne komande. + 7. Sad otkucajte CTRL-R (držeći CTRL dok pritiskate R) + nekoliko puta da biste vratili izmene (poništili poništavanja). + +---> Iiisspravite greške uu ovvom redu ii pooništiteee ih. + + 8. Ovo su veoma korisne komande. Pređite na rezime lekcije 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 2 + + + 1. Brisanje od kursora do sledeće reči: dw + 2. Brisanje od kursora do kraja reda: d$ + 3. Brisanje celog reda: dd + + 4. Za ponavljanje pokreta prethodno unesite broj: 2w + 5. Oblik komande za izmenu: + operator [broj] pokret + gde je: + operator - šta uraditi, recimo d za brisanje + [broj] - neobavezan broj ponavljanja pokreta + pokret - kretanje po tekstu na kome se radi, + kao što je: w (reč), $ (kraj reda), itd. + + 6. Pomeranje kursora na početak reda: 0 + + 7. Za poništavanje prethodnih izmena, pritisnite: u (malo u) + Za poništavanje svih promena u redu, pritisnite: U (veliko U) + Za vraćanja promena, otkucajte: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.1: KOMANDA POSTAVLJANJA + + + ** Otkucajte p da postavite prethodno izbrisan tekst iza kursora. ** + + 1. Pomerite kursor na prvi sledeći red označen sa --->. + + 2. Otkucajte dd da izbrišete red i smestite ga u Vim registar. + + 3. Pomerite kursor na red c), IZNAD mesta gde treba postaviti izbrisan red. + + 4. Otkucajte p da postavite red ispod kursora. + + 5. Ponavljajte korake 2 do 4 da biste postavili sve linije u pravilnom + redosledu. + +---> d) prebijena štapa. +---> b) uzda od kanapa, +---> c) a bič mi je od očina +---> a) Sedlo mi je od marame, + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.2: KOMANDA ZAMENE + + + ** Otkucajte rx da zamenite znak ispod kursora slovom x . ** + + 1. Pomerite kursor na prvi sledeći red označen sa --->. + + 2. Pomerite kursor tako da se nalazi na prvoj grešci. + + 3. Otkucajte r i onda znak koji treba da tu stoji. + + 4. Ponavljajte korake 2 i 3 sve dok prvi red ne bude + isti kao drugi. + +---> Kedi ju ovej red ugašen, nako je protresao pustašne testere! +---> Kada je ovaj red unošen, neko je pritiskao pogrešne tastere! + + 5. Pređite na lekciju 3.2. + +NAPOMENA: Setite se da treba da učite vežbanjem, ne pamćenjem. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.3: OPERATOR IZMENE + + + ** Za izmenu teksta do kraja reči, otkucajte ce .** + + 1. Pomerite kursor na prvi sledeći red označen sa --->. + + 2. Postavite kursor na a u rakdur. + + 3. Otkucajte ce i ispravite reč (u ovom slučaju otkucajte ed ). + + 4. Pritisnite <ESC> i pomerite kursor na sledeći znak koji + treba ispraviti. + + 5. Ponavljajte korake 3 i 4 sve dok prva rečenica ne bude ista + kao druga. + +---> Ovaj rakdur ima nekoliko rejga koje treflja isprpikati operagrom izmene. +---> Ovaj red ima nekoliko reči koje treba ispraviti operatorom izmene. + +Uočite da ce briše reč i postavlja editor u Insert mod. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.4: DALJE IZMENE UPOTREBOM c + + + ** Komanda izmene se koristi sa istim pokretima kao i brisanje. ** + + 1. Operator izmene se koristi na isti način kao i operator brisanja: + + c [broj] pokret + + 2. Pokreti su isti, recimo: w (reč) i $ (kraj reda). + + 3. Pomerite kursor na prvi sledeći red označen sa --->. + + 4. Pomerite kursor na prvu grešku. + + 5. Otkucajte c$ i unesite ostatak reda tako da bude isti kao + drugi red, pa pritisnite <ESC>. + +---> Kraj ovog reda treba izmeniti tako da izgleda kao red ispod. +---> Kraj ovog reda treba ispraviti korišćenjem c$ komande. + +NAPOMENA: Za ispravljanje grešaka možete koristiti Backspace . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 3 + + + 1. Za postavljanje teksta koji ste upravo izbrisali, pritisnite p . Ovo + postavlja tekst IZA kursora (ako je bio izbrisan jedan ili više redova + sadržaj će doći na red ispod kursora). + + 2. Za zamenu znaka na kome se nalazi kursor, pritisnite r i onda + željeni znak. + + 3. Operator izmene dozvoljava promenu teksta od kursora do pozicije gde + se završava pokret. Primera radi, kucajte ce za izmenu od kursora do + kraja reči, ili c$ za izmenu od kursora do kraja reda. + + 4. Oblik operacije izmene je: + + c [broj] pokret + +Pređite na narednu lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.1: POZICIJA KURSORA I STATUS FAJLA + + ** Pritisnite CTRL-G za prikaz pozicije kursora u tekstu i status fajla. + Pritisnite G za pomeranje kursora na neki red u tekstu. ** + +NAPOMENA: Pročitajte celu lekciju pre izvođenja bilo kog koraka!! + + 1. Držite taster CTRL i pritisnite g . Ovo zovemo CTRL-G. + Editor će na dnu ekrana ispisati poruku sa imenom fajla i pozicijom + kursora u tekstu. Zapamtite broj reda za 3. korak. + +NAPOMENA: U donjem desnom uglu može se videti poziciju kursora ako je + uključena opcija 'ruler' (vidi :help ruler ili lekciju 6.5.) + + 2. Pritisnite G za pomeranje kursora na kraj teksta. + Pritisnite 1G ili gg za pomranje kursora na početak teksta. + + 3. Otkucajte broj reda na kome ste malopre bili i onda G . Kursor + će se vratiti na red na kome je bio kad ste otkucali CTRL-G. + + 4. Ako ste spremni, izvršite korake od 1 do 3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.2: KOMANDE PRETRAŽIVANJA + + ** Otkucajte / i onda izraz koji želite da potražite. ** + + 1. U Normal modu otkucajte znak / . Primietite da se znak pojavio + zajedno sa kursorom na dnu ekrana kao i kod komande : . + + 2. Sada otkucajte 'grrreška' <ENTER>. (Bez razmaka i navodnika.) + To je reč koju tražite. + + 3. Za ponovno traženje istog izraza, otkucajte n . + Za traženje istog izraza u suprotnom smeru, otkucajte N . + + 4. Za traženje izraza unatrag, koristite ? umesto / . + + 5. Za povratak na prethodnu poziciju otkucajte CTRL-O (držite CTRL dok + pritiskate O ). Ponavljajte za ranije pozicije. CTRL-I ide napred. + +---> "grrreška" je pogrešno; umesto grrreška treba da stoji greška. + +NAPOMENA: Ako pretraga dođe do kraja teksta traženje će se nastaviti od + njegovog početka osim ako je opcija 'wrapscan' isključena. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.3: TRAŽENJE PARA ZAGRADE + + + ** Otkucajte % za nalaženje para ), ] ili } . ** + + 1. Postavite kursor na bilo koju od ( , [ ili { + otvorenih zagrada u redu označenom sa --->. + + 2. Otkucajte znak % . + + 3. Kursor će se pomeriti na odgovarajuću zatvorenu zagradu. + + 4. Otkucajte % da pomerite kursor na prvu zagradu u paru. + + 5. Pomerite kursor na neku od (,),[,],{ ili } i ponovite komandu % . + +---> Red ( testiranja običnih ( [ uglastih ] i { vitičastih } zagrada.)) + + +NAPOMENA: Vrlo korisno u ispravljanju koda sa rasparenim zagradama! + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.4: KOMANDA ZAMENE + + + ** Otkucajte :s/staro/novo/g da zamenite 'staro' za 'novo'. ** + + 1. Pomerite kursor na red označen sa --->. + + 2. Otkucajte :s/rdi/ri/ <ENTER> . Primetite da ova komanda zamenjuje + samo prvo "rdi" u redu. + + 3. Otkucajte :s/rdi/ri/g . Dodavanje opcije g znači da će se komanda + izvršiti u celom redu, zamenom svih pojava niza "rdi". + +---> rdiba rdibi grdize rep. + + 4. Za zamenu svih izraza između neka dva reda, + otkucajte :#,#s/staro/novo/g gde su #,# krajnji brojevi redova u opsegu + u kome će se obaviti zamena. + Otkucajte :%s/staro/novo/g za zamenu svih izraza u celom tekstu. + Otkucajte :%s/staro/novo/gc za nalaženje svih izraza u tekstu i + potvrdu zamene. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 4 + + + 1. CTRL-G prikazuje poziciju kursora u tekstu i status fajla. + G pomera kursor na kraj teksta. + broj G pomera kursor na navedeni red. + gg pomera kursor na prvi red teksta. + + 2. Kucanjem / sa izrazom taj izraz se traži UNAPRED. + Kucanjem ? sa izrazom taj izraz se traži UNAZAD. + Posle komande traženja koristite n za nalaženje izraza u istom + smeru, a N za nalaženje u suprotnom smeru. + CTRL-O vraća kursor na prethodnu poziciju, a CTRL-I na narednu. + + 3. Kucanjem % kad je kursor na zagradi on se pomera na njen par. + + 4. Za zamenu prvog izraza staro za izraz novo :s/staro/novo/ + Za zamenu svih izraza u celom redu :s/staro/novo/g + Za zamenu svih izraza u opsegu linija #,# :#,#s/staro/novo/g + Za zamenu u celom tekstu :%s/staro/novo/g + Za potvrdu svake zamene dodajte 'c' :%s/staro/novo/gc + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.1: IZVRŠAVANJE SPOLJAŠNJIH KOMANDI + + + ** Otkucajte :! pa spoljašnju komandu koju želite da izvršite. ** + + 1. Otkucajte poznatu komandu : da biste namestili kursor na dno + ekrana. Time omogućavate unos komande u komandnoj liniji editora. + + 2. Otkucajte znak ! (uzvičnik). Ovime omogućavate + izvršavanje bilo koje spoljašnje komande. + + 3. Kao primer otkucajte ls posle ! i pritisnite <ENTER>. Ovo će + prikazati sadržaj direktorijuma, kao da ste na komandnom promptu. + Otkucajte :!dir ako :!ls ne radi. + +NAPOMENA: Na ovaj način moguće je izvršiti bilo koju spoljašnju komandu, + zajedno sa njenim argumentima. + +NAPOMENA: Sve : komande se izvršavaju pošto pritisnete <ENTER> . + U daljem tekstu to nećemo uvek napominjati. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.2: VIŠE O SNIMANJU FAJLOVA + + ** Za snimanje promena, otkucajte :w IME_FAJLA . ** + + 1. Otkucajte :!dir ili :!ls za pregled sadržaja direktorijuma. + Već znate da morate pritisnuti <ENTER> posle toga. + + 2. Izaberite ime fajla koji još ne postoji, npr. TEST. + + 3. Otkucajte: :w TEST (gde je TEST ime koje ste izabrali.) + + 4. Time ćete snimiti ceo fajl (Vim Tutor) pod imenom TEST. + Za proveru, otkucajte opet :!dir ili :!ls za pregled + sadržaja direktorijuma. + +NAPOMENA: Ako biste napustili Vim i ponovo ga pokrenuli sa vim TEST , + tekst bi bio tačna kopija ovog fajla u trenutku kad ste + ga snimili. + + 5. Izbrišite fajl tako što ćete otkucati (MS-DOS): :!del TEST + ili (Unix): :!rm TEST + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.3: SNIMANJE OZNAČENOG TEKSTA + + + ** Da biste snimili deo teksta, otkucajte v pokret :w IME_FAJLA ** + + 1. Pomerite kursor na ovu liniju. + + 2. Pritisnite v i pomerite kursor pet redova ispod. Primetite da je + tekst označen inverzno. + + 3. Pritisnite : . Na dnu ekrana pojaviće se :'<,'> . + + 4. Otkucajte w TEST , gde je TEST ime fajla koji još ne postoji. + Proverite da zaista piše :'<,'>w TEST pre nego što pritisnete <ENTER>. + + 5. Vim će snimiti označeni tekst u TEST. Proverite sa :!dir ili !ls . + Nemojte još brisati fajl! Koristićemo ga u narednoj lekciji. + +NAPOMENA: Komanda v započinje vizuelno označavanje. Možete pomerati kursor + i tako menjati veličinu označenog teksta. Onda možete upotrebiti + operatore nad tekstom. Na primer, d će izbrisati označeni tekst. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.4: UČITAVANJE FAJLA U TEKST + + + ** Za ubacivanje sadržaja fajla, otkucajte :r IME_FAJLA ** + + 1. Postavite kursor iznad ove linije. + +NAPOMENA: Pošto izvršite 2. korak videćete tekst iz lekcije 5.3. Tada + pomerite kursor DOLE da biste ponovo videli ovu lekciju. + + 2. Učitajte fajl TEST koristeći komandu :r TEST gde je TEST ime fajla + koje ste koristili u prethodnoj lekciji. Sadržaj učitanog fajla je + ubačen ispod kursora. + + 3. Da biste proverili da je fajl učitan, vratite kursor unazad i + primetite dve kopije lekcije 5.3, originalnu i onu iz fajla. + +NAPOMENA: Takođe možete učitati izlaz spoljašnje komande. Na primer, + :r !ls će učitati izlaz komande ls i postaviti ga ispod + kursora. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 5 + + + 1. :!komanda izvršava spoljašnju komandu. + + Korisni primeri: + (MS-DOS) (Unix) + :!dir :!ls - pregled sadržaja direktorijuma. + :!del FAJL :!rm FAJL - briše fajl FAJL. + + 2. :w FAJL zapisuje trenutni tekst na disk pod imenom FAJL. + + 3. v pokret :w IME_FAJLA snima vizuelno označene redove u fajl + IME_FAJLA. + + 4. :r IME_FAJLA učitava fajl IME_FAJLA sa diska i stavlja + njegov sadržaj ispod kursora. + + 5. :r !dir učitava izlaz komande dir i postavlja ga ispod kursora. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.1: KOMANDA OTVORI + + + ** Pritisnite o da biste otvorili red ispod kursora + i prešli u Insert mod. ** + + 1. Pomerite kursor na sledeći red označen sa --->. + + 2. Otkucajte malo o da biste otvorili novi red ISPOD kursora + i prešli u Insert mod. + + 3. Otkucajte neki tekst i onda pritisnite <ESC> da biste izašli + iz Insert moda. + +---> Kad pritisnete o kursor prelazi u novootvoreni red u Insert modu. + + 4. Za otvaranje reda IZNAD kursora, umesto malog otkucajte veliko O . + Isprobajte na donjem redu označenom sa --->. + +---> Otvorite red iznad ovog kucanjem velikog O dok je kursor u ovom redu. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.2: KOMANDA DODAJ + + + ** Otkucajte a za dodavanje teksta IZA kursora. ** + + 1. Pomerite kursor na početak sledećeg reda označenog sa --->. + + 2. Kucajte e dok kursor ne dođe na kraj reči re . + + 3. Otkucajte a (malo) da biste dodali tekst IZA kursora. + + 4. Dopunite reč kao što je u redu ispod. Pritisnite <ESC> za izlazak + iz Insert moda. + + 5. Sa e pređite na narednu nepotpunu reč i ponovite korake 3 i 4. + +---> Ovaj re omogućava ve dodav teksta u nekom redu. +---> Ovaj red omogućava vežbanje dodavanja teksta u nekom redu. + +NAPOMENA: Komande a, i, i A aktiviraju isti Insert mod, jedina + razlika je u poziciji od koje će se tekst ubacivati. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.3: DRUGI NAČIN ZAMENE + + + ** Otkucajte veliko R da biste zamenili više od jednog znaka. ** + + 1. Pomerite kursor na prvi sledeći red označen sa --->. + Pomerite kursor na početak prvog xxx . + + 2. Pritisnite R i otkucajte broj koji je red ispod, + tako da zameni xxx . + + 3. Pritisnite <ESC> za izlazak iz Replace moda. + Primetite da je ostatak reda ostao nepromenjen. + + 4. Ponovite korake da biste zamenili drugo xxx. + +---> Dodavanje 123 na xxx daje xxx. +---> Dodavanje 123 na 456 daje 579. + +NAPOMENA: Replace mod je kao Insert mod, s tom razlikom što svaki + uneti znak briše već postojeći. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.4: KOPIRANJE I LEPLJENJE TEKSTA + + + ** Koristite operator y za kopiranje a p za lepljenje teksta. ** + + 1. Pomerite kursor na red sa ---> i postavite kursor posle "a)". + + 2. Aktivirajte Visual mod sa v i pomerite kursor sve do ispred "prvi". + + 3. Pritisnite y da biste kopirali označeni tekst u interni bafer. + + 4. Pomerite kursor do kraja sledećeg reda: j$ + + 5. Pritisnite p da biste zalepili tekst. Onda otkucajte: a drugi <ESC> . + + 6. Upotrebite Visual mod da označite " red.", kopirajte sa y , kursor + pomerite na kraj sledećeg reda sa j$ i tamo zalepite tekst sa p . + +---> a) ovo je prvi red. + b) + +NAPOMENA: takođe možete koristiti y kao operator; yw kopira jednu reč. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.5: POSTAVLJANJE OPCIJA + + + ** Postavite opciju tako da traženje i zamena ignorišu veličinu slova ** + + 1. Potražite reč 'razlika': /razlika <ENTER> + Ponovite nekoliko puta pritiskom na n . + + 2. Aktivirajte opciju 'ic' (Ignore case): :set ic + + 3. Ponovo potražite reč 'razlika' pritiskom na n + Primetite da su sada pronađeni i RAZLIKA i Razlika. + + 4. Aktivirajte opcije 'hlsearch' i 'incsearch': :set hls is + + 5. Ponovo otkucajte komandu traženja i uočite razlike: /razlika <ENTER> + + 6. Za deaktiviranje opcije ic kucajte: :set noic + +NAPOMENA: Za neoznačavanje pronađenih izraza otkucajte: :nohlsearch +NAPOMENA: Ako želite da ne razlikujete veličinu slova u samo jednoj komandi + traženja, dodajte \c u izraz: /razlika\c <ENTER> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 6 + + 1. Pritisnite o za otvaranje reda ISPOD kursora i prelazak u Insert mod. + Pritisnite O za otvaranje reda IZNAD kursora. + + 2. Pritisnite a za unos teksta IZA kursora. + Pritisnite A za unos teksta na kraju reda. + + 3. Komanda e pomera kursor na kraj reči. + + 4. Operator y kopira tekst, p ga lepi. + + 5. Kucanje velikog R aktivira Replace mod dok ne pritisnete <ESC> . + + 6. Kucanje ":set xxx" aktivira opciju "xxx". Neke opcije su: + 'ic' 'ignorecase' ne razlikuje velika/mala slova pri traženju + 'is' 'incsearch' prikazuje pronađen tekst dok kucate izraz + 'hls' 'hlsearch' označava inverzno sve pronađene izraze + Možete koristite dugo ili kratko ime opcije. + + 7. Ispred imena opcije stavite "no" da je deaktivirate: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.1: DOBIJANJE POMOĆI + + + ** Koristite on-line sistem za pomoć ** + + Vim ima detaljan on-line sistem za pomoć. Za početak, pokušajte nešto + od sledećeg: + - pritisnite taster <HELP> (ako ga imate na tastaturi) + - pritisnite taster <F1> (ako ga imate na tastaturi) + - otkucajte :help <ENTER> + + Pročitajte tekst u prozoru pomoći da biste naučili pomoć radi. + Kucanjem CTRL-W CTRL-W prelazite iz jednog prozora u drugi. + Otkucajte :q <ENTER> da zatvorite prozor pomoći. + + Pomoć o praktično bilo kojoj temi možete dobiti dodavanjem argumenta + komandi ":help". Pokušajte ovo (ne zaboravite <ENTER> na kraju): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.2: PRAVLJENJE STARTNOG SKRIPTA + + + ** Aktivirajte mogućnosti editora ** + + Vim ima mnogo više mogućnosti nego Vi, ali većina nije automatski + aktivirana. Za dodatne mogućnosti napravite "vimrc" fajl. + + 1. Otvorite "vimrc" fajl. Ovo zavisi od vašeg sistema: + :e ~/.vimrc za Unix + :e $VIM/_vimrc za MS-Windows + + 2. Onda učitajte primer sadržaja "vimrc" fajla: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Snimite fajl sa: + :w + + Sledeći put kada pokrenete Vim, bojenje sintakse teksta biće + aktivirano. Sva svoja podešavanja možete dodati u "vimrc" fajl. + Za više informacija otkucajte :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.3: AUTOMATSKO DOVRŠAVANJE + + + ** Dovršavanje komandne linije sa CTRL-D i <TAB> ** + + 1. Podesite Vim da ne bude u Vi-kompatibilnom modu: :set nocp + + 2. Pogledajte koji fajlovi postoje u direktorijumu: :!ls ili :!dir + + 3. Otkucajte početak komande: :e + + 4. Otkucajte CTRL-D i Vim će prikazati spisak komandi koje počinju sa "e". + + 5. Pritisnite <TAB> i Vim će dopuniti ime komande u ":edit". + + 6. Dodajte razmak i početak imena postojećeg fajla: :edit FA + + 7. Pritisnite <TAB>. Vim će dopuniti ime fajla (ako je jedinstveno). + +NAPOMENA: Moguće je dopuniti mnoge komande. Samo probajte CTRL-D i <TAB>. + Naročito je korisno za :help komande. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + REZIME lekcije 7 + + + 1. Otkucajte :help ili pritisnite <F1> ili <Help> za pomoć. + + 2. Otkucajte :help komanda biste dobili pomoć za tu komandu. + + 3. Otkucajte CTRL-W CTRL-W za prelazak u drugi prozor. + + 4. Otkucajte :q da zatvorite prozor pomoći. + + 5. Napravite vimrc startni skript za aktiviranje podešavanja koja + vam odgovaraju. + + 6. Dok kucate neku od : komandi, pritisnite CTRL-D da biste videli moguće + vrednosti. Pritisnite <TAB> da odaberete jednu od njih. + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Ovim je priručnik završen. Njegov cilj je bio kratak pregled Vim editora, + koliko da omogući njegovo relativno jednostavno korišćenje. Priručnik nije + potpun, jer Vim ima mnogo više komandi. Kao sledeće, pročitajte priručnik: + ":help user-manual". + + Za dalje čitanje i učenje, preporučujemo knjigu: + Vim - Vi Improved - by Steve Oualline + Izdavač: New Riders + Prva knjiga potpuno posvećena Vim-u. Naročito korisna za početnike. + Ima mnoštvo primera i slika. + Vidite http://iccf-holland.org/click5.html + + Sledeća knjiga je starija i više govori o Vi-u nego o Vim-u, ali je takođe + preporučujemo: + Learning the Vi Editor - by Linda Lamb + Izdavač: O'Reilly & Associates Inc. + Dobra knjiga iz koje možete saznati skoro sve što možete raditi u Vi-ju. + Šesto izdanje ima i informacija o Vim-u. + + Ovaj priručnik su napisali: Michael C. Pierce i Robert K. Ware, + Colorado School of Mines koristeći ideje Charlesa Smitha, + Colorado State University. E-mail: bware@mines.colorado.edu. + + Prilagođavanje za Vim uradio je Bram Moolenaar. + + Prevod na srpski: Ivan Nejgebauer <ian@uns.ac.rs> + Verzija 1.0, maj/juni 2014. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.vim b/runtime/tutor/tutor.vim index a48ff6a4e..c319e009d 100644 --- a/runtime/tutor/tutor.vim +++ b/runtime/tutor/tutor.vim @@ -1,7 +1,7 @@ " Vim tutor support file " Author: Eduardo F. Amatria <eferna1@platea.pntic.mec.es> " Maintainer: Bram Moolenaar -" Last Change: 2012 Sep 21 +" Last Change: 2014 Jun 25 " This Vim script is used for detecting if a translation of the " tutor file exist, i.e., a tutor.xx file, where xx is the language. @@ -36,6 +36,8 @@ else let s:ext = ".pl" elseif s:lang =~ "Slovak" let s:ext = ".sk" + elseif s:lang =~ "Serbian" + let s:ext = ".sr" elseif s:lang =~ "Czech" let s:ext = ".cs" elseif s:lang =~ "Dutch" @@ -122,6 +124,15 @@ if s:ext =~? '\.sk' endif endif +" The Slovak tutor is available in two encodings, guess which one to use +" Note that the utf-8 version is the original, the cp1250 version is created +" from it. +if s:ext =~? '\.sr' + if &enc =~ 1250 + let s:ext = ".sr.cp1250" + endif +endif + " The Czech tutor is available in three encodings, guess which one to use if s:ext =~? '\.cs' if &enc =~ 1250 |