1
0
forked from aniani/vim

updated for version 7.2a

This commit is contained in:
Bram Moolenaar
2008-06-24 21:16:56 +00:00
parent a7241f5f19
commit 3577c6fafb
123 changed files with 39104 additions and 1352 deletions

View File

@@ -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

BIN
runtime/tutor/README_ami.txt.info Executable file

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -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!

BIN
runtime/tutor/runtime.info Executable file

Binary file not shown.

View File

@@ -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 :

View File

@@ -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

Binary file not shown.

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

View File

@@ -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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -0,0 +1,815 @@
===============================================================================
= ‰ ˜¢ à © ã ¨ Ÿ ˜ « œ © « ¦ V I M T u t o r - ë¡›¦©ž 1.5 =
===============================================================================
Ž Vim œå¤˜  ⤘ª §˜¤å©®¬¨¦ª ©¬¤«á¡«žª §¦¬ ⮜  §¦¢¢âª œ¤«¦¢âª, §á¨˜
§¦¢¢âª š ˜ ¤˜ œ¥žšã©¦¬£œ ©œ £å˜ §œ¨ ãšž©ž æ§àª ˜¬«ã. €¬«ã ž §œ¨ ãšž©ž
©®œ› á©«ž¡œ š ˜ ¤˜ §œ¨ š¨á¯œ   ¡˜¤¦§¦ ž« ¡á « ª œ¤«¦¢âª §¦¬ Ÿ˜ ©˜ª
¡á¤¦¬¤ ¤˜ ®¨ž© £¦§¦ œå«œ œç¡¦¢˜ «¦¤ Vim ©˜¤ ⤘¤ šœ¤ ¡ãª ®¨ã©žª ©¬¤«á¡«ž.
Ž ¡˜«á §¨¦©âšš ©ž ®¨æ¤¦ª §¦¬ ˜§˜ «œå«˜  š ˜ ¤˜ ¦¢¦¡¢ž¨é©œ«œ «ž¤ §œ¨ ãšž©ž
œå¤˜  25-30 ¢œ§«á, œ¥˜¨«é¤«˜ª ˜§æ «¦ §æ©¦ ®¨æ¤¦ Ÿ˜ ¥¦›â¯œ«œ š ˜
§œ ¨˜£˜« ©£¦çª.
Ž  œ¤«¦¢âª ©«˜ £˜Ÿã£˜«˜ Ÿ˜ «¨¦§¦§¦ ã©¦¬¤ «¦ ¡œå£œ¤¦. ƒž£ ¦¬¨šã©«œ ⤘
˜¤«åš¨˜­¦ ˜¬«¦ç «¦¬ ˜¨®œå¦¬ š ˜ ¤˜ œ¥˜©¡žŸœå«œ (˜¤ ¥œ¡ ¤ã©˜«œ «¦
"Vimtutor" ˜¬«æ œå¤˜  㛞 ⤘ ˜¤«åš¨˜­¦).
„夘  ©ž£˜¤« ¡æ ¤˜ Ÿ¬£á©«œ æ«  ˜¬«ã ž §œ¨ ãšž©ž œå¤˜  ¦¨š˜¤à£â¤ž â«© 
é©«œ ¤˜ › ›á©¡œ  £â©à «žª ®¨ã©žª. €¬«æ ©ž£˜å¤œ  æ«  ®¨œ á<C2A0>œ«˜  ¤˜
œ¡«œ¢œå«œ « ª œ¤«¦¢âª š ˜ ¤˜ « ª £áŸœ«œ ©à©«á. €¤  ˜™á<E284A2>œ«œ £æ¤¦ «¦
¡œå£œ¤¦, Ÿ˜ « ª ¥œ®á©œ«œ!
’騘, ™œ™˜ àŸœå«œ æ«  «¦ §¢ã¡«¨¦ Shift-Lock ƒ„Œ œå¤˜  §˜«ž£â¤¦ ¡˜ 
§˜«ã©«œ «¦ §¢ã¡«¨¦ j ˜¨¡œ«âª ­¦¨âª š ˜ ¤˜ £œ«˜¡ ¤ã©œ«œ «¦¤ ›¨¦£â˜ â«© 
é©«œ «¦ ‹áŸž£˜ 1.1 ¤˜ šœ£å©œ  §¢ã¨àª «ž¤ ¦Ÿæ¤ž.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 1.1: ‹„’€‰ˆŒŽŒ’€‘ ’ŽŒ ƒ<>Ž„€
**  ˜ ¤˜ ¡ ¤ã©œ«œ «¦¤ ›¨¦£â˜, §˜«ã©«œ «˜ §¢ã¡«¨˜ h,j,k,l æ§àª ›œå®¤œ«˜ . **
^
k Hint: ’¦ §¢ã¡«¨¦ h œå¤˜  ˜¨ ©«œ¨á ¡˜  ¡ ¤œå ©«' ˜¨ ©«œ¨á.
< h l > ’¦ §¢ã¡«¨¦ l œå¤˜  ›œ¥ á ¡˜  ¡ ¤œå ©«˜ ›œ¥ á.
j ’¦ §¢ã¡«¨¦ j £¦ á<C2A0>œ  £œ ™œ¢á¡  §¨¦ª «˜ ¡á«à.
v
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ «¨ šç¨à ©«ž¤ ¦Ÿæ¤ž £â®¨  ¤˜ ¤¦ éŸœ«œ ᤜ«˜.
2. ‰¨˜«ã©«œ §˜«ž£â¤¦ «¦ ¡á«à §¢ã¡«¨¦ (j) £â®¨  ¤˜ œ§˜¤˜¢ž­Ÿœå.
---> ’騘 ¥â¨œ«œ §éª ¤˜ £œ«˜¡ ¤žŸœå«œ ©«¦ œ§æ£œ¤¦ £áŸž£˜.
3. •¨ž© £¦§¦ é¤«˜ª «¦ ¡á«à §¢ã¡«¨¦, £œ«˜¡ ¤žŸœå«œ ©«¦ ‹áŸž£˜ 1.2.
‘ž£œåਫ਼: €¤ ˜£­ ™á¢¢œ«œ š ˜ ¡á«  §¦¬ §˜«ã©˜«œ, §˜«ã©«œ <ESC> š ˜ ¤˜ ™¨œŸœå«œ
©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. ‹œ«á §˜«ã©«œ ¥˜¤á «ž¤ œ¤«¦¢ã §¦¬ Ÿâ¢˜«œ.
‘ž£œåਫ਼: ˜ §¢ã¡«¨˜ «¦¬ ›¨¦£â˜ Ÿ˜ §¨â§œ  œ§å©žª ¤˜ ›¦¬¢œç¦¬¤. €¢¢á £œ «˜ hjkl
Ÿ˜ £§¦¨œå«œ ¤˜ ¡ ¤žŸœå«œ §¦¢ç š¨žš¦¨æ«œ¨˜, £æ¢ ª «˜ ©¬¤žŸå©œ«œ.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 1.2: <>ˆŒŽŒ ‰€ˆ <20>ˆŒŽŒ ‘’ŽŒ VIM
!! ‘†‹„ˆ—‘†: <20>¨ ¤ œ¡«œ¢â©œ«œ ¡á§¦ ¦ ˜§æ «˜ ™ã£˜«˜, › ˜™á©«œ 梦 «¦ £áŸž£˜!!
1. <20>˜«ã©«œ «¦ §¢ã¡«¨¦ <ESC> (š ˜ ¤˜ œå©«œ ©å𦬍˜ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž).
2. <20>¢ž¡«¨¦¢¦šã©«œ: :q! <ENTER>.
---> €¬«æ œ¥â¨®œ«˜  ˜§æ «¦¤ ©¬¤«á¡«ž •—<E280A2>ˆ ¤˜ ©é©œ  槦 œª ˜¢¢˜šâª ⮜«œ ¡á¤œ .
€¤ Ÿâ¢œ«œ ¤˜ ©é©œ«œ « ª ˜¢¢˜šâª ¡˜  ¤˜ œ¥â¨Ÿœ«œ §¢ž¡«¨¦¢¦šã©«œ:
:wq <ENTER>
3. ¤ ›œå«œ «ž¤ §¨¦«¨¦§ã «¦¬ ­¢¦ ¦ç, §¢ž¡«¨¦¢¦šã©«œ «ž¤ œ¤«¦¢ã £œ «ž¤ ¦§¦å˜
£§ã¡˜«œ ©œ ˜¬«ã¤ «ž¤ §œ¨ ãšž©ž. ‹§¦¨œå ¤˜ œå¤˜ : vimtutor <ENTER>
‰˜¤¦¤ ¡á Ÿ˜ ®¨ž© £¦§¦ ¦ç©˜«œ: vim tutor <ENTER>
---> 'vim' ©ž£˜å¤œ  œ ©˜šàšã ©«¦¤ ©¬¤«á¡«ž vim, 'tutor' œå¤˜  «¦ ˜¨®œå¦ §¦¬
Ÿâ¢¦¬£œ ¤˜ › ¦¨Ÿé©¦¬£œ.
4. €¤ ⮜«œ ˜§¦£¤ž£¦¤œç©œ  ˜¬«á «˜ ™ã£˜«˜ ¡˜  ⮜«œ ˜¬«¦§œ§¦åŸž©ž, œ¡«œ¢â©«œ
«˜ ™ã£˜«˜ 1 âઠ3 š ˜ ¤˜ ™šœå«œ ¡˜  ¤˜ £§œå«œ ¥˜¤á ©«¦¤ ©¬¤«á¡«ž. ‹œ«á
£œ«˜¡ ¤ã©«œ «¦¤ ›¨¦£â˜ ¡á«à ©«¦ ‹áŸž£˜ 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 1.3: ƒˆŽ<CB86>‡—† ‰„ˆ‹„ŒŽ“ - ƒˆ<E282AC>€”†
**  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ x š ˜ ¤˜ › ˜š¨á¯œ«œ «¦¤
®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
2.  ˜ ¤˜ › ¦¨Ÿé©œ«œ «˜ ¢áŸž, ¡ ¤œå©«œ «¦¤ ›¨¦£â˜ £â®¨  ¤˜ œå¤˜  §á¤à ˜§æ
«¦¤ ®˜¨˜¡«ã¨˜ §¦¬ Ÿ˜ › ˜š¨˜­œå.
3. <20>˜«ã©«œ «¦ §¢ã¡«¨¦ x š ˜ ¤˜ › ˜š¨á¯œ«œ «¦¤ ˜¤œ§ Ÿç£ž«¦ ®˜¨˜¡«ã¨˜.
4. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 £â®¨  4 £â®¨  ž §¨æ«˜©ž ¤˜ œå¤˜  ©à©«ã.
---> The ccow jumpedd ovverr thhe mooon.
5. ’騘 §¦¬ ž š¨˜££ã œå¤˜  ©à©«ã, §žš˜å¤«œ ©«¦ ‹áŸž£˜ 1.4.
‘†‹„ˆ—‘†: ‰˜Ÿéª › ˜«¨â®œ«œ ˜¬«ã¤ «ž¤ §œ¨ ãšž©ž, §¨¦©§˜Ÿã©«œ ¤˜ £ž¤
˜§¦£¤ž£¦¤œçœ«œ, £˜Ÿ˜å¤œ«œ £œ «ž ®¨ã©ž.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 1.4: ƒˆŽ<CB86>‡—† ‰„ˆ‹„ŒŽ“ - <20><EFBFBD><E2809E>ŽŠ†
**  œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ i š ˜ ¤˜ §˜¨œ£™á¢¢œ«œ ¡œå£œ¤¦. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ £â®¨  «ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
2.  ˜ ¤˜ ¡á¤œ«œ «ž¤ §¨é«ž š¨˜££ã å› ˜ £œ «ž¤ ›œç«œ¨ž, £œ«˜¡ ¤œå©«œ «¦¤
›¨¦£â˜ §á¤à ©«¦¤ §¨é«¦ ®˜¨˜¡«ã¨˜ ‹„’€ ˜§æ 槦¬ Ÿ˜ §˜¨œ£™¢žŸœå «¦ ¡œå£œ¤¦.
3. <20>˜«ã©«œ «¦ i ¡˜  §¢ž¡«¨¦¢¦šã©«œ « ª ˜§˜¨˜å«ž«œª §¨¦©Ÿã¡œª.
4. ‰˜Ÿéª › ¦¨Ÿé¤œ«œ ¡áŸœ ¢áŸ¦ª §˜«ã©«œ <ESC> š ˜ ¤˜ œ§ ©«¨â¯œ«œ ©«ž¤
‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 £â®¨  4 š ˜ ¤˜ › ¦¨Ÿé©œ«œ
«ž¤ §¨æ«˜©ž.
---> There is text misng this .
---> There is some text missing from this line.
5. ¤ œå©«œ ᤜ«¦  £œ «ž¤ §˜¨œ£™¦¢ã ¡œ £â¤¦¬ £œ«˜¡ ¤žŸœå«œ ©«ž¤
§˜¨˜¡á«à §œ¨å¢ž¯ž.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹€‡†‹€ 1 <20><EFBFBD>ˆŠ†
1. Ž ›¨¦£â˜ª ¡ ¤œå«˜  ®¨ž© £¦§¦ é¤«˜ª œå«œ «˜ §¢ã¡«¨˜ ›¨¦£â˜ ã «˜ hjkl.
h (˜¨ ©«â¨˜) j (¡á«à) k (§á¤à) l (›œ¥ á)
2.  ˜ ¤˜ £§œå«œ ©«¦¤ Vim (˜§æ «ž¤ §¨¦«¨¦§ã %) š¨á¯«œ: vim €<>•„ˆŽ <ENTER>
3.  ˜ ¤˜ ™šœå«œ š¨á¯«œ: <ESC> :q! <ENTER> š ˜ ˜§æ¨¨ ¯ž «à¤ ˜¢¢˜šé¤.
ì š¨á¯«œ: <ESC> :wq <ENTER> š ˜ ˜§¦Ÿã¡œ¬©ž «à¤ ˜¢¢˜šé¤.
4.  ˜ ¤˜ › ˜š¨á¯œ«œ ⤘¤ ®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜ ©œ
‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ: x
5.  ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ©«¦¤ ›¨¦£â˜ 橦 œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž š¨á¯«œ:
i §¢ž¡«¨¦¢¦šã©«œ «¦ ¡œå£œ¤¦ <ESC>
‘†‹„ˆ—‘†: <20>˜«é¤«˜ª <ESC> Ÿ˜ «¦§¦Ÿœ«žŸœå«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž ã Ÿ˜
˜¡¬¨é©œ«œ £å˜ ˜¤œ§ Ÿç£ž«ž ¡˜  £œ¨ ¡éª ¦¢¦¡¢ž¨à£â¤ž œ¤«¦¢ã.
’騘 ©¬¤œ®å©«œ £œ «¦ ‹áŸž£˜ 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 2.1: „Œ’ŽŠ„‘ ƒˆ<E282AC>€”†
** ‚¨á¯«œ dw š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª £å˜ª ¢â¥žª. **
1. <20>˜«ã©«œ <ESC> š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž.
2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
3. <20>žš˜å¤œ«œ «¦¤ ›¨¦£â˜ ©«ž¤ ˜¨®ã «žª ¢â¥žª §¦¬ §¨â§œ  ¤˜ › ˜š¨˜­œå.
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: <20><EFBFBD>ˆŽ<E28099> „Œ’ŽŠ„‘ ƒˆ<E282AC>€”†
** <20>¢ž¡«¨¦¢¦šã©«œ d$ š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª. **
1. <20>˜«ã©«œ <ESC> š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž.
2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
3. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ «â¢¦ª «žª ©à©«ãª š¨˜££ãª (‹„’€ «ž¤ §¨é«ž . ).
4. <20>˜«ã©«œ d$ š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª.
---> Somebody typed the end of this line twice. end of this line twice.
5. <20>žš˜å¤œ«œ ©«¦ ‹áŸž£˜ 2.3 š ˜ ¤˜ ¡˜«˜¢á™œ«œ «  ©¬£™˜å¤œ .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 2.3: <20><EFBFBD>ˆ „Œ’ŽŠ—Œ ‰€ˆ €Œ’ˆ‰„ˆ‹„Œ—Œ
† £¦¨­ã «žª œ¤«¦¢ãª › ˜š¨˜­ãª d œå¤˜  ઠœ¥ãª:
[˜¨ Ÿ£æª] d ˜¤« ¡œå£œ¤¦ ì d [˜¨ Ÿ£æª] ˜¤« ¡œå£œ¤¦
¬:
˜¨ Ÿ£æª - §æ©œª ­¦¨âª Ÿ˜ œ¡«œ¢œ©«œå ž œ¤«¦¢ã (§¨¦˜ ¨œ« ¡æ, œ¥' ¦¨ ©£¦ç=1).
d - ž œ¤«¦¢ã «žª › ˜š¨˜­ãª.
˜¤« ¡œå£œ¤¦ - §á¤à ©œ «  Ÿ˜ ¢œ «¦¬¨šã©œ  ž œ¤«¦¢ã (§˜¨˜¡á«à ¢å©«˜).
‹å˜ £ ¡¨ã ¢å©«˜ ˜§æ ˜¤« ¡œå£œ¤˜:
w - ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª ¢â¥žª, §œ¨ ¢˜£™á¤¦¤«˜ª «¦ › á©«ž£˜.
e - ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª ¢â¥žª, •—<E280A2>ˆ «¦ › á©«ž£˜.
$ - ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª.
‘†‹„ˆ—‘†:  ˜ «¦¬ª «ç§¦¬ª «žª §œ¨ §â«œ ˜ª, §˜«é¤«˜ª ˜§¢éª «¦ ˜¤« ¡œå£œ¤¦ 橦
œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž ®à¨åª ¡á§¦ ˜ œ¤«¦¢ã Ÿ˜ £œ«˜¡ ¤ã©œ«œ
«¦¤ ›¨¦£â˜ æ§àª ¡˜Ÿ¦¨å<C2A8>œ«˜  ©«ž¤ ¢å©«˜ ˜¤« ¡œ £â¤à¤.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 2.4: ‹ˆ€ „<>ˆ<E282AC>† ‘’†Œ '„Œ’ŽŠ†-€Œ’ˆ‰„ˆ‹„ŒŽ'
** <20>¢ž¡«¨¦¢¦šã©«œ 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: † „Œ’ŽŠ† €Œ€ˆ<E282AC>
** <20>˜«ã©«œ u š ˜ ¤˜ ˜¤˜ ¨â©œ«œ « ª «œ¢œ¬«˜åœª œ¤«¦¢âª,
U š ˜ ¤˜ › ¦¨Ÿé©œ«œ 梞 «ž š¨˜££ã. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ ---> ¡˜ 
«¦§¦Ÿœ«ã©«œ «¦¤ §á¤à ©«¦ §¨é«¦ ¢áŸ¦ª.
2. <20>˜«ã©«œ 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. €¬«âª œå¤˜  §¦¢ç ®¨ã© £œª œ¤«¦¢âª. ’騘 §žš˜å¤œ«œ ©«ž¤
<20>œ¨å¢ž¯ž «¦¬ ‹˜Ÿã£˜«¦ª 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹€‡†‹€ 2 <20><EFBFBD>ˆŠ†
1.  ˜ ¤˜ › ˜š¨á¯œ«œ ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª ¢â¥žª š¨á¯«œ: dw
2.  ˜ ¤˜ › ˜š¨á¯œ«œ ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª š¨˜££ãª š¨á¯«œ: d$
3.  ˜ ¤˜ › ˜š¨á¯œ«œ ¦¢æ¡¢ž¨ž «ž š¨˜££ã š¨á¯«œ: dd
4. † £¦¨­ã š ˜ £å˜ œ¤«¦¢ã ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž œå¤˜ :
[˜¨ Ÿ£æª] œ¤«¦¢ã ˜¤« ¡œå£œ¤¦ ì œ¤«¦¢ã [˜¨ Ÿ£æª] ˜¤« ¡œå£œ¤¦
槦¬:
˜¨ Ÿ£æª - §æ©œª ­¦¨âª ¤˜ œ§˜¤˜¢ž­Ÿœå ž œ¤«¦¢ã
œ¤«¦¢ã - «  ¤˜ šå¤œ , æ§àª ž d š ˜ › ˜š¨˜­ã
˜¤« ¡œå£œ¤¦ - §á¤à ©œ «  ¤˜ œ¤œ¨šã©œ  ž œ¤«¦¢ã, æ§àª w (¢â¥ž),
$ («â¢¦ª «žª š¨˜££ãª), ¡«¢.
5.  ˜ ¤˜ ˜¤˜ ¨â©œ«œ §¨¦žš¦ç£œ¤œª œ¤â¨šœ œª, §˜«ã©«œ: u (§œ<C2A7>æ u)
 ˜ ¤˜ ˜¤˜ ¨â©œ«œ 梜ª « ª ˜¢¢˜šâª ©«ž š¨˜££ã, §˜«ã©«œ: U (¡œ­˜¢˜å¦ U)
 ˜ ¤˜ ˜¤˜ ¨â©œ«œ « ª ˜¤˜ ¨â©œ ª, §˜«ã©«œ: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 3.1: † „Œ’ŽŠ† Ž<E28099>އ„
** <20>˜«ã©«œ p š ˜ ¤˜ «¦§¦Ÿœ«ã©œ«œ «ž¤ «œ¢œ¬«˜å˜ › ˜š¨˜­ã £œ«á «¦¤ ›¨¦£â˜. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã «žª §˜¨˜¡á«à ¦£á›˜ª.
2. <20>˜«ã©«œ dd š ˜ ¤˜ › ˜š¨á¯œ«œ «ž š¨˜££ã ¡˜  ¤˜ «ž¤ ˜§¦Ÿž¡œç©œ«œ ©œ
§¨¦©à¨ ¤ã £¤ã£ž «¦¬ Vim.
3. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž š¨˜££ã <20>€Œ— ˜§æ œ¡œå §¦¬ Ÿ˜ §¨â§œ  ¤˜ §áœ 
ž › ˜š¨˜££â¤ž š¨˜££ã.
4.  œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž, §˜«ã©«œ p š ˜ ¤˜ ™á¢œ«œ «ž š¨˜££ã.
5. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 2 âઠ4 š ˜ ¤˜ ™á¢œ«œ 梜ª « ª š¨˜££âª ©«ž
©à©«ã ©œ ¨á.
d) Can you learn too?
b) Violets are blue,
c) Intelligence is learned,
a) Roses are red,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 3.2: † „Œ’ŽŠ† €Œ’ˆ‰€’€‘’€‘†‘
** <20>˜«ã©«œ r ¡˜  ®˜¨˜¡«ã¨˜ š ˜ ¤˜ ˜¢¢á¥œ«œ ˜¬«æ¤ §¦¬ œå¤˜ 
¡á«à ˜§æ «¦¤ ›¨¦£â˜. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ â«©  é©«œ ¤˜ œå¤˜  §á¤à ©«¦ §¨é«¦ ¢áŸ¦ª.
3. <20>˜«ã©«œ 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. <20>˜«ã©«œ cw ¡˜  «ž ©à©«ã ¢â¥ž (©«ž¤ §œ¨å§«à©ž ˜¬«ã, š¨á¯«œ 'ine'.)
4. <20>˜«ã©«œ <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.
<EFBFBD>˜¨˜«ž¨œå©«œ æ«  ž cw æ®  £æ¤¦ ˜¤« ¡˜Ÿ ©«áœ  «ž ¢â¥ž, ˜¢¢á ©˜ª œ ©ášœ 
œ§å©žª ©œ §˜¨œ£™¦¢ã.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 3.4: <20><EFBFBD>ˆŽ<E28099> €ŠŠ€‚„‘ ‹„ 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 <20><EFBFBD>ˆŠ†
1.  ˜ ¤˜ «¦§¦Ÿœ«ã©œ«œ ¡œå£œ¤¦ §¦¬ £æ¢ ª ⮜  › ˜š¨˜­œå, §˜«ã©«œ p .
€¬«æ «¦§¦Ÿœ«œå «¦ › ˜š¨˜££â¤¦ ¡œå£œ¤¦ ‹„’€ «¦¤ ›¨¦£â˜ (˜¤ › ˜š¨á­«ž¡œ
š¨˜££ã Ÿ˜ §áœ  £œ«á ©«ž š¨˜££ã ¡á«à ˜§æ «¦¤ ›¨¦£â˜.
2.  ˜ ¤˜ ˜¤« ¡˜«˜©«ã©œ«œ «¦¤ ®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜, §˜«ã©«œ r
¡˜  £œ«á «¦¤ ®˜¨˜¡«ã¨˜ §¦¬ Ÿ˜ ˜¤« ¡˜«˜©«ã©œ  «¦¤ ˜¨® ¡æ.
3. † œ¤«¦¢ã ˜¢¢˜šãª ©˜ª œ§ «¨â§œ  ¤˜ ˜¢¢á¥œ«œ «¦ ¡˜Ÿ¦¨ ©£â¤¦ ˜¤« ¡œå£œ¤¦
˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «¦¬ ˜¤« ¡œå£œ¤¦. <20>.®. š¨á¯«œ cw š ˜ ¤˜
˜¢¢á¥œ«œ ˜§æ «¦¤ ›¨¦£â˜ £â®¨  «¦ «â¢¦ª «žª ¢â¥žª, c$ š ˜ ¤˜ ˜¢¢á¥œ«œ
£â®¨  «¦ «â¢¦ª š¨˜££ãª.
4. † £¦¨­ã š ˜ «ž¤ ˜¢¢˜šã œå¤˜ :
[˜¨ Ÿ£æª] c ˜¤« ¡œå£œ¤¦ ì c [˜¨ Ÿ£æª] ˜¤« ¡œå£œ¤¦
’騘 ©¬¤œ®å©«œ £œ «¦ œ§æ£œ¤¦ £áŸž£˜.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 4.1: ‡„‘† ‰€ˆ ‰€’€‘’€‘† €<>•„ˆŽ“
** <20>˜«ã©«œ CTRL-g š ˜ ¤˜ œ£­˜¤ ©«œå ž Ÿâ©ž ©˜ª ©«¦ ˜¨®œå¦ ¡˜  ž ¡˜«á©«˜©ã «¦¬.
<20>˜«ã©«œ SHIFT-G š ˜ ¤˜ §á«œ ©œ £å˜ š¨˜££ã ©«¦ ˜¨®œå¦. **
‘ž£œåਫ਼: ƒ ˜™á©«œ ¦¢æ¡¢ž¨¦ «¦ £áŸž£˜ §¨ ¤ œ¡«œ¢â©œ«œ ¡á§¦ ¦ ˜§æ «˜ ™ã£˜«˜!!
1. ‰¨˜«ã©«œ §˜«ž£â¤¦ «¦ §¢ã¡«¨¦ Ctrl ¡˜  §˜«ã©«œ g . ‹å˜ š¨˜££ã ¡˜«á©«˜©žª
Ÿ˜ œ£­˜¤ ©«œå ©«¦ ¡á«à £â¨¦ª «žª ©œ¢å›˜ª £œ «¦ 椦£˜ ˜¨®œå¦¬ ¡˜  «ž
š¨˜££ã §¦¬ œå©«œ. ‡¬£žŸœå«œ «¦¤ ˜¨ Ÿ£æ š¨˜££ãª š ˜ «¦ <20>㣘 3.
2. <20>˜«ã©«œ shift-G š ˜ ¤˜ £œ«˜¡ ¤žŸœå«œ ©«¦ «â¢¦ª «¦¬ ˜¨®œå¦¬.
3. <20>˜«ã©«œ «¦¤ ˜¨ Ÿ£æ «žª š¨˜££ãª §¦¬ 㩘©«˜¤ ¡˜  £œ«á shift-G. €¬«æ Ÿ˜
©˜ª œ§ ©«¨â¯œ  ©«ž š¨˜££ã §¦¬ 㩘©«˜¤ §¨ ¤ §˜«ã©œ«œ š ˜ §¨é«ž ­¦¨á Ctrl-g.
(¤ §¢ž¡«¨¦¢¦šœå«œ «¦¬ª ˜¨ Ÿ£¦çª, ƒ„Œ Ÿ˜ œ£­˜¤å<C2A4>¦¤«˜  ©«ž¤ ¦Ÿæ¤ž).
4. €¤ ¤¦ éŸœ«œ ©å𦬍¦ª š ˜ ˜¬«æ, œ¡«œ¢â©«œ «˜ ™ã£˜«˜ 1 âઠ3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 4.2: † „Œ’ŽŠ† €Œ€…†’†‘†‘
** <20>˜«ã©«œ / ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ «ž ­¨á©ž §¦¬ ¯á®¤œ«œ. **
1. ‘œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ «¦¤ ®˜¨˜¡«ã¨˜ / . <20>˜¨˜«ž¨ã©«œ æ«  ˜¬«æª ¡˜ 
¦ ›¨¦£â˜ª œ£­˜¤å<C2A4>¦¤«˜  ©«¦ ¡á«à £â¨¦ª «žª ¦Ÿæ¤žª æ§àª £œ «ž¤ œ¤«¦¢ã : .
2. ’騘 š¨á¯«œ 'errroor' <ENTER>. €¬«ã œå¤˜  ž ¢â¥ž §¦¬ Ÿâ¢œ«œ ¤˜ ¯á¥œ«œ.
3.  ˜ ¤˜ ¯á¥œ«œ ¥˜¤á š ˜ «ž¤ å› ˜ ­¨á©ž, §˜«ã©«œ ˜§¢éª n .
 ˜ ¤˜ ¯á¥œ«œ «ž¤ å› ˜ ­¨á©ž ©«ž¤ ˜¤«åŸœ«ž ¡˜«œçŸ¬¤©ž, §˜«ã©«œ Shift-N .
4. €¤ Ÿâ¢œ«œ ¤˜ ¯á¥œ«œ š ˜ £å˜ ­¨á©ž §¨¦ª «˜ §å©à, ®¨ž© £¦§¦ ã©«œ «ž¤ œ¤«¦¢ã ? ˜¤«å «žª / .
---> ¤ ž ˜¤˜<C2A4>㫞©ž ­«á©œ  ©«¦ «â¢¦ª «¦¬ ˜¨®œå¦¬ Ÿ˜ ©¬¤œ®å©œ  ˜§æ «ž¤ ˜¨®ã.
"errroor" is not the way to spell error; errroor is an error.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 4.3: „“<E2809E>ˆ<E282AC>ˆ—Œ <20><EFBFBD>„Œ‡„„—Œ
** <20>˜«ã©«œ % š ˜ ¤˜ ™¨œå«œ «ž¤ ˜¤«å©«¦ ®ž ), ], ã } . **
1. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ ©œ ¡á§¦ ˜ (, [, ã { ©«ž¤ §˜¨˜¡á«à š¨˜££ã
©ž£œ à£â¤ž £œ --->.
2. ’騘 §˜«ã©«œ «¦¤ ®˜¨˜¡«ã¨˜ % .
3. Ž ›¨¦£â˜ª Ÿ˜ §¨â§œ  ¤˜ œå¤˜  ©«ž¤ ˜¤«å©«¦ ®ž §˜¨â¤Ÿœ©ž ã ˜š¡ç¢ž.
4. <20>˜«ã©«œ % š ˜ ¤˜ £œ«˜¡ ¤ã©œ«œ «¦¤ ›¨¦£â˜ §å©à ©«ž¤ §¨é«ž ˜š¡ç¢ž
(«¦¬ <20>œ¬š˜¨ ¦ç).
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
‘†‹„ˆ—‘†: €¬«æ œå¤˜  §¦¢ç ®¨ã© £¦ ©«ž¤ ˜§¦©­˜¢£á«à©ž œ¤æª §¨¦š¨á££˜«¦ª
£œ £ž «˜ ¨ ˜©«âª §˜¨œ¤Ÿâ©œ ª!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 4.4: „Œ€‘ <>Ž<EFBFBD>Ž ‚ˆ€ €ŠŠ€‚† Š€‡—Œ
** ‚¨á¯«œ :s/old/new/g š ˜ ¤˜ ˜¢¢á¥œ«œ «¦ 'new' £œ «¦ 'old'. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
2. ‚¨á¯«œ :s/thee/the <ENTER> . ‘ž£œ é©«œ æ«  ˜¬«ã ž œ¤«¦¢ã ˜¢¢á<C2A2>œ  £æ¤¦
«ž¤ §¨é«ž œ£­á¤ ©ž ©«ž š¨˜££ã.
3. ’騘 š¨á¯«œ :s/thee/the/g œ¤¤¦é¤«˜ª šœ¤ ¡ã ˜¤« ¡˜«á©«˜©ž ©«ž
š¨˜££ã. €¬«æ ˜¢¢á<C2A2>œ  梜ª « ª œ£­˜¤å©œ ª œ§å «žª š¨˜££ãª.
---> thee best time to see thee flowers is in thee spring.
4.  ˜ ¤˜ ˜¢¢á¥œ«œ ¡áŸœ œ£­á¤ ©ž £å˜ª ©¬£™¦¢¦©œ ¨áª £œ«˜¥ç ›ç¦ š¨˜££é¤,
š¨á¯«œ :#,#s/old/new/g 槦¬ #,# ¦  ˜¨ Ÿ£¦å «à¤ ›ç¦ š¨˜££é¤.
‚¨á¯«œ :%s/old/new/g š ˜ ¤˜ ˜¢¢á¥œ«œ ¡áŸœ œ£­á¤ ©ž ©œ 梦 «¦ ˜¨®œå¦.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹€‡†‹€ 4 <20><EFBFBD>ˆŠ†
1. ’¦ Ctrl-g œ£­˜¤å<C2A4>œ  «ž Ÿâ©ž ©˜ª ©«¦ ˜¨®œå¦ ¡˜  «ž¤ ¡˜«á©«˜©ã «¦¬.
’¦ Shift-G §žš˜å¤œ  ©«¦ «â¢¦ª «¦¬ ˜¨®œå¦¬. 뤘ª ˜¨ Ÿ£æª š¨˜££ãª
˜¡¦¢¦¬Ÿ¦ç£œ¤¦ª ˜§æ Shift-G §žš˜å¤œ  ©œ œ¡œå¤ž «ž š¨˜££ã.
2. ‚¨á­¦¤«˜ª / ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ £å˜ ­¨á©ž ¯á®¤œ  §¨¦ª «˜ <><E280B9>Ž€ š ˜
«ž ­¨á©ž. ‚¨á­¦¤«˜ª ? ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ £å˜ ­¨á©ž ¯á®¤œ  §¨¦ª «˜ <20>ˆ
š ˜ «ž ­¨á©ž. ‹œ«á ˜§æ £å˜ ˜¤˜<C2A4>㫞©ž §˜«ã©«œ n š ˜ ¤˜ ™¨œå«œ «ž¤
œ§æ£œ¤ž œ£­á¤ ©ž §¨¦ª «ž¤ å› ˜ ¡˜«œçŸ¬¤©ž ã Shift-N š ˜ ¤˜ ¯á¥œ«œ
§¨¦ª «ž¤ ˜¤«åŸœ«ž ¡˜«œçŸ¬¤©ž.
3. <20>˜«é¤«˜ª % 橦 ¦ ›¨¦£â˜ª œå¤˜  §á¤à ©œ £å˜ (,),[,],{, ã } œ¤«¦§å<C2A7>œ 
«¦ ˜¤«å©«¦ ®¦ «˜å¨  «¦¬ <20>œ¬š˜¨ ¦ç.
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: <20> „‰’„Š— ‹ˆ€ „<><E28099>ˆ‰† „Œ’ŽŠ†
** ‚¨á¯«œ :! ˜¡¦¢¦¬Ÿ¦ç£œ¤¦ ˜§æ £å˜ œ¥à«œ¨ ¡ã œ¤«¦¢ã š ˜ ¤˜ «ž¤ œ¡«œ¢â©œ«œ. **
1. <20>˜«ã©«œ «ž¤ ¦ ¡œå˜ œ¤«¦¢ã : š ˜ ¤˜ Ÿâ©œ«œ «¦¤ ›¨¦£â˜ ©«¦ ¡á«à £â¨¦ª
«žª ¦Ÿæ¤žª. €¬«æ ©˜ª œ§ «¨â§œ  ¤˜ ›é©œ«œ £å˜ œ¤«¦¢ã.
2. ’騘 §˜«ã©«œ «¦ ! (Ÿ˜¬£˜©« ¡æ). €¬«æ ©˜ª œ§ «¨â§œ  ¤˜ œ¡«œ¢â©œ«œ
¦§¦ ˜›ã§¦«œ œ¥à«œ¨ ¡ã œ¤«¦¢ã «¦¬ ­¢¦ ¦ç.
3. ‘˜¤ §˜¨á›œ š£˜ š¨á¯«œ ls £œ«á ˜§æ «¦ ! ¡˜  §˜«ã©«œ <ENTER>. €¬«æ Ÿ˜
©˜ª œ£­˜¤å©œ  £å˜ ¢å©«˜ «¦¬ ¡˜«˜¢æš¦¬ ©˜ª, ˜¡¨ ™éª ©˜¤ ¤˜ 㩘©«˜¤ ©«ž¤
§¨¦«¨¦§ã «¦¬ ­¢¦ ¦ç. ì ®¨ž© £¦§¦ ã©«œ :!dir ˜¤ «¦ ls ›œ¤ ›¦¬¢œçœ .
---> ‘ž£œåਫ਼: „夘  ›¬¤˜«æ¤ ¤˜ œ¡«œ¢â©œ«œ ¦§¦ ˜›ã§¦«œ œ¥à«œ¨ ¡ã œ¤«¦¢ã
£œ ˜¬«æ¤ «¦¤ «¨æ§¦.
---> ‘ž£œåਫ਼: ª ¦  œ¤«¦¢âª : §¨â§œ  ¤˜ «œ¨£˜«å<C2AB>¦¤«˜  §˜«é¤«˜ª «¦ <ENTER>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 5.2: <20><EFBFBD>ˆŽ<E28099><20><EFBFBD>ˆ<E2809A>€”†<>•„ˆ—Œ
**  ˜ ¤˜ ©é©œ«œ « ª ˜¢¢ášœª §¦¬ ¡á¤˜«œ ©«¦ ˜¨®œå¦, š¨á¯«œ :w €<>•„ˆŽ. **
1. ‚¨á¯«œ :!dir ã :!ls š ˜ ¤˜ §á¨œ«œ £å˜ ¢å©«˜ «¦¬ ¡˜«˜¢æš¦¬ ©˜ª.
웞 ¥â¨œ«œ æ«  §¨â§œ  ¤˜ §˜«ã©œ«œ <ENTER> £œ«á ˜§æ ˜¬«æ.
2. ƒ ˜¢â¥«œ ⤘ 椦£˜ ˜¨®œå¦¬ §¦¬ ›œ¤ ¬§á¨®œ  ˜¡æ£˜, æ§àª «¦ TEST.
3. ’騘 š¨á¯«œ: :w TEST (槦¬ TEST œå¤˜  «¦ 椦£˜ ˜¨®œå¦¬ §¦¬ › ˜¢â¥˜«œ).
4. €¬«æ ©é<C2A9>œ  梦 «¦ ˜¨®œå¦ (vim Tutor) £œ «¦ 椦£˜ TEST.  ˜ ¤˜ «¦
œ§˜¢žŸœç©œ«œ, š¨á¯«œ ¥˜¤á :!dir š ˜ ¤˜ ›œå«œ «¦¤ ¡˜«á¢¦šæ ©˜ª.
---> ‘ž£œ é©«œ æ«  ˜¤ ™š˜å¤˜«œ ˜§æ «¦¤ Vim ¡˜  £§˜å¤˜«œ ¥˜¤á £œ «¦ 椦£˜
˜¨®œå¦¬ TEST, «¦ ˜¨®œå¦ Ÿ˜ 㫘¤ ˜¡¨ ™âª ˜¤«åš¨˜­¦ «¦¬ tutor 櫘¤ «¦ ©é©˜«œ.
5. ’騘 › ˜š¨á¯«œ «¦ ˜¨®œå¦ š¨á­¦¤«˜ª (MS-DOS): :!del TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 5.3: „<>ˆŠ„‰ˆ‰† „Œ’ŽŠ† „<E2809A>€”†
**  ˜ ¤˜ ©é©œ«œ «£ã£˜ «¦¬ ˜¨®œå¦¬, š¨á¯«œ :#,# w €<>•„ˆŽ **
1. ꢢž £ ˜ ­¦¨á, š¨á¯«œ :!dir ã :!ls š ˜ ¤˜ §á¨œ«œ £å˜ ¢å©«˜ ˜§æ «¦¤
¡˜«á¢¦šæ ©˜ª ¡˜  › ˜¢â¥«œ ⤘ ¡˜«á¢¢ž¢¦ 椦£˜ ˜¨®œå¦¬ æ§àª «¦ TEST.
2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ §á¤à £â¨¦ª ˜¬«ãª «žª ©œ¢å›˜ª ¡˜  §˜«ã©«œ
Ctrl-g š ˜ ¤˜ ™¨œå«œ «¦¤ ˜¨ Ÿ£æ ˜¬«ãª «žª š¨˜££ãª.
Œ€ ‡“‹€‘’„ €“’ŽŒ ’ŽŒ €<>ˆŽ!
3. ’騘 §žš˜å¤œ«œ ©«¦ ¡á«à £â¨¦ª «žª ©œ¢å›˜ª ¡˜  §˜«ã©«œ Ctrl-g ¥˜¤á.
Œ€ ‡“‹€‘’„ ‰€ˆ €“’ŽŒ ’ŽŒ €<>ˆŽ!
4.  ˜ ¤˜ ©é©œ«œ ‹ŽŒŽ ⤘ «£ã£˜ ©œ ˜¨®œå¦, š¨á¯«œ :#,# w TEST
槦¬ #,# ¦  ›ç¦ ˜¨ Ÿ£¦å §¦¬ ˜§¦£¤ž£¦¤œç©˜«œ (§á¤à,¡á«à) ¡˜  TEST «¦
椦£˜ «¦¬ ˜¨®œå¦¬ ©˜ª.
5. <20>˜¤á, ›œå«œ æ«  «¦ ˜¨®œå¦ œå¤˜  œ¡œå £œ «ž¤ :!dir ˜¢¢á ‹†Œ «¦ › ˜š¨á¯œ«œ.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 5.4: €Œ€‰’—Œ’€‘ ‰€ˆ „Œ—ŒŽŒ’€‘ €<>•„ˆ
**  ˜ ¤˜ œ ©ášœ«œ «˜ §œ¨ œ®æ£œ¤˜ œ¤æª ˜¨®œå¦¬, š¨á¯«œ :r €<>•„ˆŽ **
1. ‚¨á¯«œ :!dir š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  «¦ TEST ¬§á¨®œ  ˜§æ §¨ ¤.
2. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ ©«¦ §á¤à £â¨¦ª «žª ©œ¢å›˜ª.
‘†‹„ˆ—‘†: €­æ«¦¬ œ¡«œ¢â©œ«œ «¦ <20>㣘 3 Ÿ˜ ›œå«œ «¦ ‹áŸž£˜ 5.3.
‹œ«á ¡ ¤žŸœå«œ ‰€’— ¥˜¤á §¨¦ª «¦ £áŸž£˜ ˜¬«æ.
3. ’騘 ˜¤˜¡«ã©«œ «¦ ˜¨®œå¦ ©˜ª TEST ®¨ž© £¦§¦ é¤«˜ª «ž¤ œ¤«¦¢ã :r TEST
槦¬ TEST œå¤˜  «¦ 椦£˜ «¦¬ ˜¨®œå¦¬.
‘†‹„ˆ—‘†: ’¦ ˜¨®œå¦ §¦¬ ˜¤˜¡«á«œ «¦§¦Ÿœ«œå«˜  ¥œ¡ ¤é¤«˜ª œ¡œå §¦¬ ™¨å©¡œ«˜ 
¦ ›¨¦£â˜ª.
4.  ˜ ¤˜ œ§˜¢žŸœç©œ«œ æ«  «¦ ˜¨®œå¦ ˜¤˜¡«ãŸž¡œ, §å©à «¦¤ ›¨¦£â˜ ¡˜ 
§˜¨˜«ž¨ã©«œ æ«  ¬§á¨®¦¬¤ «é¨˜ ›ç¦ ˜¤«åš¨˜­˜ «¦¬ ‹˜Ÿã£˜«¦ª 5.3, «¦
˜¨® ¡æ ¡˜  ž â¡›¦©ž «¦¬ ˜¨®œå¦¬.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹€‡†‹€ 5 <20><EFBFBD>ˆŠ†
1. :!œ¤«¦¢ã œ¡«œ¢œå £å˜ œ¥à«œ¨ ¡ã œ¤«¦¢ã.
‹œ¨ ¡á ®¨ã© £˜ §˜¨˜›œåš£˜«˜ œå¤˜  (MS-DOS):
:!dir - œ£­á¤ ©ž ¢å©«˜ª œ¤æª ¡˜«˜¢æš¦¬.
:!del €<>•„ˆŽ - › ˜š¨á­œ  «¦ €<>•„ˆŽ.
2. :w €<>•„ˆŽ š¨á­œ  «¦ «¨â®à¤ ˜¨®œå¦ «¦¬ Vim ©«¦ ›å©¡¦ £œ 椦£˜ €<>•„ˆŽ.
3. :#,#w €<>•„ˆŽ ©é<C2A9>œ  « ª š¨˜££âª ˜§æ # £â®¨  # ©«¦ €<>•„ˆŽ.
4. :r €<>•„ˆŽ ˜¤˜¡«œå «¦ ˜¨®œå¦ ›å©¡¦¬ €<>•„ˆŽ ¡˜  «¦ §˜¨œ£™á¢¢œ  £â©˜
©«¦ «¨â®¦¤ ˜¨®œå¦ £œ«á ˜§æ «ž Ÿâ©ž «¦¬ ›¨¦£â˜.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 6.1: † „Œ’ŽŠ† €ŒŽˆ‚‹€’Ž‘
** <20>˜«ã©«œ o š ˜ ¤˜ ˜¤¦å¥œ«œ £å˜ š¨˜££ã ¡á«à ˜§æ «¦¤ ›¨¦£â˜ ¡˜  ¤˜
™¨œŸœå«œ ©œ ‰˜«á©«˜©ž ‰œ £â¤¦¬. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->.
2. <20>˜«ã©«œ o (§œ<C2A7>æ) š ˜ ¤˜ ˜¤¦å¥œ«œ £å˜ š¨˜££ã ‰€’— ˜§æ «¦¤ ›¨¦£â˜ ¡˜  ¤˜
™¨œŸœå«œ ©œ ‰˜«á©«˜©ž ‰œ £â¤¦¬.
3. ’騘 ˜¤« š¨á¯«œ «ž ©ž£œ à£â¤ž £œ ---> š¨˜££ã ¡˜  §˜«ã©«œ <ESC> š ˜ ¤˜
™šœå«œ ˜§æ «ž¤ ‰˜«á©«˜©ž ‰œ £â¤¦¬.
---> After typing o the cursor is placed on the open line in Insert mode.
4.  ˜ ¤˜ ˜¤¦å¥œ«œ £å˜ š¨˜££ã <20>€Œ— ˜§æ «¦¤ ›¨¦£â˜, §˜«ã©«œ ˜§¢á ⤘ ¡œ­˜¢˜å¦
O, ˜¤«å š ˜ â¤˜ §œ<C2A7>æ o. ƒ¦¡ £á©«œ «¦ ©«ž¤ §˜¨˜¡á«à š¨˜££ã.
€¤¦åšœ«œ š¨˜££ã §á¤à ˜§æ ˜¬«ã¤ §˜«é¤«˜ª Shift-O 橦 ¦ ›¨¦£â˜ª œå¤˜  ©«ž š¨˜££ã
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹áŸž£˜ 6.2: † „Œ’ŽŠ† <20><>އ†‰†
** <20>˜«ã©«œ a š ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ‹„’€ «¦¤ ›¨¦£â˜. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«¦ «â¢¦ª «žª §¨é«žª š¨˜££ãª §˜¨˜¡á«à
©ž£œ à£â¤ž £œ ---> §˜«é¤«˜ª $ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž.
2. <20>˜«ã©«œ ⤘ a (§œ<C2A7>æ) š ˜ ¤˜ §¨¦©Ÿâ©œ«œ ¡œå£œ¤¦ ‹„’€ ˜§æ «¦¤ ®˜¨˜¡«ã¨˜
§¦¬ œå¤˜  ¡á«à ˜§æ «¦¤ ›¨¦£â˜. (’¦ ¡œ­˜¢˜å¦ 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: €ŠŠ† „‰ƒŽ‘† ’†‘ €Œ’ˆ‰€’€‘’€‘†‘
** <20>˜«ã©«œ ¡œ­˜¢˜å¦ R š ˜ ¤˜ ˜¢¢á¥œ«œ §œ¨ ©©æ«œ¨¦¬ª ˜§æ ⤘¤ ®˜¨˜¡«ã¨œª. **
1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §¨é«ž š¨˜££ã §˜¨˜¡á«à ©ž£œ à£â¤ž £œ --->.
2. ’¦§¦Ÿœ«ã©«œ «¦¤ ›¨¦£â˜ ©«ž¤ ˜¨®ã «žª §¨é«žª ¢â¥žª §¦¬ œå¤˜  › ˜­¦¨œ« ¡ã
˜§æ «ž ›œç«œ¨ž š¨˜££ã ©ž£œ à£â¤ž £œ ---> (ž ¢â¥ž 'last').
3. <20>˜«ã©«œ «é¨˜ 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: <20>“‡ˆ† „<>ˆŠŽ
** <20>¬Ÿ£å©«œ £å˜ œ§ ¢¦šã â«©  é©«œ ž ˜¤˜<C2A4>㫞©ž ã ž ˜¤« ¡˜«á©«˜©ž ¤˜ ˜š¤¦œå
«ž › ˜­¦¨á §œ<C2A7>é¤-¡œ­˜¢˜åठ**
1. –ᥫœ š ˜ 'ignore' œ ©á𦤫˜ª:
/ignore
‘¬¤œ®å©«œ ˜¨¡œ«âª ­¦¨âª §˜«é¤«˜ª «¦ §¢ã¡«¨¦ n.
2. ‡â©«œ «ž¤ œ§ ¢¦šã 'ic' (Ignore case) š¨á­¦¤«˜ª:
:set ic
3. –ᥫœ «é¨˜ ¥˜¤á š ˜ 'ignore' §˜«é¤«˜ª: n
‘¬¤œ®å©«œ «ž¤ ˜¤˜<C2A4>㫞©ž £œ¨ ¡âª ˜¡æ£˜ ­¦¨âª §˜«é¤«˜ª «¦ §¢ã¡«¨¦ n
4. ‡â©«œ « ª œ§ ¢¦šâª 'hlsearch' ¡˜  'incsearch':
:set hls is
5. „ ©ášœ«œ «é¨˜ ¥˜¤á «ž¤ œ¤«¦¢ã ˜¤˜<C2A4>㫞©žª, ¡˜  ›œå«œ «  ©¬£™˜å¤œ 
/ignore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹€‡†‹€ 6 <20><EFBFBD>ˆŠ†
1. <20>˜«é¤«˜ª o ˜¤¦åšœ  £å˜ š¨˜££ã ‰€’— ˜§æ «¦¤ ›¨¦£â˜ ¡˜  «¦§¦Ÿœ«œå «¦¤
›¨¦£â˜ ©«ž¤ ˜¤¦ ®«ã š¨˜££ã ©œ ‰˜«á©«˜©ž ‰œ £â¤¦¬.
2. <20>˜«ã©«œ a š ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ‹„’€ «¦¤ ®˜¨˜¡«ã¨˜ ©«¦¤ ¦§¦å¦ œå¤˜ 
¦ ›¨¦£â˜ª. <20>˜«é¤«˜ª ¡œ­˜¢˜å¦ A ˜¬«æ£˜«˜ §¨¦©Ÿâ«œ  ¡œå£œ¤¦ ©«¦ «â¢¦ª
«žª š¨˜££ãª.
3. <20>˜«é¤«˜ª ¡œ­˜¢˜å¦ R œ ©â¨®œ«˜  ©«ž¤ ‰˜«á©«˜ž €¤« ¡˜«á©«˜©žª £â®¨  ¤˜
§˜«žŸœå «¦ <ESC> ¡˜  ¤˜ œ¥â¢Ÿœ .
4. ‚¨á­¦¤«˜ª ":set xxx" ¨¬Ÿ£å<C2A3>œ  «ž¤ œ§ ¢¦šã "xxx".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
‹€‡†‹€ 7: ON-LINE „Œ’ŽŠ„‘ <20>ކ‡„ˆ
** •¨ž© £¦§¦ ã©«œ «¦ 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: ƒ†ˆŽ“<C5BD>„ „Œ€ 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.
<20>¨¦©˜¨£¦šã š ˜ «¦¤ Vim ˜§æ «¦¤ Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

972
runtime/tutor/tutor.hr Normal file
View File

@@ -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

View File

@@ -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.