diff options
Diffstat (limited to 'runtime/tutor')
-rw-r--r-- | runtime/tutor/README.txt | 148 | ||||
-rwxr-xr-x | runtime/tutor/README_ami.txt.info | bin | 0 -> 582 bytes | |||
-rwxr-xr-x | runtime/tutor/README_amibin.txt.info | bin | 0 -> 582 bytes | |||
-rw-r--r-- | runtime/tutor/README_dos.txt | 154 | ||||
-rw-r--r-- | runtime/tutor/README_mac.txt | 8 | ||||
-rwxr-xr-x | runtime/tutor/runtime.info | bin | 0 -> 624 bytes | |||
-rw-r--r-- | runtime/tutor/runtime/evim.vim | 66 | ||||
-rw-r--r-- | runtime/tutor/runtime/gvimrc_example.vim | 59 | ||||
-rw-r--r-- | runtime/tutor/runtime/icons.info | bin | 0 -> 624 bytes | |||
-rw-r--r-- | runtime/tutor/runtime/scripts.vim | 351 | ||||
-rw-r--r-- | runtime/tutor/runtime/synmenu.vim | 569 | ||||
-rw-r--r-- | runtime/tutor/runtime/vim48x48.png | bin | 0 -> 474 bytes | |||
-rw-r--r-- | runtime/tutor/tutor.de.utf-8 | 980 | ||||
-rw-r--r-- | runtime/tutor/tutor.el.cp737 | 815 | ||||
-rw-r--r-- | runtime/tutor/tutor.hr | 972 | ||||
-rw-r--r-- | runtime/tutor/uninstal.txt | 80 |
16 files changed, 4186 insertions, 16 deletions
diff --git a/runtime/tutor/README.txt b/runtime/tutor/README.txt index 77097c199..6eece4197 100644 --- a/runtime/tutor/README.txt +++ b/runtime/tutor/README.txt @@ -1,22 +1,138 @@ -Tutor is a "hands on" tutorial for new users of the Vim editor. +README.txt for version 7.2a of Vim: Vi IMproved. -Most new users can get through it in less than one hour. The result -is that you can do a simple editing task using the Vim editor. -Tutor is a file that contains the tutorial lessons. You can simply -execute "vim tutor" and then follow the instructions in the lessons. -The lessons tell you to modify the file, so DON'T DO THIS ON YOUR -ORIGINAL COPY. +WHAT IS VIM -On Unix you can also use the "vimtutor" program. It will make a -scratch copy of the tutor first. +Vim is an almost compatible version of the UNIX editor Vi. Many new features +have been added: multi-level undo, syntax highlighting, command line history, +on-line help, spell checking, filename completion, block operations, etc. +There is also a Graphical User Interface (GUI) available. See +"runtime/doc/vi_diff.txt" for differences with Vi. -I have considered adding more advanced lessons but have not found the -time. Please let me know how you like it and send any improvements you -make. +This editor is very useful for editing programs and other plain ASCII files. +All commands are given with normal keyboard characters, so those who can type +with ten fingers can work very fast. Additionally, function keys can be +defined by the user, and the mouse can be used. -Bob Ware, Colorado School of Mines, Golden, Co 80401, USA -(303) 273-3987 -bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet +Vim currently runs under Amiga DOS, MS-DOS, MS-Windows 95/98/Me/NT/2000/XP, +Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of +UNIX. Porting to other systems should not be very difficult. -[This file was modified for Vim by Bram Moolenaar] + +DISTRIBUTION + +There are separate distributions for Unix, PC, Amiga and some other systems. +This README.txt file comes with the runtime archive. It includes the +documentation, syntax files and other files that are used at runtime. To run +Vim you must get either one of the binary archives or a source archive. +Which one you need depends on the system you want to run it on and whether you +want or must compile it yourself. Check "http://www.vim.org/download.php" for +an overview of currently available distributions. + + +DOCUMENTATION + +The best is to use ":help" in Vim. If you don't have an executable yet, read +"runtime/doc/help.txt". It contains pointers to the other documentation +files. The User Manual reads like a book and is recommended to learn to use +Vim. See ":help user-manual". + +The vim tutor is a one hour training course for beginners. Mostly it can be +started as "vimtutor". See ":help tutor" for more information. + + +COPYING + +Vim is Charityware. You can use and copy it as much as you like, but you are +encouraged to make a donation to orphans in Uganda. Please read the file +"runtime/doc/uganda.txt" for details (do ":help uganda" inside Vim). + +Summary of the license: There are no restrictions on using or distributing an +unmodified copy of Vim. Parts of Vim may also be distributed, but the license +text must always be included. For modified versions a few restrictions apply. +The license is GPL compatible, you may compile Vim with GPL libraries and +distribute it. + + +SPONSORING + +Fixing bugs and adding new features takes a lot of time and effort. To show +your appreciation for the work and motivate Bram and others to continue +working on Vim please send a donation. + +Since Bram is back to a paid job the money will now be used to help children +in Uganda. See runtime/doc/uganda.txt. But at the same time donations +increase Bram's motivation to keep working on Vim! + +For the most recent information about sponsoring look on the Vim web site: + + http://www.vim.org/sponsor/ + + +COMPILING + +If you obtained a binary distribution you don't need to compile Vim. If you +obtained a source distribution, all the stuff for compiling Vim is in the +"src" directory. See src/INSTALL for instructions. + + +INSTALLATION + +See one of these files for system-specific instructions: +README_ami.txt Amiga +README_unix.txt Unix +README_dos.txt MS-DOS and MS-Windows +README_os2.txt OS/2 +README_mac.txt Macintosh +README_vms.txt VMS + + +INFORMATION + +The latest news about Vim can be found on the Vim home page: + http://www.vim.org/ + +If you have problems, have a look at the Vim FAQ: + http://vimdoc.sf.net/vimfaq.html + +Send bug reports to: + Bram Moolenaar <Bram@vim.org> + +There are five mailing lists for Vim: +<vim@vim.org> + For discussions about using existing versions of Vim: Useful mappings, + questions, answers, where to get a specific version, etc. +<vim-dev@vim.org> + For discussions about changing Vim: New features, porting, beta-test + versions, etc. +<vim-announce@vim.org> + Announcements about new versions of Vim; also beta-test versions and + ports to different systems. +<vim-multibyte@vim.org> + For discussions about using and improving the multi-byte aspects of + Vim: XIM, Hangul, fontset, etc. +<vim-mac@vim.org> + For discussions about using and improving Vim on the Macintosh. + +For more info and URLs of the archives see "http://www.vim.org/maillist.php". + +NOTE: +- You can only send messages to these lists if you have subscribed! +- You need to send the messages from the same location as where you subscribed + from (to avoid spam mail). +- Maximum message size is 40000 characters. + +If you want to join a maillist, send a message to + <vim-help@vim.org> +Make sure that your "From:" address is correct. Then the list server will +send you a help message. + + +MAIN AUTHOR + +Send any other comments, patches, pizza and suggestions to: + + Bram Moolenaar E-mail: Bram@vim.org + Finsterruetihof 1 + 8134 Adliswil + Switzerland diff --git a/runtime/tutor/README_ami.txt.info b/runtime/tutor/README_ami.txt.info Binary files differnew file mode 100755 index 000000000..912436d6a --- /dev/null +++ b/runtime/tutor/README_ami.txt.info diff --git a/runtime/tutor/README_amibin.txt.info b/runtime/tutor/README_amibin.txt.info Binary files differnew file mode 100755 index 000000000..bdc3f028e --- /dev/null +++ b/runtime/tutor/README_amibin.txt.info diff --git a/runtime/tutor/README_dos.txt b/runtime/tutor/README_dos.txt new file mode 100644 index 000000000..f4818b8a2 --- /dev/null +++ b/runtime/tutor/README_dos.txt @@ -0,0 +1,154 @@ +README_dos.txt for version 7.2a of Vim: Vi IMproved. + +This file explains the installation of Vim on MS-DOS and MS-Windows systems. +See "README.txt" for general information about Vim. + +There are two ways to install Vim: +A. Use the self-installing .exe file. +B. Unpack .zip files and run the install.exe program. + + +A. Using the self-installing .exe +--------------------------------- + +This is mostly self-explaining. Just follow the prompts and make the +selections. A few things to watch out for: + +- When an existing installation is detected, you are offered to first remove + this. The uninstall program is then started while the install program waits + for it to complete. Sometimes the windows overlap each other, which can be + confusing. Be sure the complete the uninstalling before continuing the + installation. Watch the taskbar for uninstall windows. + +- When selecting a directory to install Vim, use the same place where other + versions are located. This makes it easier to find your _vimrc file. For + example "C:\Program Files\vim" or "D:\vim". A name ending in "vim" is + preferred. + +- After selecting the directory where to install Vim, clicking on "Next" will + start the installation. + + +B. Using .zip files +------------------- + +These are the normal steps to install Vim from the .zip archives: + +1. Go to the directory where you want to put the Vim files. Examples: + cd C:\ + cd D:\editors + If you already have a "vim" directory, go to the directory in which it is + located. Check the $VIM setting to see where it points to: + set VIM + For example, if you have + C:\vim\vim54 + do + cd C:\ + Binary and runtime Vim archives are normally unpacked in the same location, + on top of each other. + +2. Unpack the zip archives. This will create a new directory "vim\vim70", + in which all the distributed Vim files are placed. Since the directory + name includes the version number, it is unlikely that you overwrite + existing files. + Examples: + pkunzip -d gvim70.zip + unzip vim70w32.zip + + You need to unpack the runtime archive and at least one of the binary + archives. When using more than one binary version, be careful not to + overwrite one version with the other, the names of the executables + "vim.exe" and "gvim.exe" are the same. + + After you unpacked the files, you can still move the whole directory tree + to another location. That is where they will stay, the install program + won't move or copy the runtime files. + + Only for the 32 bit DOS version on MS-DOS without DPMI support (trying to + run install.exe will produce an error message): Unpack the CSDPMI4B.ZIP + archive and follow the instructions in the documentation. + +3. Change to the new directory: + cd vim\vim70 + Run the "install.exe" program. It will ask you a number of questions about + how you would like to have your Vim setup. Among these are: + - You can tell it to write a "_vimrc" file with your preferences in the + parent directory. + - It can also install an "Edit with Vim" entry in the Windows Explorer + popup menu. + - You can have it create batch files, so that you can run Vim from the + console or in a shell. You can select one of the directories in your + $PATH. If you skip this, you can add Vim to the search path manually: + The simplest is to add a line to your autoexec.bat. Examples: + set path=%path%;C:\vim\vim70 + set path=%path%;D:\editors\vim\vim70 + - Create entries for Vim on the desktop and in the Start menu. + +That's it! + + +Remarks: + +- If Vim can't find the runtime files, ":help" won't work and the GUI version + won't show a menubar. Then you need to set the $VIM environment variable to + point to the top directory of your Vim files. Example: + set VIM=C:\editors\vim + Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime + files in $VIM/vim70. See ":help $VIM" for more information. + +- To avoid confusion between distributed files of different versions and your + own modified vim scripts, it is recommended to use this directory layout: + ("C:\vim" is used here as the root, replace it with the path you use) + Your own files: + C:\vim\_vimrc Your personal vimrc. + C:\vim\_viminfo Dynamic info for 'viminfo'. + C:\vim\vimfiles\ftplugin\*.vim Filetype plugins + C:\vim\... Other files you made. + Distributed files: + C:\vim\vim70\vim.exe The Vim version 6.0 executable. + C:\vim\vim70\doc\*.txt The version 6.0 documentation files. + C:\vim\vim70\bugreport.vim A Vim version 6.0 script. + C:\vim\vim70\... Other version 6.0 distributed files. + In this case the $VIM environment variable would be set like this: + set VIM=C:\vim + Then $VIMRUNTIME will automatically be set to "$VIM\vim70". Don't add + "vim70" to $VIM, that won't work. + +- You can put your Vim executable anywhere else. If the executable is not + with the other Vim files, you should set $VIM. The simplest is to add a line + to your autoexec.bat. Examples: + set VIM=c:\vim + set VIM=d:\editors\vim + +- If you have told the "install.exe" program to add the "Edit with Vim" menu + entry, you can remove it by running the "uninstal.exe". See + ":help win32-popup-menu". + +- In Windows 95/98/NT you can create a shortcut to Vim. This works for all + DOS and Win32 console versions. For the console version this gives you the + opportunity to set defaults for the Console where Vim runs in. + + 1. On the desktop, click right to get a menu. Select New/Shortcut. + 2. In the dialog, enter Command line: "C:\command.com". Click "Next". + 3. Enter any name. Click "Finish". + The new shortcut will appear on the desktop. + 4. With the mouse pointer on the new shortcut, click right to get a menu. + Select Properties. + 5. In the Program tab, change the "Cmdline" to add "/c" and the name of the + Vim executable. Examples: + C:\command.com /c C:\vim\vim70\vim.exe + C:\command.com /c D:\editors\vim\vim70\vim.exe + 6. Select the font, window size, etc. that you like. If this isn't + possible, select "Advanced" in the Program tab, and deselect "MS-DOS + mode". + 7. Click OK. + + For gvim, you can use a normal shortcut on the desktop, and set the size of + the Window in your $VIM/_gvimrc: + set lines=30 columns=90 + + +For further information, type one of these inside Vim: + :help dos + :help msdos + :help win32 diff --git a/runtime/tutor/README_mac.txt b/runtime/tutor/README_mac.txt new file mode 100644 index 000000000..796ad0162 --- /dev/null +++ b/runtime/tutor/README_mac.txt @@ -0,0 +1,8 @@ +README_mac.txt for version 7.2a of Vim: Vi IMproved. + +This file explains the installation of Vim on Macintosh systems. +See "README.txt" for general information about Vim. + + +Sorry, this text still needs to be written! + diff --git a/runtime/tutor/runtime.info b/runtime/tutor/runtime.info Binary files differnew file mode 100755 index 000000000..6ff0468ea --- /dev/null +++ b/runtime/tutor/runtime.info diff --git a/runtime/tutor/runtime/evim.vim b/runtime/tutor/runtime/evim.vim new file mode 100644 index 000000000..754729048 --- /dev/null +++ b/runtime/tutor/runtime/evim.vim @@ -0,0 +1,66 @@ +" Vim script for Evim key bindings +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last Change: 2006 Mar 29 + +" Don't use Vi-compatible mode. +set nocompatible + +" Use the mswin.vim script for most mappings +source <sfile>:p:h/mswin.vim + +" Vim is in Insert mode by default +set insertmode + +" Make a buffer hidden when editing another one +set hidden + +" Make cursor keys ignore wrapping +inoremap <Down> <C-R>=pumvisible() ? "\<lt>Down>" : "\<lt>C-O>gj"<CR> +inoremap <Up> <C-R>=pumvisible() ? "\<lt>Up>" : "\<lt>C-O>gk"<CR> + +" CTRL-F does Find dialog instead of page forward +noremap <C-F> :promptfind<CR> +vnoremap <C-F> y:promptfind <C-R>"<CR> +onoremap <C-F> <C-C>:promptfind<CR> +inoremap <C-F> <C-O>:promptfind<CR> +cnoremap <C-F> <C-C>:promptfind<CR> + + +set backspace=2 " allow backspacing over everything in insert mode +set autoindent " always set autoindenting on +if has("vms") + set nobackup " do not keep a backup file, use versions instead +else + set backup " keep a backup file +endif +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time +set incsearch " do incremental searching +set mouse=a " always use the mouse + +" Don't use Ex mode, use Q for formatting +map Q gq + +" Switch syntax highlighting on, when the terminal has colors +" Highlight the last used search pattern on the next search command. +if &t_Co > 2 || has("gui_running") + syntax on + set hlsearch + nohlsearch +endif + +" Only do this part when compiled with support for autocommands. +if has("autocmd") + + " Enable file type detection. + " Use the default filetype settings, so that mail gets 'tw' set to 72, + " 'cindent' is on in C files, etc. + " Also load indent files, to automatically do language-dependent indenting. + filetype plugin indent on + + " For all text files set 'textwidth' to 78 characters. + au FileType text setlocal tw=78 + +endif " has("autocmd") + +" vim: set sw=2 : diff --git a/runtime/tutor/runtime/gvimrc_example.vim b/runtime/tutor/runtime/gvimrc_example.vim new file mode 100644 index 000000000..5a5197e99 --- /dev/null +++ b/runtime/tutor/runtime/gvimrc_example.vim @@ -0,0 +1,59 @@ +" An example for a gvimrc file. +" The commands in this are executed when the GUI is started. +" +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last change: 2001 Sep 02 +" +" To use it, copy it to +" for Unix and OS/2: ~/.gvimrc +" for Amiga: s:.gvimrc +" for MS-DOS and Win32: $VIM\_gvimrc +" for OpenVMS: sys$login:.gvimrc + +" Make external commands work through a pipe instead of a pseudo-tty +"set noguipty + +" set the X11 font to use +" set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1 + +set ch=2 " Make command line two lines high + +set mousehide " Hide the mouse when typing text + +" Make shift-insert work like in Xterm +map <S-Insert> <MiddleMouse> +map! <S-Insert> <MiddleMouse> + +" Only do this for Vim version 5.0 and later. +if version >= 500 + + " I like highlighting strings inside C comments + let c_comment_strings=1 + + " Switch on syntax highlighting if it wasn't on yet. + if !exists("syntax_on") + syntax on + endif + + " Switch on search pattern highlighting. + set hlsearch + + " For Win32 version, have "K" lookup the keyword in a help file + "if has("win32") + " let winhelpfile='windows.hlp' + " map K :execute "!start winhlp32 -k <cword> " . winhelpfile <CR> + "endif + + " Set nice colors + " background for normal text is light grey + " Text below the last line is darker grey + " Cursor is green, Cyan when ":lmap" mappings are active + " Constants are not underlined but have a slightly lighter background + highlight Normal guibg=grey90 + highlight Cursor guibg=Green guifg=NONE + highlight lCursor guibg=Cyan guifg=NONE + highlight NonText guibg=grey80 + highlight Constant gui=NONE guibg=grey95 + highlight Special gui=NONE guibg=grey95 + +endif diff --git a/runtime/tutor/runtime/icons.info b/runtime/tutor/runtime/icons.info Binary files differnew file mode 100644 index 000000000..566bc5663 --- /dev/null +++ b/runtime/tutor/runtime/icons.info diff --git a/runtime/tutor/runtime/scripts.vim b/runtime/tutor/runtime/scripts.vim new file mode 100644 index 000000000..936f508e7 --- /dev/null +++ b/runtime/tutor/runtime/scripts.vim @@ -0,0 +1,351 @@ +" Vim support file to detect file types in scripts +" +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last change: 2008 Apr 28 + +" This file is called by an autocommand for every file that has just been +" loaded into a buffer. It checks if the type of file can be recognized by +" the file contents. The autocommand is in $VIMRUNTIME/filetype.vim. + + +" Only do the rest when the FileType autocommand has not been triggered yet. +if did_filetype() + finish +endif + +" Load the user defined scripts file first +" Only do this when the FileType autocommand has not been triggered yet +if exists("myscriptsfile") && filereadable(expand(myscriptsfile)) + execute "source " . myscriptsfile + if did_filetype() + finish + endif +endif + +" Line continuation is used here, remove 'C' from 'cpoptions' +let s:cpo_save = &cpo +set cpo&vim + +let s:line1 = getline(1) + +if s:line1 =~ "^#!" + " A script that starts with "#!". + + " Check for a line like "#!/usr/bin/env VAR=val bash". Turn it into + " "#!/usr/bin/bash" to make matching easier. + if s:line1 =~ '^#!\s*\S*\<env\s' + let s:line1 = substitute(s:line1, '\S\+=\S\+', '', 'g') + let s:line1 = substitute(s:line1, '\<env\s\+', '', '') + endif + + " Get the program name. + " Only accept spaces in PC style paths: "#!c:/program files/perl [args]". + " If the word env is used, use the first word after the space: + " "#!/usr/bin/env perl [path/args]" + " If there is no path use the first word: "#!perl [path/args]". + " Otherwise get the last word after a slash: "#!/usr/bin/perl [path/args]". + if s:line1 =~ '^#!\s*\a:[/\\]' + let s:name = substitute(s:line1, '^#!.*[/\\]\(\i\+\).*', '\1', '') + elseif s:line1 =~ '^#!.*\<env\>' + let s:name = substitute(s:line1, '^#!.*\<env\>\s\+\(\i\+\).*', '\1', '') + elseif s:line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)' + let s:name = substitute(s:line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '') + else + let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '') + endif + + " tcl scripts may have #!/bin/sh in the first line and "exec wish" in the + " third line. Suggested by Steven Atkinson. + if getline(3) =~ '^exec wish' + let s:name = 'wish' + endif + + " Bourne-like shell scripts: bash bash2 ksh ksh93 sh + if s:name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>' + call SetFileTypeSH(s:line1) " defined in filetype.vim + + " csh scripts + elseif s:name =~ '^csh\>' + if exists("g:filetype_csh") + call SetFileTypeShell(g:filetype_csh) + else + call SetFileTypeShell("csh") + endif + + " tcsh scripts + elseif s:name =~ '^tcsh\>' + call SetFileTypeShell("tcsh") + + " Z shell scripts + elseif s:name =~ '^zsh\>' + set ft=zsh + + " TCL scripts + elseif s:name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>' + set ft=tcl + + " Expect scripts + elseif s:name =~ '^expect\>' + set ft=expect + + " Gnuplot scripts + elseif s:name =~ '^gnuplot\>' + set ft=gnuplot + + " Makefiles + elseif s:name =~ 'make\>' + set ft=make + + " Lua + elseif s:name =~ 'lua' + set ft=lua + + " Perl + elseif s:name =~ 'perl' + set ft=perl + + " PHP + elseif s:name =~ 'php' + set ft=php + + " Python + elseif s:name =~ 'python' + set ft=python + + " Groovy + elseif s:name =~ '^groovy\>' + set ft=groovy + + " Ruby + elseif s:name =~ 'ruby' + set ft=ruby + + " BC calculator + elseif s:name =~ '^bc\>' + set ft=bc + + " sed + elseif s:name =~ 'sed\>' + set ft=sed + + " OCaml-scripts + elseif s:name =~ 'ocaml' + set ft=ocaml + + " Awk scripts + elseif s:name =~ 'awk\>' + set ft=awk + + " Website MetaLanguage + elseif s:name =~ 'wml' + set ft=wml + + " Scheme scripts + elseif s:name =~ 'scheme' + set ft=scheme + + " CFEngine scripts + elseif s:name =~ 'cfengine' + set ft=cfengine + + endif + unlet s:name + +else + " File does not start with "#!". + + let s:line2 = getline(2) + let s:line3 = getline(3) + let s:line4 = getline(4) + let s:line5 = getline(5) + + " Bourne-like shell scripts: sh ksh bash bash2 + if s:line1 =~ '^:$' + call SetFileTypeSH(s:line1) " defined in filetype.vim + + " Z shell scripts + elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' + set ft=zsh + + " ELM Mail files + elseif s:line1 =~ '^From [a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\= .*[12][09]\d\d$' + set ft=mail + + " Mason + elseif s:line1 =~ '^<[%&].*>' + set ft=mason + + " Vim scripts (must have '" vim' as the first line to trigger this) + elseif s:line1 =~ '^" *[vV]im$' + set ft=vim + + " MOO + elseif s:line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$' + set ft=moo + + " Diff file: + " - "diff" in first line (context diff) + " - "Only in " in first line + " - "--- " in first line and "+++ " in second line (unified diff). + " - "*** " in first line and "--- " in second line (context diff). + " - "# It was generated by makepatch " in the second line (makepatch diff). + " - "Index: <filename>" in the first line (CVS file) + " - "=== ", line of "=", "---", "+++ " (SVK diff) + " - "=== ", "--- ", "+++ " (bzr diff, common case) + " - "=== (removed|added|renamed|modified)" (bzr diff, alternative) + elseif s:line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\)' + \ || (s:line1 =~ '^--- ' && s:line2 =~ '^+++ ') + \ || (s:line1 =~ '^\* looking for ' && s:line2 =~ '^\* comparing to ') + \ || (s:line1 =~ '^\*\*\* ' && s:line2 =~ '^--- ') + \ || (s:line1 =~ '^=== ' && ((s:line2 =~ '^=\{66\}' && s:line3 =~ '^--- ' && s:line4 =~ '^+++') || (s:line2 =~ '^--- ' && s:line3 =~ '^+++ '))) + \ || (s:line1 =~ '^=== \(removed\|added\|renamed\|modified\)') + set ft=diff + + " PostScript Files (must have %!PS as the first line, like a2ps output) + elseif s:line1 =~ '^%![ \t]*PS' + set ft=postscr + + " M4 scripts: Guess there is a line that starts with "dnl". + elseif s:line1 =~ '^\s*dnl\>' + \ || s:line2 =~ '^\s*dnl\>' + \ || s:line3 =~ '^\s*dnl\>' + \ || s:line4 =~ '^\s*dnl\>' + \ || s:line5 =~ '^\s*dnl\>' + set ft=m4 + + " AmigaDos scripts + elseif $TERM == "amiga" + \ && (s:line1 =~ "^;" || s:line1 =~ '^\.[bB][rR][aA]') + set ft=amiga + + " SiCAD scripts (must have procn or procd as the first line to trigger this) + elseif s:line1 =~? '^ *proc[nd] *$' + set ft=sicad + + " Purify log files start with "**** Purify" + elseif s:line1 =~ '^\*\*\*\* Purify' + set ft=purifylog + + " XML + elseif s:line1 =~ '<?\s*xml.*?>' + set ft=xml + + " XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN") + elseif s:line1 =~ '\<DTD\s\+XHTML\s' + set ft=xhtml + + " PDF + elseif s:line1 =~ '^%PDF-' + set ft=pdf + + " XXD output + elseif s:line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} ' + set ft=xxd + + " RCS/CVS log output + elseif s:line1 =~ '^RCS file:' || s:line2 =~ '^RCS file:' + set ft=rcslog + + " CVS commit + elseif s:line2 =~ '^CVS:' || getline("$") =~ '^CVS: ' + set ft=cvs + + " Prescribe + elseif s:line1 =~ '^!R!' + set ft=prescribe + + " Send-pr + elseif s:line1 =~ '^SEND-PR:' + set ft=sendpr + + " SNNS files + elseif s:line1 =~ '^SNNS network definition file' + set ft=snnsnet + elseif s:line1 =~ '^SNNS pattern definition file' + set ft=snnspat + elseif s:line1 =~ '^SNNS result file' + set ft=snnsres + + " Virata + elseif s:line1 =~ '^%.\{-}[Vv]irata' + \ || s:line2 =~ '^%.\{-}[Vv]irata' + \ || s:line3 =~ '^%.\{-}[Vv]irata' + \ || s:line4 =~ '^%.\{-}[Vv]irata' + \ || s:line5 =~ '^%.\{-}[Vv]irata' + set ft=virata + + " Strace + elseif s:line1 =~ '^[0-9]* *execve(' + set ft=strace + + " VSE JCL + elseif s:line1 =~ '^\* $$ JOB\>' || s:line1 =~ '^// *JOB\>' + set ft=vsejcl + + " TAK and SINDA + elseif s:line4 =~ 'K & K Associates' || s:line2 =~ 'TAK 2000' + set ft=takout + elseif s:line3 =~ 'S Y S T E M S I M P R O V E D ' + set ft=sindaout + elseif getline(6) =~ 'Run Date: ' + set ft=takcmp + elseif getline(9) =~ 'Node File 1' + set ft=sindacmp + + " DNS zone files + elseif s:line1.s:line2.s:line3.s:line4 =~ '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA' + set ft=bindzone + + " BAAN + elseif s:line1 =~ '|\*\{1,80}' && s:line2 =~ 'VRC ' + \ || s:line2 =~ '|\*\{1,80}' && s:line3 =~ 'VRC ' + set ft=baan + + " Valgrind + elseif s:line1 =~ '^==\d\+== valgrind' || s:line3 =~ '^==\d\+== Using valgrind' + set ft=valgrind + + " Renderman Interface Bytestream + elseif s:line1 =~ '^##RenderMan' + set ft=rib + + " Scheme scripts + elseif s:line1 =~ 'exec\s\+\S*scheme' || s:line2 =~ 'exec\s\+\S*scheme' + set ft=scheme + + " Git output + elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}$\|^tag \S\+$' + set ft=git + + " CVS diff + else + let lnum = 1 + while getline(lnum) =~ "^? " && lnum < line("$") + let lnum = lnum + 1 + endwhile + if getline(lnum) =~ '^Index:\s\+\f\+$' + set ft=diff + + " locale input files: Formal Definitions of Cultural Conventions + " filename must be like en_US, fr_FR@euro or en_US.UTF-8 + elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_' + let lnum = 1 + while lnum < 100 && lnum < line("$") + if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$' + setf fdcc + break + endif + let lnum = lnum + 1 + endwhile + endif + + endif + + unlet s:line2 s:line3 s:line4 s:line5 + +endif + +" Restore 'cpoptions' +let &cpo = s:cpo_save + +unlet s:cpo_save s:line1 diff --git a/runtime/tutor/runtime/synmenu.vim b/runtime/tutor/runtime/synmenu.vim new file mode 100644 index 000000000..68a841e25 --- /dev/null +++ b/runtime/tutor/runtime/synmenu.vim @@ -0,0 +1,569 @@ +" Vim support file to define the syntax selection menu +" This file is normally sourced from menu.vim. +" +" Maintainer: Bram Moolenaar <Bram@vim.org> +" Last Change: 2006 Apr 27 + +" Define the SetSyn function, used for the Syntax menu entries. +" Set 'filetype' and also 'syntax' if it is manually selected. +fun! SetSyn(name) + if a:name == "fvwm1" + let use_fvwm_1 = 1 + let use_fvwm_2 = 0 + let name = "fvwm" + elseif a:name == "fvwm2" + let use_fvwm_2 = 1 + let use_fvwm_1 = 0 + let name = "fvwm" + else + let name = a:name + endif + if !exists("s:syntax_menu_synonly") + exe "set ft=" . name + if exists("g:syntax_manual") + exe "set syn=" . name + endif + else + exe "set syn=" . name + endif +endfun + +" <> notation is used here, remove '<' from 'cpoptions' +let s:cpo_save = &cpo +set cpo&vim + +" The following menu items are generated by makemenu.vim. +" The Start Of The Syntax Menu + +an 50.10.100 &Syntax.AB.A2ps\ config :cal SetSyn("a2ps")<CR> +an 50.10.110 &Syntax.AB.Aap :cal SetSyn("aap")<CR> +an 50.10.120 &Syntax.AB.ABAP/4 :cal SetSyn("abap")<CR> +an 50.10.130 &Syntax.AB.Abaqus :cal SetSyn("abaqus")<CR> +an 50.10.140 &Syntax.AB.ABC\ music\ notation :cal SetSyn("abc")<CR> +an 50.10.150 &Syntax.AB.ABEL :cal SetSyn("abel")<CR> +an 50.10.160 &Syntax.AB.AceDB\ model :cal SetSyn("acedb")<CR> +an 50.10.170 &Syntax.AB.Ada :cal SetSyn("ada")<CR> +an 50.10.180 &Syntax.AB.AfLex :cal SetSyn("aflex")<CR> +an 50.10.190 &Syntax.AB.ALSA\ config :cal SetSyn("alsaconf")<CR> +an 50.10.200 &Syntax.AB.Altera\ AHDL :cal SetSyn("ahdl")<CR> +an 50.10.210 &Syntax.AB.Amiga\ DOS :cal SetSyn("amiga")<CR> +an 50.10.220 &Syntax.AB.AMPL :cal SetSyn("ampl")<CR> +an 50.10.230 &Syntax.AB.Ant\ build\ file :cal SetSyn("ant")<CR> +an 50.10.240 &Syntax.AB.ANTLR :cal SetSyn("antlr")<CR> +an 50.10.250 &Syntax.AB.Apache\ config :cal SetSyn("apache")<CR> +an 50.10.260 &Syntax.AB.Apache-style\ config :cal SetSyn("apachestyle")<CR> +an 50.10.270 &Syntax.AB.Applix\ ELF :cal SetSyn("elf")<CR> +an 50.10.280 &Syntax.AB.Arc\ Macro\ Language :cal SetSyn("aml")<CR> +an 50.10.290 &Syntax.AB.Arch\ inventory :cal SetSyn("arch")<CR> +an 50.10.300 &Syntax.AB.ART :cal SetSyn("art")<CR> +an 50.10.310 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR> +an 50.10.320 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR> +an 50.10.330 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR> +an 50.10.340 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR> +an 50.10.350 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR> +an 50.10.360 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR> +an 50.10.370 &Syntax.AB.Assembly.Intel\ IA-64 :cal SetSyn("ia64")<CR> +an 50.10.380 &Syntax.AB.Assembly.Microsoft :cal SetSyn("masm")<CR> +an 50.10.390 &Syntax.AB.Assembly.Netwide :cal SetSyn("nasm")<CR> +an 50.10.400 &Syntax.AB.Assembly.PIC :cal SetSyn("pic")<CR> +an 50.10.410 &Syntax.AB.Assembly.Turbo :cal SetSyn("tasm")<CR> +an 50.10.420 &Syntax.AB.Assembly.VAX\ Macro\ Assembly :cal SetSyn("vmasm")<CR> +an 50.10.430 &Syntax.AB.Assembly.Z-80 :cal SetSyn("z8a")<CR> +an 50.10.440 &Syntax.AB.Assembly.xa\ 6502\ cross\ assember :cal SetSyn("a65")<CR> +an 50.10.450 &Syntax.AB.ASN\.1 :cal SetSyn("asn")<CR> +an 50.10.460 &Syntax.AB.Asterisk\ config :cal SetSyn("asterisk")<CR> +an 50.10.470 &Syntax.AB.Asterisk\ voicemail\ config :cal SetSyn("asteriskvm")<CR> +an 50.10.480 &Syntax.AB.Atlas :cal SetSyn("atlas")<CR> +an 50.10.490 &Syntax.AB.AutoHotKey :cal SetSyn("autohotkey")<CR> +an 50.10.500 &Syntax.AB.AutoIt :cal SetSyn("autoit")<CR> +an 50.10.510 &Syntax.AB.Automake :cal SetSyn("automake")<CR> +an 50.10.520 &Syntax.AB.Avenue :cal SetSyn("ave")<CR> +an 50.10.530 &Syntax.AB.Awk :cal SetSyn("awk")<CR> +an 50.10.540 &Syntax.AB.AYacc :cal SetSyn("ayacc")<CR> +an 50.10.560 &Syntax.AB.B :cal SetSyn("b")<CR> +an 50.10.570 &Syntax.AB.Baan :cal SetSyn("baan")<CR> +an 50.10.580 &Syntax.AB.Basic.FreeBasic :cal SetSyn("freebasic")<CR> +an 50.10.590 &Syntax.AB.Basic.IBasic :cal SetSyn("ibasic")<CR> +an 50.10.600 &Syntax.AB.Basic.QBasic :cal SetSyn("basic")<CR> +an 50.10.610 &Syntax.AB.Basic.Visual\ Basic :cal SetSyn("vb")<CR> +an 50.10.620 &Syntax.AB.Bazaar\ commit\ file :cal SetSyn("bzr")<CR> +an 50.10.630 &Syntax.AB.BC\ calculator :cal SetSyn("bc")<CR> +an 50.10.640 &Syntax.AB.BDF\ font :cal SetSyn("bdf")<CR> +an 50.10.650 &Syntax.AB.BibTeX.Bibliography\ database :cal SetSyn("bib")<CR> +an 50.10.660 &Syntax.AB.BibTeX.Bibliography\ Style :cal SetSyn("bst")<CR> +an 50.10.670 &Syntax.AB.BIND.BIND\ config :cal SetSyn("named")<CR> +an 50.10.680 &Syntax.AB.BIND.BIND\ zone :cal SetSyn("bindzone")<CR> +an 50.10.690 &Syntax.AB.Blank :cal SetSyn("blank")<CR> +an 50.20.100 &Syntax.C.C :cal SetSyn("c")<CR> +an 50.20.110 &Syntax.C.C++ :cal SetSyn("cpp")<CR> +an 50.20.120 &Syntax.C.C# :cal SetSyn("cs")<CR> +an 50.20.130 &Syntax.C.Calendar :cal SetSyn("calendar")<CR> +an 50.20.140 &Syntax.C.Cascading\ Style\ Sheets :cal SetSyn("css")<CR> +an 50.20.150 &Syntax.C.CDL :cal SetSyn("cdl")<CR> +an 50.20.160 &Syntax.C.Cdrdao\ TOC :cal SetSyn("cdrtoc")<CR> +an 50.20.170 &Syntax.C.Cdrdao\ config :cal SetSyn("cdrdaoconf")<CR> +an 50.20.180 &Syntax.C.Century\ Term :cal SetSyn("cterm")<CR> +an 50.20.190 &Syntax.C.CH\ script :cal SetSyn("ch")<CR> +an 50.20.200 &Syntax.C.ChangeLog :cal SetSyn("changelog")<CR> +an 50.20.210 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah")<CR> +an 50.20.220 &Syntax.C.CHILL :cal SetSyn("chill")<CR> +an 50.20.230 &Syntax.C.ChordPro :cal SetSyn("chordpro")<CR> +an 50.20.240 &Syntax.C.Clean :cal SetSyn("clean")<CR> +an 50.20.250 &Syntax.C.Clever :cal SetSyn("cl")<CR> +an 50.20.260 &Syntax.C.Clipper :cal SetSyn("clipper")<CR> +an 50.20.270 &Syntax.C.Cmake :cal SetSyn("cmake")<CR> +an 50.20.280 &Syntax.C.Cmusrc :cal SetSyn("cmusrc")<CR> +an 50.20.290 &Syntax.C.Cobol :cal SetSyn("cobol")<CR> +an 50.20.300 &Syntax.C.Coco/R :cal SetSyn("coco")<CR> +an 50.20.310 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR> +an 50.20.320 &Syntax.C.Conary\ Recipe :cal SetSyn("conaryrecipe")<CR> +an 50.20.330 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR> +an 50.20.340 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR> +an 50.20.350 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR> +an 50.20.360 &Syntax.C.CRM114 :cal SetSyn("crm")<CR> +an 50.20.370 &Syntax.C.Crontab :cal SetSyn("crontab")<CR> +an 50.20.380 &Syntax.C.CSP :cal SetSyn("csp")<CR> +an 50.20.390 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR> +an 50.20.400 &Syntax.C.CUDA :cal SetSyn("cuda")<CR> +an 50.20.410 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR> +an 50.20.420 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR> +an 50.20.430 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR> +an 50.20.440 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR> +an 50.20.450 &Syntax.C.Cyn++ :cal SetSyn("cynpp")<CR> +an 50.20.460 &Syntax.C.Cynlib :cal SetSyn("cynlib")<CR> +an 50.30.100 &Syntax.DE.D :cal SetSyn("d")<CR> +an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR> +an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol")<CR> +an 50.30.130 &Syntax.DE.Debian.Debian\ Sources\.list :cal SetSyn("debsources")<CR> +an 50.30.140 &Syntax.DE.Denyhosts :cal SetSyn("denyhosts")<CR> +an 50.30.150 &Syntax.DE.Desktop :cal SetSyn("desktop")<CR> +an 50.30.160 &Syntax.DE.Dict\ config :cal SetSyn("dictconf")<CR> +an 50.30.170 &Syntax.DE.Dictd\ config :cal SetSyn("dictdconf")<CR> +an 50.30.180 &Syntax.DE.Diff :cal SetSyn("diff")<CR> +an 50.30.190 &Syntax.DE.Digital\ Command\ Lang :cal SetSyn("dcl")<CR> +an 50.30.200 &Syntax.DE.Dircolors :cal SetSyn("dircolors")<CR> +an 50.30.210 &Syntax.DE.Django\ template :cal SetSyn("django")<CR> +an 50.30.220 &Syntax.DE.DNS/BIND\ zone :cal SetSyn("bindzone")<CR> +an 50.30.230 &Syntax.DE.DocBook.auto-detect :cal SetSyn("docbk")<CR> +an 50.30.240 &Syntax.DE.DocBook.SGML :cal SetSyn("docbksgml")<CR> +an 50.30.250 &Syntax.DE.DocBook.XML :cal SetSyn("docbkxml")<CR> +an 50.30.260 &Syntax.DE.Dot :cal SetSyn("dot")<CR> +an 50.30.270 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen")<CR> +an 50.30.280 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen")<CR> +an 50.30.290 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen")<CR> +an 50.30.300 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen")<CR> +an 50.30.310 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR> +an 50.30.320 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR> +an 50.30.330 &Syntax.DE.DTD :cal SetSyn("dtd")<CR> +an 50.30.340 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml")<CR> +an 50.30.350 &Syntax.DE.DTrace :cal SetSyn("dtrace")<CR> +an 50.30.360 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan")<CR> +an 50.30.370 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr")<CR> +an 50.30.380 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR> +an 50.30.400 &Syntax.DE.EDIF :cal SetSyn("edif")<CR> +an 50.30.410 &Syntax.DE.Eiffel :cal SetSyn("eiffel")<CR> +an 50.30.420 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR> +an 50.30.430 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR> +an 50.30.440 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR> +an 50.30.450 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR> +an 50.30.460 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc")<CR> +an 50.30.470 &Syntax.DE.ESQL-C :cal SetSyn("esqlc")<CR> +an 50.30.480 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR> +an 50.30.490 &Syntax.DE.Esterel :cal SetSyn("esterel")<CR> +an 50.30.500 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR> +an 50.30.510 &Syntax.DE.Eviews :cal SetSyn("eviews")<CR> +an 50.30.520 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR> +an 50.30.530 &Syntax.DE.Expect :cal SetSyn("expect")<CR> +an 50.30.540 &Syntax.DE.Exports :cal SetSyn("exports")<CR> +an 50.40.100 &Syntax.FG.Fetchmail :cal SetSyn("fetchmail")<CR> +an 50.40.110 &Syntax.FG.FlexWiki :cal SetSyn("flexwiki")<CR> +an 50.40.120 &Syntax.FG.Focus\ Executable :cal SetSyn("focexec")<CR> +an 50.40.130 &Syntax.FG.Focus\ Master :cal SetSyn("master")<CR> +an 50.40.140 &Syntax.FG.FORM :cal SetSyn("form")<CR> +an 50.40.150 &Syntax.FG.Forth :cal SetSyn("forth")<CR> +an 50.40.160 &Syntax.FG.Fortran :cal SetSyn("fortran")<CR> +an 50.40.170 &Syntax.FG.FoxPro :cal SetSyn("foxpro")<CR> +an 50.40.180 &Syntax.FG.FrameScript :cal SetSyn("framescript")<CR> +an 50.40.190 &Syntax.FG.Fstab :cal SetSyn("fstab")<CR> +an 50.40.200 &Syntax.FG.Fvwm.Fvwm\ configuration :cal SetSyn("fvwm1")<CR> +an 50.40.210 &Syntax.FG.Fvwm.Fvwm2\ configuration :cal SetSyn("fvwm2")<CR> +an 50.40.220 &Syntax.FG.Fvwm.Fvwm2\ configuration\ with\ M4 :cal SetSyn("fvwm2m4")<CR> +an 50.40.240 &Syntax.FG.GDB\ command\ file :cal SetSyn("gdb")<CR> +an 50.40.250 &Syntax.FG.GDMO :cal SetSyn("gdmo")<CR> +an 50.40.260 &Syntax.FG.Gedcom :cal SetSyn("gedcom")<CR> +an 50.40.270 &Syntax.FG.Git.Output :cal SetSyn("git")<CR> +an 50.40.280 &Syntax.FG.Git.Commit :cal SetSyn("gitcommit")<CR> +an 50.40.290 &Syntax.FG.Git.Config :cal SetSyn("gitconfig")<CR> +an 50.40.300 &Syntax.FG.Git.Rebase :cal SetSyn("gitrebase")<CR> +an 50.40.310 &Syntax.FG.Git.Send\ Email :cal SetSyn("gitsendemail")<CR> +an 50.40.320 &Syntax.FG.Gkrellmrc :cal SetSyn("gkrellmrc")<CR> +an 50.40.330 &Syntax.FG.GP :cal SetSyn("gp")<CR> +an 50.40.340 &Syntax.FG.GPG :cal SetSyn("gpg")<CR> +an 50.40.350 &Syntax.FG.Group\ file :cal SetSyn("group")<CR> +an 50.40.360 &Syntax.FG.Grub :cal SetSyn("grub")<CR> +an 50.40.370 &Syntax.FG.GNU\ Server\ Pages :cal SetSyn("gsp")<CR> +an 50.40.380 &Syntax.FG.GNUplot :cal SetSyn("gnuplot")<CR> +an 50.40.390 &Syntax.FG.GrADS\ scripts :cal SetSyn("grads")<CR> +an 50.40.400 &Syntax.FG.Gretl :cal SetSyn("gretl")<CR> +an 50.40.410 &Syntax.FG.Groff :cal SetSyn("groff")<CR> +an 50.40.420 &Syntax.FG.Groovy :cal SetSyn("groovy")<CR> +an 50.40.430 &Syntax.FG.GTKrc :cal SetSyn("gtkrc")<CR> +an 50.50.100 &Syntax.HIJK.Hamster :cal SetSyn("hamster")<CR> +an 50.50.110 &Syntax.HIJK.Haskell.Haskell :cal SetSyn("haskell")<CR> +an 50.50.120 &Syntax.HIJK.Haskell.Haskell-c2hs :cal SetSyn("chaskell")<CR> +an 50.50.130 &Syntax.HIJK.Haskell.Haskell-literate :cal SetSyn("lhaskell")<CR> +an 50.50.140 &Syntax.HIJK.HASTE :cal SetSyn("haste")<CR> +an 50.50.150 &Syntax.HIJK.Hercules :cal SetSyn("hercules")<CR> +an 50.50.160 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd")<CR> +an 50.50.170 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex")<CR> +an 50.50.180 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR> +an 50.50.190 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR> +an 50.50.200 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR> +an 50.50.210 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR> +an 50.50.220 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR> +an 50.50.230 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR> +an 50.50.240 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR> +an 50.50.250 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR> +an 50.50.260 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR> +an 50.50.280 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR> +an 50.50.290 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR> +an 50.50.300 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR> +an 50.50.310 &Syntax.HIJK.IDL\Microsoft\ IDL :cal SetSyn("msidl")<CR> +an 50.50.320 &Syntax.HIJK.Indent\ profile :cal SetSyn("indent")<CR> +an 50.50.330 &Syntax.HIJK.Inform :cal SetSyn("inform")<CR> +an 50.50.340 &Syntax.HIJK.Informix\ 4GL :cal SetSyn("fgl")<CR> +an 50.50.350 &Syntax.HIJK.Initng :cal SetSyn("initng")<CR> +an 50.50.360 &Syntax.HIJK.Inittab :cal SetSyn("inittab")<CR> +an 50.50.370 &Syntax.HIJK.Inno\ setup :cal SetSyn("iss")<CR> +an 50.50.380 &Syntax.HIJK.InstallShield\ script :cal SetSyn("ishd")<CR> +an 50.50.390 &Syntax.HIJK.Interactive\ Data\ Lang :cal SetSyn("idlang")<CR> +an 50.50.400 &Syntax.HIJK.IPfilter :cal SetSyn("ipfilter")<CR> +an 50.50.420 &Syntax.HIJK.JAL :cal SetSyn("jal")<CR> +an 50.50.430 &Syntax.HIJK.JAM :cal SetSyn("jam")<CR> +an 50.50.440 &Syntax.HIJK.Jargon :cal SetSyn("jargon")<CR> +an 50.50.450 &Syntax.HIJK.Java.Java :cal SetSyn("java")<CR> +an 50.50.460 &Syntax.HIJK.Java.JavaCC :cal SetSyn("javacc")<CR> +an 50.50.470 &Syntax.HIJK.Java.Java\ Server\ Pages :cal SetSyn("jsp")<CR> +an 50.50.480 &Syntax.HIJK.Java.Java\ Properties :cal SetSyn("jproperties")<CR> +an 50.50.490 &Syntax.HIJK.JavaScript :cal SetSyn("javascript")<CR> +an 50.50.500 &Syntax.HIJK.Jess :cal SetSyn("jess")<CR> +an 50.50.510 &Syntax.HIJK.Jgraph :cal SetSyn("jgraph")<CR> +an 50.50.530 &Syntax.HIJK.Kconfig :cal SetSyn("kconfig")<CR> +an 50.50.540 &Syntax.HIJK.KDE\ script :cal SetSyn("kscript")<CR> +an 50.50.550 &Syntax.HIJK.Kimwitu++ :cal SetSyn("kwt")<CR> +an 50.50.560 &Syntax.HIJK.KixTart :cal SetSyn("kix")<CR> +an 50.60.100 &Syntax.L-Ma.Lace :cal SetSyn("lace")<CR> +an 50.60.110 &Syntax.L-Ma.LamdaProlog :cal SetSyn("lprolog")<CR> +an 50.60.120 &Syntax.L-Ma.Latte :cal SetSyn("latte")<CR> +an 50.60.130 &Syntax.L-Ma.Ld\ script :cal SetSyn("ld")<CR> +an 50.60.140 &Syntax.L-Ma.LDAP.LDIF :cal SetSyn("ldif")<CR> +an 50.60.150 &Syntax.L-Ma.LDAP.Configuration :cal SetSyn("ldapconf")<CR> +an 50.60.160 &Syntax.L-Ma.Lex :cal SetSyn("lex")<CR> +an 50.60.170 &Syntax.L-Ma.LFTP\ config :cal SetSyn("lftp")<CR> +an 50.60.180 &Syntax.L-Ma.Libao :cal SetSyn("libao")<CR> +an 50.60.190 &Syntax.L-Ma.LifeLines\ script :cal SetSyn("lifelines")<CR> +an 50.60.200 &Syntax.L-Ma.Lilo :cal SetSyn("lilo")<CR> +an 50.60.210 &Syntax.L-Ma.Limits\ config :cal SetSyn("limits")<CR> +an 50.60.220 &Syntax.L-Ma.Linden\ scripting :cal SetSyn("lsl")<CR> +an 50.60.230 &Syntax.L-Ma.Lisp :cal SetSyn("lisp")<CR> +an 50.60.240 &Syntax.L-Ma.Lite :cal SetSyn("lite")<CR> +an 50.60.250 &Syntax.L-Ma.LiteStep\ RC :cal SetSyn("litestep")<CR> +an 50.60.260 &Syntax.L-Ma.Locale\ Input :cal SetSyn("fdcc")<CR> +an 50.60.270 &Syntax.L-Ma.Login\.access :cal SetSyn("loginaccess")<CR> +an 50.60.280 &Syntax.L-Ma.Login\.defs :cal SetSyn("logindefs")<CR> +an 50.60.290 &Syntax.L-Ma.Logtalk :cal SetSyn("logtalk")<CR> +an 50.60.300 &Syntax.L-Ma.LOTOS :cal SetSyn("lotos")<CR> +an 50.60.310 &Syntax.L-Ma.LotusScript :cal SetSyn("lscript")<CR> +an 50.60.320 &Syntax.L-Ma.Lout :cal SetSyn("lout")<CR> +an 50.60.330 &Syntax.L-Ma.LPC :cal SetSyn("lpc")<CR> +an 50.60.340 &Syntax.L-Ma.Lua :cal SetSyn("lua")<CR> +an 50.60.350 &Syntax.L-Ma.Lynx\ Style :cal SetSyn("lss")<CR> +an 50.60.360 &Syntax.L-Ma.Lynx\ config :cal SetSyn("lynx")<CR> +an 50.60.380 &Syntax.L-Ma.M4 :cal SetSyn("m4")<CR> +an 50.60.390 &Syntax.L-Ma.MaGic\ Point :cal SetSyn("mgp")<CR> +an 50.60.400 &Syntax.L-Ma.Mail :cal SetSyn("mail")<CR> +an 50.60.410 &Syntax.L-Ma.Mail\ aliases :cal SetSyn("mailaliases")<CR> +an 50.60.420 &Syntax.L-Ma.Mailcap :cal SetSyn("mailcap")<CR> +an 50.60.430 &Syntax.L-Ma.Makefile :cal SetSyn("make")<CR> +an 50.60.440 &Syntax.L-Ma.MakeIndex :cal SetSyn("ist")<CR> +an 50.60.450 &Syntax.L-Ma.Man\ page :cal SetSyn("man")<CR> +an 50.60.460 &Syntax.L-Ma.Man\.conf :cal SetSyn("manconf")<CR> +an 50.60.470 &Syntax.L-Ma.Maple\ V :cal SetSyn("maple")<CR> +an 50.60.480 &Syntax.L-Ma.Mason :cal SetSyn("mason")<CR> +an 50.60.490 &Syntax.L-Ma.Mathematica :cal SetSyn("mma")<CR> +an 50.60.500 &Syntax.L-Ma.Matlab :cal SetSyn("matlab")<CR> +an 50.60.510 &Syntax.L-Ma.Maxima :cal SetSyn("maxima")<CR> +an 50.70.100 &Syntax.Me-NO.MEL\ (for\ Maya) :cal SetSyn("mel")<CR> +an 50.70.110 &Syntax.Me-NO.Messages\ (/var/log) :cal SetSyn("messages")<CR> +an 50.70.120 &Syntax.Me-NO.Metafont :cal SetSyn("mf")<CR> +an 50.70.130 &Syntax.Me-NO.MetaPost :cal SetSyn("mp")<CR> +an 50.70.140 &Syntax.Me-NO.MGL :cal SetSyn("mgl")<CR> +an 50.70.150 &Syntax.Me-NO.MMIX :cal SetSyn("mmix")<CR> +an 50.70.160 &Syntax.Me-NO.Modconf :cal SetSyn("modconf")<CR> +an 50.70.170 &Syntax.Me-NO.Model :cal SetSyn("model")<CR> +an 50.70.180 &Syntax.Me-NO.Modsim\ III :cal SetSyn("modsim3")<CR> +an 50.70.190 &Syntax.Me-NO.Modula\ 2 :cal SetSyn("modula2")<CR> +an 50.70.200 &Syntax.Me-NO.Modula\ 3 :cal SetSyn("modula3")<CR> +an 50.70.210 &Syntax.Me-NO.Monk :cal SetSyn("monk")<CR> +an 50.70.220 &Syntax.Me-NO.Mplayer\ config :cal SetSyn("mplayerconf")<CR> +an 50.70.230 &Syntax.Me-NO.MOO :cal SetSyn("moo")<CR> +an 50.70.240 &Syntax.Me-NO.Mrxvtrc :cal SetSyn("mrxvtrc")<CR> +an 50.70.250 &Syntax.Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file :cal SetSyn("btm")<CR> +an 50.70.260 &Syntax.Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file :cal SetSyn("dosbatch")<CR> +an 50.70.270 &Syntax.Me-NO.MS-DOS/Windows.\.ini\ file :cal SetSyn("dosini")<CR> +an 50.70.280 &Syntax.Me-NO.MS-DOS/Windows.Message\ text :cal SetSyn("msmessages")<CR> +an 50.70.290 &Syntax.Me-NO.MS-DOS/Windows.Module\ Definition :cal SetSyn("def")<CR> +an 50.70.300 &Syntax.Me-NO.MS-DOS/Windows.Registry :cal SetSyn("registry")<CR> +an 50.70.310 &Syntax.Me-NO.MS-DOS/Windows.Resource\ file :cal SetSyn("rc")<CR> +an 50.70.320 &Syntax.Me-NO.Msql :cal SetSyn("msql")<CR> +an 50.70.330 &Syntax.Me-NO.MuPAD :cal SetSyn("mupad")<CR> +an 50.70.340 &Syntax.Me-NO.MUSHcode :cal SetSyn("mush")<CR> +an 50.70.350 &Syntax.Me-NO.Muttrc :cal SetSyn("muttrc")<CR> +an 50.70.370 &Syntax.Me-NO.Nanorc :cal SetSyn("nanorc")<CR> +an 50.70.380 &Syntax.Me-NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR> +an 50.70.390 &Syntax.Me-NO.Natural :cal SetSyn("natural")<CR> +an 50.70.400 &Syntax.Me-NO.Netrc :cal SetSyn("netrc")<CR> +an 50.70.410 &Syntax.Me-NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR> +an 50.70.420 &Syntax.Me-NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR> +an 50.70.430 &Syntax.Me-NO.Nroff :cal SetSyn("nroff")<CR> +an 50.70.440 &Syntax.Me-NO.NSIS\ script :cal SetSyn("nsis")<CR> +an 50.70.460 &Syntax.Me-NO.Objective\ C :cal SetSyn("objc")<CR> +an 50.70.470 &Syntax.Me-NO.Objective\ C++ :cal SetSyn("objcpp")<CR> +an 50.70.480 &Syntax.Me-NO.OCAML :cal SetSyn("ocaml")<CR> +an 50.70.490 &Syntax.Me-NO.Occam :cal SetSyn("occam")<CR> +an 50.70.500 &Syntax.Me-NO.Omnimark :cal SetSyn("omnimark")<CR> +an 50.70.510 &Syntax.Me-NO.OpenROAD :cal SetSyn("openroad")<CR> +an 50.70.520 &Syntax.Me-NO.Open\ Psion\ Lang :cal SetSyn("opl")<CR> +an 50.70.530 &Syntax.Me-NO.Oracle\ config :cal SetSyn("ora")<CR> +an 50.80.100 &Syntax.PQ.Packet\ filter\ conf :cal SetSyn("pf")<CR> +an 50.80.110 &Syntax.PQ.Palm\ resource\ compiler :cal SetSyn("pilrc")<CR> +an 50.80.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf")<CR> +an 50.80.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR> +an 50.80.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR> +an 50.80.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR> +an 50.80.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR> +an 50.80.170 &Syntax.PQ.PDF :cal SetSyn("pdf")<CR> +an 50.80.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR> +an 50.80.190 &Syntax.PQ.Perl.Perl\ POD :cal SetSyn("pod")<CR> +an 50.80.200 &Syntax.PQ.Perl.Perl\ XS :cal SetSyn("xs")<CR> +an 50.80.210 &Syntax.PQ.PHP.PHP\ 3-4 :cal SetSyn("php")<CR> +an 50.80.220 &Syntax.PQ.PHP.Phtml\ (PHP\ 2) :cal SetSyn("phtml")<CR> +an 50.80.230 &Syntax.PQ.Pike :cal SetSyn("pike")<CR> +an 50.80.240 &Syntax.PQ.Pine\ RC :cal SetSyn("pine")<CR> +an 50.80.250 &Syntax.PQ.Pinfo\ RC :cal SetSyn("pinfo")<CR> +an 50.80.260 &Syntax.PQ.PL/M :cal SetSyn("plm")<CR> +an 50.80.270 &Syntax.PQ.PL/SQL :cal SetSyn("plsql")<CR> +an 50.80.280 &Syntax.PQ.PLP :cal SetSyn("plp")<CR> +an 50.80.290 &Syntax.PQ.PO\ (GNU\ gettext) :cal SetSyn("po")<CR> +an 50.80.300 &Syntax.PQ.Postfix\ main\ config :cal SetSyn("pfmain")<CR> +an 50.80.310 &Syntax.PQ.PostScript.PostScript :cal SetSyn("postscr")<CR> +an 50.80.320 &Syntax.PQ.PostScript.PostScript\ Printer\ Description :cal SetSyn("ppd")<CR> +an 50.80.330 &Syntax.PQ.Povray.Povray\ scene\ descr :cal SetSyn("pov")<CR> +an 50.80.340 &Syntax.PQ.Povray.Povray\ configuration :cal SetSyn("povini")<CR> +an 50.80.350 &Syntax.PQ.PPWizard :cal SetSyn("ppwiz")<CR> +an 50.80.360 &Syntax.PQ.Prescribe\ (Kyocera) :cal SetSyn("prescribe")<CR> +an 50.80.370 &Syntax.PQ.Printcap :cal SetSyn("pcap")<CR> +an 50.80.380 &Syntax.PQ.Privoxy :cal SetSyn("privoxy")<CR> +an 50.80.390 &Syntax.PQ.Procmail :cal SetSyn("procmail")<CR> +an 50.80.400 &Syntax.PQ.Product\ Spec\ File :cal SetSyn("psf")<CR> +an 50.80.410 &Syntax.PQ.Progress :cal SetSyn("progress")<CR> +an 50.80.420 &Syntax.PQ.Prolog :cal SetSyn("prolog")<CR> +an 50.80.430 &Syntax.PQ.ProMeLa :cal SetSyn("promela")<CR> +an 50.80.440 &Syntax.PQ.Protocols :cal SetSyn("protocols")<CR> +an 50.80.450 &Syntax.PQ.Purify\ log :cal SetSyn("purifylog")<CR> +an 50.80.460 &Syntax.PQ.Pyrex :cal SetSyn("pyrex")<CR> +an 50.80.470 &Syntax.PQ.Python :cal SetSyn("python")<CR> +an 50.80.490 &Syntax.PQ.Quake :cal SetSyn("quake")<CR> +an 50.80.500 &Syntax.PQ.Quickfix\ window :cal SetSyn("qf")<CR> +an 50.90.100 &Syntax.R-Sg.R.R :cal SetSyn("r")<CR> +an 50.90.110 &Syntax.R-Sg.R.R\ help :cal SetSyn("rhelp")<CR> +an 50.90.120 &Syntax.R-Sg.R.R\ noweb :cal SetSyn("rnoweb")<CR> +an 50.90.130 &Syntax.R-Sg.Racc\ input :cal SetSyn("racc")<CR> +an 50.90.140 &Syntax.R-Sg.Radiance :cal SetSyn("radiance")<CR> +an 50.90.150 &Syntax.R-Sg.Ratpoison :cal SetSyn("ratpoison")<CR> +an 50.90.160 &Syntax.R-Sg.RCS.RCS\ log\ output :cal SetSyn("rcslog")<CR> +an 50.90.170 &Syntax.R-Sg.RCS.RCS\ file :cal SetSyn("rcs")<CR> +an 50.90.180 &Syntax.R-Sg.Readline\ config :cal SetSyn("readline")<CR> +an 50.90.190 &Syntax.R-Sg.Rebol :cal SetSyn("rebol")<CR> +an 50.90.200 &Syntax.R-Sg.Remind :cal SetSyn("remind")<CR> +an 50.90.210 &Syntax.R-Sg.Relax\ NG\ compact :cal SetSyn("rnc")<CR> +an 50.90.220 &Syntax.R-Sg.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR> +an 50.90.230 &Syntax.R-Sg.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR> +an 50.90.240 &Syntax.R-Sg.Resolv\.conf :cal SetSyn("resolv")<CR> +an 50.90.250 &Syntax.R-Sg.Reva\ Forth :cal SetSyn("reva")<CR> +an 50.90.260 &Syntax.R-Sg.Rexx :cal SetSyn("rexx")<CR> +an 50.90.270 &Syntax.R-Sg.Robots\.txt :cal SetSyn("robots")<CR> +an 50.90.280 &Syntax.R-Sg.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR> +an 50.90.290 &Syntax.R-Sg.Rpcgen :cal SetSyn("rpcgen")<CR> +an 50.90.300 &Syntax.R-Sg.RPL/2 :cal SetSyn("rpl")<CR> +an 50.90.310 &Syntax.R-Sg.ReStructuredText :cal SetSyn("rst")<CR> +an 50.90.320 &Syntax.R-Sg.RTF :cal SetSyn("rtf")<CR> +an 50.90.330 &Syntax.R-Sg.Ruby :cal SetSyn("ruby")<CR> +an 50.90.350 &Syntax.R-Sg.S-Lang :cal SetSyn("slang")<CR> +an 50.90.360 &Syntax.R-Sg.Samba\ config :cal SetSyn("samba")<CR> +an 50.90.370 &Syntax.R-Sg.SAS :cal SetSyn("sas")<CR> +an 50.90.380 &Syntax.R-Sg.Sather :cal SetSyn("sather")<CR> +an 50.90.390 &Syntax.R-Sg.Scheme :cal SetSyn("scheme")<CR> +an 50.90.400 &Syntax.R-Sg.Scilab :cal SetSyn("scilab")<CR> +an 50.90.410 &Syntax.R-Sg.Screen\ RC :cal SetSyn("screen")<CR> +an 50.90.420 &Syntax.R-Sg.SDL :cal SetSyn("sdl")<CR> +an 50.90.430 &Syntax.R-Sg.Sed :cal SetSyn("sed")<CR> +an 50.90.440 &Syntax.R-Sg.Sendmail\.cf :cal SetSyn("sm")<CR> +an 50.90.450 &Syntax.R-Sg.Send-pr :cal SetSyn("sendpr")<CR> +an 50.90.460 &Syntax.R-Sg.Sensors\.conf :cal SetSyn("sensors")<CR> +an 50.90.470 &Syntax.R-Sg.Service\ Location\ config :cal SetSyn("slpconf")<CR> +an 50.90.480 &Syntax.R-Sg.Service\ Location\ registration :cal SetSyn("slpreg")<CR> +an 50.90.490 &Syntax.R-Sg.Service\ Location\ SPI :cal SetSyn("slpspi")<CR> +an 50.90.500 &Syntax.R-Sg.Services :cal SetSyn("services")<CR> +an 50.90.510 &Syntax.R-Sg.Setserial\ config :cal SetSyn("setserial")<CR> +an 50.90.520 &Syntax.R-Sg.SGML.SGML\ catalog :cal SetSyn("catalog")<CR> +an 50.90.530 &Syntax.R-Sg.SGML.SGML\ DTD :cal SetSyn("sgml")<CR> +an 50.90.540 &Syntax.R-Sg.SGML.SGML\ Declaration :cal SetSyn("sgmldecl")<CR> +an 50.90.550 &Syntax.R-Sg.SGML.SGML-linuxdoc :cal SetSyn("sgmllnx")<CR> +an 50.100.100 &Syntax.Sh-S.Shell\ script.sh\ and\ ksh :cal SetSyn("sh")<CR> +an 50.100.110 &Syntax.Sh-S.Shell\ script.csh :cal SetSyn("csh")<CR> +an 50.100.120 &Syntax.Sh-S.Shell\ script.tcsh :cal SetSyn("tcsh")<CR> +an 50.100.130 &Syntax.Sh-S.Shell\ script.zsh :cal SetSyn("zsh")<CR> +an 50.100.140 &Syntax.Sh-S.SiCAD :cal SetSyn("sicad")<CR> +an 50.100.150 &Syntax.Sh-S.Sieve :cal SetSyn("sieve")<CR> +an 50.100.160 &Syntax.Sh-S.Simula :cal SetSyn("simula")<CR> +an 50.100.170 &Syntax.Sh-S.Sinda.Sinda\ compare :cal SetSyn("sindacmp")<CR> +an 50.100.180 &Syntax.Sh-S.Sinda.Sinda\ input :cal SetSyn("sinda")<CR> +an 50.100.190 &Syntax.Sh-S.Sinda.Sinda\ output :cal SetSyn("sindaout")<CR> +an 50.100.200 &Syntax.Sh-S.SiSU :cal SetSyn("sisu")<CR> +an 50.100.210 &Syntax.Sh-S.SKILL.SKILL :cal SetSyn("skill")<CR> +an 50.100.220 &Syntax.Sh-S.SKILL.SKILL\ for\ Diva :cal SetSyn("diva")<CR> +an 50.100.230 &Syntax.Sh-S.Slice :cal SetSyn("slice")<CR> +an 50.100.240 &Syntax.Sh-S.SLRN.Slrn\ rc :cal SetSyn("slrnrc")<CR> +an 50.100.250 &Syntax.Sh-S.SLRN.Slrn\ score :cal SetSyn("slrnsc")<CR> +an 50.100.260 &Syntax.Sh-S.SmallTalk :cal SetSyn("st")<CR> +an 50.100.270 &Syntax.Sh-S.Smarty\ Templates :cal SetSyn("smarty")<CR> +an 50.100.280 &Syntax.Sh-S.SMIL :cal SetSyn("smil")<CR> +an 50.100.290 &Syntax.Sh-S.SMITH :cal SetSyn("smith")<CR> +an 50.100.300 &Syntax.Sh-S.SNMP\ MIB :cal SetSyn("mib")<CR> +an 50.100.310 &Syntax.Sh-S.SNNS.SNNS\ network :cal SetSyn("snnsnet")<CR> +an 50.100.320 &Syntax.Sh-S.SNNS.SNNS\ pattern :cal SetSyn("snnspat")<CR> +an 50.100.330 &Syntax.Sh-S.SNNS.SNNS\ result :cal SetSyn("snnsres")<CR> +an 50.100.340 &Syntax.Sh-S.Snobol4 :cal SetSyn("snobol4")<CR> +an 50.100.350 &Syntax.Sh-S.Snort\ Configuration :cal SetSyn("hog")<CR> +an 50.100.360 &Syntax.Sh-S.SPEC\ (Linux\ RPM) :cal SetSyn("spec")<CR> +an 50.100.370 &Syntax.Sh-S.Specman :cal SetSyn("specman")<CR> +an 50.100.380 &Syntax.Sh-S.Spice :cal SetSyn("spice")<CR> +an 50.100.390 &Syntax.Sh-S.Spyce :cal SetSyn("spyce")<CR> +an 50.100.400 &Syntax.Sh-S.Speedup :cal SetSyn("spup")<CR> +an 50.100.410 &Syntax.Sh-S.Splint :cal SetSyn("splint")<CR> +an 50.100.420 &Syntax.Sh-S.Squid\ config :cal SetSyn("squid")<CR> +an 50.100.430 &Syntax.Sh-S.SQL.ESQL-C :cal SetSyn("esqlc")<CR> +an 50.100.440 &Syntax.Sh-S.SQL.MySQL :cal SetSyn("mysql")<CR> +an 50.100.450 &Syntax.Sh-S.SQL.PL/SQL :cal SetSyn("plsql")<CR> +an 50.100.460 &Syntax.Sh-S.SQL.SQL\ Anywhere :cal SetSyn("sqlanywhere")<CR> +an 50.100.470 &Syntax.Sh-S.SQL.SQL\ (automatic) :cal SetSyn("sql")<CR> +an 50.100.480 &Syntax.Sh-S.SQL.SQL\ (Oracle) :cal SetSyn("sqloracle")<CR> +an 50.100.490 &Syntax.Sh-S.SQL.SQL\ Forms :cal SetSyn("sqlforms")<CR> +an 50.100.500 &Syntax.Sh-S.SQL.SQLJ :cal SetSyn("sqlj")<CR> +an 50.100.510 &Syntax.Sh-S.SQL.SQL-Informix :cal SetSyn("sqlinformix")<CR> +an 50.100.520 &Syntax.Sh-S.SQR :cal SetSyn("sqr")<CR> +an 50.100.530 &Syntax.Sh-S.Ssh.ssh_config :cal SetSyn("sshconfig")<CR> +an 50.100.540 &Syntax.Sh-S.Ssh.sshd_config :cal SetSyn("sshdconfig")<CR> +an 50.100.550 &Syntax.Sh-S.Standard\ ML :cal SetSyn("sml")<CR> +an 50.100.560 &Syntax.Sh-S.Stata.SMCL :cal SetSyn("smcl")<CR> +an 50.100.570 &Syntax.Sh-S.Stata.Stata :cal SetSyn("stata")<CR> +an 50.100.580 &Syntax.Sh-S.Stored\ Procedures :cal SetSyn("stp")<CR> +an 50.100.590 &Syntax.Sh-S.Strace :cal SetSyn("strace")<CR> +an 50.100.600 &Syntax.Sh-S.Streaming\ descriptor\ file :cal SetSyn("sd")<CR> +an 50.100.610 &Syntax.Sh-S.Subversion\ commit :cal SetSyn("svn")<CR> +an 50.100.620 &Syntax.Sh-S.Sudoers :cal SetSyn("sudoers")<CR> +an 50.100.630 &Syntax.Sh-S.Symbian\ meta-makefile :cal SetSyn("mmp")<CR> +an 50.100.640 &Syntax.Sh-S.Sysctl\.conf :cal SetSyn("sysctl")<CR> +an 50.110.100 &Syntax.TUV.TADS :cal SetSyn("tads")<CR> +an 50.110.110 &Syntax.TUV.Tags :cal SetSyn("tags")<CR> +an 50.110.120 &Syntax.TUV.TAK.TAK\ compare :cal SetSyn("takcmp")<CR> +an 50.110.130 &Syntax.TUV.TAK.TAK\ input :cal SetSyn("tak")<CR> +an 50.110.140 &Syntax.TUV.TAK.TAK\ output :cal SetSyn("takout")<CR> +an 50.110.150 &Syntax.TUV.Tcl/Tk :cal SetSyn("tcl")<CR> +an 50.110.160 &Syntax.TUV.TealInfo :cal SetSyn("tli")<CR> +an 50.110.170 &Syntax.TUV.Telix\ Salt :cal SetSyn("tsalt")<CR> +an 50.110.180 &Syntax.TUV.Termcap/Printcap :cal SetSyn("ptcap")<CR> +an 50.110.190 &Syntax.TUV.Terminfo :cal SetSyn("terminfo")<CR> +an 50.110.200 &Syntax.TUV.TeX.TeX/LaTeX :cal SetSyn("tex")<CR> +an 50.110.210 &Syntax.TUV.TeX.plain\ TeX :cal SetSyn("plaintex")<CR> +an 50.110.220 &Syntax.TUV.TeX.ConTeXt :cal SetSyn("context")<CR> +an 50.110.230 &Syntax.TUV.TeX.TeX\ configuration :cal SetSyn("texmf")<CR> +an 50.110.240 &Syntax.TUV.TeX.Texinfo :cal SetSyn("texinfo")<CR> +an 50.110.250 &Syntax.TUV.TF\ mud\ client :cal SetSyn("tf")<CR> +an 50.110.260 &Syntax.TUV.Tidy\ configuration :cal SetSyn("tidy")<CR> +an 50.110.270 &Syntax.TUV.Tilde :cal SetSyn("tilde")<CR> +an 50.110.280 &Syntax.TUV.TPP :cal SetSyn("tpp")<CR> +an 50.110.290 &Syntax.TUV.Trasys\ input :cal SetSyn("trasys")<CR> +an 50.110.300 &Syntax.TUV.Trustees :cal SetSyn("trustees")<CR> +an 50.110.310 &Syntax.TUV.TSS.Command\ Line :cal SetSyn("tsscl")<CR> +an 50.110.320 &Syntax.TUV.TSS.Geometry :cal SetSyn("tssgm")<CR> +an 50.110.330 &Syntax.TUV.TSS.Optics :cal SetSyn("tssop")<CR> +an 50.110.350 &Syntax.TUV.Udev\ config :cal SetSyn("udevconf")<CR> +an 50.110.360 &Syntax.TUV.Udev\ permissions :cal SetSyn("udevperm")<CR> +an 50.110.370 &Syntax.TUV.Udev\ rules :cal SetSyn("udevrules")<CR> +an 50.110.380 &Syntax.TUV.UIT/UIL :cal SetSyn("uil")<CR> +an 50.110.390 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR> +an 50.110.400 &Syntax.TUV.Updatedb\.conf :cal SetSyn("updatedb")<CR> +an 50.110.420 &Syntax.TUV.Valgrind :cal SetSyn("valgrind")<CR> +an 50.110.430 &Syntax.TUV.Vera :cal SetSyn("vera")<CR> +an 50.110.440 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR> +an 50.110.450 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR> +an 50.110.460 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR> +an 50.110.470 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR> +an 50.110.480 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR> +an 50.110.490 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR> +an 50.110.500 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR> +an 50.110.510 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR> +an 50.110.520 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR> +an 50.110.530 &Syntax.TUV.VOS\ CM\ macro :cal SetSyn("voscm")<CR> +an 50.110.540 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR> +an 50.110.550 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR> +an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb")<CR> +an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web")<CR> +an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change")<CR> +an 50.120.130 &Syntax.WXYZ.Webmacro :cal SetSyn("webmacro")<CR> +an 50.120.140 &Syntax.WXYZ.Website\ MetaLanguage :cal SetSyn("wml")<CR> +an 50.120.160 &Syntax.WXYZ.wDiff :cal SetSyn("wdiff")<CR> +an 50.120.180 &Syntax.WXYZ.Wget\ config :cal SetSyn("wget")<CR> +an 50.120.190 &Syntax.WXYZ.Whitespace\ (add) :cal SetSyn("whitespace")<CR> +an 50.120.200 &Syntax.WXYZ.WildPackets\ EtherPeek\ Decoder :cal SetSyn("dcd")<CR> +an 50.120.210 &Syntax.WXYZ.WinBatch/Webbatch :cal SetSyn("winbatch")<CR> +an 50.120.220 &Syntax.WXYZ.Windows\ Scripting\ Host :cal SetSyn("wsh")<CR> +an 50.120.230 &Syntax.WXYZ.WSML :cal SetSyn("wsml")<CR> +an 50.120.240 &Syntax.WXYZ.WvDial :cal SetSyn("wvdial")<CR> +an 50.120.260 &Syntax.WXYZ.X\ Keyboard\ Extension :cal SetSyn("xkb")<CR> +an 50.120.270 &Syntax.WXYZ.X\ Pixmap :cal SetSyn("xpm")<CR> +an 50.120.280 &Syntax.WXYZ.X\ Pixmap\ (2) :cal SetSyn("xpm2")<CR> +an 50.120.290 &Syntax.WXYZ.X\ resources :cal SetSyn("xdefaults")<CR> +an 50.120.300 &Syntax.WXYZ.XBL :cal SetSyn("xbl")<CR> +an 50.120.310 &Syntax.WXYZ.Xinetd\.conf :cal SetSyn("xinetd")<CR> +an 50.120.320 &Syntax.WXYZ.Xmodmap :cal SetSyn("xmodmap")<CR> +an 50.120.330 &Syntax.WXYZ.Xmath :cal SetSyn("xmath")<CR> +an 50.120.340 &Syntax.WXYZ.XML :cal SetSyn("xml")<CR> +an 50.120.350 &Syntax.WXYZ.XML\ Schema\ (XSD) :cal SetSyn("xsd")<CR> +an 50.120.360 &Syntax.WXYZ.XQuery :cal SetSyn("xquery")<CR> +an 50.120.370 &Syntax.WXYZ.Xslt :cal SetSyn("xslt")<CR> +an 50.120.380 &Syntax.WXYZ.XFree86\ Config :cal SetSyn("xf86conf")<CR> +an 50.120.400 &Syntax.WXYZ.YAML :cal SetSyn("yaml")<CR> +an 50.120.410 &Syntax.WXYZ.Yacc :cal SetSyn("yacc")<CR> + +" The End Of The Syntax Menu + + +an 50.195 &Syntax.-SEP1- <Nop> + +an <silent> 50.200 &Syntax.Set\ '&syntax'\ only :call <SID>Setsynonly()<CR> +fun! s:Setsynonly() + let s:syntax_menu_synonly = 1 +endfun +an <silent> 50.202 &Syntax.Set\ '&filetype'\ too :call <SID>Nosynonly()<CR> +fun! s:Nosynonly() + if exists("s:syntax_menu_synonly") + unlet s:syntax_menu_synonly + endif +endfun + +" Restore 'cpoptions' +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/tutor/runtime/vim48x48.png b/runtime/tutor/runtime/vim48x48.png Binary files differnew file mode 100644 index 000000000..4bac67e62 --- /dev/null +++ b/runtime/tutor/runtime/vim48x48.png diff --git a/runtime/tutor/tutor.de.utf-8 b/runtime/tutor/tutor.de.utf-8 new file mode 100644 index 000000000..7b39abedc --- /dev/null +++ b/runtime/tutor/tutor.de.utf-8 @@ -0,0 +1,980 @@ +=============================================================================== += W i l l k o m m e n im V I M T u t o r - Version 1.7D = +=============================================================================== + + Vim ist ein sehr mächtiger Editor, der viele Befehle bereitstellt; zu viele, + um alle in einem Tutor wie diesem zu erklären. Dieser Tutor ist so + gestaltet, um genug Befehle vorzustellen, dass Du die Fähigkeit erlangst, + Vim mit Leichtigkeit als einen Allzweck-Editor zu benutzen. + Die Zeit fĂźr das Durcharbeiten dieses Tutors beträgt ca. 25-30 Minuten, + abhängig davon, wie viel Zeit Du mit Experimentieren verbringst. + + ACHTUNG: + Die in den Lektionen angewendeten Kommandos werden den Text modifizieren. + Erstelle eine Kopie dieser Datei, in der Du Ăźben willst (falls Du "vimtutor" + aufgerufen hast, ist dies bereits eine Kopie). + + Es ist wichtig, sich zu vergegenwärtigen, dass dieser Tutor fĂźr das Anwenden + konzipiert ist. Das bedeutet, dass Du die Befehle ausfĂźhren musst, um sie + richtig zu lernen. Wenn Du nur den Text liest, vergisst Du die Befehle! + + Jetzt stelle sicher, dass Deine Umstelltaste NICHT gedrĂźckt ist und betätige + die j Taste genĂźgend Male, um den Cursor nach unten zu bewegen, so dass + Lektion 1.1 den Bildschirm vollkommen ausfĂźllt. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 1.1: BEWEGEN DES CURSORS + + ** Um den Cursor zu bewegen, drĂźcke die h,j,k,l Tasten wie unten gezeigt. ** + ^ Hilfestellung: + k Die h Taste befindet sich links und bewegt nach links. + < h l > Die l Taste liegt rechts und bewegt nach rechts. + j Die j Taste ähnelt einem Pfeil nach unten. + v + 1. Bewege den Cursor auf dem Bildschirm umher, bis Du Dich sicher fĂźhlst. + + 2. Halte die Nach-Unten-Taste (j) gedrĂźckt, bis sie sich wiederholt. + Jetzt weiĂt Du, wie Du Dich zur nächsten Lektion bewegen kannst. + + 3. Benutze die Nach-Unten-Taste, um Dich zu Lektion 1.2 zu bewegen. + +Bemerkung: Immer, wenn Du Dir unsicher bist Ăźber das, was Du getippt hast, + drĂźcke <ESC> , um Dich in den Normalmodus zu begeben. + Dann gib das gewĂźnschte Kommando noch einmal ein. + +Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du + hjkl benutzt, wirst Du in der Lage sein, Dich sehr viel schneller + umherzubewegen, wenn Du Dich einmal daran gewĂśhnt hast. Wirklich! +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 1.2: VIM BEENDEN + + + !! ACHTUNG: Bevor Du einen der unten aufgefĂźhrten Schritte ausfĂźhrst, lies + diese gesamte Lektion!! + + 1. DrĂźcke die <ESC> Taste (um sicherzustellen, dass Du im Normalmodus bist). + + 2. Tippe: :q! <ENTER>. + Dies beendet den Editor und VERWIRFT alle Ănderungen, die Du gemacht hast. + + 3. Wenn Du die Eingabeaufforderung siehst, gib das Kommando ein, das Dich zu + diesem Tutor gefĂźhrt hat. Dies wäre: vimtutor <ENTER> + + 4. Wenn Du Dir diese Schritte eingeprägt hast und Du Dich sicher fĂźhlst, + fĂźhre Schritte 1 bis 3 aus, um den Editor zu verlassen und wieder + hineinzugelangen. + +Bemerkung: :q! <ENTER> verwirft alle Ănderungen, die Du gemacht hast. In + einigen Lektionen lernst Du , die Ănderungen in einer Datei zu speichern. + + 5. Bewege den Cursor abwärts zu Lektion 1.3. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 1.3: TEXT EDITIEREN - LĂSCHEN + + + ** DrĂźcke x um das Zeichen unter dem Cursor zu lĂśschen. ** + + 1. Bewege den Cursor zu der mit ---> markierten Zeile unten. + + 2. Um die Fehler zu beheben, bewege den Cursor, bis er auf dem Zeichen steht, + das gelĂśscht werden soll. + + 3. DrĂźcke die x Taste, um das ĂźberflĂźssige Zeichen zu lĂśschen. + + 4. Wiederhole die Schritte 2 bis 4, bis der Satz korrekt ist. + +---> Die Kkuh sprangg Ăźbber deen Moond. + + 5. Wenn nun die Zeile korrekt ist, gehe weiter zur Lektion 1.4. + +Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu + lernen, lerne vielmehr durch Anwenden. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 1.4: TEXT EDITIEREN - EINFĂGEN + + + ** DrĂźcke i , um Text einzufĂźgen. ** + + 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. + + 2. Um die erste Zeile mit der zweiten gleichzumachen, bewege den Cursor auf + das erste Zeichen NACH der Stelle, wo der Text eingefĂźgt werden soll. + + 3. DrĂźcke i und gib die notwendigen Ergänzungen ein. + + 4. Wenn jeweils ein Fehler beseitigt ist, drĂźcke <ESC> , um zum Normalmodus + zurĂźckzukehren. + Wiederhole die Schritte 2 bis 4, um den Satz zu korrigieren. + +---> In dieser ft etwas . +---> In dieser Zeile fehlt etwas Text. + + 5. Wenn Du Dich mit dem EinfĂźgen von Text sicher fĂźhlst, gehe zu Lektion 1.5. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 1.5: TEXT EDITIEREN - ANFĂGEN + + + ** DrĂźcke A , um Text anzufĂźgen. ** + + 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. + Es ist gleichgĂźltig, auf welchem Zeichen der Zeile der Cursor steht. + + 2. DrĂźcke A und gib die nĂśtigen Ergänzungen ein. + + 3. Wenn das AnfĂźgen abgeschlossen ist, drĂźcke <ESC>, um in den Normalmodus + zurĂźckzukehren. + + 4. Bewege den Cursor zur zweiten mit ---> markierten Zeile und wiederhole + die Schritte 2 und 3, um den Satz zu korrigieren. + +---> In dieser Zeile feh + In dieser Zeile fehlt etwas Text. +---> Auch hier steh + Auch hier steht etwas Unvollständiges. + + 5. Wenn Du dich mit dem AnfĂźgen von Text sicher fĂźhlst, gehe zu Lektion 1.6. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 1.6: EINE DATEI EDITIEREN + + + ** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. ** + + !! ACHTUNG: Bevor Du einen der unten aufgefĂźhrten Schritte ausfĂźhrst, lies + diese gesamte Lektion!! + + 1. Verlasse den Editor so wie in Lektion 1.2: :q! + + 2. Gib dieses Kommando in die Eingabeaufforderung ein: vim tutor <ENTER> + 'vim' ist der Aufruf des Editors, 'tutor' ist die zu editierende Datei. + Benutze eine Datei, die geändert werden kann. + + 3. FĂźge Text ein oder lĂśsche ihn, wie Du in den vorigen Lektionen gelernt + hast. + + 4. Speichere die geänderte Datei und verlasse Vim mit: :wq <ENTER> + + 5. Starte den vimtutor neu und bewege Dich zu der folgenden Zusammenfassung. + + 6. Nachdem Du obige Schritte gelesen und verstanden hast, fĂźhre sie durch. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 1 + + + 1. Der Cursor wird mit den Pfeiltasten oder den Tasten hjkl bewegt. + h (links) j (unten) k (aufwärts) l (rechts) + + 2. Um Vim von der Eingabeaufforderung auszufĂźhren, tippe: vim DATEI <ENTER> + + 3. Um Vim zu verlassen und alle Ănderungen zu verwerfen, tippe: + <ESC> :q! <ENTER> . + ODER tippe: <ESC> :wq <ENTER> , um die Ănderungen zu speichern. + + 4. Um das Zeichen unter dem Cursor zu lĂśschen, tippe: x + + 5. Um Text einzufĂźgen oder anzufĂźgen, tippe: + i EinzufĂźgenden Text eingeben <ESC> EinfĂźgen vor dem Cursor + A AnzufĂźgenden Text eingeben <ESC> AnfĂźgen nach dem Zeilendene + +Bemerkung: DrĂźcken von <ESC> bringt Dich in den Normalmodus oder bricht ein + ungewolltes, erst teilweise eingegebenes Kommando ab. + + Nun fahre mit Lektion 2 fort. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.1: LĂSCHKOMMANDOS + + + ** Tippe dw , um ein Wort zu lĂśschen. ** + + 1. DrĂźcke <ESC> um sicherzustellen, dass Du im Normalmodus bist. + + 2. Bewege den Cursor zu der mit ---> markierten Zeile unten. + + 3. Bewege den Cursor zum Anfang eines Wortes, das gelĂśscht werden soll. + + 4. Tippe dw , um das Wort zu entfernen. + + Bemerkung: Der Buchstabe d erscheint auf der letzten Zeile des Bildschirms, + wenn Du ihn eingibst. Vim wartet darauf, daĂ Du w eingibst. Wenn Du + ein anderes Zeichen als d siehst, hast Du etwas falsches getippt; + drĂźcke <ESC> und beginne neu. + +---> Einige WĂśrter lustig gehĂśren nicht Papier in diesen Satz. + + 5. Wiederhole die Schritte 3 und 4, bis der Satz korrekt ist und gehe + danach zur Lektion 2.2. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.2: WEITERE LĂSCHKOMMANDOS + + + ** Tippe d$ , um bis zum Ende der Zeile zu lĂśschen. ** + + 1. DrĂźcke <ESC> , um sicherzustellen, dass Du im Normalmodus bist. + + 2. Bewege den Cursor zu der mit ---> markierten Zeile unten. + + 3. Bewege den Cursor zum Ende der korrekten Zeile (NACH dem ersten . ). + + 4. Tippe d$ , um bis zum Ende der Zeile zu lĂśschen. + +---> Jemand hat das Ende der Zeile doppelt eingegeben. doppelt eingegeben. + + + 5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei passiert. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.3: ĂBER OPERATOREN UND BEWEGUNGSZĂGE + + + Viele Kommandos, die Text ändern, setzen sich aus einem Operator und einer + Bewegung zusammen. Das Format fĂźr ein LĂśschkommando mit dem LĂśschoperator d + lautet wie folgt: + + d Bewegung + + wobei: + d - der LĂśschoperator + Bewegung - worauf der LĂśschoperator angewandt wird (unten aufgelistet). + + Eine kleine Auflistung von Bewegungen: + w - bis zum Beginn des nächsten Wortes OHNE dessen erstes Zeichen. + e - zum Ende des aktuellen Wortes MIT dessen letztem Zeichen. + $ - zum Ende der Zeile MIT dem letzen Zeichen. + + Dementsprechend lĂśscht die Eingabe von de vom Cursor an bis zum Wortende. + +Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den + Cursor entsprechend. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.4: ANWENDUNG EINES ZĂHLERS FĂR EINEN BEWEGUNGSSCHRITT + + + ** Die Eingabe einer Zahl vor einem Bewegungsschritt wiederholt diesen. ** + + 1. Bewege den Cursor zum Beginn der mit ---> markierten Zeile unten. + + 2. Tippe 2w , um den Cursor zwei WĂśrter vorwärts zu bewegen. + + 3. Tippe 3e , um den Cursor zum Ende des dritten Wortes zu bewegen. + + 4. Tippe 0 (Null) , um zum Anfang der Zeile zu gelangen. + + 5. Wiederhole Schritte 2 und 3 mit verschiedenen Zählern. + + ---> Dies ist nur eine Zeile aus WĂśrten um sich darin herumzubewegen. + + 6. Gehe weiter zu Lektion 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.5: ANWENDUNG EINES ZĂHLERS FĂR MEHRERE LĂSCHVORGĂNGE + + + ** Die Eingabe einer Zahl mit einem Operator wiederholt diesen mehrfach. ** + + FĂźr die Kombination des LĂśschoperators und einem Bewegungsschritt (siehe + oben) stellt man dem Bewegungsschritt einen Zähler voran, um mehr zu lĂśschen: + d Nummer Bewegungsschritt + + 1. Bewege den Cursor zum ersten Wort in GROSSBUCHSTABEN in der mit ---> + markieren Zeile. + + 2. Tippe d2w , um die zwei WĂśrter in GROSSBUCHSTABEN zu lĂśschen. + + 3. Wiederhole Schritte 1 und 2 mit einem anderen Zähler, um die + darauffolgenden WĂśrter in GROSSBUCHSTABEN mit einem einzigen Kommando + zu lĂśschen. + +---> Diese ABC DE Zeile FGHI JK LMN OP mit WĂśrtern ist Q RS TUV bereinigt. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.6: ARBEITEN AUF ZEILEN + + + ** Tippe dd , um eine ganze Zeile zu lĂśschen. ** + + Wegen der Häufigkeit, dass man ganze Zeilen lĂśscht, kamen die Entwickler von + Vi darauf, dass es leichter wäre, einfach zwei d's einzugeben, um eine Zeile + zu lĂśschen. + + 1. Bewege den Cursor zur zweiten Zeile in der unten stehenden Redewendung. + 2. Tippe dd , um die Zeile zu lĂśschen. + 3. Nun bewege Dich zur vierten Zeile. + 4. Tippe 2dd , um zwei Zeilen zu lĂśschen. + +---> 1) Rosen sind rot, +---> 2) Matsch ist lustig, +---> 3) Veilchen sind blau, +---> 4) Ich habe ein Auto, +---> 5) Die Uhr sagt die Zeit, +---> 6) Zucker ist sĂźĂ, +---> 7) So wie Du auch. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 2.7: RĂCKGĂNGIG MACHEN (UNDO) + + + ** Tippe u , um die letzten Kommandos rĂźckgängig zu machen ** + ** oder U um eine ganze Zeile wiederherzustellen. ** + + 1. Bewege den Cursor zu der mit ---> markierten Zeile unten + und setze ihn auf den ersten Fehler. + 2. Tippe x , um das erste unerwĂźnschte Zeichen zu lĂśschen. + 3. Nun tippe u um das soeben ausgefĂźhrte Kommando rĂźckgängig zu machen. + 4. Jetzt behebe alle Fehler auf der Zeile mit Hilfe des x Kommandos. + 5. Nun tippe ein groĂes U , um die Zeile in ihren Ursprungszustand + wiederherzustellen. + 6. Nun tippe u einige Male, um das U und die vorhergehenden Kommandos + rĂźckgängig zu machen. + 7. Nun tippe CTRL-R (halte CTRL gedrĂźckt und drĂźcke R) mehrere Male, um die + Kommandos wiederherzustellen (die RĂźckgängigmachungen rĂźckgängig machen). + +---> Beehebe die Fehller diesser Zeile und sttelle sie mitt 'undo' wieder her. + + 8. Dies sind sehr nĂźtzliche Kommandos. + Nun gehe weiter zur Zusammenfassung von Lektion 2. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 2 + + + 1. Um vom Cursor bis zum nächsten Wort zu lĂśschen, tippe: dw + 2. Um vom Cursor bis zum Ende einer Zeile zu lĂśschen, tippe: d$ + 3. Um eine ganze Zeile zu lĂśschen, tippe: dd + + 4. Um eine Bewegung zu wiederholen, stelle eine Nummer voran: 2w + 5. Das Format fĂźr ein Ănderungskommando ist: + Operator [Anzahl] Bewegungsschritt + wobei: + Operator - gibt an, was getan werden soll, zum Beispiel d fĂźr delete + [Anzahl] - ein optionaler Zähler, um den Bewegungsschritt zu wiederholen + Bewegungsschritt - Bewegung Ăźber den zu ändernden Text, so wie + w (Wort), $ (zum Ende der Zeile), etc. + + 6. Um Dich zum Anfang der Zeile zu begeben, benutze die Null: 0 + + 7. Um vorherige Aktionen rĂźckgängig zu machen, tippe: u (kleines u) + Um alle Ănderungen auf einer Zeile rĂźckgängig zu machen: U (groĂes U) + Um die RĂźckgängigmachungen rĂźckgängig zu machen, tippe: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 3.1: ANFĂGEN (PUT) + + + ** Tippe p , um vorher gelĂśschten Text nach dem Cursor anzufĂźgen. ** + + 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. + + 2. Tippe dd , um die Zeile zu lĂśschen und sie in eimem Vim-Register zu + speichern. + + 3. Bewege den Cursor zur Zeile c), ĂBER derjenigen, wo die gelĂśschte Zeile + platziert werden soll. + + 4. Tippe p , um die Zeile unterhalb des Cursors zu platzieren. + + 5. Wiederhole die Schritte 2 bis 4, um alle Zeilen in die richtige + Reihenfolge zu bringen. + +---> d) Kannst Du das auch? +---> b) Veilchen sind blau, +---> c) Intelligenz ist erlernbar, +---> a) Rosen sind rot, +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 3.2: ERSETZEN (REPLACE) + + + ** Tippe rx , um das Zeichen unter dem Cursor durch x zu ersetzen. ** + + 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. + + 2. Bewege den Cursor, bis er sich auf dem ersten Fehler befindet. + + 3. Tippe r und anschlieĂend das Zeichen, welches dort stehen sollte. + + 4. Wiederhole Schritte 2 und 3, bis die erste Zeile gleich der zweiten ist. + +---> Als diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt! +---> Als diese Zeile eingegeben wurde, wurden einige falsche Tasten getippt! + + 5. Nun fahre fort mit Lektion 3.2. + +Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch + Auswendiglernen. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 3.3: ĂNDERN (CHANGE) + + + ** Um eine Ănderung bis zum Wortende durchzufĂźhren, tippe ce . ** + + 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. + + 2. Platziere den Cursor auf das s von Wstwr. + + 3. Tippe ce und die Wortkorrektur ein (in diesem Fall tippe Ăśrter ). + + 4. DrĂźcke <ESC> und bewege den Cursor zum nächsten zu ändernden Zeichen. + + 5. Wiederhole Schritte 3 und 4 bis der erste Satz gleich dem zweiten ist. + +---> Einige Wstwr dieser Zlaww lasdjlaf mit dem Ăndern-Operator gaaauu werden. +---> Einige WĂśrter dieser Zeile sollen mit dem Ăndern-Operator geändert werden. + +Bemerke, dass ce das Wort lĂśscht und Dich in den Eingabemodus versetzt. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 3.4: MEHR ĂNDERUNGEN MITTELS c + + + ** Das change-Kommando arbeitet mit denselben Bewegungen wie delete. ** + + 1. Der change Operator arbeitet in gleicher Weise wie delete. Das Format ist: + + c [Anzahl] Bewegungsschritt + + 2. Die Bewegungsschritte sind die gleichen , so wie w (Wort) und $ + (Zeilenende). + + 3. Bewege Dich zur ersten unten stehenden mit ---> markierten Zeile. + + 4. Bewege den Cursor zum ersten Fehler. + + 5. Tippe c$ , gib den Rest der Zeile wie in der zweiten ein, drĂźcke <ESC> . + +---> Das Ende dieser Zeile soll an die zweite Zeile angeglichen werden. +---> Das Ende dieser Zeile soll mit dem c$ Kommando korrigiert werden. + +Bemerkung: Du kannst die RĂźcktaste benutzen, um Tippfehler zu korrigieren. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 3 + + + 1. Um einen vorher gelĂśschten Text anzufĂźgen, tippe p . Dies fĂźgt den + gelĂśschten Text NACH dem Cursor an (wenn eine ganze Zeile gelĂśscht wurde, + wird diese in die Zeile unter dem Cursor eingefĂźgt). + + 2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und das an dieser + Stelle gewĂźnschte Zeichen. + + 3. Der Ănderungs- (change) Operator erlaubt, vom Cursor bis zum Ende des + Bewegungsschrittes zu ändern. Tippe ce , um eine Ănderung vom Cursor bis + zum Ende des Wortes vorzunehmen; c$ bis zum Ende einer Zeile. + + 4. Das Format fĂźr change ist: + + c [Anzahl] Bewegungsschritt + + Nun fahre mit der nächsten Lektion fort. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 4.1: CURSORPOSITION UND DATEISTATUS + + ** Tippe CTRL-G , um Deine Dateiposition sowie den Dateistatus anzuzeigen. ** + ** Tippe G , um Dich zu einer Zeile in der Datei zu begeben. ** + +Bemerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausfĂźhrst!! + + 1. Halte die Ctrl Taste unten und drĂźcke g . Dies nennen wir wir CTRL-G. + Eine Statusmeldung am FuĂ der Seite erscheint mit dem Dateinamen und der + Position innerhalb der Datei. Merke Dir die Zeilennummer fĂźr Schritt 3. + +Bemerkung: MĂśglicherweise siehst Du die Cursorposition in der unteren rechten + Bildschirmecke. Dies ist Folge der 'ruler' Option (siehe :help 'ruler') + + 2. DrĂźcke G , um Dich zum Ende der Datei zu begeben. + Tippe gg , um Dich zum Anfang der Datei zu begeben. + + 3. Gib die Nummer der Zeile ein, auf der Du vorher warst, gefolgt von G . + Dies bringt Dich zurĂźck zu der Zeile, auf der Du gestanden hast, als Du + das erste Mal CTRL-G gedrĂźckt hast. + + 4. Wenn Du Dich sicher genug fĂźhlst, fĂźhre die Schritte 1 bis 3 aus. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 4.2: DAS SUCHEN - KOMMANDO + + + ** Tippe / gefolgt von einem Ausdruck, um nach dem Ausdruck zu suchen. ** + + 1. Im Normalmodus, tippe das / Zeichen. Bemerke, dass das / und der + Cursor am FuĂ des Schirms erscheinen, so wie beim : Kommando. + + 2. Nun tippe 'Fehhler' <ENTER>. Dies ist das Wort, nach dem Du suchen willst. + + 3. Um nach demselben Ausdruck weiterzusuchen, tippe einfach n (fĂźr next). + Um nach demselben Ausdruck in der Gegenrichtung zu suchen, tippe N . + + 4. Um nach einem Ausdruck rĂźckwärts zu suchen , benutze ? statt / . + + 5. Um dahin zurĂźckzukehren, von wo Du gekommen bist, drĂźcke CTRL-O (Halte + Ctrl unten und drĂźcke den Buchstaben o). Wiederhole dies, um weiter + zurĂźckzugehen. CTRL-I bringt dich vorwärts. + +---> Fehler schreibt sich nicht "Fehhler"; Fehhler ist ein Fehler +Bemerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang + fortgesetzt, es sei denn, die 'wrapscan' Option wurde abgeschaltet. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 4.3: PASSENDE KLAMMERN FINDEN + + + ** Tippe % , um eine korrespondierende Klammer ),], oder } zu finden. ** + + 1. Platziere den Cursor auf irgendeines der Zeichen (, [, oder { in der unten + stehenden Zeile, die mit ---> markiert ist. + + 2. Nun tippe das % Zeichen. + + 3. Der Cursor bewegt sich zur passenden gegenĂźberliegenden Klammer. + + 4. Tippe % , um den Cursor zur anderen passenden Klammer zu bewegen. + + 5. Setze den Cursor auf ein anderes (,),[,],{ oder } und probiere % aus. + +---> Dies ( ist eine Testzeile ( mit [ verschiedenen ] { Klammern } darin. )) + +Bemerkung: Diese Funktionalität ist sehr nĂźtzlich bei der Fehlersuche in einem + Programmtext, in dem passende Klammern fehlen! + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 4.4: DAS ERSETZUNGSKOMMANDO (SUBSTITUTE) + + + ** Tippe :s/alt/neu/g , um 'alt' durch 'neu' zu ersetzen. ** + + 1. Bewege den Cursor zu der unten stehenden mit ---> markierten Zeile. + + 2. Tippe :s/diee/die <ENTER> . Bemerke, dass der Befehl nur das erste + Vorkommen von "diee" ersetzt. + + 3. Nun tippe :s/diee/die/g . Das ZufĂźgen des Flags g bedeutet, eine + globale Ersetzung Ăźber die Zeile durchzufĂźhren, was alle Vorkommen von + "diee" auf der Zeile ersetzt. + +---> diee schĂśnste Zeit, um diee Blumen anzuschauen, ist diee FrĂźhlingszeit. + + 4. Um alle Vorkommen einer Zeichenkette innerhalb zweier Zeilen zu ändern, + tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Zeilenbereiches + sind, in dem die Ersetzung durchgefĂźhrt werden soll. + Tippe :%s/alt/neu/g um alle Vorkommen in der gesamten Datei zu ändern. + Tippe :%s/alt/neu/gc um alle Vorkommen in der gesamten Datei zu finden + mit einem Fragedialog, ob ersetzt werden soll oder nicht. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 4 + + 1. CTRL-G zeigt die aktuelle Dateiposition sowie den Dateistatus. + G bringt Dich zum Ende der Datei. + Nummer G bringt Dich zur entsprechenden Zeilennummer. + gg bringt Dich zur ersten Zeile. + + 2. Die Eingabe von / plus einem Ausdruck sucht VORWĂRTS nach dem Ausdruck. + Die Eingabe von ? plus einem Ausdruck sucht RĂCKWĂRTS nach dem Ausdruck. + Tippe nach einer Suche n , um das nächste Vorkommen in der gleichen + Richtung zu finden; oder N , um in der Gegenrichtung zu suchen. + CTRL-O bringt Dich zurĂźck zu älteren Positionen, CTRL-I zu neueren. + + 3. Die Eingabe von % , wenn der Cursor sich auf (,),[,],{, oder } + befindet, bringt Dich zur Gegenklammer. + + 4. Um das erste Vorkommen von "alt" in einer Zeile durch "neu" zu ersetzen, + tippe :s/alt/neu + Um alle Vorkommen von "alt" in der Zeile ersetzen, tippe :s/alt/neu/g + Um AusdrĂźcke innerhalb zweier Zeilennummern zu ersetzen, :#,#s/alt/neu/g + Um alle Vorkommen in der ganzen Datei zu ersetzen, tippe :%s/alt/neu/g + FĂźr eine jedmalige Bestätigung, addiere 'c' (confirm) :%s/alt/neu/gc +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 5.1: AUSFĂHREN EINES EXTERNEN KOMMANDOS + + + ** Gib :! , gefolgt von einem externen Kommando ein, um es auszufĂźhren. ** + + 1. Tippe das vertraute Kommando : , um den Cursor auf den FuĂ des Schirms + zu setzen. Dies erlaubt Dir, ein Kommandozeilen-Kommando einzugeben. + + 2. Nun tippe ein ! (Ausrufezeichen). Dies ermĂśglicht Dir, ein beliebiges, + externes Shellkommando auszufĂźhren. + + 3. Als Beispiel tippe ls nach dem ! und drĂźcke <ENTER>. Dies zeigt + eine Auflistung Deines Verzeichnisses; genauso, als wenn Du auf der + Eingabeaufforderung wärst. Oder verwende :!dir , falls ls nicht geht. + +Bemerkung: Mit dieser Methode kann jedes beliebige externe Kommando + ausgefĂźhrt werden, auch mit Argumenten. + +Bemerkung: Alle : Kommandos mĂźssen durch Eingabe von <ENTER> + abgeschlossen werden. Von jetzt an erwähnen wir dies nicht jedesmal. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 5.2: MEHR ĂBER DAS SCHREIBEN VON DATEIEN + + +** Um am Text durchgefĂźhrte Ănderungen zu speichern, tippe :w DATEINAME. ** + + 1. Tippe :!dir oder :!ls , um eine Auflistung Deines Verzeichnisses zu + erhalten. Du weiĂt nun bereits, dass Du danach <ENTER> eingeben musst. + + 2. Wähle einen Dateinamen, der noch nicht existiert, z.B. TEST. + + 3. Nun tippe: :w TEST (wobei TEST der gewählte Dateiname ist). + + 4. Dies speichert die ganze Datei (den Vim Tutor) unter dem Namen TEST. + Um dies zu ĂźberprĂźfen, tippe nochmals :!ls bzw. !dir, um Deinen + Verzeichnisinhalt zu sehen. + +Bemerkung: WĂźrdest Du Vim jetzt beenden und danach wieder mit vim TEST + starten, dann wäre diese Datei eine exakte Kopie des Tutors zu dem + Zeitpunkt, als Du ihn gespeichert hast. + + 5. Nun entferne die Datei durch Eingabe von (MS-DOS): :!del TEST + oder (Unix): :!rm TEST +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 5.3: AUSWĂHLEN VON TEXT ZUM SCHREIBEN + +** Um einen Abschnitt der Datei zu speichern, tippe v Bewegung :w DATEI ** + + 1. Bewege den Cursor zu dieser Zeile. + + 2. Tippe v und bewege den Cursor zum fĂźnften Auflistungspunkt unten. + Bemerke, daĂ der Text hervorgehoben wird. + + 3. DrĂźcke das Zeichen : . Am FuĂ des Schirms erscheint :'<,'> . + + 4. Tippe w TEST , wobei TEST ein noch nicht vorhandener Dateiname ist. + Vergewissere Dich, daĂ Du :'<,'>w TEST siehst, bevor Du Enter drĂźckst. + + 5. Vim schreibt die ausgewählten Zeilen in die Datei TEST. Benutze :!dir + oder :!ls , um sie zu sehen. LĂśsche sie noch nicht! Wir werden sie in + der nächsten Lektion benutzen. + +Bemerkung: DrĂźcken von v startet die Visuelle Auswahl. Du kannst den Cursor + umherbewegen, um die Auswahl grĂśĂer oder kleiner zu machen. AnschlieĂend + kann man einen Operator anwenden, um mit dem Text etwas zu tun. Zum + Beispiel lĂśscht d den Text. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 5.4: EINLESEN UND ZUSAMMENFĂHREN VON DATEIEN + + + ** Um den Inhalt einer Datei einzulesen, tippe :r DATEINAME ** + + 1. Platziere den Cursor Ăźberhalb dieser Zeile. + +BEACHTE: Nachdem Du Schritt 2 ausgefĂźhrt hast, wirst Du Text aus Lektion 5.3 + sehen. Dann bewege Dich wieder ABWĂRTS, um diese Lektion wiederzusehen. + + 2. Nun lies Deine Datei TEST ein indem Du das Kommando :r TEST ausfĂźhrst, + wobei TEST der von Dir verwendete Dateiname ist. + Die eingelesene Datei wird unterhalb der Cursorzeile eingefĂźgt. + + 3. Um zu ĂźberprĂźfen, dass die Datei eingelesen wurde, gehe zurĂźck und siehe, + dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und die + eingefĂźgte Dateiversion. + +Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum + Beispiel liest :r !ls die Ausgabe des Kommandos ls ein und platziert + sie unterhalb des Cursors. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 5 + + + 1. :!Kommando fĂźhrt ein externes Kommando aus. + + Einige nĂźtzliche Beispiele sind + (MS-DOS) (Unix) + :!dir :!ls - zeigt eine Verzeichnisauflistung. + :!del DATEINAME :!rm DATEINAME - entfernt Datei DATEINAME. + + 2. :w DATEINAME speichert die aktuelle Vim-Datei unter dem Namen DATEINAME. + + 3. v Bewegung :w DATEINAME schreibt die Visuell ausgewählten Zeilen in + die Datei DATEINAME. + + 4. :r DATEINAME lädt die Datei DATEINAME und fĂźgt sie unterhalb der + Cursorposition ein. + + 5. :r !dir liest die Ausgabe des Kommandos dir und fĂźgt sie unterhalb der + Cursorposition ein. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 6.1: ZEILEN ĂFFNEN (OPEN) + + + ** Tippe o , um eine Zeile unterhalb des Cursors zu Ăśffnen und Dich in ** + ** den EinfĂźgemodus zu begeben. ** + + 1. Bewege den Cursor zu der ersten mit ---> markierten Zeile unten. + + 2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursos zu Ăśffnen + und Dich in den EinfĂźgemodus zu begeben. + + 3. Nun tippe etwas Text und drĂźcke <ESC> , um den EinfĂźgemodus zu verlassen. + +---> Mit o wird der Cursor auf der offenen Zeile im EinfĂźgemodus platziert. + + 4. Um eine Zeile ĂBERHALB des Cursos aufzumachen, gib einfach ein groĂes O + statt einem kleinen o ein. Versuche dies auf der unten stehenden Zeile. + +---> Ăffne eine Zeile Ăźber dieser mit O , wenn der Cursor auf dieser Zeile ist. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 6.2: TEXT ANFĂGEN (APPEND) + + + ** Tippe a , um Text NACH dem Cursor einzufĂźgen. ** + + 1. Bewege den Cursor zum Anfang der ersten Ăbungszeile mit ---> unten. + + 2. DrĂźcke e , bis der Cursor am Ende von Zei steht. + + 3. Tippe ein kleines a , um Text NACH dem Cursor anzufĂźgen. + + 4. Vervollständige das Wort so wie in der Zeile darunter. DrĂźcke <ESC> , + um den EinfĂźgemodus zu verlassen. + + 5. Bewege Dich mit e zum nächsten unvollständigen Wort und wiederhole + Schritte 3 und 4. + +---> Diese Zei bietet Gelegen , Text in einer Zeile anzufĂź. +---> Diese Zeile bietet Gelegenheit, Text in einer Zeile anzufĂźgen. + +Bemerkung: a, i und A gehen alle gleichermaĂen in den EinfĂźgemodus; der + einzige Unterschied ist, wo die Zeichen eingefĂźgt werden. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 6.3: EINE ANDERE ART DES ERSETZENS (REPLACE) + + + ** Tippe ein groĂes R , um mehr als ein Zeichen zu ersetzen. ** + + 1. Bewege den Cursor zur ersten unten stehenden, mit ---> markierten Zeile. + Bewege den Cursor zum Anfang des ersten xxx . + + 2. Nun drĂźcke R und tippe die Nummer, die darunter in der zweiten Zeile + steht, so das diese das xxx ersetzt. + + 3. DrĂźcke <ESC> , um den Ersetzungsmodus zu verlassen. Bemerke, daĂ der Rest + der Zeile unverändert bleibt. + + 4. Wiederhole die Schritte, um das verbliebene xxx zu ersetzen. + +---> Das Addieren von 123 zu xxx ergibt xxx. +---> Das Addieren von 123 zu 456 ergibt 579. + +Bemerkung: Der Ersetzungsmodus ist wie der EinfĂźgemodus, aber jedes eingetippte + Zeichen lĂśscht ein vorhandenes Zeichen. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 6.4: TEXT KOPIEREN UND EINFĂGEN + + ** Benutze den y Operator, um Text zu kopieren; p , um ihn einzufĂźgen ** + + 1. Gehe zu der mit ---> markierten Zeile unten, setze den Cursor hinter "a)". + + 2. Starte den Visuellen Modus mit v , bewege den Cursor genau vor "erste". + + 3. Tippe y , um den hervorgehoben Text zu kopieren. + + 4. Bewege den Cursor zum Ende der nächsten Zeile: j$ + + 5. Tippe p , um den Text einzufĂźgen und anschlieĂend: a zweite <ESC> . + + 6. Benutze den Visuellen Modus, um " Eintrag." auszuwählen, kopiere mittels + y , bewege Dich zum Ende der nächsten Zeile mit j$ und fĂźge den Text + dort mit p an. + +---> a) dies ist der erste Eintrag. + b) + +Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 6.5: OPTIONEN SETZEN + + ** Setze eine Option so, dass eine Suche oder eine Ersetzung GroĂ- ** + ** und Kleinschreibung ignoriert ** + + 1. Suche nach 'ignoriere', indem Du /ignoriere eingibst. + Wiederhole die Suche einige Male, indem Du die n - Taste drĂźckst. + + 2. Setze die 'ic' (Ignore case) - Option, indem Du :set ic eingibst. + + 3. Nun suche wieder nach 'ignoriere', indem Du n tippst. + Bemerke, daĂ jetzt Ignoriere und auch IGNORIERE gefunden wird. + + 4. Setze die 'hlsearch' und 'incsearch' - Optionen: :set hls is + + 5. Wiederhole die Suche und beobachte, was passiert: /ignoriere <ENTER> + + 6. Um das Ignorieren von GroĂ/Kleinschreibung abzuschalten, tippe: :set noic + +Bemerkung: Um die Hervorhebung der Treffer zu enfernen, gib ein: :nohlsearch +Bemerkung: Um die Schreibweise fĂźr eine einzige Suche zu ignorieren, benutze + \c im Suchausdruck: /ignoriere\c <ENTER> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 6 + + 1. Tippe o , um eine Zeile UNTER dem Cursor zu Ăśffnen und den EinfĂźgemodus + zu starten. + Tippe O , um eine Zeile ĂBER dem Cursor zu Ăśffnen. + + 2. Tippe a , um Text NACH dem Cursor anzufĂźgen. + Tippe A , um Text nach dem Zeilenende anzufĂźgen. + + 3. Das Kommando e bringt Dich zum Ende eines Wortes. + + 4. Der Operator y (yank) kopiert Text, p (put) fĂźgt ihn ein. + + 5. Ein groĂes R geht in den Ersetzungsmodus bis zum DrĂźcken von <ESC> . + + 6. Die Eingabe von ":set xxx" setzt die Option "xxx". Einige Optionen sind: + 'ic' 'ignorecase' Ignoriere GroĂ/Kleinschreibung bei einer Suche + 'is' 'incsearch' Zeige TeilĂźbereinstimmungen fĂźr einen Suchausdruck + 'hls' 'hlsearch' Hebe alle passenden AusdrĂźcke hervor + Der Optionsname kann in der Kurz- oder der Langform angegeben werden. + + 7. Stelle einer Option "no" voran, um sie abzuschalten: :set noic +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 7.1 : AUFRUFEN VON HILFE + + + ** Nutze das eingebaute Hilfesystem ** + + Vim besitzt ein umfassendes eingebautes Hilfesystem. FĂźr den Anfang probiere + eins der drei folgenden Dinge aus: + - DrĂźcke die <Hilfe> - Taste (falls Du eine besitzt) + - DrĂźcke die <F1> Taste (falls Du eine besitzt) + - Tippe :help <ENTER> + + Lies den Text im Hilfefenster, um zu verstehen wie die Hilfe funktioniert. + Tippe CTRL-W CTRL-W , um von einem Fenster zum anderen zu springen. + Tippe :q <ENTER> , um das Hilfefenster zu schlieĂen. + + Du kannst Hilfe zu praktisch jedem Thema finden, indem Du dem ":help"- + Kommando ein Argument gibst. Probiere folgendes (<ENTER> nicht vergessen): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 7.2: ERSTELLE EIN START-SKRIPT + + + ** Aktiviere die eingebauten Funktionalitäten von Vim ** + + Vim besitzt viele Funktionalitäten, die Ăźber Vi hinausgehen, aber die meisten + von ihnen sind standardmäĂig deaktiviert. Um mehr Funktionalitäten zu nutzen, + musst Du eine "vimrc" - Datei erstellen. + + 1. Starte das Editieren der "vimrc"-Datei, abhängig von Deinem System: + :e ~/.vimrc fĂźr Unix + :e $VIM/_vimrc fĂźr MS-Windows + + 2. Nun lies den Inhalt der Beispiel-"vimrc"-Datei ein: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Speichere die Datei mit: + :w + + Beim nächsten Start von Vim wird die Syntaxhervorhebung aktiviert sein. + Du kannst all Deine bevorzugten Optionen zu dieser "vimrc"-Datei zufĂźgen. + FĂźr mehr Informationen tippe :help vimrc-intro +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lektion 7.3: VERVOLLSTĂNDIGEN + + + ** Kommandozeilenvervollständigung mit CTRL-D and <TAB> ** + + 1. Stelle sicher, daĂ Vim nicht im vi-Kompatibilitätsmodus ist: :set nocp + + 2. Siehe nach, welche Dateien im Verzeichnis existieren: :!ls oder :dir + + 3. Tippe den Beginn eines Komandos: :e + + 4. DrĂźcke CTRL-D und Vim zeigt eine Liste mit "e" beginnender Kommandos. + + 5. DrĂźcke <TAB> und Vim vervollständigt den Kommandonamen zu ":edit". + + 6. Nun fĂźge ein Leerzeichen und den Beginn einer existierenden Datei an: + :edit DAT + + 7. DrĂźcke <TAB>. Vim vervollständigt den Namen (falls er eindeutig ist). + +Bemerkung: Vervollständigung funktioniert fĂźr viele Kommandos. Versuche + einfach CTRL-D und <TAB>. Dies ist insbesondere nĂźtzlich fĂźr :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 7 + + + 1. Tippe :help oder drĂźcke <F1> oder <Help>, um ein Hilfefenster zu Ăśffnen. + + 2. Tippe :help Kommando , um Hilfe Ăźber Kommando zu erhalten. + + 3. Tippe CTRL-W CTRL-W , um zum anderen Fenster zu springen. + + 4. Tippe :q , um das Hilfefenster zu schlieĂen. + + 5. Erstelle ein vimrc - Startskript zur Sicherung bevorzugter Einstellungen. + + 6. DrĂźcke CTRL-D nach dem Tippen eines Kommandos : , um mĂśgliche + Vervollständigungen zu sehen. + DrĂźcke <TAB> fĂźr eine einzige Vervollständigung. + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Damit ist der Vim Tutor beendet. Die Intention war, einen kurzen und + bĂźndigen Ăberblick Ăźber den Vim Editor zu liefern; gerade genug, um relativ + leicht mit ihm umgehen zu kĂśnnen. Der Vim Tutor hat nicht den geringsten + Anspruch auf Vollständigkeit; Vim hat noch weitaus mehr Kommandos. Lies als + nächstes das User Manual: ":help user-manual". + + FĂźr weiteres Lesen und Lernen ist folgendes Buch empfohlen : + Vim - Vi Improved - von Steve Oualline + Verlag: New Riders + Das erste Buch, welches durchgängig Vim gewidmet ist. Besonders nĂźtzlich + fĂźr Anfänger. Viele Beispiele und Bilder sind enthalten. + Siehe http://iccf-holland.org/click5.html + + Folgendes Buch ist älter und mehr Ăźber Vi als Vim, aber auch empfehlenswert: + Textbearbeitung mit dem vi-Editor - von Linda Lamb und Arnold Robbins + Verlag O'Reilly - ISBN: 3897211262 + In diesem Buch kann man fast alles finden, was man mit Vi tun mĂśchte. + Die sechste Ausgabe enthält auch Informationen Ăźber Vim. + + Als aktuelle Referenz fĂźr Version 6.2 und knappe EinfĂźhrung dient das + folgende Buch: + vim ge-packt von Reinhard Wobst + mitp-Verlag, ISBN 3-8266-1425-9 + Trotz der kompakten Darstellung ist es durch viele nĂźtzliche Beispiele auch + fĂźr Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind + online erhältlich. Siehe http://iccf-holland.org/click5.html + + Dieses Tutorial wurde geschrieben von Michael C. Pierce and Robert K. Ware, + Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State + University, zur VerfĂźgung stellte. E-mail: bware@mines.colorado.edu. + + Bearbeitet fĂźr Vim von Bram Moolenaar. + Deutsche Ăbersetzung von Joachim Hofmann 2007. E-mail: Joachim.Hof@gmx.de + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.el.cp737 b/runtime/tutor/tutor.el.cp737 new file mode 100644 index 000000000..69ceff11f --- /dev/null +++ b/runtime/tutor/tutor.el.cp737 @@ -0,0 +1,815 @@ +=============================================================================== += ˘ ŕ Š ă ¨ Ť Š Ť Ś V I M T u t o r - 륌Š 1.5 = +=============================================================================== + + Vim ĺ¤ â¤Ş §¤ĺŠŽŹ¨ŚŞ ŠŹ¤ŤáĄŤŞ §ŚŹ ⎠§Ś˘˘âŞ ¤ŤŚ˘âŞ, §á¨ + §Ś˘˘âŞ ¤ ĽăŠŚŹŁ Š Łĺ §¨ ㊠ć§ŕŞ ŹŤă. ŹŤă §¨ ㊠+ ŠŽ ኍĄ ¤ §¨ ¨áŻ Ą¤Ś§Ś Ť Ąá Ť Ş ¤ŤŚ˘âŞ §ŚŹ ŠŞ + Ąá¤ŚŹ¤ ¤ Ž¨Š ŁŚ§Ś ĺŤ çĄŚ˘ ŤŚ¤ Vim Š¤ ⤤ ¤ ĄăŞ Ž¨ăŠŞ ŠŹ¤ŤáĄŤ. + + ĄŤá §¨ŚŠâ Š Ž¨ć¤ŚŞ §ŚŹ § ŤĺŤ ¤ Ś˘ŚĄ˘¨éŠŤ Ť¤ §¨ ㊠+ ĺ¤ 25-30 ˘§Ťá, Ľ¨Ťé¤ŤŞ §ć ŤŚ §ćŠŚ Ž¨ć¤Ś ĽŚâŻŤ + § ¨ŁŤ ŠŁŚçŞ. + + ¤ŤŚ˘âŞ ŠŤ ŁăŁŤ Ť¨Ś§Ś§Ś ㊌Ź¤ ŤŚ ĄĺŁ¤Ś. Ł ŚŹ¨ăŠŤ ⤠+ ¤Ťĺ¨Ś ŹŤŚç ŤŚŹ ¨ŽĺŚŹ ¤ ĽŠĄĺŤ (¤ ĽĄ ¤ăŠŤ ŤŚ + "Vimtutor" ŹŤć ĺ¤ ă ⤠¤Ťĺ¨Ś). + + ĺ¤ ŠŁ¤Ť Ąć ¤ ŹŁáŠŤ ćŤ ŹŤă §¨ ăŠ ĺ¤ Ś¨¤ŕŁâ¤ ⍊ + 銍 ¤ እ ŁâŠŕ ŤŞ Ž¨ăŠŞ. ŹŤć ŠŁĺ¤ ćŤ Ž¨ ፠¤ + ĄŤ˘ĺŤ Ť Ş ¤ŤŚ˘âŞ ¤ Ť Ş ŁáŤ ŠŕŠŤá. ¤ ፠Łć¤Ś ŤŚ + ĄĺŁ¤Ś, Ť Ş ĽŽáŠŤ! + + é¨, ŕĺŤ ćŤ ŤŚ §˘ăĄŤ¨Ś Shift-Lock ĺ¤ §ŤŁâ¤Ś Ą + §ŤăŠŤ ŤŚ §˘ăĄŤ¨Ś j ¨ĄŤâŞ Ś¨âŞ ¤ ŁŤĄ ¤ăŠŤ ŤŚ¤ ¨ŚŁâ ⍊ + 銍 ŤŚ ᣠ1.1 ¤ ŁĺŠ §˘ă¨ŕŞ Ť¤ Ść¤. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ1.1: + + ** ¤ Ą ¤ăŠŤ ŤŚ¤ ¨ŚŁâ, §ŤăŠŤ Ť §˘ăĄŤ¨ h,j,k,l ć§ŕŞ ĺŽ¤Ť . ** + ^ + k Hint: Ś §˘ăĄŤ¨Ś h ĺ¤ ¨ ŠŤ¨á Ą Ą ¤ĺ ŠŤ' ¨ ŠŤ¨á. + < h l > Ś §˘ăĄŤ¨Ś l ĺ¤ Ľ á Ą Ą ¤ĺ ŠŤ Ľ á. + j Ś §˘ăĄŤ¨Ś j ŁŚ á Ł ˘áĄ §¨ŚŞ Ť ĄáŤŕ. + v + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ Ť¨ ç¨ŕ ŠŤ¤ Ść¤ ŁâŽ¨ ¤ ¤Ś éŤ á¤Ť. + + 2. ¨ŤăŠŤ §ŤŁâ¤Ś ŤŚ ĄáŤŕ §˘ăĄŤ¨Ś (j) ŁâŽ¨ ¤ §¤˘ĺ. +---> é¨ Ľâ¨Ť §éŞ ¤ ŁŤĄ ¤ĺŤ ŠŤŚ §ćŁ¤Ś ŁáŁ. + + 3. ¨Š ŁŚ§Ś é¤ŤŞ ŤŚ ĄáŤŕ §˘ăĄŤ¨Ś, ŁŤĄ ¤ĺŤ ŠŤŚ ᣠ1.2. + +ŁĺŕŠ: ¤ Ł ᢢŤ ĄáŤ §ŚŹ §ŤăŠŤ, §ŤăŠŤ <ESC> ¤ ¨ĺŤ + ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ. Ťá §ŤăŠŤ Ľ¤á Ť¤ ¤ŤŚ˘ă §ŚŹ ⢍. + +ŁĺŕŠ: §˘ăĄŤ¨ ŤŚŹ ¨ŚŁâ §¨â§ §ĺŠŞ ¤ ŚŹ˘çŚŹ¤. ˘˘á Ł Ť hjkl + Ł§Ś¨ĺŤ ¤ Ą ¤ĺŤ §Ś˘ç ¨Ś¨ćŤ¨, Łć˘ Ş Ť ŠŹ¤ĺŠŤ. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ1.2: VIM + + !! : ¨ ¤ ĄŤ˘âŠŤ Ąá§Ś Ś §ć Ť 㣍, ኍ 梌 ŤŚ ŁáŁ!! + + 1. ŤăŠŤ ŤŚ §˘ăĄŤ¨Ś <ESC> ( ¤ 劍 ŠĺŚŹ¨ ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ). + + 2. ˘ĄŤ¨Ś˘ŚăŠŤ: :q! <ENTER>. + +---> ŹŤć Ľâ¨ŽŤ §ć ŤŚ¤ ŠŹ¤ŤáĄŤ ¤ ŠéŠ 槌 Ş ˘˘âŞ âŽŤ Ąá¤ . + ¤ ⢍ ¤ ŠéŠŤ Ť Ş ˘˘âŞ Ą ¤ Ľâ¨Ť §˘ĄŤ¨Ś˘ŚăŠŤ: + :wq <ENTER> + + 3.  ĺŤ Ť¤ §¨ŚŤ¨Ś§ă ŤŚŹ ˘Ś Śç, §˘ĄŤ¨Ś˘ŚăŠŤ Ť¤ ¤ŤŚ˘ă Ł Ť¤ Ś§Śĺ + Ł§ăĄŤ Š ŹŤă¤ Ť¤ §¨ ăŠ. §Ś¨ĺ ¤ ĺ¤ : vimtutor <ENTER> + ¤Ś¤ Ąá Ž¨Š ŁŚ§Ś ŚçŠŤ: vim tutor <ENTER> + +---> 'vim' ŠŁĺ¤ Šŕă ŠŤŚ¤ ŠŹ¤ŤáĄŤ vim, 'tutor' ĺ¤ ŤŚ ¨ŽĺŚ §ŚŹ + ⢌ŹŁ ¤ Ś¨éŠŚŹŁ. + + 4. ¤ ⎍ §ŚŁ¤ŁŚ¤çŠ ŹŤá Ť 㣍 Ą ⎍ ŹŤŚ§§ŚĺŠ, ĄŤ˘âŠŤ + Ť 㣍 1 âઠ3 ¤ ĺŤ Ą ¤ Ł§ĺŤ Ľ¤á ŠŤŚ¤ ŠŹ¤ŤáĄŤ. Ťá + ŁŤĄ ¤ăŠŤ ŤŚ¤ ¨ŚŁâ ĄáŤŕ ŠŤŚ ᣠ1.3. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ1.3: - + + **  劍 ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ §ŤăŠŤ x ¤ ¨áŻŤ ŤŚ¤ + Ž¨ĄŤă¨ ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă ŠŁ ŕŁâ¤ Ł --->. + + 2. ¤ Ś¨éŠŤ Ť ˘á, Ą ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ¤ ĺ¤ §á¤ŕ §ć + ŤŚ¤ Ž¨ĄŤă¨ §ŚŹ ¨ĺ. + + 3. ŤăŠŤ ŤŚ §˘ăĄŤ¨Ś x ¤ ¨áŻŤ ŤŚ¤ ¤§ 磍Ś Ž¨ĄŤă¨. + + 4. §¤˘áŤ Ť 㣍 2 ŁâŽ¨ 4 ŁâŽ¨ §¨ćŤŠ ¤ ĺ¤ ŠŕŠŤă. + +---> The ccow jumpedd ovverr thhe mooon. + + 5. é¨ §ŚŹ ¨ŁŁă ĺ¤ ŠŕŠŤă, §ĺ¤Ť ŠŤŚ ᣠ1.4. + +: éŞ Ť¨âŽŤ ŹŤă¤ Ť¤ §¨ ăŠ, §¨ŚŠ§ăŠŤ ¤ Ł¤ + §ŚŁ¤ŁŚ¤çŤ, Łĺ¤Ť Ł Ť Ž¨ăŠ. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ1.4: - + + **  劍 Š ¤Ś¤ Ąă ŤáŠŤŠ §ŤăŠŤ i ¤ §¨Łá˘˘Ť ĄĺŁ¤Ś. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŁâŽ¨ Ť¤ §¨éŤ ¨ŁŁă §¨ĄáŤŕ ŠŁ ŕŁâ¤ Ł --->. + + 2. ¤ Ąá¤Ť Ť¤ §¨éŤ ¨ŁŁă ĺ Ł Ť¤ 獨, ŁŤĄ ¤ĺŠŤ ŤŚ¤ + ¨ŚŁâ §á¤ŕ ŠŤŚ¤ §¨éŤŚ Ž¨ĄŤă¨ §ć 槌Ź §¨Ł˘ĺ ŤŚ ĄĺŁ¤Ś. + + 3. ŤăŠŤ ŤŚ i Ą §˘ĄŤ¨Ś˘ŚăŠŤ Ť Ş §¨ĺŤŤŞ §¨ŚŠăĄŞ. + + 4. éŞ Ś¨é¤Ť Ąá ˘áŚŞ §ŤăŠŤ <ESC> ¤ § ŠŤ¨âŻŤ ŠŤ¤ + ¤Ś¤ Ąă ŤáŠŤŠ. §¤˘áŤ Ť 㣍 2 ŁâŽ¨ 4 ¤ Ś¨éŠŤ + Ť¤ §¨ćŤŠ. + +---> There is text misng this . +---> There is some text missing from this line. + + 5.  劍 ᤍŚ Ł Ť¤ §¨ŁŚ˘ă Ą Łâ¤ŚŹ ŁŤĄ ¤ĺŤ ŠŤ¤ + §¨ĄáŤŕ §¨ĺ˘Ż. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 1 + + + 1. ¨ŚŁâŞ Ą ¤ĺŤ Ž¨Š ŁŚ§Ś é¤ŤŞ ĺŤ Ť §˘ăĄŤ¨ ¨ŚŁâ ă Ť hjkl. + h (¨ ŠŤâ¨) j (ĄáŤŕ) k (§á¤ŕ) l (Ľ á) + + 2. ¤ Ł§ĺŤ ŠŤŚ¤ Vim (§ć Ť¤ §¨ŚŤ¨Ś§ă %) ¨áŻŤ: vim <ENTER> + + 3. ¤ ĺŤ ¨áŻŤ: <ESC> :q! <ENTER> §ć¨¨ Ż Ťŕ¤ ˘˘é¤. + ě ¨áŻŤ: <ESC> :wq <ENTER> §ŚăĄŹŠ Ťŕ¤ ˘˘é¤. + + 4. ¤ ¨áŻŤ ⤤ Ž¨ĄŤă¨ ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ Š + ¤Ś¤ Ąă ŤáŠŤŠ §ŤăŠŤ: x + + 5. ¤ ŠáŤ ĄĺŁ¤Ś ŠŤŚ¤ ¨ŚŁâ 抌 劍 Š ¤Ś¤ Ąă ŤáŠŤŠ ¨áŻŤ: + i §˘ĄŤ¨Ś˘ŚăŠŤ ŤŚ ĄĺŁ¤Ś <ESC> + +: Ťé¤ŤŞ <ESC> ŤŚ§ŚŤĺŤ ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ ă + ĄŹ¨éŠŤ Łĺ ¤§ 磍 Ą Ł¨ ĄéŞ Ś˘ŚĄ˘¨ŕŁâ¤ ¤ŤŚ˘ă. + +é¨ ŠŹ¤ŽĺŠŤ Ł ŤŚ ᣠ2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ2.1: + + ** ¨áŻŤ dw ¤ ¨áŻŤ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŁĺŞ ˘âĽŞ. ** + + 1. ŤăŠŤ <ESC> ¤ ŕĺŤ ćŤ ĺŠŤ ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ. + + 2. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă ŠŁ ŕŁâ¤ Ł --->. + + 3. 复 ŤŚ¤ ¨ŚŁâ ŠŤ¤ ¨Žă ŤŞ ˘âĽŞ §ŚŹ §¨â§ ¤ ¨ĺ. + + 4. ¨áŻŤ dw ¤ Ąá¤Ť Ť¤ ˘âĽ ¤ Ľ¤ ŠŤĺ. + +: ¨áŁŁŤ dw Ł¤ ŠŤŚç¤ ŠŤ¤ Ť˘ŹŤĺ ¨ŁŁă ŤŞ Ść¤Ş 抌 + Ť §˘ĄŤ¨Ś˘ŚĺŤ. ¤ ¨áŻŤ ĄáŤ ˘áŚŞ, §ŤăŠŤ <ESC> Ą + ĽĄ ¤ăŠŤ §ć Ť¤ ¨Žă. + +---> There are a some words fun that don't belong paper in this sentence. + + 5. §¤˘áŤ Ť 㣍 3 Ą 4 ŁâŽ¨ §¨ćŤŠ ¤ ĺ¤ ŠŕŠŤă Ą + §ĺ¤Ť ŠŤŚ ᣠ2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ2.2: + + ** ˘ĄŤ¨Ś˘ŚăŠŤ d$ ¤ ¨áŻŤ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŞ ¨ŁŁăŞ. ** + + 1. ŤăŠŤ <ESC> ¤ ŕĺŤ ćŤ ĺŠŤ ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ. + + 2. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă ŠŁ ŕŁâ¤ Ł --->. + + 3. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤŚ Ťâ˘ŚŞ ŤŞ ŠŕŠŤăŞ ¨ŁŁăŞ ( Ť¤ §¨éŤ . ). + + 4. ŤăŠŤ d$ ¤ ¨áŻŤ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŞ ¨ŁŁăŞ. + +---> Somebody typed the end of this line twice. end of this line twice. + + 5. 复 ŠŤŚ ᣠ2.3 ¤ ĄŤ˘áŤ Ť ŠŹŁĺ¤ . + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ2.3: + + + ŁŚ¨ă ŤŞ ¤ŤŚ˘ăŞ ¨ăŞ d ĺ¤ ŕŞ ĽăŞ: + + [¨ ŁćŞ] d ¤Ť ĄĺŁ¤Ś ě d [¨ ŁćŞ] ¤Ť ĄĺŁ¤Ś + Ź: + ¨ ŁćŞ - §ćŠŞ Ś¨âŞ ĄŤ˘ŠŤĺ ¤ŤŚ˘ă (§¨Ś ¨Ť Ąć, Ľ' Ś¨ ŠŁŚç=1). + d - ¤ŤŚ˘ă ŤŞ ¨ăŞ. + ¤Ť ĄĺŁ¤Ś - §á¤ŕ Š Ť ˘ ŤŚŹ¨ăŠ ¤ŤŚ˘ă (§¨ĄáŤŕ ˘ĺŠŤ). + + ĺ Ł Ą¨ă ˘ĺŠŤ §ć ¤Ť ĄĺŁ¤: + w - §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŞ ˘âĽŞ, §¨ ˘Łá¤Ś¤ŤŞ ŤŚ ኍŁ. + e - §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŞ ˘âĽŞ, ŤŚ ኍŁ. + $ - §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŞ ¨ŁŁăŞ. + +: ŤŚŹŞ Ťç§ŚŹŞ ŤŞ §¨ §âŤ Ş, §Ťé¤ŤŞ §˘éŞ ŤŚ ¤Ť ĄĺŁ¤Ś 抌 + 劍 ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ Žŕ¨ĺŞ Ąá§Ś ¤ŤŚ˘ă ŁŤĄ ¤ăŠŤ + ŤŚ¤ ¨ŚŁâ ć§ŕŞ ĄŚ¨ĺŤ ŠŤ¤ ˘ĺŠŤ ¤Ť Ą Łâ¤ŕ¤. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ2.4: '-' + + ** ˘ĄŤ¨Ś˘ŚăŠŤ dd ¤ ¨áŻŤ ć˘ Ť ¨ŁŁă. ** + + Ľ ŤĺŞ ŤŞ ŠŹŽ¤ćŤŤŞ ŤŞ ¨ăŞ Ś˘ćĄ˘¨Ş ¨ŁŁăŞ, Ś ŠŽ ŠŤâŞ + ŤŚŹ Vim §ŚáŠ Š¤ ćŤ ăŤ¤ ŹĄŚ˘ćŤ¨Ś ¤ ¨áŤ §˘éŞ çŚ d ŠŤ + Š ¨á ¤ ¨áŻŤ Łĺ ¨ŁŁă. + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ 獨 ¨ŁŁă ŤŞ §¨ĄáŤŕ ¨áŠŞ. + 2. ¨áŻŤ dd ¤ ¨áŻŤ Ť ¨ŁŁă. + 3. é¨ ŁŤĄ ¤ĺŤ ŠŤ¤ ŤâŤ¨Ť ¨ŁŁă. + 4. ¨áŻŤ 2dd (ŹŁĺŤ ¨ ŁćŞ-¤ŤŚ˘ă-¤Ť ĄĺŁ¤Ś) ¤ + ¨áŻŤ çŚ ¨ŁŁâŞ. + + 1) Roses are red, + 2) Mud is fun, + 3) Violets are blue, + 4) I have a car, + 5) Clocks tell time, + 6) Sugar is sweet + 7) And so are you. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ2.5: + + ** ŤăŠŤ u ¤ ¤ ¨âŠŤ Ť Ş Ť˘ŹŤĺŞ ¤ŤŚ˘âŞ, + U ¤ Ś¨éŠŤ ć˘ Ť ¨ŁŁă. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă ŠŁ ŕŁâ¤ Ł ---> Ą + ŤŚ§ŚŤăŠŤ ŤŚ¤ §á¤ŕ ŠŤŚ §¨éŤŚ ˘áŚŞ. + 2. ŤăŠŤ x ¤ ¨áŻŤ ŤŚ¤ §¨éŤŚ ¤§ 磍Ś Ž¨ĄŤă¨. + 3. é¨ §ŤăŠŤ u ¤ ¤ ¨âŠŤ Ť¤ Ť˘ŹŤĺ ĄŤ˘ŠŁâ¤ ¤ŤŚ˘ă. + 4. ŹŤă Ť Ś¨á Ś¨éŠŤ ć˘ Ť ˘á ŠŤ ¨ŁŁă Ž¨Š ŁŚ§Ś é¤ŤŞ Ť¤ ¤ŤŚ˘ă x. + 5. é¨ §ŤăŠŤ ⤠Ą˘ĺŚ U ¤ § ŠŤ¨âŻŤ Ť ¨ŁŁă ŠŤ¤ ¨Ž Ąă + ŤŞ ĄŤáŠŤŠ. + 6. é¨ §ŤăŠŤ u Ł¨ ĄâŞ Ś¨âŞ ¤ ¤ ¨âŠŤ Ť¤ U Ą + §¨ŚŚçŁ¤Ş ¤ŤŚ˘âŞ. + 7. é¨ §ŤăŠŤ CTRL-R (Ą¨Ťé¤ŤŞ §ŤŁâ¤Ś ŤŚ §˘ăĄŤ¨Ś CTRL ĄéŞ §ŤáŤ ŤŚ R) + Ł¨ ĄâŞ Ś¨âŞ ¤ §¤â¨Ť Ť Ş ¤ŤŚ˘âŞ (¤ĺ¨Š Ťŕ¤ ¤ ¨âŠŕ¤). + +---> Fiix the errors oon thhis line and reeplace them witth undo. + + 8. ŹŤâŞ ĺ¤ §Ś˘ç Ž¨ăŠ ŁŞ ¤ŤŚ˘âŞ. é¨ §ĺ¤Ť ŠŤ¤ + ¨ĺ˘Ż ŤŚŹ 㣍ŚŞ 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 2 + + + 1. ¤ ¨áŻŤ §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ˘âĽŞ ¨áŻŤ: dw + + 2. ¤ ¨áŻŤ §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ¨ŁŁăŞ ¨áŻŤ: d$ + + 3. ¤ ¨áŻŤ Ś˘ćĄ˘¨ Ť ¨ŁŁă ¨áŻŤ: dd + + 4. ŁŚ¨ă Łĺ ¤ŤŚ˘ă ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ ĺ¤ : + + [¨ ŁćŞ] ¤ŤŚ˘ă ¤Ť ĄĺŁ¤Ś ě ¤ŤŚ˘ă [¨ ŁćŞ] ¤Ť ĄĺŁ¤Ś + 槌Ź: + ¨ ŁćŞ - §ćŠŞ Ś¨âŞ ¤ §¤˘ĺ ¤ŤŚ˘ă + ¤ŤŚ˘ă - Ť ¤ ĺ¤ , ć§ŕŞ d ¨ă + ¤Ť ĄĺŁ¤Ś - §á¤ŕ Š Ť ¤ ¤¨ăŠ ¤ŤŚ˘ă, ć§ŕŞ w (˘âĽ), + $ (Ťâ˘ŚŞ ŤŞ ¨ŁŁăŞ), ĄŤ˘. + + 5. ¤ ¤ ¨âŠŤ §¨ŚŚçŁ¤Ş ¤â¨ Ş, §ŤăŠŤ: u (§ć u) + ¤ ¤ ¨âŠŤ 梪 Ť Ş ˘˘âŞ ŠŤ ¨ŁŁă, §ŤăŠŤ: U (Ą˘ĺŚ U) + ¤ ¤ ¨âŠŤ Ť Ş ¤ ¨âŠ Ş, §ŤăŠŤ: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ3.1: + + + ** ŤăŠŤ p ¤ ŤŚ§ŚŤăŠŤ Ť¤ Ť˘ŹŤĺ ¨ă ŁŤá ŤŚ¤ ¨ŚŁâ. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨éŤ ¨ŁŁă ŤŞ §¨ĄáŤŕ ŚŁáŞ. + + 2. ŤăŠŤ dd ¤ ¨áŻŤ Ť ¨ŁŁă Ą ¤ Ť¤ §ŚĄçŠŤ Š + §¨ŚŠŕ¨ ¤ă Ł¤ăŁ ŤŚŹ Vim. + + 3. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ ¨ŁŁă §ć Ąĺ §ŚŹ §¨â§ ¤ §á + ¨ŁŁâ¤ ¨ŁŁă. + + 4.  劍 Š ¤Ś¤ Ąă ŤáŠŤŠ, §ŤăŠŤ p ¤ ᢍ Ť ¨ŁŁă. + + 5. §¤˘áŤ Ť 㣍 2 âઠ4 ¤ ᢍ 梪 Ť Ş ¨ŁŁâŞ ŠŤ + ŠŕŠŤă Š ¨á. + + d) Can you learn too? + b) Violets are blue, + c) Intelligence is learned, + a) Roses are red, + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ3.2: + + + ** ŤăŠŤ r Ą Ž¨ĄŤă¨ ¤ ˘˘áĽŤ ŹŤć¤ §ŚŹ ĺ¤ + ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨éŤ ¨ŁŁă §¨ĄáŤŕ ŠŁ ŕŁâ¤ Ł --->. + + 2. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ⍊ 銍 ¤ ĺ¤ §á¤ŕ ŠŤŚ §¨éŤŚ ˘áŚŞ. + + 3. ŤăŠŤ r Ą ŁŤá ŤŚ¤ Ž¨ĄŤă¨ Ś Ś§ŚĺŚŞ Ś¨é¤ ŤŚ ˘áŚŞ. + + 4. §¤˘áŤ Ť 㣍 2 Ą 3 ŁâŽ¨ ¤ ĺ¤ ŠŕŠŤă §¨éŤ ¨ŁŁă. + +---> Whan this lime was tuoed in, someone presswd some wrojg keys! +---> When this line was typed in, someone pressed some wrong keys! + + 5. é¨ §ĺ¤Ť ŠŤŚ ᣠ3.2. + +: ŹŁáŠŤ ćŤ §¨â§ ¤ Łĺ¤Ť Ł Ť Ž¨ăŠ, Ą ćŽ Ł + Ť¤ §ŚŁ¤Łć¤ŹŠ. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ3.3: + + ** ¤ ˘˘áĽŤ ŤŁăŁ ă ć˘ Ť ˘âĽ, §ŤăŠŤ cw . ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨éŤ ¨ŁŁă §¨ĄáŤŕ ŠŁ ŕŁâ¤ Ł --->. + + 2. Ś§ŚŤăŠŤ ŤŚ¤ ¨ŚŁâ §á¤ŕ ŠŤŚ u ŤŞ ˘âĽŞ lubw. + + 3. ŤăŠŤ cw Ą Ť ŠŕŠŤă ˘âĽ (ŠŤ¤ §¨ĺ§ŤŕŠ ŹŤă, ¨áŻŤ 'ine'.) + + 4. ŤăŠŤ <ESC> Ą §ĺ¤Ť ŠŤŚ §ćŁ¤Ś ˘áŚŞ (ŠŤŚ¤ §¨éŤŚ + Ž¨ĄŤă¨ §¨ŚŞ ˘˘ă). + + 5. §¤˘áŤ Ť 㣍 3 Ą 4 ŁâŽ¨ Ş ćŤŚŹ §¨éŤ §¨ćŤŠ ¤ ĺ¤ + ĺ Ł Ť 獨. + +---> This lubw has a few wptfd that mrrf changing usf the change command. +---> This line has a few words that need changing using the change command. + +¨Ť¨ĺŠŤ ćŤ cw ćŽ Łć¤Ś ¤Ť Ą ŠŤá Ť ˘âĽ, ˘˘á ŠŞ Šá +§ĺŠŞ Š §¨ŁŚ˘ă. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ3.4: c + + + ** ¤ŤŚ˘ă ˘˘ăŞ Ž¨Š ŁŚ§Ś ĺŤ Ł Ť ĺ ¤Ť ĄĺŁ¤ ŤŞ ¨ăŞ. ** + + + 1. ¤ŤŚ˘ă ˘˘ăŞ ŚŹ˘ç Ł ŤŚ¤ ĺ Ś Ť¨ć§Ś ć§ŕŞ ¨ă. ŁŚ¨ă ĺ¤ : + + [¨ ŁćŞ] c ¤Ť ĄĺŁ¤Ś ě c [¨ ŁćŞ] ¤Ť ĄĺŁ¤Ś + + 2. ¤Ť ĄĺŁ¤ ĺ¤ §á˘ Ť ĺ , ć§ŕŞ w (˘âĽ), $ (Ťâ˘ŚŞ ¨ŁŁăŞ), ĄŤ˘. + + 3. ŤĄ ¤ĺŤ ŠŤ¤ §¨éŤ ¨ŁŁă §¨ĄáŤŕ ŠŁ ŕŁâ¤ Ł --->. + + 4. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤŚ §¨éŤŚ ˘áŚŞ. + + 5. ¨áŻŤ c$ ¤ Ąá¤Ť ŤŚ Ź§ć˘Ś §Ś ŤŞ ¨ŁŁăŞ ĺ Ś Ł Ť 獨 + Ą §ŤăŠŤ <ESC>. + +---> The end of this line needs some help to make it like the second. +---> The end of this line needs to be corrected using the c$ command. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 3 + + + 1. ¤ ŤŚ§ŚŤăŠŤ ĄĺŁ¤Ś §ŚŹ Łć˘ Ş âŽ ¨ĺ, §ŤăŠŤ p . + ŹŤć ŤŚ§ŚŤĺ ŤŚ ¨ŁŁâ¤Ś ĄĺŁ¤Ś ŤŚ¤ ¨ŚŁâ (¤ ¨áŤĄ + ¨ŁŁă §á ŁŤá ŠŤ ¨ŁŁă ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ. + + 2. ¤ ¤Ť ĄŤŠŤăŠŤ ŤŚ¤ Ž¨ĄŤă¨ ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ, §ŤăŠŤ r + Ą ŁŤá ŤŚ¤ Ž¨ĄŤă¨ §ŚŹ ¤Ť ĄŤŠŤăŠ ŤŚ¤ ¨Ž Ąć. + + 3. ¤ŤŚ˘ă ˘˘ăŞ ŠŞ § Ť¨â§ ¤ ˘˘áĽŤ ŤŚ ĄŚ¨ ŠŁâ¤Ś ¤Ť ĄĺŁ¤Ś + §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŚŹ ¤Ť ĄĺŁ¤Ś. .Ž. ¨áŻŤ cw ¤ + ˘˘áĽŤ §ć ŤŚ¤ ¨ŚŁâ ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ŤŞ ˘âĽŞ, c$ ¤ ˘˘áĽŤ + ŁâŽ¨ ŤŚ Ťâ˘ŚŞ ¨ŁŁăŞ. + + 4. ŁŚ¨ă Ť¤ ˘˘ă ĺ¤ : + + [¨ ŁćŞ] c ¤Ť ĄĺŁ¤Ś ě c [¨ ŁćŞ] ¤Ť ĄĺŁ¤Ś + +é¨ ŠŹ¤ŽĺŠŤ Ł ŤŚ §ćŁ¤Ś ŁáŁ. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ4.1: + + + ** ŤăŠŤ CTRL-g ¤ Ł¤ ŠŤĺ ⊠ŠŞ ŠŤŚ ¨ŽĺŚ Ą ĄŤáŠŤŠă ŤŚŹ. + ŤăŠŤ SHIFT-G ¤ §áŤ Š Łĺ ¨ŁŁă ŠŤŚ ¨ŽĺŚ. ** + + ŁĺŕŠ: ኍ Ś˘ćĄ˘¨Ś ŤŚ ŁáŁ §¨ ¤ ĄŤ˘âŠŤ Ąá§Ś Ś §ć Ť 㣍!! + + 1. ¨ŤăŠŤ §ŤŁâ¤Ś ŤŚ §˘ăĄŤ¨Ś Ctrl Ą §ŤăŠŤ g . ĺ ¨ŁŁă ĄŤáŠŤŠŞ + Ł¤ ŠŤĺ ŠŤŚ ĄáŤŕ Łâ¨ŚŞ ŤŞ Š˘ĺŞ Ł ŤŚ 椌Ł ¨ŽĺŚŹ Ą Ť + ¨ŁŁă §ŚŹ 劍. ŹŁĺŤ ŤŚ¤ ¨ Łć ¨ŁŁăŞ ŤŚ 㣠3. + + 2. ŤăŠŤ shift-G ¤ ŁŤĄ ¤ĺŤ ŠŤŚ Ťâ˘ŚŞ ŤŚŹ ¨ŽĺŚŹ. + + 3. ŤăŠŤ ŤŚ¤ ¨ Łć ŤŞ ¨ŁŁăŞ §ŚŹ ㊊Ť¤ Ą ŁŤá shift-G. ŹŤć + ŠŞ § ŠŤ¨âŻ ŠŤ ¨ŁŁă §ŚŹ ㊊Ť¤ §¨ ¤ §ŤăŠŤ §¨éŤ Ś¨á Ctrl-g. + ( §˘ĄŤ¨Ś˘ŚĺŤ ŤŚŹŞ ¨ ŁŚçŞ, Ł¤ĺŚ¤Ť ŠŤ¤ Ść¤). + + 4. ¤ ¤Ś éŤ ŠĺŚŹ¨ŚŞ ŹŤć, ĄŤ˘âŠŤ Ť 㣍 1 âઠ3. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ4.2:
+ + + ** ŤăŠŤ / ĄŚ˘ŚŹŚçŁ¤Ś §ć Ť ¨áŠ §ŚŹ ŻáŽ¤Ť. ** + + 1. ¤Ś¤ Ąă ŤáŠŤŠ §ŤăŠŤ ŤŚ¤ Ž¨ĄŤă¨ / . ¨Ť¨ăŠŤ ćŤ ŹŤćŞ Ą + Ś ¨ŚŁâŞ Ł¤ĺŚ¤Ť ŠŤŚ ĄáŤŕ Łâ¨ŚŞ ŤŞ Ść¤Ş ć§ŕŞ Ł Ť¤ ¤ŤŚ˘ă : . + + 2. é¨ ¨áŻŤ 'errroor' <ENTER>. ŹŤă ĺ¤ ˘âĽ §ŚŹ ⢍ ¤ ŻáĽŤ. + + 3. ¤ ŻáĽŤ Ľ¤á Ť¤ ĺ ¨áŠ, §ŤăŠŤ §˘éŞ n . + ¤ ŻáĽŤ Ť¤ ĺ ¨áŠ ŠŤ¤ ¤ŤĺŤ ĄŤçŹ¤Š, §ŤăŠŤ Shift-N . + + 4. ¤ ⢍ ¤ ŻáĽŤ Łĺ ¨áŠ §¨ŚŞ Ť §ĺŠŕ, Ž¨Š ŁŚ§Ś ㊍ Ť¤ ¤ŤŚ˘ă ? ¤Ťĺ ŤŞ / . + +--->  ¤ăŤŠ ŤáŠ ŠŤŚ Ťâ˘ŚŞ ŤŚŹ ¨ŽĺŚŹ ŠŹ¤ŽĺŠ §ć Ť¤ ¨Žă. + + "errroor" is not the way to spell error; errroor is an error. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ4.3: + + + ** ŤăŠŤ % ¤ ¨ĺŤ Ť¤ ¤ŤĺŠŤŚ Ž ), ], ă } . ** + + 1. Ś§ŚŤăŠŤ ŤŚ¤ ¨ŚŁâ Š Ąá§Ś (, [, ă { ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă + ŠŁ ŕŁâ¤ Ł --->. + + 2. é¨ §ŤăŠŤ ŤŚ¤ Ž¨ĄŤă¨ % . + + 3. ¨ŚŁâŞ §¨â§ ¤ ĺ¤ ŠŤ¤ ¤ŤĺŠŤŚ Ž §¨â¤Š ă Ąç˘. + + 4. ŤăŠŤ % ¤ ŁŤĄ ¤ăŠŤ ŤŚ¤ ¨ŚŁâ §ĺŠŕ ŠŤ¤ §¨éŤ Ąç˘ + (ŤŚŹ Ź¨ Śç). + +---> This ( is a test line with ('s, ['s ] and {'s } in it. )) + +: ŹŤć ĺ¤ §Ś˘ç Ž¨ăŠ ŁŚ ŠŤ¤ §ŚŠ˘ŁáŤŕŠ ¤ćŞ §¨Ś¨áŁŁŤŚŞ + Ł Ł Ť ¨ ŠŤâŞ §¨¤âŠ Ş! + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ4.4: + + + ** ¨áŻŤ :s/old/new/g ¤ ˘˘áĽŤ ŤŚ 'new' Ł ŤŚ 'old'. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă ŠŁ ŕŁâ¤ Ł --->. + + 2. ¨áŻŤ :s/thee/the <ENTER> . Ł 銍 ćŤ ŹŤă ¤ŤŚ˘ă ˘˘á Łć¤Ś + Ť¤ §¨éŤ Łá¤ Š ŠŤ ¨ŁŁă. + + 3. é¨ ¨áŻŤ :s/thee/the/g ¤¤Śé¤ŤŞ ¤ Ąă ¤Ť ĄŤáŠŤŠ ŠŤ + ¨ŁŁă. ŹŤć ˘˘á 梪 Ť Ş Ł¤ĺŠ Ş §ĺ ŤŞ ¨ŁŁăŞ. + +---> thee best time to see thee flowers is in thee spring. + + 4. ¤ ˘˘áĽŤ Ąá Łá¤ Š ŁĺŞ ŠŹŁŚ˘ŚŠ ¨áŞ ŁŤĽç çŚ ¨ŁŁé¤, + ¨áŻŤ :#,#s/old/new/g 槌Ź #,# Ś ¨ ŁŚĺ Ťŕ¤ çŚ ¨ŁŁé¤. + ¨áŻŤ :%s/old/new/g ¤ ˘˘áĽŤ Ąá Łá¤ Š Š 梌 ŤŚ ¨ŽĺŚ. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 4 + + + 1. Ś Ctrl-g Ł¤ĺ Ť ⊠ŠŞ ŠŤŚ ¨ŽĺŚ Ą Ť¤ ĄŤáŠŤŠă ŤŚŹ. + Ś Shift-G §ĺ¤ ŠŤŚ Ťâ˘ŚŞ ŤŚŹ ¨ŽĺŚŹ. 뤪 ¨ ŁćŞ ¨ŁŁăŞ + ĄŚ˘ŚŹŚçŁ¤ŚŞ §ć Shift-G §ĺ¤ Š Ąĺ¤ Ť ¨ŁŁă. + + 2. ¨áŚ¤ŤŞ / ĄŚ˘ŚŹŚçŁ¤Ś §ć Łĺ ¨áŠ ŻáŽ¤ §¨ŚŞ Ť + Ť ¨áŠ. ¨áŚ¤ŤŞ ? ĄŚ˘ŚŹŚçŁ¤Ś §ć Łĺ ¨áŠ ŻáŽ¤ §¨ŚŞ Ť + Ť ¨áŠ. Ťá §ć Łĺ ¤ăŤŠ §ŤăŠŤ n ¤ ¨ĺŤ Ť¤ + §ćŁ¤ Łá¤ Š §¨ŚŞ Ť¤ ĺ ĄŤçŹ¤Š ă Shift-N ¤ ŻáĽŤ + §¨ŚŞ Ť¤ ¤ŤĺŤ ĄŤçŹ¤Š. + + 3. Ťé¤ŤŞ % 抌 Ś ¨ŚŁâŞ ĺ¤ §á¤ŕ Š Łĺ (,),[,],{, ă } ¤ŤŚ§ĺ + ŤŚ ¤ŤĺŠŤŚ ŽŚ Ťĺ¨ ŤŚŹ Ź¨ Śç. + + 4. ¤Ť ĄŤáŠŤŠ Ł new ŤŚŹ §¨éŤŚŹ old ŠŤ ¨ŁŁă ¨áŻŤ :s/old/new + ¤Ť ĄŤáŠŤŠ Ł new ć˘ŕ¤ Ťŕ¤ 'old' ŠŤ ¨ŁŁă ¨áŻŤ :s/old/new/g + ¤Ť ĄŤáŠŤŠ ¨áŠŕ¤ ŁŤĽç çŚ # ¨ŁŁé¤ ¨áŻŤ :#,#s/old/new/g + ¤Ť ĄŤáŠŤŠ ć˘ŕ¤ Ťŕ¤ Ł¤ĺŠŕ¤ ŠŤŚ ¨ŽĺŚ ¨áŻŤ :%s/old/new/g + ¨éŤŠ § ĺ੪ Ąá Ś¨á §¨ŚŠâŠŤ ⤠'c' "%s/old/new/gc + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ5.1: + + +** ¨áŻŤ :! ĄŚ˘ŚŹŚçŁ¤Ś §ć Łĺ ĽŕŤ¨ Ąă ¤ŤŚ˘ă ¤ Ť¤ ĄŤ˘âŠŤ. ** + + 1. ŤăŠŤ Ť¤ Ś Ąĺ ¤ŤŚ˘ă : ¤ ⊍ ŤŚ¤ ¨ŚŁâ ŠŤŚ ĄáŤŕ Łâ¨ŚŞ + ŤŞ Ść¤Ş. ŹŤć ŠŞ § Ť¨â§ ¤ 銍 Łĺ ¤ŤŚ˘ă. + + 2. é¨ §ŤăŠŤ ŤŚ ! (ŹŁŠŤ Ąć). ŹŤć ŠŞ § Ť¨â§ ¤ ĄŤ˘âŠŤ + Ś§Ś 㧌Ť ĽŕŤ¨ Ąă ¤ŤŚ˘ă ŤŚŹ ˘Ś Śç. + + 3. ¤ §¨á Ł ¨áŻŤ ls ŁŤá §ć ŤŚ ! Ą §ŤăŠŤ <ENTER>. ŹŤć + ŠŞ Ł¤ĺŠ Łĺ ˘ĺŠŤ ŤŚŹ ĄŤ˘ćŚŹ ŠŞ, Ą¨ éŞ Š¤ ¤ ㊊Ť¤ ŠŤ¤ + §¨ŚŤ¨Ś§ă ŤŚŹ ˘Ś Śç. ě Ž¨Š ŁŚ§Ś ㊍ :!dir ¤ ŤŚ ls ¤ ŚŹ˘ç . + +---> ŁĺŕŠ: ĺ¤ Ź¤Ťć¤ ¤ ĄŤ˘âŠŤ Ś§Ś 㧌Ť ĽŕŤ¨ Ąă ¤ŤŚ˘ă + Ł ŹŤć¤ ŤŚ¤ Ť¨ć§Ś. + +---> ŁĺŕŠ:  Ś ¤ŤŚ˘âŞ : §¨â§ ¤ Ť¨ŁŤĺŚ¤Ť §Ťé¤ŤŞ ŤŚ <ENTER>. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ5.2: + + + ** ¤ ŠéŠŤ Ť Ş ˘˘áŞ §ŚŹ Ąá¤Ť ŠŤŚ ¨ŽĺŚ, ¨áŻŤ :w . ** + + 1. ¨áŻŤ :!dir ă :!ls ¤ §á¨Ť Łĺ ˘ĺŠŤ ŤŚŹ ĄŤ˘ćŚŹ ŠŞ. + ě Ľâ¨Ť ćŤ §¨â§ ¤ §ŤăŠŤ <ENTER> ŁŤá §ć ŹŤć. + + 2. ˘âĽŤ ⤠椌Ł ¨ŽĺŚŹ §ŚŹ ¤ Ź§á¨Ž ĄćŁ, ć§ŕŞ ŤŚ TEST. + + 3. é¨ ¨áŻŤ: :w TEST (槌Ź TEST ĺ¤ ŤŚ 椌Ł ¨ŽĺŚŹ §ŚŹ ˘âĽŤ). + + 4. ŹŤć Šé 梌 ŤŚ ¨ŽĺŚ (vim Tutor) Ł ŤŚ 椌Ł TEST. ¤ ŤŚ + §˘çŠŤ, ¨áŻŤ Ľ¤á :!dir ¤ ĺŤ ŤŚ¤ ĄŤá˘Ść ŠŞ. + +---> Ł 銍 ćŤ ¤ 复 §ć ŤŚ¤ Vim Ą Ł§ĺ¤Ť Ľ¤á Ł ŤŚ 椌Ł + ¨ŽĺŚŹ TEST, ŤŚ ¨ŽĺŚ ㍤ Ą¨ ⪠¤Ťĺ¨Ś ŤŚŹ tutor 捤 ŤŚ ŠéŠŤ. + + 5. é¨ ¨áŻŤ ŤŚ ¨ŽĺŚ ¨áŚ¤ŤŞ (MS-DOS): :!del TEST + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ5.3: + + + ** ¤ ŠéŠŤ ŤŁăŁ ŤŚŹ ¨ŽĺŚŹ, ¨áŻŤ :#,# w ** + + 1. ꢢ Ł Ś¨á, ¨áŻŤ :!dir ă :!ls ¤ §á¨Ť Łĺ ˘ĺŠŤ §ć ŤŚ¤ + ĄŤá˘Ść ŠŞ Ą ˘âĽŤ ⤠ĄŤá˘˘˘Ś 椌Ł ¨ŽĺŚŹ ć§ŕŞ ŤŚ TEST. + + 2. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤŚ §á¤ŕ Łâ¨ŚŞ ŹŤăŞ ŤŞ Š˘ĺŞ Ą §ŤăŠŤ + Ctrl-g ¤ ¨ĺŤ ŤŚ¤ ¨ Łć ŹŤăŞ ŤŞ ¨ŁŁăŞ. + ! + + 3. é¨ §ĺ¤Ť ŠŤŚ ĄáŤŕ Łâ¨ŚŞ ŤŞ Š˘ĺŞ Ą §ŤăŠŤ Ctrl-g Ľ¤á. + ! + + 4. ¤ ŠéŠŤ ⤠ŤŁăŁ Š ¨ŽĺŚ, ¨áŻŤ :#,# w TEST + 槌Ź #,# Ś çŚ ¨ ŁŚĺ §ŚŹ §ŚŁ¤ŁŚ¤çŠŤ (§á¤ŕ,ĄáŤŕ) Ą TEST ŤŚ + 椌Ł ŤŚŹ ¨ŽĺŚŹ ŠŞ. + + 5. ¤á, ĺŤ ćŤ ŤŚ ¨ŽĺŚ ĺ¤ Ąĺ Ł Ť¤ :!dir ˘˘á ŤŚ ¨áŻŤ. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ5.4: + + + ** ¤ ŠáŤ Ť §¨ ŽćŁ¤ ¤ćŞ ¨ŽĺŚŹ, ¨áŻŤ :r ** + + 1. ¨áŻŤ :!dir ¤ ŕĺŤ ćŤ ŤŚ TEST Ź§á¨Ž §ć §¨ ¤. + + 2. Ś§ŚŤăŠŤ ŤŚ¤ ¨ŚŁâ ŠŤŚ §á¤ŕ Łâ¨ŚŞ ŤŞ Š˘ĺŞ. + +: 捌Ź ĄŤ˘âŠŤ ŤŚ 㣠3 ĺŤ ŤŚ ᣠ5.3. + Ťá Ą ¤ĺŤ Ľ¤á §¨ŚŞ ŤŚ ŁáŁ ŹŤć. + + 3. é¨ ¤ĄŤăŠŤ ŤŚ ¨ŽĺŚ ŠŞ TEST Ž¨Š ŁŚ§Ś é¤ŤŞ Ť¤ ¤ŤŚ˘ă :r TEST + 槌Ź TEST ĺ¤ ŤŚ 椌Ł ŤŚŹ ¨ŽĺŚŹ. + +: Ś ¨ŽĺŚ §ŚŹ ¤ĄŤáŤ ŤŚ§ŚŤĺŤ ĽĄ ¤é¤ŤŞ Ąĺ §ŚŹ ¨ĺŠĄŤ + Ś ¨ŚŁâŞ. + + 4. ¤ §˘çŠŤ ćŤ ŤŚ ¨ŽĺŚ ¤ĄŤăĄ, §ĺŠŕ ŤŚ¤ ¨ŚŁâ Ą + §¨Ť¨ăŠŤ ćŤ Ź§á¨ŽŚŹ¤ Ťé¨ çŚ ¤Ťĺ¨ ŤŚŹ 㣍ŚŞ 5.3, ŤŚ + ¨Ž Ąć Ą ⥌Š ŤŚŹ ¨ŽĺŚŹ. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 5 + + + 1. :!¤ŤŚ˘ă ĄŤ˘ĺ Łĺ ĽŕŤ¨ Ąă ¤ŤŚ˘ă. + + ¨ Ąá Ž¨ăŠ Ł §¨ĺŁŤ ĺ¤ (MS-DOS): + :!dir - Łá¤ Š ˘ĺŠŤŞ ¤ćŞ ĄŤ˘ćŚŹ. + :!del - ¨á ŤŚ . + + 2. :w ¨á ŤŚ Ť¨âŽŕ¤ ¨ŽĺŚ ŤŚŹ Vim ŠŤŚ 劥Ś Ł 椌Ł . + + 3. :#,#w Šé Ť Ş ¨ŁŁâŞ §ć # ŁâŽ¨ # ŠŤŚ . + + 4. :r ¤ĄŤĺ ŤŚ ¨ŽĺŚ 劥ŚŹ Ą ŤŚ §¨Łá˘˘ ŁâŠ + ŠŤŚ Ť¨âŽŚ¤ ¨ŽĺŚ ŁŤá §ć Ť ⊠ŤŚŹ ¨ŚŁâ. + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ6.1: + + + ** ŤăŠŤ o ¤ ¤ŚĺĽŤ Łĺ ¨ŁŁă ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ Ą ¤ + ¨ĺŤ Š ŤáŠŤŠ Łâ¤ŚŹ. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă ŠŁ ŕŁâ¤ Ł --->. + + 2. ŤăŠŤ o (§ć) ¤ ¤ŚĺĽŤ Łĺ ¨ŁŁă §ć ŤŚ¤ ¨ŚŁâ Ą ¤ + ¨ĺŤ Š ŤáŠŤŠ Łâ¤ŚŹ. + + 3. é¨ ¤Ť ¨áŻŤ Ť ŠŁ ŕŁâ¤ Ł ---> ¨ŁŁă Ą §ŤăŠŤ <ESC> ¤ + ĺŤ §ć Ť¤ ŤáŠŤŠ Łâ¤ŚŹ. + +---> After typing o the cursor is placed on the open line in Insert mode. + + 4. ¤ ¤ŚĺĽŤ Łĺ ¨ŁŁă §ć ŤŚ¤ ¨ŚŁâ, §ŤăŠŤ §˘á ⤠Ą˘ĺŚ + O, ¤Ťĺ ⤠§ć o. ŚĄ ŁáŠŤ ŤŚ ŠŤ¤ §¨ĄáŤŕ ¨ŁŁă. +¤ŚĺŤ ¨ŁŁă §á¤ŕ §ć ŹŤă¤ §Ťé¤ŤŞ Shift-O 抌 Ś ¨ŚŁâŞ ĺ¤ ŠŤ ¨ŁŁă + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ6.2: + + ** ŤăŠŤ a ¤ ŠáŤ ĄĺŁ¤Ś ŤŚ¤ ¨ŚŁâ. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤŚ Ťâ˘ŚŞ ŤŞ §¨éŤŞ ¨ŁŁăŞ §¨ĄáŤŕ + ŠŁ ŕŁâ¤ Ł ---> §Ťé¤ŤŞ $ ŠŤ¤ ¤Ś¤ Ąă ŤáŠŤŠ. + + 2. ŤăŠŤ ⤠a (§ć) ¤ §¨ŚŠâŠŤ ĄĺŁ¤Ś §ć ŤŚ¤ Ž¨ĄŤă¨ + §ŚŹ ĺ¤ ĄáŤŕ §ć ŤŚ¤ ¨ŚŁâ. (Ś Ą˘ĺŚ A §¨ŚŠâŤ ŠŤŚ Ťâ˘ŚŞ + ŤŞ ¨ŁŁăŞ). + +ŁĺŕŠ: ŹŤć §Śç ŤŚ §áŤŁ ŤŚŹ i , ŤŚ¤ Ť˘ŹŤĺŚ Ž¨ĄŤă¨, ŤŚ + ĄĺŁ¤Ś ŤŞ ŠŕăŞ, <ESC>, ¨ŚŁâ-Ľ á, Ą Ťâ˘ŚŞ, x, Łć¤Ś Ą + Łć¤Ś ¤ §¨ŚŠâŠŤ ŠŤŚ Ťâ˘ŚŞ ŤŞ ¨ŁŁăŞ! + + 3. ŹŁ§˘¨éŠŤ Ťé¨ Ť¤ §¨éŤ ¨ŁŁă. Ł 銍 §ĺŠŞ ćŤ §¨ŚŠăĄ ĺ¤ + Ą¨ éŞ ĺ ŠŤ¤ ŤáŠŤŠ Łâ¤ŚŹ Ł Ť¤ ŤáŠŤŠ ŠŕăŞ, ĄŤćŞ + §ć Ť ⊠§ŚŹ ŠáŤ ŤŚ ĄĺŁ¤Ś. + +---> This line will allow you to practice +---> This line will allow you to practice appending text to the end of a line. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ6.3: + + + ** ŤăŠŤ Ą˘ĺŚ R ¤ ˘˘áĽŤ §¨ ŠŠćŤ¨ŚŹŞ §ć ⤤ Ž¨ĄŤă¨Ş. ** + + 1. ŤĄ ¤ĺŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ §¨éŤ ¨ŁŁă §¨ĄáŤŕ ŠŁ ŕŁâ¤ Ł --->. + + 2. Ś§ŚŤăŠŤ ŤŚ¤ ¨ŚŁâ ŠŤ¤ ¨Žă ŤŞ §¨éŤŞ ˘âĽŞ §ŚŹ ĺ¤ Ś¨Ť Ąă + §ć Ť 獨 ¨ŁŁă ŠŁ ŕŁâ¤ Ł ---> ( ˘âĽ 'last'). + + 3. ŤăŠŤ Ťé¨ R Ą ˘˘áĽŤ ŤŚ Ź§ć˘Ś §Ś ŤŚŹ Ą Łâ¤ŚŹ ŠŤ¤ §¨éŤ ¨ŁŁă + ¨áŚ¤ŤŞ §á¤ŕ §ć ŤŚ §˘ ć ĄĺŁ¤Ś 銍 ¤ Ąá¤Ť Ť¤ §¨éŤ ¨ŁŁă ĺ + Ł Ť 獨. + +---> To make the first line the same as the last on this page use the keys. +---> To make the first line the same as the second, type R and the new text. + + 4. Ł 銍 ćŤ ćŤ¤ §ŤáŤ <ESC> ¤ ĺŤ, §¨Łâ¤ Ś§Ś Śă§ŚŤ + ¤˘˘Śĺ૦ ĄĺŁ¤Ś. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ᣠ6.4: + + + ** ŹŁĺŠŤ Łĺ § ˘Śă ⍊ 銍 ¤ăŤŠ ă ¤Ť ĄŤáŠŤŠ ¤ ¤Śĺ + Ť Ś¨á §é¤-Ą˘ĺठ** + + 1. Ἅ 'ignore' ŠáŚ¤ŤŞ: + /ignore + Ź¤ŽĺŠŤ ¨ĄŤâŞ Ś¨âŞ §Ťé¤ŤŞ ŤŚ §˘ăĄŤ¨Ś n. + + 2. ⊍ Ť¤ § ˘Śă 'ic' (Ignore case) ¨áŚ¤ŤŞ: + :set ic + + 3. Ἅ Ťé¨ Ľ¤á 'ignore' §Ťé¤ŤŞ: n + Ź¤ŽĺŠŤ Ť¤ ¤ăŤŠ Ł¨ ĄâŞ ĄćŁ Ś¨âŞ §Ťé¤ŤŞ ŤŚ §˘ăĄŤ¨Ś n + + 4. ⊍ Ť Ş § ˘ŚâŞ 'hlsearch' Ą 'incsearch': + :set hls is + + 5. ŠáŤ Ťé¨ Ľ¤á Ť¤ ¤ŤŚ˘ă ¤ăŤŠŞ, Ą ĺŤ Ť ŠŹŁĺ¤ + /ignore + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 6 + + + 1. Ťé¤ŤŞ o ¤Śĺ Łĺ ¨ŁŁă §ć ŤŚ¤ ¨ŚŁâ Ą ŤŚ§ŚŤĺ ŤŚ¤ + ¨ŚŁâ ŠŤ¤ ¤Ś ŽŤă ¨ŁŁă Š ŤáŠŤŠ Łâ¤ŚŹ. + + 2. ŤăŠŤ a ¤ ŠáŤ ĄĺŁ¤Ś ŤŚ¤ Ž¨ĄŤă¨ ŠŤŚ¤ Ś§ŚĺŚ ĺ¤ + Ś ¨ŚŁâŞ. Ťé¤ŤŞ Ą˘ĺŚ A ŹŤćŁŤ §¨ŚŠâŤ ĄĺŁ¤Ś ŠŤŚ Ťâ˘ŚŞ + ŤŞ ¨ŁŁăŞ. + + 3. Ťé¤ŤŞ Ą˘ĺŚ R Šâ¨ŽŤ ŠŤ¤ ŤáŠŤ ¤Ť ĄŤáŠŤŠŞ ŁâŽ¨ ¤ + §Ťĺ ŤŚ <ESC> Ą ¤ Ľâ˘ . + + 4. ¨áŚ¤ŤŞ ":set xxx" ¨ŹŁĺ Ť¤ § ˘Śă "xxx". + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 7: ON-LINE + + + ** ¨Š ŁŚ§Ś ㊍ ŤŚ on-line ŠçŠŤŁ Śă Ş ** + + Vim ⎠⤠§¨ ĄŤ Ąć on-line ŠçŠŤŁ Śă Ş. ¤ ĽĄ ¤ăŠ , + ŚĄ ŁáŠŤ Ąá§Ś Ś §ć Ť Ť¨ĺ: + - §ŤăŠŤ ŤŚ §˘ăĄŤ¨Ś <HELP> (¤ ⎍ Ąá§Ś Ś) + - §ŤăŠŤ ŤŚ §˘ăĄŤ¨Ś <F1> (¤ ⎍ Ąá§Ś Ś) + - ¨áŻŤ :help <ENTER> + + ¨áŻŤ :q <ENTER> ¤ Ą˘ĺŠŤ ŤŚ §¨áŹ¨Ś ŤŞ Śă Ş. + + §Ś¨ĺŤ ¤ ¨ĺŤ Śă §á¤ŕ Š Ąá ¤Ť ĄĺŁ¤Ś, 夌¤ŤŞ Łĺ §¨áŁŤ¨Ś + ŠŤ¤ ¤ŤŚ˘ă ":help". ŚĄ ŁáŠŤ ŹŤá (Ł¤ ĽŽ¤áŤ ¤ §ŤáŤ <ENTER>): + + :help w + :help c_<T + :help insert-index + :help user-manual + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 8: SCRIPT + + ** ¤¨Ś§Ś ㊍ Ž¨ĄŤ¨ ŠŤ Ąá ŤŚŹ Vim ** + + Vim ⎠§Ś˘˘á §¨ ŠŠćŤ¨ Ž¨ĄŤ¨ ŠŤ Ąá §' ć,Ť Ś Vi, ˘˘á Ť + §¨ ŠŠćŤ¨ ĺ¤ ¨Ž Ąá §¤¨Ś§Ś Łâ¤. ¤ ¨ŽĺŠŤ ¤ Ž¨Š ŁŚ§Ś ĺŤ + §¨ ŠŠćŤ¨ Ž¨ĄŤ¨ ŠŤ Ąá §¨â§ ¤ Ť Ἅ ⤠¨ŽĺŚ "vimrc". + + 1. ¨ŽĺŠŤ Ś¨é¤Ś¤ŤŞ ŤŚ ¨ŽĺŚ "vimrc", ŹŤć Ľ¨ŤáŤ §ć ŤŚ ŠçŠŤŁá ŠŞ: + :edit ~/.vimrc Unix + :edit $VIM/_vimrc MS-Windows + + 2. é¨ ŠáŤ ŤŚ ĄĺŁ¤Ś §¨ĺŁŤŚŞ ¨ŽĺŚ "vimrc": + :read $VIMRUNTIME/vimrc_example.vim + + 3. ¨áŻŤ ŤŚ ¨ŽĺŚ Ł Ť¤: + :write + + ¤ §ćŁ¤ Ś¨á §ŚŹ ĽĄ ¤ăŠŤ ŤŚ¤ Vim Ž¨Š ŁŚ§Ś 㩠ૠŠŁć + Šç¤ŤĽŞ. §Ś¨ĺŤ ¤ §¨ŚŠâŠŤ 梪 Ť Ş §¨ŚŤ ŁéŁ¤Ş § ˘ŚâŞ Š' ŹŤć + ŤŚ ¨ŽĺŚ "vimrc". + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + é Ś˘ŚĄ˘¨é¤Ť ŤŚ Vim Tutor. ĄŚ§ćŞ ŤŚŹ ㍤ ¤ éŠ Łĺ Šç¤ŤŚŁ + §¨ĺ˘Ż ŤŚŹ ŠŹ¤ŤáĄŤ Vim, ŤŚŹ˘áŽ ŠŤŚ¤ ŤćŠ 銍 ¤ ŠŞ § Ť¨âŻ ¤ + Ž¨Š ŁŚ§Ś ㊍ ŤŚ¤ ŠŹ¤ŤáĄŤ ¨ĄŤá 祌˘. §âŽ §Ś˘ç §ć Łĺ + Ś˘ŚĄ˘¨ŕŁâ¤ §¨ŚŹŠĺŠ ĄéŞ Ś Vim ⎠§á¨ §Ś˘˘âŞ ¤ŤŚ˘âŞ. ኍ + ĄŤć§ ¤ ŤŚ Ž ¨ĺ Ś Ž¨ăŠŞ: + ":help user-manual". + + §¨ Ťâ¨ŕ ኣ Ą Ł˘âŤ, ŠŹŠŤă¤Ť ŹŤć ŤŚ ˘ĺŚ: + Vim - Vi Improved - by Steve Oualline + Publisher: New Riders + Ś §¨éŤŚ ˘ĺŚ §˘ă¨ŕŞ ¨ŕŁâ¤Ś ŠŤŚ¤ Vim. + 卨 Ž¨ăŠ ŁŚ ¨Žá¨ ŚŹŞ. + §á¨ŽŚŹ¤ §Ś˘˘á §¨ĺŁŤ Ą Ąć¤Ş. + ĺŤ Ť¤ http://iccf-holland.org/click5.html + + ŹŤć ŤŚ ˘ĺŚ ĺ¤ §˘ 捨Ś Ą §¨ ŠŠćŤ¨Ś ŤŚ¤ Vi §¨á ŤŚ¤ Vim, + ˘˘á §ĺŠŞ ŠŹ¤ ŠŤéŁ¤Ś: + Learning the Vi Editor - by Linda Lamb + Publisher: O'Reilly & Associates Inc. + ĺ¤ â¤ Ą˘ć ˘ĺŚ ¤ ŁáŤ ŠŽć¤ Ť §á¤Ť §ŚŹ ⢍ + ¤ Ąá¤Ť Ł ŤŚ¤ Vi. + ⥍ ⥌Š §¨ ⎠ĄćŁ §˘¨ŚŚ¨ĺŞ ŤŚ¤ Vim. + + ŹŤă §¨ ㊠¨áŤĄ §ć ŤŚŹŞ Michael C. Pierce Ą Robert K. Ware, + Colorado School of Mines Ž¨Š ŁŚ§Ś é¤ŤŞ âŞ §ć ŤŚ¤ Charles Smith, + Colorado State University. E-mail: bware@mines.colorado.edu. + + ¨ŚŠ¨ŁŚă ŤŚ¤ Vim §ć ŤŚ¤ Bram Moolenaar. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.hr b/runtime/tutor/tutor.hr new file mode 100644 index 000000000..f1d346c2a --- /dev/null +++ b/runtime/tutor/tutor.hr @@ -0,0 +1,972 @@ +=============================================================================== += D o b r o d o š l i u VIM p r i r u č n i k - Verzija 1.7 = +=============================================================================== + + Vim je vrlo moćan editor koji ima mnogo naredbi, previše da bi ih + se svih ovdje spomenulo. Namjena priručnika je objasniti dovoljno + naredbi kako bi početnici znatno lakše koristili ovaj svestran editor. + + Približno vrijeme potrebno za uspješan završetak priručnika je oko + 30 minuta a ovisi o tome koliko će te vremena odvojiti za vježbanje. + + UPOZORENJE: + Naredbe u ovom priručniku će promijeniti ovaj tekst. + Napravite kopiju ove datoteke kako bi ste na istoj vježbali + (ako ste pokrenuli "vimtutor" ovo je već kopija). + + Vrlo je važno primijetiti da je ovaj priručnik namijenjen za vježbanje. + Preciznije, morate izvršiti naredbe u Vim-u kako bi ste iste naučili + pravilno koristiti. Ako samo čitate tekst, zaboraviti će te naredbe! + + Ako je CapsLock uključen ISKLJUČITE ga. Pritiskajte tipku j kako + bi pomakli kursor sve dok Lekcija 1.1 ne ispuni ekran. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.1: POMICANJE KURSORA + + + ** Za pomicanje kursora, pritisnite h,j,k,l tipke kako je prikazano ** + ^ + k Savjet: h tipka je lijevo i pomiče kursor lijevo. + < h l > l tipka je desno i pomiče kursor desno. + j j izgleda kao strelica usmjerena dolje. + v + 1. Pomičite kursor po ekranu dok se ne naviknete na korištenje. + + 2. Držite tipku (j) pritisnutom. + Sada znate kako doći do sljedeće lekcije. + + 3. Koristeći tipku j prijeđite na sljedeću lekciju 1.2. + +NAPOMENA: Ako niste sigurni što ste zapravo pritisnuli uvijek koristite + tipku <ESC> kako bi prešli u Normal mod i onda pokušajte ponovno. + +NAPOMENA: Kursorske tipke rade isto. Korištenje hjkl tipaka je znatno + brže, nakon što se jednom naviknete na njihovo korištenje. Stvarno! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.2: IZLAZ IZ VIM-a + + + !! UPOZORENJE: Prije izvođenja bilo kojeg koraka, + pročitajte cijelu lekciju!! + + 1. Pritisnite <ESC> tipku (Vim je sada u Normal modu). + + 2. Otipkajte: :q! <ENTER>. + Izlaz iz editora, GUBE se sve napravljene promjene. + + 3. Kada se pojavi ljuska, utipkajte naredbu koja je pokrenula + ovaj priručnik: vimtutor <ENTER> + + 4. Ako ste upamtili ove korake, izvršite ih redom od 1 do 3 + kako bi ponovno pokrenuli editor. + +NAPOMENA: :q! <ENTER> poništava sve promjene koje ste napravili. + U sljedećim lekcijama naučit će te kako promjene sačuvati. + + 5. Pomaknite kursor na Lekciju 1.3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.3: PROMJENA TEKSTA - BRISANJE + + + ** Pritisnite x za brisanje znaka pod kursorom. ** + + 1. Pomaknite kursor na liniju označenu s --->. + + 2. Kako bi ste ispravili pogreške, pomičite kursor dok se + ne bude nalazio na slovu kojeg trebate izbrisati. + + 3. Pritisnite tipku x kako bi uklonili neželjeno slovo. + + 4. Ponovite korake od 2 do 4 dok ne ispravite sve pogreške. + +---> KKKravaa jee presskočila mmjeseccc. + + 5. Nakon što ispravite liniju, prijeđite na lekciju 1.4. + +NAPOMENA: Koristeći ovaj priručnik ne pokušavajte pamtiti + već učite primjenom. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.4: PROMJENA TEKSTA - UBACIVANJE + + + ** Pritisnite i za ubacivanje teksta ispred kursora. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Kako bi napravili prvu liniju istovjetnoj drugoj, pomaknite + kursor na prvi znak POSLIJE kojeg će te utipkati potreban tekst. + + 3. Pritisnite i te utipkajte potrebne nadopune. + + 4. Nakon što ispravite pogrešku pritisnite <ESC> kako bi vratili Vim + u Normal mod. Ponovite korake od 2 do 4 kako bi ispravili sve pogreške. + +---> Nedje no teka od v lin. +---> Nedostaje nešto teksta od ove linije. + + 5. Prijeđite na sljedeću lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.5: PROMJENA TEKSTA - DODAVANJE + + + ** Pritisnite A za dodavanje teksta. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + Nije važno na kojem se slovu nalazi kursor na toj liniji. + + 2. Pritisnite A i napravite potrebne promjene. + + 3. Nakon što ste dodali tekst, pritisnite <ESC> + za povratak u Normal mod. + + 4. Pomaknite kursor na drugu liniju označenu s ---> + i ponovite korake 2 i 3 dok ne popravite tekst. + +---> Ima nešto teksta koji nedostaje n + Ima nešto teksta koji nedostaje na ovoj liniji. +---> Ima nešto teksta koji ne + Ima nešto teksta koji nedostaje baš ovdje. + + 5. Prijeđite na lekciju 1.6. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.6: PROMJENA DATOTEKE + + + ** Koristite :wq za spremanje teksta i napuštanje Vim-a. ** + + !! UPOZORENJE: Prije izvršavanja bilo kojeg koraka, pročitajte lekciju!! + + 1. Izađite iz programa kao sto ste napravili u lekciji 1.2: :q! + + 2. Iz ljuske utipkajte sljedeću naredbu: vim tutor <ENTER> + 'vim' je naredba pokretanja Vim editora, 'tutor' je ime datoteke koju + želite uređivati. Koristite datoteku koju imate ovlasti mijenjati. + + 3. Ubacite i izbrišite tekst kao što ste to napravili u lekcijama prije. + + 4. Sačuvajte promjenjeni tekst i izađite iz Vim-a: :wq <ENTER> + + 5. Ponovno pokrenite vimtutor i nastavite čitati sažetak koji sljedi. + + 6. Nakon sto pročitate gornje korake i u potpunosti ih razumijete: + izvršite ih. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1 SAŽETAK + + + 1. Kursor se pomiče strelicama ili pomoću hjkl tipaka. + h (lijevo) j (dolje) k (gore) l (desno) + + 2. Pokretanje Vim-a iz ljuske: vim IME_DATOTEKE <ENTER> + + 3. Izlaz: <ESC> :q! <ENTER> sve promjene su izgubljene. + ILI: <ESC> :wq <ENTER> promjene su sačuvane. + + 4. Brisanje znaka na kojem se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i utipkajte tekst <ESC> unos ispred kursora + A utipkajte tekst <ESC> dodavanje na kraju linije + +NAPOMENA: Tipkanjem tipke <ESC> prebacuje Vim u Normal mod i + prekida neželjenu ili djelomično završenu naredbu. + +Nastavite čitati Lekciju 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.1: NAREDBE BRISANJA + + + ** Tipkajte dw za brisanje riječi. ** + + 1. Pritisnite <ESC> kako bi bili sigurni da je Vim u Normal modu. + + 2. Pomaknite kursor na liniju označenu s --->. + + 3. Pomaknite kursor na početak riječi koju treba izbrisati. + + 4. Otipkajte dw kako bi uklonili riječ. + +NAPOMENA: Vim će prikazati slovo d na zadnjoj liniji kad ga otipkate. + Vim čeka da otipkate w . Ako je prikazano neko drugo slovo, + krivo ste otipkali; pritisnite <ESC> i pokušajte ponovno. + +---> Neke riječi smiješno ne pripadaju na papir ovoj rečenici. + + 5. Ponovite korake 3 i 4 dok ne ispravite rečenicu; + prijeđite na Lekciju 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.2: JOŠ BRISANJA + + + ** Otipkajte d$ za brisanje znakova do kraja linije. ** + + 1. Pritisnite <ESC> kako bi bili + sigurni da je Vim u Normal modu. + + 2. Pomaknite kursor na liniju označenu s --->. + + 3. Pomaknite kursor do kraja ispravne rečenice + (POSLJE prve . ). + + 4. Otipkajte d$ + kako bi izbrisali sve znakove do kraja linije. + +---> Netko je utipkao kraj ove linije dvaput. kraj ove linije dvaput. + + 5. Prijeđite na Lekciju 2.3 za bolje objašnjenje. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.3: UKRATKO O OPERATORIMA I POKRETIMA + + + Mnogo naredbi koje mijenjaju tekst se sastoje od operatora i pokreta. + Oblik naredbe brisanja sa d operatorom je sljedeći: + + d pokret + + Pri čemu je: + d - operator brisanja. + pokret - ono na čemu će se operacija izvršavati (navedeno u nastavku). + + Kratka lista pokreta: + w - sve do početka sljedeće riječi, NE UKLJUČUJUĆI prvo slovo. + e - sve do kraja trenutačne riječi, UKLJUČUJUĆI zadnje slovo. + $ - sve do kraje linije, UKLJUČUJUĆI zadnje slovo. + + Tipkanjem de će se brisati od kursora do kraja riječi. + +NAPOMENA: Pritiskajući samo pokrete dok ste u Normal modu bez operatora će + pomicati kursor kao što je navedeno. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.4: KORIŠTENJE BROJANJA ZA POKRETE + + + ** Tipkanjem nekog broja prije pokreta, pokret se izvršava toliko puta. ** + + 1. Pomaknite kursor na liniju označenu s --->. + + 2. Otipkajte 2w da pomaknete kursor dvije riječi naprijed. + + 3. Otipkajte 3e da pomaknete kursor na kraj treće riječi naprijed. + + 4. Otipkajte 0 (nulu) da pomaknete kursor na početak linije. + + 5. Ponovite korake 2 i 3 s nekim drugim brojevima. + +---> Rečenica sa riječima po kojoj možete pomicati kursor. + + 6. Prijeđite na Lekciju 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.5: KORIŠTENJE BROJANJA ZA VEĆE BRISANJE + + + ** Tipkanje broja N s operatorom ponavlja ga N-puta. ** + + U kombinaciji operatora brisanja i pokreta spomenutih iznad + ubacujete broj prije pokreta kako bi izbrisali više znakova: + + d broj pokret + + 1. Pomaknite kursor na prvo slovo u riječi sa VELIKIM SLOVIMA + označenu s --->. + + 2. Otipkajte 2dw da izbrišete dvije riječi sa VELIKIM SLOVIMA + + 3. Ponovite korake 1 i 2 sa različitim brojevima da izbrišete + uzastopne riječi sa VELIKIM SLOVIMA sa samo jednom naredbom. + +---> ova ABCČĆ DĐE linija FGHI JK LMN OP riječi je RSŠ TUVZŽ popravljena. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.6: OPERIRANJE NAD LINIJAMA + + + ** Otipkajte dd za brisanje cijele linije. ** + + Zbog učestalosti brisanja cijelih linija, dizajneri Vi-a su odlučili da + je lakše brisati linije tipkanjem d dvaput. + + 1. Pomaknite kursor na drugu liniju u donjoj kitici. + 2. Otipkajte dd kako bi izbrisali liniju. + 3. Pomaknite kursor na četvrtu liniju. + 4. Otipkajte 2dd kako bi izbrisali dvije linije. + +---> 1) Ruže su crvene, +---> 2) Plaža je super, +---> 3) Ljubice su plave, +---> 4) Imam auto, +---> 5) Satovi ukazuju vrijeme, +---> 6) Šećer je sladak +---> 7) Kao i ti. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.7: NAREDBA PONIŠTENJA + + + ** Pritisnite u za poništenje zadnje naredbe, U za cijelu liniju. ** + + 1. Pomaknite kursor na liniju označenu s ---> i postavite kursor na prvu + pogrešku. + 2. Otipkajte x kako bi izbrisali prvi neželjeni znak. + 3. Otipkajte u kako bi poništili zadnju izvršenu naredbu. + 4. Ovaj put ispravite sve pogreške na liniji koristeći x naredbu. + 5. Sada utipkajte veliko U kako bi poništili sve promjene + na liniji, vraćajući je u prijašnje stanje. + 6. Sada utipkajte u nekoliko puta kako bi poništili U + i prijašnje naredbe. + 7. Sada utipkajte CTRL-R (držeći CTRL tipku pritisnutom dok + ne pritisnete R) nekoliko puta kako bi vratili promjene + (poništili poništenja). + +---> Poopravite pogreške nna ovvoj liniji ii pooništiteee ih. + + 8. Vrlo korisne naredbe. Prijeđite na sažetak Lekcije 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2 SAŽETAK + + + 1. Brisanje od kursora do sljedeće riječi: dw + 2. Brisanje od kursora do kraja linije: d$ + 3. Brisanje cijele linije: dd + + 4. Za ponavljanje pokreta prethodite mu broj: 2w + 5. Oblik naredbe mijenjanja: + operator [broj] pokret + gdje je: + operator - što napraviti, npr. d za brisanje + [broj] - neobavezan broj ponavljanja pokreta + pokret - kretanje po tekstu po kojem se operira, + kao što je: w (riječ), $ (kraj linije), itd. + + 6. Postavljanje kursora na početak linije: 0 + + 7. Za poništenje prethodnih promjena, pritisnite: u (malo u) + Za poništenje svih promjena na liniji, pritisnite: U (veliko U) + Za vraćanja promjena, utipkajte: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.1: NAREDBA POSTAVI + + + ** p za unos prethodno izbrisanog teksta iza kursora. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Otipkajte dd kako bi izbrisali liniju i spremili je u Vim registar. + + 3. Pomaknite kursor na liniju c), IZNAD linije koju trebate unijeti. + + 4. Otipkajte p kako bi postavili liniju ispod kursora. + + 5. Ponovite korake 2 do 4 kako bi postavili sve linije u pravilnom + rasporedu. + +---> d) Možeš li i ti naučiti? +---> b) Ljubice su plave, +---> c) Inteligencija je naučena, +---> a) Ruže su crvene, + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.2: NAREDBA PROMJENE + + + ** Otipkajte rx za zamjenu slova ispod kursora sa slovom x . ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Pomaknite kursor tako da se nalazi na prvoj pogrešci. + + 3. Otipkajte r i nakon toga ispravan znak na tom mjestu. + + 4. Ponovite korake 2 i 3 sve dok prva + linije ne bude istovjetna drugoj. + +---> Kede ju ovu limija tupjana, natko je protuskao kruve tupke! +---> Kada je ova linija tipkana, netko je pritiskao krive tipke! + + 5. Prijeđite na Lekciju 3.2. + +NAPOMENA: Prisjetite da trebate učiti vježbanjem, ne pamćenjem. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.3: OPERATOR MIJENJANJA + + + ** Za mijenjanje do kraja riječi, istipkajte ce . ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Postavite kursor na a u lackmb. + + 3. Otipkajte ce i ispravite riječ (u ovom slučaju otipkajte inija ). + + 4. Pritisnite <ESC> i pomaknite kursor na sljedeći znak + kojeg je potrebno ispraviti. + + 5. Ponovite korake 3 i 4 sve dok prva rečenica ne postane istovjetna + drugoj. + +---> Ova lackmb ima nekoliko rjlcah koje trfcb mijdmlfsz. +---> Ova linija ima nekoliko riječi koje treba mijenjati. + +Primijetite da ce briše riječ i postavlja Vim u Insert mod. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.4: JOŠ MIJENJANJA KORIŠTENJEM c + + + ** Naredba mijenjanja se koristi sa istim pokretima kao i brisanje. ** + + 1. Operator mijenjanja se koristi na isti način kao i operator brisanja: + + c [broj] pokret + + 2. Pokreti su isti, npr: w (riječ) i $ (kraj linije). + + 3. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 4. Pomaknite kursor na prvu pogrešku. + + 5. Otipkajte c$ i utipkajte ostatak linije tako da bude istovjetna + drugoj te pritisnite <ESC>. + +---> Kraj ove linije treba pomoć tako da izgleda kao linija ispod. +---> Kraj ove linije treba ispraviti korištenjem c$ naredbe. + +NAPOMENA: Možete koristiti Backspace za ispravljanje grešaka. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3 SAŽETAK + + + 1. Za postavljanje teksta koji je upravo izbrisan, pritisnite p . Ovo + postavlja tekst IZA kursora (ako je pak linija izbrisana tekst se + postavlja na liniju ispod kursora). + + 2. Za promjenu znaka na kojem se nalazi kursor, pritisnite r i nakon toga + željeni znak. + + 3. Operator mijenjanja dozvoljava promjenu teksta od kursora do pozicije do + koje dovede pokret. tj. Otipkajte ce za mijenjanje od kursora do kraja + riječi, c$ za mijenjanje od kursora do kraja linije. + + 4. Oblik naredbe mijenjanja: + + c [broj] pokret + +Prijeđite na sljedeću lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.1: POZICIJA KURSORA I STATUS DATOTEKE + + ** CTRL-G za prikaz pozicije kursora u datoteci i status datoteke. + Pritisnite G za pomicanje kursora na neku liniju u datoteci. ** + +NAPOMENA: Pročitajte cijelu lekciju prije izvršenja bilo kojeg koraka!! + + 1. Držite Ctrl tipku pritisnutom i pritisnite g . Ukratko: CTRL-G. + Vim će ispisati poruku na dnu ekrana sa imenom datoteke i pozicijom + kursora u datoteci. Zapamtite broj linije za 3. korak. + +NAPOMENA: Možete vidjeti poziciju kursora u donjem desnom kutu ako + je postavka 'ruler' aktivirana (objašnjeno u 6. lekciji). + + 2. Pritisnite G za pomicanje kursora na kraj datoteke. + Otipkajte gg za pomicanje kursora na početak datoteke. + + 3. Otipkajte broj linije na kojoj ste bili maloprije i zatim G . Kursor + će se vratiti na liniju na kojoj se nalazio kada ste otipkali CTRL-G. + + 4. Ako ste spremni, izvršite korake od 1 do 3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.2: NAREDBE TRAŽENJA + + ** Otipkajte / i nakon toga izraz kojeg želite tražiti. ** + + 1. U Normal modu otipkajte / znak. Primijetite da se znak + pojavio zajedno sa kursorom na dnu ekrana kao kod : naredbe. + + 2. Sada otipkajte 'grrrreška' <ENTER>. To je riječ koju zapravo tražite. + + 3. Za ponovno traženje istog izraza, otipkajte n . + Za traženje istog izraza ali u suprotnom smjeru, otipkajte N . + + 4. Za traženje izraza unatrag, koristite ? umjesto / . + + 5. Za povratak na prethodnu poziciju koristite CTRL-O (držite Ctrl + pritisnutim dok ne pritisnete tipku o). Ponavljajte sve dok se ne + vratite na početak. CTRL-I slično kao CTRL-O ali u suprotnom smjeru. + +---> "pogrrrreška" je pogrešno; umjesto pogrrrreška treba stajati pogreška. + +NAPOMENA: Ako se traženjem dođe do kraja datoteke nastavit će se od njenog + početka osim ako je postavka 'wrapscan' deaktivirana. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.3: TRAŽENJE PRIPADAJUĆE ZAGRADE + + + ** Otipkajte % za pronalazak pripadajuće ), ] ili } . ** + + 1. Postavite kursor na bilo koju od ( , [ ili { + otvorenih zagrada u liniji označenoj s --->. + + 2. Otipkajte znak % . + + 3. Kursor će se pomaknuti na pripadajuću zatvorenu zagradu. + + 4. Otipkajte % kako bi pomakli kursor na drugu pripadajuću zagradu. + + 5. Pomaknite kursor na neku od (,),[,],{ ili } i ponovite % naredbu. + +---> Linija ( testiranja običnih ( [ uglatih ] i { vitičastih } zagrada.)) + + +NAPOMENA: Vrlo korisno u ispravljanju koda sa nepripadajućim zagradama! + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.4: NAREDBE ZAMIJENE + + + ** Otipkajte :s/staro/novo/g da zamijenite 'staro' za 'novo'. ** + + 1. Pomaknite kursor na liniju označenu s --->. + + 2. Otipkajte :s/cvrćč/cvrč <ENTER> . Primjetite da ova naredba zamjenjuje + samo prvi "cvrćč" u liniji. + + 3. Otipkajte :s/cvrćč/cvrč/g . Dodavanje g stavke znači da će se naredba + izvršiti na cijeloj liniji, zamjenjivanjem svih "cvrćč" u liniji. + +---> i cvrćči cvrćči cvrćčak na čvoru crne smrče. + + 4. Za zamjenu svih izraza u rasponu dviju linija, + otipkajte :#,#s/staro/novo/g #,# su brojevi linije datoteke na kojima + te između njih će se izvršiti zamjena. + Otipkajte :%s/staro/novo/g za zamjenu svih izraza u cijeloj datoteci. + Otipkajte :%s/staro/novo/gc za pronalazak svakog izraza u datoteci i + potvrdu zamjene. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4 SAŽETAK + + + 1. CTRL-G prikazuje poziciju kursora u datoteci i status datoteke. + G postavlja kursor na zadnju liniju datoteke. + broj G postavlja kursor na broj liniju. + gg postavlja kursor na prvu liniju. + + 2. Tipkanje / sa izrazom traži UNAPRIJED taj izraz. + Tipkanje ? sa izrazom traži UNATRAG taj izraz. + Nakon naredbe traženja koristite n za pronalazak izraza u istom + smjeru, i N za pronalazak istog izraza ali u suprotnom smjeru. + CTRL-O vraća kursor na prethodnu poziciju, CTRL-I na sljedeću poziciju. + + 3. Tipkanje % dok je kursor na zagradi pomiče ga na pripadajuću zagradu. + + 4. Za zamjenu prvog izraza staro za izraz novo :s/staro/novo + Za zamjenu svih izraza staro na cijeloj liniji :s/staro/novo/g + Za zamjenu svih izraza staro u rasponu linija #,# :#,#s/staro/novo/g + Za zamjenu u cijeloj datoteci :%s/staro/novo/g + Za potvrdu svake zamjene dodajte 'c' :%s/staro/novo/gc + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.1: IZVRŠAVANJE VANJSKIH NAREDBI + + + ** Otipkajte :! sa vanjskom naredbom koju želite izvršiti. ** + + 1. Otipkajte poznatu naredbu : kako bi kursor premjestili na dno + ekrana. Time omogućavate unos naredbe u naredbenoj liniji. + + 2. Otipkajte znak ! (uskličnik). Tako omogućavate + izvršavanje naredbe vanjske ljuske. + + 3. Kao primjer otipkajte ls nakon ! te pritisnite <ENTER>. + Ovo će prikazati sadržaj direktorija, kao da ste u ljusci. + Koristite :!dir ako :!ls ne radi. + +NAPOMENA: Moguće je izvršavati bilo koju vanjsku naredbu na ovaj način, + zajedno sa njenim argumentima. + +NAPOMENA: Sve : naredbe se izvršavaju nakon što pritisnete <ENTER> + U daljnjem tekstu to neće uvijek biti napomenuto. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.2: VIŠE O SPREMANJU DATOTEKA + + ** Za spremanje promjena, otipkajte :w IME_DATOTEKE. ** + + 1. Otipkajte :!dir ili :!ls za pregled direktorija. + Već znate da morate pritisnuti <ENTER> na kraju tipkanja. + + 2. Izaberite ime datoteke koja još ne postoji, npr. TEST. + + 3. Otipkajte: :w TEST (gdje je TEST ime koje ste prethodno odabrali.) + + 4. Time će te spremiti cijelu datoteku (Vim Tutor) pod imenom TEST. + Za provjeru, otipkajte ponovno :!dir ili :!ls + za pregled direktorija. + +NAPOMENA: Ako bi napustili Vim i ponovno ga pokrenuli sa vim TEST , + datoteka bi bila potpuna kopija ove datoteke u trenutku + kada ste je spremili. + + 5. Izbrišite datoteku tako da otipkate (MS-DOS): :!del TEST + ili (Unix): :!rm TEST + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.3: SPREMANJE OZNAČENOG TEKSTA + + + ** Kako bi spremili dio datoteke, otipkajte v pokret :w IME_DATOTEKE ** + + 1. Pomaknite kursor na ovu liniju. + + 2. Pritisnite v i pomaknite kursor pet linija ispod ove. + Primijetite promjenu, označeni tekst se razlikuje od običnog. + + 3. Pritisnite : znak. Na dnu ekrana pojavit će se :'<,'> . + + 4. Otipkajte w TEST , pritom je TEST ime datoteke koja još ne postoji. + Provjerite da zaista piše :'<,'>w TEST + prije nego što pritisnite <ENTER>. + + 5. Vim će spremiti označeni tekst u TEST. Provjerite sa :!dir ili !ls . + Nemojte je još brisati! Koristiti će te je u sljedećoj lekciji. + +NAPOMENA: Tipka v započinje Vizualno označavanje. Možete pomicati kursor + unaokolo kako bi mijenjali veličinu označenog teksta. Možete + koristiti i operatore. Npr, d će izbrisati označeni tekst. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.4: UČITAVANJE DATOTEKA + + + ** Za ubacivanje sadržaja datoteke, otipkajte :r IME_DATOTEKE ** + + 1. Postavite kursor iznad ove linije. + +NAPOMENA: Nakon što izvršite 2. korak vidjeti će te tekst iz Lekcije 5.3. + Stoga pomaknite kursor DOLJE kako bi ponovno vidjeli ovu lekciju. + + 2. Učitajte vašu TEST datoteku koristeći naredbu :r TEST + gdje je TEST ime datoteke koju ste koristili u prethodnoj lekciji. + Sadržaj učitane datoteke je ubačen liniju ispod kursora. + + 3. Kako bi provjerili da je datoteka učitana, vratite kursor unatrag i + primijetite dvije kopije Lekcije 5.3, originalnu i onu iz datoteke. + +NAPOMENA: Možete također učitati ispis vanjske naredbe. Npr, :r !ls + će učitati ispis ls naredbe i postaviti ispis liniju ispod + kursora. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5 SAŽETAK + + + 1. :!naredba izvršava vanjsku naredbu. + + Korisni primjeri: + (MS-DOS) (Unix) + :!dir :!ls - pregled direktorija. + :!del DATOTEKA :!rm DATOTEKA - briše datoteku DATOTEKA. + + 2. :w DATOTEKA zapisuje trenutačnu datoteku na disk sa imenom DATOTEKA. + + 3. v pokret :w IME_DATOTEKE sprema vizualno označene linije u + datoteku IME_DATOTEKE. + + 4. :r IME_DATOTEKE učitava datoteku IME_DATOTEKE sa diska i stavlja + njen sadržaj liniju ispod kursora. + + 5. :r !dir učitava ispis naredbe dir i postavlja sadržaj ispisa liniju + ispod kursora. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.1: NAREDBA OTVORI + + + ** Pritisnite o kako bi otvorili liniju ispod kursora + i prešli u Insert mod. ** + + 1. Pomaknite kursor na sljedeću liniju označenu s --->. + + 2. Otipkajte malo o kako bi otvorili novu liniju ISPOD kursora + i prešli u Insert mod. + + 3. Otipkajte nešto teksta i nakon toga pritisnite <ESC> + kako bi napustili Insert mod. + +---> Nakon što pritisnete o kursor će preći u novu liniju u Insert mod. + + 4. Za otvaranje linije IZNAD kursora, otipkajte umjesto malog o veliko O , + Pokušajte na donjoj liniji označenoj s --->. + +---> Otvorite liniju iznad ove - otipkajte O dok je kursor na ovoj liniji. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.2: NAREDBA DODAJ + + + ** Otipkajte a za dodavanje teksta IZA kursora. ** + + 1. Pomaknite kursor na početak sljedeće linije označene s --->. + + 2. Tipkajte e dok se kursor ne nalazi na kraju li . + + 3. Otipkajte a (malo) kako bi dodali tekst IZA kursora. + + 4. Dopunite riječ kao što je na liniji ispod. + Pritisnite <ESC> za izlaz iz Insert moda. + + 5. Sa e prijeđite na sljedeću nepotpunu riječ i ponovite korake 3 i 4. + +---> Ova li omogućava vje dodav teksta nekoj liniji. +---> Ova linija omogućava vježbanje dodavanja teksta nekoj liniji. + +NAPOMENA: Sa i, a, i A prelazite u isti Insert mod, jedina + razlika je u poziciji od koje će se tekst ubacivati. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.3: DRUGI NAČIN MIJENJANJA + + + ** Otipkajte veliko R kako bi zamijelili više od jednog znaka. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + Pomaknite kursor na početak prvog xxx . + + 2. Pritisnite R i otipkajte broj koji je liniju ispod, + tako da zamijeni xxx . + + 3. Pritisnite <ESC> za izlaz iz Replace moda. + Primijetite da je ostatak linije ostao nepromjenjen. + + 5. Ponovite korake kako bi zamijenili preostali xxx. + +---> Zbrajanje: 123 plus xxx je xxx. +---> Zbrajanje: 123 plus 456 je 579. + +NAPOMENA: Replace mod je kao Insert mod, ali sa bitnom razlikom, + svaki otipkani znak briše već postojeći. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.4: KOPIRANJE I LIJEPLJENJE TEKSTA + + + ** Koristite y operator za kopiranje a p za lijepljenje teksta. ** + + 1. Pomaknite kursor na liniju s ---> i postavite kursor nakon "a)". + + 2. Pokrenite Visual mod sa v i pomaknite kursor sve do ispred "prva". + + 3. Pritisnite y kako bi kopirali označeni tekst. + + 4. Pomaknite kursor do kraja sljedeće linije: j$ + + 5. Pritisnite p kako bi zalijepili tekst. Onda utipkajte: druga <ESC> . + + 6. Koristite Visual mod kako bi označili " linija.", kopirajte: y , kursor + postavite na kraj sljedeće linije: j$ i ondje zalijepite tekst: p . + +---> a) ovo je prva linija. + b) + +NAPOMENA: možete koristiti y kao operator; yw kopira jednu riječ. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.5: MIJENJANJE POSTAVKI + + + ** Postavka: naredbe traženja i zamijene ne razlikuju VELIKA i mala slova ** + + 1. Potražite 'razlika' tipkanjem: /razlika <ENTER> + Nekoliko puta ponovite pritiskanjem n . + + 2. Aktivirajte 'ic' (Ignore case) postavku: :set ic + + 3. Ponovno potražite 'razlika' tipkanjem n + Primijetite da su sada i RAZLIKA i Razlika pronađeni. + + 4. Aktivirajte 'hlsearch' i 'incsearch' postavke: :set hls is + + 5. Otipkajte naredbu traženja i primijetite razlike: /razlika <ENTER> + + 6. Za deaktiviranje ic postavke koristite: :set noic + +NAPOMENA: Za neoznačavanje pronađenih izraza otipkajte: :nohlsearch +NAPOMENA: Bez razlikovanja velikih i malih slova u samo jednoj naredbi + koristite \c u izrazu: /razlika\c <ENTER> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6 SAŽETAK + + 1. Pritisnite o za otvaranje linije ISPOD kursora i prelazak u Insert mod. + Pritisnite O za otvaranje linije IZNAD kursora. + + 2. Pritisnite a za unos teksta IZA kursora. + Pritisnite A za unos teksta na kraju linije. + + 3. Naredba e pomiče kursor na kraj riječi. + + 4. Operator y kopira tekst, p ga lijepi. + + 5. Tipkanjem velikog R Vim prelazi u Replace mod dok ne pritisnete <ESC> . + + 6. Tipkanjem ":set xxx" aktivira postavku "xxx". Neke postavke su: + 'ic' 'ignorecase' ne razlikuje velika/mala slova pri traženju + 'is' 'incsearch' traži nedovršene izraze + 'hls' 'hlsearch' označi sve pronađene izraze + Možete koristite dugo ili kratko ime postavke. + + 7. Prethodite "no" imenu postavke za deaktiviranje iste: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.1: DOBIVANJE POMOĆI + + + ** Koristite on-line sustav pomoći ** + + Vim ima detaljan on-line sustav pomoći. + Za početak, pokušajte jedno od sljedećeg: + - pritisnite <HELP> tipku (ako je vaša tipkovnica ima) + - pritisnite <F1> tipku (ako je vaša tipkovnica ima) + - utipkajte :help <ENTER> + + Pročitajte tekst u prozoru pomoći kako bi ste se znali služiti istom. + Tipkanjem CTRL-W CTRL-W prelazite iz jednog prozora u drugi. + Otipkajte :q <ENTER> kako bi zatvorili prozor pomoći. + + Pronaći će te pomoć o bilo kojoj temi, tako da dodate upit samoj + ":help" naredbi. Pokušajte (ne zaboravite pritisnuti <ENTER>): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.2: PRAVLJENJE SKRIPTE + + + ** Aktivirajte Vim mogućnosti ** + + Vim ima mnogo više alata od Vi-ja, ali većina njih nije aktivirana. + Kako bi mogli koristiti više mogućnosti napravite "vimrc" datoteku. + + 1. Uredite "vimrc" datoteku. Ovo ovisi o vašem sistemu: + :e ~/.vimrc za Unix + :e $VIM/_vimrc za MS-Windows + + 2. Sada učitajte primjer sadržaja "vimrc" datoteke: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Sačuvajte datoteku sa: + :w + + Sljedećeg puta kada pokrenete Vim, bojanje sintakse teksta biti će + aktivirano. Sve vaše postavke možete dodati u "vimrc" datoteku. + Za više informacija otipkajte :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.3: AUTOMATSKO DOVRŠAVANJE + + + ** Dovršavanje iz naredbene linije pomoću CTRL-D i <TAB> ** + + 1. Provjerite da Vim nije u Vi modu: :set nocp + + 2. Pogledajte koje datoteke postoje u direktoriju: :!ls or :!dir + + 3. Otipkajte početak naredbe: :e + + 4. Tipkajte CTRL-D i prikazati će se lista naredbi koje započinju sa "e". + + 5. Pritisnite <TAB> i Vim će dopuniti unos u naredbu ":edit". + + 6. Dodajte razmak i početak datoteke: :edit FIL + + 7. Pritisnite <TAB>. Vim će nadopuniti ime datoteke (ako je jedinstveno). + +NAPOMENA: Moguće je dopuniti mnoge naredbe. Koristite CTRL-D i <TAB>. + Naročito je korisno za :help naredbe. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7 SAŽETAK + + + 1. Otipkajte :help ili pritisnite <F1> ili <Help> za pomoć. + + 2. Otipkajte :help naredba kako bi dobili pomoć za naredba . + + 3. Otipkajte CTRL-W CTRL-W za prelazak u drugi prozor + + 4. Otipkajte :q kako bi zatvorili prozor pomoći + + 5. Napravite vimrc skriptu za podizanje kako bi u nju spremali + vaše omiljene postavke. + + 6. Kada tipkate naredbu koja započinje sa : + pritisnite CTRL-D kako bi vidjeli moguće valjane vrijednosti. + Pritisnite <TAB> kako bi odabrali jednu od njih. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Kraj. Cilj priručnika je da pokaže kratak pregled Vim editora, tek toliko + da omogući njegovo korištenje. Priručnik nije potpun jer Vim ima mnogo više + naredbi. Za više informacija: ":help user-manual". + + Za čitanje i korištenje, preporučamo: + Vim - Vi Improved - by Steve Oualline + Izdavač: New Riders + Prva knjiga potpuno posvećena Vim-u. Vrlo korisna za početnike. + Sa mnogo primjera i slika. + Posjetite http://iccf-holland.org/click5.html + + Sljedeća knjiga je nešto starija i više o Vi-u nego o Vim-u, preporučamo: + Learning the Vi Editor - by Linda Lamb + Izdavač: O'Reilly & Associates Inc. + Solidna knjiga, možete saznati skoro sve što možete napraviti + u Vi-u. Šesto izdanje ima nešto informacija i o Vim-u. + + Ovaj priručnik su napisali: Michael C. Pierce i Robert K. Ware, + Colorado School of Mines koristeći ideje Charles Smith, + Colorado State University. E-pošta: bware@mines.colorado.edu. + + Naknadne promjene napravio je Bram Moolenaar. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Preveo na hrvatski: Paul B. Mahol <onemda@gmail.com> + Preinaka 1.42, Lipanj 2008 + + diff --git a/runtime/tutor/uninstal.txt b/runtime/tutor/uninstal.txt new file mode 100644 index 000000000..bb06c9935 --- /dev/null +++ b/runtime/tutor/uninstal.txt @@ -0,0 +1,80 @@ +Uninstalling Vim on Dos and MS-Windows. + +There are three ways to remove Vim: + +1. With the GUI uninstaller. + This is only available when Vim was installed with the self-installing + executable. This has a minimal number of questions. It can delete + everything that was installed. This also unregisters the VisVim.dll + +2. With uninstal.exe. + This removes most installed items, but does not delete the files you + unpacked. + +3. By hand. + This is a bit more work, but you can decide exactly what you want to + remove. For uninstalling the "Edit with Vim" popup menu entry you still + have to use uninstal.exe. + +It's recommended to use the method that matches with how you installed Vim. +Thus if you installed Vim by hand, deleted it by hand. + +The first two methods should be available from the Add/Remove software window +and the Vim entry in the Start menu. If these have been removed already, find +"uninstall-gui.exe" or "uninstal.exe" in the Vim directory. + Running these programs should be self-explanatory. Carefully read the +messages to avoid deleting something you want to keep. + +Here are guidelines for removing Vim by hand: + +1. Remove the "Edit with Vim" popup menu entry, if it exists. This will only + be on MS-Windows 95/98/NT. This is done by running the uninstal.exe + program. It removes the registry entries for the "Edit with Vim" popup + menu entry. You only need to run uninstal.exe when you have installed the + menu entry. You can also run uninstal.exe from the Control panel with the + Add/Remove programs application. + Note that uninstal.exe offers you to uninstal other items. You can skip + this. + +2. Only if you have used the OLE version of gvim: Remove the registration of + this program by running "gvim -unregister" in a console window. + +3. Delete the executables. If you copied the executables to another location, + you will have to delete them from where you copied them to. If you don't + remember where they are, look in the directories from the $PATH environment + variable. + If you created .bat files when installing Vim, also search for vim.bat, + gvim.bat, etc. + +4. If you completely want to delete vim, and are not going to install another + version, you can delete the vimrc files that you created. These are + normally located in a directory like "C:\vim". If the $VIM environment + variable is set, it will tell the name of the directory. Normally you can + delete everything in this directory. Warning: You might have put some + files there that you would like to save. If you did remove it all, you can + skip the next step. + +5. Delete the distributed files. If you followed the directions, these will + be located in a directory like "C:\vim\vim54". If the $VIM environment + variable is set, the directory will be $VIM\vim54. Delete the "vim54" + directory and all that is in it. Warning: If you changed any of the + distributed files, or added some of your own files, you might want to save + these first. But normally you would not have changed or added files here. + +6. Remove setting the $VIM and $VIMRUNTIME environment variable and adjust + $PATH. $VIM only needs to be removed if you are not going to install + another version of Vim. $VIMRUNTIME is mostly not set. Check if $PATH + contains the path of the vim directory. Note that $PATH may be set in + several places, you will have to find the right one, and only delete the + Vim path from it. You can most likely find the lines that set $PATH, $VIM + and/or $VIMRUNTIME in C:\autoexec.bat. Under Windows NT you might need to + use the "System Properties" editor to change the environment variables, if + they are not in the C:\autoexec.bat file. You can start it by selecting + Start/Settings/Control Panel and then "System". + +7. If you added a Vim entry in the start menu, delete it. + +8. If you created icons for Vim on the desktop, delete them. + +Vim does not use .ini files. The above should remove all Vim files, except +the ones that you moved elsewhere yourself. |