updated for version 7.2a

This commit is contained in:
Bram Moolenaar
2008-06-24 22:58:06 +00:00
parent 864207de08
commit 8c8de83932
171 changed files with 25473 additions and 33148 deletions

View File

@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 May 08
" Last Change: 2007 Aug 30
" This function is used for the 'omnifunc' option.
@ -119,6 +119,27 @@ function! ccomplete#Complete(findstart, base)
" TODO: join previous line if it makes sense
let line = getline('.')
let col = col('.')
if stridx(strpart(line, 0, col), ';') != -1
" Handle multiple declarations on the same line.
let col2 = col - 1
while line[col2] != ';'
let col2 -= 1
endwhile
let line = strpart(line, col2 + 1)
let col -= col2
endif
if stridx(strpart(line, 0, col), ',') != -1
" Handle multiple declarations on the same line in a function
" declaration.
let col2 = col - 1
while line[col2] != ','
let col2 -= 1
endwhile
if strpart(line, col2 + 1, col - col2 - 1) =~ ' *[^ ][^ ]* *[^ ]'
let line = strpart(line, col2 + 1)
let col -= col2
endif
endif
if len(items) == 1
" Completing one word and it's a local variable: May add '[', '.' or
" '->'.
@ -140,7 +161,7 @@ function! ccomplete#Complete(findstart, base)
let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}]
else
" Completing "var.", "var.something", etc.
let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
let res = s:Nextitem(strpart(line, 0, col), items[-1], 0, 1)
endif
endif

View File

@ -1,6 +1,6 @@
" Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 May 08
" Last Change: 2008 May 29
if !exists('g:spellfile_URL')
let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
@ -106,7 +106,12 @@ function! spellfile#LoadFile(lang)
endfor
let dirchoice = confirm(msg, dirchoices) - 2
if dirchoice >= 0
exe "write " . escape(dirlist[dirchoice], ' ') . '/' . fname
if exists('*fnameescape')
let dirname = fnameescape(dirlist[dirchoice])
else
let dirname = escape(dirlist[dirchoice], ' ')
endif
exe "write " . dirname . '/' . fname
" Also download the .sug file, if the user wants to.
let msg = "Do you want me to try getting the .sug file?\n"
@ -119,7 +124,7 @@ function! spellfile#LoadFile(lang)
call spellfile#Nread(fname)
if getline(2) =~ 'VIMsug'
1d
exe "write " . escape(dirlist[dirchoice], ' ') . '/' . fname
exe "write " . dirname . '/' . fname
set nomod
else
echo 'Sorry, downloading failed'

View File

@ -1,8 +1,8 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 5.0
" Last Change: Mon Jun 05 2006 3:30:04 PM
" Version: 6.0
" Last Change: Thu 03 Apr 2008 10:37:54 PM Eastern Daylight Time
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
@ -106,7 +106,7 @@ function! sqlcomplete#Complete(findstart, base)
let begindot = 1
endif
while start > 0
if line[start - 1] =~ '\w'
if line[start - 1] =~ '\(\w\|\s\+\)'
let start -= 1
elseif line[start - 1] =~ '\.' &&
\ compl_type =~ 'column\|table\|view\|procedure'
@ -178,11 +178,10 @@ function! sqlcomplete#Complete(findstart, base)
" Allow the user to override the dbext plugin to specify whether
" the owner/creator should be included in the list
let saved_dbext_show_owner = 1
if exists('g:dbext_default_dict_show_owner')
let saved_dbext_show_owner = g:dbext_default_dict_show_owner
if g:loaded_dbext >= 300
let saveSetting = DB_listOption('dict_show_owner')
exec 'DBSetOption dict_show_owner='.(g:omni_sql_include_owner==1?'1':'0')
endif
let g:dbext_default_dict_show_owner = g:omni_sql_include_owner
let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '')
if s:sql_file_{compl_type} == ""
@ -192,18 +191,12 @@ function! sqlcomplete#Complete(findstart, base)
if s:sql_file_{compl_type} != ""
if filereadable(s:sql_file_{compl_type})
let compl_list = readfile(s:sql_file_{compl_type})
" let dic_list = readfile(s:sql_file_{compl_type})
" if !empty(dic_list)
" for elem in dic_list
" let kind = (compl_type=='table'?'m':(compl_type=='procedure'?'f':'v'))
" let item = {'word':elem, 'menu':elem, 'kind':kind, 'info':compl_type}
" let compl_list += [item]
" endfor
" endif
endif
endif
let g:dbext_default_dict_show_owner = saved_dbext_show_owner
if g:loaded_dbext > 300
exec 'DBSetOption dict_show_owner='.saveSetting
endif
elseif compl_type =~? 'column'
" This type of completion relies upon the dbext.vim plugin
@ -450,8 +443,8 @@ function! s:SQLCCheck4dbext()
" Leave time for the user to read the error message
:sleep 2
return -1
elseif g:loaded_dbext < 300
let msg = "The dbext plugin must be at least version 3.00 " .
elseif g:loaded_dbext < 600
let msg = "The dbext plugin must be at least version 5.30 " .
\ " for dynamic SQL completion"
call s:SQLCErrorMsg(msg)
" Leave time for the user to read the error message
@ -514,34 +507,42 @@ endfunction
function! s:SQLCGetObjectOwner(object)
" The owner regex matches a word at the start of the string which is
" followed by a dot, but doesn't include the dot in the result.
" ^ - from beginning of line
" "\? - ignore any quotes
" \zs - start the match now
" \w\+ - get owner name
" \ze - end the match
" "\? - ignore any quotes
" \. - must by followed by a .
let owner = matchstr( a:object, '^"\?\zs\w\+\ze"\?\.' )
" ^ - from beginning of line
" \("\|\[\)\? - ignore any quotes
" \zs - start the match now
" .\{-} - get owner name
" \ze - end the match
" \("\|\[\)\? - ignore any quotes
" \. - must by followed by a .
" let owner = matchstr( a:object, '^\s*\zs.*\ze\.' )
let owner = matchstr( a:object, '^\("\|\[\)\?\zs\.\{-}\ze\("\|\]\)\?\.' )
return owner
endfunction
function! s:SQLCGetColumns(table_name, list_type)
" Check if the table name was provided as part of the column name
let table_name = matchstr(a:table_name, '^[a-zA-Z0-9_]\+\ze\.\?')
let table_name = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
let table_cols = []
let table_alias = ''
let move_to_top = 1
let table_name = substitute(table_name, '\s*\(.\{-}\)\s*$', '\1', 'g')
" If the table name was given as:
" where c.
let table_name = substitute(table_name, '^\c\(WHERE\|AND\|OR\)\s\+', '', '')
if g:loaded_dbext >= 300
let saveSettingAlias = DB_listOption('use_tbl_alias')
exec 'DBSetOption use_tbl_alias=n'
endif
let table_name_stripped = substitute(table_name, '["\[\]]*', '', 'g')
" Check if we have already cached the column list for this table
" by its name
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
let list_idx = index(s:tbl_name, table_name_stripped, 0, &ignorecase)
if list_idx > -1
let table_cols = split(s:tbl_cols[list_idx])
let table_cols = split(s:tbl_cols[list_idx], '\n')
else
" Check if we have already cached the column list for this table
" by its alias, assuming the table_name provided was actually
@ -549,11 +550,11 @@ function! s:SQLCGetColumns(table_name, list_type)
" select *
" from area a
" where a.
let list_idx = index(s:tbl_alias, table_name, 0, &ignorecase)
let list_idx = index(s:tbl_alias, table_name_stripped, 0, &ignorecase)
if list_idx > -1
let table_alias = table_name
let table_alias = table_name_stripped
let table_name = s:tbl_name[list_idx]
let table_cols = split(s:tbl_cols[list_idx])
let table_cols = split(s:tbl_cols[list_idx], '\n')
endif
endif
@ -609,8 +610,8 @@ function! s:SQLCGetColumns(table_name, list_type)
" '.*' - Exclude the rest of the line in the match
let table_name_new = matchstr(@y,
\ 'from.\{-}'.
\ '\zs\(\(\<\w\+\>\)\.\)\?'.
\ '\<\w\+\>\ze'.
\ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'.
\ '\("\|\[\)\?.\{-}\("\|\]\)\ze'.
\ '\s\+\%(as\s\+\)\?\<'.
\ matchstr(table_name, '.\{-}\ze\.\?$').
\ '\>'.
@ -618,6 +619,7 @@ function! s:SQLCGetColumns(table_name, list_type)
\ '\(\<where\>\|$\)'.
\ '.*'
\ )
if table_name_new != ''
let table_alias = table_name
let table_name = table_name_new
@ -668,7 +670,7 @@ function! s:SQLCGetColumns(table_name, list_type)
let s:tbl_name = add( s:tbl_name, table_name )
let s:tbl_alias = add( s:tbl_alias, table_alias )
let s:tbl_cols = add( s:tbl_cols, table_cols_str )
let table_cols = split(table_cols_str)
let table_cols = split(table_cols_str, '\n')
endif
endif

View File

@ -1,21 +1,21 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Sep 29, 2006
" Version: 11
" Date: Jun 12, 2008
" Version: 16
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" tarPlugin.vim is provided *as is* and comes with no warranty
" of any kind, either expressed or implied. By using this
" plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
" tar.vim and tarPlugin.vim are provided *as is* and comes
" with no warranty of any kind, either expressed or implied.
" By using this plugin, you agree that in no event will the
" copyright holder be liable for any damages resulting from
" the use of this software.
" ---------------------------------------------------------------------
" Load Once: {{{1
@ -24,8 +24,11 @@ set cpo&vim
if &cp || exists("g:loaded_tar") || v:version < 700
finish
endif
let g:loaded_tar= "v11"
let g:loaded_tar= "v16"
"call Decho("loading autoload/tar.vim")
if v:version < 701 || (v:version == 701 && !has("patch299"))
echoerr "(autoload/tar.vim) need vim v7.1 with patchlevel 299"
endif
" ---------------------------------------------------------------------
" Default Settings: {{{1
@ -41,14 +44,35 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:tar_shq")
if has("unix")
let g:tar_shq= "'"
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
else
let g:tar_shq= '"'
let g:netrw_cygwin= 0
endif
endif
" set up shell quoting character
if !exists("g:tar_shq")
if exists("&shq") && &shq != ""
let g:tar_shq= &shq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if exists("g:netrw_cygwin") && g:netrw_cygwin
let g:tar_shq= "'"
else
let g:tar_shq= '"'
endif
else
let g:tar_shq= "'"
endif
" call Decho("g:tar_shq<".g:tar_shq.">")
endif
" ----------------
" Functions: {{{1
" ----------------
@ -95,27 +119,32 @@ fun! tar#Browse(tarfile)
" give header
" call Decho("printing header")
exe "$put ='".'\"'." tar.vim version ".g:loaded_tar."'"
exe "$put ='".'\"'." Browsing tarfile ".a:tarfile."'"
exe "$put ='".'\"'." Select a file with cursor and press ENTER"."'"
let lastline= line("$")
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
$put =''
0d
$
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile)),'\n$','','e')
endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("1: exe silent r! gzip -d -c ".s:Escape(tarfile)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c -- ".s:Escape(tarfile)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".s:Escape(tarfile)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! cat -- ".s:Escape(tarfile)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("exe silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("3: exe silent r! bzip2 -d -c ".s:Escape(tarfile)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".g:tar_shq.tarfile.g:tar_shq)
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".g:tar_shq.tarfile.g:tar_shq
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile))
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile)
endif
if v:shell_error != 0
redraw!
@ -166,13 +195,15 @@ fun! s:TarBrowseSelect()
let curfile= expand("%")
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile)),'\n$','','e')
endif
new
wincmd _
if !exists("g:tar_nomax") || g:tar_nomax == 0
wincmd _
endif
let s:tblfile_{winnr()}= curfile
call tar#Read("tarfile:".tarfile.':'.fname,1)
call tar#Read("tarfile:".tarfile.'::'.fname,1)
filetype detect
let &report= repkeep
@ -185,27 +216,50 @@ fun! tar#Read(fname,mode)
" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\):.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}:\(.*\)$','\1','')
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile)),'\n$','','e')
endif
" call Decho("tarfile<".tarfile.">")
" call Decho("fname<".fname.">")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -OPxf - '".fname."'")
exe "silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'"
elseif tarfile =~# '\.bz2$'
" call Decho("exe silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'")
exe "silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'"
if fname =~ '\.gz$' && executable("zcat")
let decmp= "|zcat"
let doro = 1
elseif fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
let doro = 1
else
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_readoptions." ".g:tar_shq.tarfile.g:tar_shq." ".g:tar_shq.fname.g:tar_shq)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".g:tar_shq.tarfile.g:tar_shq." ".g:tar_shq.fname.g:tar_shq
let decmp=""
let doro = 0
if fname =~ '\.gz$\|\.bz2$\|\.Z$\|\.zip$'
setlocal bin
endif
endif
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".s:Escape(tarfile)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.s:Escape(fname))
exe "silent r! gzip -d -c -- ".s:Escape(tarfile)."| ".g:tar_cmd." -".g:tar_readoptions." - ".s:Escape(fname).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".s:Escape(tarfile)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".s:Escape(fname).decmp)
exe "silent r! cat -- ".s:Escape(tarfile)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".s:Escape(fname).decmp
elseif tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".s:Escape(tarfile)."| ".g:tar_cmd." -".g:tar_readoptions." - ".s:Escape(fname).decmp)
exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile)."| ".g:tar_cmd." -".g:tar_readoptions." - ".s:Escape(fname).decmp
else
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions." -- ".s:Escape(tarfile)." ".s:Escape(fname))
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".s:Escape(tarfile)." -- ".s:Escape(fname).decmp
endif
if doro
" because the reverse process of compressing changed files back into the tarball is not currently supported
setlocal ro
endif
let w:tarfile= a:fname
exe "file tarfile:".fname
exe "file tarfile::".fname
" cleanup
0d
@ -251,7 +305,7 @@ fun! tar#Write(fname)
" attempt to change to the indicated directory
try
exe "cd ".escape(tmpdir,' \')
exe "cd ".fnameescape(tmpdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
@ -270,24 +324,26 @@ fun! tar#Write(fname)
cd _ZIPVIM_
" call Decho("current directory now: ".getcwd())
let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\):.*$','\1','')
let fname = substitute(w:tarfile,'tarfile:.\{-}:\(.*\)$','\1','')
let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
" handle compressed archives
if tarfile =~# '\.gz'
call system("gzip -d ".tarfile)
call system("gzip -d -- ".tarfile)
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip '".tarfile."'"
let compress= "gzip ".s:Escape(tarfile)
elseif tarfile =~# '\.tgz'
call system("gzip -d ".tarfile)
call system("gzip -d -- ".s:Escape(tarfile))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip '".tarfile."'"
let compress= "gzip -- ".s:Escape(tarfile)
let tgz = 1
elseif tarfile =~# '\.bz2'
call system("bzip2 -d ".tarfile)
call system("bzip2 -d -- ".s:Escape(tarfile))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 '".tarfile."'"
let compress= "bzip2 -- ".s:Escape(tarfile)
endif
" call Decho("tarfile<".tarfile.">")
" call Decho("compress<".compress.">")
if v:shell_error != 0
redraw!
@ -309,26 +365,26 @@ fun! tar#Write(fname)
endif
" call Decho("tarfile<".tarfile."> fname<".fname.">")
exe "w! ".fname
exe "w! ".fnameescape(fname)
if executable("cygpath")
let tarfile = substitute(system("cygpath ".tarfile),'\n','','e')
let tarfile = substitute(system("cygpath ".s:Escape(tarfile)),'\n','','e')
endif
" delete old file from tarfile
" call Decho("tar --delete -f '".tarfile."' '".fname."'")
call system("tar --delete -f '".tarfile."' '".fname."'")
" call Decho("system(tar --delete -f ".s:Escape(tarfile)." -- ".s:Escape(fname).")")
call system("tar --delete -f ".s:Escape(tarfile)." -- ".s:Escape(fname))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" update tarfile with new file
" call Decho("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
call system("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
" call Decho("tar -".g:tar_writeoptions." ".s:Escape(tarfile)." -- ".s:Escape(fname))
call system("tar -".g:tar_writeoptions." ".s:Escape(tarfile)." -- ".s:Escape(fname))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
elseif exists("compress")
" call Decho("call system(".compress.")")
@ -372,19 +428,31 @@ endfun
fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)")
if has("unix")
call system("/bin/rm -rf ".a:fname)
call system("/bin/rm -rf -- ".s:Escape(a:fname))
elseif has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~? "sh$"
call system("/bin/rm -rf ".a:fname)
call system("/bin/rm -rf -- ".s:Escape(a:fname))
else
call system("del /S ".a:fname)
call system("del /S ".s:Escape(a:fname))
endif
endif
" call Dret("Rmdir")
endfun
" ------------------------------------------------------------------------
" ---------------------------------------------------------------------
" s:Escape: {{{2
fun s:Escape(name)
" shellescape() was added by patch 7.0.111
if exists("*shellescape")
let qnameq= shellescape(a:name)
else
let qnameq= g:tar_shq . a:name . g:tar_shq
endif
return qnameq
endfun
" ---------------------------------------------------------------------
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" vim:ts=8 fdm=marker
" vim:ts=8 fdm=marker

View File

@ -381,4 +381,3 @@ let g:xmldata_html32 = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix

View File

@ -408,4 +408,3 @@ let g:xmldata_html401s = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix

View File

@ -408,4 +408,3 @@ let g:xmldata_xhtml10s = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix

View File

@ -458,4 +458,3 @@ let g:xmldata_xhtml10t = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix

View File

@ -32,4 +32,4 @@ CompilerSet errorformat=\%W\ %\\+%\\d%\\+)\ Failure:,
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
" vim: nowrap sw=2 sts=2 ts=8:

View File

@ -1,4 +1,4 @@
*farsi.txt* For Vim version 7.1. Last change: 2005 Mar 29
*farsi.txt* For Vim version 7.2a. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran

View File

@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.1. Last change: 2007 May 10
*filetype.txt* For Vim version 7.2a. Last change: 2008 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -122,7 +122,7 @@ The file types are also used for syntax highlighting. If the ":syntax on"
command is used, the file type detection is installed too. There is no need
to do ":filetype on" after ":syntax on".
To disable one of the file types, add a line in the your filetype file, see
To disable one of the file types, add a line in your filetype file, see
|remove-filetype|.
*filetype-detect*
@ -502,6 +502,13 @@ For further discussion of fortran_have_tabs and the method used for the
detection of source format see |ft-fortran-syntax|.
GIT COMMIT *ft-gitcommit-plugin*
One command, :DiffGitCached, is provided to show a diff of the current commit
in the preview window. It is equivalent to calling "git diff --cached" plus
any arguments given to the command.
MAIL *ft-mail-plugin*
Options:
@ -546,6 +553,20 @@ CTRL-] Jump to the manual page for the word under the cursor.
CTRL-T Jump back to the previous manual page.
PDF *ft-pdf-plugin*
Two maps, <C-]> and <C-T>, are provided to simulate a tag stack for navigating
the PDF. The following are treated as tags:
- The byte offset after "startxref" to the xref table
- The byte offset after the /Prev key in the trailer to an earlier xref table
- A line of the form "0123456789 00000 n" in the xref table
- An object reference like "1 0 R" anywhere in the PDF
These maps can be disabled with >
:let g:no_pdf_maps = 1
<
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate
@ -555,7 +576,7 @@ file: |pi_spec.txt|.
SQL *ft-sql*
Since the text for this plugin is rather long it has been put in a separate
file: |sql.txt|.
file: |ft_sql.txt|.
TEX *ft-tex-plugin*

515
runtime/doc/ft_ada.txt Normal file
View File

@ -0,0 +1,515 @@
*ft_ada.txt* For Vim version 7.2a. Last change: 2008 Jun 21
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
ADA *ada.vim*
1. Syntax Highlighting |ft-ada-syntax|
2. Plug-in |ft-ada-plugin|
3. Omni Completion |ft-ada-omni|
3.1 Omni Completion with "gnat xref" |gnat-xref|
3.2 Omni Completion with "ctags" |ada-ctags|
4. Compiler Support |ada-compiler|
4.1 GNAT |compiler-gnat|
4.1 Dec Ada |compiler-decada|
5. References |ada-reference|
5.1 Options |ft-ada-options|
5.2 Functions |ft-ada-functions|
5.3 Commands |ft-ada-commands|
5.4 Variables |ft-ada-variables|
5.5 Constants |ft-ada-constants|
8. Extra Plug-ins |ada-extra-plugins|
==============================================================================
1. Syntax Highlighting ~
*ft-ada-syntax*
This mode is designed for the 2005 edition of Ada ("Ada 2005"), which includes
support for objected-programming, protected types, and so on. It handles code
written for the original Ada language ("Ada83", "Ada87", "Ada95") as well,
though code which uses Ada 2005-only keywords will be wrongly colored (such
code should be fixed anyway). For more information about Ada, see
http://www.adapower.com.
The Ada mode handles a number of situations cleanly.
For example, it knows that the "-" in "-5" is a number, but the same character
in "A-5" is an operator. Normally, a "with" or "use" clause referencing
another compilation unit is coloured the same way as C's "#include" is coloured.
If you have "Conditional" or "Repeat" groups coloured differently, then "end
if" and "end loop" will be coloured as part of those respective groups.
You can set these to different colours using vim's "highlight" command (e.g.,
to change how loops are displayed, enter the command ":hi Repeat" followed by
the colour specification; on simple terminals the colour specification
ctermfg=White often shows well).
There are several options you can select in this Ada mode. See|ft-ada-options|
for a complete list.
To enable them, assign a value to the option. For example, to turn one on:
>
> let g:ada_standard_types = 1
>
To disable them use ":unlet". Example:
>
> unlet g:ada_standard_types
You can just use ":" and type these into the command line to set these
temporarily before loading an Ada file. You can make these option settings
permanent by adding the "let" command(s), without a colon, to your "~/.vimrc"
file.
Even on a slow (90Mhz) PC this mode works quickly, but if you find the
performance unacceptable, turn on |g:ada_withuse_ordinary|.
Syntax folding instructions (|fold-syntax|) are added when |g:ada_folding| is
set.
==============================================================================
2. File type Plug-in ~
*ft-ada-indent* *ft-ada-plugin*
The Ada plug-in provides support for:
- auto indenting (|indent.txt|)
- insert completion (|i_CTRL-N|)
- user completion (|i_CTRL-X_CTRL-U|)
- tag searches (|tagsrch.txt|)
- Quick Fix (|quickfix.txt|)
- backspace handling (|'backspace'|)
- comment handling (|'comments'|, |'commentstring'|)
The plug-in only activates the features of the Ada mode whenever an Ada
files is opened and add adds Ada related entries to the main and pop-up menu.
==============================================================================
3. Omni Completion ~
*ft-ada-omni*
The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either
by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The
complete function will automatically detect which tool was used to create the
tags file.
------------------------------------------------------------------------------
3.1 Omni Completion with "gnat xref" ~
*gnat-xref*
GNAT XREF uses the compiler internal information (ali-files) to produce the
tags file. This has the advantage to be 100% correct and the option of deep
nested analysis. However the code must compile, the generator is quite
slow and the created tags file contains only the basic Ctags information for
each entry - not enough for some of the more advanced Vim code browser
plug-ins.
NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
output - If nothing is printed then usually the parameters are wrong.
Here some important tips:
1) You need to compile your code first and use the "-aO" option to point to
your .ali files.
2) "gnat xref -v ../Include/adacl.ads" won't work - use the "gnat xref -v
-aI../Include adacl.ads" instead.
3) "gnat xref -v -aI../Include *.ad?" won't work - use "cd ../Include" and
then "gnat xref -v *.ad?"
4) Project manager support is completely broken - don't even try "gnat xref
-Padacl.gpr".
5) VIM is faster when the tags file is sorted - use "sort --unique
--ignore-case --output=tags tags" .
6) Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
the file assorted.
------------------------------------------------------------------------------
3.2 Omni Completion with "ctags"~
*ada-ctags*
Exuberant Ctags uses its own multi-language code parser. The parser is quite
fast, produces a lot of extra information (hence the name "Exuberant Ctags")
and can run on files which currently do not compile.
There are also lots of other Vim-tools which use exuberant Ctags.
You will need to install a version of the Exuberant Ctags which has Ada
support patched in. Such a version is available from the GNU Ada Project
(http://gnuada.sourceforge.net).
The Ada parser for Exuberant Ctags is fairly new - don't expect complete
support yet.
==============================================================================
4. Compiler Support ~
*ada-compiler*
The Ada mode supports more then one Ada compiler and will automatically load the
compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
provided compiler plug-ins are split into the actual compiler plug-in and a
collection of support functions and variables. This allows the easy
development of specialized compiler plug-ins fine tuned to your development
environment.
------------------------------------------------------------------------------
4.1 GNAT ~
*compiler-gnat*
GNAT is the only free (beer and speech) Ada compiler available. There are
several version available which differentiate in the licence terms used.
The GNAT compiler plug-in will perform a compile on pressing <F7> and then
immediately shows the result. You can set the project file to be used by
setting:
>
> call g:gnat.Set_Project_File ('my_project.gpr')
Setting a project file will also create a Vim session (|views-sessions|) so -
like with the GPS - opened files, window positions etc. will remembered
separately for all projects.
*gnat_members*
GNAT OBJECT ~
*g:gnat.Make()*
g:gnat.Make()
Calls|g:gnat.Make_Command|and displays the result inside a
|quickfix| window.
*g:gnat.Pretty()*
g:gnat.Pretty()
Calls|g:gnat.Pretty_Command|
*g:gnat.Find()*
g:gnat.Find()
Calls|g:gnat.Find_Command|
*g:gnat.Tags()*
g:gnat.Tags()
Calls|g:gnat.Tags_Command|
*g:gnat.Set_Project_File()*
g:gnat.Set_Project_File([{file}])
Set gnat project file and load associated session. An open
project will be closed and the session written. If called
without file name the file selector opens for selection of a
project file. If called with an empty string then the project
and associated session are closed.
*g:gnat.Project_File*
g:gnat.Project_File string
Current project file.
*g:gnat.Make_Command*
g:gnat.Make_Command string
External command used for|g:gnat.Make()| (|'makeprg'|).
*g:gnat.Pretty_Program*
g:gnat.Pretty_Program string
External command used for|g:gnat.Pretty()|
*g:gnat.Find_Program*
g:gnat.Find_Program string
External command used for|g:gnat.Find()|
*g:gnat.Tags_Command*
g:gnat.Tags_Command string
External command used for|g:gnat.Tags()|
*g:gnat.Error_Format*
g:gnat.Error_Format string
Error format (|'errorformat'|)
------------------------------------------------------------------------------
4.2 Dec Ada ~
*compiler-hpada* *compiler-decada*
*compiler-vaxada* *compiler-compaqada*
Dec Ada (also known by - in chronological order - VAX Ada, Dec Ada, Compaq Ada
and HP Ada) is a fairly dated Ada 83 compiler. Support is basic: <F7> will
compile the current unit.
The Dec Ada compiler expects the package name and not the file name to be
passed a parameter. The compiler plug-in supports the usual file name
convention to convert the file into a unit name. For separates both '-' and
'__' are allowed.
*decada_members*
DEC ADA OBJECT ~
*g:decada.Make()*
g:decada.Make() function
Calls|g:decada.Make_Command|and displays the result inside a
|quickfix| window.
*g:decada.Unit_Name()*
g:decada.Unit_Name() function
Get the Unit name for the current file.
*g:decada.Make_Command*
g:decada.Make_Command string
External command used for|g:decadat.Make()| (|'makeprg'|).
*g:decada.Error_Format*
g:decada.Error_Format| string
Error format (|'errorformat'|).
==============================================================================
5. References ~
*ada-reference*
------------------------------------------------------------------------------
5.1 Options ~
*ft-ada-options*
*g:ada_standard_types*
g:ada_standard_types bool (true when exists)
Highlight types in package Standard (e.g., "Float")
*g:ada_space_errors*
*g:ada_no_trail_space_error*
*g:ada_no_tab_space_error*
*g:ada_all_tab_usage*
g:ada_space_errors bool (true when exists)
Highlight extraneous errors in spaces ...
g:ada_no_trail_space_error
- but ignore trailing spaces at the end of a line
g:ada_no_tab_space_error
- but ignore tabs after spaces
g:ada_all_tab_usage
- highlight all tab use
*g:ada_line_errors*
g:ada_line_errors bool (true when exists)
Highlight lines which are to long. Note: This highlighting
option is quite CPU intensive.
*g:ada_rainbow_color*
g:ada_rainbow_color bool (true when exists)
Use rainbow colours for '(' and ')'. You need the
rainbow_parenthesis for this to work
*g:ada_folding*
g:ada_folding set ('sigpft')
Use folding for Ada sources.
's': activate syntax folding on load
'p': fold packages
'f': fold functions and procedures
't': fold types
'c': fold conditionals
'g': activate gnat pretty print folding on load
'i': lone 'is' folded with line above
'b': lone 'begin' folded with line above
'p': lone 'private' folded with line above
'x': lone 'exception' folded with line above
'i': activate indent folding on load
Note: Syntax folding is in an early (unusable) stage and
indent or gnat pretty folding is suggested.
For gnat pretty folding to work the following settings are
suggested: -cl3 -M79 -c2 -c3 -c4 -A1 -A2 -A3 -A4 -A5
For indent folding to work the following settings are
suggested: shiftwidth=3 softtabstop=3
*g:ada_abbrev*
g:ada_abbrev bool (true when exists)
Add some abbreviations. This feature more or less superseded
by the various completion methods.
*g:ada_withuse_ordinary*
g:ada_withuse_ordinary bool (true when exists)
Show "with" and "use" as ordinary keywords (when used to
reference other compilation units they're normally highlighted
specially).
*g:ada_begin_preproc*
g:ada_begin_preproc bool (true when exists)
Show all begin-like keywords using the colouring of C
preprocessor commands.
*g:ada_omni_with_keywords*
g:ada_omni_with_keywords
Add Keywords, Pragmas, Attributes to omni-completions
(|compl-omni|). Note: You can always complete then with user
completion (|i_CTRL-X_CTRL-U|).
*g:ada_extended_tagging*
g:ada_extended_tagging enum ('jump', 'list')
use extended tagging, two options are available
'jump': use tjump to jump.
'list': add tags quick fix list.
Normal tagging does not support function or operator
overloading as these features are not available in C and
tagging was originally developed for C.
*g:ada_extended_completion*
g:ada_extended_completion
Uses extended completion for <C-N> and <C-R> completions
(|i_CTRL-N|). In this mode the '.' is used as part of the
identifier so that 'Object.Method' or 'Package.Procedure' are
completed together.
*g:ada_gnat_extensions*
g:ada_gnat_extensions bool (true when exists)
Support GNAT extensions.
*g:ada_with_gnat_project_files*
g:ada_with_gnat_project_files bool (true when exists)
Add gnat project file keywords and Attributes.
*g:ada_default_compiler*
g:ada_default_compiler string
set default compiler. Currently supported is 'gnat' and
'decada'.
An "exists" type is a boolean is considered true when the variable is defined
and false when the variable is undefined. The value which the variable is
set makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
*ft-ada-commands*
:AdaRainbow *:AdaRainbow*
Toggles rainbow colour (|g:ada_rainbow_color|) mode for
'(' and ')'
:AdaLines *:AdaLines*
Toggles line error (|g:ada_line_errors|) display
:AdaSpaces *:AdaSpaces*
Toggles space error (|g:ada_space_errors|) display.
:AdaTagDir *:AdaTagDir*
Creates tags file for the directory of the current file.
:AdaTagFile *:AdaTagFile*
Creates tags file for the current file.
:AdaTypes *:AdaTypes*
Toggles standard types (|g:ada_standard_types|) colour.
:GnatFind *:GnatFind*
Calls |g:gnat.Find()|
:GnatPretty *:GnatPretty*
Calls |g:gnat.Pretty()|
:GnatTags *:GnatTags*
Calls |g:gnat.Tags()|
------------------------------------------------------------------------------
5.3 Variables ~
*ft-ada-variables*
*g:gnat*
g:gnat object
Control object which manages GNAT compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'gnat'. See|gnat_members|
for details.
*g:decada*
g:decada object
Control object which manages Dec Ada compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'decada'. See
|decada_members|for details.
------------------------------------------------------------------------------
5.4 Constants ~
*ft-ada-constants*
All constants are locked. See |:lockvar| for details.
*g:ada#WordRegex*
g:ada#WordRegex string
Regular expression to search for Ada words
*g:ada#DotWordRegex*
g:ada#DotWordRegex string
Regular expression to search for Ada words separated by dots.
*g:ada#Comment*
g:ada#Comment string
Regular expression to search for Ada comments
*g:ada#Keywords*
g:ada#Keywords list of dictionaries
List of keywords, attributes etc. pp. in the format used by
omni completion. See |complete-items| for details.
*g:ada#Ctags_Kinds*
g:ada#Ctags_Kinds dictionary of lists
Dictionary of the various kinds of items which the Ada support
for Ctags generates.
------------------------------------------------------------------------------
5.2 Functions ~
*ft-ada-functions*
ada#Word([{line}, {col}]) *ada#Word()*
Return full name of Ada entity under the cursor (or at given
line/column), stripping white space/newlines as necessary.
ada#List_Tag([{line}, {col}]) *ada#Listtags()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) inside the quick-fix window
ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) in the tag jump list. Mode can either be
'tjump' or 'stjump'.
ada#Create_Tags ({option}) *ada#Create_Tags()*
Creates tag file using Ctags. The option can either be 'file'
for the current file, 'dir' for the directory of the current
file or a file name.
gnat#Insert_Tags_Header() *gnat#Insert_Tags_Header()*
Adds the tag file header (!_TAG_) information to the current
file which are missing from the GNAT XREF output.
ada#Switch_Syntax_Option ({option}) *ada#Switch_Syntax_Option()*
Toggles highlighting options on or off. Used for the Ada menu.
*gnat#New()*
gnat#New ()
Create a new gnat object. See |g:gnat| for details.
==============================================================================
8. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-in. They work well with Ada
and enhance the ability of the Ada mode.:
backup.vim
http://www.vim.org/scripts/script.php?script_id=1537
Keeps as many backups as you like so you don't have to.
rainbow_parenthsis.vim
http://www.vim.org/scripts/script.php?script_id=1561
Very helpful since Ada uses only '(' and ')'.
nerd_comments.vim
http://www.vim.org/scripts/script.php?script_id=1218
Excellent commenting and uncommenting support for almost any
programming language.
matchit.vim
http://www.vim.org/scripts/script.php?script_id=39
'%' jumping for any language. The normal '%' jump only works for '{}'
style languages. The Ada mode will set the needed search patters.
taglist.vim
http://www.vim.org/scripts/script.php?script_id=273
Source code explorer sidebar. There is a patch for Ada available.
The GNU Ada Project distribution (http://gnuada.sourceforge.net) of Vim
contains all of the above.
==============================================================================
vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab
vim: filetype=help

View File

@ -1,4 +1,4 @@
*howto.txt* For Vim version 7.1. Last change: 2006 Apr 02
*howto.txt* For Vim version 7.2a. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.1. Last change: 2007 May 07
*intro.txt* For Vim version 7.2a. Last change: 2008 Jun 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -120,27 +120,13 @@ NOTE:
*subscribe-maillist*
If you want to join, send a message to
<vim-help@vim.org>
<vim-subscribe@vim.org>
Make sure that your "From:" address is correct. Then the list server will
give you help on how to subscribe.
You can retrieve old messages from the maillist software, and an index of
messages. Ask vim-help for instructions.
Archives are kept at: *maillist-archive*
http://groups.yahoo.com/group/vim
http://groups.yahoo.com/group/vimdev
http://groups.yahoo.com/group/vimannounce
http://groups.yahoo.com/group/vim-multibyte
http://groups.yahoo.com/group/vim-mac
Additional maillists:
<vim-fr@club.voila.fr> *french-maillist*
Vim list in the French language. Subscribe by sending a message to
<vim-fr-subscribe@club.voila.fr>
Or go to http://groups.yahoo.com/group/vim-fr.
*maillist-archive*
For more information and archives look on the Vim maillist page:
http://www.vim.org/maillist.php
Bug reports: *bugs* *bug-reports* *bugreport.vim*
@ -220,6 +206,7 @@ Vim would never have become what it is now, without the help of these people!
Eric Fischer Mac port, 'cindent', and other improvements
Benji Fisher Answering lots of user questions
Bill Foster Athena GUI port
Google Lets me work on Vim one day a week
Loic Grenie xvim (ideas for multi windows version)
Sven Guckes Vim promotor and previous WWW page maintainer
Darren Hiebert Exuberant ctags
@ -231,7 +218,7 @@ Vim would never have become what it is now, without the help of these people!
Steve Kirkendall Elvis
Roger Knobbe original port to Windows NT
Sergey Laskavy Vim's help from Moscow
Felix von Leitner Maintainer of Vim Mailing Lists
Felix von Leitner Previous maintainer of Vim Mailing Lists
David Leonard Port of Python extensions to Unix
Avner Lottem Edit in right-to-left windows
Flemming Madsen X11 client-server, various features and patches
@ -241,6 +228,8 @@ Vim would never have become what it is now, without the help of these people!
Sung-Hyun Nam Work on multi-byte versions
Vince Negri Win32 GUI and generic console enhancements
Steve Oualline Author of the first Vim book |frombook|
Dominique Pelle figuring out valgrind reports and fixes
A.Politz Many bug reports and some fixes
George V. Reilly Win32 port, Win32 GUI start-off
Stephen Riehm bug collector
Stefan Roemer various patches and help to users
@ -560,7 +549,7 @@ Ex mode Like Command-line mode, but after entering a command
you remain in Ex mode. Very limited editing of the
command line. |Ex-mode|
There are five ADDITIONAL modes. These are variants of the BASIC modes:
There are six ADDITIONAL modes. These are variants of the BASIC modes:
*Operator-pending* *Operator-pending-mode*
Operator-pending mode This is like Normal mode, but after an operator
@ -574,6 +563,12 @@ Replace mode Replace mode is a special case of Insert mode. You
If the 'showmode' option is on "-- REPLACE --" is
shown at the bottom of the window.
Virtual Replace mode Virtual Replace mode is similar to Replace mode, but
instead of file characters you are replacing screen
real estate. See |Virtual-Replace-mode|.
If the 'showmode' option is on "-- VREPLACE --" is
shown at the bottom of the window.
Insert Normal mode Entered when CTRL-O given in Insert mode. This is
like Normal mode, but after executing one command Vim
returns to Insert mode.
@ -608,7 +603,7 @@ CTRL-O in Insert mode you get a beep but you are still in Insert mode, type
TO mode ~
Normal Visual Select Insert Replace Cmd-line Ex ~
FROM mode ~
Normal v V ^V *4 *1 R : / ? ! Q
Normal v V ^V *4 *1 R gR : / ? ! Q
Visual *2 ^G c C -- : --
Select *5 ^O ^G *6 -- -- --
Insert <Esc> -- -- <Insert> -- --

View File

@ -1,4 +1,4 @@
*os_amiga.txt* For Vim version 7.1. Last change: 2005 Mar 29
*os_amiga.txt* For Vim version 7.2a. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_dos.txt* For Vim version 7.1. Last change: 2006 Mar 30
*os_dos.txt* For Vim version 7.2a. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.1. Last change: 2007 Apr 22
*os_win32.txt* For Vim version 7.2a. Last change: 2008 May 02
VIM REFERENCE MANUAL by George Reilly
@ -306,7 +306,7 @@ A. When using :! to run an external command, you can run it with "start": >
:!start winfile.exe<CR>
< Using "start" stops Vim switching to another screen, opening a new console,
or waiting for the program to complete; it indicates that you are running a
program that does not effect the files you are editing. Programs begun
program that does not affect the files you are editing. Programs begun
with :!start do not get passed Vim's open file handles, which means they do
not have to be closed before Vim.
To avoid this special treatment, use ":! start".

View File

@ -1,4 +1,4 @@
*pi_spec.txt* For Vim version 7.1. Last change: 2006 Apr 24
*pi_spec.txt* For Vim version 7.2a. Last change: 2006 Apr 24
by Gustavo Niemeyer ~

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.1. Last change: 2007 May 10
*quickfix.txt* For Vim version 7.2a. Last change: 2008 Mar 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -141,8 +141,11 @@ command with 'l'.
current window is used instead of the quickfix list.
*:cq* *:cquit*
:cq[uit] Quit Vim with an error code, so that the compiler
:cq[uit][!] Quit Vim with an error code, so that the compiler
will not compile the same file again.
WARNING: All changes in files are lost! Also when the
[!] is not used. It works like ":qall!" |:qall|,
except that Vim returns a non-zero exit code.
*:cf* *:cfile*
:cf[ile][!] [errorfile] Read the error file and jump to the first error.
@ -159,12 +162,12 @@ command with 'l'.
the location list.
:cg[etfile][!] [errorfile] *:cg* *:cgetfile*
:cg[etfile] [errorfile] *:cg* *:cgetfile*
Read the error file. Just like ":cfile" but don't
jump to the first error.
:lg[etfile][!] [errorfile] *:lg* *:lgetfile*
:lg[etfile] [errorfile] *:lg* *:lgetfile*
Same as ":cgetfile", except the location list for the
current window is used instead of the quickfix list.
@ -229,15 +232,15 @@ command with 'l'.
current window is used instead of the quickfix list.
*:cgete* *:cgetexpr*
:cgete[xpr][!] {expr} Create a quickfix list using the result of {expr}.
:cgete[xpr] {expr} Create a quickfix list using the result of {expr}.
Just like ":cexpr", but don't jump to the first error.
*:lgete* *:lgetexpr*
:lgete[xpr][!] {expr} Same as ":cgetexpr", except the location list for the
:lgete[xpr] {expr} Same as ":cgetexpr", except the location list for the
current window is used instead of the quickfix list.
*:cad* *:caddexpr*
:cad[dexpr][!] {expr} Evaluate {expr} and add the resulting lines to the
:cad[dexpr] {expr} Evaluate {expr} and add the resulting lines to the
current quickfix list. If a quickfix list is not
present, then a new list is created. The current
cursor position will not be changed. See |:cexpr| for
@ -246,7 +249,7 @@ command with 'l'.
:g/mypattern/caddexpr expand("%") . ":" . line(".") . ":" . getline(".")
<
*:lad* *:laddexpr*
:lad[dexpr][!] {expr} Same as ":caddexpr", except the location list for the
:lad[dexpr] {expr} Same as ":caddexpr", except the location list for the
current window is used instead of the quickfix list.
*:cl* *:clist*
@ -280,6 +283,21 @@ If vim is built with |+autocmd| support, two autocommands are available for
running commands before and after a quickfix command (':make', ':grep' and so
on) is executed. See |QuickFixCmdPre| and |QuickFixCmdPost| for details.
*QuickFixCmdPost-example*
When 'encoding' differs from the locale, the error messages may have a
different encoding from what Vim is using. To convert the messages you can
use this code: >
function QfMakeConv()
let qflist = getqflist()
for i in qflist
let i.text = iconv(i.text, "cp936", "utf-8")
endfor
call setqflist(qflist)
endfunction
au QuickfixCmdPost make call QfMakeConv()
=============================================================================
2. The error window *quickfix-window*
@ -434,6 +452,7 @@ lists, use ":cnewer 99" first.
5. The errorfile is read using 'errorformat'.
6. If vim was built with |+autocmd|, all relevant
|QuickFixCmdPost| autocommands are executed.
See example below.
7. If [!] is not given the first error is jumped to.
8. The errorfile is deleted.
9. You can now move through the errors with commands
@ -481,6 +500,25 @@ the screen and saved in a file the same time. Depending on the shell used
If 'shellpipe' is empty, the {errorfile} part will be omitted. This is useful
for compilers that write to an errorfile themselves (e.g., Manx's Amiga C).
Using QuickFixCmdPost to fix the encoding ~
It may be that 'encoding' is set to an encoding that differs from the messages
your build program produces. This example shows how to fix this after Vim has
read the error messages: >
function QfMakeConv()
let qflist = getqflist()
for i in qflist
let i.text = iconv(i.text, "cp936", "utf-8")
endfor
call setqflist(qflist)
endfunction
au QuickfixCmdPost make call QfMakeConv()
(Example by Faque Cheng)
==============================================================================
5. Using :vimgrep and :grep *grep* *lid*
@ -751,6 +789,18 @@ work, because Vim is then running in the same process as the compiler and
stdin (standard input) will not be interactive.
PERL *quickfix-perl* *compiler-perl*
The Perl compiler plugin doesn't actually compile, but invokes Perl's internal
syntax checking feature and parses the output for possible errors so you can
correct them in quick-fix mode.
Warnings are forced regardless of "no warnings" or "$^W = 0" within the file
being checked. To disable this set g:perl_compiler_force_warnings to a zero
value. For example: >
let g:perl_compiler_force_warnings = 0
PYUNIT COMPILER *compiler-pyunit*
This is not actually a compiler, but a unit testing framework for the
@ -1379,7 +1429,8 @@ by Vim.
*errorformat-Perl*
In $VIMRUNTIME/tools you can find the efm_perl.pl script, which filters Perl
error messages into a format that quickfix mode will understand. See the
start of the file about how to use it.
start of the file about how to use it. (This script is deprecated, see
|compiler-perl|.)

View File

@ -1,4 +1,4 @@
*remote.txt* For Vim version 7.1. Last change: 2006 Apr 30
*remote.txt* For Vim version 7.2a. Last change: 2008 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -64,7 +64,10 @@ The following command line arguments are available:
server {name} instead of the default (see
below).
*--remote-send*
--remote-send {keys} Send {keys} to server and exit.
--remote-send {keys} Send {keys} to server and exit. The {keys}
are not mapped. Special key names are
recognized, e.g., "<CR>" results in a CR
character.
*--remote-expr*
--remote-expr {expr} Evaluate {expr} in server and print the result
on stdout.

View File

@ -1,4 +1,4 @@
*scroll.txt* For Vim version 7.1. Last change: 2006 Aug 27
*scroll.txt* For Vim version 7.2a. Last change: 2006 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.1. Last change: 2007 May 11
*syntax.txt* For Vim version 7.2a. Last change: 2008 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -103,7 +103,7 @@ To put this into a mapping, you can use: >
\ endif <CR>
[using the |<>| notation, type this literally]
Details
Details:
The ":syntax" commands are implemented by sourcing a file. To see exactly how
this works, look in the file:
command file ~
@ -531,12 +531,12 @@ one of the first five lines in the file.
The syntax type can always be overruled for a specific buffer by setting the
b:asmsyntax variable: >
:let b:asmsyntax=nasm
:let b:asmsyntax = "nasm"
If b:asmsyntax is not set, either automatically or by hand, then the value of
the global variable asmsyntax is used. This can be seen as a default assembly
language: >
:let asmsyntax=nasm
:let asmsyntax = "nasm"
As a last resort, if nothing is defined, the "asm" syntax is used.
@ -613,7 +613,7 @@ C *c.vim* *ft-c-syntax*
A few things in C highlighting are optional. To enable them assign any value
to the respective variable. Example: >
:let c_comment_strings=1
:let c_comment_strings = 1
To disable them use ":unlet". Example: >
:unlet c_comment_strings
@ -626,6 +626,8 @@ c_no_tab_space_error ... but no spaces before a <Tab>
c_no_bracket_error don't highlight {}; inside [] as errors
c_no_curly_error don't highlight {}; inside [] and () as errors;
except { and } in first column
c_curly_error highlight a missing }; this forces syncing from the
start of the file, can be slow
c_no_ansi don't do standard ANSI types and constants
c_ansi_typedefs ... but do standard ANSI types
c_ansi_constants ... but do standard ANSI constants
@ -674,7 +676,6 @@ highlighting for cErrInParen and cErrInBracket.
If you want to use folding in your C files, you can add these lines in a file
an the "after" directory in 'runtimepath'. For Unix this would be
~/.vim/after/syntax/c.vim. >
syn region myFold start="{" end="}" transparent fold
syn sync fromstart
set foldmethod=syntax
@ -1475,11 +1476,10 @@ which are used for the statement itself, special characters used in debug
strings, strings, boolean constants and types (this, super) respectively. I
have opted to chose another background for those statements.
In order to help you to write code that can be easily ported between
Java and C++, all C++ keywords are marked as error in a Java program.
However, if you use them regularly, you may want to define the following
variable in your .vimrc file: >
:let java_allow_cpp_keywords=1
In order to help you write code that can be easily ported between Java and
C++, all C++ keywords can be marked as an error in a Java program. To
have this add this line in your .vimrc file: >
:let java_allow_cpp_keywords = 0
Javadoc is a program that takes special comments out of Java program files and
creates HTML pages. The standard configuration will highlight this HTML code
@ -2402,7 +2402,7 @@ vimrc file: >
SH *sh.vim* *ft-sh-syntax* *ft-bash-syntax* *ft-ksh-syntax*
This covers the "normal" Unix (Borne) sh, bash and the Korn shell.
This covers the "normal" Unix (Bourne) sh, bash and the Korn shell.
Vim attempts to determine which shell type is in use by specifying that
various filenames are of specific types: >
@ -2425,23 +2425,30 @@ variables in your <.vimrc>:
let g:is_posix = 1
< bash: >
let g:is_bash = 1
< sh: (default) Borne shell >
< sh: (default) Bourne shell >
let g:is_sh = 1
If there's no "#! ..." line, and the user hasn't availed himself/herself of a
default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
the Borne shell syntax. No need to quote RFCs or market penetration
statistics in error reports, please -- just select the default version of
the sh your system uses in your <.vimrc>.
the Bourne shell syntax. No need to quote RFCs or market penetration
statistics in error reports, please -- just select the default version of the
sh your system uses in your <.vimrc>.
If, in your <.vimrc>, you set >
let g:sh_fold_enabled= 1
The syntax/sh.vim file provides several levels of syntax-based folding: >
let g:sh_fold_enabled= 0 (default, no syntax folding)
let g:sh_fold_enabled= 1 (enable function folding)
let g:sh_fold_enabled= 2 (enable heredoc folding)
let g:sh_fold_enabled= 4 (enable if/do/for folding)
>
then various syntax items (HereDocuments and function bodies) become
syntax-foldable (see |:syn-fold|).
syntax-foldable (see |:syn-fold|). You also may add these together
to get multiple types of folding: >
If you notice highlighting errors while scrolling backwards, which are fixed
when redrawing with CTRL-L, try setting the "sh_minlines" internal variable
let g:sh_fold_enabled= 3 (enables function and heredoc folding)
If you notice highlighting errors while scrolling backwards which are fixed
when one redraws with CTRL-L, try setting the "sh_minlines" internal variable
to a larger number. Example: >
let sh_minlines = 500
@ -2504,7 +2511,7 @@ scripts. You can change Vim's default from Oracle to any of the current SQL
supported types. You can also easily alter the SQL dialect being used on a
buffer by buffer basis.
For more detailed instructions see |sql.txt|.
For more detailed instructions see |ft_sql.txt|.
TCSH *tcsh.vim* *ft-tcsh-syntax*
@ -2531,7 +2538,7 @@ number is that redrawing can become slow.
TEX *tex.vim* *ft-tex-syntax*
*tex-folding*
*tex-folding*
Want Syntax Folding? ~
As of version 28 of <syntax/tex.vim>, syntax-based folding of parts, chapters,
@ -2541,7 +2548,15 @@ in your <.vimrc>, and :set fdm=syntax. I suggest doing the latter via a
modeline at the end of your LaTeX file: >
% vim: fdm=syntax
<
*tex-runon*
*tex-nospell*
Don't Want Spell Checking In Comments? ~
Some folks like to include things like source code in comments and so would
prefer that spell checking be disabled in comments in LaTeX files. To do
this, put the following in your <.vimrc>: >
let g:tex_comment_nospell= 1
<
*tex-runon*
Run-on Comments/Math? ~
The <syntax/tex.vim> highlighting supports TeX, LaTeX, and some AmsTeX. The
@ -2554,7 +2569,7 @@ special "TeX comment" has been provided >
which will forcibly terminate the highlighting of either a texZone or a
texMathZone.
*tex-slow*
*tex-slow*
Slow Syntax Highlighting? ~
If you have a slow computer, you may wish to reduce the values for >
@ -2564,8 +2579,8 @@ If you have a slow computer, you may wish to reduce the values for >
increase them. This primarily affects synchronizing (i.e. just what group,
if any, is the text at the top of the screen supposed to be in?).
*tex-morecommands* *tex-package*
Wish To Highlight More Commmands? ~
*tex-morecommands* *tex-package*
Want To Highlight More Commands? ~
LaTeX is a programmable language, and so there are thousands of packages full
of specialized LaTeX commands, syntax, and fonts. If you're using such a
@ -2574,7 +2589,7 @@ it. However, clearly this is impractical. So please consider using the
techniques in |mysyntaxfile-add| to extend or modify the highlighting provided
by syntax/tex.vim.
*tex-error*
*tex-error*
Excessive Error Highlighting? ~
The <tex.vim> supports lexical error checking of various sorts. Thus,
@ -2584,7 +2599,7 @@ you may put in your <.vimrc> the following statement: >
let tex_no_error=1
and all error checking by <syntax/tex.vim> will be suppressed.
*tex-math*
*tex-math*
Need a new Math Group? ~
If you want to include a new math group in your LaTeX, the following
@ -2599,7 +2614,7 @@ and then to the call to it in .vim/after/syntax/tex.vim.
The "starform" variable, if true, implies that your new math group
has a starred form (ie. eqnarray*).
*tex-style*
*tex-style*
Starting a New Style? ~
One may use "\makeatletter" in *.tex files, thereby making the use of "@" in
@ -2624,36 +2639,56 @@ set "tf_minlines" to the value you desire. Example: >
:let tf_minlines = your choice
VIM *vim.vim* *ft-vim-syntax*
VIM *vim.vim* *ft-vim-syntax*
*g:vimsyn_minlines* *g:vimsyn_maxlines*
There is a tradeoff between more accurate syntax highlighting versus screen
updating speed. To improve accuracy, you may wish to increase the
g:vimsyn_minlines variable. The g:vimsyn_maxlines variable may be used to
improve screen updating rates (see |:syn-sync| for more on this). >
There is a tradeoff between more accurate syntax highlighting versus
screen updating speed. To improve accuracy, you may wish to increase
the g:vim_minlines variable. The g:vim_maxlines variable may be used
to improve screen updating rates (see |:syn-sync| for more on this).
g:vimsyn_minlines : used to set synchronization minlines
g:vimsyn_maxlines : used to set synchronization maxlines
<
(g:vim_minlines and g:vim_maxlines are deprecated variants of
these two options)
g:vim_minlines : used to set synchronization minlines
g:vim_maxlines : used to set synchronization maxlines
*g:vimsyn_embed*
The g:vimsyn_embed option allows users to select what, if any, types of
embedded script highlighting they wish to have. >
The g:vimembedscript option allows for somewhat faster loading of syntax
highlighting for vim scripts at the expense of supporting syntax highlighting
for external scripting languages (currently perl, python, ruby, and tcl).
g:vimsyn_embed == 0 : don't embed any scripts
g:vimsyn_embed =~ 'm' : embed mzscheme (but only if vim supports it)
g:vimsyn_embed =~ 'p' : embed perl (but only if vim supports it)
g:vimsyn_embed =~ 'P' : embed python (but only if vim supports it)
g:vimsyn_embed =~ 'r' : embed ruby (but only if vim supports it)
g:vimsyn_embed =~ 't' : embed tcl (but only if vim supports it)
<
By default, g:vimsyn_embed is "mpPr"; ie. syntax/vim.vim will support
highlighting mzscheme, perl, python, and ruby by default. Vim's has("tcl")
test appears to hang vim when tcl is not truly available. Thus, by default,
tcl is not supported for embedding (but those of you who like tcl embedded in
their vim syntax highlighting can simply include it in the g:vimembedscript
option).
*g:vimsyn_folding*
g:vimembedscript == 1 (default) <vim.vim> will allow highlighting
g:vimembedscript doesn't exist of supported embedded scripting
languages: perl, python, ruby and
tcl.
Some folding is now supported with syntax/vim.vim: >
g:vimembedscript == 0 Syntax highlighting for embedded
scripting languages will not be
loaded.
g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
g:vimsyn_folding =~ 'a' : augroups
g:vimsyn_folding =~ 'f' : fold functions
g:vimsyn_folding =~ 'm' : fold mzscheme script
g:vimsyn_folding =~ 'p' : fold perl script
g:vimsyn_folding =~ 'P' : fold python script
g:vimsyn_folding =~ 'r' : fold ruby script
g:vimsyn_folding =~ 't' : fold tcl script
*g:vimsyn_noerror*
Not all error highlighting that syntax/vim.vim does may be correct; VimL is a
difficult language to highlight correctly. A way to suppress error
highlighting is to put: >
highlighting is to put the following line in your |vimrc|: >
let g:vimsyntax_noerror = 1
in your |vimrc|.
let g:vimsyn_noerror = 1
<
XF86CONFIG *xf86conf.vim* *ft-xf86conf-syntax*
@ -3158,7 +3193,7 @@ line break.
fold *:syn-fold*
The "fold" argument makes the fold level increased by one for this item.
The "fold" argument makes the fold level increase by one for this item.
Example: >
:syn region myFold start="{" end="}" transparent fold
:syn sync fromstart
@ -3320,7 +3355,7 @@ use another character that is not used in the pattern. Examples: >
:syntax region String start=+"+ end=+"+ skip=+\\"+
See |pattern| for the explanation of what a pattern is. Syntax patterns are
always interpreted like the 'magic' options is set, no matter what the actual
always interpreted like the 'magic' option is set, no matter what the actual
value of 'magic' is. And the patterns are interpreted like the 'l' flag is
not included in 'cpoptions'. This was done to make syntax files portable and
independent of 'compatible' and 'magic' settings.
@ -3379,6 +3414,8 @@ Notes:
- The highlighted area will never be outside of the matched text.
- A negative offset for an end pattern may not always work, because the end
pattern may be detected when the highlighting should already have stopped.
- Until Vim 7.2 the offsets were counted in bytes instead of characters. This
didn't work well for multi-byte characters.
- The start of a match cannot be in a line other than where the pattern
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
start in another line, this does work: "a\nb"hs=e.
@ -3500,9 +3537,9 @@ single name.
remove={group-name}..
The specified groups are removed from the cluster.
A cluster so defined may be referred to in a contains=.., nextgroup=.., add=..
or remove=.. list with a "@" prefix. You can also use this notation to
implicitly declare a cluster before specifying its contents.
A cluster so defined may be referred to in a contains=.., containedin=..,
nextgroup=.., add=.. or remove=.. list with a "@" prefix. You can also use
this notation to implicitly declare a cluster before specifying its contents.
Example: >
:syntax match Thing "# [^#]\+ #" contains=@ThingMembers
@ -4194,7 +4231,7 @@ WildMenu current match in 'wildmenu' completion
The 'statusline' syntax allows the use of 9 different highlights in the
statusline and ruler (via 'rulerformat'). The names are User1 to User9.
For the GUI you can use these groups to set the colors for the menu,
For the GUI you can use the following groups to set the colors for the menu,
scrollbars and tooltips. They don't have defaults. This doesn't work for the
Win32 GUI. Only three highlight arguments have any effect here: font, guibg,
and guifg.

View File

@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.1. Last change: 2006 Apr 24
*tagsrch.txt* For Vim version 7.2a. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.1. Last change: 2007 May 12
*todo.txt* For Vim version 7.2a. Last change: 2008 Jun 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,50 +30,125 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Patch to make virtcol([123, '$']) do the right thing. (Michael Schaap)
Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)
Insert mode completion: CTRL-N and CTRL-P work differently and they both don't
work as expected. (Bernhard Walle, 2007 Feb 27)
Drawing popup menu isn't quite right when there are double-wide characters.
Yukihiro Nakadaira is working on a solution (2008 Jun 22). Use mb_fix_col().
When 'rightleft' is set the completion menu is positioned wrong. (Baha-Eddine
MOKADEM)
When reallocating cmdline xp_pattern becomes invalid. Move expand_T xpc into
ccline? (Dominique Pelle)
glob() doesn't work correctly with single quotes and 'shell' set to /bin/sh.
(Adri Verhoef, Charles Campbell 2007 Mar 26)
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
Works OK with Vim in an xterm.
Splitting quickfix window messes up window layout. (Marius Gedminas, 2007 Apr
25)
Fix for matchparen HL doesn't work. beep.
Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520
(Martin Stubenschrott)
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
Crash with dragn-n-drop of file combined with netrw (Marius Gedminas, 2008 Jun
11) I can't reproduce it.
Making the German sharp s uppercase doesn't work properly: one character less
is uppercased in "gUe".
Also: latin2 has the same character but it isn't uppercased there.
Win32: associating a type with Vim doesn't take care of space after a
backslash? (Robert Vibrant, 2008 Jun 5)
":let &g:tw = 44" sets the local option value. (Cyril Slobin, 2008 Apr 25)
After using <Tab> for command line completion after ":ta blah" and getting E33
(no tags file), further editing the command to e.g., ":echo 'blah'", the
command is not executed.
When 'bomb' is changed the window title is updated to show/hide a "+", but the
tab page label isn't. (Patrick Texier, 2008 Jun 24)
Despite adding save_subexpr() this still doesn't work properly:
Regexp: matchlist('12a4aaa', '^\(.\{-}\)\(\%5c\@<=a\+\)\(.\+\)\?')
Returns ['12a4', 'aaa', '4aaa'], should be ['12a4', 'aaa', '']
Backreference not cleared when retrying after \@<= fails?
(Brett Stahlman, 2008 March 8)
Win32: remote editing fails when the current directory name contains "[".
(Ivan Tishchenko, Liu Yubao) Suggested patch by Chris Lubinski: Avoid
escaping characters where the backslash is not removed later. Asked Chris for
an alternate solution, also for src/ex_getln.c.
When adding path to 'tags' with a wildcard, it appears only a first match is
used. (Erik Falor, 2008 April 18) Or is it that a wildcard in the file name
is not supported, only in the path?
The str2special() function doesn't handle multi-byte characters properly.
Patch from Vladimir Vichniakov, 2007 Apr 24.
Should clean up the whole function. Also allow modifiers like <S-Char-32>?
find_special_key() also has this problem.
Problem with 'langmap' parsing. (James Vega, 2008 Jan 27)
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
2008 May 14)
Problem with CTRL-F. (Charles Campbell, 2008 March 21)
Only happens with "gvim -geometry "160x26+4+27" -u NONE -U NONE prop.c".
'lines' is 54. (2008 March 27)
Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23)
Works OK when 'cmdheight' is 2.
The utf class table is missing some entries:
0x2212, minus sign
0x2217, star
0x2500, bar
0x26ab, circle
Visual line mode doesn't highlight properly when 'showbreak' is used and the
line doesn't fit. (Dasn, 2008 May 1)
GUI: In Normal mode can't yank the modeless selection. Make "gy" do this?
Works like CTRL-Y in Command line mode.
Mac: patch for mouse wheel scroll under Leopard. (Eckehard Berns, 2007 Dec 7)
Mac: After a ":vsplit" the left scrollbar doesn't appear until 'columns' is
changed or the window is resized.
Mac: Patch for Mac GUI tabline. (Nicolas Weber, 2006 Jul 18, Update 2007 Feb)
New update v6 ~/tmp/guitab.v6.diff (Kyle Wheeler)
Mac: Patch for configure: remove arch from ruby link args. (Knezevic, 2008
Mar 5) Alternative: Kazuki Sakamoto, Mar 7.
When 'virtualedit' is set a "p" of a block just past the end of the line
inserts before the cursor. (Engelke)
":emenu" works with the translated menu name. Should also work with the
untranslated name. Would need to store both the English and the translated
name. Patch by Bjorn Winckler, 2008 Mar 30.
C't: On utf-8 system, editing file with umlaut through Gnome results in URL
with %nn%nn, which is taken as two characters instead of one.
Try to reproduce at work.
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
1)
"vim -O aa aa" gives only one window. (Zdenek Sekera, 2008 Apr 16)
Including NFA regexp code:
Use "\%#= to set the engine: 0 = automatic, 1 = backtracking, 2 = new.
Useful in tests.
Performance tests:
- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
- ~/vim/test/slowsearch
- ~/vim/test/rgb.vim
- search for a.*e*exn in the vim executable. Go to last line to use
'hlsearch'.
Using Aap to build Vim: add remarks about how to set personal preferences.
Example on http://www.calmar.ws/tmp/aap.html
GTK: 'bsdir' doesn't work. Sometimes get a "gtk critical error".
Moved some code to append file name to further down in gui_gtk.c
gui_mch_browse(), but "last" value of 'bsdir' still doesn't work.
C syntax: "#define x {" The macro should terminate at the end of the line,
not continue in the next line. (Kelvin Lee, 2006 May 24)
Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)
Bug in using a transparent syntax region. (Hanlen in vim-dev maillist, 2007
Jul 31)
C syntax: {} inside () causes following {} to be highlighted as error.
(Michalis Giannakidis, 2006 Jun 1)
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
Gnome improvements: Edward Catmur, 2007 Jan 7
Also use Save/Discard for other GUIs
@ -82,53 +157,62 @@ New PHP syntax file, use it? (Peter Hodge)
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
Likonen, March 19)
Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)
Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520
by Vissale Neang. (Martin Stubenschrott)
Asked Vissale to make the scripts more friendly for the Vim distribution.
New version received 2008 Jan 6.
Cheng Fang made javacomplete. (2007 Aug 11)
Asked about latest version: 0.77.1 is on www.vim.org.
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
Add v:searchforward variable. Patch by Yakov Lerner, 2006 Nov 18.
globpath() doesn't work as expected. The example shows using 'path', but the
"**8" form and upwards search are not supported.
Redraw problem in loop. (Yakov Lerner, 2006 Sep 7)
Error when cancelling completion menu and auto-formatting. (Tim Weber, 2008
Apr 17)
Problem with compound words? (Bert, 2008 May 6)
No warning for when flags are defined after they are used in an affix.
With Visual selection, "r" and then CTRL-C Visual mode is stopped but the
highlighting is not removed.
Screen redrawing when continuously updating the buffer and resizing the
terminal. (Yakov Lerner, 2006 Sept 7)
Add option settings to help ftplugin. (David Eggum, 2006 Dec 18)
Use new dutch wordlist for spelling? http://www.opentaal.org/
See remarks from Adri, 2007 Feb 9.
Autoconf problem: when checking for iconv library we may add -L/usr/local/lib,
but when compiling further tests -liconv is added without the -L argument,
that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)
When opening quickfix window, disable spell checking?
Popup menu redraw: Instead of first redrawing the text and then drawing the
popup menu over it, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu.
This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
Spell checking: Add a way to specify punctuation characters. Add the
superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.
Windows 98: pasting from the clipboard with text from another application has
a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT
isn't right?
Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for characters
with umlaut. (Joachim Hofmann) toupper_tab[] and tolower_tab[] are not filled
properly?
Completion: Scanning for tags doesn't check for typed key now and then?
Hangs for about 5 seconds. Appears to be caused by finding include files with
"foo/**" in 'path'. (Kalisiak, 2006 July 15)
Completion: When 'completeopt' has "longest" and there is one match the
message is "back at original" and typing a char doesn't leave completion mode.
(Igor Prischepoff, 2006 Oct 5)
Completion: When using CTRL-X O and there is only "struct." before the cursor,
typing one char to reduce the matches, then BS completion stops. Should keep
completion if still no less than what we started with.
Completion: don't stop completion when typing a space when completing full
lines? Also when completing file names? Only stop completion when there are
no matches?
After using BS completion only stops when typing a space. Many people want to
stop at non-word characters, e.g., '('. Add an option for this? Or check
vim_iswordc() before calling ins_compl_addleader()?
searchpos() doesn't use match under cursor at start of line. (Viktor
Kojouharov, 2006 Nov 16)
When FEAT_BYTEOFF is defined but FEAT_NETBEANS_INTG is not compiling fails.
Add FEAT_BYTEOFF to the check at line 1180 in feature.h
When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
parenthesis escaped but not the space. That's inconsistent. Either escape
neither or both. No escaping might be best, because it doesn't depend on
particularities of the shell. (Zvi Har'El, 2007 Nov 10) (Teemu Likonen, 2008
Jun 3)
However, for backwards compatibility escaping might be necessary. Check if
the user put quotes around the expanded item?
Color for cUserLabel should differ from case label, so that a mistake in a
switch list is noticed:
@ -138,18 +222,27 @@ switch list is noticed:
foobar:
}
":s" command removes combining characters. (Ron Aaron, 2006 May 17, 2006 Dec 7)
Look at http://www.gtk-server.org/ . It has a Vim script implementation.
Netbeans problem. Use "nc -l 127.0.0.1 55555" for the server, then run gvim
with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
go to Insert mode and add a few lines. Then backspacing every other time
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
Redraw problem when appending digraph causes line to wrap. (James Vega, 2007
Sep 18)
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
Sutcliffe says it works well.
Update 2007 May 22 for Vim 7.1
Win32: Patch for convert_filterW(). (Taro Muraoka, 2007 Mar 2)
Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)
Win32: XPM support only works with path without spaces. Patch by Mathias
Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31.
New version: http://members.tcnet.ch/michaelis/vim/patches.zip (also for other
@ -166,12 +259,14 @@ Win16: include patches to make Win16 version work. (Vince Negri, 2006 May 22)
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
2007 Feb 18)
Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages
label. (Tsakiridis, 2007 Feb 18)
Win32: remote editing doesn't work when the current directory name contains
"[]". (Ivan Tishchenko, 2007 March 1)
Win32: using "gvim --remote-tab-silent fname" sometimes gives an empty screen
with the more prompt. Caused by setting the guitablabel? (Thomas Michael
Engelke, 2007 Dec 20 - 2008 Jan 17)
Win64: diff.exe crashes on Win64. (Julianne Bailey, 2006 Dec 12)
Build another diff.exe somehow?
@ -179,48 +274,46 @@ Build another diff.exe somehow?
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
pointer in long and seek offset in 64 bit var.
When doing "gvim --remote-tab foo" while gvim is minimized the tab pages line
only shows the current label, not the others.
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
Ebersbach, 2008 Feb 1)
Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
Does the conversion in the other direction work when 'filenecodings' is set
properly?
Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
2007 Jun 21)
When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
Jun 18)
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)
Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16)
When setting 'keymap' twice the b:keymap_name variable isn't set. (Milan
Berta, 2007 Mar 9) Has something to do with 'iminsert'.
Problem with CursorHoldI? (Max Dyckhoff, 2006 Nov 10)
UTF-8: mapping a multi-byte key where the second byte is 0x80 doesn't appear
to work. (Tony Mechelynck, 2007 March 2)
The str2special() function doesn't handle multi-byte characters properly.
Patch from Vladimir Vichniakov, 2007 Apr 24.
find_special_key() also has this problem.
In debug mode, using CTRL-R = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28)
":let &shiftwidth = 'asdf'" doesn't produce an error message.
C++ indenting wrong with "=". (James Kanze, 2007 Jan 26)
"zug" reports wrong file. problem with Namebuff? (Lawrence Kesteloot, 2006 Sep
10)
":lockvar" should use copyID to avoid endless loop.
Patch to use xterm mouse codes for screen. (Micah Cowan, 2007 May 8)
When using --remote-silent and the file name matches 'wildignore' get an E479
error. without --remoete-silent it works fine. (Ben Fritz, 2008 Jun 20)
Gvim: dialog for closing Vim should check if Vim is busy writing a file. Then
use a different dialog: "busy saving, really quit? yes / no".
Win32: editing remote file d:\a[1]\aa.txt doesn't work. (Liu Yubao, 2006 May
29)
"zw" doesn't appear to work. (Luis A Florit, 2006 Jun 23, 24)
"dw" in a line with one character deletes the line. Vi and nvi don't do this.
Is it intentional or not? (Kjell Arne Rekaa)
Check other interfaces for changing curbuf in a wrong way. Patch like for
if_ruby.c.
@ -232,26 +325,24 @@ character, don't offer "ignore" and "add to word list".
The need_fileinfo flag is messy. Instead make the message right away and put
it in keep_msg?
More-prompt is skipped when doing this; (Randall W. Morris, Jun 17)
:au
<Space>
b
<Space>
Editing a file remotely that matches 'wildignore' results in a "no match"
error. Should only happen when there are wildards, not when giving the file
name literally, and esp. if there is only one name.
When 'expandtab' is set then a Tab copied for 'copyindent' is expanded to
spaces, even when 'preserveindent' is set. (Alexei Alexandrov, Mar 7)
Test 61 fails sometimes. This is a timing problem: "sleep 2" sometimes takes
longer than 2 seconds.
Changing 'guifont' in the console causes an uneccessary redraw.
"vim -C" often has 'nocompatible', because it's set in some startup script.
Set 'compatible' after startup is done? Patch by James Vega, 2008 Feb 7.
VMS: while editing a file found in complex, Vim will save file into the first
directory of the path and not to the original location of the file.
(Zoltan Arpadffy)
VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)
input() completion should not insert a backslash to escape a space in a file
name?
@ -260,10 +351,6 @@ element. setpos() could accept an optional fifth element.
Ruby completion is insecure. Can this be fixed?
":confirm w" does give a prompt when 'readonly' is set, but not when the file
permissions are read-only. Both can be overruled by ":w!" thus it would be
logical to get a prompt for both. (Michael Schaap)
When 'backupskip' is set from $TEMP special characters need to be escaped.
(patch by Grembowietz, 2007 Feb 26, not quite right)
Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
@ -278,9 +365,10 @@ Substituting an area with a line break with almost the same area does change
the Visual area. Can this be fixed? (James Vega, 2006 Sept 15)
Windows installer could add a "open in new tab of existing Vim" menu entry.
:s/e/E/l not only lists but also shows line number. Is that right?
(Yakov Lerner, 2006 Jul 27)
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
Just have two choices, always using one Vim and selecting between using an
argument list or opening each file in a separate tab.
(Erik Falor, 2008 May 21)
GUI: When combining fg en bg make sure they are not equal.
@ -289,22 +377,27 @@ Jun 5)
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
When 'bomb' is set or reset the file should be considered modified. (Tony
Mechelynck) Handle like 'endofline'.
Add an option to specify the character to use when a double-width character is
moved to the next line. Default '>', set to a space to blank it out. Check
that char is single width when it's set (compare with 'listchars').
Update main.aap for installing on the Mac.
The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)
Session file creation: 'autochdir' causes trouble. Keep it off until after
loading all files.
C completion: doesn't work after aa[0]->, where aa is an array of structures.
(W. de Hoog, 2006 Aug 12)
When showing a diff between a non-existant file and an existing one, with the
cursor in the empty buffer, the other buffer only shows the last line. Change
the "insert" into a change from one line to many? (Yakov Lerner, 2008 May 27)
Add autocommand for when a tabpage is being closed. Also for when a tab page
has been created.
Using ":make" blocks Vim. Allow running one make in the background (if the
shell supports it), catch errors in a file and update the error list on the
fly. A bit like "!make > file&" and repeating ":cf file". ":bgmake",
background make. ":bgcancel" interrupts it.
A.Politz may work on this.
The spellfile plugin checks for a writable "spell" directory. A user may have
a writable runtime directory without a "spell" directory, it could be created
@ -327,6 +420,13 @@ previous version.
For Aap: include a config.arg.example file with hints how to use config.arg.
Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
only one buffer line displayed, causes display errors.
Completing with 'wildmenu' and using <Up> and <Down> to move through directory
tree stops unexpectedly when using ":cd " and entering a directory that
doesn't contain other directories.
Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
known to Vim. 88 colors instead of 16 works better. See ":help
@ -348,9 +448,6 @@ Accessing file#var in a function should not need the g: prepended.
When ":cn" moves to an error in the same line the message isn't shortened.
Only skip shortening for ":cc"?
Win32: The matchparen plugin doesn't update the match when scrolling with the
mouse wheel. (Ilya Bobir, 2006 Jun 27)
Write "making vim work better" for the docs (mostly pointers): *nice*
- sourcing $VIMRUNTIME/vimrc_example.vim
- setting 'mouse' to "a"
@ -362,6 +459,15 @@ Campbell 2006 Jul 06.
Syntax HL error caused by "containedin". (Peter Hodge, 2006 Oct 6)
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
Chase)
A custom completion function in a ":command" cannot be a Funcref. (Andy
Wokula, 2007 Aug 25)
Problem with using :redir in user command completion function? (Hari Krishna
Dara, 2006 June 21)
GTK: When maximizing Vim the result is slightly smaller, the filler border is
not there, and the "maximize" button is still there. Clicking it again does
give a maximized window. (Darren Hiebert)
@ -374,21 +480,20 @@ GDK_WINDOW_STATE_MAXIMIZED) and set it again?
Another resizing problem when setting 'columns' and 'lines' to a very large
number. (Tony Mechelynck, 2007 Feb 6)
Problem with using :redir in user command completion function? (Hari Krishna
Dara, 2006 June 21)
GTK: when using the -geom argument with an offset from the right edge and the
size is smaller than the default, the Vim window is not positioned properly.
GTK: when editing a directory with the netrw plugin in a terminal and doing
":gui" Vim hangs in obtaining the selection. Workaround patch 7.1.209 is a
hack (timeout after 3 seconds). Why don't we get the selection here?
After starting Vim, using '0 to jump somewhere in a file, ":sp" doesn't center
the cursor line. It works OK after some other commands.
Screen redrawing when continuously updating the buffer and resizing the
terminal. (Yakov Lerner, 2006 Sept 7)
Win32: Is it possible to have both postscript and Win32 printing?
Does multi-byte printing with ":hardcopy" work? Add remark in documentation
about this.
'thesaurus' doesn't work when 'infercase' is set. (Mohsin, 2006 May 30)
There should be something about spell checking in the user manual.
Check: Running Vim in a console and still having connect to the X server for
@ -401,28 +506,22 @@ Jul 26, Gary Johnson)
In the Netbeans interface add a "vimeval" function, so that the other side can
check the result of has("patch13").
":py" asks for an argument, ":py asd" then gives the error that ":py" isn't
implemented. Should already happen for ":py".
Add command modifier that skips wildcard expansion, so that you don't need to
put backslashes before special chars, only for white space.
Win32 GUI: confirm() with zero default should not have a choice selected.
Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
GTK GUI: When the completion popup menu is used scrolling another window by
the scrollbar is OK, but using the scroll wheel it behaves line <Enter>.
"cit" used on <foo></foo> deletes <foo>. Should not delete anything and start
insertion, like "ci'" does on "". (Michal Bozon)
Allow more than 3 ":match" items.
GTK: when the Tab pages bar appears or disappears while the window is
maximized the window is no longer maximized. Patch that has some idea but
doesn't work from Geoffrey Antos, 2008 May 5.
The magic clipboard format "VimClipboard2" appears in several places. Should
be only one.
"vim -C" often has 'nocompatible', because it's set somewhere in a startup
script. Do "set compatible" after startup?
It's difficult to debug numbered functions (function in a Dictionary). Print
the function name before resolving it to a number?
let d = {}
@ -433,62 +532,76 @@ the function name before resolving it to a number?
Add a mark for the other end of the Visual area (VIsual pos). '< and '> are
only set after Visual moded is ended.
Also add a variable for the Visual mode. So that this mode and '< '> can be
used to set what "gv" selects. (Ben Schmidt)
Win32: When running ":make" and 'encoding' differs from the system locale, the
output should be converted. Esp. when 'encoding' is "utf-8". (Yongwei Wu)
Should we use 'termencoding' for this?
Win32, NTFS: When editing an specific infostream directly and 'backupcopy' is
"auto" should detect this situation and work like 'backupcopy' is "yes". File
name is something like "c:\path\foo.txt:bar", includes a colon. (Alex
Jakushev, 2008 Feb 1)
Small problem displaying diff filler line when opening windows with a script.
(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )
When pattern for ":sort" is empty, use last search pattern. Allows trying out
the pattern first. (Brian McKee)
Is it allowed that 'backupext' is empty? Problems when backup is in same dir
as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen)
Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007
Jan 1)
Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update Apr 28)
Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr
23)
Patch for improving regexp speed by not freeing memory. (Alexei Alexandrov,
2007 Feb 6)
":mkview" isn't called with the right buffer argument. Happens when using
tabs and the autocommand "autocmd BufWinLeave * mkview". (James Vega, 2007
Jun 18)
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Omni completion takes the wrong structure for variable arguments. (Bill
McCarthy, 2007 Feb 18)
When completing from another file that uses a different encoding completion
text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is
latin1. Example from Gombault Damien, 2007 Mar 24.
Completing ":echohl" argument should include "None". (Ori Avtalion)
Is it possible to use "foo#var" instead of "g:foo#var" inside a function?
Syntax HL: When using "nextgroup" and the group has an empty match, there is
no search at that position for another match. (Lukas Mai, 2008 April 11)
Spell menu: When using the Popup menu to select a replacement word,
":spellrepeat" doesn't work. SpellReplace() uses setline(). Can it use "z="
somehow? Or use a new function.
In gvim the backspace key produces a backspace character, but on Linux the
VERASE key is Delete. Set VERASE to Backspace? (patch by Stephane Chazelas,
2007 Oct 16)
TermResponse autocommand isn't always triggered when using vimdiff. (Aron
Griffis, 2007 Sep 19)
Patch for supporting #rrggbb in color terminals. (Matt Wozniski)
Create a gvimtutor.1 file and change Makefiles to install it.
Vim 7.2:
- Search offset doesn't work for multibyte character. Patch from Yukihiro
Nakadaira, 2006 Jul 18.
Changes the offset from counting bytes to counting characters.
- Rename the tutor files from tutor.gr.* to tutor.el.*. Greece vs Greek.
Make all tutor files available in utf-8.
- Remove ! for ":cgetfile" and ":lgetfile". (patch from Yegappan Lakshmanan,
2007 Mar 9)
Vim 7.3:
- Add patch for 'relativenumber' option? Markus Heidelberg, 2008 Feb 21
- Add blowfish encryption. Openssl has an implementation. Also by Paul
Kocher (LGPL), close to original. Mohsin also has some ideas.
Take four bytes and turn them into unsigned to avoid byte-order problems.
Need to buffer up to 7 bytes to align on 8 byte boundaries.
- Rename doc/sql.vim doc/ft_sql.vim.
- Change "command-line" to "[Command Line]" for the command line buffer
name in ex_window().
- Move including fcntl.h to vim.h, before O_NOFOLLOW, and remove it from all
.c files.
- ":{range}source": source the lines from the file.
You can already yank lines and use :@" to execute them.
Most of do_source() would not be used, need a new function.
It's easy when not doing breakpoints or profiling.
Patches:
More patches:
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
- Argument for feedkeys() to prepend to typeahead (Yakov Lerner, 2006 Oct
21)
@ -503,7 +616,8 @@ Patches:
- ml_append_string(): efficiently append to an existing line. (Brad
Beveridge, 2006 Aug 26) Use in some situations, e.g., when pasting a
character at a time?
- gettabvar() and settabvar() functions. (Yegappan Lakshmanan, 2006 Sep 8)
- gettabvar() and settabvar() functions. (Yegappan Lakshmanan, 2007 Sep 13,
2008 Jun 12)
- recognize hex numbers better. (Mark Manning, 2006 Sep 13)
@ -520,7 +634,7 @@ Awaiting updated patches:
- when 'macatsui' is off should we always convert to "macroman" and ignore
'termencoding'?
9 HTML indenting can be slow. Caused by using searchpair(). Can search()
be used instead?
be used instead? A.Politz is looking into a solution.
8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
Aric Blumer has a patch for this. He will update the patch for 6.3.
@ -528,8 +642,7 @@ Awaiting updated patches:
Update 2004 Sep 6.
How does this work? Missing comments.
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
Smilauer, 2004 Sep 13, fix Oct 31)
Asked for improvements 2004 Dec 20.
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
8 Add a few more command names to the menus. Patch from Jiri Brezina
(28 feb 2002). Will mess the translations...
7 ATTENTION dialog choices are more logical when "Delete it' appears
@ -566,7 +679,9 @@ Awaiting updated patches:
Tcl implementation ~/vim/HierAssist/ )
taglist() add argument to specify maximum number of matches.
useful for interactive things or completion.
7 Make globpath() also work with upwards search. (Brian Medley)
col('^') column of first non-white character.
Can use "len(substitute(getline('.'), '\S.*', '', ''))
+ 1", but that's ugly.
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
better. Now also works for Ruby (2001 Nov 10)
- Patch from Herculano de Lima Einloft Neto for better formatting of the
@ -727,8 +842,6 @@ Win32 GUI known bugs:
console, go back to Vim and click "reload" in the dialog for the changed
file: Window moves with the cursor!
Put focus event in input buffer and let generic Vim code handle it?
8 When activating the Vim window with mouse click, don't move cursor to
mouse position. Catch WM_MOUSEACTIVATE. (Luevelsmeyer)
8 Win32: When mouse is hidden and in the toolbar, moving it won't make it
appear. (Sami Salonen)
8 Win32 GUI: With maximized window, ":set go-=r" doesn't use the space that
@ -1069,10 +1182,10 @@ Macintosh:
"Small" problems:
- Can't disable terminal flow control, to enable the use of CTRL-S and
CTRL-Q. Add an option for it?
- When using e_secure in do_one_cmd() mention the command being executed,
otherwise it's not clear where it comes from.
8 When disabling FEAT_CMDL_COMPL compilation fails. Would need to avoid
using parse_compl_arg() in eval.c and uc_scan_attr().
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
functions for characters below 0x80. (Sertacyildiz)
9 When the last edited file is a help file, using '0 in a new Vim doesn't
@ -1133,7 +1246,6 @@ Macintosh:
delay should not be interpreted as a keycode. (Hans Ginzel)
7 ":botright 1 new" twice causes all window heights to be changed. Make the
bottom window only bigger as much as needed.
7 "[p" doesn't work in Visual mode. (David Brown)
7 The Cygwin and MingW makefiles define "PC", but it's not used anywhere.
Remove? (Dan Sharp)
9 User commands use the context of the script they were defined in. This
@ -1144,9 +1256,6 @@ Macintosh:
8 The Japanese message translations for MS-Windows are called ja.sjis.po,
but they use encoding cp932. Rename the file and check that it still
works.
9 When a syntax region does not use "keepend" and a contained item does use
"extend", this makes the outer region stop at the end of the contained
region. (Lutz Eymers) Another example Nov 14 2002.
8 A very long message in confirm() can't be quit. Make this possible with
CTRL-C.
7 clip_x11_own_selection() uses CurrentTime, that is not allowed. VNC X
@ -1163,8 +1272,6 @@ Macintosh:
9 When "$" is in 'cpoptions' and folding is active, a "C" command changes
the folds and resets w_lines_valid. The display updating doesn't work
then. (Pritesh Mistry)
8 ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the "!" as a
flag to to the command. Same for ":snomagic". (Johan Spetz)
8 Using ":s" in a function changes the previous replacement string. Save
"old_sub" in save_search_patterns()?
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
@ -1176,8 +1283,6 @@ Macintosh:
9 When getting focus while writing a large file, could warn for this file
being changed outside of Vim. Avoid checking this while the file is being
written.
9 The "Error detected while processing modelines" message should have an
error number.
7 The message in bt_dontwrite_msg() could be clearer.
8 The script ID that is stored with an option and displayed with ":verbose
set" isn't reset when the option is set internally. For example when
@ -1517,6 +1622,7 @@ Documentation:
look at the help for 'winaltkeys'.
7 Add a help.vim plugin that maps <Tab> to jump to the next tag in || and
<C-Tab> (and <S-Tab>) to the previous tag.
Patch by Balazs Kezes, 2007 Dec 30. Remark from A. Politz.
- Check text editor compendium for vi and Vim remarks.
@ -1610,6 +1716,8 @@ Spell checking:
- Considering Hunspell 1.1.4:
What does MAXNGRAMSUGS do?
Is COMPLEXPREFIXES necessary when we have flags for affixes?
- Support spelling words in CamelCase as if they were two separate words.
Requires some option to enable it. (Timothy Knox)
- There is no Finnish spell checking file. For openoffic Voikko is now
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
(Teemu Likonen)
@ -1675,6 +1783,8 @@ Spell checking:
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
8 It is currently not possible to mark "can not" as rare, because "can" and
"not" are good words. Find a way to let "rare" overrule "good"?
8 Make "en-rare" spell file? Ask Charles Campbell.
8 The English dictionaries for different regions are not consistent in their
use of words with a dash.
@ -1686,6 +1796,8 @@ Spell checking:
Diff mode:
9 Instead invoking an external diff program, use builtin code. One can be
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
8 Use diff mode to show the changes made in a buffer (compared to the file).
Use an unnamed buffer, like doing:
new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
@ -1767,6 +1879,9 @@ Multi-byte characters:
More generic solution: support a filter (e.g., by calling a function).
8 When a file was converted from 'fileencoding' to 'encoding', a tag search
should also do this on the search pattern. (Andrzej M. Ostruszka)
8 When filtering changes the encoding 'fileencoding' may not work. E.g.,
when using xxd and 'fileencoding' is "utf-16". Add an option to set a
different fileencoding for filter output?
7 When converting a file fails, mention which byte could not be converted,
so that the user can fix the problem.
8 Add configure option to be able to disable using the iconv library. (Udo
@ -1775,7 +1890,14 @@ Multi-byte characters:
8 Should add test for using various commands with multi-byte characters.
8 'infercase' doesn't work with multi-byte characters.
8 toupper() function doesn't handle byte count changes.
7 When searching, should order of composing characters be ignored?
7 Searching and composing characters:
When searching, should order of composing characters be ignored?
Add special item to match with a composing character, zero-width, so that
one can replace a base character and keep the composing characters.
Add a special item to match with a composing character, so that composing
characters can be manipulated.
Add a modifier to ignore composing characters, only compare base
characters. Useful for Hebrew (Ron Aaron)
8 Should implement 'delcombine' for command line editing.
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
@ -2003,6 +2125,8 @@ Syntax highlighting:
Built-in script language:
8 Make the filename and line number available to script functions, so that
they can give useful debugging info. The whole call stack would be ideal.
7 Execute a function with standard option values. No need to save and
restore option values. Especially useful for new options. Problem: how
to avoid a performance penalty (esp. for string options)?
@ -2067,6 +2191,8 @@ Built-in script language:
shorten(fname) shorten a file name, like home_replace()
perl(cmd) call Perl and return string
inputrl() like input() but right-to-left
typed() return the characters typed and consumed (to
find out what happened)
virtualmode() add argument to obtain whether "$" was used in
Visual block mode.
getacp() Win32: get codepage (Glenn Maynard)
@ -2250,8 +2376,6 @@ Messages:
When switching to another file and screen scrolls because of the long
message and return must be typed, don't scroll the screen back before
redrawing.
7 Add an option, which is a regexp, that disables warning messages which
match that regexp (Tsirkin).
8 When address range is wrong you only get "Invalid range". Be a bit more
specific: Negative, beyond last line, reverse range? Include the text.
8 Make it possible to ignore errors for a moment ('errorignore'?). Another
@ -2661,6 +2785,8 @@ Insert mode completion/expansion:
Requires remembering a number of insertions.
8 Add 'f' flag to 'complete': Expand file names.
Also apply 'complete' to whole line completion.
- Add a flag to 'complete' to only scan local header files, not system
header files. (Andri Moell)
- Make it possible to search include files in several places. Use the
'path' option? Can this be done with the dictionary completion (use
wildcards in the file name)?
@ -2720,11 +2846,14 @@ Command line editing:
Command line completion:
8 Completing ":r ~br" should find matching user names.
8 Change expand_interactively into a flag that is passed as an argument.
8 With command line completion after '%' and '#', expand current/alternate
file name, so it can be edited. Also with modifiers, such as "%:h".
8 When completing command names, either sort them on the long name, or list
them with the optional part inside [].
8 Add an option to ignore case when doing interactive completion. So that
":e file<Tab>" also lists "Filelist" (sorted after matching case matches).
7 Completion of ":map x ": fill in the current mapping, so that it can be
edited. (Sven Guckes)
- For 'wildmenu': Simplify "../bar" when possible.
@ -2769,6 +2898,9 @@ Insert mode:
Perhaps it can be allowed a single time, to be able to do
"<C-O>10axyz<Esc>". Nesting this further is confusing.
":map <F2> 5aabc<Esc>" works only once from Insert mode.
8 When using CTRL-G CTRL-O do like CTRL-\ CTRL-O, but when returning with
the cursor in the same position and the text didn't change continue the
same change, so that "." repeats the whole insert.
7 Use CTRL-G <count> to repeat what follows. Useful for inserting a
character multiple times or repeating CTRL-Y.
7 Use 'matchpairs' for 'showmatch': When inserting a character check if it
@ -2790,7 +2922,14 @@ Insert mode:
'cindent', 'smartindent':
9 ") :" confuses continuation line: (Colin Bennett, 2007 Dec 14)
cout << "a"
<< ") :"
<< "y";
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Why are continuation lines outside of a {} block not indented? E.g.:
long_type foo =
value;
8 Java: Inside an anonymous class, after an "else" or "try" the indent is
too small. (Vincent Bergbauer)
Problem of using {} inside (), 'cindent' doesn't work then.
@ -2893,6 +3032,7 @@ Virtual edit:
Text objects:
8 Add text object for fold, so that it can be yanked when it's open.
8 Add test script for text object commands "aw", "iW", etc.
8 Add text object for part of a CamelHumpedWord and under_scored_word.
(Scott Graham) "ac" and "au"?
@ -2903,7 +3043,8 @@ Text objects:
8 Add text object for any kind of parens, also multi-byte ones.
7 Add text object for current search pattern: "a/" and "i/". Makes it
possible to turn text highlighted for 'hlsearch' into a Visual area.
8 Add a way to make an ":omap" for a user-defined text object.
8 Add a way to make an ":omap" for a user-defined text object. Requires
changing the starting position in oap->start.
8 Add "gp" and "gP" commands: insert text and make sure there is a single
space before it, unless at the start of the line, and after it, unless at
the end of the line or before a ".".
@ -2990,6 +3131,7 @@ More advanced repeating commands:
- Add "." command for visual mode: redo last visual command (e.g. ":fmt").
7 Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher) Somehow remember
the command line so that it can be repeated?
- Add "gn": repeat last movement command. Including count.
- Add "." command after operator: repeat last command of same operator. E.g.
"c." will repeat last change, also when "x" used since then (Webb).
"y." will repeat last yank.
@ -3136,24 +3278,29 @@ Searching:
"\d".
7 Add a way to specify characters in <C-M> or <Key> form. Could be
\%<C-M>.
8 Flags that apply to the whole pattern.
This works for all places where a regexp is used.
Add "\q" to not store this pattern as the last search pattern?
8 Add an argument after ":s/pat/str/" for a range of matches. For example,
":s/pat/str/#3-4" to replace only the third and fourth "pat" in a line.
8 When 'iskeyword' is changed the matches from 'hlsearch' may change. (Benji
Fisher) redraw if some options are set while 'hlsearch' is set?
8 Add an option not to use 'hlsearch' highlighting for ":s" and ":g"
commands. (Kahn) It would work like ":noh" is used after that command.
Also: An extra flag to do this once, and a flag to keep the existing
search pattern.
- Make 'hlsearch' a local/global option, so that it can be disabled in some
of the windows.
- Add \%h{group-name}; to search for a specific highlight group.
Add \%s{syntax-group}; to search for a specific syntax group.
- Support Perl regexp. Use PCRE (Perl Compatible RE) package. (Shade)
Or translate the pattern to a Vim one.
Don't switch on with an option for typed commands/mappings/functions, it's
too confusing. Use "\@@" in the pattern, to avoid incompatibilities.
7 Add POSIX regexp, like Nvi, with 'extended' option? It's like very-magic.
8 Add a way to access the last substitute text, what is used for ":s//~/".
Can't use the ~ register, it's already used for drag & drop.
- Remember flags for backreferenced items, so that "*" can be used after it.
Check with "\(\S\)\1\{3}". (Hemmerling)
8 Flags that apply to the whole pattern.
This works for all places where a regexp is used.
Add "\q" to not store this pattern as the last search pattern?
- Add flags to search command (also for ":s"?):
i ignore case
I use case
@ -3206,11 +3353,18 @@ Searching:
Undo:
9 After undo/redo, in the message show whether the buffer is modified or
not.
8 Undo tree: visually show the tree somehow (Damian Conway)
Show only the leaves, indicating how many changed from the branch and the
timestamp?
Put branch with most recent change on the left, older changes get more
indent?
8 See ":e" as a change operation, find the changes and add them to the
undo info. Also be able to undo the "Reload file" choice for when a file
was changed outside of Vim.
Would require doing a diff between the buffer text and the file and
storing the differences.
8 Search for pattern in undo tree, showing when it happened and the text
state, so that you can jump to it.
- Persistent undo: store undo in a file.
@ -3218,8 +3372,6 @@ Undo:
before some time/date can be flushed. 'undopersist' gives maximum time to
keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
8 See ":e" as a change operation, find the changes and add them to the
undo info. Needed for when an external tool changes the file.
- Make it possible to undo all the commands from a mapping, including a
trailing unfinished command, e.g. for ":map K iX^[r".
- When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
@ -3318,6 +3470,7 @@ Viminfo:
name. (Schild)
8 Keep the last used directory of the file browser (File/Open menu).
8 Remember the last used register for "@@".
8 Remember the redo buffer, so that "." works after restarting.
8 Remember a list of last accessed files. To be used in the
"File.Open Recent" menu. Default is to remember 10 files or so.
Also remember which files have been read and written. How to display
@ -3336,6 +3489,11 @@ Modelines:
8 Before trying to execute a modeline, check that it looks like one (valid
option names). If it's very wrong, silently ignore it.
Ignore a line that starts with "Subject: ".
- Add an option to whitelist options that are allowed in a modeline. This
would allow careful users to use modelines, e.g., only allowing
'shiftwidth'.
- Add an option to let modelines only set local options, not global ones
such as 'encoding'.
- When an option value is coming from a modeline, do not carry it over to
another edited file? Would need to remember the value from before the
modeline setting.
@ -3417,6 +3575,7 @@ Multiple Windows:
Marks:
8 Add ten marks for last changed files: ':0, ':1, etc. One mark per file.
8 When cursor is first moved because of scrolling, set a mark at this
position. (Rimon Barr) Use '-.
8 Add a command to jump to a mark and make the motion inclusive. g'm and g`m?
@ -3520,7 +3679,6 @@ Mouse support:
8 Add 'mouse' flag, which sets a behavior like Visual mode, but automatic
yanking at the button-up event. Or like Select mode, but typing gets you
out of Select mode, instead of replacing the text. (Bhaskar)
7 Checkout sysmouse() for FreeBSD console mouse support.
- Implement mouse support for the Amiga console.
- Using right mouse button to extend a blockwise selection should attach to
the nearest corner of the rectangle (four possible corners).
@ -3575,6 +3733,8 @@ Debug mode:
Various improvements:
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
7 Add plugins for formatting? Should be able to make a choice depending on
the language of a file (English/Korean/Japanese/etc.).
Setting the 'langformat' option to "chinese" would load the
@ -3582,6 +3742,7 @@ Various improvements:
The plugin would set 'formatexpr' and define the function being called.
Edward L. Fox explains how it should be done for most Asian languages.
(2005 Nov 24)
Alternative: patch for utf-8 line breaking. (Yongwei Wu, 2008 Feb 23)
7 [t to move to previous xml/html tag (like "vatov"), ]t to move to next
("vatv").
7 [< to move to previous xml/html tag, e.g., previous <li>. ]< to move to
@ -3601,6 +3762,8 @@ Various improvements:
7 Support using ":vert" with User commands. Add expandable items <vert>.
Do the same for ":browse" and ":confirm"?
For ":silent" and ":debug" apply to the whole user command.
More general: need a way to access command modifiers in a user command.
Assign them to a v: variable?
7 Allow a window not to have a statusline. Makes it possible to use a
window as a buffer-tab selection.
7 Add an invisible buffer which can be edited. For use in scripts that want

View File

@ -1,4 +1,4 @@
*usr_04.txt* For Vim version 7.1. Last change: 2006 Jun 21
*usr_04.txt* For Vim version 7.2a. Last change: 2006 Jun 21
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.1. Last change: 2007 May 11
*usr_05.txt* For Vim version 7.2a. Last change: 2007 May 11
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*usr_06.txt* For Vim version 7.1. Last change: 2006 Apr 24
*usr_06.txt* For Vim version 7.2a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*usr_07.txt* For Vim version 7.1. Last change: 2006 Apr 24
*usr_07.txt* For Vim version 7.2a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*usr_12.txt* For Vim version 7.1. Last change: 2007 May 11
*usr_12.txt* For Vim version 7.2a. Last change: 2007 May 11
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*usr_20.txt* For Vim version 7.1. Last change: 2006 Apr 24
*usr_20.txt* For Vim version 7.2a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar

View File

@ -1,4 +1,4 @@
*usr_30.txt* For Vim version 7.1. Last change: 2007 Apr 22
*usr_30.txt* For Vim version 7.2a. Last change: 2007 Nov 10
VIM USER MANUAL - by Bram Moolenaar
@ -200,14 +200,14 @@ Then have Vim read this file with: >
Jumping to errors will work like with the ":make" command.
==============================================================================
*30.2* Indenting C files
*30.2* Indenting C style text
A program is much easier to understand when the lines have been properly
indented. Vim offers various ways to make this less work.
For C programs set the 'cindent' option. Vim knows a lot about C programs
and will try very hard to automatically set the indent for you. Set the
'shiftwidth' option to the amount of spaces you want for a deeper level. Four
spaces will work fine. One ":set" command will do it: >
indented. Vim offers various ways to make this less work. For C or C style
programs like Java or C++, set the 'cindent' option. Vim knows a lot about C
programs and will try very hard to automatically set the indent for you. Set
the 'shiftwidth' option to the amount of spaces you want for a deeper level.
Four spaces will work fine. One ":set" command will do it: >
:set cindent shiftwidth=4
@ -451,7 +451,7 @@ in your text. The second time, Vim takes out the 4 spaces and puts in a <Tab>
(thus taking you to column 8). Thus Vim uses as many <Tab>s as possible, and
then fills up with spaces.
When backspacing it works the other way around. A <BS> will always delete
the amount specified with 'softtabstop'. Then <Tabs> are used as many as
the amount specified with 'softtabstop'. Then <Tab>s are used as many as
possible and spaces to fill the gap.
The following shows what happens pressing <Tab> a few times, and then using
<BS>. A "." stands for a space and "------->" for a <Tab>.

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 7.1. Last change: 2008 Jan 11
*various.txt* For Vim version 7.2a. Last change: 2008 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -123,7 +123,7 @@ g8 Print the hex values of the bytes used in the
*:#!*
:#!{anything} Ignored, so that you can start a Vim script with: >
#!/usr/bin/env vim -S
#!vim -S
echo "this is a Vim script"
quit
<
@ -226,7 +226,8 @@ g8 Print the hex values of the bytes used in the
":!echo ! \! \\!" executes "echo ls ! \!".
After the command has been executed, the timestamp of
the current file is checked |timestamp|.
There cannot be a '|' in {cmd}, see |:bar|.
A '|' in {cmd} is passed to the shell, you cannot use
it to append a Vim command. See |:bar|.
A newline character ends {cmd}, what follows is
interpreted as a following ":" command. However, if
there is a backslash before the newline it is removed
@ -315,6 +316,7 @@ N *+find_in_path* include file searches: |[I|, |:isearch|,
N *+folding* |folding|
*+footer* |gui-footer|
*+fork* Unix only: |fork| shell commands
*+float* Floating point support
N *+gettext* message translations |multi-lang|
*+GUI_Athena* Unix only: Athena |GUI|
*+GUI_neXtaw* Unix only: neXtaw |GUI|
@ -343,6 +345,7 @@ B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
B *+multi_byte* Korean and other languages |multibyte|
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
@ -362,7 +365,8 @@ H *+profile* |:profile| command
m *+python* Python interface |python|
m *+python/dyn* Python interface |python-dynamic| |/dyn|
N *+quickfix* |:make| and |quickfix| commands
N *+reltime* |reltime()| function
N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
'redrawtime' option
B *+rightleft* Right to left typing |'rightleft'|
m *+ruby* Ruby interface |ruby|
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
@ -435,10 +439,11 @@ N *+X11* Unix only: can restore window title |X11|
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
already exists. {not in Vi}
:redi[r] @{a-zA-Z}
:redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the
contents of the register if its name is given
uppercase {A-Z}. For backward compatibility, the ">"
after the register name can be omitted. {not in Vi}
uppercase {A-Z}. The ">" after the register name is
optional. {not in Vi}
:redi[r] @{a-z}>> Append messages to register {a-z}. {not in Vi}
:redi[r] @*>
@ -674,10 +679,14 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
:helpgrep uganda\c
< Example for searching in French help: >
:helpgrep backspace@fr
< Cannot be followed by another command, everything is
< The pattern does not support line breaks, it must
match within one line. You can use |:grep| instead,
but then you need to get the list of help files in a
complicated way.
Cannot be followed by another command, everything is
used as part of the pattern. But you can use
|:execute| when needed.
Compressed help files will not be searched (Debian
Compressed help files will not be searched (Fedora
compresses the help files).
{not in Vi}

File diff suppressed because it is too large Load Diff

View File

@ -143,7 +143,7 @@ Place le curseur sur la ligne "num" dans le premier fichier.
Si "num" est omis, le curseur sera plac<61> sur la derni<6E>re ligne.
.TP
+/{motif}
Place le curseur sur la premi<6D>re occurence de {motif} dans le premier fichier.
Place le curseur sur la premi<6D>re occurrence de {motif} dans le premier fichier.
Voir ":help search\-pattern" pour conna<6E>tre les motifs de recherches
disponibles.
.TP
@ -258,7 +258,7 @@ est
quitte.
.TP
\-h
Donne une aide succinte sur les arguments et les options de la ligne de
Donne une aide succincte sur les arguments et les options de la ligne de
commande. Apr<70>s cela,
.B Vim
quitte.
@ -269,7 +269,7 @@ Si
a <20>t<EFBFBD> compil<69> avec le support de la fonctionnalit<69> RIGHTLEFT pour l'<27>dition de
fichiers de droite <20> gauche et les claviers h<>breu, cette option lance
.B Vim
en mode Hebreu, c.-<2D>-d. avec les options 'hkmap' et 'rightleft' activ<69>es.
en mode H<EFBFBD>breu, c.-<2D>-d. avec les options 'hkmap' et 'rightleft' activ<69>es.
Sinon, un message d'erreur est <20>mis et
.B Vim
quitte.
@ -295,7 +295,7 @@ d'
.TP
\-M
N'autorise aucune modification. les options 'modifiable' et 'write' sont
desactiv<EFBFBD>es, de sorte que les changements ne sont pas autoris<69>s et que les
d<EFBFBD>sactiv<EFBFBD>es, de sorte que les changements ne sont pas autoris<69>s et que les
fichiers ne peuvent pas <20>tre <20>crits. Note : ces options peuvent <20>tre activ<69>es
pour autoriser les modifications.
.TP

View File

@ -143,7 +143,7 @@ Place le curseur sur la ligne "num" dans le premier fichier.
Si "num" est omis, le curseur sera placé sur la dernière ligne.
.TP
+/{motif}
Place le curseur sur la première occurence de {motif} dans le premier fichier.
Place le curseur sur la première occurrence de {motif} dans le premier fichier.
Voir ":help search\-pattern" pour connaître les motifs de recherches
disponibles.
.TP
@ -258,7 +258,7 @@ est émis et
quitte.
.TP
\-h
Donne une aide succinte sur les arguments et les options de la ligne de
Donne une aide succincte sur les arguments et les options de la ligne de
commande. Après cela,
.B Vim
quitte.
@ -269,7 +269,7 @@ Si
a été compilé avec le support de la fonctionnalité RIGHTLEFT pour l'édition de
fichiers de droite à gauche et les claviers hébreu, cette option lance
.B Vim
en mode Hebreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
en mode Hébreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
Sinon, un message d'erreur est émis et
.B Vim
quitte.
@ -295,7 +295,7 @@ d'écrire le fichier.
.TP
\-M
N'autorise aucune modification. les options 'modifiable' et 'write' sont
desactivées, de sorte que les changements ne sont pas autorisés et que les
désactivées, de sorte que les changements ne sont pas autorisés et que les
fichiers ne peuvent pas être écrits. Note : ces options peuvent être activées
pour autoriser les modifications.
.TP

View File

@ -1,4 +1,4 @@
*workshop.txt* For Vim version 7.1. Last change: 2006 Apr 24
*workshop.txt* For Vim version 7.2a. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Gordon Prieur

View File

@ -0,0 +1,18 @@
" Vim filetype plugin file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-09-18
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let s:cpo_save = &cpo
set cpo&vim

View File

@ -0,0 +1,70 @@
" Vim filetype plugin file (GUI menu and folding)
" Language: Debian control files
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
" Last Change: 2008-03-08
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/ftplugin/debcontrol.vim;hb=debian
" Do these settings once per buffer
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin=1
" {{{1 Local settings (do on every load)
if exists("g:debcontrol_fold_enable")
setlocal foldmethod=expr
setlocal foldexpr=DebControlFold(v:lnum)
setlocal foldtext=DebControlFoldText()
endif
setlocal textwidth=0
" Clean unloading
let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<"
" }}}1
" {{{1 folding
function! s:getField(f, lnum)
let line = getline(a:lnum)
let fwdsteps = 0
while line !~ '^'.a:f.':'
let fwdsteps += 1
let line = getline(a:lnum + fwdsteps)
if line == ''
return 'unknown'
endif
endwhile
return substitute(line, '^'.a:f.': *', '', '')
endfunction
function! DebControlFoldText()
if v:folddashes == '-' " debcontrol entry fold
let type = substitute(getline(v:foldstart), ':.*', '', '')
if type == 'Source'
let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
endif
let arch = s:getField('Architecture', v:foldstart)
let ftext = substitute(foldtext(), ' *Package: *', ' [' . arch . '] ', '')
return ftext . ': ' . s:getField('Description', v:foldstart) . ' '
endif
return foldtext()
endfunction
function! DebControlFold(l)
" This is for not merging blank lines around folds to them
if getline(a:l) =~ '^Source:'
return '>1'
endif
if getline(a:l) =~ '^Package:'
return '>1'
endif
return '='
endfunction
" }}}1

View File

@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Configuration File (ini file) for MSDOS/MS Windows
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-08-23
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:; commentstring=;\ %s formatoptions-=t formatoptions+=croql

View File

@ -0,0 +1,15 @@
" Vim filetype plugin
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Last Change: 2007 Dec 16
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
setlocal formatoptions-=t formatoptions+=croql
setlocal comments=:#,:; commentstring=;\ %s
let b:undo_ftplugin = "setl fo< com< cms<"

View File

@ -0,0 +1,41 @@
" Vim filetype plugin
" Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Last Change: 2008 Apr 16
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
runtime! ftplugin/git.vim
let b:did_ftplugin = 1
setlocal comments=:# commentstring=#\ %s formatoptions-=t
if !exists("b:undo_ftplugin")
let b:undo_ftplugin = ""
endif
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo<"
function! s:choose(word)
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
endfunction
function! s:cycle()
call s:choose(get({'s':'edit','p':'squash'},getline('.')[0],'pick'))
endfunction
command! -buffer -bar Pick :call s:choose('pick')
command! -buffer -bar Squash :call s:choose('squash')
command! -buffer -bar Edit :call s:choose('edit')
command! -buffer -bar Cycle :call s:cycle()
" The above are more useful when they are mapped; for example:
"nnoremap <buffer> <silent> S :Cycle<CR>
if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
finish
endif
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
let b:undo_ftplugin = b:undo_ftplugin . "|nunmap <buffer> K"

View File

@ -1,7 +1,7 @@
" Vim indent file
" Language: C-shell (tcsh)
" Maintainer: Gautam Iyer <gautam@math.uchicago.edu>
" Last Modified: Wed 04 Feb 2004 04:36:07 PM CST
" Last Modified: Sat 16 Jun 2007 04:27:45 PM PDT
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@ -11,7 +11,7 @@ endif
let b:did_indent = 1
setlocal indentexpr=TcshGetIndent()
setlocal indentkeys+=e,0=end,0=endsw,*<return> indentkeys-=0{,0},0),:,0#
setlocal indentkeys+=e,0=end,0=endsw indentkeys-=0{,0},0),:,0#
" Only define the function once.
if exists("*TcshGetIndent")

72
runtime/indent/tf.vim Normal file
View File

@ -0,0 +1,72 @@
" Vim indent file
" Language: tf (TinyFugue)
" Maintainer: Christian J. Robinson <infynity@onewest.net>
" URL: http://www.infynity.spodzone.com/vim/indent/tf.vim
" Last Change: 2002 May 29
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetTFIndent()
setlocal indentkeys-=0{,0} indentkeys-=0# indentkeys-=:
setlocal indentkeys+==/endif,=/then,=/else,=/done,0;
" Only define the function once:
if exists("*GetTFIndent")
finish
endif
function GetTFIndent()
" Find a non-blank line above the current line:
let lnum = prevnonblank(v:lnum - 1)
" No indent for the start of the file:
if lnum == 0
return 0
endif
let ind = indent(lnum)
let line = getline(lnum)
" No indentation if the previous line didn't end with "\":
" (Could be annoying, but it lets you know if you made a mistake.)
if line !~ '\\$'
return 0
endif
if line =~ '\(/def.*\\\|/for.*\(%;\s*\)\@\<!\\\)$'
let ind = ind + &sw
elseif line =~ '\(/if\|/else\|/then\)'
if line !~ '/endif'
let ind = ind + &sw
endif
elseif line =~ '/while'
if line !~ '/done'
let ind = ind + &sw
endif
endif
let line = getline(v:lnum)
if line =~ '\(/else\|/endif\|/then\)'
if line !~ '/if'
let ind = ind - &sw
endif
elseif line =~ '/done'
if line !~ '/while'
let ind = ind - &sw
endif
endif
" Comments at the beginning of a line:
if line =~ '^\s*;'
let ind = 0
endif
return ind
endfunction

View File

@ -0,0 +1,16 @@
let s:encoding = &enc
if s:encoding == 'latin1'
if has("unix")
let s:encoding = 'iso-8859-2'
else
let s:encoding = 'cp1250'
endif
endif
if s:encoding == 'utf-8'
source <sfile>:p:h/croatian_utf-8.vim
elseif s:encoding == 'cp1250'
source <sfile>:p:h/croatian_cp1250.vim
else
source <sfile>:p:h/croatian_iso-8859-2.vim
endif

View File

@ -0,0 +1,65 @@
" Vim Keymap file for Croatian characters, classical variant, cp1250 encoding
"
" Maintainer: Paul B. Mahol <onemda@gmail.com>
" Last Changed: 2007 Oct 15
scriptencoding cp1250
let b:keymap_name = "croatian-cp1250"
" Uncomment line below if you prefer short name
"let b:keymap_name = "hr-cp1250"
loadkeymap
z y
Z Y
y z
Y Z
[ <09>
{ <09>
] <09>
} <09>
; <09>
: <09>
' <09>
" <09>
\ <09>
| <09>
/ -
? _
> :
< ;
<EFBFBD> <
<EFBFBD> >
<EFBFBD> {
<EFBFBD> }
<EFBFBD> [
<EFBFBD> ]
<EFBFBD> \
<EFBFBD> |
= +
+ *
- '
_ ?
@ "
^ &
& /
* (
( )
) =
<EFBFBD> ~
<EFBFBD> @
<EFBFBD> ^
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> `
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>
<EFBFBD> <09>

View File

@ -1,7 +1,7 @@
" Menu translations for Catalan
"
" Maintainer: Ernest Adrogu<67> <eadrogue@gmx.net>
" Last Change: 18 Jan 2004
" Last Change: 6 Jun 2008
"
" Quit when menu translations have already been done.
@ -16,7 +16,6 @@ if &enc != "cp1252" && &enc != "iso-8859-15"
scriptencoding latin1
endif
" men<65> Ajuda
menutrans &Help &Ajuda
menutrans &Overview<Tab><F1> &Introducci<EFBFBD><Tab><F1>
@ -25,17 +24,18 @@ menutrans &How-to\ links Com\ &fer\.\.\.?
menutrans &Find\.\.\. &Cerca\.\.\.
menutrans &Credits &Autors
menutrans Co&pying Con&dicions
menutrans &Sponsor/Register &Patrocini/Registre
menutrans O&rphans &Orfes
menutrans &Version &Versi<EFBFBD>
menutrans &About &Quant\ a\.\.\.
" text del di<64>leg Ajuda/Cerca...
let g:menutrans_help_dialog = "Introdu<64>u el terme sobre el qual necessiteu ajuda.\n\nUseu el prefix i_ per ordres d'entrada (p.ex.: i_CTRL-X)\nUseu el prefix c_ per ordres de la l<>nia d'ordres (p.ex.: c_<Del>)\nUseu el prefix ' per noms d'opcions (p.ex.: 'shiftwidth')"
" men<65> Fitxer
menutrans &File &Fitxer
menutrans &Open\.\.\.<Tab>:e &Obre\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp Obre\ en\ una\ &finestra\ nova\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew Obre\ pestanya\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew &Nou<Tab>:enew
menutrans &Close<Tab>:close &Tanca<Tab>:close
menutrans &Save<Tab>:w &Desa<Tab>:w
@ -46,7 +46,6 @@ menutrans &Print &Imprimeix
menutrans Sa&ve-Exit<Tab>:wqa Desa\ i\ s&urt<Tab>:wqa
menutrans E&xit<Tab>:qa &Surt<Tab>:qa
" men<65> Edita
menutrans &Edit &Edita
menutrans &Undo<Tab>u &Desf<EFBFBD>s<Tab>u
@ -58,14 +57,15 @@ menutrans &Paste<Tab>"+gP Engan&xa<Tab>"+gP
menutrans Put\ &Before<Tab>[p Posa\ &abans<Tab>[p
menutrans Put\ &After<Tab>]p P&osa\ despr<EFBFBD>s<Tab>]p
menutrans &Delete<Tab>x Suprimeix<Tab>x
menutrans &Select\ all<Tab>ggVG &Selecciona-ho\ tot<Tab>ggVG
menutrans &Select\ All<Tab>ggVG &Selecciona-ho\ tot<Tab>ggVG
menutrans &Find\.\.\. &Cerca\.\.\.
menutrans &Find<Tab>/ &Cerca<Tab>/
menutrans Find\ and\ Rep&lace Cerca\ i\ s&ubstitueix
menutrans Find\ and\ Rep&lace\.\.\. Cerca\ i\ s&ubstitueix\.\.\.
menutrans Find\ and\ Rep&lace<Tab>:%s Cerca\ i\ s&ubstitueix<Tab>:%s
menutrans Find\ and\ Rep&lace<Tab>:s Cerca\ i\ s&ubstitueix<Tab>:s
menutrans Settings\ &Window &Finestra\ d'opcions
menutrans Settings\ &Window Fin&estra\ d'opcions
menutrans Startup\ &Settings Opcions\ i&nicials
menutrans &Global\ Settings Opcions\ &globals
" submen<65> Edita/Opcions Globals
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Ressalt\ de\ &patrons<Tab>:set\ hls!
@ -100,7 +100,7 @@ menutrans F&ile\ Settings Opcions\ del\ f&itxer
menutrans Soft\ &Tabstop Amplada\ de\ &tabulaci<EFBFBD>
menutrans Te&xt\ Width\.\.\. &Amplada\ del\ text\.\.\.
menutrans &File\ Format\.\.\. &Format\ del\ fitxer\.\.\.
menutrans Select\ Fo&nt\.\.\. Tipus\ de\ &lletra\.\.\.
menutrans Select\ Fo&nt\.\.\. &Fosa\.\.\.
menutrans C&olor\ Scheme Es&quema\ de\ colors
" submen<65> Edita/Esquema de colors
menutrans blue blau
@ -144,6 +144,25 @@ menutrans &Tools Ei&nes
menutrans &Jump\ to\ this\ tag<Tab>g^] &Salta\ a\ aquesta\ etiqueta<Tab>g^]
menutrans Jump\ &back<Tab>^T Salta\ en&rere<Tab>^T
menutrans Build\ &Tags\ File Crea\ un\ fitxer\ d'eti&quetes
menutrans &Spelling &Ortografia
" submen<65> Eines/Ortografia
menutrans &Spell\ Check\ On Activa\ la\ &revisi<EFBFBD>\ ortogr<EFBFBD>fica
menutrans Spell\ Check\ &Off &Desactiva\ la\ revisi<EFBFBD>\ ortogr<EFBFBD>fica
menutrans To\ &Next\ error<Tab>]s Error\ &seg<EFBFBD>ent<tab>]s
menutrans To\ &Previous\ error<Tab>[s Error\ &anterior<tab>[s
menutrans Suggest\ &Corrections<Tab>z= Su&ggeriments<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall Re&peteix\ la\ correcci<EFBFBD><Tab>:spellrepall
menutrans Set\ language\ to\ "en" Selecciona\ l'idioma\ "en"
menutrans Set\ language\ to\ "en_au" Selecciona\ l'idioma\ "en_au"
menutrans Set\ language\ to\ "en_ca" Selecciona\ l'idioma\ "en_ca"
menutrans Set\ language\ to\ "en_gb" Selecciona\ l'idioma\ "en_gb"
menutrans Set\ language\ to\ "en_nz" Selecciona\ l'idioma\ "en_nz"
menutrans Set\ language\ to\ "en_us" Selecciona\ l'idioma\ "en_us"
menutrans Set\ language\ to\ "ca" Selecciona\ l'idioma\ "ca"
menutrans Set\ language\ to\ "es" Selecciona\ l'idioma\ "es"
menutrans Set\ language\ to\ "fr" Selecciona\ l'idioma\ "fr"
menutrans Set\ language\ to\ "it" Selecciona\ l'idioma\ "it"
menutrans &Find\ More\ Languages &Cerca\ altres\ idiomes
menutrans &Folding &Plecs
" submen<65> Eines/Plecs
menutrans &Enable/Disable\ folds<Tab>zi &Habilita/Deshabilita\ els\ plecs<Tab>zi
@ -183,6 +202,7 @@ menutrans Error\ &Window F&inestra\ d'errors
menutrans &Open<Tab>:copen &Obre<Tab>:copen
menutrans &Close<Tab>:cclose &Tanca<Tab>:cclose
menutrans &Set\ Compiler &Compilador
menutrans &SeT\ Compiler &Compilador
menutrans &Convert\ to\ HEX<Tab>:%!xxd Converteix\ a\ &HEX<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Torna\ al\ format\ &original<Tab>:%!xxd\ -r

View File

@ -0,0 +1,3 @@
" Menu Translations: Finnish for latin 1 encoding
source <sfile>:p:h/menu_fi_fi.latin1.vim

View File

@ -0,0 +1,473 @@
" Menu Translations: Finnish
" Maintainer: Flammie Pirinen <flammie@iki.fi>
" Last Change: 2007 Sep 04
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
" Translations should be in latin1, if it requires latin9 or even unicode,
" change this:
if &enc != "cp1252" && &enc != "iso-8859-15" && &enc != "iso-8859-1"
scriptencoding latin1
endif
" Accels: TMYSPIO
menutrans &File &Tiedosto
" Accels: AJTUSNIDPOE
menutrans &Open\.\.\.<Tab>:e &Avaa\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp Avaa\ &jaettuna\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew Avaa\ &tabissa\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew &Uusi<Tab>:enew
menutrans &Close<Tab>:close &Sulje<Tab>:close
" -SEP1-
menutrans &Save<Tab>:w Talle&nna<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Tallenna\ n&imell<EFBFBD>\.\.\.<Tab>:sav
" -SEP2-
menutrans Split\ &Diff\ with\.\.\. Jaa\ &diffill<EFBFBD>\.\.\.
menutrans Split\ Patched\ &By\.\.\. Jaa\ &patchilla\.\.\.
" -SEP3-
menutrans &Print Tul&osta
" -SEP4-
menutrans Sa&ve-Exit<Tab>:wqa Tall&enna\ ja\ lopeta<Tab>:wqa
menutrans E&xit<Tab>:qa &Lopeta<Tab>:qa
menutrans &Edit &Muokkaa
" Accels: KPTLOIEJSAHRUYKVNF
menutrans &Undo<Tab>u &Kumoa<Tab>u
menutrans &Redo<Tab>^R &Palauta<Tab>^R
menutrans Rep&eat<Tab>\. &Toista<Tab>\.
" -SEP1-
menutrans Cu&t<Tab>"+x &Leikkaa<Tab>"+x
menutrans &Copy<Tab>"+y K&opioi<Tab>"+y
menutrans &Paste<Tab>"+gP L&iit<69><Tab>"+gP
menutrans Put\ &Before<Tab>[p Lis<EFBFBD><EFBFBD>\ &ennen<Tab>[p
menutrans Put\ &After<Tab>]p Lis<EFBFBD><EFBFBD>\ &j<EFBFBD>lkeen<Tab>]p
menutrans &Delete<Tab>x Poi&sta<Tab>x
menutrans &Select\ All<Tab>ggVG V&alitse\ kaikki<Tab>ggVG
" -SEP2-
menutrans &Find\.\.\. &Hae\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Hae\ ja\ ko&rvaa\.\.\.
menutrans &Find<Tab>/ &Hae<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Hae\ ja\ ko&rvaa<Tab>:%s
menutrans Find\ and\ Rep&lace<Tab>:s Hae\ ja\ ko&rvaa<Tab>:s
" -SEP3-
menutrans Settings\ &Window Aset&usikkuna
menutrans Startup\ &Settings &K<EFBFBD>ynnistysasetukset
menutrans &Global\ Settings &Yleiset\ asetukset
" Submenu:
" Accels: KOSHVYIATLEPR
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Korostus<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Ohita\ kirjaintaso<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Suljekorostus<Tab>:set\ sm!
menutrans &Context\ lines &Huomioitavat\ kontekstirivit
" Subsubmenu:
" Accels: ELSOA
menutrans &Virtual\ Edit &Virtuaalimuokkaus
menutrans Never &Ei koskaan
menutrans Block\ Selection &Lohkovalinta
menutrans Insert\ mode &Sy<EFBFBD>tt<EFBFBD>tila
menutrans Block\ and\ Insert L&ohkosy<EFBFBD>tt<EFBFBD>tila
menutrans Always &Aina
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! S&y<EFBFBD>tt<EFBFBD>tila<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! V&i-tila<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. H&akupolku\.\.\.
menutrans Ta&g\ Files\.\.\. &T<EFBFBD>gitiedostot\.\.\.
" -SEP1-
menutrans Toggle\ &Toolbar Ty<EFBFBD>ka&lupalkki
menutrans Toggle\ &Bottom\ Scrollbar Vaakavi&erityspalkki
menutrans Toggle\ &Left\ Scrollbar Vasen\ &pystyvierityspalkki
menutrans Toggle\ &Right\ Scrollbar Oikea\ pystyvie&rityspalkki
let g:menutrans_path_dialog = "Anna tiedostojen hakupolku.\nErota hakemistot pilkuin."
let g:menutrans_tags_dialog = "Anna t<>gitiedostojen nimet.\nErota tidostot pilkuin."
menutrans F&ile\ Settings Tiedostoasetu&kset
" Submenu:
" Accels: NLRSTACIBEM
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Rivi&numerointi<Tab>:set\ nu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! &Listaustila<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Rivitys<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! &Sanoittainen rivitys<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Muuta\ &tabit\ v<EFBFBD>leiksi<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! &Automaattinen\ sisennys<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &C-kielen\ sisennys<Tab>:set\ cin!
" -SEP2-
menutrans &Shiftwidth S&isennysleveys
menutrans Soft\ &Tabstop N<EFBFBD>enn<EFBFBD>ista&bulointi
menutrans Te&xt\ Width\.\.\. Tekstinl&eveys\.\.\.
menutrans &File\ Format\.\.\. Tiedosto&muoto\.\.\.
let g:menutrans_textwidth_dialog = "Anna uusi tekstin leveys\n(0 poistaa k<>yt<79>st<73>)"
let g:menutrans_fileformat_dialog = "Anaa tiedoston kirjoitusmuoto."
let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Peru "
menutrans C&olor\ Scheme &V<EFBFBD>riteema
menutrans &Keymap &N<EFBFBD>pp<EFBFBD>inkartta
menutrans None Ei mik<EFBFBD><EFBFBD>n
menutrans Select\ Fo&nt\.\.\. Valitse\ &fontti\.\.\.
menutrans &Tools T&y<EFBFBD>kalut
" Accels: ___OTDM__
menutrans &Jump\ to\ this\ tag<Tab>g^] Siirry\ t<EFBFBD>giin<Tab>g^]
menutrans Jump\ &back<Tab>^T Siirry\ takaisin<Tab>^T
menutrans Build\ &Tags\ File Luo\ t<EFBFBD>gitiedosto
" -SEP1-
menutrans &Spelling &Oikeinkirjoitus
" Submenu:
" Accels: OSEKT
menutrans &Spell\ Check\ On &Oikaisuluku\ p<EFBFBD><EFBFBD>lle
menutrans Spell\ Check\ &Off &Oikaisuluku\ pois\ p<EFBFBD><EFBFBD>lt<EFBFBD>
menutrans To\ &Next\ error<Tab>]s &Seuraavaan\ virheeseen<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Edelliseen\ virheeseen<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= Ehdota\ &korjausta<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall &Toista\ korjaus<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Aseta\ kieleksi\ en
menutrans Set\ language\ to\ "en_au" Aseta\ kieleksi\ en_au
menutrans Set\ language\ to\ "en_ca" Aseta\ kieleksi\ en_ca
menutrans Set\ language\ to\ "en_gb" Aseta\ kieleksi\ en_gb
menutrans Set\ language\ to\ "en_nz" Aseta\ kieleksi\ en_nz
menutrans Set\ language\ to\ "en_us" Aseta\ kieleksi\ en_us
menutrans &Find\ More\ Languages Hae\ lis<EFBFBD><EFBFBD>\ kieli<EFBFBD>
menutrans &Folding &Taitokset
" Accels: TNVSAPEOKL
menutrans &Enable/Disable\ folds<Tab>zi &Taitokset<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv &N<EFBFBD>yt<EFBFBD>\ kursorin\ rivi<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx N<EFBFBD>yt<EFBFBD>\ &vain\ kursorin\ rivi<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm &Sulje\ lis<EFBFBD><EFBFBD>\ taitoksia<Tab>zm
menutrans &Close\ all\ folds<Tab>zM &Sulje\ kaikki\ taitokset<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr &Avaa\ lis<EFBFBD><EFBFBD>\ taitoksia<Tab>zr
menutrans &Open\ all\ folds<Tab>zR &Avaa\ kaikki\ taitokset<Tab>zR
" -SEP1-
menutrans Fold\ Met&hod Taitteluta&pa
" Submenu:
" Accels: MILSDM
menutrans M&anual &Manuaalinen
menutrans I&ndent S&isennys
menutrans E&xpression I&lmaus
menutrans S&yntax &Syntaksi
menutrans &Diff &Diff
menutrans Ma&rker &Merkit
menutrans Create\ &Fold<Tab>zf T&ee\ taitos<Tab>zf
menutrans &Delete\ Fold<Tab>zd P&oista\ taitos<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD Poista\ &kaikki\ taitokset<Tab>zD
" -SEP2-
menutrans Fold\ col&umn\ width Taitossarakkeen\ &leveys
menutrans &Diff &Diffit
" Submenu:
" Accels: PHL
menutrans &Update &P<EFBFBD>ivit<EFBFBD>
menutrans &Get\ Block &Hae\ lohko
menutrans &Put\ Block &Lis<EFBFBD><EFBFBD>\ lohko
" -SEP2-
menutrans &Make<Tab>:make &Make<Tab>:make
menutrans &List\ Errors<Tab>:cl Virheluettelo<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! Virheviestit<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Seuraava\ virhe<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Edellinen\ virhe<Tab>:cp
menutrans &Older\ List<Tab>:cold Edellinen\ lista<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew Seuraava\ lista<Tab>:cnew
menutrans Error\ &Window Virheikkuna
" Submenu:
" Accels: PAS
menutrans &Update<Tab>:cwin &P<EFBFBD>ivit<EFBFBD><Tab>:cwin
menutrans &Open<Tab>:copen &Avaa<Tab>:copen
menutrans &Close<Tab>:cclose &Sulje<Tab>:cclose
menutrans Se&T\ Compiler Ase&ta\ k<EFBFBD><EFBFBD>nt<EFBFBD>j<EFBFBD>
" -SEP3-
menutrans &Convert\ to\ HEX<Tab>:%!xxd Muunna\ heksoiksi<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Muunna\ takaisin<Tab>:%!xxd\ -r
menutrans &Syntax &Syntaksi
" Accels: NSFPMAT
menutrans &Show\ filetypes\ in\ menu &N<EFBFBD>yt<EFBFBD>\ tiedostotyypit\ valikossa
" -SEP1-
menutrans Set\ '&syntax'\ only Aseta\ vain\ &syntax
menutrans Set\ '&filetype'\ too Aseta\ my<EFBFBD>s\ &filetype
menutrans &Off &Pois\ p<EFBFBD><EFBFBD>lt<EFBFBD>
" -SEP3-
menutrans Co&lor\ test Testaa\ v<EFBFBD>rit
menutrans &Highlight\ test Testaa\ korostukset
menutrans &Convert\ to\ HTML Muunna\ HTML:ksi
" -SEP2-
menutrans &Off &Pois\ p<EFBFBD><EFBFBD>lt<EFBFBD>
menutrans &Manual &Manuaalinen
menutrans A&utomatic &Automaattinen
menutrans on/off\ for\ &This\ file Kytke\ &t<EFBFBD>lle\ tiedostolle
" The Start Of The Syntax Menu
menutrans ABC\ music\ notation ABC\ (notation\ musicale)
menutrans AceDB\ model Mod<EFBFBD>le\ AceDB
menutrans Apache\ config Config\.\ Apache
menutrans Apache-style\ config Config\.\ style\ Apache
menutrans ASP\ with\ VBScript ASP\ avec\ VBScript
menutrans ASP\ with\ Perl ASP\ avec\ Perl
menutrans Assembly Assembleur
menutrans BC\ calculator Calculateur\ BC
menutrans BDF\ font Fonte\ BDF
menutrans BIND\ config Config\.\ BIND
menutrans BIND\ zone Zone\ BIND
menutrans Cascading\ Style\ Sheets Feuilles\ de\ style\ en\ cascade
menutrans Cfg\ Config\ file Fichier\ de\ config\.\ \.cfg
menutrans Cheetah\ template Patron\ Cheetah
menutrans commit\ file Fichier\ commit
menutrans Generic\ Config\ file Fichier\ de\ config\.\ g<EFBFBD>n<EFBFBD>rique
menutrans Digital\ Command\ Lang DCL
menutrans DNS/BIND\ zone Zone\ BIND/DNS
menutrans Dylan\ interface Interface
menutrans Dylan\ lid LID
menutrans Elm\ filter\ rules R<EFBFBD>gles\ de\ filtrage\ Elm
menutrans ERicsson\ LANGuage Erlang\ (langage\ Ericsson)
menutrans Essbase\ script Script\ Essbase
menutrans Eterm\ config Config\.\ Eterm
menutrans Exim\ conf Config\.\ Exim
menutrans Fvwm\ configuration Config\.\ Fvwm
menutrans Fvwm2\ configuration Config\.\ Fvwm2
menutrans Fvwm2\ configuration\ with\ M4 Config\.\ Fvwm2\ avec\ M4
menutrans GDB\ command\ file Fichier\ de\ commandes\ GDB
menutrans HTML\ with\ M4 HTML\ avec\ M4
menutrans Cheetah\ HTML\ template Patron\ Cheetah\ pour\ HTML
menutrans IDL\Generic\ IDL IDL\IDL\ g<EFBFBD>n<EFBFBD>rique
menutrans IDL\Microsoft\ IDL IDL\IDL\ Microsoft
menutrans Indent\ profile Profil\ Indent
menutrans Inno\ setup Config\.\ Inno
menutrans InstallShield\ script Script\ InstallShield
menutrans KDE\ script Script\ KDE
menutrans LFTP\ config Config\.\ LFTP
menutrans LifeLines\ script Script\ LifeLines
menutrans Lynx\ Style Style\ Lynx
menutrans Lynx\ config Config\.\ Lynx
menutrans Man\ page Page\ Man
menutrans MEL\ (for\ Maya) MEL\ (pour\ Maya)
menutrans 4DOS\ \.bat\ file Fichier\ \.bat\ 4DOS
menutrans \.bat\/\.cmd\ file Fichier\ \.bat\ /\ \.cmd
menutrans \.ini\ file Fichier\ \.ini
menutrans Module\ Definition D<EFBFBD>finition\ de\ module
menutrans Registry Extrait\ du\ registre
menutrans Resource\ file Fichier\ de\ ressources
menutrans Novell\ NCF\ batch Batch\ Novell\ NCF
menutrans NSIS\ script Script\ NSIS
menutrans Oracle\ config Config\.\ Oracle
menutrans Palm\ resource\ compiler Compil\.\ de\ resources\ Palm
menutrans PHP\ 3-4 PHP\ 3\ et\ 4
menutrans Postfix\ main\ config Config\.\ Postfix
menutrans Povray\ scene\ descr Sc<EFBFBD>ne\ Povray
menutrans Povray\ configuration Config\.\ Povray
menutrans Purify\ log Log\ Purify
menutrans Readline\ config Config\.\ Readline
menutrans RCS\ log\ output Log\ RCS
menutrans RCS\ file Fichier\ RCS
menutrans RockLinux\ package\ desc\. Desc\.\ pkg\.\ RockLinux
menutrans Samba\ config Config\.\ Samba
menutrans SGML\ catalog Catalogue\ SGML
menutrans SGML\ DTD DTD\ SGML
menutrans SGML\ Declaration D<EFBFBD>claration\ SGML
menutrans Shell\ script Script\ shell
menutrans sh\ and\ ksh sh\ et\ ksh
menutrans Sinda\ compare Comparaison\ Sinda
menutrans Sinda\ input Entr<EFBFBD>e\ Sinda
menutrans Sinda\ output Sortie\ Sinda
menutrans SKILL\ for\ Diva SKILL\ pour\ Diva
menutrans Smarty\ Templates Patrons\ Smarty
menutrans SNNS\ network R<EFBFBD>seau\ SNNS
menutrans SNNS\ pattern Motif\ SNNS
menutrans SNNS\ result R<EFBFBD>sultat\ SNNS
menutrans Snort\ Configuration Config\.\ Snort
menutrans Squid\ config Config\.\ Squid
menutrans Subversion\ commit Commit\ Subversion
menutrans TAK\ compare Comparaison\ TAK
menutrans TAK\ input Entr<EFBFBD>e\ TAK
menutrans TAK\ output Sortie\ TAK
menutrans TeX\ configuration Config\.\ TeX
menutrans TF\ mud\ client TF\ (client\ MUD)
menutrans Tidy\ configuration Config\.\ Tidy
menutrans Trasys\ input Entr<EFBFBD>e\ Trasys
menutrans Command\ Line Ligne\ de\ commande
menutrans Geometry G<EFBFBD>om<EFBFBD>trie
menutrans Optics Optiques
menutrans Vim\ help\ file Fichier\ d'aide\ Vim
menutrans Vim\ script Script\ Vim
menutrans Viminfo\ file Fichier\ Viminfo
menutrans Virata\ config Config\.\ Virata
menutrans Wget\ config Config\.\ wget
menutrans Whitespace\ (add) Espaces\ et\ tabulations
menutrans WildPackets\ EtherPeek\ Decoder D<EFBFBD>codeur\ WildPackets\ EtherPeek
menutrans X\ resources Resources\ X
menutrans XXD\ hex\ dump Sortie\ hexa\.\ de\ xxd
menutrans XFree86\ Config Config\.\ XFree86
menutrans &Buffers &Puskurit
" Accels: VPASE
menutrans Dummy Dummy
menutrans &Refresh\ menu P<EFBFBD>ivit<EFBFBD>\ &valikko
menutrans &Delete &Poista
menutrans &Alternate V&aihda
menutrans &Next &Seuraava
menutrans &Previous &Edellinen
" -SEP-
" (Alphabet menus)
menutrans &others &muut
let g:menutrans_no_file = "[Ei tiedostoja]"
menutrans &Window &Ikkuna
" Accels: UJPTSMIYAKOL
menutrans &New<Tab>^Wn &Uusi\ ikkuna<Tab>^Wn
menutrans S&plit<Tab>^Ws &Jaa<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ &Jaa\ #<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv Jaa\ &pystysuunnassa<Tab>^Wv
menutrans Split\ File\ E&xplorer Jaa\ &tiedostonhallinnalle
" -SEP1-
menutrans &Close<Tab>^Wc &Sulje<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo Sulje\ &muut<Tab>^Wo
" -SEP2-
menutrans Move\ &To S&iirr<EFBFBD>
" Submenu:
" Accels: YAOV
menutrans &Top<Tab>^WK &Yl<EFBFBD>s<Tab>^WK
menutrans &Bottom<Tab>^WJ &Alas<Tab>^WJ
menutrans &Left\ side<Tab>^WH &Oikealle<Tab>^WH
menutrans &Right\ side<Tab>^WL &Vasemmalle<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR Vaihda\ &ylemm<EFBFBD>s<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr Vaihda\ &alemmas<Tab>^Wr
" -SEP3-
menutrans &Equal\ Size<Tab>^W= Saman\ &kokoisiksi<Tab>^W=
menutrans &Max\ Height<Tab>^W_ Enimm<EFBFBD>isk&orkeuteen<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ V<EFBFBD>himm<EFBFBD>isk&orkeuteen<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| Enimm<EFBFBD>is&leveyteen<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| V<EFBFBD>himm<EFBFBD>is&leveyteen<Tab>^W1\|
" (Plugin menus here)
menutrans Plugin Liit<EFBFBD>nn<EFBFBD>iset
menutrans &Help &Ohje
" Accels: YKUHTLROVI
menutrans &Overview<Tab><F1> &Yleiskatsaus<Tab><F1>
menutrans &User\ Manual &K<EFBFBD>ytt<EFBFBD>ohje
menutrans &How-to\ links K&UINKA-linkkej<EFBFBD>
menutrans &Find\.\.\. &Hae\.\.\.
" -sep1-
menutrans &Credits &Tekij<EFBFBD>t
menutrans Co&pying &Lisenssi
menutrans &Sponsor/Register Sponsoroi/&Rekister<EFBFBD>i
menutrans O&rphans &Orvoista
" -sep2-
menutrans &Version &Versio
menutrans &About T&ietoja
let g:menutrans_help_dialog = "Anna komento tai sana, jota haetaan ohjeesta.\n\nAloita i_:ll<6C> sy<73>tt<74>tilan komentoja varten (esim. i_CTRL-X)\nAloita c_:ll<6C> komentorivi<76> varten (esim. c_<Del>)\nKirjoita asetukset puolilainausmerkkeijin (esim. 'shiftwidth')"
" PopUp
menutrans &Undo &Kumoa
" -SEP1-
menutrans Cu&t &Leikkaa
menutrans &Copy &Kopioi
menutrans &Paste L&iit<EFBFBD>
" &Buffers.&Delete overwrites this one
menutrans &Delete &Poista
" -SEP2-
menutrans Select\ Blockwise Valitse\ lohkoittain
menutrans Select\ &Word Valitse\ &sana
menutrans Select\ &Line Valitse\ &rivi
menutrans Select\ &Block Valitse\ &lohko
menutrans Select\ &All Valitse\ &kaikki
" ToolBar
menutrans Open Avaa
menutrans Save Tallenna
menutrans SaveAll TallennaKaikki
menutrans Print Tulosta
" -sep1-
menutrans Undo Kumoa
menutrans Redo Palauta
" -sep2-
menutrans Cut Leikkaa
menutrans Copy Kopioi
menutrans Paste Liit<EFBFBD>
" -sep3-
menutrans Find Etsi
menutrans FindNext EtsiSeur
menutrans FindPrev EtsiEd
menutrans Replace Korvaa
" -sep4-
menutrans New Uusi
menutrans WinSplit JaaIkk
menutrans WinMax IkkMax
menutrans WinMin IkkMin
menutrans WinVSplit JaaIkkV
menutrans WinMaxWidth IkkMaxLev
menutrans WinMinWidth IkkMinLev
menutrans WinClose SuljeIkk
" -sep5-
menutrans LoadSesn AvaaSess
menutrans SaveSesn TallSess
menutrans RunScript AjaSkripti
" -sep6-
menutrans Make Make
menutrans RunCtags AjaCTags
menutrans TagJump TagHypp
" -sep7-
menutrans Help Ohje
menutrans FindHelp OhjeHaku
fun! Do_toolbar_tmenu()
let did_toolbar_tmenu = 1
tmenu ToolBar.Open Avaa tiedosto
tmenu ToolBar.Save Tallenna nykyinen tiedosto
tmenu ToolBar.SaveAll Tallenna kaikki tiedostot
tmenu ToolBar.Print Tulosta
tmenu ToolBar.Undo Kumoa
tmenu ToolBar.Redo Palauta
tmenu ToolBar.Cut Leikkaa
tmenu ToolBar.Copy Kopioi
tmenu ToolBar.Paste Liit<EFBFBD>
if !has("gui_athena")
tmenu ToolBar.Find Hae
tmenu ToolBar.FindNext Hae seuraava
tmenu ToolBar.FindPrev Hae edellinen
tmenu ToolBar.Replace Korvaa
endif
if 0 " disabled; These are in the Windows menu
tmenu ToolBar.New Uusi ikkuna
tmenu ToolBar.WinSplit Jaa ikkuna
tmenu ToolBar.WinMax Maximiser fen<EFBFBD>tre
tmenu ToolBar.WinMin Minimiser fen<EFBFBD>tre
tmenu ToolBar.WinVSplit Fractionner verticalement
tmenu ToolBar.WinMaxWidth Maximiser largeur fen<EFBFBD>tre
tmenu ToolBar.WinMinWidth Minimiser largeur fen<EFBFBD>tre
tmenu ToolBar.WinClose Fermer fen<EFBFBD>tre
endif
tmenu ToolBar.LoadSesn Avaa sessio
tmenu ToolBar.SaveSesn Tallenna nykyinen sessio
tmenu ToolBar.RunScript Lataa vim-skripti
tmenu ToolBar.Make Suorita make
tmenu ToolBar.RunCtags Suorita CTags
tmenu ToolBar.TagJump Hypp<EFBFBD><EFBFBD> t<EFBFBD>giin
tmenu ToolBar.Help Vimin ohje
tmenu ToolBar.FindHelp Etsi ohjeesta
endfun
" vim: set fileencoding=latin1

View File

@ -1,7 +1,7 @@
" ---------------------------------------------------------------------
" getscriptPlugin.vim
" Author: Charles E. Campbell, Jr.
" Date: Jul 18, 2006
" Date: Jan 07, 2008
" Installing: :help glvs-install
" Usage: :help glvs
"
@ -19,8 +19,7 @@ if &cp || exists("g:loaded_getscriptPlugin")
endif
finish
endif
let g:loaded_getscriptPlugin = 1
let s:keepfo = &fo
let g:loaded_getscriptPlugin = "v30"
let s:keepcpo = &cpo
set cpo&vim
@ -30,9 +29,10 @@ com! -nargs=0 GetLatestVimScripts call getscript#GetLatestVimScripts()
com! -nargs=0 GetScripts call getscript#GetLatestVimScripts()
silent! com -nargs=0 GLVS call getscript#GetLatestVimScripts()
" ---------------------------------------------------------------------
" Restore Options: {{{1
let &fo = s:keepfo
let &cpo= s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" vim: ts=8 sts=2 fdm=marker nowrap

View File

@ -14,7 +14,7 @@
if &cp || exists("g:loaded_tarPlugin")
finish
endif
let g:loaded_tarPlugin = 1
let g:loaded_tarPlugin = "v16"
let s:keepcpo = &cpo
set cpo&vim
@ -22,20 +22,21 @@ set cpo&vim
" Public Interface: {{{1
augroup tar
au!
au BufReadCmd tarfile:* call tar#Read(expand("<amatch>"), 1)
au FileReadCmd tarfile:* call tar#Read(expand("<amatch>"), 0)
au BufWriteCmd tarfile:* call tar#Write(expand("<amatch>"))
au FileWriteCmd tarfile:* call tar#Write(expand("<amatch>"))
au BufReadCmd tarfile::* call tar#Read(expand("<amatch>"), 1)
au FileReadCmd tarfile::* call tar#Read(expand("<amatch>"), 0)
au BufWriteCmd tarfile::* call tar#Write(expand("<amatch>"))
au FileWriteCmd tarfile::* call tar#Write(expand("<amatch>"))
if has("unix")
au BufReadCmd tarfile:*/* call tar#Read(expand("<amatch>"), 1)
au FileReadCmd tarfile:*/* call tar#Read(expand("<amatch>"), 0)
au BufWriteCmd tarfile:*/* call tar#Write(expand("<amatch>"))
au FileWriteCmd tarfile:*/* call tar#Write(expand("<amatch>"))
au BufReadCmd tarfile::*/* call tar#Read(expand("<amatch>"), 1)
au FileReadCmd tarfile::*/* call tar#Read(expand("<amatch>"), 0)
au BufWriteCmd tarfile::*/* call tar#Write(expand("<amatch>"))
au FileWriteCmd tarfile::*/* call tar#Write(expand("<amatch>"))
endif
au BufReadCmd *.tar call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.gz call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar call tar#Browse(expand("<amatch>"))
au BufReadCmd *.lrp call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.bz2 call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tar.Z call tar#Browse(expand("<amatch>"))
au BufReadCmd *.tgz call tar#Browse(expand("<amatch>"))

View File

@ -1,122 +1,176 @@
*** fr_FR.orig.aff Sun Oct 2 12:36:49 2005
--- fr_FR.aff Sun Oct 2 12:36:49 2005
*** fr_FR.orig.aff Wed Feb 13 14:53:22 2008
--- fr_FR.aff Wed Feb 13 15:03:20 2008
***************
*** 3,4 ****
--- 3,21 ----
*** 3,19 ****
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+ MIDWORD '
+
+ MAP 9
+ MAP a<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP e<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP i<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP o<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP u<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ MAP n<EFBFBD>
+ MAP c<>
! MAP 12
! MAP a<EFBFBD><EFBFBD><EFBFBD>
! MAP e<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
! MAP i<><69>y
! MAP o<><6F>
! MAP u<><75><EFBFBD>
MAP c<EFBFBD>
- MAP A<EFBFBD><EFBFBD><EFBFBD>
- MAP E<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- MAP I<EFBFBD><EFBFBD>Y
- MAP O<EFBFBD><EFBFBD>
- MAP U<EFBFBD><EFBFBD><EFBFBD>
MAP C<EFBFBD>
! REP 44
REP f ph
--- 3,31 ----
! FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
! LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
! UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
!
! MIDWORD '-
!
! MAP 17
! MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
! MAP A<><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
! MAP e<><65><EFBFBD><EFBFBD>
! MAP E<><45><EFBFBD><EFBFBD>
! MAP i<><69><EFBFBD><EFBFBD>
! MAP I<><49><EFBFBD><EFBFBD>
! MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
! MAP O<><4F><EFBFBD><EFBFBD><EFBFBD>
! MAP u<><75><EFBFBD><EFBFBD>
! MAP U<><55><EFBFBD><EFBFBD>
! MAP n<>
! MAP N<>
MAP c<>
MAP C<>
+ MAP y<><79>
+ MAP Y<><59>
+ MAP s<>
+
PFX A Y 10
!
! REP 24
REP f ph
***************
*** 692,694 ****
!
!
--- 709,800 ----
! # sound folding from Aspell
! # Copyright (C) 2000 R<>mi Vanicat, distributed under LGPL
! # version francais 0.000000001
!
! #EMME ~ AME
! SAL AIX$ E
! SAL AI E
! SAL AN(AEUIO)- AM
! SAL AN A
! SAL AMM AM
! SAL AM(AEUIO)- AM
! SAL AM A
! SAL AUD$ O
! SAL AUX$ O
! SAL AU O
! SAL A A
! SAL <20> A
! SAL <20> A
! SAL BB P
! SAL B P
! SAL <20> S
! SAL C(EI)- S
! SAL CU(EI)- K
! SAL CC(EI)- X
! SAL CC K
! SAL CH CH
! SAL C K
! SAL DD T
! SAL D T
! SAL EMMENTAL EMATAL
! SAL EMMENTHAL EMATAL
! SAL EM(AEIOU)- EM
! SAL EM A
! SAL ET$ E
! SAL EUX$ E
! SAL EU E
! SAL EN(AEUIO)- EM
! SAL EN A
! SAL ER$ E
! SAL EO O
! SAL EAUX$ O
! SAL EAU O
! SAL E E
! SAL <20> E
! SAL <20> E
! SAL <EFBFBD> E
! SAL F F
! SAL G(EIY)- J
! SAL GU(EIY)- G
! SAL G G
! SAL H _
! SAL I I
! SAL <EFBFBD> I
! SAL J J
! SAL KS X
! SAL K K
! SAL LL L
! SAL L L
! SAL MM M
! SAL M M
! SAL NN M
! SAL N M
! SAL OEU E
! SAL OUX$ U
! SAL OU U
! SAL O<EFBFBD> U
! SAL O O
! SAL <EFBFBD> O
! SAL PP P
! SAL PH F
! SAL P P
! SAL QU K
! SAL Q K
! SAL RIX$ RI
! SAL RR R
! SAL R R
! SAL S$ _
! SAL SS S
! SAL S S
! SAL TT T
! SAL T T
! SAL U U
! SAL <EFBFBD> U
! SAL <EFBFBD> U
! SAL V V
! SAL W W
! SAL X X
! SAL Y(AEOU)- IL
! SAL Y I
! SAL ZZ S
! SAL Z S
*** 22,45 ****
REP qu c
- REP bb b
- REP b bb
- REP cc c
- REP c cc
- REP ff f
- REP f ff
- REP ll l
- REP l ll
- REP mm m
- REP m mm
- REP nn n
- REP n nn
- REP pp p
- REP p pp
- REP rr r
- REP r rr
- REP ss s
- REP s ss
REP ss c
REP c ss
- REP tt t
- REP t tt
REP <20> oe
--- 34,37 ----
***************
*** 687 ****
--- 679,773 ----
SFX q ssait raient ssait
+
+
+ # sound folding from Aspell
+ # Copyright (C) 2000 R<>mi Vanicat, distributed under LGPL
+ # version francais 0.000000001
+
+ #EMME ~ AME
+
+ SAL AIX$ E
+ SAL AI E
+ SAL AN(AEUIO)- AM
+ SAL AN A
+ SAL AMM AM
+ SAL AM(AEUIO)- AM
+ SAL AM A
+ SAL AUD$ O
+ SAL AUX$ O
+ SAL AU O
+ SAL A A
+ SAL <20> A
+ SAL <20> A
+ SAL BB P
+ SAL B P
+ SAL <EFBFBD> S
+ SAL C(EI)- S
+ SAL CU(EI)- K
+ SAL CC(EI)- X
+ SAL CC K
+ SAL CH CH
+ SAL C K
+ SAL DD T
+ SAL D T
+ SAL EMMENTAL EMATAL
+ SAL EMMENTHAL EMATAL
+ SAL EM(AEIOU)- EM
+ SAL EM A
+ SAL ET$ E
+ SAL EUX$ E
+ SAL EU E
+ SAL EN(AEUIO)- EM
+ SAL EN A
+ SAL ER$ E
+ SAL EO O
+ SAL EAUX$ O
+ SAL EAU O
+ SAL E E
+ SAL <EFBFBD> E
+ SAL <EFBFBD> E
+ SAL <EFBFBD> E
+ SAL F F
+ SAL G(EIY)- J
+ SAL GU(EIY)- G
+ SAL G G
+ SAL H _
+ SAL I I
+ SAL <EFBFBD> I
+ SAL J J
+ SAL KS X
+ SAL K K
+ SAL LL L
+ SAL L L
+ SAL MM M
+ SAL M M
+ SAL NN M
+ SAL N M
+ SAL OEU E
+ SAL OUX$ U
+ SAL OU U
+ SAL O<> U
+ SAL O O
+ SAL <20> O
+ SAL PP P
+ SAL PH F
+ SAL P P
+ SAL QU K
+ SAL Q K
+ SAL RIX$ RI
+ SAL RR R
+ SAL R R
+ SAL S$ _
+ SAL SS S
+ SAL S S
+ SAL TT T
+ SAL T T
+ SAL U U
+ SAL <20> U
+ SAL <20> U
+ SAL V V
+ SAL W W
+ SAL X X
+ SAL Y(AEOU)- IL
+ SAL Y I
+ SAL ZZ S
+ SAL Z S

View File

@ -1,12 +1,34 @@
*** pt_BR.orig.aff Mon Apr 16 15:38:54 2007
--- pt_BR.aff Mon Apr 16 15:49:01 2007
*** pt_BR.orig.aff 2008-02-21 19:41:04.000000000 -0300
--- pt_BR.aff 2008-02-24 11:08:15.000000000 -0300
***************
*** 3,4 ****
--- 3,9 ----
*** 1,3 ****
SET ISO8859-1
! TRY <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>esianrtolcdugmphbyfvkwjqxz
--- 1,3 ----
SET ISO8859-1
!
***************
*** 13,14 ****
--- 13,32 ----
+ NAME Brazilian Portuguese
+ VERSION 20080221V
+ HOME http://www.broffice.org/verortografico
+ AUTHOR Raimundo Santos Moura
+ EMAIL raimundomoura AT openoffice DOT org
+ AUTHOR Leonardo Ferreira Fontenelle
+ EMAIL leo DOT fontenelle AT gmail DOT org
+ COPYRIGHT LGPL
+
+
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
+
+
+ MIDWORD '-.
+
+
MAP 6

View File

@ -0,0 +1,139 @@
" Vim syntax file
" Language: cdrdao(1) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-09-02
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword cdrdaoconfTodo
\ TODO FIXME XXX NOTE
syn match cdrdaoconfBegin
\ display
\ nextgroup=@cdrdaoconfKeyword,cdrdaoconfComment
\ '^'
syn cluster cdrdaoconfKeyword
\ contains=cdrdaoconfIntegerKeyword,
\ cdrdaoconfDriverKeyword,
\ cdrdaoconfDeviceKeyword,
\ cdrdaoconfPathKeyword
syn keyword cdrdaoconfIntegerKeyword
\ contained
\ nextgroup=cdrdaoconfIntegerDelimiter
\ write_speed
\ write_buffers
\ user_capacity
\ full_burn
\ read_speed
\ cddb_timeout
syn keyword cdrdaoconfIntegerKeyword
\ contained
\ nextgroup=cdrdaoconfParanoiaModeDelimiter
\ read_paranoia_mode
syn keyword cdrdaoconfDriverKeyword
\ contained
\ nextgroup=cdrdaoconfDriverDelimiter
\ write_driver
\ read_driver
syn keyword cdrdaoconfDeviceKeyword
\ contained
\ nextgroup=cdrdaoconfDeviceDelimiter
\ write_device
\ read_device
syn keyword cdrdaoconfPathKeyword
\ contained
\ nextgroup=cdrdaoconfPathDelimiter
\ cddb_directory
\ tmp_file_dir
syn match cdrdaoconfIntegerDelimiter
\ contained
\ nextgroup=cdrdaoconfInteger
\ skipwhite
\ ':'
syn match cdrdaoconfParanoiaModeDelimiter
\ contained
\ nextgroup=cdrdaoconfParanoiaMode
\ skipwhite
\ ':'
syn match cdrdaoconfDriverDelimiter
\ contained
\ nextgroup=cdrdaoconfDriver
\ skipwhite
\ ':'
syn match cdrdaoconfDeviceDelimiter
\ contained
\ nextgroup=cdrdaoconfDevice
\ skipwhite
\ ':'
syn match cdrdaoconfPathDelimiter
\ contained
\ nextgroup=cdrdaoconfPath
\ skipwhite
\ ':'
syn match cdrdaoconfInteger
\ contained
\ '\<\d\+\>'
syn match cdrdaoParanoiaMode
\ contained
\ '[0123]'
syn match cdrdaoconfDriver
\ contained
\ '\<\(cdd2600\|generic-mmc\%(-raw\)\=\|plextor\%(-scan\)\|ricoh-mp6200\|sony-cdu9\%(20\|48\)\|taiyo-yuden\|teac-cdr55\|toshiba\|yamaha-cdr10x\)\>'
syn region cdrdaoconfDevice
\ contained
\ matchgroup=cdrdaoconfDevice
\ start=+"+
\ end=+"+
syn region cdrdaoconfPath
\ contained
\ matchgroup=cdrdaoconfPath
\ start=+"+
\ end=+"+
syn match cdrdaoconfComment
\ contains=cdrdaoconfTodo,@Spell
\ '^.*#.*$'
hi def link cdrdaoconfTodo Todo
hi def link cdrdaoconfComment Comment
hi def link cdrdaoconfKeyword Keyword
hi def link cdrdaoconfIntegerKeyword cdrdaoconfKeyword
hi def link cdrdaoconfDriverKeyword cdrdaoconfKeyword
hi def link cdrdaoconfDeviceKeyword cdrdaoconfKeyword
hi def link cdrdaoconfPathKeyword cdrdaoconfKeyword
hi def link cdrdaoconfDelimiter Delimiter
hi def link cdrdaoconfIntegerDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfDriverDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfDeviceDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfPathDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfInteger Number
hi def link cdrdaoconfParanoiaMode Number
hi def link cdrdaoconfDriver Identifier
hi def link cdrdaoconfDevice cdrdaoconfPath
hi def link cdrdaoconfPath String
let b:current_syntax = "cdrdaoconf"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -49,7 +49,7 @@ syn region cmakeArguments start=/\s*(/ end=/)/
syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
\ nextgroup=cmakeArgument
syn keyword cmakeStatement
\ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO
\ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO
\ nextgroup=cmakeArgumnts
"syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts

33
runtime/syntax/coco.vim Normal file
View File

@ -0,0 +1,33 @@
" Vim syntax file
" Language: Coco/R
" Maintainer: Ashish Shukla <wahjava@gmail.com>
" Last Change: 2007 Aug 10
" Remark: Coco/R syntax partially implemented.
" License: Vim license
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
syn keyword cocoKeywords ANY CHARACTERS COMMENTS COMPILER CONTEXT END FROM IF IGNORE IGNORECASE NESTED PRAGMAS PRODUCTIONS SYNC TO TOKENS WEAK
syn match cocoUnilineComment #//.*$#
syn match cocoIdentifier /[[:alpha:]][[:alnum:]]*/
syn region cocoMultilineComment start=#/[*]# end=#[*]/#
syn region cocoString start=/"/ skip=/\\"\|\\\\/ end=/"/
syn region cocoCharacter start=/'/ skip=/\\'\|\\\\/ end=/'/
syn match cocoOperator /+\||\|\.\.\|-\|(\|)\|{\|}\|\[\|\]\|=\|<\|>/
syn region cocoProductionCode start=/([.]/ end=/[.])/
syn match cocoPragma /[$][[:alnum:]]*/
hi def link cocoKeywords Keyword
hi def link cocoUnilineComment Comment
hi def link cocoMultilineComment Comment
hi def link cocoIdentifier Identifier
hi def link cocoString String
hi def link cocoCharacter Character
hi def link cocoOperator Operator
hi def link cocoProductionCode Statement
hi def link cocoPragma Special

View File

@ -2,7 +2,7 @@
" Language: Cascading Style Sheets
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/css.vim
" Last Change: 2006 Jun 19
" Last Change: 2007 Nov 06
" CSS2 by Nikolai Weibull
" Full CSS2, HTML4 support by Yeti
@ -194,7 +194,7 @@ syn match cssSpecialCharQQ +\\"+ contained
syn match cssSpecialCharQ +\\'+ contained
syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
syn match cssClassName "\.[A-Za-z][A-Za-z0-9-]\+"
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
if main_syntax == "css"
syn sync minlines=10

View File

@ -3,8 +3,8 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: $LastChangedDate: 2006-04-16 21:50:31 -0400 (Sun, 16 Apr 2006) $
" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/debcontrol.vim?op=file&rev=0&sc=0
" Last Change: 2008-02-23
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/ftplugin/debcontrol.vim;hb=debian
" Comments are very welcome - but please make sure that you are commenting on
" the latest version of this file.
@ -17,6 +17,9 @@ elseif exists("b:current_syntax")
finish
endif
" Should match case except for the keys of each field
syn case match
" Everything that is not explicitly matched by the rules below
syn match debcontrolElse "^.*$"
@ -25,28 +28,47 @@ syn match debControlComma ", *"
syn match debControlSpace " "
" Define some common expressions we can use later on
syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(eb\)\=\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390\|sheb\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
syn match debcontrolName contained "[a-z][a-z0-9+-]*"
syn match debcontrolArchitecture contained "\(all\|any\|alpha\|amd64\|arm\(e[bl]\)\=\|hppa\|i386\|ia64\|m32r\|m68k\|mipsel\|mips\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc64\|sparc\|hurd-i386\|kfreebsd-\(i386\|gnu\)\|knetbsd-i386\|netbsd-\(alpha\|i386\)\)"
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
syn match debcontrolPackageType contained "u\?deb"
syn match debcontrolVariable contained "\${.\{-}}"
" A URL (using the domain name definitions from RFC 1034 and 1738), right now
" only enforce protocol and some sanity on the server/path part;
syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$"
syn match debcontrolVcsGit contained "\vgit://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
" An email address
syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
syn match debcontrolEmail "<.\{-}>"
" #-Comments
syn match debcontrolComment "^#.*$"
syn case ignore
" List of all legal keys
syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\): *"
syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\): *"
" Fields for which we do strict syntax checking
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
syn region debcontrolStrictField start="^\(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
syn region debcontrolStrictField start="^XC-Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
syn region debcontrolStrictField start="^Homepage" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\)" end="$" contains=debcontrolKey,debcontrolHTTPUrl oneline keepend
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
" Catch-all for the other legal fields
syn region debcontrolField start="^\(Maintainer\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Bugs\|Origin\|Enhances\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
syn region debcontrolMultiField start="^\(Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ ]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable
syn region debcontrolField start="^\(Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X\(S\|B\)-Python-Version\|XSBC-Original-Maintainer\|\(XS-\)\?Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
syn region debcontrolMultiField start="^\(Build-\(Conflicts\|Depends\)\(-Indep\)\=\|\(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Uploaders\|Description\):" skip="^ " end="^$"me=s-1 end="^[^ ]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable
" Associate our matches and regions with pretty colours
if version >= 508 || !exists("did_debcontrol_syn_inits")
@ -65,8 +87,14 @@ if version >= 508 || !exists("did_debcontrol_syn_inits")
HiLink debcontrolName Normal
HiLink debcontrolPriority Normal
HiLink debcontrolSection Normal
HiLink debcontrolPackageType Normal
HiLink debcontrolVariable Identifier
HiLink debcontrolEmail Identifier
HiLink debcontrolVcsSvn Identifier
HiLink debcontrolVcsCvs Identifier
HiLink debcontrolVcsGit Identifier
HiLink debcontrolHTTPUrl Identifier
HiLink debcontrolComment Comment
HiLink debcontrolElse Special
delcommand HiLink

View File

@ -0,0 +1,289 @@
" Vim syntax file
" Language: denyhosts configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-06-25
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword denyhostsTodo
\ contained
\ TODO
\ FIXME
\ XXX
\ NOTE
syn case ignore
syn match denyhostsComment
\ contained
\ display
\ '#.*'
\ contains=denyhostsTodo,
\ @Spell
syn match denyhostsBegin
\ display
\ '^'
\ nextgroup=@denyhostsSetting,
\ denyhostsComment
\ skipwhite
syn cluster denyhostsSetting
\ contains=denyhostsStringSetting,
\ denyhostsBooleanSetting,
\ denyhostsPathSetting,
\ denyhostsNumericSetting,
\ denyhostsTimespecSetting,
\ denyhostsFormatSetting,
\ denyhostsRegexSetting
syn keyword denyhostsStringSetting
\ contained
\ ADMIN_EMAIL
\ SMTP_HOST
\ SMTP_USERNAME
\ SMTP_PASSWORD
\ SMTP_FROM
\ SMTP_SUBJECT
\ BLOCK_SERVICE
\ nextgroup=denyhostsStringDelimiter
\ skipwhite
syn keyword denyhostsBooleanSetting
\ contained
\ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS
\ HOSTNAME_LOOKUP
\ SYSLOG_REPORT
\ RESET_ON_SUCCESS
\ SYNC_UPLOAD
\ SYNC_DOWNLOAD
\ ALLOWED_HOSTS_HOSTNAME_LOOKUP
\ nextgroup=denyhostsBooleanDelimiter
\ skipwhite
syn keyword denyhostsPathSetting
\ contained
\ DAEMON_LOG
\ PLUGIN_DENY
\ PLUGIN_PURGE
\ SECURE_LOG
\ LOCK_FILE
\ HOSTS_DENY
\ WORK_DIR
\ nextgroup=denyhostsPathDelimiter
\ skipwhite
syn keyword denyhostsNumericSetting
\ contained
\ SYNC_DOWNLOAD_THRESHOLD
\ SMTP_PORT
\ PURGE_THRESHOLD
\ DENY_THRESHOLD_INVALID
\ DENY_THRESHOLD_VALID
\ DENY_THRESHOLD_ROOT
\ DENY_THRESHOLD_RESTRICTED
\ nextgroup=denyhostsNumericDelimiter
\ skipwhite
syn keyword denyhostsTimespecSetting
\ contained
\ DAEMON_SLEEP
\ DAEMON_PURGE
\ AGE_RESET_INVALID
\ AGE_RESET_VALID
\ AGE_RESET_ROOT
\ AGE_RESET_RESTRICTED
\ SYNC_INTERVAL
\ SYNC_DOWNLOAD_RESILIENCY
\ PURGE_DENY
\ nextgroup=denyhostsTimespecDelimiter
\ skipwhite
syn keyword denyhostsFormatSetting
\ contained
\ DAEMON_LOG_TIME_FORMAT
\ DAEMON_LOG_MESSAGE_FORMAT
\ SMTP_DATE_FORMAT
\ nextgroup=denyhostsFormatDelimiter
\ skipwhite
syn keyword denyhostsRegexSetting
\ contained
\ SSHD_FORMAT_REGEX
\ FAILED_ENTRY_REGEX
\ FAILED_ENTRY_REGEX2
\ FAILED_ENTRY_REGEX3
\ FAILED_ENTRY_REGEX4
\ FAILED_ENTRY_REGEX5
\ FAILED_ENTRY_REGEX6
\ FAILED_ENTRY_REGEX7
\ USERDEF_FAILED_ENTRY_REGEX
\ SUCCESSFUL_ENTRY_REGEX
\ nextgroup=denyhostsRegexDelimiter
\ skipwhite
syn keyword denyhostURLSetting
\ contained
\ SYNC_SERVER
\ nextgroup=denyhostsURLDelimiter
\ skipwhite
syn match denyhostsStringDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsString
\ skipwhite
syn match denyhostsBooleanDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=@denyhostsBoolean
\ skipwhite
syn match denyhostsPathDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsPath
\ skipwhite
syn match denyhostsNumericDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsNumber
\ skipwhite
syn match denyhostsTimespecDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsTimespec
\ skipwhite
syn match denyhostsFormatDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsFormat
\ skipwhite
syn match denyhostsRegexDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsRegex
\ skipwhite
syn match denyhostsURLDelimiter
\ contained
\ display
\ '[:=]'
\ nextgroup=denyhostsURL
\ skipwhite
syn match denyhostsString
\ contained
\ display
\ '.\+'
syn cluster denyhostsBoolean
\ contains=denyhostsBooleanTrue,
\ denyhostsBooleanFalse
syn match denyhostsBooleanFalse
\ contained
\ display
\ '.\+'
syn match denyhostsBooleanTrue
\ contained
\ display
\ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$'
syn match denyhostsPath
\ contained
\ display
\ '.\+'
syn match denyhostsNumber
\ contained
\ display
\ '\d\+\>'
syn match denyhostsTimespec
\ contained
\ display
\ '\d\+[mhdwy]\>'
syn match denyhostsFormat
\ contained
\ display
\ '.\+'
\ contains=denyhostsFormattingExpandos
syn match denyhostsFormattingExpandos
\ contained
\ display
\ '%.'
syn match denyhostsRegex
\ contained
\ display
\ '.\+'
" TODO: Perhaps come up with a better regex here? There should really be a
" library for these kinds of generic regexes, that is, URLs, mail addresses, …
syn match denyhostsURL
\ contained
\ display
\ '.\+'
hi def link denyhostsTodo Todo
hi def link denyhostsComment Comment
hi def link denyhostsSetting Keyword
hi def link denyhostsStringSetting denyhostsSetting
hi def link denyhostsBooleanSetting denyhostsSetting
hi def link denyhostsPathSetting denyhostsSetting
hi def link denyhostsNumericSetting denyhostsSetting
hi def link denyhostsTimespecSetting denyhostsSetting
hi def link denyhostsFormatSetting denyhostsSetting
hi def link denyhostsRegexSetting denyhostsSetting
hi def link denyhostURLSetting denyhostsSetting
hi def link denyhostsDelimiter Normal
hi def link denyhostsStringDelimiter denyhostsDelimiter
hi def link denyhostsBooleanDelimiter denyhostsDelimiter
hi def link denyhostsPathDelimiter denyhostsDelimiter
hi def link denyhostsNumericDelimiter denyhostsDelimiter
hi def link denyhostsTimespecDelimiter denyhostsDelimiter
hi def link denyhostsFormatDelimiter denyhostsDelimiter
hi def link denyhostsRegexDelimiter denyhostsDelimiter
hi def link denyhostsURLDelimiter denyhostsDelimiter
hi def link denyhostsString String
if exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple')
hi def link denyhostsBoolean Boolean
hi def link denyhostsBooleanFalse denyhostsBoolean
hi def link denyhostsBooleanTrue denyhostsBoolean
else
hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green
hi def denyhostsBooleanFalse ctermfg=Red guifg=Red
endif
hi def link denyhostsPath String
hi def link denyhostsNumber Number
hi def link denyhostsTimespec Number
hi def link denyhostsFormat String
hi def link denyhostsFormattingExpandos Special
hi def link denyhostsRegex String
hi def link denyhostsURL String
let b:current_syntax = "denyhosts"
let &cpo = s:cpo_save
unlet s:cpo_save

67
runtime/syntax/git.vim Normal file
View File

@ -0,0 +1,67 @@
" Vim syntax file
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Last Change: 2008 Mar 21
if exists("b:current_syntax")
finish
endif
syn case match
syn sync minlines=50
syn include @gitDiff syntax/diff.vim
syn region gitHead start=/\%^/ end=/^$/
syn region gitHead start=/\%(^commit \x\{40\}$\)\@=/ end=/^$/
" For git reflog and git show ...^{tree}, avoid sync issues
syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/
syn match gitHead /^\x\{40\} \x\{40}\t.*/
syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff fold
syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff
syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite
syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite
syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite
syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity
syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite
syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite
syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity
syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained
syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained
syn match gitDate /\<\d\+ \l\+ ago\>/ contained
syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite
syn match gitStage /\<\d\t\@=/ contained
syn match gitReference /\S\+\S\@!/ contained
syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage skipwhite
syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite
syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite
syn match gitHashAbbrev /\<\x\{40\}\>/ contained nextgroup=gitHashAbbrev skipwhite
hi def link gitDateHeader gitIdentityHeader
hi def link gitIdentityHeader gitIdentityKeyword
hi def link gitIdentityKeyword Label
hi def link gitReflogHeader gitKeyword
hi def link gitKeyword Keyword
hi def link gitIdentity String
hi def link gitEmailDelimiter Delimiter
hi def link gitEmail Special
hi def link gitDate Number
hi def link gitMode Number
hi def link gitHashAbbrev gitHash
hi def link gitHash Identifier
hi def link gitReflogMiddle gitReference
hi def link gitReference Function
hi def link gitStage gitType
hi def link gitType Type
let b:current_syntax = "git"

View File

@ -0,0 +1,65 @@
" Vim syntax file
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Filenames: *.git/COMMIT_EDITMSG
" Last Change: 2008 Apr 09
if exists("b:current_syntax")
finish
endif
syn case match
syn sync minlines=50
if has("spell")
syn spell toplevel
endif
syn include @gitcommitDiff syntax/diff.vim
syn region gitcommitDiff start=/\%(^diff --git \)\@=/ end=/^$\|^#\@=/ contains=@gitcommitDiff
syn match gitcommitFirstLine "\%^[^#].*" nextgroup=gitcommitBlank skipnl
syn match gitcommitSummary "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
syn match gitcommitOverflow ".*" contained contains=@Spell
syn match gitcommitBlank "^[^#].*" contained contains=@Spell
syn match gitcommitComment "^#.*"
syn region gitcommitHead start=/^# / end=/^#$/ contained transparent
syn match gitcommitOnBranch "\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitBranch "\S\+" contained
syn match gitcommitHeader "\%(^# \)\@<=.*:$" contained containedin=gitcommitComment
syn region gitcommitUntracked start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
syn match gitcommitUntrackedFile "\t\@<=.*" contained
syn region gitcommitDiscarded start=/^# Changed but not updated:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
syn region gitcommitSelected start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
syn match gitcommitDiscardedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
syn match gitcommitSelectedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
hi def link gitcommitSummary Keyword
hi def link gitcommitComment Comment
hi def link gitcommitUntracked gitcommitComment
hi def link gitcommitDiscarded gitcommitComment
hi def link gitcommitSelected gitcommitComment
hi def link gitcommitOnBranch Comment
hi def link gitcommitBranch Special
hi def link gitcommitDiscardedType gitcommitType
hi def link gitcommitSelectedType gitcommitType
hi def link gitcommitType Type
hi def link gitcommitHeader PreProc
hi def link gitcommitUntrackedFile gitcommitFile
hi def link gitcommitDiscardedFile gitcommitFile
hi def link gitcommitSelectedFile gitcommitFile
hi def link gitcommitFile Constant
hi def link gitcommitDiscardedArrow gitcommitArrow
hi def link gitcommitSelectedArrow gitcommitArrow
hi def link gitcommitArrow gitcommitComment
"hi def link gitcommitOverflow Error
hi def link gitcommitBlank Error
let b:current_syntax = "gitcommit"

147
runtime/syntax/hostconf.vim Normal file
View File

@ -0,0 +1,147 @@
" Vim syntax file
" Language: host.conf(5) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-06-25
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword hostconfTodo
\ contained
\ TODO
\ FIXME
\ XXX
\ NOTE
syn match hostconfComment
\ display
\ contained
\ '\s*#.*'
\ contains=hostconfTodo,
\ @Spell
syn match hostconfBegin
\ display
\ '^'
\ nextgroup=hostconfComment,hostconfKeyword
\ skipwhite
syn keyword hostconfKeyword
\ contained
\ order
\ nextgroup=hostconfLookupOrder
\ skipwhite
let s:orders = ['bind', 'hosts', 'nis']
function s:permute_suffixes(list)
if empty(a:list)
return []
elseif len(a:list) == 1
return a:list[0]
else
let i = 0
let n = len(a:list)
let sub_permutations = []
while i < n
let list_copy = copy(a:list)
let removed = list_copy[i]
call remove(list_copy, i)
call add(sub_permutations, [removed, s:permute_suffixes(list_copy)])
let i += 1
endwhile
return sub_permutations
endif
endfunction
function s:generate_suffix_groups(list_of_order_of_orders, context, trailing_context)
for order_of_orders in a:list_of_order_of_orders
let order = order_of_orders[0]
let trailing_context = a:trailing_context . toupper(order[0]) . order[1:]
let nextgroup = 'hostconfLookupOrder' . trailing_context
let nextgroup_delimiter = nextgroup . 'Delimiter'
let group = 'hostconfLookupOrder' . a:context
execute 'syn keyword' group 'contained' order 'nextgroup=' . nextgroup_delimiter 'skipwhite'
execute 'syn match' nextgroup_delimiter 'contained display "," nextgroup=' . nextgroup 'skipwhite'
if a:context != ""
execute 'hi def link' group 'hostconfLookupOrder'
endif
execute 'hi def link' nextgroup_delimiter 'hostconfLookupOrderDelimiter'
let context = trailing_context
if type(order_of_orders[1]) == type([])
call s:generate_suffix_groups(order_of_orders[1], context, trailing_context)
else
execute 'syn keyword hostconfLookupOrder' . context 'contained' order_of_orders[-1]
execute 'hi def link hostconfLookupOrder' . context 'hostconfLookupOrder'
endif
endfor
endfunction
call s:generate_suffix_groups(s:permute_suffixes(s:orders), "", "")
delfunction s:generate_suffix_groups
delfunction s:permute_suffixes
syn keyword hostconfKeyword
\ contained
\ trim
\ nextgroup=hostconfDomain
\ skipwhite
syn match hostconfDomain
\ contained
\ '\.[^:;,[:space:]]\+'
\ nextgroup=hostconfDomainDelimiter
\ skipwhite
syn match hostconfDomainDelimiter
\ contained
\ display
\ '[:;,]'
\ nextgroup=hostconfDomain
\ skipwhite
syn keyword hostconfKeyword
\ contained
\ multi
\ nospoof
\ spoofalert
\ reorder
\ nextgroup=hostconfBoolean
\ skipwhite
syn keyword hostconfBoolean
\ contained
\ on
\ off
syn keyword hostconfKeyword
\ contained
\ spoof
\ nextgroup=hostconfSpoofValue
\ skipwhite
syn keyword hostconfSpoofValue
\ contained
\ off
\ nowarn
\ warn
hi def link hostconfTodo Todo
hi def link hostconfComment Comment
hi def link hostconfKeyword Keyword
hi def link hostconfLookupOrder Identifier
hi def link hostconfLookupOrderDelimiter Delimiter
hi def link hostconfDomain String
hi def link hostconfDomainDelimiter Delimiter
hi def link hostconfBoolean Boolean
hi def link hostconfSpoofValue hostconfBoolean
let b:current_syntax = "hostconf"
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because it is too large Load Diff

272
runtime/syntax/lsl.vim Normal file
View File

@ -0,0 +1,272 @@
" Vim syntax file
" Language: Linden Scripting Language
" Maintainer: Timo Frenay <timo@frenay.net>
" Last Change: 2008 Mar 29
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Initializations
syn case match
" Keywords
syn keyword lslKeyword default do else for if jump return state while
" Types
syn keyword lslType float integer key list quaternion rotation string vector
" Labels
syn match lslLabel +@\h\w*+ display
" Constants
syn keyword lslConstant
\ ACTIVE AGENT AGENT_ALWAYS_RUN AGENT_ATTACHMENTS AGENT_AWAY AGENT_BUSY
\ AGENT_CROUCHING AGENT_FLYING AGENT_IN_AIR AGENT_MOUSELOOK AGENT_ON_OBJECT
\ AGENT_SCRIPTED AGENT_SITTING AGENT_TYPING AGENT_WALKING ALL_SIDES ANIM_ON
\ ATTACH_BACK ATTACH_BELLY ATTACH_CHEST ATTACH_CHIN ATTACH_HEAD
\ ATTACH_HUD_BOTTOM ATTACH_HUD_BOTTOM_LEFT ATTACH_HUD_BOTTOM_RIGHT
\ ATTACH_HUD_CENTER_1 ATTACH_HUD_CENTER_2 ATTACH_HUD_TOP_CENTER
\ ATTACH_HUD_TOP_LEFT ATTACH_HUD_TOP_RIGHT ATTACH_LEAR ATTACH_LEYE ATTACH_LFOOT
\ ATTACH_LHAND ATTACH_LHIP ATTACH_LLARM ATTACH_LLLEG ATTACH_LPEC
\ ATTACH_LSHOULDER ATTACH_LUARM ATTACH_LULEG ATTACH_MOUTH ATTACH_NOSE
\ ATTACH_PELVIS ATTACH_REAR ATTACH_REYE ATTACH_RFOOT ATTACH_RHAND ATTACH_RHIP
\ ATTACH_RLARM ATTACH_RLLEG ATTACH_RPEC ATTACH_RSHOULDER ATTACH_RUARM
\ ATTACH_RULEG CAMERA_ACTIVE CAMERA_BEHINDNESS_ANGLE CAMERA_BEHINDNESS_LAG
\ CAMERA_DISTANCE CAMERA_FOCUS CAMERA_FOCUS_LAG CAMERA_FOCUS_LOCKED
\ CAMERA_FOCUS_OFFSET CAMERA_FOCUS_THRESHOLD CAMERA_PITCH CAMERA_POSITION
\ CAMERA_POSITION_LAG CAMERA_POSITION_LOCKED CAMERA_POSITION_THRESHOLD
\ CHANGED_ALLOWED_DROP CHANGED_COLOR CHANGED_INVENTORY CHANGED_LINK
\ CHANGED_OWNER CHANGED_REGION CHANGED_SCALE CHANGED_SHAPE CHANGED_TELEPORT
\ CHANGED_TEXTURE CLICK_ACTION_BUY CLICK_ACTION_NONE CLICK_ACTION_OPEN
\ CLICK_ACTION_OPEN_MEDIA CLICK_ACTION_PAY CLICK_ACTION_PLAY CLICK_ACTION_SIT
\ CLICK_ACTION_TOUCH CONTROL_BACK CONTROL_DOWN CONTROL_FWD CONTROL_LBUTTON
\ CONTROL_LEFT CONTROL_ML_LBUTTON CONTROL_RIGHT CONTROL_ROT_LEFT
\ CONTROL_ROT_RIGHT CONTROL_UP DATA_BORN DATA_NAME DATA_ONLINE DATA_PAYINFO
\ DATA_RATING DATA_SIM_POS DATA_SIM_RATING DATA_SIM_STATUS DEBUG_CHANNEL
\ DEG_TO_RAD EOF FALSE HTTP_BODY_MAXLENGTH HTTP_BODY_TRUNCATED HTTP_METHOD
\ HTTP_MIMETYPE HTTP_VERIFY_CERT INVENTORY_ALL INVENTORY_ANIMATION
\ INVENTORY_BODYPART INVENTORY_CLOTHING INVENTORY_GESTURE INVENTORY_LANDMARK
\ INVENTORY_NONE INVENTORY_NOTECARD INVENTORY_OBJECT INVENTORY_SCRIPT
\ INVENTORY_SOUND INVENTORY_TEXTURE LAND_LARGE_BRUSH LAND_LEVEL LAND_LOWER
\ LAND_MEDIUM_BRUSH LAND_NOISE LAND_RAISE LAND_REVERT LAND_SMALL_BRUSH
\ LAND_SMOOTH LINK_ALL_CHILDREN LINK_ALL_OTHERS LINK_ROOT LINK_SET LINK_THIS
\ LIST_STAT_GEOMETRIC_MEAN LIST_STAT_MAX LIST_STAT_MEAN LIST_STAT_MEDIAN
\ LIST_STAT_MIN LIST_STAT_NUM_COUNT LIST_STAT_RANGE LIST_STAT_STD_DEV
\ LIST_STAT_SUM LIST_STAT_SUM_SQUARES LOOP MASK_BASE MASK_EVERYONE MASK_GROUP
\ MASK_NEXT MASK_OWNER NULL_KEY OBJECT_CREATOR OBJECT_DESC OBJECT_GROUP
\ OBJECT_NAME OBJECT_OWNER OBJECT_POS OBJECT_ROT OBJECT_UNKNOWN_DETAIL
\ OBJECT_VELOCITY PARCEL_COUNT_GROUP PARCEL_COUNT_OTHER PARCEL_COUNT_OWNER
\ PARCEL_COUNT_SELECTED PARCEL_COUNT_TEMP PARCEL_COUNT_TOTAL PARCEL_DETAILS_AREA
\ PARCEL_DETAILS_DESC PARCEL_DETAILS_GROUP PARCEL_DETAILS_NAME
\ PARCEL_DETAILS_OWNER PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY
\ PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS PARCEL_FLAG_ALLOW_CREATE_OBJECTS
\ PARCEL_FLAG_ALLOW_DAMAGE PARCEL_FLAG_ALLOW_FLY
\ PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY PARCEL_FLAG_ALLOW_GROUP_SCRIPTS
\ PARCEL_FLAG_ALLOW_LANDMARK PARCEL_FLAG_ALLOW_SCRIPTS
\ PARCEL_FLAG_ALLOW_TERRAFORM PARCEL_FLAG_LOCAL_SOUND_ONLY
\ PARCEL_FLAG_RESTRICT_PUSHOBJECT PARCEL_FLAG_USE_ACCESS_GROUP
\ PARCEL_FLAG_USE_ACCESS_LIST PARCEL_FLAG_USE_BAN_LIST
\ PARCEL_FLAG_USE_LAND_PASS_LIST PARCEL_MEDIA_COMMAND_AGENT
\ PARCEL_MEDIA_COMMAND_AUTO_ALIGN PARCEL_MEDIA_COMMAND_DESC
\ PARCEL_MEDIA_COMMAND_LOOP PARCEL_MEDIA_COMMAND_LOOP_SET
\ PARCEL_MEDIA_COMMAND_PAUSE PARCEL_MEDIA_COMMAND_PLAY PARCEL_MEDIA_COMMAND_SIZE
\ PARCEL_MEDIA_COMMAND_STOP PARCEL_MEDIA_COMMAND_TEXTURE
\ PARCEL_MEDIA_COMMAND_TIME PARCEL_MEDIA_COMMAND_TYPE
\ PARCEL_MEDIA_COMMAND_UNLOAD PARCEL_MEDIA_COMMAND_URL PASSIVE
\ PAYMENT_INFO_ON_FILE PAYMENT_INFO_USED PAY_DEFAULT PAY_HIDE PERM_ALL PERM_COPY
\ PERM_MODIFY PERM_MOVE PERM_TRANSFER PERMISSION_ATTACH PERMISSION_CHANGE_LINKS
\ PERMISSION_CONTROL_CAMERA PERMISSION_DEBIT PERMISSION_TAKE_CONTROLS
\ PERMISSION_TRACK_CAMERA PERMISSION_TRIGGER_ANIMATION PI PI_BY_TWO PING_PONG
\ PRIM_BUMP_BARK PRIM_BUMP_BLOBS PRIM_BUMP_BRICKS PRIM_BUMP_BRIGHT
\ PRIM_BUMP_CHECKER PRIM_BUMP_CONCRETE PRIM_BUMP_DARK PRIM_BUMP_DISKS
\ PRIM_BUMP_GRAVEL PRIM_BUMP_LARGETILE PRIM_BUMP_NONE PRIM_BUMP_SHINY
\ PRIM_BUMP_SIDING PRIM_BUMP_STONE PRIM_BUMP_STUCCO PRIM_BUMP_SUCTION
\ PRIM_BUMP_TILE PRIM_BUMP_WEAVE PRIM_BUMP_WOOD PRIM_CAST_SHADOWS PRIM_COLOR
\ PRIM_FLEXIBLE PRIM_FULLBRIGHT PRIM_HOLE_CIRCLE PRIM_HOLE_DEFAULT
\ PRIM_HOLE_SQUARE PRIM_HOLE_TRIANGLE PRIM_MATERIAL PRIM_MATERIAL_FLESH
\ PRIM_MATERIAL_GLASS PRIM_MATERIAL_LIGHT PRIM_MATERIAL_METAL
\ PRIM_MATERIAL_PLASTIC PRIM_MATERIAL_RUBBER PRIM_MATERIAL_STONE
\ PRIM_MATERIAL_WOOD PRIM_PHANTOM PRIM_PHYSICS PRIM_POINT_LIGHT PRIM_POSITION
\ PRIM_ROTATION PRIM_SCULPT_TYPE_CYLINDER PRIM_SCULPT_TYPE_PLANE
\ PRIM_SCULPT_TYPE_SPHERE PRIM_SCULPT_TYPE_TORUS PRIM_SHINY_HIGH PRIM_SHINY_LOW
\ PRIM_SHINY_MEDIUM PRIM_SHINY_NONE PRIM_SIZE PRIM_TEMP_ON_REZ PRIM_TEXGEN
\ PRIM_TEXGEN_DEFAULT PRIM_TEXGEN_PLANAR PRIM_TEXTURE PRIM_TYPE PRIM_TYPE_BOX
\ PRIM_TYPE_BOX PRIM_TYPE_CYLINDER PRIM_TYPE_CYLINDER PRIM_TYPE_LEGACY
\ PRIM_TYPE_PRISM PRIM_TYPE_PRISM PRIM_TYPE_RING PRIM_TYPE_SCULPT
\ PRIM_TYPE_SPHERE PRIM_TYPE_SPHERE PRIM_TYPE_TORUS PRIM_TYPE_TORUS
\ PRIM_TYPE_TUBE PRIM_TYPE_TUBE PSYS_PART_BEAM_MASK PSYS_PART_BOUNCE_MASK
\ PSYS_PART_DEAD_MASK PSYS_PART_EMISSIVE_MASK PSYS_PART_END_ALPHA
\ PSYS_PART_END_COLOR PSYS_PART_END_SCALE PSYS_PART_FLAGS
\ PSYS_PART_FOLLOW_SRC_MASK PSYS_PART_FOLLOW_VELOCITY_MASK
\ PSYS_PART_INTERP_COLOR_MASK PSYS_PART_INTERP_SCALE_MASK PSYS_PART_MAX_AGE
\ PSYS_PART_RANDOM_ACCEL_MASK PSYS_PART_RANDOM_VEL_MASK PSYS_PART_START_ALPHA
\ PSYS_PART_START_COLOR PSYS_PART_START_SCALE PSYS_PART_TARGET_LINEAR_MASK
\ PSYS_PART_TARGET_POS_MASK PSYS_PART_TRAIL_MASK PSYS_PART_WIND_MASK
\ PSYS_SRC_ACCEL PSYS_SRC_ANGLE_BEGIN PSYS_SRC_ANGLE_END
\ PSYS_SRC_BURST_PART_COUNT PSYS_SRC_BURST_RADIUS PSYS_SRC_BURST_RATE
\ PSYS_SRC_BURST_SPEED_MAX PSYS_SRC_BURST_SPEED_MIN PSYS_SRC_INNERANGLE
\ PSYS_SRC_MAX_AGE PSYS_SRC_OMEGA PSYS_SRC_OUTERANGLE PSYS_SRC_PATTERN
\ PSYS_SRC_PATTERN_ANGLE PSYS_SRC_PATTERN_ANGLE_CONE
\ PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY PSYS_SRC_PATTERN_DROP
\ PSYS_SRC_PATTERN_EXPLODE PSYS_SRC_TARGET_KEY PSYS_SRC_TEXTURE PUBLIC_CHANNEL
\ RAD_TO_DEG REGION_FLAG_ALLOW_DAMAGE REGION_FLAG_ALLOW_DIRECT_TELEPORT
\ REGION_FLAG_BLOCK_FLY REGION_FLAG_BLOCK_TERRAFORM
\ REGION_FLAG_DISABLE_COLLISIONS REGION_FLAG_DISABLE_PHYSICS
\ REGION_FLAG_FIXED_SUN REGION_FLAG_RESTRICT_PUSHOBJECT REGION_FLAG_SANDBOX
\ REMOTE_DATA_CHANNEL REMOTE_DATA_REPLY REMOTE_DATA_REQUEST REVERSE ROTATE SCALE
\ SCRIPTED SMOOTH SQRT2 STATUS_BLOCK_GRAB STATUS_CAST_SHADOWS STATUS_DIE_AT_EDGE
\ STATUS_PHANTOM STATUS_PHYSICS STATUS_RETURN_AT_EDGE STATUS_ROTATE_X
\ STATUS_ROTATE_Y STATUS_ROTATE_Z STATUS_SANDBOX STRING_TRIM STRING_TRIM_HEAD
\ STRING_TRIM_TAIL TRUE TWO_PI TYPE_FLOAT TYPE_INTEGER TYPE_INVALID TYPE_KEY
\ TYPE_ROTATION TYPE_STRING TYPE_VECTOR VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY
\ VEHICLE_ANGULAR_DEFLECTION_TIMESCALE VEHICLE_ANGULAR_FRICTION_TIMESCALE
\ VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE VEHICLE_ANGULAR_MOTOR_DIRECTION
\ VEHICLE_ANGULAR_MOTOR_TIMESCALE VEHICLE_BANKING_EFFICIENCY VEHICLE_BANKING_MIX
\ VEHICLE_BANKING_TIMESCALE VEHICLE_BUOYANCY VEHICLE_FLAG_CAMERA_DECOUPLED
\ VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT VEHICLE_FLAG_HOVER_TERRAIN_ONLY
\ VEHICLE_FLAG_HOVER_UP_ONLY VEHICLE_FLAG_HOVER_WATER_ONLY
\ VEHICLE_FLAG_LIMIT_MOTOR_UP VEHICLE_FLAG_LIMIT_ROLL_ONLY
\ VEHICLE_FLAG_MOUSELOOK_BANK VEHICLE_FLAG_MOUSELOOK_STEER
\ VEHICLE_FLAG_NO_DEFLECTION_UP VEHICLE_HOVER_EFFICIENCY VEHICLE_HOVER_HEIGHT
\ VEHICLE_HOVER_TIMESCALE VEHICLE_LINEAR_DEFLECTION_EFFICIENCY
\ VEHICLE_LINEAR_DEFLECTION_TIMESCALE VEHICLE_LINEAR_FRICTION_TIMESCALE
\ VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE VEHICLE_LINEAR_MOTOR_TIMESCALE
\ VEHICLE_LINEAR_MOTOR_DIRECTION VEHICLE_LINEAR_MOTOR_OFFSET
\ VEHICLE_REFERENCE_FRAME VEHICLE_TYPE_AIRPLANE VEHICLE_TYPE_BALLOON
\ VEHICLE_TYPE_BOAT VEHICLE_TYPE_CAR VEHICLE_TYPE_NONE VEHICLE_TYPE_SLED
\ VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY VEHICLE_VERTICAL_ATTRACTION_TIMESCALE
\ ZERO_ROTATION ZERO_VECTOR
" Events
syn keyword lslEvent
\ attach at_rot_target at_target changed collision collision_end collision_start
\ control dataserver email http_response land_collision land_collision_end
\ land_collision_start link_message listen money moving_end moving_start
\ not_at_rot_target no_sensor object_rez on_rez remote_data run_time_permissions
\ sensor state_entry state_exit timer touch touch_end touch_start not_at_target
" Functions
syn keyword lslFunction
\ llAbs llAcos llAddToLandBanList llAddToLandPassList llAdjustSoundVolume
\ llAllowInventoryDrop llAngleBetween llApplyImpulse llApplyRotationalImpulse
\ llAsin llAtan2 llAttachToAvatar llAvatarOnSitTarget llAxes2Rot llAxisAngle2Rot
\ llBase64ToInteger llBase64ToString llBreakAllLinks llBreakLink llCSV2List
\ llCeil llClearCameraParams llCloseRemoteDataChannel llCloud llCollisionFilter
\ llCollisionSound llCollisionSprite llCos llCreateLink llDeleteSubList
\ llDeleteSubString llDetachFromAvatar llDetectedGrab llDetectedGroup
\ llDetectedKey llDetectedLinkNumber llDetectedName llDetectedOwner
\ llDetectedPos llDetectedRot llDetectedType llDetectedVel llDialog llDie
\ llDumpList2String llEdgeOfWorld llEjectFromLand llEmail llEscapeURL
\ llEuler2Rot llFabs llFloor llForceMouselook llFrand llGetAccel llGetAgentInfo
\ llGetAgentSize llGetAlpha llGetAndResetTime llGetAnimation llGetAnimationList
\ llGetAttached llGetBoundingBox llGetCameraPos llGetCameraRot llGetCenterOfMass
\ llGetColor llGetCreator llGetDate llGetEnergy llGetForce llGetFreeMemory
\ llGetGMTclock llGetGeometricCenter llGetInventoryCreator llGetInventoryKey
\ llGetInventoryName llGetInventoryNumber llGetInventoryPermMask
\ llGetInventoryType llGetKey llGetLandOwnerAt llGetLinkKey llGetLinkName
\ llGetLinkNumber llGetListEntryType llGetListLength llGetLocalPos llGetLocalRot
\ llGetMass llGetNextEmail llGetNotecardLine llGetNumberOfNotecardLines
\ llGetNumberOfPrims llGetNumberOfSides llGetObjectDesc llGetObjectDetails
\ llGetObjectMass llGetObjectName llGetObjectPermMask llGetObjectPrimCount
\ llGetOmega llGetOwner llGetOwnerKey llGetParcelDetails llGetParcelFlags
\ llGetParcelMaxPrims llGetParcelPrimCount llGetParcelPrimOwners
\ llGetPermissions llGetPermissionsKey llGetPos llGetPrimitiveParams
\ llGetRegionCorner llGetRegionFPS llGetRegionFlags llGetRegionName
\ llGetRegionTimeDilation llGetRootPosition llGetRootRotation llGetRot
\ llGetScale llGetScriptName llGetScriptState llGetSimulatorHostname
\ llGetStartParameter llGetStatus llGetSubString llGetSunDirection llGetTexture
\ llGetTextureOffset llGetTextureRot llGetTextureScale llGetTime llGetTimeOfDay
\ llGetTimestamp llGetTorque llGetUnixTime llGetVel llGetWallclock
\ llGiveInventory llGiveInventoryList llGiveMoney llGodLikeRezObject llGround
\ llGroundContour llGroundNormal llGroundRepel llGroundSlope llHTTPRequest
\ llInsertString llInstantMessage llIntegerToBase64 llKey2Name llList2CSV
\ llList2Float llList2Integer llList2Key llList2List llList2ListStrided
\ llList2Rot llList2String llList2Vector llListFindList llListInsertList
\ llListRandomize llListReplaceList llListSort llListStatistics llListen
\ llListenControl llListenRemove llLoadURL llLog llLog10 llLookAt llLoopSound
\ llLoopSoundMaster llLoopSoundSlave llMD5String llMakeExplosion llMakeFire
\ llMakeFountain llMakeSmoke llMapDestination llMessageLinked llMinEventDelay
\ llModPow llModifyLand llMoveToTarget llOffsetTexture llOpenRemoteDataChannel
\ llOverMyLand llOwnerSay llParcelMediaCommandList llParcelMediaQuery
\ llParseString2List llParseStringKeepNulls llParticleSystem llPassCollisions
\ llPassTouches llPlaySound llPlaySoundSlave llPointAt llPow llPreloadSound
\ llPushObject llRefreshPrimURL llRegionSay llReleaseCamera llReleaseControls
\ llRemoteDataReply llRemoteDataSetRegion llRemoteLoadScript
\ llRemoteLoadScriptPin llRemoveFromLandBanList llRemoveFromLandPassList
\ llRemoveInventory llRemoveVehicleFlags llRequestAgentData
\ llRequestInventoryData llRequestPermissions llRequestSimulatorData
\ llResetLandBanList llResetLandPassList llResetOtherScript llResetScript
\ llResetTime llRezAtRoot llRezObject llRot2Angle llRot2Axis llRot2Euler
\ llRot2Fwd llRot2Left llRot2Up llRotBetween llRotLookAt llRotTarget
\ llRotTargetRemove llRotateTexture llRound llSameGroup llSay llScaleTexture
\ llScriptDanger llSendRemoteData llSensor llSensorRemove llSensorRepeat
\ llSetAlpha llSetBuoyancy llSetCameraAtOffset llSetCameraEyeOffset
\ llSetCameraParams llSetClickAction llSetColor llSetDamage llSetForce
\ llSetForceAndTorque llSetHoverHeight llSetInventoryPermMask llSetLinkAlpha
\ llSetLinkColor llSetLinkPrimitiveParams llSetLinkTexture llSetLocalRot
\ llSetObjectDesc llSetObjectName llSetObjectPermMask llSetParcelMusicURL
\ llSetPayPrice llSetPos llSetPrimURL llSetPrimitiveParams
\ llSetRemoteScriptAccessPin llSetRot llSetScale llSetScriptState llSetSitText
\ llSetSoundQueueing llSetSoundRadius llSetStatus llSetText llSetTexture
\ llSetTextureAnim llSetTimerEvent llSetTorque llSetTouchText llSetVehicleFlags
\ llSetVehicleFloatParam llSetVehicleRotationParam llSetVehicleType
\ llSetVehicleVectorParam llShout llSin llSitTarget llSleep llSound
\ llSoundPreload llSqrt llStartAnimation llStopAnimation llStopHover
\ llStopLookAt llStopMoveToTarget llStopPointAt llStopSound llStringLength
\ llStringToBase64 llStringTrim llSubStringIndex llTakeCamera llTakeControls
\ llTan llTarget llTargetOmega llTargetRemove llTeleportAgentHome llToLower
\ llToUpper llTriggerSound llTriggerSoundLimited llUnSit llUnescapeURL llVecDist
\ llVecMag llVecNorm llVolumeDetect llWater llWhisper llWind llXorBase64Strings
\ llXorBase64StringsCorrect
" Operators
syn match lslOperator +[-!%&*+/<=>^|~]+ display
" Numbers
syn match lslNumber +-\=\%(\<\d\+\|\%(\<\d\+\)\=\.\d\+\)\%([Ee][-+]\=\d\+\)\=\>\|\<0x\x\+\>+ display
" Vectors and rotations
syn match lslVectorRot +<[-\t +.0-9A-Za-z_]\+\%(,[-\t +.0-9A-Za-z_]\+\)\{2,3}>+ contains=lslNumber display
" Vector and rotation properties
syn match lslProperty +\.\@<=[sxyz]\>+ display
" Strings
syn region lslString start=+"+ skip=+\\.+ end=+"+ contains=lslSpecialChar,@Spell
syn match lslSpecialChar +\\.+ contained display
" Keys
syn match lslKey +"\x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12}"+ display
" Parentheses, braces and brackets
syn match lslBlock +[][(){}]+ display
" Typecast operators
syn match lslTypecast +(\%(float\|integer\|key\|list\|quaternion\|rotation\|string\|vector\))+ contains=lslType display
" Comments
syn match lslComment +//.*+ contains=@Spell
" Define the default highlighting.
hi def link lslKeyword Keyword
hi def link lslType Type
hi def link lslLabel Label
hi def link lslConstant Constant
hi def link lslEvent PreProc
hi def link lslFunction Function
hi def link lslOperator Operator
hi def link lslNumber Number
hi def link lslVectorRot Special
hi def link lslProperty Identifier
hi def link lslString String
hi def link lslSpecialChar SpecialChar
hi def link lslKey Special
hi def link lslBlock Special
hi def link lslTypecast Operator
hi def link lslComment Comment
let b:current_syntax = "lsl"
" vim: ts=8

View File

@ -1,13 +1,13 @@
" Vim syntax file
" Language: modules.conf(5) configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19
" Latest Revision: 2007-06-17
if exists("b:current_syntax")
finish
endif
setlocal iskeyword=@,48-57,-
setlocal iskeyword+=-
let s:cpo_save = &cpo
set cpo&vim

View File

@ -1,5 +1,5 @@
" Created : Wed 26 Apr 2006 01:20:53 AM CDT
" Modified : Mon 20 Nov 2006 12:14:16 AM PST
" Modified : Mon 27 Aug 2007 12:10:37 PM PDT
" Author : Gautam Iyer <gi1242@users.sourceforge.net>
" Description : Vim syntax file for mrxvtrc (for mrxvt-0.5.0 and up)
@ -31,19 +31,19 @@ syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
\ fullscreen reverseVideo loginShell
\ jumpScroll scrollBar scrollbarRight
\ scrollbarFloating scrollTtyOutputInhibit
\ scrollTtyKeypress scrollWithBuffer
\ transparentForce transparentScrollbar
\ transparentMenubar transparentTabbar
\ tabUsePixmap utmpInhibit visualBell mapAlert
\ meta8 mouseWheelScrollPage multibyte_cursor
\ scrollTtyKeypress transparentForce
\ transparentScrollbar transparentMenubar
\ transparentTabbar tabUsePixmap utmpInhibit
\ visualBell mapAlert meta8
\ mouseWheelScrollPage multibyte_cursor
\ tripleclickwords showMenu xft xftNomFont
\ xftSlowOutput xftAntialias xftHinting
\ xftAutoHint xftGlobalAdvance cmdAllTabs
\ protectSecondary thai borderLess
\ overrideRedirect broadcast
\ smartResize smoothResize pointerBlank
\ cursorBlink noSysConfig disableMacros
\ linuxHomeEndKey sessionMgt
\ overrideRedirect broadcast smartResize
\ pointerBlank cursorBlink noSysConfig
\ disableMacros linuxHomeEndKey sessionMgt
\ boldColors smoothResize useFifo veryBright
syn match mrxvtrcOptions contained nextgroup=mrxvtrcBColon,mrxvtrcError
\ '\v<transparent>'
syn match mrxvtrcBColon contained skipwhite
@ -74,8 +74,7 @@ syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcNColon,mrxvtrcError
\ externalBorder internalBorder lineSpace
\ pointerBlankDelay cursorBlinkInterval
\ shading backgroundFade bgRefreshInterval
\ fading focusDelay opacity opacityDegree
\ xftPSize
\ fading opacity opacityDegree xftPSize
syn match mrxvtrcNColon contained skipwhite
\ nextgroup=mrxvtrcNumVal,mrxvtrcError ':'
syn match mrxvtrcNumVal contained skipwhite nextgroup=mrxvtrcError
@ -91,7 +90,6 @@ syn keyword mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
\ greektoggle_key menu menubarPixmap
\ scrollbarPixmap tabbarPixmap appIcon
\ multichar_encoding initProfileList
\ winTitleFormat
syn match mrxvtrcOptions contained nextgroup=mrxvtrcSColon,mrxvtrcError
\ '\v<m?font[1-5]?>'
syn match mrxvtrcSColon contained skipwhite nextgroup=mrxvtrcStrVal ':'
@ -104,6 +102,7 @@ syn match mrxvtrcProfile contained nextgroup=@mrxvtrcPOpts,mrxvtrcError
syn keyword mrxvtrcPSOpts contained nextgroup=mrxvtrcSColon,mrxvtrcError
\ tabTitle command holdExitText holdExitTitle
\ Pixmap workingDirectory titleFormat
\ winTitleFormat
syn keyword mrxvtrcPCOpts contained nextgroup=mrxvtrcCColon,mrxvtrcError
\ background foreground
syn keyword mrxvtrcPNOpts contained nextgroup=mrxvtrcNColon,mrxvtrcError
@ -205,7 +204,7 @@ syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcError
\ Dummy Copy Paste ToggleVeryBold
\ ToggleTransparency ToggleBroadcast
\ ToggleHold SetTitle ToggleMacros
\ ToggleFullscreen
\ ToggleFullscreen Raise
" Macros with a string argument
syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal
@ -214,7 +213,7 @@ syn keyword mrxvtrcMacro contained skipwhite nextgroup=mrxvtrcStrVal
" Macros with a numeric argument
syn keyword mrxvtrcMacro contained skipwhite
\ nextgroup=mrxvtrcNumVal,mrxvtrcError
\ Close GotoTab MoveTab ResizeFont
\ Close GotoTab MoveTab ResizeFont UseFifo
" NewTab macro
syn keyword mrxvtrcMacro contained skipwhite

View File

@ -1,10 +1,10 @@
" Vim syntax file
" Language: mysql
" Maintainer: Kenneth J. Pronovici <pronovic@ieee.org>
" Last Change: $Date$
" Last Change: $LastChangedDate: 2007-12-19 10:59:39 -0600 (Wed, 19 Dec 2007) $
" Filenames: *.mysql
" URL: ftp://cedar-solutions.com/software/mysql.vim
" Note: The definitions below are taken from the mysql user manual as of April 2002, for version 3.23
" URL: ftp://cedar-solutions.com/software/mysql.vim
" Note: The definitions below are taken from the mysql user manual as of April 2002, for version 3.23
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@ -18,56 +18,56 @@ endif
syn case ignore
" General keywords which don't fall into other categories
syn keyword mysqlKeyword action add after aggregate all alter as asc auto_increment avg avg_row_length
syn keyword mysqlKeyword both by
syn keyword mysqlKeyword cascade change character check checksum column columns comment constraint create cross
syn keyword mysqlKeyword current_date current_time current_timestamp
syn keyword mysqlKeyword data database databases day day_hour day_minute day_second
syn keyword mysqlKeyword default delayed delay_key_write delete desc describe distinct distinctrow drop
syn keyword mysqlKeyword enclosed escape escaped explain
syn keyword mysqlKeyword fields file first flush for foreign from full function
syn keyword mysqlKeyword global grant grants group
syn keyword mysqlKeyword having heap high_priority hosts hour hour_minute hour_second
syn keyword mysqlKeyword identified ignore index infile inner insert insert_id into isam
syn keyword mysqlKeyword join
syn keyword mysqlKeyword key keys kill last_insert_id leading left limit lines load local lock logs long
syn keyword mysqlKeyword low_priority
syn keyword mysqlKeyword match max_rows middleint min_rows minute minute_second modify month myisam
syn keyword mysqlKeyword natural no
syn keyword mysqlKeyword on optimize option optionally order outer outfile
syn keyword mysqlKeyword pack_keys partial password primary privileges procedure process processlist
syn keyword mysqlKeyword read references reload rename replace restrict returns revoke row rows
syn keyword mysqlKeyword second select show shutdown soname sql_big_result sql_big_selects sql_big_tables sql_log_off
syn keyword mysqlKeyword sql_log_update sql_low_priority_updates sql_select_limit sql_small_result sql_warnings starting
syn keyword mysqlKeyword status straight_join string
syn keyword mysqlKeyword table tables temporary terminated to trailing type
syn keyword mysqlKeyword unique unlock unsigned update usage use using
syn keyword mysqlKeyword values varbinary variables varying
syn keyword mysqlKeyword where with write
syn keyword mysqlKeyword year_month
syn keyword mysqlKeyword zerofill
syn keyword mysqlKeyword action add after aggregate all alter as asc auto_increment avg avg_row_length
syn keyword mysqlKeyword both by
syn keyword mysqlKeyword cascade change character check checksum column columns comment constraint create cross
syn keyword mysqlKeyword current_date current_time current_timestamp
syn keyword mysqlKeyword data database databases day day_hour day_minute day_second
syn keyword mysqlKeyword default delayed delay_key_write delete desc describe distinct distinctrow drop
syn keyword mysqlKeyword enclosed escape escaped explain
syn keyword mysqlKeyword fields file first flush for foreign from full function
syn keyword mysqlKeyword global grant grants group
syn keyword mysqlKeyword having heap high_priority hosts hour hour_minute hour_second
syn keyword mysqlKeyword identified ignore index infile inner insert insert_id into isam
syn keyword mysqlKeyword join
syn keyword mysqlKeyword key keys kill last_insert_id leading left limit lines load local lock logs long
syn keyword mysqlKeyword low_priority
syn keyword mysqlKeyword match max_rows middleint min_rows minute minute_second modify month myisam
syn keyword mysqlKeyword natural no
syn keyword mysqlKeyword on optimize option optionally order outer outfile
syn keyword mysqlKeyword pack_keys partial password primary privileges procedure process processlist
syn keyword mysqlKeyword read references reload rename replace restrict returns revoke row rows
syn keyword mysqlKeyword second select show shutdown soname sql_big_result sql_big_selects sql_big_tables sql_log_off
syn keyword mysqlKeyword sql_log_update sql_low_priority_updates sql_select_limit sql_small_result sql_warnings starting
syn keyword mysqlKeyword status straight_join string
syn keyword mysqlKeyword table tables temporary terminated to trailing type
syn keyword mysqlKeyword unique unlock unsigned update usage use using
syn keyword mysqlKeyword values varbinary variables varying
syn keyword mysqlKeyword where with write
syn keyword mysqlKeyword year_month
syn keyword mysqlKeyword zerofill
" Special values
syn keyword mysqlSpecial false null true
syn keyword mysqlSpecial false null true
" Strings (single- and double-quote)
syn region mysqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
syn region mysqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
syn region mysqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
syn region mysqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
" Numbers and hexidecimal values
syn match mysqlNumber "-\=\<[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "\<0x[abcdefABCDEF0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*e[+-]\=[0-9]*\>"
syn match mysqlNumber "\<0x[abcdefABCDEF0-9]*\>"
" User variables
syn match mysqlVariable "@\a*[A-Za-z0-9]*[._]*[A-Za-z0-9]*"
syn match mysqlVariable "@\a*[A-Za-z0-9]*[._]*[A-Za-z0-9]*"
" Comments (c-style, mysql-style and modified sql-style)
syn region mysqlComment start="/\*" end="\*/"
syn match mysqlComment "#.*"
syn match mysqlComment "-- .*"
syn region mysqlComment start="/\*" end="\*/"
syn match mysqlComment "#.*"
syn match mysqlComment "--\_s.*"
syn sync ccomment mysqlComment
" Column types
@ -84,189 +84,189 @@ syn sync ccomment mysqlComment
" The second problem is that some of these keywords are included in
" function names. For instance, year() is part of the name of the
" dayofyear() function, and the dec keyword (no parenthesis) is part of
" the name of the decode() function.
" the name of the decode() function.
syn keyword mysqlType tinyint smallint mediumint int integer bigint
syn keyword mysqlType date datetime time bit bool
syn keyword mysqlType tinytext mediumtext longtext text
syn keyword mysqlType tinyblob mediumblob longblob blob
syn region mysqlType start="float\W" end="."me=s-1
syn region mysqlType start="float$" end="."me=s-1
syn region mysqlType start="float(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="double\W" end="."me=s-1
syn region mysqlType start="double$" end="."me=s-1
syn region mysqlType start="double(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="double precision\W" end="."me=s-1
syn region mysqlType start="double precision$" end="."me=s-1
syn region mysqlType start="double precision(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="real\W" end="."me=s-1
syn region mysqlType start="real$" end="."me=s-1
syn region mysqlType start="real(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="numeric(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="dec\W" end="."me=s-1
syn region mysqlType start="dec$" end="."me=s-1
syn region mysqlType start="dec(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="decimal\W" end="."me=s-1
syn region mysqlType start="decimal$" end="."me=s-1
syn region mysqlType start="decimal(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="\Wtimestamp\W" end="."me=s-1
syn region mysqlType start="\Wtimestamp$" end="."me=s-1
syn region mysqlType start="\Wtimestamp(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="^timestamp\W" end="."me=s-1
syn region mysqlType start="^timestamp$" end="."me=s-1
syn region mysqlType start="^timestamp(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="\Wyear(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="^year(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="char(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="varchar(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="enum(" end=")" contains=mysqlString,mysqlVariable
syn region mysqlType start="\Wset(" end=")" contains=mysqlString,mysqlVariable
syn region mysqlType start="^set(" end=")" contains=mysqlString,mysqlVariable
syn keyword mysqlType tinyint smallint mediumint int integer bigint
syn keyword mysqlType date datetime time bit bool
syn keyword mysqlType tinytext mediumtext longtext text
syn keyword mysqlType tinyblob mediumblob longblob blob
syn region mysqlType start="float\W" end="."me=s-1
syn region mysqlType start="float$" end="."me=s-1
syn region mysqlType start="float(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="double\W" end="."me=s-1
syn region mysqlType start="double$" end="."me=s-1
syn region mysqlType start="double(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="double precision\W" end="."me=s-1
syn region mysqlType start="double precision$" end="."me=s-1
syn region mysqlType start="double precision(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="real\W" end="."me=s-1
syn region mysqlType start="real$" end="."me=s-1
syn region mysqlType start="real(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="numeric(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="dec\W" end="."me=s-1
syn region mysqlType start="dec$" end="."me=s-1
syn region mysqlType start="dec(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="decimal\W" end="."me=s-1
syn region mysqlType start="decimal$" end="."me=s-1
syn region mysqlType start="decimal(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="\Wtimestamp\W" end="."me=s-1
syn region mysqlType start="\Wtimestamp$" end="."me=s-1
syn region mysqlType start="\Wtimestamp(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="^timestamp\W" end="."me=s-1
syn region mysqlType start="^timestamp$" end="."me=s-1
syn region mysqlType start="^timestamp(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="\Wyear(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="^year(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="char(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="varchar(" end=")" contains=mysqlNumber,mysqlVariable
syn region mysqlType start="enum(" end=")" contains=mysqlString,mysqlVariable
syn region mysqlType start="\Wset(" end=")" contains=mysqlString,mysqlVariable
syn region mysqlType start="^set(" end=")" contains=mysqlString,mysqlVariable
" Logical, string and numeric operators
syn keyword mysqlOperator between not and or is in like regexp rlike binary exists
syn region mysqlOperator start="isnull(" end=")" contains=ALL
syn region mysqlOperator start="coalesce(" end=")" contains=ALL
syn region mysqlOperator start="interval(" end=")" contains=ALL
syn keyword mysqlOperator between not and or is in like regexp rlike binary exists
syn region mysqlOperator start="isnull(" end=")" contains=ALL
syn region mysqlOperator start="coalesce(" end=")" contains=ALL
syn region mysqlOperator start="interval(" end=")" contains=ALL
" Control flow functions
syn keyword mysqlFlow case when then else end
syn region mysqlFlow start="ifnull(" end=")" contains=ALL
syn region mysqlFlow start="nullif(" end=")" contains=ALL
syn region mysqlFlow start="if(" end=")" contains=ALL
syn keyword mysqlFlow case when then else end
syn region mysqlFlow start="ifnull(" end=")" contains=ALL
syn region mysqlFlow start="nullif(" end=")" contains=ALL
syn region mysqlFlow start="if(" end=")" contains=ALL
" General Functions
"
" I'm leery of just defining keywords for functions, since according to the MySQL manual:
"
" Function names do not clash with table or column names. For example, ABS is a
" valid column name. The only restriction is that for a function call, no spaces
" are allowed between the function name and the `(' that follows it.
" Function names do not clash with table or column names. For example, ABS is a
" valid column name. The only restriction is that for a function call, no spaces
" are allowed between the function name and the `(' that follows it.
"
" This means that if I want to highlight function names properly, I have to use a
" region to define them, not just a keyword. This will probably cause the syntax file
" This means that if I want to highlight function names properly, I have to use a
" region to define them, not just a keyword. This will probably cause the syntax file
" to load more slowly, but at least it will be 'correct'.
syn region mysqlFunction start="abs(" end=")" contains=ALL
syn region mysqlFunction start="acos(" end=")" contains=ALL
syn region mysqlFunction start="adddate(" end=")" contains=ALL
syn region mysqlFunction start="ascii(" end=")" contains=ALL
syn region mysqlFunction start="asin(" end=")" contains=ALL
syn region mysqlFunction start="atan(" end=")" contains=ALL
syn region mysqlFunction start="atan2(" end=")" contains=ALL
syn region mysqlFunction start="benchmark(" end=")" contains=ALL
syn region mysqlFunction start="bin(" end=")" contains=ALL
syn region mysqlFunction start="bit_and(" end=")" contains=ALL
syn region mysqlFunction start="bit_count(" end=")" contains=ALL
syn region mysqlFunction start="bit_or(" end=")" contains=ALL
syn region mysqlFunction start="ceiling(" end=")" contains=ALL
syn region mysqlFunction start="character_length(" end=")" contains=ALL
syn region mysqlFunction start="char_length(" end=")" contains=ALL
syn region mysqlFunction start="concat(" end=")" contains=ALL
syn region mysqlFunction start="concat_ws(" end=")" contains=ALL
syn region mysqlFunction start="connection_id(" end=")" contains=ALL
syn region mysqlFunction start="conv(" end=")" contains=ALL
syn region mysqlFunction start="cos(" end=")" contains=ALL
syn region mysqlFunction start="cot(" end=")" contains=ALL
syn region mysqlFunction start="count(" end=")" contains=ALL
syn region mysqlFunction start="curdate(" end=")" contains=ALL
syn region mysqlFunction start="curtime(" end=")" contains=ALL
syn region mysqlFunction start="date_add(" end=")" contains=ALL
syn region mysqlFunction start="date_format(" end=")" contains=ALL
syn region mysqlFunction start="date_sub(" end=")" contains=ALL
syn region mysqlFunction start="dayname(" end=")" contains=ALL
syn region mysqlFunction start="dayofmonth(" end=")" contains=ALL
syn region mysqlFunction start="dayofweek(" end=")" contains=ALL
syn region mysqlFunction start="dayofyear(" end=")" contains=ALL
syn region mysqlFunction start="decode(" end=")" contains=ALL
syn region mysqlFunction start="degrees(" end=")" contains=ALL
syn region mysqlFunction start="elt(" end=")" contains=ALL
syn region mysqlFunction start="encode(" end=")" contains=ALL
syn region mysqlFunction start="encrypt(" end=")" contains=ALL
syn region mysqlFunction start="exp(" end=")" contains=ALL
syn region mysqlFunction start="export_set(" end=")" contains=ALL
syn region mysqlFunction start="extract(" end=")" contains=ALL
syn region mysqlFunction start="field(" end=")" contains=ALL
syn region mysqlFunction start="find_in_set(" end=")" contains=ALL
syn region mysqlFunction start="floor(" end=")" contains=ALL
syn region mysqlFunction start="format(" end=")" contains=ALL
syn region mysqlFunction start="from_days(" end=")" contains=ALL
syn region mysqlFunction start="from_unixtime(" end=")" contains=ALL
syn region mysqlFunction start="get_lock(" end=")" contains=ALL
syn region mysqlFunction start="greatest(" end=")" contains=ALL
syn region mysqlFunction start="group_unique_users(" end=")" contains=ALL
syn region mysqlFunction start="hex(" end=")" contains=ALL
syn region mysqlFunction start="inet_aton(" end=")" contains=ALL
syn region mysqlFunction start="inet_ntoa(" end=")" contains=ALL
syn region mysqlFunction start="instr(" end=")" contains=ALL
syn region mysqlFunction start="lcase(" end=")" contains=ALL
syn region mysqlFunction start="least(" end=")" contains=ALL
syn region mysqlFunction start="length(" end=")" contains=ALL
syn region mysqlFunction start="load_file(" end=")" contains=ALL
syn region mysqlFunction start="locate(" end=")" contains=ALL
syn region mysqlFunction start="log(" end=")" contains=ALL
syn region mysqlFunction start="log10(" end=")" contains=ALL
syn region mysqlFunction start="lower(" end=")" contains=ALL
syn region mysqlFunction start="lpad(" end=")" contains=ALL
syn region mysqlFunction start="ltrim(" end=")" contains=ALL
syn region mysqlFunction start="make_set(" end=")" contains=ALL
syn region mysqlFunction start="master_pos_wait(" end=")" contains=ALL
syn region mysqlFunction start="max(" end=")" contains=ALL
syn region mysqlFunction start="md5(" end=")" contains=ALL
syn region mysqlFunction start="mid(" end=")" contains=ALL
syn region mysqlFunction start="min(" end=")" contains=ALL
syn region mysqlFunction start="mod(" end=")" contains=ALL
syn region mysqlFunction start="monthname(" end=")" contains=ALL
syn region mysqlFunction start="now(" end=")" contains=ALL
syn region mysqlFunction start="oct(" end=")" contains=ALL
syn region mysqlFunction start="octet_length(" end=")" contains=ALL
syn region mysqlFunction start="ord(" end=")" contains=ALL
syn region mysqlFunction start="period_add(" end=")" contains=ALL
syn region mysqlFunction start="period_diff(" end=")" contains=ALL
syn region mysqlFunction start="pi(" end=")" contains=ALL
syn region mysqlFunction start="position(" end=")" contains=ALL
syn region mysqlFunction start="pow(" end=")" contains=ALL
syn region mysqlFunction start="power(" end=")" contains=ALL
syn region mysqlFunction start="quarter(" end=")" contains=ALL
syn region mysqlFunction start="radians(" end=")" contains=ALL
syn region mysqlFunction start="rand(" end=")" contains=ALL
syn region mysqlFunction start="release_lock(" end=")" contains=ALL
syn region mysqlFunction start="repeat(" end=")" contains=ALL
syn region mysqlFunction start="reverse(" end=")" contains=ALL
syn region mysqlFunction start="round(" end=")" contains=ALL
syn region mysqlFunction start="rpad(" end=")" contains=ALL
syn region mysqlFunction start="rtrim(" end=")" contains=ALL
syn region mysqlFunction start="sec_to_time(" end=")" contains=ALL
syn region mysqlFunction start="session_user(" end=")" contains=ALL
syn region mysqlFunction start="sign(" end=")" contains=ALL
syn region mysqlFunction start="sin(" end=")" contains=ALL
syn region mysqlFunction start="soundex(" end=")" contains=ALL
syn region mysqlFunction start="space(" end=")" contains=ALL
syn region mysqlFunction start="sqrt(" end=")" contains=ALL
syn region mysqlFunction start="std(" end=")" contains=ALL
syn region mysqlFunction start="stddev(" end=")" contains=ALL
syn region mysqlFunction start="strcmp(" end=")" contains=ALL
syn region mysqlFunction start="subdate(" end=")" contains=ALL
syn region mysqlFunction start="substring(" end=")" contains=ALL
syn region mysqlFunction start="substring_index(" end=")" contains=ALL
syn region mysqlFunction start="subtime(" end=")" contains=ALL
syn region mysqlFunction start="sum(" end=")" contains=ALL
syn region mysqlFunction start="sysdate(" end=")" contains=ALL
syn region mysqlFunction start="system_user(" end=")" contains=ALL
syn region mysqlFunction start="tan(" end=")" contains=ALL
syn region mysqlFunction start="time_format(" end=")" contains=ALL
syn region mysqlFunction start="time_to_sec(" end=")" contains=ALL
syn region mysqlFunction start="to_days(" end=")" contains=ALL
syn region mysqlFunction start="trim(" end=")" contains=ALL
syn region mysqlFunction start="ucase(" end=")" contains=ALL
syn region mysqlFunction start="unique_users(" end=")" contains=ALL
syn region mysqlFunction start="unix_timestamp(" end=")" contains=ALL
syn region mysqlFunction start="upper(" end=")" contains=ALL
syn region mysqlFunction start="user(" end=")" contains=ALL
syn region mysqlFunction start="version(" end=")" contains=ALL
syn region mysqlFunction start="week(" end=")" contains=ALL
syn region mysqlFunction start="weekday(" end=")" contains=ALL
syn region mysqlFunction start="yearweek(" end=")" contains=ALL
syn region mysqlFunction start="abs(" end=")" contains=ALL
syn region mysqlFunction start="acos(" end=")" contains=ALL
syn region mysqlFunction start="adddate(" end=")" contains=ALL
syn region mysqlFunction start="ascii(" end=")" contains=ALL
syn region mysqlFunction start="asin(" end=")" contains=ALL
syn region mysqlFunction start="atan(" end=")" contains=ALL
syn region mysqlFunction start="atan2(" end=")" contains=ALL
syn region mysqlFunction start="benchmark(" end=")" contains=ALL
syn region mysqlFunction start="bin(" end=")" contains=ALL
syn region mysqlFunction start="bit_and(" end=")" contains=ALL
syn region mysqlFunction start="bit_count(" end=")" contains=ALL
syn region mysqlFunction start="bit_or(" end=")" contains=ALL
syn region mysqlFunction start="ceiling(" end=")" contains=ALL
syn region mysqlFunction start="character_length(" end=")" contains=ALL
syn region mysqlFunction start="char_length(" end=")" contains=ALL
syn region mysqlFunction start="concat(" end=")" contains=ALL
syn region mysqlFunction start="concat_ws(" end=")" contains=ALL
syn region mysqlFunction start="connection_id(" end=")" contains=ALL
syn region mysqlFunction start="conv(" end=")" contains=ALL
syn region mysqlFunction start="cos(" end=")" contains=ALL
syn region mysqlFunction start="cot(" end=")" contains=ALL
syn region mysqlFunction start="count(" end=")" contains=ALL
syn region mysqlFunction start="curdate(" end=")" contains=ALL
syn region mysqlFunction start="curtime(" end=")" contains=ALL
syn region mysqlFunction start="date_add(" end=")" contains=ALL
syn region mysqlFunction start="date_format(" end=")" contains=ALL
syn region mysqlFunction start="date_sub(" end=")" contains=ALL
syn region mysqlFunction start="dayname(" end=")" contains=ALL
syn region mysqlFunction start="dayofmonth(" end=")" contains=ALL
syn region mysqlFunction start="dayofweek(" end=")" contains=ALL
syn region mysqlFunction start="dayofyear(" end=")" contains=ALL
syn region mysqlFunction start="decode(" end=")" contains=ALL
syn region mysqlFunction start="degrees(" end=")" contains=ALL
syn region mysqlFunction start="elt(" end=")" contains=ALL
syn region mysqlFunction start="encode(" end=")" contains=ALL
syn region mysqlFunction start="encrypt(" end=")" contains=ALL
syn region mysqlFunction start="exp(" end=")" contains=ALL
syn region mysqlFunction start="export_set(" end=")" contains=ALL
syn region mysqlFunction start="extract(" end=")" contains=ALL
syn region mysqlFunction start="field(" end=")" contains=ALL
syn region mysqlFunction start="find_in_set(" end=")" contains=ALL
syn region mysqlFunction start="floor(" end=")" contains=ALL
syn region mysqlFunction start="format(" end=")" contains=ALL
syn region mysqlFunction start="from_days(" end=")" contains=ALL
syn region mysqlFunction start="from_unixtime(" end=")" contains=ALL
syn region mysqlFunction start="get_lock(" end=")" contains=ALL
syn region mysqlFunction start="greatest(" end=")" contains=ALL
syn region mysqlFunction start="group_unique_users(" end=")" contains=ALL
syn region mysqlFunction start="hex(" end=")" contains=ALL
syn region mysqlFunction start="inet_aton(" end=")" contains=ALL
syn region mysqlFunction start="inet_ntoa(" end=")" contains=ALL
syn region mysqlFunction start="instr(" end=")" contains=ALL
syn region mysqlFunction start="lcase(" end=")" contains=ALL
syn region mysqlFunction start="least(" end=")" contains=ALL
syn region mysqlFunction start="length(" end=")" contains=ALL
syn region mysqlFunction start="load_file(" end=")" contains=ALL
syn region mysqlFunction start="locate(" end=")" contains=ALL
syn region mysqlFunction start="log(" end=")" contains=ALL
syn region mysqlFunction start="log10(" end=")" contains=ALL
syn region mysqlFunction start="lower(" end=")" contains=ALL
syn region mysqlFunction start="lpad(" end=")" contains=ALL
syn region mysqlFunction start="ltrim(" end=")" contains=ALL
syn region mysqlFunction start="make_set(" end=")" contains=ALL
syn region mysqlFunction start="master_pos_wait(" end=")" contains=ALL
syn region mysqlFunction start="max(" end=")" contains=ALL
syn region mysqlFunction start="md5(" end=")" contains=ALL
syn region mysqlFunction start="mid(" end=")" contains=ALL
syn region mysqlFunction start="min(" end=")" contains=ALL
syn region mysqlFunction start="mod(" end=")" contains=ALL
syn region mysqlFunction start="monthname(" end=")" contains=ALL
syn region mysqlFunction start="now(" end=")" contains=ALL
syn region mysqlFunction start="oct(" end=")" contains=ALL
syn region mysqlFunction start="octet_length(" end=")" contains=ALL
syn region mysqlFunction start="ord(" end=")" contains=ALL
syn region mysqlFunction start="period_add(" end=")" contains=ALL
syn region mysqlFunction start="period_diff(" end=")" contains=ALL
syn region mysqlFunction start="pi(" end=")" contains=ALL
syn region mysqlFunction start="position(" end=")" contains=ALL
syn region mysqlFunction start="pow(" end=")" contains=ALL
syn region mysqlFunction start="power(" end=")" contains=ALL
syn region mysqlFunction start="quarter(" end=")" contains=ALL
syn region mysqlFunction start="radians(" end=")" contains=ALL
syn region mysqlFunction start="rand(" end=")" contains=ALL
syn region mysqlFunction start="release_lock(" end=")" contains=ALL
syn region mysqlFunction start="repeat(" end=")" contains=ALL
syn region mysqlFunction start="reverse(" end=")" contains=ALL
syn region mysqlFunction start="round(" end=")" contains=ALL
syn region mysqlFunction start="rpad(" end=")" contains=ALL
syn region mysqlFunction start="rtrim(" end=")" contains=ALL
syn region mysqlFunction start="sec_to_time(" end=")" contains=ALL
syn region mysqlFunction start="session_user(" end=")" contains=ALL
syn region mysqlFunction start="sign(" end=")" contains=ALL
syn region mysqlFunction start="sin(" end=")" contains=ALL
syn region mysqlFunction start="soundex(" end=")" contains=ALL
syn region mysqlFunction start="space(" end=")" contains=ALL
syn region mysqlFunction start="sqrt(" end=")" contains=ALL
syn region mysqlFunction start="std(" end=")" contains=ALL
syn region mysqlFunction start="stddev(" end=")" contains=ALL
syn region mysqlFunction start="strcmp(" end=")" contains=ALL
syn region mysqlFunction start="subdate(" end=")" contains=ALL
syn region mysqlFunction start="substring(" end=")" contains=ALL
syn region mysqlFunction start="substring_index(" end=")" contains=ALL
syn region mysqlFunction start="subtime(" end=")" contains=ALL
syn region mysqlFunction start="sum(" end=")" contains=ALL
syn region mysqlFunction start="sysdate(" end=")" contains=ALL
syn region mysqlFunction start="system_user(" end=")" contains=ALL
syn region mysqlFunction start="tan(" end=")" contains=ALL
syn region mysqlFunction start="time_format(" end=")" contains=ALL
syn region mysqlFunction start="time_to_sec(" end=")" contains=ALL
syn region mysqlFunction start="to_days(" end=")" contains=ALL
syn region mysqlFunction start="trim(" end=")" contains=ALL
syn region mysqlFunction start="ucase(" end=")" contains=ALL
syn region mysqlFunction start="unique_users(" end=")" contains=ALL
syn region mysqlFunction start="unix_timestamp(" end=")" contains=ALL
syn region mysqlFunction start="upper(" end=")" contains=ALL
syn region mysqlFunction start="user(" end=")" contains=ALL
syn region mysqlFunction start="version(" end=")" contains=ALL
syn region mysqlFunction start="week(" end=")" contains=ALL
syn region mysqlFunction start="weekday(" end=")" contains=ALL
syn region mysqlFunction start="yearweek(" end=")" contains=ALL
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@ -279,16 +279,16 @@ if version >= 508 || !exists("did_mysql_syn_inits")
command -nargs=+ HiLink hi def link <args>
endif
HiLink mysqlKeyword Statement
HiLink mysqlSpecial Special
HiLink mysqlString String
HiLink mysqlNumber Number
HiLink mysqlVariable Identifier
HiLink mysqlComment Comment
HiLink mysqlType Type
HiLink mysqlOperator Statement
HiLink mysqlFlow Statement
HiLink mysqlFunction Function
HiLink mysqlKeyword Statement
HiLink mysqlSpecial Special
HiLink mysqlString String
HiLink mysqlNumber Number
HiLink mysqlVariable Identifier
HiLink mysqlComment Comment
HiLink mysqlType Type
HiLink mysqlOperator Statement
HiLink mysqlFlow Statement
HiLink mysqlFunction Function
delcommand HiLink
endif

View File

@ -1,244 +1,6 @@
" Vim syntax file
" Language: phtml PHP 2.0
" Maintainer: Lutz Eymers <ixtab@polzin.com>
" URL: http://www.isp.de/data/phtml.vim
" Email: Subject: send syntax_vim.tgz
" Last change: 2003 May 11
"
" Options phtml_sql_query = 1 for SQL syntax highligthing inside strings
" phtml_minlines = x to sync at least x lines backwards
" PHTML used to be the filetype for PHP 2.0. Now everything is PHP.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
if !exists("b:current_syntax")
runtime! syntax/php.vim
endif
if !exists("main_syntax")
let main_syntax = 'phtml'
endif
if version < 600
so <sfile>:p:h/html.vim
else
runtime! syntax/html.vim
unlet b:current_syntax
endif
syn cluster htmlPreproc add=phtmlRegionInsideHtmlTags
if exists( "phtml_sql_query")
if phtml_sql_query == 1
syn include @phtmlSql <sfile>:p:h/sql.vim
unlet b:current_syntax
endif
endif
syn cluster phtmlSql remove=sqlString,sqlComment
syn case match
" Env Variables
syn keyword phtmlEnvVar SERVER_SOFTWARE SERVER_NAME SERVER_URL GATEWAY_INTERFACE contained
syn keyword phtmlEnvVar SERVER_PROTOCOL SERVER_PORT REQUEST_METHOD PATH_INFO contained
syn keyword phtmlEnvVar PATH_TRANSLATED SCRIPT_NAME QUERY_STRING REMOTE_HOST contained
syn keyword phtmlEnvVar REMOTE_ADDR AUTH_TYPE REMOTE_USER CONTEN_TYPE contained
syn keyword phtmlEnvVar CONTENT_LENGTH HTTPS HTTPS_KEYSIZE HTTPS_SECRETKEYSIZE contained
syn keyword phtmlEnvVar HTTP_ACCECT HTTP_USER_AGENT HTTP_IF_MODIFIED_SINCE contained
syn keyword phtmlEnvVar HTTP_FROM HTTP_REFERER contained
syn keyword phtmlEnvVar PHP_SELF contained
syn case ignore
" Internal Variables
syn keyword phtmlIntVar phperrmsg php_self contained
" Comment
syn region phtmlComment start="/\*" end="\*/" contained contains=phtmlTodo
" Function names
syn keyword phtmlFunctions Abs Ada_Close Ada_Connect Ada_Exec Ada_FetchRow contained
syn keyword phtmlFunctions Ada_FieldName Ada_FieldNum Ada_FieldType contained
syn keyword phtmlFunctions Ada_FreeResult Ada_NumFields Ada_NumRows Ada_Result contained
syn keyword phtmlFunctions Ada_ResultAll AddSlashes ASort BinDec Ceil ChDir contained
syn keyword phtmlFunctions AdaGrp ChMod ChOwn Chop Chr ClearStack ClearStatCache contained
syn keyword phtmlFunctions closeDir CloseLog Cos Count Crypt Date dbList contained
syn keyword phtmlFunctions dbmClose dbmDelete dbmExists dbmFetch dbmFirstKey contained
syn keyword phtmlFunctions dbmInsert dbmNextKey dbmOpen dbmReplace DecBin DecHex contained
syn keyword phtmlFunctions DecOct doubleval Echo End ereg eregi ereg_replace contained
syn keyword phtmlFunctions eregi_replace EscapeShellCmd Eval Exec Exit Exp contained
syn keyword phtmlFunctions fclose feof fgets fgetss File fileAtime fileCtime contained
syn keyword phtmlFunctions fileGroup fileInode fileMtime fileOwner filePerms contained
syn keyword phtmlFunctions fileSize fileType Floor Flush fopen fputs FPassThru contained
syn keyword phtmlFunctions fseek fsockopen ftell getAccDir GetEnv getHostByName contained
syn keyword phtmlFunctions getHostByAddr GetImageSize getLastAcess contained
syn keyword phtmlFunctions getLastbrowser getLastEmail getLastHost getLastMod contained
syn keyword phtmlFunctions getLastref getLogDir getMyInode getMyPid getMyUid contained
syn keyword phtmlFunctions getRandMax getStartLogging getToday getTotal GetType contained
syn keyword phtmlFunctions gmDate Header HexDec HtmlSpecialChars ImageArc contained
syn keyword phtmlFunctions ImageChar ImageCharUp IamgeColorAllocate contained
syn keyword phtmlFunctions ImageColorTransparent ImageCopyResized ImageCreate contained
syn keyword phtmlFunctions ImageCreateFromGif ImageDestroy ImageFill contained
syn keyword phtmlFunctions ImageFilledPolygon ImageFilledRectangle contained
syn keyword phtmlFunctions ImageFillToBorder ImageGif ImageInterlace ImageLine contained
syn keyword phtmlFunctions ImagePolygon ImageRectangle ImageSetPixel contained
syn keyword phtmlFunctions ImageString ImageStringUp ImageSX ImageSY Include contained
syn keyword phtmlFunctions InitSyslog intval IsSet Key Link LinkInfo Log Log10 contained
syn keyword phtmlFunctions LosAs Mail Max Md5 mi_Close mi_Connect mi_DBname contained
syn keyword phtmlFunctions mi_Exec mi_FieldName mi_FieldNum mi_NumFields contained
syn keyword phtmlFunctions mi_NumRows mi_Result Microtime Min MkDir MkTime msql contained
syn keyword phtmlFunctions msql_connect msql_CreateDB msql_dbName msql_DropDB contained
syn keyword phtmlFunctions msqlFieldFlags msql_FieldLen msql_FieldName contained
syn keyword phtmlFunctions msql_FieldType msql_FreeResult msql_ListDBs contained
syn keyword phtmlFunctions msql_Listfields msql_ListTables msql_NumFields contained
syn keyword phtmlFunctions msql_NumRows msql_RegCase msql_Result msql_TableName contained
syn keyword phtmlFunctions mysql mysql_affected_rows mysql_close mysql_connect contained
syn keyword phtmlFunctions mysql_CreateDB mysql_dbName mysqlDropDB contained
syn keyword phtmlFunctions mysql_FieldFlags mysql_FieldLen mysql_FieldName contained
syn keyword phtmlFunctions mysql_FieldType mysql_FreeResult mysql_insert_id contained
syn keyword phtmlFunctions mysql_listDBs mysql_Listfields mysql_ListTables contained
syn keyword phtmlFunctions mysql_NumFields mysql_NumRows mysql_Result contained
syn keyword phtmlFunctions mysql_TableName Next OctDec openDir OpenLog contained
syn keyword phtmlFunctions Ora_Bind Ora_Close Ora_Commit Ora_CommitOff contained
syn keyword phtmlFunctions Ora_CommitOn Ora_Exec Ora_Fetch Ora_GetColumn contained
syn keyword phtmlFunctions Ora_Logoff Ora_Logon Ora_Parse Ora_Rollback Ord contained
syn keyword phtmlFunctions Parse_str PassThru pclose pg_Close pg_Connect contained
syn keyword phtmlFunctions pg_DBname pg_ErrorMessage pg_Exec pg_FieldName contained
syn keyword phtmlFunctions pg_FieldPrtLen pg_FieldNum pg_FieldSize contained
syn keyword phtmlFunctions pg_FieldType pg_FreeResult pg_GetLastOid pg_Host contained
syn keyword phtmlFunctions pg_NumFields pg_NumRows pg_Options pg_Port contained
syn keyword phtmlFunctions pg_Result pg_tty phpInfo phpVersion popen pos pow contained
syn keyword phtmlFunctions Prev PutEnv QuoteMeta Rand readDir ReadFile ReadLink contained
syn keyword phtmlFunctions reg_Match reg_replace reg_Search Rename Reset return contained
syn keyword phtmlFunctions rewind rewindDir RmDir rSort SetCookie SetErrorReporting contained
syn keyword phtmlFunctions SetLogging SetShowInfo SetType shl shr Sin Sleep contained
syn keyword phtmlFunctions Solid_Close Solid_Connect Solid_Exec Solid_FetchRow contained
syn keyword phtmlFunctions Solid_FieldName Solid_FieldNum Solid_FreeResult contained
syn keyword phtmlFunctions Solid_NumFields Solid_NumRows Solid_Result Sort contained
syn keyword phtmlFunctions Spundtex Sprintf Sqrt Srand strchr strtr contained
syn keyword phtmlFunctions StripSlashes strlen strchr strstr strtok strtolower contained
syn keyword phtmlFunctions strtoupper strval substr sybSQL_CheckConnect contained
syn keyword phtmlFunctions sybSQL_DBUSE sybSQL_Connect sybSQL_Exit contained
syn keyword phtmlFunctions sybSQL_Fieldname sybSQL_GetField sybSQL_IsRow contained
syn keyword phtmlFunctions sybSQL_NextRow sybSQL_NumFields sybSQL_NumRows contained
syn keyword phtmlFunctions sybSQL_Query sybSQL_Result sybSQL_Result sybSQL_Seek contained
syn keyword phtmlFunctions Symlink syslog System Tan TempNam Time Umask UniqId contained
syn keyword phtmlFunctions Unlink Unset UrlDecode UrlEncode USleep Virtual contained
syn keyword phtmlFunctions SecureVar contained
" Conditional
syn keyword phtmlConditional if else elseif endif switch endswitch contained
" Repeat
syn keyword phtmlRepeat while endwhile contained
" Repeat
syn keyword phtmlLabel case default contained
" Statement
syn keyword phtmlStatement break return continue exit contained
" Operator
syn match phtmlOperator "[-=+%^&|*!]" contained
syn match phtmlOperator "[-+*/%^&|]=" contained
syn match phtmlOperator "/[^*]"me=e-1 contained
syn match phtmlOperator "\$" contained
syn match phtmlRelation "&&" contained
syn match phtmlRelation "||" contained
syn match phtmlRelation "[!=<>]=" contained
syn match phtmlRelation "[<>]" contained
" Identifier
syn match phtmlIdentifier "$\h\w*" contained contains=phtmlEnvVar,phtmlIntVar,phtmlOperator
" Include
syn keyword phtmlInclude include contained
" Definesag
syn keyword phtmlDefine Function contained
" String
syn region phtmlString keepend matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=phtmlIdentifier,phtmlSpecialChar,@phtmlSql contained
" Number
syn match phtmlNumber "-\=\<\d\+\>" contained
" Float
syn match phtmlFloat "\(-\=\<\d+\|-\=\)\.\d\+\>" contained
" SpecialChar
syn match phtmlSpecialChar "\\[abcfnrtyv\\]" contained
syn match phtmlSpecialChar "\\\d\{3}" contained contains=phtmlOctalError
syn match phtmlSpecialChar "\\x[0-9a-fA-F]\{2}" contained
syn match phtmlOctalError "[89]" contained
syn match phtmlParentError "[)}\]]" contained
" Todo
syn keyword phtmlTodo TODO Todo todo contained
" Parents
syn cluster phtmlInside contains=phtmlComment,phtmlFunctions,phtmlIdentifier,phtmlConditional,phtmlRepeat,phtmlLabel,phtmlStatement,phtmlOperator,phtmlRelation,phtmlString,phtmlNumber,phtmlFloat,phtmlSpecialChar,phtmlParent,phtmlParentError,phtmlInclude
syn cluster phtmlTop contains=@phtmlInside,phtmlInclude,phtmlDefine,phtmlParentError,phtmlTodo
syn region phtmlParent matchgroup=Delimiter start="(" end=")" contained contains=@phtmlInside
syn region phtmlParent matchgroup=Delimiter start="{" end="}" contained contains=@phtmlInside
syn region phtmlParent matchgroup=Delimiter start="\[" end="\]" contained contains=@phtmlInside
syn region phtmlRegion keepend matchgroup=Delimiter start="<?" skip=+(.*>.*)\|".\{-}>.\{-}"\|/\*.\{-}>.\{-}\*/+ end=">" contains=@phtmlTop
syn region phtmlRegionInsideHtmlTags keepend matchgroup=Delimiter start="<?" skip=+(.*>.*)\|/\*.\{-}>.\{-}\*/+ end=">" contains=@phtmlTop contained
" sync
if exists("phtml_minlines")
exec "syn sync minlines=" . phtml_minlines
else
syn sync minlines=100
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_phtml_syn_inits")
if version < 508
let did_phtml_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink phtmlComment Comment
HiLink phtmlString String
HiLink phtmlNumber Number
HiLink phtmlFloat Float
HiLink phtmlIdentifier Identifier
HiLink phtmlIntVar Identifier
HiLink phtmlEnvVar Identifier
HiLink phtmlFunctions Function
HiLink phtmlRepeat Repeat
HiLink phtmlConditional Conditional
HiLink phtmlLabel Label
HiLink phtmlStatement Statement
HiLink phtmlType Type
HiLink phtmlInclude Include
HiLink phtmlDefine Define
HiLink phtmlSpecialChar SpecialChar
HiLink phtmlParentError Error
HiLink phtmlOctalError Error
HiLink phtmlTodo Todo
HiLink phtmlOperator Operator
HiLink phtmlRelation Operator
delcommand HiLink
endif
let b:current_syntax = "phtml"
if main_syntax == 'phtml'
unlet main_syntax
endif
" vim: ts=8

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Quake[1-3] configuration file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19
" Latest Revision: 2007-06-17
" quake_is_quake1 - the syntax is to be used for quake1 configs
" quake_is_quake2 - the syntax is to be used for quake2 configs
" quake_is_quake3 - the syntax is to be used for quake3 configs
@ -14,7 +14,7 @@ endif
let s:cpo_save = &cpo
set cpo&vim
setlocal iskeyword=@,48-57,+,-,_
setlocal iskeyword+=-,+
syn keyword quakeTodo contained TODO FIXME XXX NOTE

View File

@ -4,6 +4,7 @@
" Last Change: 2005 Dez 9, added some <http://www.ooRexx.org>-coloring,
" line comments, do *over*, messages, directives,
" highlighting classes, methods, routines and requires
" 2007 Oct 17, added support for new ooRexx 3.2 features
" Rony G. Flatscher <rony.flatscher@wu-wien.ac.at>
"
" URL: http://www.geulig.de/vim/rexx.vim
@ -27,122 +28,194 @@ setlocal iskeyword+=!
setlocal iskeyword+=?
" ---rgf, position important: must be before comments etc. !
syn match rexxOperator "[-=|\/\\\+\*\[\],;<>&\~]"
syn match rexxIdentifier "\<[a-zA-Z\!\?_]\([a-zA-Z0-9._?!]\)*\>"
syn match rexxEnvironmentSymbol "\<\.\+\([a-zA-Z0-9._?!]\)*\>"
syn match rexxOperator "[=|\/\\\+\*\[\],;:<>&\~%\-]"
" rgf syn match rexxIdentifier "\<[a-zA-Z\!\?_]\([a-zA-Z0-9._?!]\)*\>"
syn match rexxIdentifier "\<\K\k*\>"
syn match rexxEnvironmentSymbol "\<\.\k\+\>"
" A Keyword is the first symbol in a clause. A clause begins at the start
" of a line or after a semicolon. THEN, ELSE, OTHERWISE, and colons are always
" followed by an implied semicolon.
syn match rexxClause "\(^\|;\|:\|then \|else \|otherwise \)\s*\w\+" contains=ALLBUT,rexxParse2,rexxRaise2
syn match rexxClause "\(^\|;\|:\|then \|else \|when \|otherwise \)\s*\S*" contains=ALLBUT,rexxParse2,rexxRaise2,rexxForward2
" Considered keywords when used together in a phrase and begin a clause
syn match rexxParse "\<parse\s*\(\(upper\|lower\|caseless\)\s*\)\=\(arg\|linein\|pull\|source\|var\|\<value\>\|version\)\>"
syn match rexxParse2 "\<with\>" contained containedin=rexxParse
syn match rexxParse "\<parse\s*\(\(upper\|lower\|caseless\)\s*\)\?\(arg\|linein\|pull\|source\|var\|\<value\>\|version\)\>" containedin=rexxClause contains=rexxParse2
syn match rexxParse2 "\<with\>" containedin=rexxParse
syn match rexxKeyword contained "\<numeric \(digits\|form \(scientific\|engineering\|value\)\|fuzz\)\>"
syn match rexxKeyword contained "\<\(address\|trace\)\( value\)\=\>"
syn match rexxKeyword contained "\<procedure\(\s*expose\)\=\>"
syn match rexxKeyword contained "\<do\>\(\s*forever\)\=\>"
syn match rexxKeyword contained "\<use\>\s*\<arg\>"
syn match rexxKeyword contained "\<\(address\|trace\)\( value\)\?\>"
syn match rexxKeyword contained "\<procedure\(\s*expose\)\?\>"
syn match rexxKeyword contained "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\(\s\+forever\)\?\>"
syn match rexxKeyword contained "\<use\>\s*\(strict\s*\)\?\<arg\>"
" Another keyword phrase, separated to aid highlighting in rexxFunction
syn match rexxKeyword contained "\<signal\(\s*\(on\|off\)\s*\(any\|error\|failure\|halt\|lostdigits\|nomethod\|nostring\|notready\|novalue\|syntax\|user\s*\k*\)\(\s\+name\)\=\)\=\>"
syn match rexxKeyword2 contained "\<call\(\s*\(on\|off\)\s*\(any\|error\|failure\|halt\|notready\|user\s*\k*\)\(\s\+name\)\=\)\=\>"
syn match rexxRegularCallSignal contained "\<\(call\|signal\)\s\(\s*on\>\|\s*off\>\)\@!\(\k\+\ze\|\ze(\)\(\s*\|;\|$\|(\)"
syn region rexxLabel contained start="\<\(call\|signal\)\>\s*\zs\(\k*\|(\)" end="\ze\(\s*\|;\|$\|(\)" containedin=rexxRegularCallSignal
syn match rexxExceptionHandling contained "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>.*\(;\|$\)"
" hilite label given after keyword "name"
syn match rexxLabel "name\s\+\zs\k\+\ze" containedin=rexxExceptionHandling
" hilite condition name (serves as label)
syn match rexxLabel "\<\(call\|signal\)\>\s\+\<\(on\|off\)\>\s*\zs\k\+\ze\s*\(;\|$\)" containedin=rexxExceptionHandling
" user exception handling, hilite user defined name
syn region rexxLabel contained start="user\s\+\zs\k" end="\ze\(\s\|;\|$\)" containedin=rexxExceptionHandling
" Considered keywords when they begin a clause
syn match rexxKeyword contained "\<\(arg\|do\|drop\|end\|exit\|expose\|forward\|if\|interpret\|iterate\|leave\|nop\)\>"
syn match rexxKeyword contained "\<\(options\|pull\|push\|queue\|raise\|reply\|return\|say\|select\|trace\)\>"
syn match rexxKeywordStatements "\<\(arg\|catch\|do\|drop\|end\|exit\|expose\|finally\|forward\|if\|interpret\|iterate\|leave\|loop\|nop\)\>"
syn match rexxKeywordStatements "\<\(options\|pull\|push\|queue\|raise\|reply\|return\|say\|select\|trace\)\>"
" Conditional keywords starting a new statement
syn match rexxConditional "\<\(then\|else\|when\|otherwise\)\(\s*\|;\|\_$\|\)\>" contains=rexxKeywordStatements
" Conditional phrases
syn match rexxConditional "\(^\s*\| \)\(to\|by\|for\|until\|while\|then\|when\|otherwise\|else\|over\)\( \|\s*$\)"
syn match rexxConditional contained "\<\(to\|by\|for\|until\|while\|then\|when\|otherwise\|else\|over\)\>"
syn match rexxLoopKeywords "\<\(to\|by\|for\|until\|while\|over\)\>" containedin=doLoopSelectLabelRegion
" must be after Conditional phrases!
syn match rexxKeyword ".*\<\(then\|else\)\s*\<do\>"
syn match doLoopSelectLabelRegion "\<\(do\|loop\|select\)\>\s\+\(label\s\+\)\?\(\s\+\k\+\s\+\zs\<over\>\)\?\k*\(\s\+forever\)\?\(\s\|;\|$\)"
" color label's name
syn match rexxLabel2 "\<\(do\|loop\|select\)\>\s\+label\s\+\zs\k*\ze" containedin=doLoopSelectLabelRegion
" make sure control variable is normal
syn match rexxControlVariable "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\s\+\<over\>" containedin=doLoopSelectLabelRegion
" make sure control variable assignment is normal
syn match rexxStartValueAssignment "\<\(do\|loop\)\>\(\s\+label\s\+\k*\)\?\s\+\zs.*\ze\(=.*\)\?\s\+\<to\>" containedin=doLoopSelectLabelRegion
" highlight label name
syn match endIterateLeaveLabelRegion "\<\(end\|leave\|iterate\)\>\(\s\+\K\k*\)" contains=rexxLabel2
syn match rexxLabel2 "\<\(end\|leave\|iterate\)\>\s\+\zs\k*\ze" containedin=endIterateLeaveLabelRegion
" Guard statement
syn match rexxGuard "\(^\|;\|:\)\s*\<guard\>\s\+\<\(on\|off\)\>"
" Trace statement
syn match rexxTrace "\(^\|;\|:\)\s*\<trace\>\s\+\<\K\k*\>"
" Raise statement
syn match rexxRaise "\(^\|;\|:\)\s\+\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\="
syn match rexxRaise2 "\<\(additional\|array\|description\|exit\|return\)\>" contained containedin=rexxRaise
syn match rexxRaise "\(^\|;\|:\)\s\+\<raise\>\s*\<\(propagate\|error\|failure\|syntax\|user\)\>\?" contains=rexxRaise2
syn match rexxRaise2 "\<\(additional\|array\|description\|exit\|propagate\|return\)\>" containedin=rexxRaise
" Forward statement keywords
syn match rexxForward "\(^\|;\|:\)\<forward\>\s*"
syn match rexxForward2 "\<\(arguments\|array\|continue\|message\|class\|to\)\>" contained containedin=rexxForward
" Forward statement
syn match rexxForward "\(^\|;\|:\)\<forward\>\s*" contains=rexxForward2
syn match rexxForward2 "\<\(arguments\|array\|continue\|message\|class\|to\)\>" contained
" Functions/Procedures
syn match rexxFunction "\<\w*\(/\*\s*\*/\)*("me=e-1 contains=rexxComment,rexxConditional,rexxKeyword,rexxIdentifier
syn match rexxFunction "\<\<[a-zA-Z\!\?_]\([a-zA-Z0-9._?!]\)*\>("me=e-1
syn match rexxFunction "\<call\s\+\k\+\>" contains=rexxKeyword2
syn match rexxFunction "\<\<[a-zA-Z\!\?_]\k*\>("me=e-1
syn match rexxFunction "[()]"
" String constants
syn region rexxString start=+"+ skip=+""+ end=+"\(x\|b\)\=+ oneline
syn region rexxString start=+'+ skip=+''+ end=+'\(x\|b\)\=+ oneline
syn region rexxString start=+"+ skip=+""+ end=+"\(x\|b\)\?+ oneline
syn region rexxString start=+'+ skip=+''+ end=+'\(x\|b\)\?+ oneline
" Catch errors caused by wrong parenthesis
syn region rexxParen transparent start='(' end=')' contains=ALLBUT,rexxParenError,rexxTodo,rexxLabel,rexxKeyword
" Catch errors caused by wrong parenthesis
syn match rexxParenError ")"
syn match rexxInParen "[\\[\\]{}]"
" Comments
syn region rexxComment start="/\*" end="\*/" contains=rexxTodo,rexxComment
syn match rexxCommentError "\*/"
syn match rexxLineComment /--.*/
syn region rexxComment start="/\*" end="\*/" contains=rexxTodo,rexxComment
syn match rexxCommentError "\*/"
syn region rexxLineComment start="--" end="\_$" oneline
" Highlight User Labels
" check for labels between comments, labels stated in a statement in the middle of a line
syn match rexxLabel "\(\_^\|;\)\s*\(\/\*.*\*\/\)*\s*\k\+\s*\(\/\*.*\*\/\)*\s*:"me=e-1 contains=rexxTodo,rexxComment
syn keyword rexxTodo contained TODO FIXME XXX
" ooRexx messages
syn region rexxMessageOperator start="\(\~\|\~\~\)" end="\(\S\|\s\)"me=e-1
syn match rexxMessage "\(\~\|\~\~\)\s*\<\.*[a-zA-Z]\([a-zA-Z0-9._?!]\)*\>" contains=rexxMessageOperator
" Highlight User Labels
syn match rexxLabel "^\s*\k*\s*:"me=e-1
" line continuations, take care of (line-)comments after it
syn match rexxLineContinue ",\ze\s*\(--.*\|\/\*.*\)*$"
" the following is necessary, otherwise three consecutive dashes will cause it to highlight the first one
syn match rexxLineContinue "-\ze\(\s+--.*\|\s*\/\*.*\)*$"
syn match rexxLineContinue "-\ze-\@!\s*\(--.*\|\s*\/\*.*\)\?$"
" Special Variables
syn keyword rexxSpecialVariable sigl rc result self super
syn keyword rexxSpecialVariable .environment .error .input .local .methods .output .rs .stderr .stdin .stdout .stdque
" Constants
syn keyword rexxConst .true .false .nil
syn keyword rexxConst .true .false .nil .endOfLine .line
" ooRexx builtin classes, first define dot to be o.k. in keywords
syn keyword rexxBuiltinClass .object .class .method .message
syn keyword rexxBuiltinClass .monitor .alarm
syn keyword rexxBuiltinClass .stem .stream .string
syn keyword rexxBuiltinClass .mutablebuffer
syn keyword rexxBuiltinClass .array .list .queue .directory .table .set
syn keyword rexxBuiltinClass .relation .bag .supplier .regularExpressions
syn match rexxNumber "\(-\|+\)\?\s*\zs\<\(\d\+\.\?\|\d*\.\d\+\(E\(+\|-\)\d\{2,2}\)\?\)\?\>"
" ooRexx builtin classes (as of version 3.2.0, fall 2007), first define dot to be o.k. in keywords
syn keyword rexxBuiltinClass .Alarm .ArgUtil .Array .Bag .CaselessColumnComparator
syn keyword rexxBuiltinClass .CaselessComparator .CaselessDescendingComparator .CircularQueue
syn keyword rexxBuiltinClass .Class .Collection .ColumnComparator .Comparable .Comparator
syn keyword rexxBuiltinClass .DateTime .DescendingComparator .Directory .InputOutputStream
syn keyword rexxBuiltinClass .InputStream .InvertingComparator .List .MapCollection
syn keyword rexxBuiltinClass .Message .Method .Monitor .MutableBuffer .Object
syn keyword rexxBuiltinClass .OrderedCollection .OutputStream .Properties .Queue
syn keyword rexxBuiltinClass .Relation .RexxQueue .Set .SetCollection .Stem .Stream
syn keyword rexxBuiltinClass .StreamSupplier .String .Supplier .Table .TimeSpan
" Windows-only classes
syn keyword rexxBuiltinClass .OLEObject .MenuObject .WindowsClipboard .WindowsEventLog
syn keyword rexxBuiltinClass .WindowsManager .WindowObject .WindowsProgramManager
syn keyword rexxBuiltinClass .AdvancedControls .AnimatedButton .BaseDialog .ButtonControl
syn keyword rexxBuiltinClass .CategoryDialog .CheckBox .CheckList .ComboBox .DialogControl
syn keyword rexxBuiltinClass .DialogExtensions .DlgArea .DlgAreaU .DynamicDialog
syn keyword rexxBuiltinClass .EditControl .InputBox .IntegerBox .ListBox .ListChoice
syn keyword rexxBuiltinClass .ListControl .MenuObject .MessageExtensions .MultiInputBox
syn keyword rexxBuiltinClass .MultiListChoice .PasswordBox .PlainBaseDialog .PlainUserDialog
syn keyword rexxBuiltinClass .ProgressBar .ProgressIndicator .PropertySheet .RadioButton
syn keyword rexxBuiltinClass .RcDialog .ResDialog .ScrollBar .SingleSelection .SliderControl
syn keyword rexxBuiltinClass .StateIndicator .StaticControl .TabControl .TimedMessage
syn keyword rexxBuiltinClass .TreeControl .UserDialog .VirtualKeyCodes .WindowBase
syn keyword rexxBuiltinClass .WindowExtensions .WindowObject .WindowsClassesBase .WindowsClipboard
syn keyword rexxBuiltinClass .WindowsEventLog .WindowsManager .WindowsProgramManager .WindowsRegistry
" ooRexx directives, ---rgf location important, otherwise directives in top of file not matched!
syn region rexxClassDirective start="::\s*class\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxMethodDirective start="::\s*method\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxRequiresDirective start="::\s*requires\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxRoutineDirective start="::\s*routine\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxAttributeDirective start="::\s*attribute\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
" ooRexx directives, ---rgf location important, otherwise directives in top of
" file not matched!
syn region rexxClass start="::\s*class\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxMethod start="::\s*method\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxRequires start="::\s*requires\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxRoutine start="::\s*routine\s*"ms=e+1 end="\ze\(\s\|;\|$\)"
syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxComment,rexxLineComment,rexxClassDirective,rexxMethodDirective,rexxRoutineDirective,rexxRequiresDirective,rexxAttributeDirective keepend
syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxComment,rexxLineComment,rexxClass,rexxMethod,rexxRoutine,rexxRequires keepend
syn region rexxVariable start="\zs\<\(\.\)\@!\K\k\+\>\ze\s*\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)" end="\(\_$\|.\)"me=e-1
syn match rexxVariable "\(=\|,\|)\|%\|\]\|\\\||\|&\|+=\|-=\|<\|>\)\s*\zs\K\k*\ze"
" rgf, 2007-07-22: unfortunately, the entire region is colored (not only the
" patterns), hence useless (vim 7.0)! (syntax-docs hint that that should work)
" attempt: just colorize the parenthesis in matching colors, keep content
" transparent to keep the formatting already done to it!
" syn region par1 matchgroup=par1 start="(" matchgroup=par1 end=")" transparent contains=par2
" syn region par2 matchgroup=par2 start="(" matchgroup=par2 end=")" transparent contains=par3 contained
" syn region par3 matchgroup=par3 start="(" matchgroup=par3 end=")" transparent contains=par4 contained
" syn region par4 matchgroup=par4 start="(" matchgroup=par4 end=")" transparent contains=par5 contained
" syn region par5 matchgroup=par5 start="(" matchgroup=par5 end=")" transparent contains=par1 contained
" this will colorize the entire region, removing any colorizing already done!
" syn region par1 matchgroup=par1 start="(" end=")" contains=par2
" syn region par2 matchgroup=par2 start="(" end=")" contains=par3 contained
" syn region par3 matchgroup=par3 start="(" end=")" contains=par4 contained
" syn region par4 matchgroup=par4 start="(" end=")" contains=par5 contained
" syn region par5 matchgroup=par5 start="(" end=")" contains=par1 contained
if !exists("rexx_minlines")
" let rexx_minlines = 10
let rexx_minlines = 500
endif
exec "syn sync ccomment rexxComment minlines=" . rexx_minlines
hi par1 ctermfg=red guifg=red
hi par2 ctermfg=blue guifg=blue
hi par3 ctermfg=darkgreen guifg=darkgreen
hi par4 ctermfg=darkyellow guifg=darkyellow
hi par5 ctermfg=darkgrey guifg=darkgrey
" line continuation (trailing comma or single dash)
syn sync linecont "\(,\|-\ze-\@!\)\ze\s*\(--.*\|\/\*.*\)*$"
" if !exists("rexx_minlines")
" let rexx_minlines = 500
" endif
" exec "syn sync ccomment rexxComment minlines=" . rexx_minlines
" always scan from start, PCs are powerful enough for that in 2007 !
exec "syn sync fromstart"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@ -155,6 +228,20 @@ if version >= 508 || !exists("did_rexx_syn_inits")
command -nargs=+ HiLink hi def link <args>
endif
" make binary and hex strings stand out
hi rexxStringConstant term=bold,underline ctermfg=5 cterm=bold guifg=darkMagenta gui=bold
HiLink rexxLabel2 Function
HiLink doLoopSelectLabelRegion rexxKeyword
HiLink endIterateLeaveLabelRegion rexxKeyword
HiLink rexxLoopKeywords rexxKeyword " Todo
HiLink rexxNumber Normal
" HiLink rexxIdentifier DiffChange
HiLink rexxRegularCallSignal Statement
HiLink rexxExceptionHandling Statement
HiLink rexxLabel Function
HiLink rexxCharacter Character
HiLink rexxParenError rexxError
@ -162,7 +249,8 @@ if version >= 508 || !exists("did_rexx_syn_inits")
HiLink rexxCommentError rexxError
HiLink rexxError Error
HiLink rexxKeyword Statement
HiLink rexxKeyword2 rexxKeyword
HiLink rexxKeywordStatements Statement
HiLink rexxFunction Function
HiLink rexxString String
HiLink rexxComment Comment
@ -172,15 +260,16 @@ if version >= 508 || !exists("did_rexx_syn_inits")
HiLink rexxOperator Operator
HiLink rexxMessageOperator rexxOperator
HiLink rexxLineComment RexxComment
HiLink rexxLineComment Comment
HiLink rexxLineContinue WildMenu
HiLink rexxDirective rexxKeyword
HiLink rexxClass Type
HiLink rexxMethod rexxFunction
HiLink rexxRequires Include
HiLink rexxRoutine rexxFunction
HiLink rexxClassDirective Type
HiLink rexxMethodDirective rexxFunction
HiLink rexxAttributeDirective rexxFunction
HiLink rexxRequiresDirective Include
HiLink rexxRoutineDirective rexxFunction
HiLink rexxConst Constant
HiLink rexxTypeSpecifier Type
@ -192,6 +281,9 @@ if version >= 508 || !exists("did_rexx_syn_inits")
HiLink rexxParse rexxKeyword
HiLink rexxParse2 rexxParse
HiLink rexxGuard rexxKeyword
HiLink rexxTrace rexxKeyword
HiLink rexxRaise rexxKeyword
HiLink rexxRaise2 rexxRaise

View File

@ -2,8 +2,12 @@
" Language: SNOBOL4
" Maintainer: Rafal Sulejman <rms@poczta.onet.pl>
" Site: http://rms.republika.pl/vim/syntax/snobol4.vim
" Last change: 2006 may 1
" Last change: 2006 may 10
" Changes:
" - strict snobol4 mode (set snobol4_strict_mode to activate)
" - incorrect HL of dots in strings corrected
" - incorrect HL of dot-variables in parens corrected
" - one character labels weren't displayed correctly.
" - nonexistent Snobol4 keywords displayed as errors.
" For version 5.x: Clear all syntax items
@ -15,40 +19,54 @@ elseif exists("b:current_syntax")
endif
syntax case ignore
" Vanilla Snobol4 keywords
syn keyword snobol4Keyword any apply arb arbno arg array
syn keyword snobol4Keyword break
syn keyword snobol4Keyword char clear code collect convert copy
syn keyword snobol4Keyword data datatype date define detach differ dump dupl
syn keyword snobol4Keyword endfile eq eval
syn keyword snobol4Keyword field
syn keyword snobol4Keyword ge gt ident
syn keyword snobol4Keyword input integer item
syn keyword snobol4Keyword le len lgt local lpad lt
syn keyword snobol4Keyword ne notany
syn keyword snobol4Keyword opsyn output
syn keyword snobol4Keyword pos prototype
syn keyword snobol4Keyword remdr replace rpad rpos rtab
syn keyword snobol4Keyword size span stoptr
syn keyword snobol4Keyword tab table time trace trim terminal
syn keyword snobol4Keyword unload
syn keyword snobol4Keyword value
" Spitbol keywords
" CSNOBOL keywords
syn keyword snobol4Keyword sset
syn region snobol4String matchgroup=Quote start=+"+ skip=+\\"+ end=+"+
syn region snobol4String matchgroup=Quote start=+'+ skip=+\\'+ end=+'+
syn match snobol4Statement "^-[^ ][^ ]*"
syn match snobol4Comment "^\*.*$"
syn match snobol4Comment ";\*.*$"
syn match snobol4Constant "[^a-z]\.[a-z][a-z0-9\-]*"
syn region snobol4Goto start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError
" Snobol4 keywords
syn keyword snobol4Keyword any apply arb arbno arg array
syn keyword snobol4Keyword break
syn keyword snobol4Keyword char clear code collect convert copy
syn keyword snobol4Keyword data datatype date define detach differ dump dupl
syn keyword snobol4Keyword endfile eq eval
syn keyword snobol4Keyword field
syn keyword snobol4Keyword ge gt ident
syn keyword snobol4Keyword input integer item
syn keyword snobol4Keyword le len lgt local lpad lt
syn keyword snobol4Keyword ne notany
syn keyword snobol4Keyword opsyn output
syn keyword snobol4Keyword pos prototype
syn keyword snobol4Keyword remdr replace rpad rpos rtab rewind
syn keyword snobol4Keyword size span stoptr
syn keyword snobol4Keyword tab table time trace trim terminal
syn keyword snobol4Keyword unload
syn keyword snobol4Keyword value
" CSNOBOL keywords
syn keyword snobol4ExtKeyword breakx
syn keyword snobol4ExtKeyword char chop
syn keyword snobol4ExtKeyword date delete
syn keyword snobol4ExtKeyword exp
syn keyword snobol4ExtKeyword freeze function
syn keyword snobol4ExtKeyword host
syn keyword snobol4ExtKeyword io_findunit
syn keyword snobol4ExtKeyword label lpad leq lge lle llt lne log
syn keyword snobol4ExtKeyword ord
syn keyword snobol4ExtKeyword reverse rpad rsort rename
syn keyword snobol4ExtKeyword serv_listen sset set sort sqrt substr
syn keyword snobol4ExtKeyword thaw
syn keyword snobol4ExtKeyword vdiffer
syn region snobol4String matchgroup=Quote start=+"+ end=+"+
syn region snobol4String matchgroup=Quote start=+'+ end=+'+
syn match snobol4BogusStatement "^-[^ ][^ ]*"
syn match snobol4Statement "^-\(include\|copy\|module\|line\|plusopts\|case\|error\|noerrors\|list\|unlist\|execute\|noexecute\|copy\)"
syn match snobol4Constant /"[^a-z"']\.[a-z][a-z0-9\-]*"/hs=s+1
syn region snobol4Goto start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError
syn match snobol4Number "\<\d*\(\.\d\d*\)*\>"
syn match snobol4BogusSysVar "&\w\{1,}"
syn match snobol4BogusSysVar "&\w\{1,}"
syn match snobol4SysVar "&\(abort\|alphabet\|anchor\|arb\|bal\|case\|code\|dump\|errlimit\|errtext\|errtype\|fail\|fence\|fnclevel\|ftrace\|fullscan\|input\|lastno\|lcase\|maxlngth\|output\|parm\|rem\|rtntype\|stcount\|stfcount\|stlimit\|stno\|succeed\|trace\|trim\|ucase\)"
syn match snobol4Label "^[^-\.\+ \t]\S\{1,}"
"
syn match snobol4ExtSysVar "&\(gtrace\|line\|file\|lastline\|lastfile\)"
syn match snobol4Label "\(^\|;\)[^-\.\+ \t\*\.]\{1,}[^ \t\*\;]*"
syn match snobol4Comment "\(^\|;\)\([\*\|!;#].*$\)"
" Parens matching
syn cluster snobol4ParenGroup contains=snobol4ParenError
syn region snobol4Paren transparent start='(' end=')' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInBracket
@ -58,8 +76,7 @@ syn region snobol4Bracket transparent start='\[\|<:' end=']\|:>' conta
syn match snobol4ErrInBracket display contained "[){}]\|<%\|%>"
" optional shell shebang line
syn match snobol4Comment "^\#\!.*$"
" syn match snobol4Comment "^\#\!.*$"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@ -80,19 +97,26 @@ if version >= 508 || !exists("did_snobol4_syntax_inits")
HiLink snobol4Number Number
HiLink snobol4Error Error
HiLink snobol4Statement PreProc
HiLink snobol4BogusStatement snobol4Error
HiLink snobol4String String
HiLink snobol4Comment Comment
HiLink snobol4Special Special
HiLink snobol4Todo Todo
HiLink snobol4Keyword Statement
HiLink snobol4Function Statement
HiLink snobol4Keyword Keyword
HiLink snobol4Function Function
HiLink snobol4MathsOperator Operator
HiLink snobol4ParenError snobol4Error
HiLink snobol4ErrInParen snobol4Error
HiLink snobol4ErrInBracket snobol4Error
HiLink snobol4SysVar Keyword
HiLink snobol4BogusSysVar snobol4Error
if exists("snobol4_strict_mode")
HiLink snobol4ExtSysVar WarningMsg
HiLink snobol4ExtKeyword WarningMsg
else
HiLink snobol4ExtSysVar snobol4SysVar
HiLink snobol4ExtKeyword snobol4Keyword
endif
delcommand HiLink
endif

View File

@ -36,4 +36,4 @@ endif
" Source the appropriate file
exec 'runtime syntax/'.filename.'.vim'
" vim:sw=4:ff=unix:
" vim:sw=4:

View File

@ -1,14 +1,17 @@
" Vim syntax file
" Language: Yacc
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Feb 22, 2006
" Version: 4
" Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Jan 09, 2008
" Version: 5
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Option:
" Options: {{{1
" g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C
" g:yacc_minlines : see :help :he syn-sync-minlines -- default 50
" g:yacc_maxlines : see :help :he syn-sync-maxlines -- default 200
" For version 5.x: Clear all syntax items
" ---------------------------------------------------------------------
" For version 5.x: Clear all syntax items {{{1
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
@ -16,7 +19,8 @@ elseif exists("b:current_syntax")
finish
endif
" Read the C syntax to start with
" ---------------------------------------------------------------------
" Read the C syntax to start with {{{1
if version >= 600
if exists("g:yacc_uses_cpp")
runtime! syntax/cpp.vim
@ -29,11 +33,13 @@ else
so <sfile>:p:h/c.vim
endif
" Clusters
" ---------------------------------------------------------------------
" Clusters {{{1
syn cluster yaccActionGroup contains=yaccDelim,cInParen,cTodo,cIncluded,yaccDelim,yaccCurlyError,yaccUnionCurly,yaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCommentStartError,cParenError
syn cluster yaccUnionGroup contains=yaccKey,cComment,yaccCurly,cType,cStructure,cStorageClass,yaccUnionCurly
" Yacc stuff
" ---------------------------------------------------------------------
" Yacc stuff {{{1
syn match yaccDelim "^\s*[:|;]"
syn match yaccOper "@\d\+"
@ -49,17 +55,32 @@ syn match yaccBrkt contained "[<>]"
syn match yaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=yaccBrkt
syn match yaccDefinition "^[A-Za-z][A-Za-z0-9_]*\_s*:"
" special Yacc separators
" ---------------------------------------------------------------------
" special Yacc separators {{{1
syn match yaccSectionSep "^[ \t]*%%"
syn match yaccSep "^[ \t]*%{"
syn match yaccSep "^[ \t]*%}"
" I'd really like to highlight just the outer {}. Any suggestions???
" ---------------------------------------------------------------------
" I'd really like to highlight just the outer {}. Any suggestions??? {{{1
syn match yaccCurlyError "[{}]"
syn region yaccAction matchgroup=yaccCurly start="{" end="}" contains=ALLBUT,@yaccActionGroup
" ---------------------------------------------------------------------
" Yacc synchronization: {{{1
if exists("g:yacc_maxlines")
exe "syn sync maxlines=".g:yacc_maxlines
else
syn sync maxlines=200
endif
if exists("g:yacc_minlines")
exe "syn sync minlines=".g:yacc_minlines
else
syn sync minlines=50
endif
" Define the default highlighting.
" ---------------------------------------------------------------------
" Define the default highlighting. {{{1
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_yacc_syn_inits")
@ -70,13 +91,13 @@ if version >= 508 || !exists("did_yacc_syn_inits")
command -nargs=+ HiLink hi def link <args>
endif
" Internal yacc highlighting links
" Internal yacc highlighting links {{{2
HiLink yaccBrkt yaccStmt
HiLink yaccKey yaccStmt
HiLink yaccOper yaccStmt
HiLink yaccUnionStart yaccKey
" External yacc highlighting links
" External yacc highlighting links {{{2
HiLink yaccCurly Delimiter
HiLink yaccCurlyError Error
HiLink yaccDefinition Function
@ -87,12 +108,13 @@ if version >= 508 || !exists("did_yacc_syn_inits")
HiLink yaccStmt Statement
HiLink yaccType Type
" since Bram doesn't like my Delimiter :|
" since Bram doesn't like my Delimiter :| {{{2
HiLink Delimiter Type
delcommand HiLink
endif
let b:current_syntax = "yacc"
" vim: ts=15
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: ts=15 fdm=marker

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Zsh shell script
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-08-06
" Latest Revision: 2007-06-17
if exists("b:current_syntax")
finish
@ -10,7 +10,7 @@ endif
let s:cpo_save = &cpo
set cpo&vim
setlocal iskeyword=@,48-57,_,-
setlocal iskeyword+=-
syn keyword zshTodo contained TODO FIXME XXX NOTE

23
runtime/tutor/Contents Normal file
View File

@ -0,0 +1,23 @@
Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
for editing programs and other plain ASCII text. Full Vi
compatibility and includes all Ex commands. Extra features
above Vi: Multilevel undo, multiple windows, syntax
highlighting, command line history, folding, improved command
line editing, command typeahead display, command to display
yank buffers, possibility to edit binary files, file name
stack, support for Manx QuickFix and other compiler's error
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 7.2a. Also runs under UNIX, MSDOS and other systems.
vim72art.tgz contains the documentation and syntax files.
vim72abin.tgz contains the binaries.
vim72asrc.tgz contains the sources.
Author: Bram Moolenaar et al.
Xxd Hex dumper and reader. Can be used to view files as hex, edit
them and write them back. Can also be used to patch files.
Version 1.8 (1997 May 22)
Author: Juergen Weigert

View File

@ -1,24 +0,0 @@
<EFBFBD><EFBFBD> Tutor <20><EFBFBD> <20><><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><E39A9E> <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><E3A9AB> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim.
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6AB9C><EFBFBD> <20><20><><EFBFBD><E3A9AB> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A9A6> <20><> <20><><EFBFBD><EFBFBD><E6AB9C> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> 騘. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><E2A29C><EFBFBD> <20><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><20><> <20><EFBFBD><E1A49C> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A4AB> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> Vim.
<EFBFBD><EFBFBD> Tutor <20><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><E3A398> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A99C> <20><><EFBFBD><EFBFBD> "vim tutor" <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A99C> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20><><EFBFBD><EFBFBD><E3A398>. <20><> <20><><EFBFBD><EFBFBD><E3A398> <20><> <20><><EFBFBD> <20><><20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A99C>
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.
<EFBFBD><EFBFBD> <20><EFBFBD><E7A9AB><EFBFBD> Unix <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A99C> <20><> <20><><EFBFBD><E69AA8><EFBFBD><EFBFBD> "vimtutor".
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>高 ⤘ <20><><EFBFBD><E6AE9C><EFBFBD> <20><><EFBFBD><EFBFBD><E59AA8><EFBFBD> <20><><EFBFBD> tutor.
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6AB9C> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><E3A398> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5AB9E> <20><>椦. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><> <20><EFBFBD><E2A298> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E5A29C>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A7A6> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A99C> <20><EFBFBD><E1A49C>.
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
[<5B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E39F9E> <20><><EFBFBD> <20><><EFBFBD> Vim <20><><EFBFBD> <20><><EFBFBD> Bram Moolenaar]

View File

@ -1,24 +0,0 @@
<EFBFBD><EFBFBD> Tutor <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim.
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim.
<EFBFBD><EFBFBD> Tutor <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "vim tutor" <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Unix <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "vimtutor".
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> tutor.
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
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
[<5B><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> Vim <20><><EFBFBD> <20><><EFBFBD> Bram Moolenaar]

View File

@ -0,0 +1,11 @@
README_amisrc.txt for version 7.2a of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim60rt.tgz).
The Amiga source archive contains the files needed to compile Vim on the
Amiga.
See "src/INSTALLami.txt" for instructions on how to compile Vim on the Amiga.

Binary file not shown.

View File

@ -0,0 +1,58 @@
README_os2.txt for version 7.2a of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
NOTE: You will need two archives:
vim71rt.zip contains the runtime files (same as for the PC version)
vim71os2.zip contains the OS/2 executables
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
2. Unpack the zip archives. This will create a new directory "vim/vim71",
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 vim71os2.zip
unzip vim71os2.zip
After you unpacked the files, you can still move the whole directory tree
to another location.
3. Add the directory where vim.exe is to your path. The simplest is to add a
line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim71
set path=%path%;D:\editors\vim\vim71
That's it!
Extra remarks:
- 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 with the path you use)
Your own files:
C:\vim\_vimrc Your personal vimrc.
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim71\vim.exe The Vim version 7.1 executable.
C:\vim\vim71\doc\*.txt The version 7.1 documentation files.
C:\vim\vim71\bugreport.vim A Vim version 7.1 script.
C:\vim\vim71\... Other version 7.1 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
- You can put your Vim executable anywhere else. If the executable is not
with the other distributed 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
For further information, type this inside Vim:
:help os2

View File

@ -0,0 +1,10 @@
README_src.txt for version 7.2a of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
systems in combination with the extra archive (vim-7.0-extra.tar.gz, in the
"extra" directory of ftp.vim.org).
For more information, see the README.txt file that comes with the runtime
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!

View File

@ -0,0 +1,48 @@
README_vms.txt for version 7.2a of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
Most information can be found in the on-line documentation. Use ":help vms"
inside Vim. Or get the runtime files and read runtime/doc/os_vms.txt to find
out how to install and configure Vim with runtime files etc.
To compile Vim yourself you need three archives:
vim-X.X-rt.tar.gz runtime files
vim-X.X-src.tar.gz source files
vim-X.X-extra.tar.gz extra source files
Compilation is recommended, in order to make sure that the correct
libraries are used for your specific system. Read about compiling in
src/INSTALLvms.txt.
To use the binary version, you need one of these archives:
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
vim-XX-exe-ia64-term.zip IA64 console executables
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
vim-XX-exe-axp-term.zip Alpha console executables
vim-XX-exe-vax-gui.zip VAX GUI executables
vim-XX-exe-vax-term.zip VAX console executables
and of course
vim-XX-runtime.zip runtime files
The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
but there are also prepared "deploy ready" archives:
vim-XX-ia64.zip GUI and console executables with runtime and
help files for IA64 systems
vim-XX-axp.zip GUI and console executables with runtime and
help files for Alpha systems
vim-XX-vax.zip GUI and console executables with runtime and
help files for VAX systems
GTK builds need LIBGTK library installed.
These executables and up to date patches for OpenVMS system are downloadable
from http://www.polarhome.com/vim/ or ftp://ftp.polarhome.com/pub/vim/

View File

@ -0,0 +1,15 @@
README_w32s.txt for version 7.2a of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.
Also see the README_bindos.txt, README_dos.txt and README.txt files.
Be careful not to overwrite the Win32s gvim.exe with the another gvim.exe when
unpacking another binary archive! Check the output of ":version":
Win32s - "MS-Windows 16/32 bit GUI version"
Win32 - "MS-Windows 32 bit GUI version"
Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
For further information, type this inside Vim:
:help win32s

BIN
runtime/tutor/Vim.info Executable file

Binary file not shown.

BIN
runtime/tutor/Xxd.info Executable file

Binary file not shown.

6
runtime/tutor/configure vendored Executable file
View File

@ -0,0 +1,6 @@
#! /bin/sh
# This is just a stub for the Unix configure script, to provide support for
# doing "./configure" in the top Vim directory.
cd src && exec ./configure "$@"

BIN
runtime/tutor/csdpmi4b.zip Executable file

Binary file not shown.

View File

@ -0,0 +1,88 @@
:" Use this script to create the file "bugreport.txt", which contains
:" information about the environment of a possible bug in Vim.
:"
:" Maintainer: Bram Moolenaar <Bram@vim.org>
:" Last change: 2005 Jun 12
:"
:" To use inside Vim:
:" :so $VIMRUNTIME/bugreport.vim
:" Or, from the command line:
:" vim -s $VIMRUNTIME/bugreport.vim
:"
:" The "if 1" lines are to avoid error messages when expression evaluation is
:" not compiled in.
:"
:if 1
: let more_save = &more
:endif
:set nomore
:if has("unix")
: !echo "uname -a" >bugreport.txt
: !uname -a >>bugreport.txt
:endif
:redir >>bugreport.txt
:version
:if 1
: func <SID>CheckDir(n)
: if isdirectory(a:n)
: echo 'directory "' . a:n . '" exists'
: else
: echo 'directory "' . a:n . '" does NOT exist'
: endif
: endfun
: func <SID>CheckFile(n)
: if filereadable(a:n)
: echo '"' . a:n . '" is readable'
: else
: echo '"' . a:n . '" is NOT readable'
: endif
: endfun
: echo "--- Directories and Files ---"
: echo '$VIM = "' . $VIM . '"'
: call <SID>CheckDir($VIM)
: echo '$VIMRUNTIME = "' . $VIMRUNTIME . '"'
: call <SID>CheckDir($VIMRUNTIME)
: call <SID>CheckFile(&helpfile)
: call <SID>CheckFile(fnamemodify(&helpfile, ":h") . "/tags")
: call <SID>CheckFile($VIMRUNTIME . "/menu.vim")
: call <SID>CheckFile($VIMRUNTIME . "/filetype.vim")
: call <SID>CheckFile($VIMRUNTIME . "/syntax/synload.vim")
: delfun <SID>CheckDir
: delfun <SID>CheckFile
: echo "--- Scripts sourced ---"
: scriptnames
:endif
:set all
:set termcap
:if has("autocmd")
: au
:endif
:if 1
: echo "--- Normal/Visual mode mappings ---"
:endif
:map
:if 1
: echo "--- Insert/Command-line mode mappings ---"
:endif
:map!
:if 1
: echo "--- Abbreviations ---"
:endif
:ab
:if 1
: echo "--- Highlighting ---"
:endif
:highlight
:if 1
: echo "--- Variables ---"
:endif
:if 1
: let
:endif
:redir END
:set more&
:if 1
: let &more = more_save
: unlet more_save
:endif
:e bugreport.txt

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

View File

@ -0,0 +1,11 @@
" Vim support file to switch off loading indent files for file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2001 Jun 11
if exists("did_indent_on")
unlet did_indent_on
endif
" Remove all autocommands in the filetypeindent group
silent! au! filetypeindent *

View File

@ -0,0 +1,106 @@
" Set options and add mapping such that Vim behaves a lot like MS-Windows
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2006 Apr 02
" bail out if this isn't wanted (mrsvim.vim uses this).
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
finish
endif
" set the 'cpoptions' to its Vim default
if 1 " only do this when compiled with expression evaluation
let s:save_cpo = &cpoptions
endif
set cpo&vim
" set 'selection', 'selectmode', 'mousemodel' and 'keymodel' for MS-Windows
behave mswin
" backspace and cursor keys wrap to previous/next line
set backspace=indent,eol,start whichwrap+=<,>,[,]
" backspace in Visual mode deletes selection
vnoremap <BS> d
" CTRL-X and SHIFT-Del are Cut
vnoremap <C-X> "+x
vnoremap <S-Del> "+x
" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
vnoremap <C-Insert> "+y
" CTRL-V and SHIFT-Insert are Paste
map <C-V> "+gP
map <S-Insert> "+gP
cmap <C-V> <C-R>+
cmap <S-Insert> <C-R>+
" Pasting blockwise and linewise selections is not possible in Insert and
" Visual mode without the +virtualedit feature. They are pasted as if they
" were characterwise instead.
" Uses the paste.vim autoload script.
exe 'inoremap <script> <C-V>' paste#paste_cmd['i']
exe 'vnoremap <script> <C-V>' paste#paste_cmd['v']
imap <S-Insert> <C-V>
vmap <S-Insert> <C-V>
" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q> <C-V>
" Use CTRL-S for saving, also in Insert mode
noremap <C-S> :update<CR>
vnoremap <C-S> <C-C>:update<CR>
inoremap <C-S> <C-O>:update<CR>
" For CTRL-V to work autoselect must be off.
" On Unix we have two selections, autoselect can be used.
if !has("unix")
set guioptions-=a
endif
" CTRL-Z is Undo; not in cmdline though
noremap <C-Z> u
inoremap <C-Z> <C-O>u
" CTRL-Y is Redo (although not repeat); not in cmdline though
noremap <C-Y> <C-R>
inoremap <C-Y> <C-O><C-R>
" Alt-Space is System menu
if has("gui")
noremap <M-Space> :simalt ~<CR>
inoremap <M-Space> <C-O>:simalt ~<CR>
cnoremap <M-Space> <C-C>:simalt ~<CR>
endif
" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG
" CTRL-Tab is Next window
noremap <C-Tab> <C-W>w
inoremap <C-Tab> <C-O><C-W>w
cnoremap <C-Tab> <C-C><C-W>w
onoremap <C-Tab> <C-C><C-W>w
" CTRL-F4 is Close window
noremap <C-F4> <C-W>c
inoremap <C-F4> <C-O><C-W>c
cnoremap <C-F4> <C-C><C-W>c
onoremap <C-F4> <C-C><C-W>c
" restore 'cpoptions'
set cpo&
if 1
let &cpoptions = s:save_cpo
unlet s:save_cpo
endif

View File

@ -0,0 +1,135 @@
#
# Demonstration of a termcap file (for the Amiga and Archimedes)
#
# Maintainer: Bram Moolenaar <Bram@vim.org>
# Last change: 1999 Feb 02
#
sx|ansi|any ansi terminal with pessimistic assumptions:\
:co#80:li#24:cl=50\E[;H\E[2J:bs:am:cm=\E[%i%d;%dH:\
:nd=\E[C:up=\E[A:ce=\E[K:ho=\E[H:pt:
Mu|sun|Sun Microsystems Workstation console:\
:am:bs:km:mi:ms:pt:li#34:co#80:cl=^L:cm=\E[%i%d;%dH:\
:ce=\E[K:cd=\E[J:\
:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:rs=\E[s:\
:md=\E[1m:mr=\E[7m:me=\E[m:\
:al=\E[L:dl=\E[M:im=:ei=:ic=\E[@:dc=\E[P:\
:AL=\E[%dL:DL=\E[%dM:IC=\E[%d@:DC=\E[%dP:\
:up=\E[A:nd=\E[C:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:\
:k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\
:k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:
M-|sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character:\
:ic@:im@:ei@:tc=sun:
Mu|sun-s|Sun Microsystems Workstation window with status line:\
:hs:ts=\E]l:fs=\E\\:ds=\E]l\E\\:tc=sun:
Mu|sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs:\
:hs:ts=\E]l:fs=\E\\:ds=\E]l\E\\:tc=sun-e:
M0|sun-48|Sun 48-line window:\
:li#48:co#80:tc=sun:
M1|sun-34|Sun 34-line window:\
:li#34:co#80:tc=sun:
M2|sun-24|Sun 24-line window:\
:li#24:co#80:tc=sun:
M3|sun-17|Sun 17-line window:\
:li#17:co#80:tc=sun:
v9|925a|tvi925a|TeleVideo Model 925:\
:al=\EE:am:bs:bt=\EI:bw:cd=\EY:ce=\ET:cl=^Z:cm=\E=%+ %+ :co#80:dc=\EW:\
:dl=\ER:do=^V:ei=:ic=\EQ:if=/usr/share/lib/tabset/std:im=:kb=^H:kd=^V:\
:kh=^^:kl=^H:kn#12:kr=^L:ku=^K:li#24:nd=^L:pt:se=\EG0:sg#1:so=\EG4:\
:ue=\EG0:ug#1:ul:up=^K:us=\EG8:is=\El\
:vb=\Eb\200\200\200\200\200\200\200\200\200\200\200\200\200\200\Ed:\
:ve=\E.4:vs=\E.2:
d0|vt100|vt100-am|vt100am|dec vt100:\
:do=^J:co#80:li#24:cl=50\E[;H\E[2J:sf=5\ED:\
:le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\
:ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\
:md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:is=\E[1;24r\E[24;1H:\
:rf=/usr/share/lib/tabset/vt100:\
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\
:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=5\EM:vt#3:xn:\
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
# Amiga termcap by Bram Moolenaar
AA|amiga|Amiga ANSI:\
:co#80:li#25:am:do=\E[B:ce=\E[K:cd=\E[J:\
:cl=\014:ku=\233A:kd=\233B:kl=\233D:kr=\233C:kb=^H:\
:#4=\233 A:%i=\233 @:%1=\233?~:\
:k1=\2330~:k2=\2331~:k3=\2332~:k4=\2333~:k5=\2334~:\
:k6=\2335~:k7=\2336~:k8=\2337~:k9=\2338~:k;=\2339~:\
:F1=\23310~:F2=\23311~:F3=\23312~:F4=\23313~:F5=\23314~:\
:F6=\23315~:F7=\23316~:F8=\23317~:F9=\23318~:FA=\23319~:\
:al=\E[L:AL=\E[%dL:dl=\E[M:DL=\E[%dM:le=^H:cm=\E[%i%d;%dH:\
:nd=\E[C:RI=\E[%dC:up=\E[A:\
:ce=\E[K:ho=\E[H:dc=\E[P:ic=\E[@:vi=\E[0 p:ve=\E[1 p:\
:so=\E[2m:se=\E[m:us=\E[4m:ue=\E[m:mr=\E[7m:mb=\E[7;2m:me=\E[m:
# Acorn VDU
# For non-green text, change the ^B in the :cl= line to
# your favourite control code.
a0|acorn0|Acorn VDU Driver Mode 0:\
:cl=^V\200^S^A^B\200\200\200:\
:is=^C^F^D^O^V\200^S^A^B\200\200\200:\
:tc=acorn_generic
ag|acorn_generic|Acorn Generic VDU driver:\
:li#32:\
:co#80:\
:am:\
:bs:\
:bw:\
:bl=^G:\
:ce=^W^H^E^F\200\200\200\200\200\200:\
:cl=^L:\
:cm=^_%r%.%.:\
:ho=^^:\
:le=\010:\
:cr=\015:\
:me=^W^Q^E\200\200\200\200\200\200\200:\
:mr=^W^Q^E\200\200\200\200\200\200\200:\
:sb=^W^G^A^B\200\200\200\200\200\200:\
:se=^W^Q^E\200\200\200\200\200\200\200:\
:sf=^W^G^A^C\200\200\200\200\200\200:\
:so=^W^Q^E\200\200\200\200\200\200\200:\
:sr=^W^G^A^B\200\200\200\200\200\200:\
:up=^K:\
:vb=^R^C^G^Y^D\200\200\200\200^Ye\200^E\200^D^Ye\200\200\200\200:\
:vi=^W^A\200\200\200\200\200\200\200\200:\
:ve=^W^A^A\200\200\200\200\200\200\200:\
:ku=\317:\
:kd=\316:\
:kl=\314:\
:kr=\315:\
:kP=\337:\
:kN=\336:\
:kh=\036:\
:kH=\313:\
:su=\337:\
:sd=\336:\
:#4=\334:\
:%i=\335:\
:k1=\301:\
:k2=\302:\
:k3=\303:\
:k4=\304:\
:k5=\305:\
:k6=\306:\
:k7=\307:\
:k8=\310:\
:k9=\311:\
:F1=\321:\
:F2=\322:\
:F3=\323:\
:F4=\324:\
:F5=\325:\
:F6=\326:\
:F7=\327:\
:F8=\330:\
:F9=\331
#
# END OF TERMCAP
#

View File

@ -0,0 +1,27 @@
/* XPM */
static char * vim16x16[] = {
"16 16 8 1",
" c None",
". c #000000",
"+ c #000080",
"@ c #008000",
"# c #00FF00",
"$ c #808080",
"% c #C0C0C0",
"& c #FFFFFF",
" .....#. .... ",
" .&&&&&.@.&&&&. ",
" .%%%%%$..%%%%$.",
" .%%%$.@.&%%$. ",
" .%%%$..&%%$. ",
" .%%%$.&%%$.. ",
" #.%%%$&%%$.@@. ",
"#@.%%%&%%$.@@@@.",
".@.%%%%%..@@@@+ ",
" ..%%%%.%...@. ",
" .%%%%...%%.%. ",
" .%%%.%%.%%%%%.",
" .%%$..%.%.%.%.",
" .%$.@.%.%.%.%.",
" .. .%%.%.%.%.",
" .. . . . "};

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

View File

@ -1,807 +0,0 @@
===============================================================================
= B e n v i n g u t s a l t u t o r d e l V I M - Versi<73> 1.5 =
===============================================================================
El Vim <20>s un editor molt potent que t<> moltes ordres, masses com per
explicar-les totes un tutor com aquest. Aquest tutor est<73> dissenyat
per descriure les ordres b<>siques que us permetin fer servir el Vim com
a editor de prop<6F>sit general.
El temps aproximat de seguir el tutor complet <20>s d'uns 25 o 30 minuts
depenent de quant temps dediqueu a experimentar.
Feu una c<>pia d'aquest fitxer per practicar-hi (si heu comen<65>at amb el
programa vimtutor aix<69> que esteu llegint ja <20>s una c<>pia).
<20>s important recordar que aquest tutor est<73> pensat per ensenyar
practicant. <20>s a dir, que haureu d'executar les ordres si les voleu
aprendre. Si nom<6F>s llegiu el text el m<>s probable <20>s que les oblideu.
Ara assegureu-vos que la tecla de bloqueig de maj<61>scules no est<73>
activada i premeu la tecla j per moure el cursor avall, fins que
la lli<6C><69> 1.1 ocupi completament la pantalla.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 1.1: MOURE EL CURSOR
** Per moure el cursor premeu les tecles h,j,k,l tal com est<73> indicat. **
^
k Pista: La h <20>s a l'esquerra i mou el cursor cap a l'esquerra.
< h l > La l <20>s a la dreta i mou el cursor cap a la dreta.
j La j sembla una fletxa cap avall.
v
1. Moveu el cursor per la pantalla fins que us sentiu confortables.
2. Mantingueu premuda la tecla avall (j) una estona.
---> Ara sabeu com moure-us fins a la pr<70>xima lli<6C><69>.
3. Usant la tecla avall, aneu a la lli<6C><69> 1.2.
Nota: Si no esteu segurs de la tecla que heu premut, premeu <ESC> per tornar
al mode Normal. Llavors torneu a teclejar l'ordre que vol<6F>eu.
Nota: Les tecles de moviment del cursor (fletxes) tamb<6D> funcionen. Per<65> usant
hjkl anireu m<>s r<>pid, quan us hi h<>giu acostumant.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 1.2: ENTRAR I SORTIR DEL VIM
!! NOTA: Abans de seguir els passos seg<65>ents llegiu *tota* la lli<6C><69>!!
1. Premeu <ESC> (per estar segurs que esteu en el mode Normal).
2. Teclegeu: :q! <ENTRAR>.
---> Amb aix<69> sortireu de l'editor SENSE desar els canvis que h<>giu pogut
fer. Si voleu desar els canvis teclegeu:
:wq <ENTRAR>
3. Quan vegeu l'introductor de la shell escriviu l'ordre amb la qual heu
arribat a aquest tutor. Podria ser: vimtutor <ENTRAR>
O b<>: vim tutor <ENTRAR>
---> 'vim' <20>s l'editor vim, i 'tutor' <20>s el fitxer que voleu editar.
4. Si heu memoritzat les ordres, feu els passos anteriors, de l'1 al 3,
per sortir i tornar a entrar a l'editor. Llavors moveu el cursor avall
fins la lli<6C><69> 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 1.3: EDITAR TEXT - ESBORRAR
** En mode Normal premeu x per esborrar el car<61>cter de sota el cursor. **
1. Moveu el cursor fins la l<>nia que hi ha m<>s avall marcada amb --->.
2. Poseu el cursor a sobre el car<61>cter que cal esborrar, per corregir els
errors.
3. Premeu la tecla x per esborrar el car<61>cter.
4. Repetiu els passos 2 i 3 fins que la frase sigui correcta.
---> Unna vaaca vva salttar sobbree la llluna.
5. Ara que la l<>nia <20>s correcta, aneu a la lli<6C><69> 1.4.
NOTA: Mentre aneu fent no tracteu de memoritzar, practiqueu i prou.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 1.4: EDITAR TEXT - INSERIR
** En mode Normal premeu i per inserir text. **
1. Moveu el cursor avall fins la primera l<>nia marcada amb --->.
2. Per fer la primera l<>nia igual que la segona poseu el cursor sobre el
primer car<61>cter POSTERIOR al text que s'ha d'inserir.
3. Premeu la tecla i i escriviu el text que falta.
4. Quan h<>giu acabat premeu <ESC> per tornar al mode Normal. Repetiu
els passos 2, 3 i 4 per corregir la frase.
---> Falten carctrs en aquesta .
---> Falten alguns car<61>cters en aquesta l<>nia.
5. Quan us trobeu c<>modes inserint text aneu al sumari de baix.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 1 SUMARI
1. El cursor es mou amb les fletxes o b<> amb les tecles hjkl.
h (esquerra) j (avall) k (amunt) l (dreta)
2. Per entrar al Vim (des de la shell) escriviu: vim FITXER <ENTRAR>
3. Per sortir teclegeu: <ESC> :q! <ENTRAR> per descartar els canvis.
O B<> teclegeu: <ESC> :wq <ENTRAR> per desar els canvis.
4. Per esborrar el car<61>cter de sota el cursor en el mode Normal premeu: x
5. Per inserir text on hi ha el cursor, en mode Normal, premeu:
i escriviu el text <ESC>
NOTA: La tecla <ESC> us portar<61> al mode Normal o cancel<65>lar<61> una ordre
que estigui a mitges.
Ara continueu amb la lli<6C><69> 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 2.1: ORDRES PER ESBORRAR
** Teclegeu dw per esborrar fins al final d'una paraula. **
1. Premeu <ESC> per estar segurs que esteu en mode normal.
2. Moveu el cursor avall fins la l<>nia marcada amb --->.
3. Moveu el cursor fins el principi de la paraula que s'ha d'esborrar.
4. Teclegeu dw per fer desapar<61>ixer la paraula.
NOTA: Les lletres dw apareixeran a la l<>nia de baix de la pantalla mentre
les aneu escrivint. Si us equivoqueu premeu <ESC> i torneu a comen<65>ar.
---> Hi han algunes paraules divertit que no pertanyen paper a aquesta frase.
5. Repetiu el passos 3 i 4 fins que la frase sigui correcta i continueu a
la lli<6C><69> 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 2.2: M<>S ORDRES PER ESBORRAR
** Escriviu d$ per esborrar fins al final de la l<>nia. **
1. Premeu <ESC> per estar segurs que esteu en el mode Normal.
2. Moveu el cursor avall fins a la l<>nia marcada amb --->.
3. Moveu el cursor fins el final de la l<>nia correcta
(DESPR<50>S del primer . ).
4. Teclegeu d$ per esborrar fins al final de la l<>nia.
---> Alg<6C> ha escrit el final d'aquesta l<>nia dos cops. l<>nia dos cops.
5. Aneu a la lli<6C><69> 2.3 per entendre qu<71> est<73> passant.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 2.3: SOBRE ORDRES I OBJECTES
El format de l'ordre d'esborrar d <20>s el seg<65>ent:
[nombre] d objecte O B<> d [nombre] objecte
On:
nombre - <20>s el nombre de cops que s'ha d'executar (opcional, omissi<73>=1).
d - <20>s l'ordre per esborrar.
objecte - <20>s la cosa amb la qual operar (llista a baix).
Una petita llista d'objectes:
w - des del cursor fins al final de la paraula, incloent-hi l'espai.
e - des del cursor fins al final de la paraula, SENSE incloure l'espai.
$ - des del cursor fins al final de la l<>nia.
NOTA: Per als aventurers: si teclegeu nom<6F>s l'objecte, en el mode Normal,
sense cap ordre, el cursor es mour<75> tal com est<73> especificat a la
llista d'objectes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 2.4: UNA EXCEPCI<43> A 'ORDRE-OBJECTE'
** Teclegeu dd esborrar tota la l<>nia. **
Com que molt sovint s'han d'eliminar l<>nies senceres els dissenyadors del
Vi van creure que seria m<>s f<>cil teclejar dd per esborrar tota la l<>nia.
1. Moveu el cursor a la segona l<>nia de la frase de baix.
2. Teclegeu dd per esborrar la l<>nia.
3. Ara aneu a la quarta l<>nia.
4. Teclegeu 2dd per esborrar dues l<>nies (recordeu nombre-ordre-objecte).
1) Les roses s<>n vermelles,
2) El fang <20>s divertit,
3) Les violetes s<>n blaves,
4) Tinc un cotxe,
5) Els rellotges diuen l'hora,
6) El sucre <20>s dol<6F>,
7) Igual que tu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 2.5: L'ORDRE DESFER
** Premeu u per desfer els <20>ltims canvis, U per arreglar tota la l<>nia. **
1. Moveu el cursor sobre el primer error de l<>nia de baix marcada amb --->
2. Premeu x per esborrar el car<61>cter no desitjat.
3. Ara premeu u per desfer l'<27>ltima ordre executada.
4. Aquest cop corregiu tots els errors de la l<>nia amb l'ordre x.
5. Ara premeu U per restablir la l<>nia al seu estat original.
6. Ara premeu u uns quants cops per desfer U i les ordres anteriors.
7. Ara premeu CONTROL-R (les dues tecles al mateix temps) uns quants cops
per refer les ordres.
---> Correegiu els errors d'aqquesta l<>nia i dessfeu-los aamb desfer.
8. Aquestes ordres s<>n molt <20>tils. Ara aneu al sumari de la lli<6C><69> 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 2 SUMARI
1. Per esborrar del cursor al final de la paraula teclegeu: dw
2. Per esborrar del cursor al final de la l<>nia teclegeu: d$
3. Per esborrar una l<>nia sencera teclegeu: dd
4. El format de qualsevol ordre del mode Normal <20>s:
[nombre] ordre objecte O B<> ordre [nombre] objecte
on:
nombre - <20>s quants cops repetir l'ordre
ordre - <20>s qu<71> fer, com ara d per esborrar
objecte - <20>s amb qu<71> s'ha d'actuar, com ara w (paraula),
$ (fins a final de l<>nia), etc.
5. Per desfer les accions anteriors premeu: u
Per desfer tots el canvis en una l<>nia premeu: U
Per desfer l'ordre desfer premeu: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 3.1: L'ORDRE 'POSAR'
** Premeu p per posar l'<27>ltima cosa que heu esborrat despr<70>s del cursor. **
1. Moveu el cursor a la primera l<>nia de llista de baix.
2. Teclegeu dd per esborrar la l<>nia i desar-la a la mem<65>ria.
3. Moveu el cursor a la l<>nia ANTERIOR on hauria d'anar.
4. En mode Normal, premeu p per inserir la l<>nia.
5. Repetiu els passos 2, 3 i 4 per ordenar les l<>nies correctament.
d) Pots aprendre tu?
b) Les violetes s<>n blaves,
c) L'intel<65>lig<69>ncia s'apr<70>n,
a) Les roses s<>n vermelles,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 3.2: L'ORDRE SUBSTITUIR
** Premeu r i un car<61>cter per substituir el car<61>cter de sota el cursor. **
1. Moveu el cursor a la primera l<>nia de sota marcada amb --->.
2. Moveu el cursor a sobre del primer car<61>cter equivocat.
3. Premeu r i tot seguit el car<61>cter correcte per corregir l'error.
4. Repetiu els passos 2 i 3 fins que la l<>nia sigui correcta.
---> Quen van escroure aquerta l<>nia, algh va apretar tikles equivocades!
---> Quan van escriure aquesta l<>nia, alg<6C> va apretar tecles equivocades!
5. Ara continueu a la lli<6C><69> 3.2.
NOTA: Recordeu que heu de practicar, no memoritzar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 3.3: L'ORDRE CANVIAR
** Per canviar una part o tota la paraula, escriviu cw . **
1. Moveu el cursor a la primera l<>nia de sota marcada amb --->.
2. Poseu el cursor sobre la u de 'lughc'.
3. Teclegeu cw i corregiu la paraula (en aquest cas escriviu '<27>nia'.)
4. Premeu <ESC> i aneu al seg<65>ent error.
5. Repetiu els passos 3 i 4 fins que les dues frases siguin iguals.
---> Aquesta lughc t<> algunes paradskl que s'han de cdddf.
---> Aquesta l<>nia t<> algunes paraules que s'han de canviar.
Noteu que cw no nom<6F>s canvia la paraula, tamb<6D> us posa en mode d'inserci<63>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 3.4: M<>S CANVIS AMB c
** L'ordre canviar s'usa amb els mateixos objectes que l'ordre esborrar. **
1. L'ordre canviar funciona igual que la d'esborrar. El format <20>s:
[nombre] c objecte O B<> c [nombre] objecte
2. Els objectes s<>n els mateixos, com w (paraula), $ (final de l<>nia), etc.
3. Moveu el cursor fins la primera l<>nia marcada amb --->.
4. Avanceu fins al primer error.
5. Premeu c$ per fer la l<>nia igual que la segona i premeu <ESC>.
---> El final d'aquesta l<>nia necessita canvis per ser igual que la segona.
---> El final d'aquesta l<>nia s'ha de corregir amb l'ordre c$.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 3 SUMARI
1. Per tornar a posar el text que s'ha esborrat, premeu p . Aix<69> posa el
text esborrat DESPR<50>S del cursor (si heu esborrat una l<>nia anir<69> a
parar a la l<>nia SEG<45>ENT d'on hi ha el cursor).
2. Per substituir el car<61>cter de sota el cursor, premeu r i tot seguit
el car<61>cter que ha de reempla<6C>ar l'original.
3. L'ordre canviar permet canviar l'objecte especificat des del cursor
fins el final de l'objecte. Per exemple, cw canvia el que hi ha des
del cursor fins al final de la paraula, i c$ fins al final de l<>nia.
4. El format de l'ordre canviar <20>s:
[nombre] c objecte O B<> c [nombre] objecte
Ara aneu a la pr<70>xima lli<6C><69>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 4.1: SITUACI<43> I ESTAT DEL FITXER
** Premeu CTRL-g per veure la situaci<63> dins del fitxer i el seu estat.
Premeu SHIFT-G per anar a una l<>nia determinada. **
Nota: No proveu res fins que h<>giu llegit TOTA la lli<6C><69>!!
1. Mantingueu premuda la tecla Control i premeu g . A la part de baix de
la p<>gina apareixer<65> un l<>nia amb el nom del fitxer i la l<>nia en la
qual us trobeu. Recordeu el n<>mero de la l<>nia pel Pas 3.
2. Premeu Shift-G per anar al final de tot del fitxer.
3. Teclegeu el n<>mero de la l<>nia on <20>reu i despr<70>s premeu Shift-G. Aix<69>
us tornar<61> a la l<>nia on <20>reu quan heu premut per primer cop Ctrl-g.
(Quan teclegeu el n<>mero NO es veur<75> a la pantalla.)
4. Ara executeu els passos de l'1 al 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 4.2: L'ORDRE CERCAR
** Premeu / seguit de la frase que vulgueu cercar. **
1. En el mode Normal premeu el car<61>cter / . Noteu que el cursor apareix
a la part de baix de la pantalla igual que amb l'ordre : .
2. Ara escriviu 'errroor' <ENTRAR>. Aquesta <20>s la paraula que voleu
cercar.
3. Per tornar a cercar la mateixa frase, premeu n .
Per cercar la mateixa frase en direcci<63> contraria, premeu Shift-N .
4. Si voleu cercar una frase en direcci<63> ascendent, useu l'ordre ? en
lloc de /.
---> "errroor" no <20>s com s'escriu error; errroor <20>s un error.
Note: Quan la cerca arribi al final del fitxer continuar<61> a l'inici.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 4.3: CERCA DE PAR<41>NTESIS
** Premeu % per cercar el ),], o } corresponent. **
1. Poseu el cursor en qualsevol (, [, o { de la l<>nia marcada amb --->.
2. Ara premeu el car<61>cter % .
3. El cursor hauria d'anar a la clau o par<61>ntesis corresponent.
4. Premeu % per tornar el cursor al primer par<61>ntesi.
---> Aix<69> ( <20>s una l<>nia amb car<61>cters (, [ ] i { } de prova. ))
Nota: Aix<69> <20>s molt <20>til per trobar errors en programes inform<72>tics!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 4.4: UNA MANERA DE CANVIAR ERRORS
** Escriviu :s/vell/nou/g per substituir 'vell' per 'nou'. **
1. Moveu el cursor a la l<>nia de sota marcada amb --->.
2. Escriviu :s/laa/la <ENTRAR> . Aquesta ordre nom<6F>s canvia la primera
coincid<69>ncia que es trobi a la l<>nia.
3. Ara escriviu :s/laa/la/g per fer una substituci<63> global. Aix<69>
canviar<61> totes les coincid<69>ncies que es trobin a la l<>nia.
---> laa millor <20>poca per veure laa flor <20>s laa primavera.
4. Per canviar totes les coincid<69>ncies d'una cadena entre dues l<>nies,
escriviu :#,#s/vell/nou/g on #,# s<>n els nombres de les l<>nies.
Escriviu :%s/vell/nou/g per substituir la cadena a tot el fitxer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 4 SUMARI
1. Ctrl-g mostra la posici<63> dins del fitxer i l'estat del mateix.
Shift-G us porta al final del fitxer. Un n<>mero seguit de Shift-G
us porta a la l<>nia corresponent.
2. L'ordre / seguida d'una frase cerca la frase ENDAVANT.
L'ordre ? seguida d'una frase cerca la frase ENDARRERE.
Despr<70>s d'una cerca premeu n per trobar la pr<70>xima coincid<69>ncia en
la mateixa direcci<63>, o Shift-N per cercar en la direcci<63> contr<74>ria.
3. L'ordre % quan el cursor <20>s a sobre un (,),[,],{, o } troba la
parella corresponent.
4. Per substituir el primer 'vell' per 'nou' en una l<>nia :s/vell/nou
Per substituir tots els 'vell' per 'nou' en una l<>nia :s/vell/nou/g
Per substituir frases entre les l<>nies # i # :#,#s/vell/nou/g
Per substituir totes les coincid<69>ncies en el fitxer :%s/vell/nou/g
Per demanar confirmaci<63> cada cop afegiu 'c' :%s/vell/nou/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 5.1: COM EXECUTAR UNA ORDRE EXTERNA
** Teclegeu :! seguit d'una ordre externa per executar-la. **
1. Premeu el familiar : per col<6F>locar el cursor a la part de baix de
la pantalla. Aix<69> us permet entrar una ordre.
2. Ara teclegeu el car<61>cter ! (signe d'exclamaci<63>). Aix<69> us permet
executar qualsevol ordre de la shell.
3. Com a exemple escriviu ls i tot seguit premeu <ENTRAR>. Aix<69> us
mostrar<61> el contingut del directori, tal com si estigu<67>ssiu a la
l<>nia d'ordres. Feu servir :!dir si ls no funciona.
Nota: D'aquesta manera es pot executar qualsevol ordre externa.
Nota: Totes les ordres : s'han d'acabar amb la tecla <ENTRAR>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 5.2: M<>S SOBRE L'ESCRIPTURA DE FITXERS
** Per desar els canvis fets, escriviu :w FITXER. ***
1. Escriviu :!dir o b<> :!ls per obtenir un llistat del directori.
Ja sabeu que heu de pr<70>mer <ENTRAR> despr<70>s d'aix<69>.
2. Trieu un nom de fitxer que no existeixi, com ara PROVA.
3. Ara feu: :w PROVA (on PROVA <20>s el nom que heu triat.)
4. Aix<69> desa tot el fitxer amb el nom de PROVA. Per comprovar-ho
escriviu :!dir per veure el contingut del directori.
Note: Si sortiu del Vim i entreu una altra vegada amb el fitxer PROVA, el
fitxer ser<65> una c<>pia exacta del tutor que heu desat.
5. Ara esborreu el fitxer teclejant (MS-DOS): :!del PROVA
o b<> (Unix): :!rm PROVA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 5.3: UNA ORDRE SELECTIVA PER DESAR
** Per desar una part del fitxer, escriviu :#,# w FITXER **
1. Un altre cop, feu :!dir o :!ls per obtenir un llistat del directori
i trieu un nom de fitxer adequat com ara PROVA.
2. Moveu el cursor a dalt de tot de la p<>gina i premeu Ctrl-g per
saber el n<>mero de la l<>nia. RECORDEU AQUEST N<>MERO!
3. Ara aneu a baix de tot de la p<>gina i torneu a pr<70>mer Ctrl-g.
RECORDEU AQUEST N<>MERO TAMB<4D>!
4. Per desar NOM<4F>S una secci<63> en un fitxer, escriviu :#,# w PROVA on
#,# s<>n els dos n<>meros que heu recordat (dalt,baix) i PROVA el nom
del fitxer.
5. Mireu que el fitxer nou hi sigui amb :!dir per<65> no l'esborreu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 5.4: OBTENIR I AJUNTAR FITXERS
** Per inserir el contingut d'un fitxer, feu :r FITXER **
1. Assegureu-vos, amb l'ordre :!dir , que el fitxer PROVA encara hi <20>s.
2. Poseu el cursor a dalt de tot d'aquesta p<>gina.
NOTA: Despr<70>s d'executar el Pas 3 veureu la lli<6C><69> 5.3. Aleshores moveu-vos
cap avall fins a aquesta lli<6C><69> un altre cop.
3. Ara obtingueu el fitxer PROVA amb l'ordre :r PROVA on PROVA <20>s el
nom del fitxer.
NOTA: El fitxer que obtingueu es posa en el lloc on hi hagi el cursor.
4. Per comprovar que s'ha obtingut el fitxer tireu enrere i mireu com
ara hi han dues c<>pies de la lli<6C><69> 5.3: l'original i la del fitxer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 5 SUMARI
1. :!ordre executa una ordre externa.
Alguns exemples <20>tils s<>n:
(MS-DOS) (Unix)
:!dir :!ls - mostra un llistat del directori
:!del FITXER :!rm FITXER - esborra el fitxer FITXER
2. :w FITXER escriu el fitxer editat al disc dur, amb el nom FITXER.
3. :#,#w FITXER desa les l<>nies de # a # en el fitxer FITXER.
4. :r FITXER llegeix el fitxer FITXER del disc dur i l'insereix en el
fitxer editat a la posici<63> on hi ha el cursor.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 6.1: L'ORDRE OBRIR
** Premeu o per obrir una l<>nia sota el cursor i entrar en mode inserci<63>. **
1. Moveu el cursor a la l<>nia de sota marcada amb --->.
2. Premeu o (min<69>scula) per obrir una l<>nia SOTA el cursor i situar-vos
en mode d'inserci<63>.
3. Ara copieu la l<>nia marcada amb ---> i premeu <ESC> per tornar al mode
normal.
---> Despr<70>s de pr<70>mer o el cursor es situa a la l<>nia nova en mode inserci<63>.
4. Per obrir una l<>nia SOBRE el cursor, premeu la O maj<61>scula, en lloc
de la min<69>scula. Proveu-ho amb la l<>nia de sota.
Obriu una l<>nia sobre aquesta amb Shift-O amb el cursor en aquesta l<>nia.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 6.2: L'ORDRE AFEGIR
** Premeu a per afegir text DESPR<50>S del cursor. **
1. Moveu el cursor al final de la primera l<>nia de sota marcada
amb ---> prement $ en el mode Normal.
2. Premeu la lletra a (min<69>scula) per afegir text DESPR<50>S del car<61>cter
sota el cursor. (La A maj<61>scula afegeix text al final de l<>nia.)
Nota: Aix<69> s'evita haver de pr<70>mer i , l'<27>ltim car<61>cter, el text a inserir,
la tecla <ESC>, cursor a la dreta, i finalment x , nom<6F>s per afegir
text a final de l<>nia.
3. Ara completeu la primera l<>nia. Tingueu en compte que aquesta ordre
<20>s exactament igual que la d'inserir, excepte pel que fa al lloc on
s'insereix el text.
---> Aquesta l<>nia us permetr<74> practicar
---> Aquesta l<>nia us permetr<74> practicar afegir text a final de l<>nia.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 6.3: UNA ALTRA MANERA DE SUBSTITUIR
** Teclegeu una R maj<61>scula per substituir m<>s d'un car<61>cter. **
1. Moveu el cursor a la l<>nia de sota marcada amb --->.
2. Poseu el cursor al principi de la primera paraula que es diferent
respecte a la segona l<>nia marcada amb ---> (la paraula "l'<27>ltima").
3. Ara premeu R i substitu<74>u el que queda de text a la primera l<>nia
escrivint sobre el text vell, per fer-la igual que la segona.
---> Per fer aquesta l<>nia igual que l'<27>ltima useu les tecles.
---> Per fer aquesta l<>nia igual que la segona, premeu R i el text nou.
4. Tingueu en compte que en pr<70>mer <ESC> per sortir, el text que no
s'hagi alterat es mant<6E>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lli<6C><69> 6.4: ESTABLIR OPCIONS
** Feu que les ordres cercar o substituir ignorin les difer<65>ncies
entre maj<61>scules i min<69>scules **
1. Cerqueu la paraula 'ignorar' amb: /ignorar
Repetiu-ho uns quants cops amb la tecla n.
2. Establiu l'opci<63> 'ic' (Ignorar Capitals) escrivint:
:set ic
3. Ara cerqueu 'ignorar' un altre cop amb la tecla n.
Repetiu-ho uns quants cops m<>s.
4. Establiu les opcions 'hlsearch' i 'incsearch':
:set hls is
5. Ara torneu a executar una ordre de cerca, i mireu qu<71> passa:
/ignorar
6. Per treure el ressalt dels resultats, feu:
:nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 6 SUMARI
1. L'ordre o obre una l<>nia SOTA la del cursor i mou el cursor a la nova
l<>nia, en mode Inserci<63>.
La O maj<61>scula obre la l<>nia a SOBRE la que hi ha el cursor.
2. Premeu una a per afegir text DESPR<50>S del car<61>cter sota el cursor.
La A maj<61>scula afegeix autom<6F>ticament el text a final de l<>nia.
3. L'ordre R maj<61>scula us posa en mode substituci<63> fins que premeu <ESC>.
4. Escriviu ":set xxx" per establir l'opci<63> "xxx"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 7: ORDRES D'AJUDA
** Utilitzeu el sistema intern d'ajuda **
El Vim t<> un extens sistema d'ajuda. Per llegir una introducci<63> proveu una
d'aquestes tres coses:
- premeu la tecla <AJUDA> (si en teniu alguna)
- premeu la tecla <F1> (si en teniu alguna)
- escriviu :help <ENTRAR>
Teclegeu :q <ENTRAR> per tancar la finestra d'ajuda.
Podeu trobar ajuda sobre pr<70>cticament qualsevol tema donant un argument
a l'ordre ":help". Proveu aix<69> (no oblideu pr<70>mer <ENTRAR>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLI<4C><49> 8: CREAR UN SCRIPT D'INICI
** Activar funcions autom<6F>ticament **
El Vim t<> moltes m<>s funcions que el Vi, per<65> moltes estan desactivades per
omissi<73>. Per comen<65>ar a utilitzar m<>s funcions heu de crear un fitxer "vimrc".
1. Comenceu a editar el fitxer "vimrc", depenent del sistema
:edit ~/.vimrc per Unix
:edit $VIM/_vimrc per MS-Windows
2. Ara llegiu el fitxer "vimrc" d'exemple:
:read $VIMRUNTIME/vimrc_example.vim
3. Deseu el fitxer amb:
:write
El pr<70>xim cop que executeu el Vim usar<61> ressalt de sintaxi.
Podeu afegir els ajustos que vulgueu en aquest fitxer "vimrc".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aqu<71> conclou el Tutor del Vim. Ha sigut un intent de fer-vos una breu
introducci<63> a l'editor Vim, suficient com per qu<71> el pugueu comen<65>ar a fer
servir. Est<73> lluny de ser complet perqu<71> el Vim t<> moltes m<>s ordres.
Llegiu el manual de l'usuari: ":help user-manual".
Per un estudi m<>s profund us recomanem el seg<65>ent llibre:
Vim - Vi Improved - de Steve Oualline
Editorial: New Riders
<20>s el primer llibre dedicat completament al Vim, especialment <20>til per a
usuaris novells. T<> molts exemples i dibuixos.
Vegeu http://iccf-holland.org/click5.html
Aquest altre <20>s m<>s vell i tracta m<>s sobre el Vi que sobre el Vim:
Learning the Vi Editor - de Linda Lamb
Editorial: O'Reilly & Associates Inc.
<20>s un bon llibre per saber qualsevol cosa que desitgeu sobre el Vi.
La sisena edici<63> tamb<6D> inclou informaci<63> sobre el Vim.
Aquest tutorial ha estat escrit per Michael C. Pierce i Robert K. Ware,
Colorado School of Mines amb la col<6F>laboraci<63> de Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Modificat pel Vim per Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -0,0 +1,807 @@
===============================================================================
= B e n v i n g u t s a l t u t o r d e l V I M - Versió 1.5 =
===============================================================================
El Vim és un editor molt potent que té moltes ordres, masses com per
explicar-les totes un tutor com aquest. Aquest tutor està dissenyat
per descriure les ordres bàsiques que us permetin fer servir el Vim com
a editor de propòsit general.
El temps aproximat de seguir el tutor complet és d'uns 25 o 30 minuts
depenent de quant temps dediqueu a experimentar.
Feu una còpia d'aquest fitxer per practicar-hi (si heu començat amb el
programa vimtutor això que esteu llegint ja és una còpia).
És important recordar que aquest tutor està pensat per ensenyar
practicant. És a dir, que haureu d'executar les ordres si les voleu
aprendre. Si només llegiu el text el més probable és que les oblideu.
Ara assegureu-vos que la tecla de bloqueig de majúscules no està
activada i premeu la tecla j per moure el cursor avall, fins que
la lliçó 1.1 ocupi completament la pantalla.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 1.1: MOURE EL CURSOR
** Per moure el cursor premeu les tecles h,j,k,l tal com està indicat. **
^
k Pista: La h és a l'esquerra i mou el cursor cap a l'esquerra.
< h l > La l és a la dreta i mou el cursor cap a la dreta.
j La j sembla una fletxa cap avall.
v
1. Moveu el cursor per la pantalla fins que us sentiu confortables.
2. Mantingueu premuda la tecla avall (j) una estona.
---> Ara sabeu com moure-us fins a la pròxima lliçó.
3. Usant la tecla avall, aneu a la lliçó 1.2.
Nota: Si no esteu segurs de la tecla que heu premut, premeu <ESC> per tornar
al mode Normal. Llavors torneu a teclejar l'ordre que volíeu.
Nota: Les tecles de moviment del cursor (fletxes) també funcionen. Però usant
hjkl anireu més ràpid, quan us hi hàgiu acostumant.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 1.2: ENTRAR I SORTIR DEL VIM
!! NOTA: Abans de seguir els passos següents llegiu *tota* la lliçó!!
1. Premeu <ESC> (per estar segurs que esteu en el mode Normal).
2. Teclegeu: :q! <ENTRAR>.
---> Amb això sortireu de l'editor SENSE desar els canvis que hàgiu pogut
fer. Si voleu desar els canvis teclegeu:
:wq <ENTRAR>
3. Quan vegeu l'introductor de la shell escriviu l'ordre amb la qual heu
arribat a aquest tutor. Podria ser: vimtutor <ENTRAR>
O bé: vim tutor <ENTRAR>
---> 'vim' és l'editor vim, i 'tutor' és el fitxer que voleu editar.
4. Si heu memoritzat les ordres, feu els passos anteriors, de l'1 al 3,
per sortir i tornar a entrar a l'editor. Llavors moveu el cursor avall
fins la lliçó 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 1.3: EDITAR TEXT - ESBORRAR
** En mode Normal premeu x per esborrar el caràcter de sota el cursor. **
1. Moveu el cursor fins la línia que hi ha més avall marcada amb --->.
2. Poseu el cursor a sobre el caràcter que cal esborrar, per corregir els
errors.
3. Premeu la tecla x per esborrar el caràcter.
4. Repetiu els passos 2 i 3 fins que la frase sigui correcta.
---> Unna vaaca vva salttar sobbree la llluna.
5. Ara que la línia és correcta, aneu a la lliçó 1.4.
NOTA: Mentre aneu fent no tracteu de memoritzar, practiqueu i prou.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 1.4: EDITAR TEXT - INSERIR
** En mode Normal premeu i per inserir text. **
1. Moveu el cursor avall fins la primera línia marcada amb --->.
2. Per fer la primera línia igual que la segona poseu el cursor sobre el
primer caràcter POSTERIOR al text que s'ha d'inserir.
3. Premeu la tecla i i escriviu el text que falta.
4. Quan hàgiu acabat premeu <ESC> per tornar al mode Normal. Repetiu
els passos 2, 3 i 4 per corregir la frase.
---> Falten carctrs en aquesta .
---> Falten alguns caràcters en aquesta línia.
5. Quan us trobeu còmodes inserint text aneu al sumari de baix.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 1 SUMARI
1. El cursor es mou amb les fletxes o bé amb les tecles hjkl.
h (esquerra) j (avall) k (amunt) l (dreta)
2. Per entrar al Vim (des de la shell) escriviu: vim FITXER <ENTRAR>
3. Per sortir teclegeu: <ESC> :q! <ENTRAR> per descartar els canvis.
O BÉ teclegeu: <ESC> :wq <ENTRAR> per desar els canvis.
4. Per esborrar el caràcter de sota el cursor en el mode Normal premeu: x
5. Per inserir text on hi ha el cursor, en mode Normal, premeu:
i escriviu el text <ESC>
NOTA: La tecla <ESC> us portarà al mode Normal o cancel·larà una ordre
que estigui a mitges.
Ara continueu amb la lliçó 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 2.1: ORDRES PER ESBORRAR
** Teclegeu dw per esborrar fins al final d'una paraula. **
1. Premeu <ESC> per estar segurs que esteu en mode normal.
2. Moveu el cursor avall fins la línia marcada amb --->.
3. Moveu el cursor fins el principi de la paraula que s'ha d'esborrar.
4. Teclegeu dw per fer desaparèixer la paraula.
NOTA: Les lletres dw apareixeran a la línia de baix de la pantalla mentre
les aneu escrivint. Si us equivoqueu premeu <ESC> i torneu a començar.
---> Hi han algunes paraules divertit que no pertanyen paper a aquesta frase.
5. Repetiu el passos 3 i 4 fins que la frase sigui correcta i continueu a
la lliçó 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 2.2: MÉS ORDRES PER ESBORRAR
** Escriviu d$ per esborrar fins al final de la línia. **
1. Premeu <ESC> per estar segurs que esteu en el mode Normal.
2. Moveu el cursor avall fins a la línia marcada amb --->.
3. Moveu el cursor fins el final de la línia correcta
(DESPRÉS del primer . ).
4. Teclegeu d$ per esborrar fins al final de la línia.
---> Algú ha escrit el final d'aquesta línia dos cops. línia dos cops.
5. Aneu a la lliçó 2.3 per entendre què està passant.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 2.3: SOBRE ORDRES I OBJECTES
El format de l'ordre d'esborrar d és el següent:
[nombre] d objecte O BÉ d [nombre] objecte
On:
nombre - és el nombre de cops que s'ha d'executar (opcional, omissió=1).
d - és l'ordre per esborrar.
objecte - és la cosa amb la qual operar (llista a baix).
Una petita llista d'objectes:
w - des del cursor fins al final de la paraula, incloent-hi l'espai.
e - des del cursor fins al final de la paraula, SENSE incloure l'espai.
$ - des del cursor fins al final de la línia.
NOTA: Per als aventurers: si teclegeu només l'objecte, en el mode Normal,
sense cap ordre, el cursor es mourà tal com està especificat a la
llista d'objectes.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 2.4: UNA EXCEPCIÓ A 'ORDRE-OBJECTE'
** Teclegeu dd esborrar tota la línia. **
Com que molt sovint s'han d'eliminar línies senceres els dissenyadors del
Vi van creure que seria més fàcil teclejar dd per esborrar tota la línia.
1. Moveu el cursor a la segona línia de la frase de baix.
2. Teclegeu dd per esborrar la línia.
3. Ara aneu a la quarta línia.
4. Teclegeu 2dd per esborrar dues línies (recordeu nombre-ordre-objecte).
1) Les roses són vermelles,
2) El fang és divertit,
3) Les violetes són blaves,
4) Tinc un cotxe,
5) Els rellotges diuen l'hora,
6) El sucre és dolç,
7) Igual que tu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 2.5: L'ORDRE DESFER
** Premeu u per desfer els últims canvis, U per arreglar tota la línia. **
1. Moveu el cursor sobre el primer error de línia de baix marcada amb --->
2. Premeu x per esborrar el caràcter no desitjat.
3. Ara premeu u per desfer l'última ordre executada.
4. Aquest cop corregiu tots els errors de la línia amb l'ordre x.
5. Ara premeu U per restablir la línia al seu estat original.
6. Ara premeu u uns quants cops per desfer U i les ordres anteriors.
7. Ara premeu CONTROL-R (les dues tecles al mateix temps) uns quants cops
per refer les ordres.
---> Correegiu els errors d'aqquesta línia i dessfeu-los aamb desfer.
8. Aquestes ordres són molt útils. Ara aneu al sumari de la lliçó 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 2 SUMARI
1. Per esborrar del cursor al final de la paraula teclegeu: dw
2. Per esborrar del cursor al final de la línia teclegeu: d$
3. Per esborrar una línia sencera teclegeu: dd
4. El format de qualsevol ordre del mode Normal és:
[nombre] ordre objecte O BÉ ordre [nombre] objecte
on:
nombre - és quants cops repetir l'ordre
ordre - és què fer, com ara d per esborrar
objecte - és amb què s'ha d'actuar, com ara w (paraula),
$ (fins a final de línia), etc.
5. Per desfer les accions anteriors premeu: u
Per desfer tots el canvis en una línia premeu: U
Per desfer l'ordre desfer premeu: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 3.1: L'ORDRE 'POSAR'
** Premeu p per posar l'última cosa que heu esborrat després del cursor. **
1. Moveu el cursor a la primera línia de llista de baix.
2. Teclegeu dd per esborrar la línia i desar-la a la memòria.
3. Moveu el cursor a la línia ANTERIOR on hauria d'anar.
4. En mode Normal, premeu p per inserir la línia.
5. Repetiu els passos 2, 3 i 4 per ordenar les línies correctament.
d) Pots aprendre tu?
b) Les violetes són blaves,
c) L'intel·ligència s'aprèn,
a) Les roses són vermelles,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 3.2: L'ORDRE SUBSTITUIR
** Premeu r i un caràcter per substituir el caràcter de sota el cursor. **
1. Moveu el cursor a la primera línia de sota marcada amb --->.
2. Moveu el cursor a sobre del primer caràcter equivocat.
3. Premeu r i tot seguit el caràcter correcte per corregir l'error.
4. Repetiu els passos 2 i 3 fins que la línia sigui correcta.
---> Quen van escroure aquerta línia, algh va apretar tikles equivocades!
---> Quan van escriure aquesta línia, algú va apretar tecles equivocades!
5. Ara continueu a la lliçó 3.2.
NOTA: Recordeu que heu de practicar, no memoritzar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 3.3: L'ORDRE CANVIAR
** Per canviar una part o tota la paraula, escriviu cw . **
1. Moveu el cursor a la primera línia de sota marcada amb --->.
2. Poseu el cursor sobre la u de 'lughc'.
3. Teclegeu cw i corregiu la paraula (en aquest cas escriviu 'ínia'.)
4. Premeu <ESC> i aneu al següent error.
5. Repetiu els passos 3 i 4 fins que les dues frases siguin iguals.
---> Aquesta lughc té algunes paradskl que s'han de cdddf.
---> Aquesta línia té algunes paraules que s'han de canviar.
Noteu que cw no només canvia la paraula, també us posa en mode d'inserció.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 3.4: MÉS CANVIS AMB c
** L'ordre canviar s'usa amb els mateixos objectes que l'ordre esborrar. **
1. L'ordre canviar funciona igual que la d'esborrar. El format és:
[nombre] c objecte O BÉ c [nombre] objecte
2. Els objectes són els mateixos, com w (paraula), $ (final de línia), etc.
3. Moveu el cursor fins la primera línia marcada amb --->.
4. Avanceu fins al primer error.
5. Premeu c$ per fer la línia igual que la segona i premeu <ESC>.
---> El final d'aquesta línia necessita canvis per ser igual que la segona.
---> El final d'aquesta línia s'ha de corregir amb l'ordre c$.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 3 SUMARI
1. Per tornar a posar el text que s'ha esborrat, premeu p . Això posa el
text esborrat DESPRÉS del cursor (si heu esborrat una línia anirà a
parar a la línia SEGÜENT d'on hi ha el cursor).
2. Per substituir el caràcter de sota el cursor, premeu r i tot seguit
el caràcter que ha de reemplaçar l'original.
3. L'ordre canviar permet canviar l'objecte especificat des del cursor
fins el final de l'objecte. Per exemple, cw canvia el que hi ha des
del cursor fins al final de la paraula, i c$ fins al final de línia.
4. El format de l'ordre canviar és:
[nombre] c objecte O BÉ c [nombre] objecte
Ara aneu a la pròxima lliçó.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 4.1: SITUACIÓ I ESTAT DEL FITXER
** Premeu CTRL-g per veure la situació dins del fitxer i el seu estat.
Premeu SHIFT-G per anar a una línia determinada. **
Nota: No proveu res fins que hàgiu llegit TOTA la lliçó!!
1. Mantingueu premuda la tecla Control i premeu g . A la part de baix de
la pàgina apareixerà un línia amb el nom del fitxer i la línia en la
qual us trobeu. Recordeu el número de la línia pel Pas 3.
2. Premeu Shift-G per anar al final de tot del fitxer.
3. Teclegeu el número de la línia on éreu i després premeu Shift-G. Això
us tornarà a la línia on éreu quan heu premut per primer cop Ctrl-g.
(Quan teclegeu el número NO es veurà a la pantalla.)
4. Ara executeu els passos de l'1 al 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 4.2: L'ORDRE CERCAR
** Premeu / seguit de la frase que vulgueu cercar. **
1. En el mode Normal premeu el caràcter / . Noteu que el cursor apareix
a la part de baix de la pantalla igual que amb l'ordre : .
2. Ara escriviu 'errroor' <ENTRAR>. Aquesta és la paraula que voleu
cercar.
3. Per tornar a cercar la mateixa frase, premeu n .
Per cercar la mateixa frase en direcció contraria, premeu Shift-N .
4. Si voleu cercar una frase en direcció ascendent, useu l'ordre ? en
lloc de /.
---> "errroor" no és com s'escriu error; errroor és un error.
Note: Quan la cerca arribi al final del fitxer continuarà a l'inici.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 4.3: CERCA DE PARÈNTESIS
** Premeu % per cercar el ),], o } corresponent. **
1. Poseu el cursor en qualsevol (, [, o { de la línia marcada amb --->.
2. Ara premeu el caràcter % .
3. El cursor hauria d'anar a la clau o parèntesis corresponent.
4. Premeu % per tornar el cursor al primer parèntesi.
---> Això ( és una línia amb caràcters (, [ ] i { } de prova. ))
Nota: Això és molt útil per trobar errors en programes informàtics!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 4.4: UNA MANERA DE CANVIAR ERRORS
** Escriviu :s/vell/nou/g per substituir 'vell' per 'nou'. **
1. Moveu el cursor a la línia de sota marcada amb --->.
2. Escriviu :s/laa/la <ENTRAR> . Aquesta ordre només canvia la primera
coincidència que es trobi a la línia.
3. Ara escriviu :s/laa/la/g per fer una substitució global. Això
canviarà totes les coincidències que es trobin a la línia.
---> laa millor època per veure laa flor és laa primavera.
4. Per canviar totes les coincidències d'una cadena entre dues línies,
escriviu :#,#s/vell/nou/g on #,# són els nombres de les línies.
Escriviu :%s/vell/nou/g per substituir la cadena a tot el fitxer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 4 SUMARI
1. Ctrl-g mostra la posició dins del fitxer i l'estat del mateix.
Shift-G us porta al final del fitxer. Un número seguit de Shift-G
us porta a la línia corresponent.
2. L'ordre / seguida d'una frase cerca la frase ENDAVANT.
L'ordre ? seguida d'una frase cerca la frase ENDARRERE.
Després d'una cerca premeu n per trobar la pròxima coincidència en
la mateixa direcció, o Shift-N per cercar en la direcció contrària.
3. L'ordre % quan el cursor és a sobre un (,),[,],{, o } troba la
parella corresponent.
4. Per substituir el primer 'vell' per 'nou' en una línia :s/vell/nou
Per substituir tots els 'vell' per 'nou' en una línia :s/vell/nou/g
Per substituir frases entre les línies # i # :#,#s/vell/nou/g
Per substituir totes les coincidències en el fitxer :%s/vell/nou/g
Per demanar confirmació cada cop afegiu 'c' :%s/vell/nou/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 5.1: COM EXECUTAR UNA ORDRE EXTERNA
** Teclegeu :! seguit d'una ordre externa per executar-la. **
1. Premeu el familiar : per col·locar el cursor a la part de baix de
la pantalla. Això us permet entrar una ordre.
2. Ara teclegeu el caràcter ! (signe d'exclamació). Això us permet
executar qualsevol ordre de la shell.
3. Com a exemple escriviu ls i tot seguit premeu <ENTRAR>. Això us
mostrarà el contingut del directori, tal com si estiguéssiu a la
línia d'ordres. Feu servir :!dir si ls no funciona.
Nota: D'aquesta manera es pot executar qualsevol ordre externa.
Nota: Totes les ordres : s'han d'acabar amb la tecla <ENTRAR>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 5.2: MÉS SOBRE L'ESCRIPTURA DE FITXERS
** Per desar els canvis fets, escriviu :w FITXER. ***
1. Escriviu :!dir o bé :!ls per obtenir un llistat del directori.
Ja sabeu que heu de prémer <ENTRAR> després d'això.
2. Trieu un nom de fitxer que no existeixi, com ara PROVA.
3. Ara feu: :w PROVA (on PROVA és el nom que heu triat.)
4. Això desa tot el fitxer amb el nom de PROVA. Per comprovar-ho
escriviu :!dir per veure el contingut del directori.
Note: Si sortiu del Vim i entreu una altra vegada amb el fitxer PROVA, el
fitxer serà una còpia exacta del tutor que heu desat.
5. Ara esborreu el fitxer teclejant (MS-DOS): :!del PROVA
o bé (Unix): :!rm PROVA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 5.3: UNA ORDRE SELECTIVA PER DESAR
** Per desar una part del fitxer, escriviu :#,# w FITXER **
1. Un altre cop, feu :!dir o :!ls per obtenir un llistat del directori
i trieu un nom de fitxer adequat com ara PROVA.
2. Moveu el cursor a dalt de tot de la pàgina i premeu Ctrl-g per
saber el número de la línia. RECORDEU AQUEST NÚMERO!
3. Ara aneu a baix de tot de la pàgina i torneu a prémer Ctrl-g.
RECORDEU AQUEST NÚMERO TAMBÉ!
4. Per desar NOMÉS una secció en un fitxer, escriviu :#,# w PROVA on
#,# són els dos números que heu recordat (dalt,baix) i PROVA el nom
del fitxer.
5. Mireu que el fitxer nou hi sigui amb :!dir però no l'esborreu.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 5.4: OBTENIR I AJUNTAR FITXERS
** Per inserir el contingut d'un fitxer, feu :r FITXER **
1. Assegureu-vos, amb l'ordre :!dir , que el fitxer PROVA encara hi és.
2. Poseu el cursor a dalt de tot d'aquesta pàgina.
NOTA: Després d'executar el Pas 3 veureu la lliçó 5.3. Aleshores moveu-vos
cap avall fins a aquesta lliçó un altre cop.
3. Ara obtingueu el fitxer PROVA amb l'ordre :r PROVA on PROVA és el
nom del fitxer.
NOTA: El fitxer que obtingueu es posa en el lloc on hi hagi el cursor.
4. Per comprovar que s'ha obtingut el fitxer tireu enrere i mireu com
ara hi han dues còpies de la lliçó 5.3: l'original i la del fitxer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 5 SUMARI
1. :!ordre executa una ordre externa.
Alguns exemples útils són:
(MS-DOS) (Unix)
:!dir :!ls - mostra un llistat del directori
:!del FITXER :!rm FITXER - esborra el fitxer FITXER
2. :w FITXER escriu el fitxer editat al disc dur, amb el nom FITXER.
3. :#,#w FITXER desa les línies de # a # en el fitxer FITXER.
4. :r FITXER llegeix el fitxer FITXER del disc dur i l'insereix en el
fitxer editat a la posició on hi ha el cursor.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 6.1: L'ORDRE OBRIR
** Premeu o per obrir una línia sota el cursor i entrar en mode inserció. **
1. Moveu el cursor a la línia de sota marcada amb --->.
2. Premeu o (minúscula) per obrir una línia SOTA el cursor i situar-vos
en mode d'inserció.
3. Ara copieu la línia marcada amb ---> i premeu <ESC> per tornar al mode
normal.
---> Després de prémer o el cursor es situa a la línia nova en mode inserció.
4. Per obrir una línia SOBRE el cursor, premeu la O majúscula, en lloc
de la minúscula. Proveu-ho amb la línia de sota.
Obriu una línia sobre aquesta amb Shift-O amb el cursor en aquesta línia.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 6.2: L'ORDRE AFEGIR
** Premeu a per afegir text DESPRÉS del cursor. **
1. Moveu el cursor al final de la primera línia de sota marcada
amb ---> prement $ en el mode Normal.
2. Premeu la lletra a (minúscula) per afegir text DESPRÉS del caràcter
sota el cursor. (La A majúscula afegeix text al final de línia.)
Nota: Així s'evita haver de prémer i , l'últim caràcter, el text a inserir,
la tecla <ESC>, cursor a la dreta, i finalment x , només per afegir
text a final de línia.
3. Ara completeu la primera línia. Tingueu en compte que aquesta ordre
és exactament igual que la d'inserir, excepte pel que fa al lloc on
s'insereix el text.
---> Aquesta línia us permetrà practicar
---> Aquesta línia us permetrà practicar afegir text a final de línia.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 6.3: UNA ALTRA MANERA DE SUBSTITUIR
** Teclegeu una R majúscula per substituir més d'un caràcter. **
1. Moveu el cursor a la línia de sota marcada amb --->.
2. Poseu el cursor al principi de la primera paraula que es diferent
respecte a la segona línia marcada amb ---> (la paraula "l'última").
3. Ara premeu R i substituïu el que queda de text a la primera línia
escrivint sobre el text vell, per fer-la igual que la segona.
---> Per fer aquesta línia igual que l'última useu les tecles.
---> Per fer aquesta línia igual que la segona, premeu R i el text nou.
4. Tingueu en compte que en prémer <ESC> per sortir, el text que no
s'hagi alterat es manté.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lliçó 6.4: ESTABLIR OPCIONS
** Feu que les ordres cercar o substituir ignorin les diferències
entre majúscules i minúscules **
1. Cerqueu la paraula 'ignorar' amb: /ignorar
Repetiu-ho uns quants cops amb la tecla n.
2. Establiu l'opció 'ic' (Ignorar Capitals) escrivint:
:set ic
3. Ara cerqueu 'ignorar' un altre cop amb la tecla n.
Repetiu-ho uns quants cops més.
4. Establiu les opcions 'hlsearch' i 'incsearch':
:set hls is
5. Ara torneu a executar una ordre de cerca, i mireu què passa:
/ignorar
6. Per treure el ressalt dels resultats, feu:
:nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 6 SUMARI
1. L'ordre o obre una línia SOTA la del cursor i mou el cursor a la nova
línia, en mode Inserció.
La O majúscula obre la línia a SOBRE la que hi ha el cursor.
2. Premeu una a per afegir text DESPRÉS del caràcter sota el cursor.
La A majúscula afegeix automàticament el text a final de línia.
3. L'ordre R majúscula us posa en mode substitució fins que premeu <ESC>.
4. Escriviu ":set xxx" per establir l'opció "xxx"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 7: ORDRES D'AJUDA
** Utilitzeu el sistema intern d'ajuda **
El Vim té un extens sistema d'ajuda. Per llegir una introducció proveu una
d'aquestes tres coses:
- premeu la tecla <AJUDA> (si en teniu alguna)
- premeu la tecla <F1> (si en teniu alguna)
- escriviu :help <ENTRAR>
Teclegeu :q <ENTRAR> per tancar la finestra d'ajuda.
Podeu trobar ajuda sobre pràcticament qualsevol tema donant un argument
a l'ordre ":help". Proveu això (no oblideu prémer <ENTRAR>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LLIÇÓ 8: CREAR UN SCRIPT D'INICI
** Activar funcions automàticament **
El Vim té moltes més funcions que el Vi, però moltes estan desactivades per
omissió. Per començar a utilitzar més funcions heu de crear un fitxer "vimrc".
1. Comenceu a editar el fitxer "vimrc", depenent del sistema
:edit ~/.vimrc per Unix
:edit $VIM/_vimrc per MS-Windows
2. Ara llegiu el fitxer "vimrc" d'exemple:
:read $VIMRUNTIME/vimrc_example.vim
3. Deseu el fitxer amb:
:write
El pròxim cop que executeu el Vim usarà ressalt de sintaxi.
Podeu afegir els ajustos que vulgueu en aquest fitxer "vimrc".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aquí conclou el Tutor del Vim. Ha sigut un intent de fer-vos una breu
introducció a l'editor Vim, suficient com per què el pugueu començar a fer
servir. Està lluny de ser complet perquè el Vim té moltes més ordres.
Llegiu el manual de l'usuari: ":help user-manual".
Per un estudi més profund us recomanem el següent llibre:
Vim - Vi Improved - de Steve Oualline
Editorial: New Riders
És el primer llibre dedicat completament al Vim, especialment útil per a
usuaris novells. Té molts exemples i dibuixos.
Vegeu http://iccf-holland.org/click5.html
Aquest altre és més vell i tracta més sobre el Vi que sobre el Vim:
Learning the Vi Editor - de Linda Lamb
Editorial: O'Reilly & Associates Inc.
És un bon llibre per saber qualsevol cosa que desitgeu sobre el Vi.
La sisena edició també inclou informació sobre el Vim.
Aquest tutorial ha estat escrit per Michael C. Pierce i Robert K. Ware,
Colorado School of Mines amb la col·laboració de Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Modificat pel Vim per Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -1,812 +0,0 @@
===============================================================================
= V <EFBFBD> t e j t e v t u t o r i a l u V I M - Verze 1.5 =
===============================================================================
Vim je velmi v<EFBFBD>konn<EFBFBD> editor, kter<EFBFBD> m<EFBFBD> p<EFBFBD><EFBFBD>li<EFBFBD> mnoho p<EFBFBD><EFBFBD>kaz<EFBFBD> na to, aby
mohly b<EFBFBD>t v<EFBFBD>echny vysv<EFBFBD>tlen<EFBFBD> ve v<EFBFBD>uce jako tato. Tato v<EFBFBD>uka obsahuje
dostate<EFBFBD>n<EFBFBD> mno<EFBFBD>stv<EFBFBD> p<EFBFBD><EFBFBD>kaz<EFBFBD> na to, aby bylo mo<EFBFBD>n<EFBFBD> pou<EFBFBD><EFBFBD>vat Vim jako
v<EFBFBD>ce<EFBFBD><EFBFBD>elov<EFBFBD> editor.
P<EFBFBD>ibli<EFBFBD>n<EFBFBD> <EFBFBD>as pot<EFBFBD>ebn<EFBFBD> ke zvl<EFBFBD>dnut<EFBFBD> t<EFBFBD>to v<EFBFBD>uky je 25-30 minut, z<EFBFBD>le<EFBFBD><EFBFBD>
na tom, kolik <EFBFBD>asu str<EFBFBD>v<EFBFBD>te p<EFBFBD>ezku<EFBFBD>ov<EFBFBD>n<EFBFBD>m.
P<EFBFBD><EFBFBD>kazy v lekc<EFBFBD>ch upravuj<EFBFBD> text. Vytvo<EFBFBD> kopii tohoto souboru pro
procvi<EFBFBD>ov<EFBFBD>n<EFBFBD> (p<EFBFBD>i startu "vimtutor" je ji<EFBFBD> toto kopie).
Je d<EFBFBD>le<EFBFBD>it<EFBFBD> pamatovat, <EFBFBD>e tato v<EFBFBD>uka je vytvo<EFBFBD>ena pro v<EFBFBD>uku pou<EFBFBD><EFBFBD>v<EFBFBD>n<EFBFBD>m.
To znamen<EFBFBD>, <EFBFBD>e je pot<EFBFBD>eba si p<EFBFBD><EFBFBD>kazy vyzkou<EFBFBD>et pro jejich spr<EFBFBD>vn<EFBFBD>
nau<EFBFBD>en<EFBFBD>. Pokud si jen <EFBFBD>te<EFBFBD> text, p<EFBFBD><EFBFBD>kazy zapomene<EFBFBD>!
Nyn<EFBFBD> se p<EFBFBD>esv<EFBFBD>d<EFBFBD>te, <EFBFBD>e Shift-Lock NEN<EFBFBD> stla<EFBFBD>en<EFBFBD> a n<EFBFBD>kolikr<EFBFBD>t stiskn<EFBFBD>te
kl<EFBFBD>vesu j aby se kurzor posunul natolik, <EFBFBD>e lekce 1.1 zapln<EFBFBD> celou
obrazovku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.1: POHYB KURZORU
** Pro pohyb kurzoru pou<EFBFBD><EFBFBD>vej kl<EFBFBD>vesy h,j,k,l jak je zn<EFBFBD>zorn<EFBFBD>no n<EFBFBD><EFBFBD>e. **
^
k Funkce: Kl<EFBFBD>vesa h je vlevo a vykon<EFBFBD> pohyb vlevo.
< h l > Kl<EFBFBD>vesa l je vpravo a vykon<EFBFBD> pohyb vpravo.
j Kl<EFBFBD>vesa j vypad<EFBFBD> na <EFBFBD>ipku dolu.
v
1. Pohybuj kurzorem po obrazovce dokud si na to nezvykne<EFBFBD>.
2. Dr<EFBFBD> kl<EFBFBD>vesu pro pohyb dolu (j), dokud se jej<EFBFBD> funkce nezopakuje.
---> Te<EFBFBD> v<EFBFBD><EFBFBD> jak se p<EFBFBD>esunout na n<EFBFBD>sleduj<EFBFBD>c<EFBFBD> lekci.
3. Pou<EFBFBD>it<EFBFBD>m kl<EFBFBD>vesy dolu p<EFBFBD>ejdi na lekci 1.2.
Pozn<EFBFBD>mka: Pokud si n<EFBFBD>kdy nejsi jist n<EFBFBD><EFBFBD><EFBFBD>m, co jsi napsal, stla<EFBFBD> <ESC> pro
p<EFBFBD>echod do Norm<EFBFBD>ln<EFBFBD>ho m<EFBFBD>du. Pot<EFBFBD> p<EFBFBD>epi<EFBFBD> po<EFBFBD>adovan<EFBFBD> p<EFBFBD><EFBFBD>kaz.
Pozn<EFBFBD>mka: Kurzorov<EFBFBD> kl<EFBFBD>vesy tak<EFBFBD> funguj<EFBFBD>, av<EFBFBD>ak pou<EFBFBD><EFBFBD>v<EFBFBD>n<EFBFBD> hjkl je rychlej<EFBFBD><EFBFBD>
jakmile si na n<EFBFBD>j zvykne<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.2: SPU<EFBFBD>T<EFBFBD>N<EFBFBD> A UKON<EFBFBD>EN<EFBFBD> VIM
!! POZN<EFBFBD>MKA: P<EFBFBD>ed vykon<EFBFBD>n<EFBFBD>m t<EFBFBD>chto krok<EFBFBD> si p<EFBFBD>e<EFBFBD>ti celou lekci!!
1. Stla<EFBFBD> <ESC> (pro uji<EFBFBD>t<EFBFBD>n<EFBFBD>, <EFBFBD>e se nach<EFBFBD>z<EFBFBD><EFBFBD> v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du).
2. Napi<EFBFBD>: :q! <ENTER>.
---> T<EFBFBD>mto ukon<EFBFBD><EFBFBD><EFBFBD> editor BEZ ulo<EFBFBD>en<EFBFBD> zm<EFBFBD>n, kter<EFBFBD> si vykonal.
Pokud chce<EFBFBD> ulo<EFBFBD>it zm<EFBFBD>ny a ukon<EFBFBD>it editor napi<EFBFBD>:
:wq <ENTER>
3. A<EFBFBD> se dostane<EFBFBD> na p<EFBFBD><EFBFBD>kazov<EFBFBD> <EFBFBD><EFBFBD>dek, napi<EFBFBD> p<EFBFBD><EFBFBD>kaz, kter<EFBFBD>m se dostane<EFBFBD> zp<EFBFBD>t
do t<EFBFBD>to v<EFBFBD>uky. To m<EFBFBD><EFBFBD>e b<EFBFBD>t: vimtutor <ENTER>
B<EFBFBD><EFBFBD>n<EFBFBD> se pou<EFBFBD><EFBFBD>v<EFBFBD>: vim tutor <ENTER>
---> 'vim' znamen<EFBFBD> spu<EFBFBD>t<EFBFBD>n<EFBFBD> editoru, 'tutor' je soubor k editaci.
4. Pokud si tyto kroky spolehliv<EFBFBD> pamatuje<EFBFBD>, vykonej kroky 1 a<EFBFBD> 3, <EFBFBD><EFBFBD>m<EFBFBD>
ukon<EFBFBD><EFBFBD><EFBFBD> a znovu spust<EFBFBD><EFBFBD> editor. Potom p<EFBFBD>esu<EFBFBD> kurzor dolu na lekci 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.3: <EFBFBD>PRAVA TEXTU - MAZ<EFBFBD>N<EFBFBD>
** Stisknut<EFBFBD>m kl<EFBFBD>vesy x v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du sma<EFBFBD>e<EFBFBD> znak na m<EFBFBD>st<EFBFBD> kurzoru. **
1. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. K odstran<EFBFBD>n<EFBFBD> chyb p<EFBFBD>ejdi kurzorem na znak, kter<EFBFBD> chce<EFBFBD> smazat.
3. Stla<EFBFBD> kl<EFBFBD>vesu x k odstran<EFBFBD>n<EFBFBD> necht<EFBFBD>n<EFBFBD>ch znak<EFBFBD>.
4. Opakuj kroky 2 a<EFBFBD> 4 dokud nen<EFBFBD> v<EFBFBD>ta spr<EFBFBD>vn<EFBFBD>.
---> Kr<EFBFBD><EFBFBD>va sko<EFBFBD><EFBFBD>illa p<EFBFBD>ess m<EFBFBD>ss<EFBFBD>c.
5. Pokud je v<EFBFBD>ta spr<EFBFBD>vn<EFBFBD>, p<EFBFBD>ejdi na lekci 1.4.
POZN<EFBFBD>MKA: Nesna<EFBFBD> se pouze zapamatovat p<EFBFBD>edv<EFBFBD>d<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD>kazy, u<EFBFBD> se je pou<EFBFBD><EFBFBD>v<EFBFBD>n<EFBFBD>m.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.4: <EFBFBD>PRAVA TEXTU - VKL<EFBFBD>D<EFBFBD>N<EFBFBD>
** Stla<EFBFBD>en<EFBFBD> kl<EFBFBD>vesy i v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du umo<EFBFBD><EFBFBD>uje vkl<EFBFBD>d<EFBFBD>n<EFBFBD> textu. **
1. P<EFBFBD>esu<EFBFBD> kurzor na prvn<EFBFBD> <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. Pro upraven<EFBFBD> prvn<EFBFBD>ho <EFBFBD><EFBFBD>dku do podoby <EFBFBD><EFBFBD>dku druh<EFBFBD>ho, p<EFBFBD>esu<EFBFBD> kurzor na
prvn<EFBFBD> znak za m<EFBFBD>sto, kde m<EFBFBD> b<EFBFBD>t text vlo<EFBFBD>en<EFBFBD>.
3. Stla<EFBFBD> i a napi<EFBFBD> pot<EFBFBD>ebn<EFBFBD> dodatek.
4. Po opraven<EFBFBD> ka<EFBFBD>d<EFBFBD> chyby stla<EFBFBD> <ESC> pro n<EFBFBD>vrat do Norm<EFBFBD>ln<EFBFBD>ho m<EFBFBD>du.
Opakuj kroky 2 a<EFBFBD> 4 dokud nen<EFBFBD> v<EFBFBD>ta spr<EFBFBD>vn<EFBFBD>.
---> N<EFBFBD>jak<EFBFBD> txt na t<EFBFBD>to .
---> N<EFBFBD>jak<EFBFBD> text chyb<EFBFBD> na t<EFBFBD>to <EFBFBD><EFBFBD>dce.
5. Pokud ji<EFBFBD> ovl<EFBFBD>d<EFBFBD><EFBFBD> vkl<EFBFBD>d<EFBFBD>n<EFBFBD> textu, p<EFBFBD>ejdi na n<EFBFBD>sleduj<EFBFBD>c<EFBFBD> shrnut<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<EFBFBD> LEKCE 1
1. Kurzorem se pohybuje pomoc<EFBFBD> <EFBFBD>ipek nebo kl<EFBFBD>vesami hjkl.
h (vlevo) j (dolu) k (nahoru) l (vpravo)
2. Pro spu<EFBFBD>t<EFBFBD>n<EFBFBD> Vimu (z p<EFBFBD><EFBFBD>kazov<EFBFBD>ho <EFBFBD><EFBFBD>dku) napi<EFBFBD>: vim SOUBOR <ENTER>
3. Pro ukon<EFBFBD>en<EFBFBD> Vimu napi<EFBFBD>: <ESC> :q! <ENTER> bez ulo<EFBFBD>en<EFBFBD> zm<EFBFBD>n.
anebo: <ESC> :wq <ENTER> pro ulo<EFBFBD>en<EFBFBD> zm<EFBFBD>n.
4. Pro smaz<EFBFBD>n<EFBFBD> znaku pod kurzorem napi<EFBFBD> v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du: x
5. Pro vkl<EFBFBD>d<EFBFBD>n<EFBFBD> textu od m<EFBFBD>sta kurzoru napi<EFBFBD> v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du:
i vkl<EFBFBD>dan<EFBFBD> text <ESC>
POZN<EFBFBD>MKA: Stla<EFBFBD>en<EFBFBD> <ESC> t<EFBFBD> p<EFBFBD>em<EFBFBD>st<EFBFBD> do Norm<EFBFBD>ln<EFBFBD>ho m<EFBFBD>du nebo zru<EFBFBD><EFBFBD> necht<EFBFBD>n<EFBFBD>
a <EFBFBD><EFBFBD>ste<EFBFBD>n<EFBFBD> dokon<EFBFBD>en<EFBFBD> p<EFBFBD><EFBFBD>kaz.
Nyn<EFBFBD> pokra<EFBFBD>uj Lekc<EFBFBD> 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.1: P<EFBFBD><EFBFBD>KAZY MAZ<EFBFBD>N<EFBFBD>
** P<EFBFBD><EFBFBD>kaz dw sma<EFBFBD>e znaky do konce slova. **
1. Stla<EFBFBD> <ESC> k ubezpe<EFBFBD>en<EFBFBD>, <EFBFBD>e jsi v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du.
2. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
3. P<EFBFBD>esu<EFBFBD> kurzor na za<EFBFBD><EFBFBD>tek slova, kter<EFBFBD> je pot<EFBFBD>eba smazat.
4. Napi<EFBFBD> dw , aby slovo zmizelo.
POZN<EFBFBD>MKA: P<EFBFBD>smena dw se zobraz<EFBFBD> na posledn<EFBFBD>m <EFBFBD><EFBFBD>dku obrazovky jakmile je
nap<EFBFBD><EFBFBD>e<EFBFBD>. Kdy<EFBFBD> nap<EFBFBD><EFBFBD>e<EFBFBD> n<EFBFBD>co <EFBFBD>patn<EFBFBD>, stla<EFBFBD> <ESC> a za<EFBFBD>ni znova.
---> Jsou tu n<EFBFBD>jak<EFBFBD> slova z<EFBFBD>bava, kter<EFBFBD> nepat<EFBFBD><EFBFBD> list do t<EFBFBD>to v<EFBFBD>ty.
5. Opakuj kroky 3 a<EFBFBD> 4 dokud nen<EFBFBD> v<EFBFBD>ta spr<EFBFBD>vn<EFBFBD> a p<EFBFBD>ejdi na lekci 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.2: V<EFBFBD>CE P<EFBFBD><EFBFBD>KAZ<EFBFBD> MAZ<EFBFBD>N<EFBFBD>
** Naps<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD>kazu d$ sma<EFBFBD>e v<EFBFBD>e a<EFBFBD> do konce <EFBFBD><EFBFBD>dky. **
1. Stla<EFBFBD> <ESC> k ubezpe<EFBFBD>en<EFBFBD>, <EFBFBD>e jsi v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du.
2. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
3. P<EFBFBD>esu<EFBFBD> kurzor na konec spr<EFBFBD>vn<EFBFBD> v<EFBFBD>ty (ZA prvn<EFBFBD> te<EFBFBD>ku).
4. Napi<EFBFBD> d$ ,aby jsi smazal znaky a<EFBFBD> do konce <EFBFBD><EFBFBD>dku.
---> N<EFBFBD>kdo napsal konec t<EFBFBD>to v<EFBFBD>ty dvakr<EFBFBD>t. konec t<EFBFBD>to v<EFBFBD>ty dvakr<EFBFBD>t.
5. P<EFBFBD>ejdi na lekci 2.3 pro pochopen<EFBFBD> toho, co se stalo.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.3: ROZ<EFBFBD>I<EFBFBD>OVAC<EFBFBD> P<EFBFBD><EFBFBD>KAZY A OBJEKTY
Form<EFBFBD>t mazac<EFBFBD>ho p<EFBFBD><EFBFBD>kazu d je n<EFBFBD>sleduj<EFBFBD>c<EFBFBD>:
[<5B><>slo] d objekt NEBO d [<EFBFBD><EFBFBD>slo] objekt
Kde:
<EFBFBD><EFBFBD>slo - ud<EFBFBD>v<EFBFBD> kolikr<EFBFBD>t se p<EFBFBD><EFBFBD>kaz vykon<EFBFBD> (voliteln<EFBFBD>, v<EFBFBD>choz<EFBFBD>=1).
d - je p<EFBFBD><EFBFBD>kaz maz<EFBFBD>n<EFBFBD>.
objekt - ud<EFBFBD>v<EFBFBD> na <EFBFBD>em se p<EFBFBD><EFBFBD>kaz vykon<EFBFBD>v<EFBFBD> (vypsan<EFBFBD> n<EFBFBD><EFBFBD>e).
Kr<EFBFBD>tk<EFBFBD> v<EFBFBD>pis objekt<EFBFBD>:
w - od kurzoru do konce slova, v<EFBFBD>etn<EFBFBD> mezer.
e - od kurzoru do konce slova, BEZ mezer.
$ - od kurzoru do konce <EFBFBD><EFBFBD>dku.
POZN<EFBFBD>MKA: Stla<EFBFBD>en<EFBFBD>m kl<EFBFBD>vesy objektu v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du se kurzor p<EFBFBD>esune na
m<EFBFBD>sto up<EFBFBD>esn<EFBFBD>n<EFBFBD> ve v<EFBFBD>pisu objekt<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.4: V<EFBFBD>JIMKA Z 'P<EFBFBD><EFBFBD>KAZ-OBJEKT'
** Naps<EFBFBD>n<EFBFBD>m dd sma<EFBFBD>e<EFBFBD> cel<EFBFBD> <EFBFBD><EFBFBD>dek. **
Vzhledem k <EFBFBD>astosti maz<EFBFBD>n<EFBFBD> cel<EFBFBD>ho <EFBFBD><EFBFBD>dku se auto<EFBFBD>i Vimu rozhodli, <EFBFBD>e bude
jednodu<EFBFBD><EFBFBD> napsat prost<EFBFBD> dv<EFBFBD> d k smaz<EFBFBD>n<EFBFBD> cel<EFBFBD>ho <EFBFBD><EFBFBD>dku.
1. P<EFBFBD>esu<EFBFBD> kurzor na druh<EFBFBD> <EFBFBD><EFBFBD>dek spodn<EFBFBD>ho textu.
2. Napi<EFBFBD> dd pro smaz<EFBFBD>n<EFBFBD> <EFBFBD><EFBFBD>dku.
3. P<EFBFBD>ejdi na <EFBFBD>tvrt<EFBFBD> <EFBFBD><EFBFBD>dek.
4. Napi<EFBFBD> 2dd (vzpome<EFBFBD> si <EFBFBD><EFBFBD>slo-p<EFBFBD><EFBFBD>kaz-objekt) pro smaz<EFBFBD>n<EFBFBD> dvou <EFBFBD><EFBFBD>dk<EFBFBD>.
1) R<EFBFBD><EFBFBD>e jsou <EFBFBD>erven<EFBFBD>,
2) Bl<EFBFBD>to je z<EFBFBD>bavn<EFBFBD>,
3) Fialky jsou modr<EFBFBD>,
4) M<EFBFBD>m auto,
5) Hodinky ukazuj<EFBFBD> <EFBFBD>as,
6) Cukr je sladk<EFBFBD>,
7) A to jsi i ty.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.5: P<EFBFBD><EFBFBD>KAZ UNDO
** Stla<EFBFBD> u pro vr<EFBFBD>cen<EFBFBD> posledn<EFBFBD>ho p<EFBFBD><EFBFBD>kazu, U pro celou <EFBFBD><EFBFBD>dku. **
1. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> ---> a p<EFBFBD>em<EFBFBD>sti ho na prvn<EFBFBD> chybu.
2. Napi<EFBFBD> x pro smaz<EFBFBD>n<EFBFBD> prvn<EFBFBD>ho necht<EFBFBD>n<EFBFBD>ho znaku.
3. Te<EFBFBD> napi<EFBFBD> u <EFBFBD><EFBFBD>m<EFBFBD> vr<EFBFBD>t<EFBFBD><EFBFBD> zp<EFBFBD>t posledn<EFBFBD> vykonan<EFBFBD> p<EFBFBD><EFBFBD>kaz.
4. Nyn<EFBFBD> oprav v<EFBFBD>echny chyby na <EFBFBD><EFBFBD>dku pomoc<EFBFBD> p<EFBFBD><EFBFBD>kazu x .
5. Napi<EFBFBD> velk<EFBFBD> U <EFBFBD><EFBFBD>m<EFBFBD> vr<EFBFBD>t<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>dek do p<EFBFBD>vodn<EFBFBD>ho stavu.
6. Te<EFBFBD> napi<EFBFBD> u n<EFBFBD>kolikr<EFBFBD>t, <EFBFBD><EFBFBD>m<EFBFBD> vr<EFBFBD>t<EFBFBD><EFBFBD> zp<EFBFBD>t p<EFBFBD><EFBFBD>kaz U .
7. Stla<EFBFBD> CTRL-R (kl<EFBFBD>vesu CTRL dr<EFBFBD> stla<EFBFBD>enou a stiskni R) n<EFBFBD>kolikr<EFBFBD>t,
<EFBFBD><EFBFBD>m<EFBFBD> vr<EFBFBD>t<EFBFBD><EFBFBD> zp<EFBFBD>t p<EFBFBD>edt<EFBFBD>m vr<EFBFBD>cen<EFBFBD> p<EFBFBD><EFBFBD>kazy (redo).
---> Opprav chybby nna toomto <EFBFBD><EFBFBD>dku a nahra<EFBFBD> je pommoc<EFBFBD> undo.
8. Toto jsou velmi u<EFBFBD>ite<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD>kazy. Nyn<EFBFBD> p<EFBFBD>ejdi na souhrn Lekce 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<EFBFBD> LEKCE 2
1. Pro smaz<EFBFBD>n<EFBFBD> znak<EFBFBD> od kurzoru do konce slova napi<EFBFBD>: dw
2. Pro smaz<EFBFBD>n<EFBFBD> znak<EFBFBD> od kurzoru do konce <EFBFBD><EFBFBD>dku napi<EFBFBD>: d$
3. Pro smaz<EFBFBD>n<EFBFBD> cel<EFBFBD>ho <EFBFBD><EFBFBD>dku napi<EFBFBD>: dd
4. Form<EFBFBD>t p<EFBFBD><EFBFBD>kazu v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du je:
[<5B><>slo] p<EFBFBD><EFBFBD>kaz objekt NEBO p<EFBFBD><EFBFBD>kaz [<EFBFBD><EFBFBD>slo] objekt
kde:
<EFBFBD><EFBFBD>slo - ud<EFBFBD>v<EFBFBD> po<EFBFBD>et opakov<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD>kazu
p<EFBFBD><EFBFBD>kaz - ud<EFBFBD>v<EFBFBD> co je t<EFBFBD>eba vykonat, nap<EFBFBD><EFBFBD>klad d ma<EFBFBD>e
objekt - ud<EFBFBD>v<EFBFBD> rozsah p<EFBFBD><EFBFBD>kazu, nap<EFBFBD><EFBFBD>klad w (slovo),
$ (do konce <EFBFBD><EFBFBD>dku), atd.
5. Pro vr<EFBFBD>cen<EFBFBD> p<EFBFBD>ede<EFBFBD>l<EFBFBD> <EFBFBD>innosti, napi<EFBFBD>: u (mal<EFBFBD> u)
Pro vr<EFBFBD>cen<EFBFBD> v<EFBFBD>ech <EFBFBD>prav na <EFBFBD><EFBFBD>dku napi<EFBFBD>: U (velk<EFBFBD> U)
Pro vr<EFBFBD>cen<EFBFBD> vr<EFBFBD>cen<EFBFBD>ch <EFBFBD>prav (redo) napi<EFBFBD>: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.1: P<EFBFBD><EFBFBD>KAZ VLO<EFBFBD>IT
** P<EFBFBD><EFBFBD>ka p vlo<EFBFBD><EFBFBD> posledn<EFBFBD> vymazan<EFBFBD> text za kurzor. **
1. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na posledn<EFBFBD> <EFBFBD><EFBFBD>dek textu.
2. Napi<EFBFBD> dd pro smaz<EFBFBD>n<EFBFBD> <EFBFBD><EFBFBD>dku a jeho ulo<EFBFBD>en<EFBFBD> do bufferu.
3. P<EFBFBD>esu<EFBFBD> kurzor VݩE tam, kam smazan<EFBFBD> <EFBFBD><EFBFBD>dek pat<EFBFBD><EFBFBD>.
4. V Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du napi<EFBFBD> p pro op<EFBFBD>tn<EFBFBD> vlo<EFBFBD>en<EFBFBD> <EFBFBD><EFBFBD>dku.
5. Opakuj kroky 2 a<EFBFBD> 4 dokud <EFBFBD><EFBFBD>dky nebudou ve spr<EFBFBD>vn<EFBFBD>m po<EFBFBD>ad<EFBFBD>.
d) Tak<EFBFBD> se dok<EFBFBD><EFBFBD>e<EFBFBD> vzd<EFBFBD>l<EFBFBD>vat?
b) Fialky jsou modr<EFBFBD>,
c) Inteligence se u<EFBFBD><EFBFBD>,
a) R<EFBFBD><EFBFBD>e jsou <EFBFBD>erven<EFBFBD>,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.2: P<EFBFBD><EFBFBD>KAZ NAHRAZEN<EFBFBD>
** Naps<EFBFBD>n<EFBFBD>m r a znaku se nahrad<EFBFBD> znak pod kurzorem. **
1. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na prvn<EFBFBD> <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. P<EFBFBD>esu<EFBFBD> kurzor na za<EFBFBD><EFBFBD>tek prvn<EFBFBD> chyby.
3. Napi<EFBFBD> r a potom znak, kter<EFBFBD> nahrad<EFBFBD> chybu.
4. Opakuj kroky 2 a<EFBFBD> 3 dokud nen<EFBFBD> prvn<EFBFBD> <EFBFBD><EFBFBD>dka spr<EFBFBD>vn<EFBFBD>.
---> Kdi<EFBFBD> byl pz<EFBFBD>n tento <EFBFBD><EFBFBD>deg, n<EFBFBD>kdu stla<EFBFBD>il <EFBFBD>paqn<EFBFBD> kl<EFBFBD>vesy!
---> Kdy<EFBFBD> byl ps<EFBFBD>n tento <EFBFBD><EFBFBD>dek, n<EFBFBD>kdo stla<EFBFBD><EFBFBD>l <EFBFBD>patn<EFBFBD> kl<EFBFBD>vesy!
5. Nyn<EFBFBD> p<EFBFBD>ejdi na Lekci 3.2.
POZN<EFBFBD>MKA: Zapamatuj si, <EFBFBD>e by ses m<EFBFBD>l u<EFBFBD>it pou<EFBFBD><EFBFBD>v<EFBFBD>n<EFBFBD>m, ne zapamatov<EFBFBD>n<EFBFBD>m.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.3: P<EFBFBD><EFBFBD>KAZ <EFBFBD>PRAVY
** Pokud chce<EFBFBD> zm<EFBFBD>nit <EFBFBD><EFBFBD>st nebo cel<EFBFBD> slovo, napi<EFBFBD> cw . **
1. P<EFBFBD>esu<EFBFBD> kurzor n<EFBFBD><EFBFBD>e na prvn<EFBFBD> <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. Um<EFBFBD>sti kurzor na p<EFBFBD>smeno i v slov<EFBFBD> <EFBFBD>i<EFBFBD>ok.
3. Napi<EFBFBD> cw a oprav slovo (v tomto p<EFBFBD><EFBFBD>pad<EFBFBD> napi<EFBFBD> '<EFBFBD>dek'.)
4. Stla<EFBFBD> <ESC> a p<EFBFBD>ejdi na dal<EFBFBD><EFBFBD> chybu (prvn<EFBFBD> znak, kter<EFBFBD> t<EFBFBD>eba zm<EFBFBD>nit.)
5. Opakuj kroky 3 a<EFBFBD> 4 dokud nen<EFBFBD> prvn<EFBFBD> v<EFBFBD>ta stejn<EFBFBD> jako ta druh<EFBFBD>.
---> Tento <EFBFBD>i<EFBFBD>ok m<EFBFBD> n<EFBFBD>kolik skic, kter<EFBFBD> psadoinsa zm<EFBFBD>nit pasdgf p<EFBFBD><EFBFBD>kazu.
---> Tento <EFBFBD><EFBFBD>dek m<EFBFBD> n<EFBFBD>kolik slov, kter<EFBFBD> pot<EFBFBD>ebuj<EFBFBD> zm<EFBFBD>nit pomoc<EFBFBD> p<EFBFBD><EFBFBD>kazu.
V<EFBFBD>imni si, <EFBFBD>e cw nejen nahrazuje slovo, ale tak<EFBFBD> p<EFBFBD>em<EFBFBD>st<EFBFBD> do vkl<EFBFBD>d<EFBFBD>n<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.4: V<EFBFBD>CE ZM<EFBFBD>N POU<EFBFBD>IT<EFBFBD>M c
** P<EFBFBD><EFBFBD>kaz pro <EFBFBD>pravu se dru<EFBFBD><EFBFBD> se stejn<EFBFBD>mi objekty jako ten pro maz<EFBFBD>n<EFBFBD>. **
1. P<EFBFBD><EFBFBD>kaz pro <EFBFBD>pravu pracuje stejn<EFBFBD> jako pro maz<EFBFBD>n<EFBFBD>. Form<EFBFBD>t je:
[<5B><>slo] c objekt NEBO c [<EFBFBD><EFBFBD>slo] objekt
2. Objekty jsou tak<EFBFBD> shodn<EFBFBD>, jako nap<EFBFBD>.: w (slovo), $ (konec <EFBFBD><EFBFBD>dku), atd.
3. P<EFBFBD>ejdi n<EFBFBD><EFBFBD>e na prvn<EFBFBD> <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
4. P<EFBFBD>esu<EFBFBD> kurzor na prvn<EFBFBD> rozd<EFBFBD>l.
5. Napi<EFBFBD> c$ pro upraven<EFBFBD> zbytku <EFBFBD><EFBFBD>dku podle toho druh<EFBFBD>ho a stla<EFBFBD> <ESC>.
---> Konec tohoto <EFBFBD><EFBFBD>dku pot<EFBFBD>ebuje pomoc, aby byl jako ten druh<EFBFBD>.
---> Konec tohoto <EFBFBD><EFBFBD>dku pot<EFBFBD>ebuje opravit pou<EFBFBD>it<EFBFBD>m p<EFBFBD><EFBFBD>kazu c$ .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<EFBFBD> LEKCE 3
1. Pro vlo<EFBFBD>en<EFBFBD> textu, kter<EFBFBD> byl smaz<EFBFBD>n, napi<EFBFBD> p . To vlo<EFBFBD><EFBFBD> smazan<EFBFBD> text
ZA kurzor (pokud byl <EFBFBD><EFBFBD>dek smazan<EFBFBD>, p<EFBFBD>ejde na <EFBFBD><EFBFBD>dek pod kurzorem).
2. Pro nahrazen<EFBFBD> znaku pod kurzorem, napi<EFBFBD> r a potom znak, kter<EFBFBD>m
chce<EFBFBD> p<EFBFBD>vodn<EFBFBD> znak nahradit.
3. P<EFBFBD><EFBFBD>kaz na upravov<EFBFBD>n<EFBFBD> umo<EFBFBD><EFBFBD>uje zm<EFBFBD>nit specifikovan<EFBFBD> objekt od kurzoru
do konce objektu. Nap<EFBFBD><EFBFBD>klad: Napi<EFBFBD> cw ,<EFBFBD><EFBFBD>m<EFBFBD> zm<EFBFBD>n<EFBFBD><EFBFBD> text od pozice
kurzoru do konce slova, c$ zm<EFBFBD>n<EFBFBD> text do konce <EFBFBD><EFBFBD>dku.
4. Form<EFBFBD>t pro nahrazov<EFBFBD>n<EFBFBD> je:
[<5B><>slo] c objekt NEBO c [<EFBFBD><EFBFBD>slo] objekt
Nyn<EFBFBD> p<EFBFBD>ejdi na n<EFBFBD>sleduj<EFBFBD>c<EFBFBD> lekci.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.1: POZICE A STATUS SOUBORU
** Stla<EFBFBD> CTRL-g pro zobrazen<EFBFBD> sv<EFBFBD> pozice v souboru a statusu souboru.
Stla<EFBFBD> SHIFT-G pro p<EFBFBD>echod na <EFBFBD><EFBFBD>dek v souboru. **
Pozn<EFBFBD>mka: P<EFBFBD>e<EFBFBD>ti si celou lekci ne<EFBFBD> za<EFBFBD>ne<EFBFBD> vykon<EFBFBD>vat kroky!!
1. Dr<EFBFBD> kl<EFBFBD>vesu Ctrl stla<EFBFBD>enou a stiskni g . Vespod obrazovky se zobraz<EFBFBD>
stavov<EFBFBD> <EFBFBD><EFBFBD>dek s n<EFBFBD>zvem souboru a <EFBFBD><EFBFBD>dkou na kter<EFBFBD> se nach<EFBFBD>z<EFBFBD><EFBFBD>. Zapamatuj
si <EFBFBD><EFBFBD>slo <EFBFBD><EFBFBD>dku pro krok 3.
2. Stla<EFBFBD> shift-G pro p<EFBFBD>esun na konec souboru.
3. Napi<EFBFBD> <EFBFBD><EFBFBD>slo <EFBFBD><EFBFBD>dku na kter<EFBFBD>m si se nach<EFBFBD>zel a stla<EFBFBD> shift-G. To t<EFBFBD>
vr<EFBFBD>t<EFBFBD> na <EFBFBD><EFBFBD>dek, na kter<EFBFBD>m jsi d<EFBFBD><EFBFBD>ve stiskl Ctrl-g.
(Kdy<EFBFBD> p<EFBFBD><EFBFBD>e<EFBFBD> <EFBFBD><EFBFBD>sla, tak se NEZOBRAZUJ<EFBFBD> na obrazovce.)
4. Pokud se c<EFBFBD>t<EFBFBD><EFBFBD> schopn<EFBFBD> vykonat tyto kroky, vykonej je.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.2: P<EFBFBD><EFBFBD>KAZ VYHLED<EFBFBD>V<EFBFBD>N<EFBFBD>
** Napi<EFBFBD> / n<EFBFBD>sledovan<EFBFBD> <EFBFBD>et<EFBFBD>zcem pro vyhled<EFBFBD>n<EFBFBD> onoho <EFBFBD>et<EFBFBD>zce. **
1. Stiskni / v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du. V<EFBFBD>imni si, <EFBFBD>e tento znak se spolu s
kurzorem zobraz<EFBFBD> v doln<EFBFBD> <EFBFBD><EFBFBD>sti obrazovky jako p<EFBFBD><EFBFBD>kaz : .
2. Nyn<EFBFBD> napi<EFBFBD> 'chhybba' <ENTER>. To je slovo, kter<EFBFBD> chce<EFBFBD> vyhledat.
3. Pro vyhled<EFBFBD>n<EFBFBD> dal<EFBFBD><EFBFBD>ho v<EFBFBD>sledku stejn<EFBFBD>ho <EFBFBD>et<EFBFBD>zce, jednodu<EFBFBD>e stla<EFBFBD> n .
Pro vyhled<EFBFBD>n<EFBFBD> dal<EFBFBD><EFBFBD>ho v<EFBFBD>sledku stejn<EFBFBD>ho <EFBFBD>et<EFBFBD>zce opa<EFBFBD>n<EFBFBD>m sm<EFBFBD>rem, stiskni
Shift-N.
4. Pokud chce<EFBFBD> vyhledat <EFBFBD>et<EFBFBD>zec v opa<EFBFBD>n<EFBFBD>m sm<EFBFBD>ru, pou<EFBFBD>ij p<EFBFBD><EFBFBD>kaz ? m<EFBFBD>sto
p<EFBFBD><EFBFBD>kazu / .
---> "chhybba" nen<EFBFBD> zp<EFBFBD>sob, jak hl<EFBFBD>skovat chyba; chhybba je chyba.
Pozn<EFBFBD>mka: Kdy<EFBFBD> vyhled<EFBFBD>v<EFBFBD>n<EFBFBD> dos<EFBFBD>hne konce souboru, bude pokra<EFBFBD>ovat na jeho
za<EFBFBD><EFBFBD>tku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.3: VYHLED<EFBFBD>V<EFBFBD>N<EFBFBD> P<EFBFBD>ROV<EFBFBD> Z<EFBFBD>VORKY
** Napi<EFBFBD> % pro nalezen<EFBFBD> p<EFBFBD>rov<EFBFBD> ),], nebo } . **
1. P<EFBFBD>em<EFBFBD>sti kurzor na kteroukoli (, [, nebo { v <EFBFBD><EFBFBD>dku ozna<EFBFBD>en<EFBFBD>m --->.
2. Nyn<EFBFBD> napi<EFBFBD> znak % .
3. Kurzor se p<EFBFBD>em<EFBFBD>st<EFBFBD> na odpov<EFBFBD>daj<EFBFBD>c<EFBFBD> z<EFBFBD>vorku.
4. Stla<EFBFBD> % pro p<EFBFBD>esun kurzoru zp<EFBFBD>t na otv<EFBFBD>raj<EFBFBD>c<EFBFBD> z<EFBFBD>vorku.
---> Toto ( je testovac<EFBFBD> <EFBFBD><EFBFBD>dek ('s, ['s ] a {'s } v n<EFBFBD>m. ))
Pozn<EFBFBD>mka: Toto je velmi u<EFBFBD>ite<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD> lad<EFBFBD>n<EFBFBD> programu s chyb<EFBFBD>j<EFBFBD>c<EFBFBD>mi
uzav<EFBFBD>rac<EFBFBD>mi z<EFBFBD>vorkami.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.4: ZP<EFBFBD>SOB JAK ZM<EFBFBD>NIT CHYBY
** Napi<EFBFBD> :s/star<EFBFBD>/nov<EFBFBD>/g pro nahrazen<EFBFBD> slova 'nov<EFBFBD>' za 'star<EFBFBD>'. **
1. P<EFBFBD>esu<EFBFBD> kurzor na <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. Napi<EFBFBD> :s/dobr<EFBFBD><EFBFBD>/dobr<EFBFBD> <ENTER> . V<EFBFBD>imni si, <EFBFBD>e tento p<EFBFBD><EFBFBD>kaz zm<EFBFBD>n<EFBFBD> pouze
prvn<EFBFBD> v<EFBFBD>skyt v <EFBFBD><EFBFBD>dku.
3. Nyn<EFBFBD> napi<EFBFBD> :s/dobr<EFBFBD><EFBFBD>/dobr<EFBFBD>/g co<EFBFBD> znamen<EFBFBD> celkov<EFBFBD> nahrazen<EFBFBD> v <EFBFBD><EFBFBD>dku.
Toto nahrad<EFBFBD> v<EFBFBD>echny v<EFBFBD>skyty v <EFBFBD><EFBFBD>dku.
---> dobr<EFBFBD><EFBFBD> suroviny a dobr<EFBFBD><EFBFBD> n<EFBFBD><EFBFBD>in<EFBFBD> jsou z<EFBFBD>kladem dobr<EFBFBD><EFBFBD> kuchyn<EFBFBD>.
4. Pro zm<EFBFBD>nu v<EFBFBD>ech v<EFBFBD>skyt<EFBFBD> <EFBFBD>et<EFBFBD>zce mezi dv<EFBFBD>ma <EFBFBD><EFBFBD>dky,
Napi<EFBFBD> :#,#s/star<EFBFBD>/nov<EFBFBD>/g kde #,# jsou <EFBFBD><EFBFBD>sla on<EFBFBD>ch <EFBFBD><EFBFBD>dek.
Napi<EFBFBD> :%s/star<EFBFBD>/nov<EFBFBD>/g pro zm<EFBFBD>nu v<EFBFBD>ech v<EFBFBD>skyt<EFBFBD> v cel<EFBFBD>m souboru.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<EFBFBD> LEKCE 4
1. Ctrl-g vyp<EFBFBD><EFBFBD>e tvou pozici v souboru a status souboru.
Shift-G t<EFBFBD> p<EFBFBD>em<EFBFBD>st<EFBFBD> na konec souboru. <EFBFBD><EFBFBD>slo n<EFBFBD>sledovan<EFBFBD>
Shift-G t<EFBFBD> p<EFBFBD>esune na dan<EFBFBD> <EFBFBD><EFBFBD>slo <EFBFBD><EFBFBD>dku.
2. Naps<EFBFBD>n<EFBFBD> / n<EFBFBD>sledovan<EFBFBD> <EFBFBD>et<EFBFBD>zcem vyhled<EFBFBD> <EFBFBD>et<EFBFBD>zec sm<EFBFBD>rem DOP<EFBFBD>EDU.
Naps<EFBFBD>n<EFBFBD> ? n<EFBFBD>sledovan<EFBFBD> <EFBFBD>et<EFBFBD>zcem vyhled<EFBFBD> <EFBFBD>et<EFBFBD>zec sm<EFBFBD>rem DOZADU.
Naps<EFBFBD>n<EFBFBD> n po vyhled<EFBFBD>v<EFBFBD>n<EFBFBD> najde n<EFBFBD>sleduj<EFBFBD>c<EFBFBD> v<EFBFBD>skyt <EFBFBD>et<EFBFBD>zce ve stejn<EFBFBD>m
sm<EFBFBD>ru, Shift-N ve sm<EFBFBD>ru opa<EFBFBD>n<EFBFBD>m.
3. Stisknut<EFBFBD> % kdy<EFBFBD> je kurzor na (,),[,],{, nebo } najde odpov<EFBFBD>daj<EFBFBD>c<EFBFBD>
p<EFBFBD>rovou z<EFBFBD>vorku.
4. Pro nahrazen<EFBFBD> nov<EFBFBD>ho za prvn<EFBFBD> star<EFBFBD> v <EFBFBD><EFBFBD>dku napi<EFBFBD> :s/star<EFBFBD>/nov<EFBFBD>
Pro nahrazen<EFBFBD> nov<EFBFBD>ho za v<EFBFBD>echny star<EFBFBD> v <EFBFBD><EFBFBD>dku napi<EFBFBD> :s/star<EFBFBD>/nov<EFBFBD>/g
Pro nahrazen<EFBFBD> <EFBFBD>et<EFBFBD>zc<EFBFBD> mezi dv<EFBFBD>mi <EFBFBD><EFBFBD>dkami # napi<EFBFBD> :#,#s/star<EFBFBD>/nov<EFBFBD>/g
Pro nahrazen<EFBFBD> v<EFBFBD>ech v<EFBFBD>skyt<EFBFBD> v souboru napi<EFBFBD> :%s/star<EFBFBD>/nov<EFBFBD>/g
Pro potvrzen<EFBFBD> ka<EFBFBD>d<EFBFBD>ho nahrazen<EFBFBD> p<EFBFBD>idej 'c' :%s/star<EFBFBD>/nov<EFBFBD>/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.1: JAK VYKONAT VN<EFBFBD>J<EFBFBD><EFBFBD> P<EFBFBD><EFBFBD>KAZ
** Napi<EFBFBD> :! n<EFBFBD>sledovan<EFBFBD> vn<EFBFBD>j<EFBFBD><EFBFBD>m p<EFBFBD><EFBFBD>kazem pro spu<EFBFBD>t<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD>kazu. **
1. Napi<EFBFBD> obvykl<EFBFBD> p<EFBFBD><EFBFBD>kaz : , kter<EFBFBD> um<EFBFBD>st<EFBFBD> kurzor na spodek obrazovky
To umo<EFBFBD>n<EFBFBD> napsat p<EFBFBD><EFBFBD>kaz.
2. Nyn<EFBFBD> stiskni ! (vyk<EFBFBD>i<EFBFBD>n<EFBFBD>k). To umo<EFBFBD>n<EFBFBD> vykonat jak<EFBFBD>koliv vn<EFBFBD>j<EFBFBD><EFBFBD>
p<EFBFBD><EFBFBD>kaz z p<EFBFBD><EFBFBD>kazov<EFBFBD>ho <EFBFBD><EFBFBD>dku.
3. Nap<EFBFBD><EFBFBD>klad napi<EFBFBD> ls za ! a stiskni <ENTER>. Tento p<EFBFBD><EFBFBD>kaz zobraz<EFBFBD>
obsah tv<EFBFBD>ho adres<EFBFBD><EFBFBD>e jako v p<EFBFBD><EFBFBD>kazov<EFBFBD>m <EFBFBD><EFBFBD>dku.
Vyzkou<EFBFBD>ej :!dir pokud ls nefunguje.
Pozn<EFBFBD>mka: Takto je mo<EFBFBD>n<EFBFBD> vykonat jak<EFBFBD>koliv p<EFBFBD><EFBFBD>kaz.
Pozn<EFBFBD>mka: V<EFBFBD>echny p<EFBFBD><EFBFBD>kazy : mus<EFBFBD> b<EFBFBD>t dokon<EFBFBD>en<EFBFBD> stisknut<EFBFBD>m <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.2: V<EFBFBD>CE O UKL<EFBFBD>D<EFBFBD>N<EFBFBD> SOUBOR<EFBFBD>
** Pro ulo<EFBFBD>en<EFBFBD> zm<EFBFBD>n v souboru napi<EFBFBD> :w SOUBOR. **
1. Napi<EFBFBD> :!dir nebo :!ls pro v<EFBFBD>pis aktu<EFBFBD>ln<EFBFBD>ho adres<EFBFBD><EFBFBD>e.
U<EFBFBD> v<EFBFBD><EFBFBD>, <EFBFBD>e za t<EFBFBD>mto mus<EFBFBD><EFBFBD> stisknout <ENTER>.
2. Vyber si n<EFBFBD>zev souboru, kter<EFBFBD> je<EFBFBD>t<EFBFBD> neexistuje, nap<EFBFBD><EFBFBD>klad TEST.
3. Nyn<EFBFBD> napi<EFBFBD>: :w TEST (kde TEST je vybran<EFBFBD> n<EFBFBD>zev souboru.)
4. To ulo<EFBFBD><EFBFBD> cel<EFBFBD> soubor (V<EFBFBD>uka Vimu) pod n<EFBFBD>zvem TEST.
Pro ov<EFBFBD><EFBFBD>en<EFBFBD> napi<EFBFBD> znovu :!dir , <EFBFBD><EFBFBD>m<EFBFBD> zobraz<EFBFBD><EFBFBD> obsah adres<EFBFBD><EFBFBD>e.
Pozn<EFBFBD>mka: Jakmile ukon<EFBFBD><EFBFBD><EFBFBD> Vim a znovu ho spust<EFBFBD><EFBFBD> s n<EFBFBD>zvem souboru TEST,
soubor bude p<EFBFBD>esn<EFBFBD> kopie v<EFBFBD>uky, kdy<EFBFBD> si ji ukl<EFBFBD>dal.
5. Nyn<EFBFBD> odstra<EFBFBD> soubor naps<EFBFBD>n<EFBFBD>m (MS-DOS): :!del TEST
nebo (Unix): :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.3: V<EFBFBD>B<EFBFBD>ROV<EFBFBD> P<EFBFBD><EFBFBD>KAZ ULO<EFBFBD>EN<EFBFBD>
** Pro ulo<EFBFBD>en<EFBFBD> <EFBFBD><EFBFBD>sti souboru napi<EFBFBD> :#,# w SOUBOR **
1. Je<EFBFBD>t<EFBFBD> jednou napi<EFBFBD> :!dir nebo :!ls pro v<EFBFBD>pis aktu<EFBFBD>ln<EFBFBD>ho adres<EFBFBD><EFBFBD>e
a vyber vhodn<EFBFBD> n<EFBFBD>zev souboru jako nap<EFBFBD>. TEST.
2. P<EFBFBD>esu<EFBFBD> kurzor na vrch t<EFBFBD>to str<EFBFBD>nky a stiskni Ctrl-g pro zobrazen<EFBFBD>
<EFBFBD><EFBFBD>sla <EFBFBD><EFBFBD>dku. ZAPAMATUJ SI TOTO <EFBFBD><EFBFBD>SLO!
3. Nyn<EFBFBD> se p<EFBFBD>esu<EFBFBD> na spodek t<EFBFBD>to str<EFBFBD>nky a op<EFBFBD>t stiskni Ctrl-g.
ZAPAMATUJ SI I <EFBFBD><EFBFBD>SLO TOHOTO <EFBFBD><EFBFBD>DKU!
4. Pro ulo<EFBFBD>en<EFBFBD> POUZE <EFBFBD><EFBFBD>sti souboru, napi<EFBFBD> :#,# w TEST kde #,# jsou
<EFBFBD><EFBFBD>sla dvou zapamatovan<EFBFBD>ch <EFBFBD><EFBFBD>dk<EFBFBD> (vrch, spodek) a TEST je n<EFBFBD>zev souboru.
5. Znova se ujisti, <EFBFBD>e tam ten soubor je pomoc<EFBFBD> :!dir ale NEODSTRA<EFBFBD>UJ ho.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.4: SLU<EFBFBD>OV<EFBFBD>N<EFBFBD> SOUBOR<EFBFBD>
** K vlo<EFBFBD>en<EFBFBD> obsahu souboru napi<EFBFBD> :r N<EFBFBD>ZEV_SOUBORU **
1. Napi<EFBFBD> :!dir pro uji<EFBFBD>t<EFBFBD>n<EFBFBD>, <EFBFBD>e soubor TEST st<EFBFBD>le existuje.
2. P<EFBFBD>esu<EFBFBD> kurzor na vrch t<EFBFBD>to str<EFBFBD>nky.
POZN<EFBFBD>MKA: Po vykon<EFBFBD>n<EFBFBD> kroku 3 uvid<EFBFBD><EFBFBD> lekci 5.3. Potom se op<EFBFBD>t p<EFBFBD>esu<EFBFBD> dol<EFBFBD>
na tuto lekci.
3. Nyn<EFBFBD> vlo<EFBFBD> soubor TEST pou<EFBFBD>it<EFBFBD>m p<EFBFBD><EFBFBD>kazu :r TEST kde TEST je n<EFBFBD>zev
souboru.
POZN<EFBFBD>MKA: Soubor, kter<EFBFBD> vkl<EFBFBD>d<EFBFBD><EFBFBD> se vlo<EFBFBD><EFBFBD> od m<EFBFBD>sta, kde se nach<EFBFBD>z<EFBFBD> kurzor.
4. Pro potvrzen<EFBFBD> vlo<EFBFBD>en<EFBFBD> souboru, p<EFBFBD>esu<EFBFBD> kurzor zp<EFBFBD>t a v<EFBFBD>imni si, <EFBFBD>e te<EFBFBD>
m<EFBFBD><EFBFBD> dv<EFBFBD> kopie lekce 5.3, origin<EFBFBD>l a souborovou verzi.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<EFBFBD> LEKCE 5
1. :!p<EFBFBD><EFBFBD>kaz vykon<EFBFBD> vn<EFBFBD>j<EFBFBD><EFBFBD> p<EFBFBD><EFBFBD>kaz.
N<EFBFBD>kter<EFBFBD> u<EFBFBD>ite<EFBFBD>n<EFBFBD> p<EFBFBD><EFBFBD>klady jsou:
(MS-DOS) (Unix)
:!dir :!ls - zobraz<EFBFBD> obsah souboru.
:!del SOUBOR :!rm SOUBOR - odstran<EFBFBD> SOUBOR.
2. :w SOUBOR ulo<EFBFBD><EFBFBD> aktu<EFBFBD>ln<EFBFBD> text jako SOUBOR na disk.
3. :#,#w SOUBOR ulo<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>dky od # do # do SOUBORU.
4. :r SOUBOR vybere z disku SOUBOR a vlo<EFBFBD><EFBFBD> ho do editovan<EFBFBD>ho souboru
za pozici kurzoru.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.1: P<EFBFBD><EFBFBD>KAZ OTEV<EFBFBD><EFBFBD>T
** Napi<EFBFBD> o pro vlo<EFBFBD>en<EFBFBD> <EFBFBD><EFBFBD>dku pod kurzor a p<EFBFBD>epnut<EFBFBD> do Vkl<EFBFBD>dac<EFBFBD>ho m<EFBFBD>du. **
1. P<EFBFBD>em<EFBFBD>sti kurzor n<EFBFBD><EFBFBD>e na <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. Napi<EFBFBD> o (mal<EFBFBD>) pro vlo<EFBFBD>en<EFBFBD> <EFBFBD><EFBFBD>dku POD kurzor a p<EFBFBD>epnut<EFBFBD> do
Vkl<EFBFBD>dac<EFBFBD>ho m<EFBFBD>du.
3. Nyn<EFBFBD> zkop<EFBFBD>ruj <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> ---> a stiskni <ESC> pro ukon<EFBFBD>en<EFBFBD>
Vkl<EFBFBD>dac<EFBFBD>ho m<EFBFBD>du.
---> Po stisknut<EFBFBD> o se kurzor p<EFBFBD>em<EFBFBD>st<EFBFBD> na vlo<EFBFBD>en<EFBFBD> <EFBFBD><EFBFBD>dek do Vkl<EFBFBD>dac<EFBFBD>ho
m<EFBFBD>du.
4. Pro otev<EFBFBD>en<EFBFBD> <EFBFBD><EFBFBD>dku NAD kurzorem jednodu<EFBFBD>e napi<EFBFBD> velk<EFBFBD> O , m<EFBFBD>sto
mal<EFBFBD>ho o. Vyzkou<EFBFBD>ej si to na n<EFBFBD>sleduj<EFBFBD>c<EFBFBD>m <EFBFBD><EFBFBD>dku.
Vlo<EFBFBD> <EFBFBD><EFBFBD>dek nad t<EFBFBD>mto naps<EFBFBD>n<EFBFBD>m Shift-O po um<EFBFBD>st<EFBFBD>n<EFBFBD> kurzoru na tento <EFBFBD><EFBFBD>dek.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.2: P<EFBFBD><EFBFBD>KAZ P<EFBFBD>IDAT
** Stiskni a pro vlo<EFBFBD>en<EFBFBD> textu ZA kurzor. **
1. P<EFBFBD>esu<EFBFBD> kurzor na n<EFBFBD><EFBFBD>e na konec <EFBFBD><EFBFBD>dky ozna<EFBFBD>en<EFBFBD> --->
stisknut<EFBFBD>m $ v Norm<EFBFBD>ln<EFBFBD>m m<EFBFBD>du.
2. Stiskni a (mal<EFBFBD>) pro p<EFBFBD>id<EFBFBD>n<EFBFBD> textu ZA znak, kter<EFBFBD> je pod kurzorem.
(Velk<EFBFBD> A p<EFBFBD>id<EFBFBD> na konec <EFBFBD><EFBFBD>dku.)
Pozn<EFBFBD>mka: T<EFBFBD>mto se vyhne<EFBFBD> stisknut<EFBFBD> i , posledn<EFBFBD>ho znaku, textu na vlo<EFBFBD>en<EFBFBD>,
<ESC>, kurzor doprava, a nakonec x na p<EFBFBD>id<EFBFBD>v<EFBFBD>n<EFBFBD> na konec <EFBFBD><EFBFBD>dku!
3. Nyn<EFBFBD> dokon<EFBFBD><EFBFBD> prvn<EFBFBD> <EFBFBD><EFBFBD>dek. V<EFBFBD>imni si, <EFBFBD>e p<EFBFBD>id<EFBFBD>v<EFBFBD>n<EFBFBD> je vlastn<EFBFBD> stejn<EFBFBD> jako
Vkl<EFBFBD>dac<EFBFBD> m<EFBFBD>d, krom<EFBFBD> m<EFBFBD>sta, kam se text vkl<EFBFBD>d<EFBFBD>.
---> Tento <EFBFBD><EFBFBD>dek ti umo<EFBFBD><EFBFBD>uje nacvi<EFBFBD>it
---> Tento <EFBFBD><EFBFBD>dek ti umo<EFBFBD><EFBFBD>uje nacvi<EFBFBD>it p<EFBFBD>id<EFBFBD>v<EFBFBD>n<EFBFBD> textu na konec <EFBFBD><EFBFBD>dky.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.3: JIN<EFBFBD> ZP<EFBFBD>SOB NAHRAZOV<EFBFBD>N<EFBFBD>
** Napi<EFBFBD> velk<EFBFBD> R pro nahrazen<EFBFBD> v<EFBFBD>c ne<EFBFBD> jednoho znaku. **
1. P<EFBFBD>esu<EFBFBD> kurzor na prvn<EFBFBD> <EFBFBD><EFBFBD>dek ozna<EFBFBD>en<EFBFBD> --->.
2. Um<EFBFBD>sti kurzor na za<EFBFBD><EFBFBD>tek prvn<EFBFBD>ho slova, kter<EFBFBD> je odli<EFBFBD>n<EFBFBD> od druh<EFBFBD>ho
<EFBFBD><EFBFBD>dku ozna<EFBFBD>en<EFBFBD>ho ---> (slovo 'posledn<EFBFBD>').
3. Nyn<EFBFBD> stiskni R a nahra<EFBFBD> zbytek textu na prvn<EFBFBD>m <EFBFBD><EFBFBD>dku p<EFBFBD>eps<EFBFBD>n<EFBFBD>m
star<EFBFBD>ho textu tak, aby byl prvn<EFBFBD> <EFBFBD><EFBFBD>dek stejn<EFBFBD> jako ten druh<EFBFBD>.
---> Pro upraven<EFBFBD> prvn<EFBFBD>ho <EFBFBD><EFBFBD>dku do tvaru toho posledn<EFBFBD> na stran<EFBFBD> pou<EFBFBD>ij kl.
---> Pro upraven<EFBFBD> prvn<EFBFBD>ho <EFBFBD><EFBFBD>dku do tvaru toho druh<EFBFBD>ho, napi<EFBFBD> R a nov<EFBFBD> text.
4. V<EFBFBD>imni si, <EFBFBD>e jakmile stiskne<EFBFBD> <ESC> v<EFBFBD>echen nezm<EFBFBD>n<EFBFBD>n<EFBFBD> text z<EFBFBD>st<EFBFBD>v<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.4: NASTAVEN<EFBFBD> MO<EFBFBD>NOST<EFBFBD>
** Nastav mo<EFBFBD>nost, <EFBFBD>e vyhled<EFBFBD>v<EFBFBD>n<EFBFBD> anebo nahrazov<EFBFBD>n<EFBFBD> nedb<EFBFBD> velikosti p<EFBFBD>smen **
1. Vyhledej <EFBFBD>et<EFBFBD>zec 'ignore' naps<EFBFBD>n<EFBFBD>m:
/ignore
Zopakuj n<EFBFBD>kolikr<EFBFBD>t stisknut<EFBFBD> kl<EFBFBD>vesy n.
2. Nastav mo<EFBFBD>nost 'ic' (Ignore case) naps<EFBFBD>n<EFBFBD>m p<EFBFBD><EFBFBD>kazu:
:set ic
3. Nyn<EFBFBD> znovu vyhledej 'ignore' stisknut<EFBFBD>m: n
N<EFBFBD>kolikr<EFBFBD>t hled<EFBFBD>n<EFBFBD> zopakuj stisknut<EFBFBD>m kl<EFBFBD>vesy n.
4. Nastav mo<EFBFBD>nosti 'hlsearch' a 'incsearch':
:set hls is
5. Nyn<EFBFBD> znovu vykonej vyhled<EFBFBD>vac<EFBFBD> p<EFBFBD><EFBFBD>kaz a sleduj, co se stane:
/ignore
6. Pro vypnut<EFBFBD> zv<EFBFBD>raz<EFBFBD>ov<EFBFBD>n<EFBFBD> v<EFBFBD>sledk<EFBFBD> napi<EFBFBD>:
:nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRHNUT<EFBFBD> LEKCE 6
1. Stisknut<EFBFBD> o otev<EFBFBD>e nov<EFBFBD> <EFBFBD><EFBFBD>dek POD kurzorem a um<EFBFBD>st<EFBFBD> kurzor na vlo<EFBFBD>en<EFBFBD>
<EFBFBD><EFBFBD>dek do Vkl<EFBFBD>dac<EFBFBD>ho m<EFBFBD>du.
Naps<EFBFBD>n<EFBFBD> velk<EFBFBD>ho O otev<EFBFBD>e <EFBFBD><EFBFBD>dek NAD <EFBFBD><EFBFBD>dkem, na kter<EFBFBD>m je kurzor.
2. Stiskni a pro vlo<EFBFBD>en<EFBFBD> textu ZA znak na pozici kurzoru.
Naps<EFBFBD>n<EFBFBD> velk<EFBFBD>ho A automaticky p<EFBFBD>id<EFBFBD> text na konec <EFBFBD><EFBFBD>dku.
3. Stisknut<EFBFBD> velk<EFBFBD>ho R p<EFBFBD>epne do Nahrazovac<EFBFBD>ho m<EFBFBD>du, dokud
nestiskne<EFBFBD> <ESC> pro jeho ukon<EFBFBD>en<EFBFBD>.
4. Naps<EFBFBD>n<EFBFBD> ":set xxx" nastav<EFBFBD> mo<EFBFBD>nosti "xxx".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCE 7: P<EFBFBD><EFBFBD>KAZY ON-LINE N<EFBFBD>POV<EFBFBD>DY
** Pou<EFBFBD><EFBFBD>vej on-line syst<EFBFBD>m n<EFBFBD>pov<EFBFBD>dy **
Vim m<EFBFBD> obs<EFBFBD>hl<EFBFBD> on-line syst<EFBFBD>m n<EFBFBD>pov<EFBFBD>dy. Pro za<EFBFBD><EFBFBD>tek vyzkou<EFBFBD>ej jeden z
n<EFBFBD>sleduj<EFBFBD>c<EFBFBD>ch:
- stiskni kl<EFBFBD>vesu <HELP> (pokud ji m<EFBFBD><EFBFBD>)
- stiskni kl<EFBFBD>vesu <F1> (pokud ji m<EFBFBD><EFBFBD>)
- napi<EFBFBD> :help <ENTER>
Napi<EFBFBD> :q <ENTER> pro uzav<EFBFBD>en<EFBFBD> okna n<EFBFBD>pov<EFBFBD>dy.
M<EFBFBD><EFBFBD>e<EFBFBD> naj<EFBFBD>t n<EFBFBD>pov<EFBFBD>du k jak<EFBFBD>mukoliv t<EFBFBD>matu p<EFBFBD>id<EFBFBD>n<EFBFBD>m argumentu k
p<EFBFBD><EFBFBD>kazu ":help". Zkus tyto (nezapome<EFBFBD> stisknout <ENTER>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCE 8: VYTVO<EFBFBD>EN<EFBFBD> INICIALIZA<EFBFBD>N<EFBFBD>HO SKRIPTU
** Zapni funkce editoru Vim **
Vim m<EFBFBD> daleko v<EFBFBD>ce funkc<EFBFBD> ne<EFBFBD> Vi, ale v<EFBFBD>t<EFBFBD>ina z nich je vypnuta ve v<EFBFBD>choz<EFBFBD>m
nastaven<EFBFBD>. Pro zapnut<EFBFBD> n<EFBFBD>kter<EFBFBD>ch vytvo<EFBFBD> soubor "vimrc".
1. Za<EFBFBD>ni upravovat soubor "vimrc". Toto z<EFBFBD>vis<EFBFBD> na pou<EFBFBD>it<EFBFBD>m syst<EFBFBD>mu:
:edit ~/.vimrc pro Unix
:edit $VIM/_vimrc pro MS-Windows
2. Nyn<EFBFBD> <EFBFBD>ti uk<EFBFBD>zkov<EFBFBD> "vimrc" soubor:
:read $VIMRUNTIME/vimrc_example.vim
3. Ulo<EFBFBD> soubor pomoc<EFBFBD>:
:write
Po p<EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>m startu Vim se zapne zv<EFBFBD>raz<EFBFBD>ov<EFBFBD>n<EFBFBD> syntaxe.
Do souboru "vimrc" m<EFBFBD><EFBFBD>e<EFBFBD> p<EFBFBD>idat v<EFBFBD>echny svoje up<EFBFBD>ednost<EFBFBD>ovan<EFBFBD> nastaven<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Toto ukon<EFBFBD>uje v<EFBFBD>uku Vim, kter<EFBFBD> byla my<EFBFBD>len<EFBFBD> jako stru<EFBFBD>n<EFBFBD> p<EFBFBD>ehled
editoru Vim, tak akor<EFBFBD>t posta<EFBFBD>uj<EFBFBD>c<EFBFBD> pro lehk<EFBFBD> a obstojn<EFBFBD> pou<EFBFBD><EFBFBD>v<EFBFBD>n<EFBFBD> editoru.
Tato v<EFBFBD>uka m<EFBFBD> daleko od <EFBFBD>plnosti, proto<EFBFBD>e Vim obsahuje podstatn<EFBFBD> v<EFBFBD>ce
p<EFBFBD><EFBFBD>kaz<EFBFBD>. D<EFBFBD>le si p<EFBFBD>e<EFBFBD>ti u<EFBFBD>ivatelsk<EFBFBD> manu<EFBFBD>l: ":help user-manual".
Pro dal<EFBFBD><EFBFBD> studium je doporu<EFBFBD>en<EFBFBD> kniha:
Vim - Vi Improved - od Steve Oualline
Nakladatel: New Riders
Prvn<EFBFBD> kniha ur<EFBFBD>en<EFBFBD> pro Vim. Obzvl<EFBFBD><EFBFBD>t<EFBFBD> vhodn<EFBFBD> pro za<EFBFBD><EFBFBD>te<EFBFBD>n<EFBFBD>ky.
Obsahuje mno<EFBFBD>stv<EFBFBD> p<EFBFBD><EFBFBD>klad<EFBFBD> a obr<EFBFBD>zk<EFBFBD>.
viz http://iccf-holland.org/click5.html
Tato kniha je star<EFBFBD><EFBFBD> a v<EFBFBD>ce v<EFBFBD>novan<EFBFBD> Vi ne<EFBFBD> Vim, ale tak<EFBFBD> doporu<EFBFBD>en<EFBFBD>:
Learning the Vi Editor - od Linda Lamb
Nakladatel: O'Reilly & Associates Inc.
Je to dobr<EFBFBD> kniha pro z<EFBFBD>sk<EFBFBD>n<EFBFBD> v<EFBFBD>domost<EFBFBD> t<EFBFBD>m<EFBFBD><EFBFBD> o v<EFBFBD>em, co m<EFBFBD><EFBFBD>ete s Vi d<EFBFBD>lat.
<EFBFBD>est<EFBFBD> vyd<EFBFBD>n<EFBFBD> obsahuje t<EFBFBD><EFBFBD> informace o Vim.
Tato v<EFBFBD>uka byla napsan<EFBFBD> autory Michael C. Pierce a Robert K. Ware,
Colorado School of Mines s pou<EFBFBD>it<EFBFBD>m my<EFBFBD>lenek od: Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Upravil pro Vim: Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
P<EFBFBD>eklad do <EFBFBD>e<EFBFBD>tiny: Lubo<EFBFBD> Turek
E-Mail: lubos.turek@gmail.com
2007 Feb 28

View File

@ -1,812 +0,0 @@
===============================================================================
= V <20> t e j t e v t u t o r i a l u V I M - Verze 1.5 =
===============================================================================
Vim je velmi v<>konn<6E> editor, kter<65> m<> p<><70>li<6C> mnoho p<><70>kaz<61> na to, aby
mohly b<>t v<>echny vysv<73>tlen<65> ve v<>uce jako tato. Tato v<>uka obsahuje
dostate<74>n<EFBFBD> mno<6E>stv<74> p<><70>kaz<61> na to, aby bylo mo<6D>n<EFBFBD> pou<6F><75>vat Vim jako
v<>ce<63><65>elov<6F> editor.
P<>ibli<6C>n<EFBFBD> <20>as pot<6F>ebn<62> ke zvl<76>dnut<75> t<>to v<>uky je 25-30 minut, z<>le<6C><65>
na tom, kolik <20>asu str<74>v<EFBFBD>te p<>ezku<6B>ov<6F>n<EFBFBD>m.
P<><50>kazy v lekc<6B>ch upravuj<75> text. Vytvo<76> kopii tohoto souboru pro
procvi<76>ov<6F>n<EFBFBD> (p<>i startu "vimtutor" je ji<6A> toto kopie).
Je d<>le<6C>it<69> pamatovat, <20>e tato v<>uka je vytvo<76>ena pro v<>uku pou<6F><75>v<EFBFBD>n<EFBFBD>m.
To znamen<65>, <20>e je pot<6F>eba si p<><70>kazy vyzkou<6F>et pro jejich spr<70>vn<76>
nau<61>en<65>. Pokud si jen <20>te<74> text, p<><70>kazy zapomene<6E>!
Nyn<79> se p<>esv<73>d<EFBFBD>te, <20>e Shift-Lock NEN<45> stla<6C>en<65> a n<>kolikr<6B>t stiskn<6B>te
kl<6B>vesu j aby se kurzor posunul natolik, <20>e lekce 1.1 zapln<6C> celou
obrazovku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.1: POHYB KURZORU
** Pro pohyb kurzoru pou<6F><75>vej kl<6B>vesy h,j,k,l jak je zn<7A>zorn<72>no n<><6E>e. **
^
k Funkce: Kl<4B>vesa h je vlevo a vykon<6F> pohyb vlevo.
< h l > Kl<4B>vesa l je vpravo a vykon<6F> pohyb vpravo.
j Kl<4B>vesa j vypad<61> na <20>ipku dolu.
v
1. Pohybuj kurzorem po obrazovce dokud si na to nezvykne<6E>.
2. Dr<44> kl<6B>vesu pro pohyb dolu (j), dokud se jej<65> funkce nezopakuje.
---> Te<54> v<><76> jak se p<>esunout na n<>sleduj<75>c<EFBFBD> lekci.
3. Pou<6F>it<69>m kl<6B>vesy dolu p<>ejdi na lekci 1.2.
Pozn<EFBFBD>mka: Pokud si n<>kdy nejsi jist n<><6E><EFBFBD>m, co jsi napsal, stla<6C> <ESC> pro
p<>echod do Norm<72>ln<6C>ho m<>du. Pot<6F> p<>epi<70> po<70>adovan<61> p<><70>kaz.
Pozn<EFBFBD>mka: Kurzorov<6F> kl<6B>vesy tak<61> funguj<75>, av<61>ak pou<6F><75>v<EFBFBD>n<EFBFBD> hjkl je rychlej<65><6A>
jakmile si na n<>j zvykne<6E>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.2: SPU<50>T<EFBFBD>N<EFBFBD> A UKON<4F>EN<45> VIM
!! POZN<5A>MKA: P<>ed vykon<6F>n<EFBFBD>m t<>chto krok<6F> si p<>e<EFBFBD>ti celou lekci!!
1. Stla<6C> <ESC> (pro uji<6A>t<EFBFBD>n<EFBFBD>, <20>e se nach<63>z<EFBFBD><7A> v Norm<72>ln<6C>m m<>du).
2. Napi<70>: :q! <ENTER>.
---> T<>mto ukon<6F><6E><EFBFBD> editor BEZ ulo<6C>en<65> zm<7A>n, kter<65> si vykonal.
Pokud chce<63> ulo<6C>it zm<7A>ny a ukon<6F>it editor napi<70>:
:wq <ENTER>
3. A<> se dostane<6E> na p<><70>kazov<6F> <20><>dek, napi<70> p<><70>kaz, kter<65>m se dostane<6E> zp<7A>t
do t<>to v<>uky. To m<><6D>e b<>t: vimtutor <ENTER>
B<><42>n<EFBFBD> se pou<6F><75>v<EFBFBD>: vim tutor <ENTER>
---> 'vim' znamen<65> spu<70>t<EFBFBD>n<EFBFBD> editoru, 'tutor' je soubor k editaci.
4. Pokud si tyto kroky spolehliv<69> pamatuje<6A>, vykonej kroky 1 a<> 3, <20><>m<EFBFBD>
ukon<6F><6E><EFBFBD> a znovu spust<73><74> editor. Potom p<>esu<73> kurzor dolu na lekci 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.3: <20>PRAVA TEXTU - MAZ<41>N<EFBFBD>
** Stisknut<75>m kl<6B>vesy x v Norm<72>ln<6C>m m<>du sma<6D>e<EFBFBD> znak na m<>st<73> kurzoru. **
1. P<>esu<73> kurzor n<><6E>e na <20><>dek ozna<6E>en<65> --->.
2. K odstran<61>n<EFBFBD> chyb p<>ejdi kurzorem na znak, kter<65> chce<63> smazat.
3. Stla<6C> kl<6B>vesu x k odstran<61>n<EFBFBD> necht<68>n<EFBFBD>ch znak<61>.
4. Opakuj kroky 2 a<> 4 dokud nen<65> v<>ta spr<70>vn<76>.
---> Kr<4B><72>va sko<6B><6F>illa p<>ess m<>ss<73>c.
5. Pokud je v<>ta spr<70>vn<76>, p<>ejdi na lekci 1.4.
POZN<EFBFBD>MKA: Nesna<6E> se pouze zapamatovat p<>edv<64>d<EFBFBD>n<EFBFBD> p<><70>kazy, u<> se je pou<6F><75>v<EFBFBD>n<EFBFBD>m.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.4: <20>PRAVA TEXTU - VKL<4B>D<EFBFBD>N<EFBFBD>
** Stla<6C>en<65> kl<6B>vesy i v Norm<72>ln<6C>m m<>du umo<6D><6F>uje vkl<6B>d<EFBFBD>n<EFBFBD> textu. **
1. P<>esu<73> kurzor na prvn<76> <20><>dek ozna<6E>en<65> --->.
2. Pro upraven<65> prvn<76>ho <20><>dku do podoby <20><>dku druh<75>ho, p<>esu<73> kurzor na
prvn<76> znak za m<>sto, kde m<> b<>t text vlo<6C>en<65>.
3. Stla<6C> i a napi<70> pot<6F>ebn<62> dodatek.
4. Po opraven<65> ka<6B>d<EFBFBD> chyby stla<6C> <ESC> pro n<>vrat do Norm<72>ln<6C>ho m<>du.
Opakuj kroky 2 a<> 4 dokud nen<65> v<>ta spr<70>vn<76>.
---> N<>jak<61> txt na t<>to .
---> N<>jak<61> text chyb<79> na t<>to <20><>dce.
5. Pokud ji<6A> ovl<76>d<EFBFBD><64> vkl<6B>d<EFBFBD>n<EFBFBD> textu, p<>ejdi na n<>sleduj<75>c<EFBFBD> shrnut<75>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<55> LEKCE 1
1. Kurzorem se pohybuje pomoc<6F> <20>ipek nebo kl<6B>vesami hjkl.
h (vlevo) j (dolu) k (nahoru) l (vpravo)
2. Pro spu<70>t<EFBFBD>n<EFBFBD> Vimu (z p<><70>kazov<6F>ho <20><>dku) napi<70>: vim SOUBOR <ENTER>
3. Pro ukon<6F>en<65> Vimu napi<70>: <ESC> :q! <ENTER> bez ulo<6C>en<65> zm<7A>n.
anebo: <ESC> :wq <ENTER> pro ulo<6C>en<65> zm<7A>n.
4. Pro smaz<61>n<EFBFBD> znaku pod kurzorem napi<70> v Norm<72>ln<6C>m m<>du: x
5. Pro vkl<6B>d<EFBFBD>n<EFBFBD> textu od m<>sta kurzoru napi<70> v Norm<72>ln<6C>m m<>du:
i vkl<6B>dan<61> text <ESC>
POZN<EFBFBD>MKA: Stla<6C>en<65> <ESC> t<> p<>em<65>st<73> do Norm<72>ln<6C>ho m<>du nebo zru<72><75> necht<68>n<EFBFBD>
a <20><>ste<74>n<EFBFBD> dokon<6F>en<65> p<><70>kaz.
Nyn<EFBFBD> pokra<72>uj Lekc<6B> 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.1: P<><50>KAZY MAZ<41>N<EFBFBD>
** P<><50>kaz dw sma<6D>e znaky do konce slova. **
1. Stla<6C> <ESC> k ubezpe<70>en<65>, <20>e jsi v Norm<72>ln<6C>m m<>du.
2. P<>esu<73> kurzor n<><6E>e na <20><>dek ozna<6E>en<65> --->.
3. P<>esu<73> kurzor na za<7A><61>tek slova, kter<65> je pot<6F>eba smazat.
4. Napi<70> dw , aby slovo zmizelo.
POZN<EFBFBD>MKA: P<>smena dw se zobraz<61> na posledn<64>m <20><>dku obrazovky jakmile je
nap<61><70>e<EFBFBD>. Kdy<64> nap<61><70>e<EFBFBD> n<>co <20>patn<74>, stla<6C> <ESC> a za<7A>ni znova.
---> Jsou tu n<>jak<61> slova z<>bava, kter<65> nepat<61><74> list do t<>to v<>ty.
5. Opakuj kroky 3 a<> 4 dokud nen<65> v<>ta spr<70>vn<76> a p<>ejdi na lekci 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.2: V<>CE P<><50>KAZ<41> MAZ<41>N<EFBFBD>
** Naps<70>n<EFBFBD> p<><70>kazu d$ sma<6D>e v<>e a<> do konce <20><>dky. **
1. Stla<6C> <ESC> k ubezpe<70>en<65>, <20>e jsi v Norm<72>ln<6C>m m<>du.
2. P<>esu<73> kurzor n<><6E>e na <20><>dek ozna<6E>en<65> --->.
3. P<>esu<73> kurzor na konec spr<70>vn<76> v<>ty (ZA prvn<76> te<74>ku).
4. Napi<70> d$ ,aby jsi smazal znaky a<> do konce <20><>dku.
---> N<>kdo napsal konec t<>to v<>ty dvakr<6B>t. konec t<>to v<>ty dvakr<6B>t.
5. P<>ejdi na lekci 2.3 pro pochopen<65> toho, co se stalo.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.3: ROZ<4F>I<EFBFBD>OVAC<41> P<><50>KAZY A OBJEKTY
Form<72>t mazac<61>ho p<><70>kazu d je n<>sleduj<75>c<EFBFBD>:
[<5B><>slo] d objekt NEBO d [<5B><>slo] objekt
Kde:
<20><>slo - ud<75>v<EFBFBD> kolikr<6B>t se p<><70>kaz vykon<6F> (voliteln<6C>, v<>choz<6F>=1).
d - je p<><70>kaz maz<61>n<EFBFBD>.
objekt - ud<75>v<EFBFBD> na <20>em se p<><70>kaz vykon<6F>v<EFBFBD> (vypsan<61> n<><6E>e).
Kr<4B>tk<74> v<>pis objekt<6B>:
w - od kurzoru do konce slova, v<>etn<74> mezer.
e - od kurzoru do konce slova, BEZ mezer.
$ - od kurzoru do konce <20><>dku.
POZN<EFBFBD>MKA: Stla<6C>en<65>m kl<6B>vesy objektu v Norm<72>ln<6C>m m<>du se kurzor p<>esune na
m<>sto up<75>esn<73>n<EFBFBD> ve v<>pisu objekt<6B>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.4: V<>JIMKA Z 'P<><50>KAZ-OBJEKT'
** Naps<70>n<EFBFBD>m dd sma<6D>e<EFBFBD> cel<65> <20><>dek. **
Vzhledem k <20>astosti maz<61>n<EFBFBD> cel<65>ho <20><>dku se auto<74>i Vimu rozhodli, <20>e bude
jednodu<64><75> napsat prost<73> dv<64> d k smaz<61>n<EFBFBD> cel<65>ho <20><>dku.
1. P<>esu<73> kurzor na druh<75> <20><>dek spodn<64>ho textu.
2. Napi<70> dd pro smaz<61>n<EFBFBD> <20><>dku.
3. P<>ejdi na <20>tvrt<72> <20><>dek.
4. Napi<70> 2dd (vzpome<6D> si <20><>slo-p<><70>kaz-objekt) pro smaz<61>n<EFBFBD> dvou <20><>dk<64>.
1) R<><52>e jsou <20>erven<65>,
2) Bl<42>to je z<>bavn<76>,
3) Fialky jsou modr<64>,
4) M<>m auto,
5) Hodinky ukazuj<75> <20>as,
6) Cukr je sladk<64>,
7) A to jsi i ty.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.5: P<><50>KAZ UNDO
** Stla<6C> u pro vr<76>cen<65> posledn<64>ho p<><70>kazu, U pro celou <20><>dku. **
1. P<>esu<73> kurzor n<><6E>e na <20><>dek ozna<6E>en<65> ---> a p<>em<65>sti ho na prvn<76> chybu.
2. Napi<70> x pro smaz<61>n<EFBFBD> prvn<76>ho necht<68>n<EFBFBD>ho znaku.
3. Te<54> napi<70> u <20><>m<EFBFBD> vr<76>t<EFBFBD><74> zp<7A>t posledn<64> vykonan<61> p<><70>kaz.
4. Nyn<79> oprav v<>echny chyby na <20><>dku pomoc<6F> p<><70>kazu x .
5. Napi<70> velk<6C> U <20><>m<EFBFBD> vr<76>t<EFBFBD><74> <20><>dek do p<>vodn<64>ho stavu.
6. Te<54> napi<70> u n<>kolikr<6B>t, <20><>m<EFBFBD> vr<76>t<EFBFBD><74> zp<7A>t p<><70>kaz U .
7. Stla<6C> CTRL-R (kl<6B>vesu CTRL dr<64> stla<6C>enou a stiskni R) n<>kolikr<6B>t,
<20><>m<EFBFBD> vr<76>t<EFBFBD><74> zp<7A>t p<>edt<64>m vr<76>cen<65> p<><70>kazy (redo).
---> Opprav chybby nna toomto <20><>dku a nahra<72> je pommoc<6F> undo.
8. Toto jsou velmi u<>ite<74>n<EFBFBD> p<><70>kazy. Nyn<79> p<>ejdi na souhrn Lekce 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<55> LEKCE 2
1. Pro smaz<61>n<EFBFBD> znak<61> od kurzoru do konce slova napi<70>: dw
2. Pro smaz<61>n<EFBFBD> znak<61> od kurzoru do konce <20><>dku napi<70>: d$
3. Pro smaz<61>n<EFBFBD> cel<65>ho <20><>dku napi<70>: dd
4. Form<72>t p<><70>kazu v Norm<72>ln<6C>m m<>du je:
[<5B><>slo] p<><70>kaz objekt NEBO p<><70>kaz [<5B><>slo] objekt
kde:
<20><>slo - ud<75>v<EFBFBD> po<70>et opakov<6F>n<EFBFBD> p<><70>kazu
p<><70>kaz - ud<75>v<EFBFBD> co je t<>eba vykonat, nap<61><70>klad d ma<6D>e
objekt - ud<75>v<EFBFBD> rozsah p<><70>kazu, nap<61><70>klad w (slovo),
$ (do konce <20><>dku), atd.
5. Pro vr<76>cen<65> p<>ede<64>l<EFBFBD> <20>innosti, napi<70>: u (mal<61> u)
Pro vr<76>cen<65> v<>ech <20>prav na <20><>dku napi<70>: U (velk<6C> U)
Pro vr<76>cen<65> vr<76>cen<65>ch <20>prav (redo) napi<70>: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.1: P<><50>KAZ VLO<4C>IT
** P<><50>ka p vlo<6C><6F> posledn<64> vymazan<61> text za kurzor. **
1. P<>esu<73> kurzor n<><6E>e na posledn<64> <20><>dek textu.
2. Napi<70> dd pro smaz<61>n<EFBFBD> <20><>dku a jeho ulo<6C>en<65> do bufferu.
3. P<>esu<73> kurzor V݊E tam, kam smazan<61> <20><>dek pat<61><74>.
4. V Norm<72>ln<6C>m m<>du napi<70> p pro op<6F>tn<74> vlo<6C>en<65> <20><>dku.
5. Opakuj kroky 2 a<> 4 dokud <20><>dky nebudou ve spr<70>vn<76>m po<70>ad<61>.
d) Tak<61> se dok<6F><6B>e<EFBFBD> vzd<7A>l<EFBFBD>vat?
b) Fialky jsou modr<64>,
c) Inteligence se u<><75>,
a) R<><52>e jsou <20>erven<65>,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.2: P<><50>KAZ NAHRAZEN<45>
** Naps<70>n<EFBFBD>m r a znaku se nahrad<61> znak pod kurzorem. **
1. P<>esu<73> kurzor n<><6E>e na prvn<76> <20><>dek ozna<6E>en<65> --->.
2. P<>esu<73> kurzor na za<7A><61>tek prvn<76> chyby.
3. Napi<70> r a potom znak, kter<65> nahrad<61> chybu.
4. Opakuj kroky 2 a<> 3 dokud nen<65> prvn<76> <20><>dka spr<70>vn<76>.
---> Kdi<64> byl pz<70>n tento <20><>deg, n<>kdu stla<6C>il <20>paqn<71> kl<6B>vesy!
---> Kdy<64> byl ps<70>n tento <20><>dek, n<>kdo stla<6C><61>l <20>patn<74> kl<6B>vesy!
5. Nyn<79> p<>ejdi na Lekci 3.2.
POZN<EFBFBD>MKA: Zapamatuj si, <20>e by ses m<>l u<>it pou<6F><75>v<EFBFBD>n<EFBFBD>m, ne zapamatov<6F>n<EFBFBD>m.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.3: P<><50>KAZ <20>PRAVY
** Pokud chce<63> zm<7A>nit <20><>st nebo cel<65> slovo, napi<70> cw . **
1. P<>esu<73> kurzor n<><6E>e na prvn<76> <20><>dek ozna<6E>en<65> --->.
2. Um<55>sti kurzor na p<>smeno i v slov<6F> <20>i<EFBFBD>ok.
3. Napi<70> cw a oprav slovo (v tomto p<><70>pad<61> napi<70> '<27>dek'.)
4. Stla<6C> <ESC> a p<>ejdi na dal<61><6C> chybu (prvn<76> znak, kter<65> t<>eba zm<7A>nit.)
5. Opakuj kroky 3 a<> 4 dokud nen<65> prvn<76> v<>ta stejn<6A> jako ta druh<75>.
---> Tento <20>i<EFBFBD>ok m<> n<>kolik skic, kter<65> psadoinsa zm<7A>nit pasdgf p<><70>kazu.
---> Tento <20><>dek m<> n<>kolik slov, kter<65> pot<6F>ebuj<75> zm<7A>nit pomoc<6F> p<><70>kazu.
V<EFBFBD>imni si, <20>e cw nejen nahrazuje slovo, ale tak<61> p<>em<65>st<73> do vkl<6B>d<EFBFBD>n<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.4: V<>CE ZM<5A>N POU<4F>IT<49>M c
** P<><50>kaz pro <20>pravu se dru<72><75> se stejn<6A>mi objekty jako ten pro maz<61>n<EFBFBD>. **
1. P<><50>kaz pro <20>pravu pracuje stejn<6A> jako pro maz<61>n<EFBFBD>. Form<72>t je:
[<5B><>slo] c objekt NEBO c [<5B><>slo] objekt
2. Objekty jsou tak<61> shodn<64>, jako nap<61>.: w (slovo), $ (konec <20><>dku), atd.
3. P<>ejdi n<><6E>e na prvn<76> <20><>dek ozna<6E>en<65> --->.
4. P<>esu<73> kurzor na prvn<76> rozd<7A>l.
5. Napi<70> c$ pro upraven<65> zbytku <20><>dku podle toho druh<75>ho a stla<6C> <ESC>.
---> Konec tohoto <20><>dku pot<6F>ebuje pomoc, aby byl jako ten druh<75>.
---> Konec tohoto <20><>dku pot<6F>ebuje opravit pou<6F>it<69>m p<><70>kazu c$ .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<55> LEKCE 3
1. Pro vlo<6C>en<65> textu, kter<65> byl smaz<61>n, napi<70> p . To vlo<6C><6F> smazan<61> text
ZA kurzor (pokud byl <20><>dek smazan<61>, p<>ejde na <20><>dek pod kurzorem).
2. Pro nahrazen<65> znaku pod kurzorem, napi<70> r a potom znak, kter<65>m
chce<63> p<>vodn<64> znak nahradit.
3. P<><50>kaz na upravov<6F>n<EFBFBD> umo<6D><6F>uje zm<7A>nit specifikovan<61> objekt od kurzoru
do konce objektu. Nap<61><70>klad: Napi<70> cw ,<2C><>m<EFBFBD> zm<7A>n<EFBFBD><6E> text od pozice
kurzoru do konce slova, c$ zm<7A>n<EFBFBD> text do konce <20><>dku.
4. Form<72>t pro nahrazov<6F>n<EFBFBD> je:
[<5B><>slo] c objekt NEBO c [<5B><>slo] objekt
Nyn<EFBFBD> p<>ejdi na n<>sleduj<75>c<EFBFBD> lekci.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.1: POZICE A STATUS SOUBORU
** Stla<6C> CTRL-g pro zobrazen<65> sv<73> pozice v souboru a statusu souboru.
Stla<6C> SHIFT-G pro p<>echod na <20><>dek v souboru. **
Pozn<7A>mka: P<>e<EFBFBD>ti si celou lekci ne<6E> za<7A>ne<6E> vykon<6F>vat kroky!!
1. Dr<44> kl<6B>vesu Ctrl stla<6C>enou a stiskni g . Vespod obrazovky se zobraz<61>
stavov<6F> <20><>dek s n<>zvem souboru a <20><>dkou na kter<65> se nach<63>z<EFBFBD><7A>. Zapamatuj
si <20><>slo <20><>dku pro krok 3.
2. Stla<6C> shift-G pro p<>esun na konec souboru.
3. Napi<70> <20><>slo <20><>dku na kter<65>m si se nach<63>zel a stla<6C> shift-G. To t<>
vr<76>t<EFBFBD> na <20><>dek, na kter<65>m jsi d<><64>ve stiskl Ctrl-g.
(Kdy<64> p<><70>e<EFBFBD> <20><>sla, tak se NEZOBRAZUJ<55> na obrazovce.)
4. Pokud se c<>t<EFBFBD><74> schopn<70> vykonat tyto kroky, vykonej je.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.2: P<><50>KAZ VYHLED<45>V<EFBFBD>N<EFBFBD>
** Napi<70> / n<>sledovan<61> <20>et<65>zcem pro vyhled<65>n<EFBFBD> onoho <20>et<65>zce. **
1. Stiskni / v Norm<72>ln<6C>m m<>du. V<>imni si, <20>e tento znak se spolu s
kurzorem zobraz<61> v doln<6C> <20><>sti obrazovky jako p<><70>kaz : .
2. Nyn<79> napi<70> 'chhybba' <ENTER>. To je slovo, kter<65> chce<63> vyhledat.
3. Pro vyhled<65>n<EFBFBD> dal<61><6C>ho v<>sledku stejn<6A>ho <20>et<65>zce, jednodu<64>e stla<6C> n .
Pro vyhled<65>n<EFBFBD> dal<61><6C>ho v<>sledku stejn<6A>ho <20>et<65>zce opa<70>n<EFBFBD>m sm<73>rem, stiskni
Shift-N.
4. Pokud chce<63> vyhledat <20>et<65>zec v opa<70>n<EFBFBD>m sm<73>ru, pou<6F>ij p<><70>kaz ? m<>sto
p<><70>kazu / .
---> "chhybba" nen<65> zp<7A>sob, jak hl<68>skovat chyba; chhybba je chyba.
Pozn<EFBFBD>mka: Kdy<64> vyhled<65>v<EFBFBD>n<EFBFBD> dos<6F>hne konce souboru, bude pokra<72>ovat na jeho
za<7A><61>tku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.3: VYHLED<45>V<EFBFBD>N<EFBFBD> P<>ROV<4F> Z<>VORKY
** Napi<70> % pro nalezen<65> p<>rov<6F> ),], nebo } . **
1. P<>em<65>sti kurzor na kteroukoli (, [, nebo { v <20><>dku ozna<6E>en<65>m --->.
2. Nyn<79> napi<70> znak % .
3. Kurzor se p<>em<65>st<73> na odpov<6F>daj<61>c<EFBFBD> z<>vorku.
4. Stla<6C> % pro p<>esun kurzoru zp<7A>t na otv<74>raj<61>c<EFBFBD> z<>vorku.
---> Toto ( je testovac<61> <20><>dek ('s, ['s ] a {'s } v n<>m. ))
Pozn<EFBFBD>mka: Toto je velmi u<>ite<74>n<EFBFBD> p<><70> lad<61>n<EFBFBD> programu s chyb<79>j<EFBFBD>c<EFBFBD>mi
uzav<61>rac<61>mi z<>vorkami.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.4: ZP<5A>SOB JAK ZM<5A>NIT CHYBY
** Napi<70> :s/star<61>/nov<6F>/g pro nahrazen<65> slova 'nov<6F>' za 'star<61>'. **
1. P<>esu<73> kurzor na <20><>dek ozna<6E>en<65> --->.
2. Napi<70> :s/dobr<62><72>/dobr<62> <ENTER> . V<>imni si, <20>e tento p<><70>kaz zm<7A>n<EFBFBD> pouze
prvn<76> v<>skyt v <20><>dku.
3. Nyn<79> napi<70> :s/dobr<62><72>/dobr<62>/g co<63> znamen<65> celkov<6F> nahrazen<65> v <20><>dku.
Toto nahrad<61> v<>echny v<>skyty v <20><>dku.
---> dobr<62><72> suroviny a dobr<62><72> n<><6E>in<69> jsou z<>kladem dobr<62><72> kuchyn<79>.
4. Pro zm<7A>nu v<>ech v<>skyt<79> <20>et<65>zce mezi dv<64>ma <20><>dky,
Napi<70> :#,#s/star<61>/nov<6F>/g kde #,# jsou <20><>sla on<6F>ch <20><>dek.
Napi<70> :%s/star<61>/nov<6F>/g pro zm<7A>nu v<>ech v<>skyt<79> v cel<65>m souboru.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<55> LEKCE 4
1. Ctrl-g vyp<79><70>e tvou pozici v souboru a status souboru.
Shift-G t<> p<>em<65>st<73> na konec souboru. <20><>slo n<>sledovan<61>
Shift-G t<> p<>esune na dan<61> <20><>slo <20><>dku.
2. Naps<70>n<EFBFBD> / n<>sledovan<61> <20>et<65>zcem vyhled<65> <20>et<65>zec sm<73>rem DOP<4F>EDU.
Naps<70>n<EFBFBD> ? n<>sledovan<61> <20>et<65>zcem vyhled<65> <20>et<65>zec sm<73>rem DOZADU.
Naps<70>n<EFBFBD> n po vyhled<65>v<EFBFBD>n<EFBFBD> najde n<>sleduj<75>c<EFBFBD> v<>skyt <20>et<65>zce ve stejn<6A>m
sm<73>ru, Shift-N ve sm<73>ru opa<70>n<EFBFBD>m.
3. Stisknut<75> % kdy<64> je kurzor na (,),[,],{, nebo } najde odpov<6F>daj<61>c<EFBFBD>
p<>rovou z<>vorku.
4. Pro nahrazen<65> nov<6F>ho za prvn<76> star<61> v <20><>dku napi<70> :s/star<61>/nov<6F>
Pro nahrazen<65> nov<6F>ho za v<>echny star<61> v <20><>dku napi<70> :s/star<61>/nov<6F>/g
Pro nahrazen<65> <20>et<65>zc<7A> mezi dv<64>mi <20><>dkami # napi<70> :#,#s/star<61>/nov<6F>/g
Pro nahrazen<65> v<>ech v<>skyt<79> v souboru napi<70> :%s/star<61>/nov<6F>/g
Pro potvrzen<65> ka<6B>d<EFBFBD>ho nahrazen<65> p<>idej 'c' :%s/star<61>/nov<6F>/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.1: JAK VYKONAT VN<56>J<EFBFBD><4A> P<><50>KAZ
** Napi<70> :! n<>sledovan<61> vn<76>j<EFBFBD><6A>m p<><70>kazem pro spu<70>t<EFBFBD>n<EFBFBD> p<><70>kazu. **
1. Napi<70> obvykl<6B> p<><70>kaz : , kter<65> um<75>st<73> kurzor na spodek obrazovky
To umo<6D>n<EFBFBD> napsat p<><70>kaz.
2. Nyn<79> stiskni ! (vyk<79>i<EFBFBD>n<EFBFBD>k). To umo<6D>n<EFBFBD> vykonat jak<61>koliv vn<76>j<EFBFBD><6A>
p<><70>kaz z p<><70>kazov<6F>ho <20><>dku.
3. Nap<61><70>klad napi<70> ls za ! a stiskni <ENTER>. Tento p<><70>kaz zobraz<61>
obsah tv<74>ho adres<65><73>e jako v p<><70>kazov<6F>m <20><>dku.
Vyzkou<6F>ej :!dir pokud ls nefunguje.
Pozn<EFBFBD>mka: Takto je mo<6D>n<EFBFBD> vykonat jak<61>koliv p<><70>kaz.
Pozn<EFBFBD>mka: V<>echny p<><70>kazy : mus<75> b<>t dokon<6F>en<65> stisknut<75>m <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.2: V<>CE O UKL<4B>D<EFBFBD>N<EFBFBD> SOUBOR<4F>
** Pro ulo<6C>en<65> zm<7A>n v souboru napi<70> :w SOUBOR. **
1. Napi<70> :!dir nebo :!ls pro v<>pis aktu<74>ln<6C>ho adres<65><73>e.
U<> v<><76>, <20>e za t<>mto mus<75><73> stisknout <ENTER>.
2. Vyber si n<>zev souboru, kter<65> je<6A>t<EFBFBD> neexistuje, nap<61><70>klad TEST.
3. Nyn<79> napi<70>: :w TEST (kde TEST je vybran<61> n<>zev souboru.)
4. To ulo<6C><6F> cel<65> soubor (V<>uka Vimu) pod n<>zvem TEST.
Pro ov<6F><76>en<65> napi<70> znovu :!dir , <20><>m<EFBFBD> zobraz<61><7A> obsah adres<65><73>e.
Pozn<EFBFBD>mka: Jakmile ukon<6F><6E><EFBFBD> Vim a znovu ho spust<73><74> s n<>zvem souboru TEST,
soubor bude p<>esn<73> kopie v<>uky, kdy<64> si ji ukl<6B>dal.
5. Nyn<79> odstra<72> soubor naps<70>n<EFBFBD>m (MS-DOS): :!del TEST
nebo (Unix): :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.3: V<>B<EFBFBD>ROV<4F> P<><50>KAZ ULO<4C>EN<45>
** Pro ulo<6C>en<65> <20><>sti souboru napi<70> :#,# w SOUBOR **
1. Je<4A>t<EFBFBD> jednou napi<70> :!dir nebo :!ls pro v<>pis aktu<74>ln<6C>ho adres<65><73>e
a vyber vhodn<64> n<>zev souboru jako nap<61>. TEST.
2. P<>esu<73> kurzor na vrch t<>to str<74>nky a stiskni Ctrl-g pro zobrazen<65>
<20><>sla <20><>dku. ZAPAMATUJ SI TOTO <20><>SLO!
3. Nyn<79> se p<>esu<73> na spodek t<>to str<74>nky a op<6F>t stiskni Ctrl-g.
ZAPAMATUJ SI I <20><>SLO TOHOTO <20><>DKU!
4. Pro ulo<6C>en<65> POUZE <20><>sti souboru, napi<70> :#,# w TEST kde #,# jsou
<20><>sla dvou zapamatovan<61>ch <20><>dk<64> (vrch, spodek) a TEST je n<>zev souboru.
5. Znova se ujisti, <20>e tam ten soubor je pomoc<6F> :!dir ale NEODSTRA<52>UJ ho.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.4: SLU<4C>OV<4F>N<EFBFBD> SOUBOR<4F>
** K vlo<6C>en<65> obsahu souboru napi<70> :r N<>ZEV_SOUBORU **
1. Napi<70> :!dir pro uji<6A>t<EFBFBD>n<EFBFBD>, <20>e soubor TEST st<73>le existuje.
2. P<>esu<73> kurzor na vrch t<>to str<74>nky.
POZN<EFBFBD>MKA: Po vykon<6F>n<EFBFBD> kroku 3 uvid<69><64> lekci 5.3. Potom se op<6F>t p<>esu<73> dol<6F>
na tuto lekci.
3. Nyn<79> vlo<6C> soubor TEST pou<6F>it<69>m p<><70>kazu :r TEST kde TEST je n<>zev
souboru.
POZN<EFBFBD>MKA: Soubor, kter<65> vkl<6B>d<EFBFBD><64> se vlo<6C><6F> od m<>sta, kde se nach<63>z<EFBFBD> kurzor.
4. Pro potvrzen<65> vlo<6C>en<65> souboru, p<>esu<73> kurzor zp<7A>t a v<>imni si, <20>e te<74>
m<><6D> dv<64> kopie lekce 5.3, origin<69>l a souborovou verzi.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUT<55> LEKCE 5
1. :!p<><70>kaz vykon<6F> vn<76>j<EFBFBD><6A> p<><70>kaz.
N<>kter<65> u<>ite<74>n<EFBFBD> p<><70>klady jsou:
(MS-DOS) (Unix)
:!dir :!ls - zobraz<61> obsah souboru.
:!del SOUBOR :!rm SOUBOR - odstran<61> SOUBOR.
2. :w SOUBOR ulo<6C><6F> aktu<74>ln<6C> text jako SOUBOR na disk.
3. :#,#w SOUBOR ulo<6C><6F> <20><>dky od # do # do SOUBORU.
4. :r SOUBOR vybere z disku SOUBOR a vlo<6C><6F> ho do editovan<61>ho souboru
za pozici kurzoru.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.1: P<><50>KAZ OTEV<45><56>T
** Napi<70> o pro vlo<6C>en<65> <20><>dku pod kurzor a p<>epnut<75> do Vkl<6B>dac<61>ho m<>du. **
1. P<>em<65>sti kurzor n<><6E>e na <20><>dek ozna<6E>en<65> --->.
2. Napi<70> o (mal<61>) pro vlo<6C>en<65> <20><>dku POD kurzor a p<>epnut<75> do
Vkl<6B>dac<61>ho m<>du.
3. Nyn<79> zkop<6F>ruj <20><>dek ozna<6E>en<65> ---> a stiskni <ESC> pro ukon<6F>en<65>
Vkl<6B>dac<61>ho m<>du.
---> Po stisknut<75> o se kurzor p<>em<65>st<73> na vlo<6C>en<65> <20><>dek do Vkl<6B>dac<61>ho
m<>du.
4. Pro otev<65>en<65> <20><>dku NAD kurzorem jednodu<64>e napi<70> velk<6C> O , m<>sto
mal<61>ho o. Vyzkou<6F>ej si to na n<>sleduj<75>c<EFBFBD>m <20><>dku.
Vlo<EFBFBD> <20><>dek nad t<>mto naps<70>n<EFBFBD>m Shift-O po um<75>st<73>n<EFBFBD> kurzoru na tento <20><>dek.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.2: P<><50>KAZ P<>IDAT
** Stiskni a pro vlo<6C>en<65> textu ZA kurzor. **
1. P<>esu<73> kurzor na n<><6E>e na konec <20><>dky ozna<6E>en<65> --->
stisknut<75>m $ v Norm<72>ln<6C>m m<>du.
2. Stiskni a (mal<61>) pro p<>id<69>n<EFBFBD> textu ZA znak, kter<65> je pod kurzorem.
(Velk<6C> A p<>id<69> na konec <20><>dku.)
Pozn<EFBFBD>mka: T<>mto se vyhne<6E> stisknut<75> i , posledn<64>ho znaku, textu na vlo<6C>en<65>,
<ESC>, kurzor doprava, a nakonec x na p<>id<69>v<EFBFBD>n<EFBFBD> na konec <20><>dku!
3. Nyn<79> dokon<6F><6E> prvn<76> <20><>dek. V<>imni si, <20>e p<>id<69>v<EFBFBD>n<EFBFBD> je vlastn<74> stejn<6A> jako
Vkl<6B>dac<61> m<>d, krom<6F> m<>sta, kam se text vkl<6B>d<EFBFBD>.
---> Tento <20><>dek ti umo<6D><6F>uje nacvi<76>it
---> Tento <20><>dek ti umo<6D><6F>uje nacvi<76>it p<>id<69>v<EFBFBD>n<EFBFBD> textu na konec <20><>dky.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.3: JIN<49> ZP<5A>SOB NAHRAZOV<4F>N<EFBFBD>
** Napi<70> velk<6C> R pro nahrazen<65> v<>c ne<6E> jednoho znaku. **
1. P<>esu<73> kurzor na prvn<76> <20><>dek ozna<6E>en<65> --->.
2. Um<55>sti kurzor na za<7A><61>tek prvn<76>ho slova, kter<65> je odli<6C>n<EFBFBD> od druh<75>ho
<20><>dku ozna<6E>en<65>ho ---> (slovo 'posledn<64>').
3. Nyn<79> stiskni R a nahra<72> zbytek textu na prvn<76>m <20><>dku p<>eps<70>n<EFBFBD>m
star<61>ho textu tak, aby byl prvn<76> <20><>dek stejn<6A> jako ten druh<75>.
---> Pro upraven<65> prvn<76>ho <20><>dku do tvaru toho posledn<64> na stran<61> pou<6F>ij kl.
---> Pro upraven<65> prvn<76>ho <20><>dku do tvaru toho druh<75>ho, napi<70> R a nov<6F> text.
4. V<>imni si, <20>e jakmile stiskne<6E> <ESC> v<>echen nezm<7A>n<EFBFBD>n<EFBFBD> text z<>st<73>v<EFBFBD>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.4: NASTAVEN<45> MO<4D>NOST<53>
** Nastav mo<6D>nost, <20>e vyhled<65>v<EFBFBD>n<EFBFBD> anebo nahrazov<6F>n<EFBFBD> nedb<64> velikosti p<>smen **
1. Vyhledej <20>et<65>zec 'ignore' naps<70>n<EFBFBD>m:
/ignore
Zopakuj n<>kolikr<6B>t stisknut<75> kl<6B>vesy n.
2. Nastav mo<6D>nost 'ic' (Ignore case) naps<70>n<EFBFBD>m p<><70>kazu:
:set ic
3. Nyn<79> znovu vyhledej 'ignore' stisknut<75>m: n
N<>kolikr<6B>t hled<65>n<EFBFBD> zopakuj stisknut<75>m kl<6B>vesy n.
4. Nastav mo<6D>nosti 'hlsearch' a 'incsearch':
:set hls is
5. Nyn<79> znovu vykonej vyhled<65>vac<61> p<><70>kaz a sleduj, co se stane:
/ignore
6. Pro vypnut<75> zv<7A>raz<61>ov<6F>n<EFBFBD> v<>sledk<64> napi<70>:
:nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRHNUT<55> LEKCE 6
1. Stisknut<75> o otev<65>e nov<6F> <20><>dek POD kurzorem a um<75>st<73> kurzor na vlo<6C>en<65>
<20><>dek do Vkl<6B>dac<61>ho m<>du.
Naps<70>n<EFBFBD> velk<6C>ho O otev<65>e <20><>dek NAD <20><>dkem, na kter<65>m je kurzor.
2. Stiskni a pro vlo<6C>en<65> textu ZA znak na pozici kurzoru.
Naps<70>n<EFBFBD> velk<6C>ho A automaticky p<>id<69> text na konec <20><>dku.
3. Stisknut<75> velk<6C>ho R p<>epne do Nahrazovac<61>ho m<>du, dokud
nestiskne<6E> <ESC> pro jeho ukon<6F>en<65>.
4. Naps<70>n<EFBFBD> ":set xxx" nastav<61> mo<6D>nosti "xxx".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCE 7: P<><50>KAZY ON-LINE N<>POV<4F>DY
** Pou<6F><75>vej on-line syst<73>m n<>pov<6F>dy **
Vim m<> obs<62>hl<68> on-line syst<73>m n<>pov<6F>dy. Pro za<7A><61>tek vyzkou<6F>ej jeden z
n<>sleduj<75>c<EFBFBD>ch:
- stiskni kl<6B>vesu <HELP> (pokud ji m<><6D>)
- stiskni kl<6B>vesu <F1> (pokud ji m<><6D>)
- napi<70> :help <ENTER>
Napi<70> :q <ENTER> pro uzav<61>en<65> okna n<>pov<6F>dy.
M<><4D>e<EFBFBD> naj<61>t n<>pov<6F>du k jak<61>mukoliv t<>matu p<>id<69>n<EFBFBD>m argumentu k
p<><70>kazu ":help". Zkus tyto (nezapome<6D> stisknout <ENTER>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCE 8: VYTVO<56>EN<45> INICIALIZA<5A>N<EFBFBD>HO SKRIPTU
** Zapni funkce editoru Vim **
Vim m<> daleko v<>ce funkc<6B> ne<6E> Vi, ale v<>t<EFBFBD>ina z nich je vypnuta ve v<>choz<6F>m
nastaven<65>. Pro zapnut<75> n<>kter<65>ch vytvo<76> soubor "vimrc".
1. Za<5A>ni upravovat soubor "vimrc". Toto z<>vis<69> na pou<6F>it<69>m syst<73>mu:
:edit ~/.vimrc pro Unix
:edit $VIM/_vimrc pro MS-Windows
2. Nyn<79> <20>ti uk<75>zkov<6F> "vimrc" soubor:
:read $VIMRUNTIME/vimrc_example.vim
3. Ulo<6C> soubor pomoc<6F>:
:write
Po p<><70><EFBFBD>t<EFBFBD>m startu Vim se zapne zv<7A>raz<61>ov<6F>n<EFBFBD> syntaxe.
Do souboru "vimrc" m<><6D>e<EFBFBD> p<>idat v<>echny svoje up<75>ednost<73>ovan<61> nastaven<65>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Toto ukon<6F>uje v<>uku Vim, kter<65> byla my<6D>len<65> jako stru<72>n<EFBFBD> p<>ehled
editoru Vim, tak akor<6F>t posta<74>uj<75>c<EFBFBD> pro lehk<68> a obstojn<6A> pou<6F><75>v<EFBFBD>n<EFBFBD> editoru.
Tato v<>uka m<> daleko od <20>plnosti, proto<74>e Vim obsahuje podstatn<74> v<>ce
p<><70>kaz<61>. D<>le si p<>e<EFBFBD>ti u<>ivatelsk<73> manu<6E>l: ":help user-manual".
Pro dal<61><6C> studium je doporu<72>en<65> kniha:
Vim - Vi Improved - od Steve Oualline
Nakladatel: New Riders
Prvn<76> kniha ur<75>en<65> pro Vim. Obzvl<76><6C>t<EFBFBD> vhodn<64> pro za<7A><61>te<74>n<EFBFBD>ky.
Obsahuje mno<6E>stv<74> p<><70>klad<61> a obr<62>zk<7A>.
viz http://iccf-holland.org/click5.html
Tato kniha je star<61><72> a v<>ce v<>novan<61> Vi ne<6E> Vim, ale tak<61> doporu<72>en<65>:
Learning the Vi Editor - od Linda Lamb
Nakladatel: O'Reilly & Associates Inc.
Je to dobr<62> kniha pro z<>sk<73>n<EFBFBD> v<>domost<73> t<>m<EFBFBD><6D> o v<>em, co m<><6D>ete s Vi d<>lat.
<20>est<73> vyd<79>n<EFBFBD> obsahuje t<><74> informace o Vim.
Tato v<>uka byla napsan<61> autory Michael C. Pierce a Robert K. Ware,
Colorado School of Mines s pou<6F>it<69>m my<6D>lenek od: Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Upravil pro Vim: Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
P<>eklad do <20>e<EFBFBD>tiny: Lubo<62> Turek
E-Mail: lubos.turek@gmail.com
2007 Feb 28

View File

@ -1,812 +0,0 @@
===============================================================================
= V í t e j t e v t u t o r i a l u V I M - Verze 1.5 =
===============================================================================
Vim je velmi výkonný editor, který má příliš mnoho příkazů na to, aby
mohly být všechny vysvětlené ve výuce jako tato. Tato výuka obsahuje
dostatečné množství příkazů na to, aby bylo možné používat Vim jako
víceúčelový editor.
Přibližný čas potřebný ke zvládnutí této výuky je 25-30 minut, záleží
na tom, kolik času strávíte přezkušováním.
Příkazy v lekcích upravují text. Vytvoř kopii tohoto souboru pro
procvičování (při startu "vimtutor" je již toto kopie).
Je důležité pamatovat, že tato výuka je vytvořena pro výuku používáním.
To znamená, že je potřeba si příkazy vyzkoušet pro jejich správné
naučení. Pokud si jen čteš text, příkazy zapomeneš!
Nyní se přesvědčte, že Shift-Lock NENÍ stlačený a několikrát stiskněte
klávesu j aby se kurzor posunul natolik, že lekce 1.1 zaplní celou
obrazovku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.1: POHYB KURZORU
** Pro pohyb kurzoru používej klávesy h,j,k,l jak je znázorněno níže. **
^
k Funkce: Klávesa h je vlevo a vykoná pohyb vlevo.
< h l > Klávesa l je vpravo a vykoná pohyb vpravo.
j Klávesa j vypadá na šipku dolu.
v
1. Pohybuj kurzorem po obrazovce dokud si na to nezvykneš.
2. Drž klávesu pro pohyb dolu (j), dokud se její funkce nezopakuje.
---> Teď víš jak se přesunout na následující lekci.
3. Použitím klávesy dolu přejdi na lekci 1.2.
Poznámka: Pokud si někdy nejsi jist něčím, co jsi napsal, stlač <ESC> pro
přechod do Normálního módu. Poté přepiš požadovaný příkaz.
Poznámka: Kurzorové klávesy také fungují, avšak používání hjkl je rychlejší
jakmile si na něj zvykneš.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.2: SPUŠTĚNÍ A UKONČENÍ VIM
!! POZNÁMKA: Před vykonáním těchto kroků si přečti celou lekci!!
1. Stlač <ESC> (pro ujištění, že se nacházíš v Normálním módu).
2. Napiš: :q! <ENTER>.
---> Tímto ukončíš editor BEZ uložení změn, které si vykonal.
Pokud chceš uložit změny a ukončit editor napiš:
:wq <ENTER>
3. Až se dostaneš na příkazový řádek, napiš příkaz, kterým se dostaneš zpět
do této výuky. To může být: vimtutor <ENTER>
Běžně se používá: vim tutor <ENTER>
---> 'vim' znamená spuštění editoru, 'tutor' je soubor k editaci.
4. Pokud si tyto kroky spolehlivě pamatuješ, vykonej kroky 1 až 3, čímž
ukončíš a znovu spustíš editor. Potom přesuň kurzor dolu na lekci 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.3: ÚPRAVA TEXTU - MAZÁNÍ
** Stisknutím klávesy x v Normálním módu smažeš znak na místě kurzoru. **
1. Přesuň kurzor níže na řádek označený --->.
2. K odstranění chyb přejdi kurzorem na znak, který chceš smazat.
3. Stlač klávesu x k odstranění nechtěných znaků.
4. Opakuj kroky 2 až 4 dokud není věta správně.
---> Krááva skoččilla přess měssíc.
5. Pokud je věta správně, přejdi na lekci 1.4.
POZNÁMKA: Nesnaž se pouze zapamatovat předváděné příkazy, uč se je používáním.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 1.4: ÚPRAVA TEXTU - VKLÁDÁNÍ
** Stlačení klávesy i v Normálním módu umožňuje vkládání textu. **
1. Přesuň kurzor na první řádek označený --->.
2. Pro upravení prvního řádku do podoby řádku druhého, přesuň kurzor na
první znak za místo, kde má být text vložený.
3. Stlač i a napiš potřebný dodatek.
4. Po opravení každé chyby stlač <ESC> pro návrat do Normálního módu.
Opakuj kroky 2 až 4 dokud není věta správně.
---> Nějaký txt na této .
---> Nějaký text chybí na této řádce.
5. Pokud již ovládáš vkládání textu, přejdi na následující shrnutí.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUTÍ LEKCE 1
1. Kurzorem se pohybuje pomocí šipek nebo klávesami hjkl.
h (vlevo) j (dolu) k (nahoru) l (vpravo)
2. Pro spuštění Vimu (z příkazového řádku) napiš: vim SOUBOR <ENTER>
3. Pro ukončení Vimu napiš: <ESC> :q! <ENTER> bez uložení změn.
anebo: <ESC> :wq <ENTER> pro uložení změn.
4. Pro smazání znaku pod kurzorem napiš v Normálním módu: x
5. Pro vkládání textu od místa kurzoru napiš v Normálním módu:
i vkládaný text <ESC>
POZNÁMKA: Stlačení <ESC> tě přemístí do Normálního módu nebo zruší nechtěný
a částečně dokončený příkaz.
Nyní pokračuj Lekcí 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.1: PŘÍKAZY MAZÁNÍ
** Příkaz dw smaže znaky do konce slova. **
1. Stlač <ESC> k ubezpečení, že jsi v Normálním módu.
2. Přesuň kurzor níže na řádek označený --->.
3. Přesuň kurzor na začátek slova, které je potřeba smazat.
4. Napiš dw , aby slovo zmizelo.
POZNÁMKA: Písmena dw se zobrazí na posledním řádku obrazovky jakmile je
napíšeš. Když napíšeš něco špatně, stlač <ESC> a začni znova.
---> Jsou tu nějaká slova zábava, která nepatří list do této věty.
5. Opakuj kroky 3 až 4 dokud není věta správně a přejdi na lekci 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.2: VÍCE PŘÍKAZŮ MAZÁNÍ
** Napsání příkazu d$ smaže vše až do konce řádky. **
1. Stlač <ESC> k ubezpečení, že jsi v Normálním módu.
2. Přesuň kurzor níže na řádek označený --->.
3. Přesuň kurzor na konec správné věty (ZA první tečku).
4. Napiš d$ ,aby jsi smazal znaky až do konce řádku.
---> Někdo napsal konec této věty dvakrát. konec této věty dvakrát.
5. Přejdi na lekci 2.3 pro pochopení toho, co se stalo.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.3: ROZŠIŘOVACÍ PŘÍKAZY A OBJEKTY
Formát mazacího příkazu d je následující:
[číslo] d objekt NEBO d [číslo] objekt
Kde:
číslo - udává kolikrát se příkaz vykoná (volitelné, výchozí=1).
d - je příkaz mazání.
objekt - udává na čem se příkaz vykonává (vypsané níže).
Krátký výpis objektů:
w - od kurzoru do konce slova, včetně mezer.
e - od kurzoru do konce slova, BEZ mezer.
$ - od kurzoru do konce řádku.
POZNÁMKA: Stlačením klávesy objektu v Normálním módu se kurzor přesune na
místo upřesněné ve výpisu objektů.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.4: VÝJIMKA Z 'PŘÍKAZ-OBJEKT'
** Napsáním dd smažeš celý řádek. **
Vzhledem k častosti mazání celého řádku se autoři Vimu rozhodli, že bude
jednoduší napsat prostě dvě d k smazání celého řádku.
1. Přesuň kurzor na druhý řádek spodního textu.
2. Napiš dd pro smazání řádku.
3. Přejdi na čtvrtý řádek.
4. Napiš 2dd (vzpomeň si číslo-příkaz-objekt) pro smazání dvou řádků.
1) Růže jsou červené,
2) Bláto je zábavné,
3) Fialky jsou modré,
4) Mám auto,
5) Hodinky ukazují čas,
6) Cukr je sladký,
7) A to jsi i ty.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 2.5: PŘÍKAZ UNDO
** Stlač u pro vrácení posledního příkazu, U pro celou řádku. **
1. Přesuň kurzor níže na řádek označený ---> a přemísti ho na první chybu.
2. Napiš x pro smazání prvního nechtěného znaku.
3. Teď napiš u čímž vrátíš zpět poslední vykonaný příkaz.
4. Nyní oprav všechny chyby na řádku pomocí příkazu x .
5. Napiš velké U čímž vrátíš řádek do původního stavu.
6. Teď napiš u několikrát, čímž vrátíš zpět příkaz U .
7. Stlač CTRL-R (klávesu CTRL drž stlačenou a stiskni R) několikrát,
čímž vrátíš zpět předtím vrácené příkazy (redo).
---> Opprav chybby nna toomto řádku a nahraď je pommocí undo.
8. Toto jsou velmi užitečné příkazy. Nyní přejdi na souhrn Lekce 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUTÍ LEKCE 2
1. Pro smazání znaků od kurzoru do konce slova napiš: dw
2. Pro smazání znaků od kurzoru do konce řádku napiš: d$
3. Pro smazání celého řádku napiš: dd
4. Formát příkazu v Normálním módu je:
[číslo] příkaz objekt NEBO příkaz [číslo] objekt
kde:
číslo - udává počet opakování příkazu
příkaz - udává co je třeba vykonat, například d maže
objekt - udává rozsah příkazu, například w (slovo),
$ (do konce řádku), atd.
5. Pro vrácení předešlé činnosti, napiš: u (malé u)
Pro vrácení všech úprav na řádku napiš: U (velké U)
Pro vrácení vrácených úprav (redo) napiš: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.1: PŘÍKAZ VLOŽIT
** Příka p vloží poslední vymazaný text za kurzor. **
1. Přesuň kurzor níže na poslední řádek textu.
2. Napiš dd pro smazání řádku a jeho uložení do bufferu.
3. Přesuň kurzor VÝŠE tam, kam smazaný řádek patří.
4. V Normálním módu napiš p pro opětné vložení řádku.
5. Opakuj kroky 2 až 4 dokud řádky nebudou ve správném pořadí.
d) Také se dokážeš vzdělávat?
b) Fialky jsou modré,
c) Inteligence se učí,
a) Růže jsou červené,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.2: PŘÍKAZ NAHRAZENÍ
** Napsáním r a znaku se nahradí znak pod kurzorem. **
1. Přesuň kurzor níže na první řádek označený --->.
2. Přesuň kurzor na začátek první chyby.
3. Napiš r a potom znak, který nahradí chybu.
4. Opakuj kroky 2 až 3 dokud není první řádka správně.
---> Kdiž byl pzán tento řádeg, někdu stlažil špaqné klávesy!
---> Když byl psán tento řádek, někdo stlačíl špatné klávesy!
5. Nyní přejdi na Lekci 3.2.
POZNÁMKA: Zapamatuj si, že by ses měl učit používáním, ne zapamatováním.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.3: PŘÍKAZ ÚPRAVY
** Pokud chceš změnit část nebo celé slovo, napiš cw . **
1. Přesuň kurzor níže na první řádek označený --->.
2. Umísti kurzor na písmeno i v slově řiťok.
3. Napiš cw a oprav slovo (v tomto případě napiš 'ádek'.)
4. Stlač <ESC> a přejdi na další chybu (první znak, který třeba změnit.)
5. Opakuj kroky 3 až 4 dokud není první věta stejná jako ta druhá.
---> Tento řiťok má několik skic, které psadoinsa změnit pasdgf příkazu.
---> Tento řádek má několik slov, které potřebují změnit pomocí příkazu.
Všimni si, že cw nejen nahrazuje slovo, ale také přemístí do vkládání.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 3.4: VÍCE ZMĚN POUŽITÍM c
** Příkaz pro úpravu se druží se stejnými objekty jako ten pro mazání. **
1. Příkaz pro úpravu pracuje stejně jako pro mazání. Formát je:
[číslo] c objekt NEBO c [číslo] objekt
2. Objekty jsou také shodné, jako např.: w (slovo), $ (konec řádku), atd.
3. Přejdi níže na první řádek označený --->.
4. Přesuň kurzor na první rozdíl.
5. Napiš c$ pro upravení zbytku řádku podle toho druhého a stlač <ESC>.
---> Konec tohoto řádku potřebuje pomoc, aby byl jako ten druhý.
---> Konec tohoto řádku potřebuje opravit použitím příkazu c$ .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUTÍ LEKCE 3
1. Pro vložení textu, který byl smazán, napiš p . To vloží smazaný text
ZA kurzor (pokud byl řádek smazaný, přejde na řádek pod kurzorem).
2. Pro nahrazení znaku pod kurzorem, napiš r a potom znak, kterým
chceš původní znak nahradit.
3. Příkaz na upravování umožňuje změnit specifikovaný objekt od kurzoru
do konce objektu. Například: Napiš cw ,čímž změníš text od pozice
kurzoru do konce slova, c$ změní text do konce řádku.
4. Formát pro nahrazování je:
[číslo] c objekt NEBO c [číslo] objekt
Nyní přejdi na následující lekci.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.1: POZICE A STATUS SOUBORU
** Stlač CTRL-g pro zobrazení své pozice v souboru a statusu souboru.
Stlač SHIFT-G pro přechod na řádek v souboru. **
Poznámka: Přečti si celou lekci než začneš vykonávat kroky!!
1. Drž klávesu Ctrl stlačenou a stiskni g . Vespod obrazovky se zobrazí
stavový řádek s názvem souboru a řádkou na které se nacházíš. Zapamatuj
si číslo řádku pro krok 3.
2. Stlač shift-G pro přesun na konec souboru.
3. Napiš číslo řádku na kterém si se nacházel a stlač shift-G. To tě
vrátí na řádek, na kterém jsi dříve stiskl Ctrl-g.
(Když píšeš čísla, tak se NEZOBRAZUJÍ na obrazovce.)
4. Pokud se cítíš schopný vykonat tyto kroky, vykonej je.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.2: PŘÍKAZ VYHLEDÁVÁNÍ
** Napiš / následované řetězcem pro vyhledání onoho řetězce. **
1. Stiskni / v Normálním módu. Všimni si, že tento znak se spolu s
kurzorem zobrazí v dolní části obrazovky jako příkaz : .
2. Nyní napiš 'chhybba' <ENTER>. To je slovo, které chceš vyhledat.
3. Pro vyhledání dalšího výsledku stejného řetězce, jednoduše stlač n .
Pro vyhledání dalšího výsledku stejného řetězce opačným směrem, stiskni
Shift-N.
4. Pokud chceš vyhledat řetězec v opačném směru, použij příkaz ? místo
příkazu / .
---> "chhybba" není způsob, jak hláskovat chyba; chhybba je chyba.
Poznámka: Když vyhledávání dosáhne konce souboru, bude pokračovat na jeho
začátku.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.3: VYHLEDÁVÁNÍ PÁROVÉ ZÁVORKY
** Napiš % pro nalezení párové ),], nebo } . **
1. Přemísti kurzor na kteroukoli (, [, nebo { v řádku označeném --->.
2. Nyní napiš znak % .
3. Kurzor se přemístí na odpovídající závorku.
4. Stlač % pro přesun kurzoru zpět na otvírající závorku.
---> Toto ( je testovací řádek ('s, ['s ] a {'s } v něm. ))
Poznámka: Toto je velmi užitečné pří ladění programu s chybějícími
uzavíracími závorkami.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 4.4: ZPŮSOB JAK ZMĚNIT CHYBY
** Napiš :s/staré/nové/g pro nahrazení slova 'nové' za 'staré'. **
1. Přesuň kurzor na řádek označený --->.
2. Napiš :s/dobréé/dobré <ENTER> . Všimni si, že tento příkaz změní pouze
první výskyt v řádku.
3. Nyní napiš :s/dobréé/dobré/g což znamená celkové nahrazení v řádku.
Toto nahradí všechny výskyty v řádku.
---> dobréé suroviny a dobréé náčiní jsou základem dobréé kuchyně.
4. Pro změnu všech výskytů řetězce mezi dvěma řádky,
Napiš :#,#s/staré/nové/g kde #,# jsou čísla oněch řádek.
Napiš :%s/staré/nové/g pro změnu všech výskytů v celém souboru.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUTÍ LEKCE 4
1. Ctrl-g vypíše tvou pozici v souboru a status souboru.
Shift-G tě přemístí na konec souboru. Číslo následované
Shift-G tě přesune na dané číslo řádku.
2. Napsání / následované řetězcem vyhledá řetězec směrem DOPŘEDU.
Napsání ? následované řetězcem vyhledá řetězec směrem DOZADU.
Napsání n po vyhledávání najde následující výskyt řetězce ve stejném
směru, Shift-N ve směru opačném.
3. Stisknutí % když je kurzor na (,),[,],{, nebo } najde odpovídající
párovou závorku.
4. Pro nahrazení nového za první starý v řádku napiš :s/staré/nové
Pro nahrazení nového za všechny staré v řádku napiš :s/staré/nové/g
Pro nahrazení řetězců mezi dvěmi řádkami # napiš :#,#s/staré/nové/g
Pro nahrazení všech výskytů v souboru napiš :%s/staré/nové/g
Pro potvrzení každého nahrazení přidej 'c' :%s/staré/nové/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.1: JAK VYKONAT VNĚJŠÍ PŘÍKAZ
** Napiš :! následované vnějším příkazem pro spuštění příkazu. **
1. Napiš obvyklý příkaz : , který umístí kurzor na spodek obrazovky
To umožní napsat příkaz.
2. Nyní stiskni ! (vykřičník). To umožní vykonat jakýkoliv vnější
příkaz z příkazového řádku.
3. Například napiš ls za ! a stiskni <ENTER>. Tento příkaz zobrazí
obsah tvého adresáře jako v příkazovém řádku.
Vyzkoušej :!dir pokud ls nefunguje.
Poznámka: Takto je možné vykonat jakýkoliv příkaz.
Poznámka: Všechny příkazy : musí být dokončené stisknutím <ENTER>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.2: VÍCE O UKLÁDÁNÍ SOUBORŮ
** Pro uložení změn v souboru napiš :w SOUBOR. **
1. Napiš :!dir nebo :!ls pro výpis aktuálního adresáře.
Už víš, že za tímto musíš stisknout <ENTER>.
2. Vyber si název souboru, který ještě neexistuje, například TEST.
3. Nyní napiš: :w TEST (kde TEST je vybraný název souboru.)
4. To uloží celý soubor (Výuka Vimu) pod názvem TEST.
Pro ověření napiš znovu :!dir , čímž zobrazíš obsah adresáře.
Poznámka: Jakmile ukončíš Vim a znovu ho spustíš s názvem souboru TEST,
soubor bude přesná kopie výuky, když si ji ukládal.
5. Nyní odstraň soubor napsáním (MS-DOS): :!del TEST
nebo (Unix): :!rm TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.3: VÝBĚROVÝ PŘÍKAZ ULOŽENÍ
** Pro uložení části souboru napiš :#,# w SOUBOR **
1. Ještě jednou napiš :!dir nebo :!ls pro výpis aktuálního adresáře
a vyber vhodný název souboru jako např. TEST.
2. Přesuň kurzor na vrch této stránky a stiskni Ctrl-g pro zobrazení
čísla řádku. ZAPAMATUJ SI TOTO ČÍSLO!
3. Nyní se přesuň na spodek této stránky a opět stiskni Ctrl-g.
ZAPAMATUJ SI I ČÍSLO TOHOTO ŘÁDKU!
4. Pro uložení POUZE části souboru, napiš :#,# w TEST kde #,# jsou
čísla dvou zapamatovaných řádků (vrch, spodek) a TEST je název souboru.
5. Znova se ujisti, že tam ten soubor je pomocí :!dir ale NEODSTRAŇUJ ho.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 5.4: SLUČOVÁNÍ SOUBORŮ
** K vložení obsahu souboru napiš :r NÁZEV_SOUBORU **
1. Napiš :!dir pro ujištění, že soubor TEST stále existuje.
2. Přesuň kurzor na vrch této stránky.
POZNÁMKA: Po vykonání kroku 3 uvidíš lekci 5.3. Potom se opět přesuň dolů
na tuto lekci.
3. Nyní vlož soubor TEST použitím příkazu :r TEST kde TEST je název
souboru.
POZNÁMKA: Soubor, který vkládáš se vloží od místa, kde se nachází kurzor.
4. Pro potvrzení vložení souboru, přesuň kurzor zpět a všimni si, že teď
máš dvě kopie lekce 5.3, originál a souborovou verzi.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRNUTÍ LEKCE 5
1. :!příkaz vykoná vnější příkaz.
Některé užitečné příklady jsou:
(MS-DOS) (Unix)
:!dir :!ls - zobrazí obsah souboru.
:!del SOUBOR :!rm SOUBOR - odstraní SOUBOR.
2. :w SOUBOR uloží aktuální text jako SOUBOR na disk.
3. :#,#w SOUBOR uloží řádky od # do # do SOUBORU.
4. :r SOUBOR vybere z disku SOUBOR a vloží ho do editovaného souboru
za pozici kurzoru.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.1: PŘÍKAZ OTEVŘÍT
** Napiš o pro vložení řádku pod kurzor a přepnutí do Vkládacího módu. **
1. Přemísti kurzor níže na řádek označený --->.
2. Napiš o (malé) pro vložení řádku POD kurzor a přepnutí do
Vkládacího módu.
3. Nyní zkopíruj řádek označený ---> a stiskni <ESC> pro ukončení
Vkládacího módu.
---> Po stisknutí o se kurzor přemístí na vložený řádek do Vkládacího
módu.
4. Pro otevření řádku NAD kurzorem jednoduše napiš velké O , místo
malého o. Vyzkoušej si to na následujícím řádku.
Vlož řádek nad tímto napsáním Shift-O po umístění kurzoru na tento řádek.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.2: PŘÍKAZ PŘIDAT
** Stiskni a pro vložení textu ZA kurzor. **
1. Přesuň kurzor na níže na konec řádky označené --->
stisknutím $ v Normálním módu.
2. Stiskni a (malé) pro přidání textu ZA znak, který je pod kurzorem.
(Velké A přidá na konec řádku.)
Poznámka: Tímto se vyhneš stisknutí i , posledního znaku, textu na vložení,
<ESC>, kurzor doprava, a nakonec x na přidávání na konec řádku!
3. Nyní dokončí první řádek. Všimni si, že přidávání je vlastně stejné jako
Vkládací mód, kromě místa, kam se text vkládá.
---> Tento řádek ti umožňuje nacvičit
---> Tento řádek ti umožňuje nacvičit přidávání textu na konec řádky.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.3: JINÝ ZPŮSOB NAHRAZOVÁNÍ
** Napiš velké R pro nahrazení víc než jednoho znaku. **
1. Přesuň kurzor na první řádek označený --->.
2. Umísti kurzor na začátek prvního slova, které je odlišné od druhého
řádku označeného ---> (slovo 'poslední').
3. Nyní stiskni R a nahraď zbytek textu na prvním řádku přepsáním
starého textu tak, aby byl první řádek stejný jako ten druhý.
---> Pro upravení prvního řádku do tvaru toho poslední na straně použij kl.
---> Pro upravení prvního řádku do tvaru toho druhého, napiš R a nový text.
4. Všimni si, že jakmile stiskneš <ESC> všechen nezměněný text zůstává.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lekce 6.4: NASTAVENÍ MOŽNOSTÍ
** Nastav možnost, že vyhledávání anebo nahrazování nedbá velikosti písmen **
1. Vyhledej řetězec 'ignore' napsáním:
/ignore
Zopakuj několikrát stisknutí klávesy n.
2. Nastav možnost 'ic' (Ignore case) napsáním příkazu:
:set ic
3. Nyní znovu vyhledej 'ignore' stisknutím: n
Několikrát hledání zopakuj stisknutím klávesy n.
4. Nastav možnosti 'hlsearch' a 'incsearch':
:set hls is
5. Nyní znovu vykonej vyhledávací příkaz a sleduj, co se stane:
/ignore
6. Pro vypnutí zvýrazňování výsledků napiš:
:nohlsearch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SHRHNUTÍ LEKCE 6
1. Stisknutí o otevře nový řádek POD kurzorem a umístí kurzor na vložený
řádek do Vkládacího módu.
Napsání velkého O otevře řádek NAD řádkem, na kterém je kurzor.
2. Stiskni a pro vložení textu ZA znak na pozici kurzoru.
Napsání velkého A automaticky přidá text na konec řádku.
3. Stisknutí velkého R přepne do Nahrazovacího módu, dokud
nestiskneš <ESC> pro jeho ukončení.
4. Napsání ":set xxx" nastaví možnosti "xxx".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCE 7: PŘÍKAZY ON-LINE NÁPOVĚDY
** Používej on-line systém nápovědy **
Vim má obsáhlý on-line systém nápovědy. Pro začátek vyzkoušej jeden z
následujících:
- stiskni klávesu <HELP> (pokud ji máš)
- stiskni klávesu <F1> (pokud ji máš)
- napiš :help <ENTER>
Napiš :q <ENTER> pro uzavření okna nápovědy.
Můžeš najít nápovědu k jakémukoliv tématu přidáním argumentu k
příkazu ":help". Zkus tyto (nezapomeň stisknout <ENTER>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LEKCE 8: VYTVOŘENÍ INICIALIZAČNÍHO SKRIPTU
** Zapni funkce editoru Vim **
Vim má daleko více funkcí než Vi, ale většina z nich je vypnuta ve výchozím
nastavení. Pro zapnutí některých vytvoř soubor "vimrc".
1. Začni upravovat soubor "vimrc". Toto závisí na použitém systému:
:edit ~/.vimrc pro Unix
:edit $VIM/_vimrc pro MS-Windows
2. Nyní čti ukázkový "vimrc" soubor:
:read $VIMRUNTIME/vimrc_example.vim
3. Ulož soubor pomocí:
:write
Po příštím startu Vim se zapne zvýrazňování syntaxe.
Do souboru "vimrc" můžeš přidat všechny svoje upřednostňované nastavení.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Toto ukončuje výuku Vim, která byla myšlená jako stručný přehled
editoru Vim, tak akorát postačující pro lehké a obstojné používání editoru.
Tato výuka má daleko od úplnosti, protože Vim obsahuje podstatně více
příkazů. Dále si přečti uživatelský manuál: ":help user-manual".
Pro další studium je doporučená kniha:
Vim - Vi Improved - od Steve Oualline
Nakladatel: New Riders
První kniha určená pro Vim. Obzvláště vhodná pro začátečníky.
Obsahuje množství příkladů a obrázků.
viz http://iccf-holland.org/click5.html
Tato kniha je starší a více věnovaná Vi než Vim, ale také doporučená:
Learning the Vi Editor - od Linda Lamb
Nakladatel: O'Reilly & Associates Inc.
Je to dobrá kniha pro získání vědomostí téměř o všem, co můžete s Vi dělat.
Šesté vydání obsahuje též informace o Vim.
Tato výuka byla napsaná autory Michael C. Pierce a Robert K. Ware,
Colorado School of Mines s použitím myšlenek od: Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
Upravil pro Vim: Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Překlad do češtiny: Luboš Turek
E-Mail: lubos.turek@gmail.com
2007 Feb 28

Some files were not shown because too many files have changed in this diff Show More