diff options
171 files changed, 25389 insertions, 33064 deletions
diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim index 0f013d79b..6850e19a0 100644 --- a/runtime/autoload/ccomplete.vim +++ b/runtime/autoload/ccomplete.vim @@ -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 diff --git a/runtime/autoload/spellfile.vim b/runtime/autoload/spellfile.vim index b9e17f1f1..1ca76a4ae 100644 --- a/runtime/autoload/spellfile.vim +++ b/runtime/autoload/spellfile.vim @@ -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' diff --git a/runtime/autoload/sqlcomplete.vim b/runtime/autoload/sqlcomplete.vim index c803932c2..eecb3260f 100644 --- a/runtime/autoload/sqlcomplete.vim +++ b/runtime/autoload/sqlcomplete.vim @@ -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 diff --git a/runtime/autoload/tar.vim b/runtime/autoload/tar.vim index 6c172386c..35ef7fd25 100644 --- a/runtime/autoload/tar.vim +++ b/runtime/autoload/tar.vim @@ -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,12 +44,33 @@ endif if !exists("g:tar_writeoptions") let g:tar_writeoptions= "uf" endif + +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:netrw_cygwin= 0 + endif +endif + +" set up shell quoting character if !exists("g:tar_shq") - if has("unix") - let 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= '"' + let g:tar_shq= "'" endif +" call Decho("g:tar_shq<".g:tar_shq.">") endif " ---------------- @@ -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 fname =~ '\.gz$' && executable("zcat") + let decmp= "|zcat" + let doro = 1 + elseif fname =~ '\.bz2$' && executable("bzcat") + let decmp= "|bzcat" + let doro = 1 + else + let decmp="" + let doro = 0 + if fname =~ '\.gz$\|\.bz2$\|\.Z$\|\.zip$' + setlocal bin + endif + endif + 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."'" +" 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("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."'" +" 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("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 +" 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 diff --git a/runtime/autoload/xml/html32.vim b/runtime/autoload/xml/html32.vim index 9b971d6fa..242f52b1a 100644 --- a/runtime/autoload/xml/html32.vim +++ b/runtime/autoload/xml/html32.vim @@ -381,4 +381,3 @@ let g:xmldata_html32 = { \ 'param': ['/>', ''], \ } \ } -" vim:ft=vim:ff=unix diff --git a/runtime/autoload/xml/html401s.vim b/runtime/autoload/xml/html401s.vim index 8f7264864..37f581ba2 100644 --- a/runtime/autoload/xml/html401s.vim +++ b/runtime/autoload/xml/html401s.vim @@ -408,4 +408,3 @@ let g:xmldata_html401s = { \ 'param': ['/>', ''], \ } \ } -" vim:ft=vim:ff=unix diff --git a/runtime/autoload/xml/xhtml10s.vim b/runtime/autoload/xml/xhtml10s.vim index ec8300ed3..3fb7cf8c4 100644 --- a/runtime/autoload/xml/xhtml10s.vim +++ b/runtime/autoload/xml/xhtml10s.vim @@ -408,4 +408,3 @@ let g:xmldata_xhtml10s = { \ 'param': ['/>', ''], \ } \ } -" vim:ft=vim:ff=unix diff --git a/runtime/autoload/xml/xhtml10t.vim b/runtime/autoload/xml/xhtml10t.vim index 9a9041897..0e857ac9b 100644 --- a/runtime/autoload/xml/xhtml10t.vim +++ b/runtime/autoload/xml/xhtml10t.vim @@ -458,4 +458,3 @@ let g:xmldata_xhtml10t = { \ 'param': ['/>', ''], \ } \ } -" vim:ft=vim:ff=unix diff --git a/runtime/compiler/rubyunit.vim b/runtime/compiler/rubyunit.vim index 218ba60d0..74a6f0196 100644 --- a/runtime/compiler/rubyunit.vim +++ b/runtime/compiler/rubyunit.vim @@ -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: diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt index c07566052..f489a7a06 100644 --- a/runtime/doc/farsi.txt +++ b/runtime/doc/farsi.txt @@ -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 diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 21019b27e..db3fe4e5e 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -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* diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt new file mode 100644 index 000000000..bec0f78fb --- /dev/null +++ b/runtime/doc/ft_ada.txt @@ -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 diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt index cb76fb42c..3ad8f4fdd 100644 --- a/runtime/doc/howto.txt +++ b/runtime/doc/howto.txt @@ -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 diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index b00e4514b..b830c57a0 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -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> -- -- diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt index 5cbb22f8a..3f2647f31 100644 --- a/runtime/doc/os_amiga.txt +++ b/runtime/doc/os_amiga.txt @@ -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 diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt index 7aae986f9..2156f65e8 100644 --- a/runtime/doc/os_dos.txt +++ b/runtime/doc/os_dos.txt @@ -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 diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt index 0403577bf..afc05ddea 100644 --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -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". diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt index afb69b5e4..900e768fc 100644 --- a/runtime/doc/pi_spec.txt +++ b/runtime/doc/pi_spec.txt @@ -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 ~ diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index a40cb9e49..26e2e7e88 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -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|.) diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt index 5b328c1f2..85b050762 100644 --- a/runtime/doc/remote.txt +++ b/runtime/doc/remote.txt @@ -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. diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt index c11e99366..91fc4c8fe 100644 --- a/runtime/doc/scroll.txt +++ b/runtime/doc/scroll.txt @@ -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 diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index acde5428b..0a0c0a887 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -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* - -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:vim_minlines : used to set synchronization minlines - g:vim_maxlines : used to set synchronization maxlines - -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:vimembedscript == 1 (default) <vim.vim> will allow highlighting - g:vimembedscript doesn't exist of supported embedded scripting - languages: perl, python, ruby and - tcl. - - g:vimembedscript == 0 Syntax highlighting for embedded - scripting languages will not be - loaded. +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). > + 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:vimsyn_embed* +The g:vimsyn_embed option allows users to select what, if any, types of +embedded script highlighting they wish to have. > + + 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* + +Some folding is now supported with syntax/vim.vim: > + + 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: > - - let g:vimsyntax_noerror = 1 +highlighting is to put the following line in your |vimrc|: > -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. diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt index d85c42563..46dc18e91 100644 --- a/runtime/doc/tagsrch.txt +++ b/runtime/doc/tagsrch.txt @@ -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 diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 996bc464b..b60696897 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -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. + +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) -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. +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. + +":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. -When 'virtualedit' is set a "p" of a block just past the end of the line -inserts before the cursor. (Engelke) +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. + +Error when cancelling completion menu and auto-formatting. (Tim Weber, 2008 +Apr 17) -Redraw problem in loop. (Yakov Lerner, 2006 Sep 7) +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) -Problem finding swap file for recovery. (Gautam Iyer, 2006 May 16) +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? -When setting 'keymap' twice the b:keymap_name variable isn't set. (Milan -Berta, 2007 Mar 9) Has something to do with 'iminsert'. +Cursor displayed in the wrong position when using 'numberwidth'. (James Vega, +2007 Jun 21) -Problem with CursorHoldI? (Max Dyckhoff, 2006 Nov 10) +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) 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. -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) +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.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 diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt index 8f785be63..b8f9c4ddb 100644 --- a/runtime/doc/usr_04.txt +++ b/runtime/doc/usr_04.txt @@ -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 diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index 5486810a6..bfa3926de 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -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 diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt index 4e57b4e66..626af3d00 100644 --- a/runtime/doc/usr_06.txt +++ b/runtime/doc/usr_06.txt @@ -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 diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt index a0c8a310f..86a46ecad 100644 --- a/runtime/doc/usr_07.txt +++ b/runtime/doc/usr_07.txt @@ -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 diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt index ed272f68c..7e2f413d4 100644 --- a/runtime/doc/usr_12.txt +++ b/runtime/doc/usr_12.txt @@ -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 diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt index 49ca93b1c..84c58f7d0 100644 --- a/runtime/doc/usr_20.txt +++ b/runtime/doc/usr_20.txt @@ -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 diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt index 5f4b55771..499851135 100644 --- a/runtime/doc/usr_30.txt +++ b/runtime/doc/usr_30.txt @@ -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>. diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index 8c564c616..16b2d0d1a 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -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} diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 589e59aff..786a0b325 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.1. Last change: 2007 May 12 +*version7.txt* For Vim version 7.2a. Last change: 2008 Jun 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -51,6 +51,11 @@ Changed |changed-7.1| Added |added-7.1| Fixed |fixed-7.1| +VERSION 7.2 |version-7.2| +Changed |changed-7.2| +Added |added-7.2| +Fixed |fixed-7.2| + ============================================================================== INCOMPATIBLE CHANGES *incompatible-7* @@ -1161,7 +1166,7 @@ Kana (Edward L. Fox) New message translations: ~ -The Ukranian messages are now also available in cp1251. +The Ukrainian messages are now also available in cp1251. Vietnamese message translations and menu. (Phan Vinh Thinh) @@ -4615,6 +4620,2156 @@ Solution: Use the same mechanism as in mch_total_mem(): first reduce the multiplier as much as possible. Files: src/memfile.c +============================================================================== +VERSION 7.2 *version-7.2* + +This section is about improvements made between version 7.1 and 7.2. + +This is mostly a bug-fix release. The main new feature is floating point +support. |Float| + + +Changed *changed-7.2* +------- + +Changed the command line buffer name from "command-line" to "[Command Line]". + +Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr", +":lgetexpr" and ":lgetfile". They are not needed. (Yegappan Lakshmanan) + +An offset for syntax matches worked on bytes instead of characters. That is +inconsistent and can easily be done wrong. Use character offsets now. +(Yukihiro Nakadaira) + +The FileChangedShellPost event was also given when a file didn't change. +(John Little) + +When the current line is long (doesn't fit) the popup menu can't be seen. +Display it below the screen line instead of below the text line. +(Francois Ingelrest) + +Switched to autoconf version 2.62. + +Moved including fcntl.h to vim.h and removed it from all .c files. + +Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings. +Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1). + + +Added *added-7.2* +----- + +New syntax files: + Cdrdao config (Nikolai Weibull) + Coco/R (Ashish Shukla) + CUDA (Timothy B. Terriberry) + denyhosts config (Nikolai Weibull) + Dtrace script (Nicolas Weber) + Git output, commit, config, rebase, send-email (Tim Pope) + HASTE (M. Tranchero) + Host conf (Nikolai Weibull) + Linden script (Timo Frenay) + Symbian meta-makefile, MMP (Ron Aaron) + MS messages (Kevin Locke) + PDF (Tim Pope) + ProMeLa (Maurizio Tranchero) + Reva Foth (Ron Aaron) + VOS CM macro (Andrew McGill) + XBL (Doug Kearns) + +New tutor files: + Made UTF-8 versions of all the tutor files. + Greek renamed from ".gr" to ".el" (Greek vs Greece). + Esperanto (Dominique Pelle) + Croatian (Paul B. Mahol) + +New filetype plugins: + Cdrdao config (Nikolai Weibull) + Debian control files (Debian Vim maintainers) + Denyhosts (Nikolai Weibull) + Dos .ini file (Nikolai Weibull) + Dtrace script (Nicolas Weber) + Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope) + Host conf (Nikolai Weibull) + MS messages (Kevin Locke) + PDF (Tim Pope) + Reva Forth (Ron Aaron) + +New indent files: + Dtrace script (Nicolas Weber) + Erlang (Csaba Hoch) + Git config (Tim Pope) + Tiny Fugue (Christian J. Robinson) + +New keymap files: + Croatian (Paul B. Mahol) + Russian Dvorak (Serhiy Boiko) + Ukrainian Dvorak (Serhiy Boiko) + +Other new runtime files: + Esperanto menus and message translations. (Dominique Pelle) + Finnish translation of menus and messages. (Flammie Pirinen) + +Added floating point support. |Float| + +Added argument to mode() to return a bit more detail about the current mode. +(Ben Schmidt) + +Added support for BSD console mouse: |sysmouse|. (Paul Mahol) + +Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan +Lakshmanan) + +Improved error messages for the netbeans interface. (Philippe Fremy) + +Added support for using xterm mouse codes for screen. (Micah Cowan) + +Added support for cross compiling: +Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko) Fixed +mistakes in configure.in after that. +Don't use /usr/local/include and /usr/local/lib in configure. (Philip +Prindeville) +For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in +src/vim.rc. (Tsuneo Nakagawa) + +Added v:searchforward variable: What direction we're searching in. (Yakov +Lerner) + + +Fixed *fixed-7.2* +----- + +Patch 7.1.001 +Problem: Still can't build with Gnome libraries. +Solution: Fix typo in bind_textdomain_codeset. (Mike Kelly) +Files: src/gui_gtk.c, src/gui_gtk_x11.c + +Patch 7.1.002 +Problem: Oracle Pro*C/C++ files are not detected. +Solution: Add the missing star. (Micah J. Cowan) +Files: runtime/filetype.vim + +Patch 7.1.003 (extra) +Problem: The "Tear off this menu" message appears in the message history + when using a menu. (Yongwei Wu) +Solution: Disable message history when displaying the menu tip. +Files: src/gui_w32.c + +Patch 7.1.004 +Problem: Crash when doing ":next directory". (Raphael Finkel) +Solution: Do not use "buf", it may be invalid after autocommands. +Files: src/ex_cmds.c + +Patch 7.1.005 +Problem: "cit" used on <foo></foo> deletes <foo>. Should not delete + anything and start insertion, like "ci'" does on "". (Michal + Bozon) +Solution: Handle an empty object specifically. Made it work consistent for + various text objects. +Files: src/search.c + +Patch 7.1.006 +Problem: Resetting 'modified' in a StdinReadPost autocommand doesn't work. +Solution: Set 'modified' before the autocommands instead of after it. +Files: src/buffer.c + +Patch 7.1.007 (extra) +Problem: Mac: Context menu doesn't work on Intel Macs. + Scrollbars are not dimmed when Vim is not the active application. +Solution: Remove the test whether context menus are supported. They are + always there in OS/X. Handle the dimming. (Nicolas Weber) +Files: src/gui_mac.c, src/gui.h + +Patch 7.1.008 +Problem: getfsize() returns a negative number for very big files. +Solution: Check for overflow and return -2. +Files: runtime/doc/eval.txt, src/eval.c + +Patch 7.1.009 +Problem: In diff mode, displaying the difference between a tab and spaces + is not highlighted correctly. +Solution: Only change highlighting at the end of displaying a tab. +Files: src/screen.c + +Patch 7.1.010 +Problem: The Gnome session file doesn't restore tab pages. +Solution: Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio) +Files: src/gui_gtk_x11.c + +Patch 7.1.011 +Problem: Possible buffer overflow when $VIMRUNTIME is very long. (Victor + Stinner) +Solution: Use vim_snprintf(). +Files: src/main.c + +Patch 7.1.012 +Problem: ":let &shiftwidth = 'asdf'" doesn't produce an error message. +Solution: Check for a string argument. (Chris Lubinski) +Files: src/option.c + +Patch 7.1.013 +Problem: ":syn include" only loads the first file, while it is documented + as doing the equivalent of ":runtime!". +Solution: Change the argument to source_runtime(). (James Vega) +Files: src/syntax.c + +Patch 7.1.014 +Problem: Crash when doing C indenting. (Chris Monson) +Solution: Obtain the current line again after invoking cin_islabel(). +Files: src/edit.c + +Patch 7.1.015 +Problem: MzScheme interface: current-library-collection-paths produces no + list. Interface doesn't build on a Mac. +Solution: Use a list instead of a pair. (Bernhard Fisseni) Use "-framework" + argument for MZSCHEME_LIBS in configure. +Files: src/configure.in, src/if_mzsch.c, src/auto/configure + +Patch 7.1.016 (after patch 7.1.012) +Problem: Error message about setting 'diff' to a string. +Solution: Don't pass an empty string to set_option_value() when setting + 'diff'. +Files: src/quickfix.c, src/popupmnu.c + +Patch 7.1.017 +Problem: ":confirm w" does give a prompt when 'readonly' is set, but not + when the file permissions are read-only. (Michael Schaap) +Solution: Provide a dialog in both situations. (Chris Lubinski) +Files: src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro + +Patch 7.1.018 +Problem: When 'virtualedit' is set a "p" of a block just past the end of + the line inserts before the cursor. (Engelke) +Solution: Check for the cursor being just after the line (Chris Lubinski) +Files: src/ops.c + +Patch 7.1.019 +Problem: ":py" asks for an argument, ":py asd" then gives the error that + ":py" isn't implemented. Should already happen for ":py". +Solution: Compare with ex_script_ni. (Chris Lubinski) +Files: src/ex_docmd.c + +Patch 7.1.020 +Problem: Reading from uninitialized memory when using a dialog. (Dominique + Pelle) +Solution: In msg_show_console_dialog() append a NUL after every appended + character. +Files: src/message.c + +Patch 7.1.021 (after 7.1.015) +Problem: Mzscheme interface doesn't compile on Win32. +Solution: Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev) +Files: src/if_mzsch.c + +Patch 7.1.022 +Problem: When setting 'keymap' twice the b:keymap_name variable isn't set. + (Milan Berta) +Solution: Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft) +Files: src/digraph.c + +Patch 7.1.023 +Problem: "dw" in a line with one character deletes the line. Vi and nvi + don't do this. (Kjell Arne Rekaa) +Solution: Check for one-character words especially. +Files: src/search.c + +Patch 7.1.024 +Problem: Using a pointer that has become invalid. (Chris Monson) +Solution: Obtain the line pointer again after we looked at another line. +Files: src/search.c + +Patch 7.1.025 +Problem: search() and searchpos() don't use match under cursor at start of + line when using 'bc' flags. (Viktor Kojouharov) +Solution: Don't go to the previous line when the 'c' flag is present. + Also fix that "j" doesn't move the cursor to the right column. +Files: src/eval.c, src/search.c + +Patch 7.1.026 +Problem: "[p" doesn't work in Visual mode. (David Brown) +Solution: Use checkclearop() instead of checkclearopq(). +Files: src/normal.c + +Patch 7.1.027 +Problem: On Sun systems opening /dev/fd/N doesn't work, and they are used + by process substitutions. +Solution: Allow opening specific character special files for Sun systems. + (Gary Johnson) +Files: src/fileio.c, src/os_unix.h + +Patch 7.1.028 +Problem: Can't use last search pattern for ":sort". (Brian McKee) +Solution: When the pattern is emtpy use the last search pattern. (Martin + Toft) +Files: runtime/doc/change.txt, src/ex_cmds.c + +Patch 7.1.029 (after 7.1.019) +Problem: Can't compile when all interfaces are used. (Taylor Venable) +Solution: Only check for ex_script_ni when it's defined. +Files: src/ex_docmd.c + +Patch 7.1.030 +Problem: The "vimtutor" shell script checks for "vim6" but not for "vim7". + (Christian Robinson) +Solution: Check for more versions, but prefer using "vim". +Files: src/vimtutor + +Patch 7.1.031 +Problem: virtcol([123, '$']) doesn't work. (Michael Schaap) +Solution: When '$' is used for the column number get the last column. +Files: runtime/doc/eval.txt, src/eval.c + +Patch 7.1.032 +Problem: Potential crash when editing a command line. (Chris Monson) +Solution: Check the position to avoid access before the start of an array. +Files: src/ex_getln.c + +Patch 7.1.033 +Problem: A buffer is marked modified when it was first deleted and then + added again using a ":next" command. (John Mullin) +Solution: When checking if a buffer is modified use the BF_NEVERLOADED flag. +Files: src/option.c + +Patch 7.1.034 +Problem: Win64: A few compiler warnings. Problems with optimizer. +Solution: Use int instead of size_t. Disable the optimizer in one function. + (George V. Reilly) +Files: src/eval.c, src/spell.c + +Patch 7.1.035 +Problem: After ":s/./&/#" all listed lines have a line number. (Yakov + Lerner) +Solution: Reset the line number flag when not using the "&" flag. +Files: src/ex_cmds.c + +Patch 7.1.036 +Problem: Completing ":echohl" argument should include "None". (Ori + Avtalion) ":match" should have "none" too. +Solution: Add flags to use expand_highlight(). Also fix that when disabling + FEAT_CMDL_COMPL compilation fails. (Chris Lubinski) +Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro + src/syntax.c + +Patch 7.1.037 +Problem: strcpy() used for overlapping strings. (Chris Monson) +Solution: Use mch_memmove() instead. +Files: src/option.c + +Patch 7.1.038 +Problem: When 'expandtab' is set then a Tab copied for 'copyindent' is + expanded to spaces, even when 'preserveindent' is set. (Alexei + Alexandrov) +Solution: Remove the check for 'expandtab'. Also fix that ">>" doesn't obey + 'preserveindent'. (Chris Lubinski) +Files: src/misc1.c + +Patch 7.1.039 +Problem: A tag in a help file that starts with "help-tags" and contains a + percent sign may make Vim crash. (Ulf Harnhammar) +Solution: Use puts() instead of fprintf(). +Files: src/ex_cmds.c + +Patch 7.1.040 +Problem: ":match" only supports three matches. +Solution: Add functions clearmatches(), getmatches(), matchadd(), + matchdelete() and setmatches(). Changed the data structures for + this. A small bug in syntax.c is fixed, so newly created + highlight groups can have their name resolved correctly from their + ID. (Martin Toft) +Files: runtime/doc/eval.txt, runtime/doc/pattern.txt, + runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c, + src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c, + src/testdir/Makefile, src/testdir/test63.in, + src/testdir/test63.ok, src/window.c + +Patch 7.1.041 (extra, after 7.1.040) +Problem: Some changes for patch 7.1.040 are in extra files. +Solution: Update the extra files. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms + +Patch 7.1.042 (after 7.1.040) +Problem: Internal error when using matchadd(). (David Larson) +Solution: Check the third argument to be present before using the fourth + argument. (Martin Toft) +Files: src/eval.c + +Patch 7.1.043 +Problem: In Ex mode using CTRL-D twice may cause a crash. Cursor isn't + positioned properly after CTRL-D. +Solution: Set prev_char properly. Position the cursor correctly. (Antony + Scriven) +Files: src/ex_getln.c + +Patch 7.1.044 +Problem: In Insert mode 0 CTRL-T deletes all indent, it should add indent. + (Gautam Iyer) +Solution: Check for CTRL-D typed. +Files: src/edit.c + +Patch 7.1.045 +Problem: Unnecessary screen redrawing. (Jjgod Jiang) +Solution: Reset "must_redraw" after clearing the screen. +Files: src/screen.c + +Patch 7.1.046 +Problem: ":s" command removes combining characters. (Ron Aaron) +Solution: Copy composing characters individually. (Chris Lubinski) +Files: src/regexp.c + +Patch 7.1.047 +Problem: vim_regcomp() called with invalid argument. (Xiaozhou Liu) +Solution: Change TRUE to RE_MAGIC + RE_STRING. +Files: src/ex_eval.c + +Patch 7.1.048 +Problem: The matchparen plugin doesn't update the match when scrolling with + the mouse wheel. (Ilya Bobir) +Solution: Set the match highlighting for text that can be scrolled into the + viewable area without moving the cursor. (Chris Lubinski) +Files: runtime/plugin/matchparen.vim + +Patch 7.1.049 +Problem: Cannot compile GTK2 version with Hangul input feature. +Solution: Don't define FEAT_XFONTSET when using GTK2. +Files: src/feature.h + +Patch 7.1.050 +Problem: Possible crash when using C++ indenting. (Chris Monson) +Solution: Keep the line pointer to the line to compare with. Avoid going + past the end of line. +Files: src/misc1.c + +Patch 7.1.051 +Problem: Accessing uninitialized memory when finding spell suggestions. +Solution: Don't try swapping characters at the end of a word. +Files: src/spell.c + +Patch 7.1.052 +Problem: When creating a new match not all fields are initialized, which + may lead to unpredictable results. +Solution: Initialise rmm_ic and rmm_maxcol. +Files: src/window.c + +Patch 7.1.053 +Problem: Accessing uninitialized memory when giving a message. +Solution: Check going the length before checking for a NUL byte. +Files: src/message.c + +Patch 7.1.054 +Problem: Accessing uninitialized memory when displaying the fold column. +Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in + a couple of other situations. +Files: src/screen.c + +Patch 7.1.055 +Problem: Using strcpy() with arguments that overlap. +Solution: Use mch_memmove() instead. +Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c, + src/misc1.c, src/regexp.c, src/termlib.c + +Patch 7.1.056 +Problem: More prompt does not behave correctly after scrolling back. + (Randall W. Morris) +Solution: Avoid lines_left becomes negative. (Chris Lubinski) Don't check + mp_last when deciding to show the more prompt. (Martin Toft) +Files: src/message.c + +Patch 7.1.057 +Problem: Problem with CursorHoldI when using "r" in Visual mode (Max + Dyckhoff) +Solution: Ignore CursorHold(I) when getting a second character for a Normal + mode command. Also abort the "r" command in Visual when a special + key is typed. +Files: src/normal.c + +Patch 7.1.058 +Problem: When 'rightleft' is set the completion menu is positioned wrong. + (Baha-Eddine MOKADEM) +Solution: Fix the completion menu. (Martin Toft) +Files: src/popupmnu.c, src/proto/search.pro, src/search.c + +Patch 7.1.059 +Problem: When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim + hangs and beeps. (Antony Scriven) +Solution: Clear "got_int" in the main loop to avoid the hang. When typing + CTRL-C twice in a row abort the ":g" command. This is Vi + compatible. +Files: src/main.c + +Patch 7.1.060 +Problem: Splitting quickfix window messes up window layout. (Marius + Gedminas) +Solution: Compute the window size in a smarter way. (Martin Toft) +Files: src/window.c + +Patch 7.1.061 +Problem: Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for + characters with umlaut. (Joachim Hofmann) +Solution: Do not use islower()/isupper()/tolower()/toupper() but our own + functions. (Chris Lubinski) +Files: src/mbyte.c, src/regexp.c, src/vim.h + +Patch 7.1.062 (after 7.1.038) +Problem: Indents of C comments can be wrong. (John Mullin) +Solution: Adjust ind_len. (Chris Lubinski) +Files: src/misc1.c + +Patch 7.1.063 (after 7.1.040) +Problem: Warning for unitialized variable. +Solution: Initialise it to NULL. +Files: src/ex_docmd.c + +Patch 7.1.064 +Problem: On Interix some files appear not to exist. +Solution: Remove the top bit from st_mode. (Ligesh) +Files: src/os_unix.c + +Patch 7.1.065 (extra) +Problem: Win32: Compilation problem for newer version of w32api. +Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe) +Files: src/Make_ming.mak, src/iid_ole.c + +Patch 7.1.066 +Problem: When 'bomb' is set or reset the file should be considered + modified. (Tony Mechelynck) +Solution: Handle like 'endofline'. (Martin Toft) +Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h + +Patch 7.1.067 +Problem: 'thesaurus' doesn't work when 'infercase' is set. (Mohsin) +Solution: Don't copy the characters being completed but check the case and + apply it to the suggested word. Also fix that the first word in + the thesaurus line is not used. (Martin Toft) +Files: src/edit.c + +Patch 7.1.068 +Problem: When 'equalalways' is set and splitting a window, it's possible + that another small window gets bigger. +Solution: Only equalize window sizes when after a split the windows are + smaller than another window. (Martin Toft) +Files: runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c + +Patch 7.1.069 +Problem: GTK GUI: When using confirm() without a default button there still + is a default choice. +Solution: Ignore Enter and Space when there is no default button. (Chris + Lubinski) +Files: src/gui_gtk.c + +Patch 7.1.070 (extra) +Problem: Win32 GUI: When using confirm() without a default button there + still is a default choice. +Solution: Set focus on something else than a button. (Chris Lubinski) +Files: src/gui_w32.c + +Patch 7.1.071 (after 7.1.040) +Problem: Regexp patterns are not tested. +Solution: Add a basic test, to be expanded later. + Also add (commented-out) support for valgrind. +Files: src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.1.072 (extra, after 7.1.041 and 7.1.071) +Problem: Some changes for patch 7.1.071 are in extra files. +Solution: Update the extra files. Also fix a few warnings from the DOS test + makefile. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms + +Patch 7.1.073 (after 7.1.062) +Problem: Wrong cursor position and crash when 'preserveindent' is set. + (Charles Campbell) +Solution: Handle the situation that we start without indent. (Chris + Lubinski) +Files: src/misc1.c + +Patch 7.1.074 +Problem: Crash when calling string() on a recurively nested List. +Solution: Check result value for being NULL. (Yukihiro Nakadaira) +Files: src/eval.c + +Patch 7.1.075 +Problem: ":let v:statusmsg" reads memory already freed. +Solution: Don't set v:statusmsg when listing it. +Files: src/eval.c + +Patch 7.1.076 +Problem: Another strcpy() with overlapping arguments. +Solution: Use mch_memmove(). (Dominique Pelle) And another one. +Files: src/ex_docmd.c, src/normal.c + +Patch 7.1.077 +Problem: Using "can_spell" without initializing it. (Dominique Pelle) +Solution: Set a default for get_syntax_attr(). +Files: src/syntax.c + +Patch 7.1.078 +Problem: Dropping a file name on gvim that contains a CSI byte doesn't work + when editing the command line. +Solution: Escape the CSI byte when inserting in the input buffer. (Yukihiro + Nakadaira) +Files: src/gui.c, src/ui.c + +Patch 7.1.079 +Problem: When the locale is "C" and 'encoding' is "latin1" then the "@" + character in 'isfname', 'isprint', etc. doesn't pick up accented + characters. +Solution: Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER(). +Files: src/charset.c, src/macros.h + +Patch 7.1.080 (extra) +Problem: Compiler warnings for using "const char *" for "char *". +Solution: Add type casts. (Chris Sutcliffe) +Files: src/GvimExt/gvimext.cpp + +Patch 7.1.081 +Problem: Command line completion for a shell command: "cat </tmp/file<Tab>" + doesn't work. +Solution: Start the file name at any character that can't be in a file name. + (Martin Toft) +Files: src/ex_docmd.c + +Patch 7.1.082 +Problem: After a ":split" the matchparen highlighting isn't there. +Solution: Install a WinEnter autocommand. Also fixes that after + ":NoMatchParen" only the current window is updated. (Martin Toft) +Files: runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim + +Patch 7.1.083 (after 7.1.081) +Problem: Command line completion doesn't work with wildcards. +Solution: Add vim_isfilec_or_wc() and use it. (Martin Toft) +Files: src/charset.c, src/proto/charset.pro, src/ex_docmd.c + +Patch 7.1.084 +Problem: Using the "-nb" argument twice causes netbeans not to get + fileOpened events. +Solution: Change "&" to "&&". (Xavier de Gaye) +Files: src/ex_cmds.c + +Patch 7.1.085 +Problem: ":e fold.c" then ":sp fold.c" results in folds of original window + to disappear. (Akita Noek) +Solution: Invoke foldUpdateAll() for all windows of the changed buffer. + (Martin Toft) +Files: src/ex_cmds.c + +Patch 7.1.086 +Problem: Crash when using specific Python syntax highlighting. (Quirk) +Solution: Check for a negative index, coming from a keyword match at the + start of a line from a saved state. +Files: src/syntax.c + +Patch 7.1.087 +Problem: Reading past ":cscope find" command. Writing past end of a buffer. +Solution: Check length of the argument before using the pattern. Use + vim_strncpy(). (Dominique Pelle) +Files: if_cscope.c + +Patch 7.1.088 (extra) +Problem: The coordinates used by ":winpos" differ from what getwinposx() + and getwinposy() return. +Solution: Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry) +Files: src/gui_mac.c + +Patch 7.1.089 +Problem: ":let loaded_getscriptPlugin" doesn't clear to eol, result is + "#1in". +Solution: Clear to the end of the screen after displaying the first variable + value. +Files: src/eval.c + +Patch 7.1.090 +Problem: Compiler warning on Mac OS X 10.5. +Solution: Don't redeclare sigaltstack(). (Hisashi T Fujinaka) +Files: src/os_unix.c + +Patch 7.1.091 (extra) +Problem: Win32: Can't embed Vim inside another application. +Solution: Add the --windowid argument. (Nageshwar) +Files: runtime/doc/gui_w32.txt, runtime/doc/starting.txt, + runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c + +Patch 7.1.092 (extra, after 7.1.088) +Problem: Wrong arguments for MoveWindowStructure(). +Solution: Remove "TRUE". (Michael Henry) +Files: src/gui_mac.c + +Patch 7.1.093 +Problem: Reading past end of a screen line when determining cell width. + (Dominique Pelle) +Solution: Add an argument to mb_off2cells() for the maximum offset. +Files: src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro, + src/screen.c + +Patch 7.1.094 +Problem: When checking if syntax highlighting is present, looking in the + current buffer instead of the specified one. +Solution: Use "buf" instead of "curbuf". +Files: src/syntax.c + +Patch 7.1.095 +Problem: The FocusLost and FocusGained autocommands are triggered + asynchronously in the GUI. This may cause arbitrary problems. +Solution: Put the focus event in the input buffer and handle it when ready + for it. +Files: src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c, + src/keymap.h + +Patch 7.1.096 +Problem: Reading past end of a string when resizing Vim. (Dominique Pelle) +Solution: Check the string pointer before getting the char it points to. +Files: src/message.c + +Patch 7.1.097 +Problem: ":setlocal stl=%!1+1" does not work. +Solution: Adjust check for pointer. (Politz) +Files: src/option.c + +Patch 7.1.098 +Problem: ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula) +Solution: Before converting "s:" into a script ID, check if it is a Funcref. +Files: src/eval.c + +Patch 7.1.099 +Problem: When the 'keymap' and 'paste' options have a non-default value, + ":mkexrc" and ":mksession" do not correctly set the options. +Solution: Set the options with side effects before other options. +Files: src/option.c + +Patch 7.1.100 +Problem: Win32: Executing cscope doesn't always work properly. +Solution: Use another way to invoke cscope. (Mike Williams) +Files: src/if_cscope.c, src/if_cscope.h, src/main.c, + src/proto/if_cscope.pro + +Patch 7.1.101 +Problem: Ruby: The Buffer.line= method does not work. +Solution: Add the "self" argument to set_current_line(). (Jonathan Hankins) +Files: src/if_ruby.c + +Patch 7.1.102 +Problem: Perl interface doesn't compile with new version of Perl. +Solution: Add two variables to the dynamic library loading. (Suresh + Govindachar) +Files: src/if_perl.xs + +Patch 7.1.103 +Problem: Using "dw" with the cursor past the end of the last line (using + CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase) +Solution: Don't move the cursor back when the movement failed. +Files: src/normal.c + +Patch 7.1.104 (after 7.1.095) +Problem: When 'lazyredraw' is set a focus event causes redraw to be + postponed until a key is pressed. +Solution: Instead of not returning from vgetc() when a focus event is + encountered return K_IGNORE. Add plain_vgetc() for when the + caller doesn't want to get K_IGNORE. +Files: src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c, + src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c + +Patch 7.1.105 +Problem: Internal error when using "0 ? {'a': 1} : {}". (A.Politz) +Solution: When parsing a dictionary value without using the value, don't try + obtaining the key name. +Files: src/eval.c + +Patch 7.1.106 +Problem: ":messages" doesn't quit listing on ":". +Solution: Break the loop when "got_int" is set. +Files: src/message.c + +Patch 7.1.107 +Problem: When doing a block selection and using "s" to change the text, + while triggering auto-indenting, causes the wrong text to be + repeated in other lines. (Adri Verhoef) +Solution: Compute the change of indent and compensate for that. +Files: src/ops.c + +Patch 7.1.108 (after 7.1.100) +Problem: Win32: Compilation problems in Cscope code. (Jeff Lanzarotta) +Solution: Use (long) instead of (intptr_t) when it's not defined. +Files: src/if_cscope.c + +Patch 7.1.109 +Problem: GTK: when there are many tab pages, clicking on the arrow left of + the labels moves to the next tab page on the right. (Simeon Bird) +Solution: Check the X coordinate of the click and pass -1 as value for the + left arrow. +Files: src/gui_gtk_x11.c, src/term.c + +Patch 7.1.110 (after 7.1.102) +Problem: Win32: Still compilation problems with Perl. +Solution: Change the #ifdefs. (Suresh Govindachar) +Files: src/if_perl.xs + +Patch 7.1.111 +Problem: When using ":vimgrep" with the "j" flag folds from another buffer + may be displayed. (A.Politz) +Solution: When not jumping to another buffer update the folds. +Files: src/quickfix.c + +Patch 7.1.112 +Problem: Using input() with a wrong argument may crash Vim. (A.Politz) +Solution: Init the input() return value to NULL. +Files: src/eval.c + +Patch 7.1.113 +Problem: Using map() to go over an empty list causes memory to be freed + twice. (A.Politz) +Solution: Don't clear the typeval in restore_vimvar(). +Files: src/eval.c + +Patch 7.1.114 +Problem: Memory leak in getmatches(). +Solution: Don't increment the refcount twice. +Files: src/eval.c + +Patch 7.1.115 (after 7.1.105) +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Init variable to NULL. +Files: src/eval.c + +Patch 7.1.116 +Problem: Cannot display Unicode characters above 0x10000. +Solution: Remove the replacement with a question mark when UNICODE16 is not + defined. (partly by Nicolas Weber) +Files: src/screen.c + +Patch 7.1.117 +Problem: Can't check wether Vim was compiled with Gnome. (Tony Mechelynck) +Solution: Add gui_gnome to the has() list. +Files: src/eval.c + +Patch 7.1.118 (after 7.1.107) +Problem: Compiler warning for Visual C compiler. +Solution: Add typecast. (Mike Williams) +Files: src/ops.c + +Patch 7.1.119 +Problem: Crash when 'cmdheight' set to very large value. (A.Politz) +Solution: Limit 'cmdheight' to 'lines' minus one. Store right value of + 'cmdheight' when running out of room. +Files: src/option.c, src/window.c + +Patch 7.1.120 +Problem: Can't properly check memory leaks while running tests. +Solution: Add an argument to garbagecollect(). Delete functions and + variables in the test scripts. +Files: runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c, + src/testdir/Makefile, src/testdir/test14.in, + src/testdir/test26.in, src/testdir/test34.in, + src/testdir/test45.in, src/testdir/test47.in, + src/testdir/test49.in, src/testdir/test55.in, + src/testdir/test56.in, src/testdir/test58.in, + src/testdir/test59.in, src/testdir/test60.in, + src/testdir/test60.vim, src/testdir/test62.in, + src/testdir/test63.in, src/testdir/test64.in, + +Patch 7.1.121 +Problem: Using ":cd %:h" when editing a file in the current directory + results in an error message for using an empty string. +Solution: When "%:h" results in an empty string use ".". +Files: src/eval.c + +Patch 7.1.122 +Problem: Mac: building Vim.app fails. Using wrong architecture. +Solution: Use line continuation for the gui_bundle dependency. Detect the + system architecture with "uname -a". +Files: src/main.aap + +Patch 7.1.123 +Problem: Win32: ":edit foo ~ foo" expands "~". +Solution: Change the call to expand_env(). +Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c + +Patch 7.1.124 (extra) +Problem: Mac: When dropping a file on Vim.app that is already in the buffer + list (from .viminfo) results in editing an empty, unnamed buffer. + (Axel Kielhorn) Also: warning for unused variable. +Solution: Move to the buffer of the first agument. Delete unused variable. +Files: src/gui_mac.c + +Patch 7.1.125 +Problem: The TermResponse autocommand event is not always triggered. (Aron + Griffix) +Solution: When unblocking autocommands check if v:termresponse changed and + trigger the event then. +Files: src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c, + src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c + +Patch 7.1.126 (extra) +Problem: ":vimgrep */*" fails when a BufRead autocommand changes directory. + (Bernhard Kuhn) +Solution: Change back to the original directory after loading a file. + Also: use shorten_fname1() to avoid duplicating code. +Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c, + src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro, + src/quickfix.c + +Patch 7.1.127 +Problem: Memory leak when doing cmdline completion. (Dominique Pelle) +Solution: Free "orig" argument of ExpandOne() when it's not used. +Files: src/ex_getln.c + +Patch 7.1.128 (extra) +Problem: Build problems with new version of Cygwin. +Solution: Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen) +Files: src/Make_cyg.mak + +Patch 7.1.129 (extra) +Problem: Win32: Can't get the user name when it is longer than 15 + characters. +Solution: Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov) +Files: src/os_win32.c + +Patch 7.1.130 +Problem: Crash with specific order of undo and redo. (A.Politz) +Solution: Clear and adjust pointers properly. Add u_check() for debugging. +Files: src/undo.c, src/structs.h + +Patch 7.1.131 +Problem: ":mksession" always adds ":setlocal autoread". (Christian J. + Robinson) +Solution: Skip boolean global/local option using global value. +Files: src/option.c + +Patch 7.1.132 +Problem: getpos("'>") may return a negative column number for a Linewise + selection. (A.Politz) +Solution: Don't add one to MAXCOL. +Files: src/eval.c + +Patch 7.1.133 (after 7.1.126) +Problem: shorten_fname1() linked when it's not needed. +Solution: Add #ifdef. +Files: src/fileio.c + +Patch 7.1.134 (extra) +Problem: Win32: Can't build with VC8 +Solution: Detect the MSVC version instead of using NMAKE_VER. + (Mike Williams) +Files: src/Make_mvc.mak + +Patch 7.1.135 +Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two + buffers for the same file. (Suresh Govindachar) +Solution: Invoke FullName_save() when a path contains "//" or "\\". +Files: src/buffer.c + +Patch 7.1.136 +Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle) +Solution: Free the contained-in list. +Files: src/syntax.c + +Patch 7.1.137 +Problem: Build failure when using EXITFREE. (Dominique Pelle) +Solution: Add an #ifdef around using clip_exclude_prog. +Files: src/misc2.c + +Patch 7.1.138 +Problem: The Perl Msg() function doesn't stop when "q" is typed at the more + prompt. (Hari Krishna Dara) +Solution: Check got_int. +Files: src/if_perl.xs + +Patch 7.1.139 +Problem: When using marker folding and ending Insert mode with CTRL-C the + current fold is truncated. (Fred Kater) +Solution: Ignore got_int while updating folds. +Files: src/fold.c + +Patch 7.1.140 +Problem: v:count is set only after typing a non-digit, that makes it + difficult to make a nice mapping. +Solution: Set v:count while still typing the count. +Files: src/normal.c + +Patch 7.1.141 +Problem: GTK: -geom argument doesn't support a negative offset. +Solution: Compute position from the right/lower corner. +Files: src/gui_gtk_x11.c + +Patch 7.1.142 +Problem: ":redir @A>" doesn't work. +Solution: Ignore the extra ">" also when appending. (James Vega) +Files: src/ex_docmd.c + +Patch 7.1.143 +Problem: Uninitialized memory read when diffing three files. (Dominique + Pelle) +Solution: Remove "+ !notset" so that we don't use fields that were not + computed. +Files: src/diff.c + +Patch 7.1.144 +Problem: After ":diffup" cursor can be in the wrong position. +Solution: Force recomputing the cursor position. +Files: src/diff.c + +Patch 7.1.145 +Problem: Insert mode completion: When using the popup menu, after + completing a word and typing a non-word character Vim is still + completing the same word, following CTRL-N doesn't work. + Insert mode 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. +Solution: When typing a character that is not part of the item being + completed, stop complete mode. For whole line completion also + accept a space. For file name completion stop at a path + separator. + For omni completion stay in completion mode even if completing + with empty string. +Files: src/edit.c + +Patch 7.1.146 (extra) +Problem: VMS: Files with a very rare record organization (VFC) cannot be + properly written by Vim. + On older VAX systems mms runs into a syntax error. +Solution: Check for this special situation. Do not wrap a comment, make it + one long line. (Zoltan Arpadffy) +Files: src/fileio.c, src/Make_vms.mms + +Patch 7.1.147 (after 7.1.127) +Problem: Freeing memory already freed when completing user name. (Meino + Cramer) +Solution: Use a flag to remember if "orig" needs to be freed. +Files: src/ex_getln.c + +Patch 7.1.148 +Problem: Some types are not found by configure. +Solution: Test for the sys/types.h header file. (Sean Boudreau) +Files: src/configure.in, src/auto/configure + +Patch 7.1.149 +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>. +Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu. +Files: src/edit.c, src/gui.c + +Patch 7.1.150 +Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't + work correctly. (Jianrong Yu) +Solution: When 'clipboard' has "unnamed" also obtain the selection when + getting the default register. +Files: src/ops.c + +Patch 7.1.151 +Problem: Using whole line completion with 'ignorecase' and 'infercase' set + and the line is empty get an lalloc(0) error. +Solution: Don't try changing case for an empty match. (Matthew Wozniski) +Files: src/edit.c + +Patch 7.1.152 +Problem: Display problem when 'hls' and 'cursorcolumn' are set and + searching for "$". (John Mullin) Also when scrolling + horizontally when 'wrap' is off. +Solution: Keep track of the column where highlighting was set. Check the + column offset when skipping characters. +Files: src/screen.c + +Patch 7.1.153 +Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles + Campbell) +Solution: Add type casts. Init st_dev and st_ino separately. Don't use + type casts for vim_snprintf() when HAVE_STDARG_H is defined. + Define XpmAllocColor when needed. +Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c, + src/gui_xmebw.c + +Patch 7.1.154 +Problem: Compiler warning for signed/unsigned compare. +Solution: Add type cast. +Files: src/screen.c + +Patch 7.1.155 +Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega) +Solution: When there is only one branch use u_freeheader() to delete it. +Files: src/undo.c + +Patch 7.1.156 +Problem: Overlapping arguments for strcpy() when expanding command line + variables. +Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos. + (Dominique Pelle) +Files: src/ex_docmd.c + +Patch 7.1.157 +Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk) +Solution: Only give an error for an empty line, not for a comment. +Files: src/ex_docmd.c + +Patch 7.1.158 (extra) +Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the + result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding' + is "cp1250" (Lukas Cerman) +Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct + byte sequence. For cp1250, when conversion to 'encoding' results + in the 7th bit not set, set the 7th bit after conversion. +Files: src/os_win32.c, src/gui_w48.c + +Patch 7.1.159 +Problem: strcpy() has overlapping arguments. +Solution: Use mch_memmove() instead. (Dominique Pelle) +Files: src/ex_cmds.c + +Patch 7.1.160 +Problem: When a focus autocommand is defined, getting or losing focus + causes the hit-enter prompt to be redrawn. (Bjorn Winckler) +Solution: Overwrite the last line. +Files: src/message.c + +Patch 7.1.161 +Problem: Compilation errors with tiny features and EXITFREE. +Solution: Add #ifdefs. (Dominique Pelle) +Files: src/edit.c, src/misc2.c + +Patch 7.1.162 +Problem: Crash when using a modifier before "while" or "for". (A.Politz) +Solution: Skip modifiers when checking for a loop command. +Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c + +Patch 7.1.163 +Problem: Warning for the unknown option 'bufsecret'. +Solution: Remove the lines .vim that use this option. (Andy Wokula) +Files: runtime/menu.vim + +Patch 7.1.164 +Problem: Reading past end of regexp pattern. (Dominique Pelle) +Solution: Use utf_ptr2len(). +Files: src/regexp.c + +Patch 7.1.165 +Problem: Crash related to getting X window ID. (Dominique Pelle) +Solution: Don't trust the window ID that we got in the past, check it every + time. +Files: src/os_unix.c + +Patch 7.1.166 +Problem: Memory leak for using "gp" in Visual mode. +Solution: Free memory in put_register(). (Dominique Pelle) +Files: src/ops.c + +Patch 7.1.167 +Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789) +Solution: Allocate more memory. Fix check for maximum number of columns. +Files: src/xxd/xxd.c + +Patch 7.1.168 (extra) +Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have + focus, clicking in it doesn't position the cursor. (Juergen + Kraemer) +Solution: Don't reset s_button_pending just after receiving focus. +Files: src/gui_w48.c + +Patch 7.1.169 +Problem: Using uninitialized variable when system() fails. (Dominique + Pelle) +Solution: Let system() return an empty string when it fails. +Files: src/eval.c + +Patch 7.1.170 +Problem: Valgrind warning for overlapping arguments for strcpy(). +Solution: Use mch_memmove() instead. (Dominique Pelle) +Files: src/getchar.c + +Patch 7.1.171 +Problem: Reading one byte before allocated memory. +Solution: Check index not to become negative. (Dominique Pelle) +Files: src/ex_getln.c + +Patch 7.1.172 +Problem: When 'buftype' is "acwrite" Vim still checks if the file or + directory exists before overwriting. +Solution: Don't check for overwriting when the buffer name is not a file + name. +Files: src/ex_cmds.c + +Patch 7.1.173 +Problem: Accessing freed memory. (Dominique Pelle) +Solution: Don't call reg_getline() to check if a line is the first in the + file. +Files: src/regexp.c + +Patch 7.1.174 +Problem: Writing NUL past end of a buffer. +Solution: Copy one byte less when using strncat(). (Dominique Pelle) +Files: src/ex_cmds.c, src/ex_docmd.c, + +Patch 7.1.175 +Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and + 'backspace'. (Francois Ingelrest) +Solution: When adding white space results in not moving back delete one + character. +Files: src/edit.c + +Patch 7.1.176 +Problem: Building with Aap fails when the "compiledby" argument contains + '<' or '>' characters. (Alex Yeh) +Solution: Change how quoting is done in the Aap recipe. +Files: src/main.aap + +Patch 7.1.177 +Problem: Freeing memory twice when in debug mode while reading a script. +Solution: Ignore script input while in debug mode. +Files: src/ex_cmds2.c, src/getchar.c, src/globals.h + +Patch 7.1.178 +Problem: "%" doesn't work on "/* comment *//* comment */". +Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus + Heidelberg) +Files: src/search.c + +Patch 7.1.179 +Problem: Need to check for TCL 8.5. +Solution: Adjust configure script. (Alexey Froloff) +Files: src/configure.in, src/auto/configure + +Patch 7.1.180 +Problem: Regexp patterns not tested sufficiently. +Solution: Add more checks to the regexp test. +Files: src/testdir/test64.in, src/testdir/test64.ok + +Patch 7.1.181 +Problem: Accessing uninitialized memory in Farsi mode. (Dominique Pelle) +Solution: Only invoke lrF_sub() when there is something to do. +Files: src/ex_cmds.c + +Patch 7.1.182 +Problem: When using tab pages and an argument list the session file may + contain wrong "next" commands. (Alexander Bluem) +Solution: Use "argu" commands and only when needed. +Files: src/ex_docmd.c + +Patch 7.1.183 +Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu + Paul) +Solution: Inside "\%[]" detect \&, \| and \) as an error. +Files: src/regexp.c + +Patch 7.1.184 +Problem: Crash when deleting backwards over a line break in Insert mode. +Solution: Don't advance the cursor when it's already on the NUL after a + line. (Matthew Wozniski) +Files: src/normal.c + +Patch 7.1.185 +Problem: Using "gR" with a multi-byte encoding and typing a CR pushes + characters onto the replace stack incorrectly, resulting in BS + putting back the wrong characters. (Paul B. Mahol) +Solution: Push multi-byte characters onto the replace stack in reverse byte + order. Add replace_push_mb(). +Files: src/edit.c, src/misc1.c, src/proto/edit.pro + +Patch 7.1.186 +Problem: "expand('<afile>')" returns a bogus value after changing + directory. (Dave Fishburn) +Solution: Copy "autocmd_fname" to allocated memory and expand to full + filename. Shorten the path when expanding <afile>. +Files: src/ex_docmd.c, src/fileio.c + +Patch 7.1.187 +Problem: Win32 GUI: Custom completion using system() no longer works + after patch 7.1.104. (Erik Falor) +Solution: Loop when safe_vgetc() returns K_IGNORE. +Files: src/ex_getln.c + +Patch 7.1.188 +Problem: When 'showmode' is off the message for changing a readonly file is + given in the second column instead of the first. (Payl B. Mahol) +Solution: Put the W10 message in the first column. +Files: src/edit.c + +Patch 7.1.189 (after 7.1.104) +Problem: Patch 7.1.104 was incomplete. +Solution: Also call plain_vgetc() in ask_yesno(). +Files: src/misc1.c + +Patch 7.1.190 +Problem: Cursor after end-of-line: "iA sentence.<Esc>)" +Solution: Move cursor back and make motion inclusive. +Files: src/normal.c + +Patch 7.1.191 +Problem: Win32 GUI: after patch 7.1.168 there is still a problem when + clicking in a scrollbar. (Juergen Jottkaerr) +Solution: Don't check the input buffer when dragging the scrollbar. +Files: src/gui.c + +Patch 7.1.192 +Problem: With Visual block selection, "s" and typing something, CTRL-C + doesn't stop Vim from repeating the replacement in other lines, + like happens for "I". +Solution: Check for "got_int" to be set. +Files: src/ops.c + +Patch 7.1.193 +Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the + character pairs are not used. (Philippe de Muyter) +Solution: Add those Vim 5.x digraphs that don't conflict with others. +Files: src/digraph.c + +Patch 7.1.194 +Problem: ":echo glob('~/{}')" results in /home/user//. +Solution: Don't add a slash if there already is one. +Files: src/os_unix.c + +Patch 7.1.195 +Problem: '0 mark doesn't work for "~/foo ~ foo". +Solution: Don't expand the whole file name, only "~/". +Files: src/mark.c + +Patch 7.1.196 (extra) +Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik + Falor) +Solution: Use the TTM_SETMAXTIPWIDTH message. +Files: src/gui_w32.c + +Patch 7.1.197 +Problem: Mac: "make install" doesn't work when prefix defined. +Solution: Pass different arguments to "make installruntime". (Jjgod Jiang) +Files: src/Makefile + +Patch 7.1.198 +Problem: Hang when using ":s/\n//gn". (Burak Gorkemli) +Solution: Set "skip_match". +Files: src/ex_cmds.c + +Patch 7.1.199 +Problem: Can't do command line completion for a specific file name + extension. +Solution: When the pattern ends in "$" don't add a star for completion and + remove the "$" before matching with file names. +Files: runtime/doc/cmdline.txt, src/ex_getln.c + +Patch 7.1.200 (after 7.1.177 and 7.1.182) +Problem: Compiler warnings for uninitialized variables. +Solution: Init variables. +Files: src/ex_cmds2.c, src/ex_docmd.c + +Patch 7.1.201 +Problem: When reading stdin 'fenc' and 'ff are not set. +Solution: Set the options after reading stdin. (Ben Schmidt) +Files: src/fileio.c + +Patch 7.1.202 +Problem: Incomplete utf-8 byte sequence is not checked for validity. +Solution: Check the bytes that are present for being valid. (Ben Schmidt) +Files: src/mbyte.c + +Patch 7.1.203 +Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|" + doesn't. (Andy Wokula) +Solution: Check for "onemore" flag in check_cursor_col(). +Files: src/misc2.c + +Patch 7.1.204 (extra) +Problem: Win32: Using the example at 'balloonexpr' the balloon disappears + after four seconds and then comes back again. Also moves the + mouse pointer a little bit. (Yongwei Wu) +Solution: Set the autopop time to 30 seconds (the max value). (Sergey + Khorev) Move the mouse two pixels forward and one back to end up + in the same position (really!). +Files: src/gui_w32.c + +Patch 7.1.205 +Problem: Can't get the operator in an ":omap". +Solution: Add the "v:operator" variable. (Ben Schmidt) +Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h + +Patch 7.1.206 +Problem: Compiler warnings when using MODIFIED_BY. +Solution: Add type casts. (Ben Schmidt) +Files: src/version.c + +Patch 7.1.207 +Problem: Netbeans: "remove" cannot delete one line. +Solution: Remove partial lines and whole lines properly. Avoid a memory + leak. (Xavier de Gaye) +Files: src/netbeans.c + +Patch 7.1.208 +Problem: On Alpha get an unaligned access error. +Solution: Store the dictitem pointer before using it. (Matthew Luckie) +Files: src/eval.c + +Patch 7.1.209 +Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs. +Solution: Stop getting a selection after three seconds. This is a hack. +Files: src/gui_gtk_x11.c + +Patch 7.1.210 +Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony + Mechelynck) +Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte. +Files: src/mbyte.c + +Patch 7.1.211 +Problem: The matchparen plugin may take an unexpected amount of time, so + that it looks like Vim hangs. +Solution: Add a timeout to searchpair(), searchpairpos(), search() and + searchpos(). Use half a second timeout in the plugin. +Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c, + src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c, + src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro, + src/search.c + +Patch 7.1.212 +Problem: Accessing a byte before a line. +Solution: Check that the column is 1 or more. (Dominique Pelle) +Files: src/edit.c + +Patch 7.1.213 +Problem: A ":tabedit" command that results in the "swap file exists" dialog + and selecting "abort" doesn't close the new tab. (Al Budden) +Solution: Pass "old_curwin" to do_exedit(). +Files: src/ex_docmd.c + +Patch 7.1.214 +Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz) +Solution: Start replacing in the line where the match starts. +Files: src/ex_cmds.c + +Patch 7.1.215 +Problem: It is difficult to figure out what syntax items are nested at a + certain position. +Solution: Add the synstack() function. +Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro, + src/syntax.c + +Patch 7.1.216 +Problem: Variants of --remote-tab are not mentioned for "vim --help". +Solution: Display optional -wait and -silent. +Files: src/main.c + +Patch 7.1.217 +Problem: The "help-tags" tag may be missing from runtime/doc/tags when it + was generated during "make install". +Solution: Add the "++t" argument to ":helptags" to force adding the tag. +Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c, + src/ex_cmds.h + +Patch 7.1.218 +Problem: A syntax region without a "keepend", containing a region with + "extend" could be truncated at the end of the containing region. +Solution: Do not call syn_update_ends() when there are no keepend items. +Files: src/syntax.c + +Patch 7.1.219 (after 7.1.215) +Problem: synstack() returns situation after the current character, can't + see the state for a one-character region. +Solution: Don't update ending states in the requested column. +Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c, + src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c + +Patch 7.1.220 +Problem: When a ")" or word movement command moves the cursor back from the + end of the line it may end up on the trail byte of a multi-byte + character. It's also moved back when it isn't needed. +Solution: Add the adjust_cursor() function. +Files: src/normal.c + +Patch 7.1.221 +Problem: When inserting a "(", triggering the matchparen plugin, the + following highlighting may be messed up. +Solution: Before triggering the CursorMovedI autocommands update the display + to update the stored syntax stacks for the change. +Files: src/edit.c + +Patch 7.1.222 (after 7.1.217) +Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel + Svitalsky) +Solution: Expand wildcards in the directory name. +Files: src/ex_cmds.c + +Patch 7.1.223 +Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and + the expanded name contains spaces, '~', single quotes and other + special characters. (Adri Verhoef, Charles Campbell) +Solution: For Posix shells define a vimglob() function to list the matches + instead of using "echo" directly. +Files: src/os_unix.c + +Patch 7.1.224 +Problem: When using "vim -F -o file1 file2" only one window is + right-to-left. Same for "-H". (Ben Schmidt) +Solution: use set_option_value() to set 'rightleft'. +Files: src/main.c + +Patch 7.1.225 +Problem: Using unitialized value when XGetWMNormalHints() fails. +Solution: Check the return value. (Dominique Pelle) +Files: src/os_unix.c + +Patch 7.1.226 +Problem: Command line completion doesn't work when a file name contains a + '&' character. +Solution: Accept all characters in a file name, except ones that end a + command or white space. +Files: src/ex_docmd.c + +Patch 7.1.227 +Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle) +Solution: Avoid storing a syntax state in the wrong position in the list of + remembered states. +Files: src/syntax.c + +Patch 7.1.228 +Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it + can't be closed with "zc". (Daniel Shahaf) +Solution: Reset the "small" flag of a fold when adding a line to it. +Files: src/fold.c + +Patch 7.1.229 +Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent" + and backspacing a non-white character so that the indent increases. +Solution: Keep the fold open after backspacing a character. +Files: src/edit.c + +Patch 7.1.230 +Problem: Memory leak when executing SourceCmd autocommands. +Solution: Free the memory. (Dominique Pelle) +Files: src/ex_cmds2.c + +Patch 7.1.231 +Problem: When shifting lines the change is acted upon multiple times. +Solution: Don't have shift_line() call changed_bytes. +Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro + +Patch 7.1.232 (after 7.1.207 and 7.1.211) +Problem: Compiler warnings with MSVC. +Solution: Add type casts. (Mike Williams) +Files: src/ex_cmds2.c, src/netbeans.c + +Patch 7.1.233 +Problem: Crash when doing Insert mode completion for a user defined + command. (Yegappan Lakshmanan) +Solution: Don't use the non-existing command line. +Files: src/ex_getln.c + +Patch 7.1.234 +Problem: When diff'ing three files the third one isn't displayed correctly. + (Gary Johnson) +Solution: Compute the size of diff blocks correctly when merging blocks. + Compute filler lines correctly when scrolling. +Files: src/diff.c + +Patch 7.1.235 +Problem: Pattern matching is slow when using a lot of simple patterns. +Solution: Avoid allocating memory by not freeing it when it's not so much. + (Alexei Alexandrov) +Files: src/regexp.c + +Patch 7.1.236 +Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may + make Vim hang until CTRL-C is pressed. +Solution: Add the 'redrawtime' option. +Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c, + src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c, + src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro, + src/proto/search.pro, src/search.c, src/screen.c, + src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c, + src/vim.h + +Patch 7.1.237 +Problem: Compiler warning on an Alpha processor in Motif code. +Solution: Change a typecast. (Adri Verhoef) +Files: src/gui_motif.c + +Patch 7.1.238 +Problem: Using the 'c' flag with searchpair() may cause it to fail. Using + the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz) +Solution: Only use the 'c' flag for the first search, not for repeating. + When using 'r' imply 'W'. (Antony Scriven) +Files: src/eval.c + +Patch 7.1.239 (after 7.1.233) +Problem: Compiler warning for sprintf() argument. +Solution: Add a typecast. (Nico Weber) +Files: src/ex_getln.c + +Patch 7.1.240 +Problem: When "gUe" turns a German sharp s into SS the operation stops + before the end of the word. Latin2 has the same sharp s but it's + not changed to SS there. +Solution: Make sure all the characters are operated upon. Detect the sharp + s in latin2. Also fixes that changing case of a multi-byte + character that changes the byte cound doesn't always work. +Files: src/ops.c + +Patch 7.1.241 +Problem: Focus change events not always ignored. (Erik Falor) +Solution: Ignore K_IGNORE in Insert mode in a few more places. +Files: src/edit.c + +Patch 7.1.242 (after 7.1.005) +Problem: "cib" doesn't work properly on "(x)". (Tim Pope) +Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>". +Files: src/search.c + +Patch 7.1.243 (after 7.1.240) +Problem: "U" doesn't work on all text in Visual mode. (Adri Verhoef) +Solution: Loop over all the lines to be changed. Add tests for this. +Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok + +Patch 7.1.244 +Problem: GUI may have part of the command line cut off. +Solution: Don't round the number of lines up, always round down. + (Tony Houghton, Scott Dillard) +Files: src/gui.c + +Patch 7.1.245 +Problem: Pressing CTRL-\ three times causes Vim to quit. (Ranganath Rao). + Also for f CTRL-\ CTRL-\. +Solution: When going to cooked mode in mch_delay() set a flag to ignore + SIGQUIT. +Files: src/os_unix.c + +Patch 7.1.246 +Problem: Configure hangs when the man pager is something strange. (lorien) +Solution: Set MANPAGER and PAGER to "cat". (Micah Cowan) +Files: src/auto/configure, src/configure.in + +Patch 7.1.247 +Problem: When using Netbeans backspacing in Insert mode skips a character + now and then. (Ankit Jain) +Solution: Avoid calling netbeans_removed(), it frees the line pointer. + (partly by Dominique Pelle). +Files: src/misc1.c + +Patch 7.1.248 +Problem: Can't set the '" mark. Can't know if setpos() was successful. +Solution: Allow setting the '" mark with setpos(). Have setpos() return a + value indicating success/failure. +Files: runtime/doc/eval.txt, src/eval.c, src/mark.c + +Patch 7.1.249 +Problem: After "U" the cursor can be past end of line. (Adri Verhoef) +Solution: Adjust the cursor position in u_undoline(). +Files: src/undo.c + +Patch 7.1.250 +Problem: ":setglobal fenc=anything" gives an error message in a buffer + where 'modifiable' is off. (Ben Schmidt) +Solution: Don't give an error if 'modifiable' doesn't matter. +Files: src/option.c + +Patch 7.1.251 +Problem: Using freed memory when spell checking enabled. +Solution: Obtain the current line again after calling spell_move_to(). + (Dominique Pelle) +Files: src/screen.c + +Patch 7.1.252 (after 7.1.243) +Problem: Test 39 fails when the environment has a utf-8 locale. (Dominique + Pelle) +Solution: Force 'encoding' to be latin1. +Files: src/testdir/test39.in + +Patch 7.1.253 +Problem: ":sort" doesn't work in a one line file. (Patrick Texier) +Solution: Don't sort if there is only one line. (Dominique Pelle) +Files: src/ex_cmds.c + +Patch 7.1.254 +Problem: Tests 49 and 55 fail when the locale is French. +Solution: Using C messages for test 49. Filter the error message in test 55 + such that it works when the number is halfway the message. +Files: src/testdir/test49.in, src/testdir/test55.in + +Patch 7.1.255 +Problem: Vim doesn't support utf-32. (Yongwei Wu) +Solution: Add aliases for utf-32, it's the same as ucs-4. +Files: src/mbyte.c + +Patch 7.1.256 +Problem: findfile() also returns directories. +Solution: Cleanup the code for finding files and directories in a list of + directories. Remove the ugly global ff_search_ctx. +Files: src/eval.c, src/misc2.c, src/vim.h, src/tag.c + +Patch 7.1.257 +Problem: Configure can't always find the Tcl header files. +Solution: Also look in /usr/local/include/tcl$tclver and + /usr/include/tcl$tclver (James Vega) +Files: src/auto/configure, src/configure.in + +Patch 7.1.258 +Problem: Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula) +Solution: Avoid that the column becomes negative. Also fixes other problems + with the end of a pattern match is in column zero. (A.Politz) +Files: src/search.c + +Patch 7.1.259 +Problem: Cursor is in the wrong position when 'rightleft' is set, + 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle) +Solution: Only put the cursor in the first column when actually on a + double-wide character. (Yukihiro Nakadaira) +Files: src/screen.c + +Patch 7.1.260 +Problem: Cursor positioning problem after ^@ wrapping halfway when + 'encoding' is utf-8. +Solution: Only count a position for printable characters. (partly by + Yukihiro Nakadaira) +Files: src/charset.c + +Patch 7.1.261 +Problem: When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work + for UTF-16 text. (Tony Mechelynck) +Solution: Default to UTF-16. +Files: src/fileio.c, src/testdir/test42.ok + +Patch 7.1.262 +Problem: Can't get the process ID of Vim. +Solution: Implement getpid(). +Files: src/eval.c, runtime/doc/eval.txt + +Patch 7.1.263 +Problem: The filetype can consist of two dot separated names. This works + for syntax and ftplugin, but not for indent. (Brett Stahlman) +Solution: Use split() and loop over each dot separated name. +Files: runtime/indent.vim + +Patch 7.1.264 +Problem: Crash when indenting lines. (Dominique Pelle) +Solution: Set the cursor column when changing the cursor line. +Files: src/ops.c, src/misc1.c + +Patch 7.1.265 +Problem: When 'isfname' contains a space, cmdline completion can hang. + (James Vega) +Solution: Reset the "len" variable. +Files: src/ex_docmd.c + +Patch 7.1.266 +Problem: When the version string returned by the terminal contains + unexpected characters, it is used as typed input. (James Vega) +Solution: Assume the escape sequence ends in a letter. +Files: src/term.c + +Patch 7.1.267 +Problem: When changing folds cursor may be posioned in the wrong place. +Solution: Call changed_window_setting_win() instead of + changed_window_setting(). +Files: src/fold.c + +Patch 7.1.268 +Problem: Always shows "+" at end of screen line with: ":set + listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson) +Solution: Check for lcs_eol_one instead of lcs_eol. +Files: src/screen.c + +Patch 7.1.269 +Problem: The matchparen plugin has an arbitrary limit for the number of + lines to look for a match. +Solution: Rely on the searchpair() timeout. +Files: runtime/plugin/matchparen.vim + +Patch 7.1.270 +Problem: ":?foo?" matches in current line since patch 7.1.025. (A.Politz) +Solution: Remove the SEARCH_START flag. +Files: src/ex_docmd.c, src/search.c + +Patch 7.1.271 +Problem: In a Vim build without autocommands, checking a file that was + changed externally causes the current buffer to be changed + unexpectedly. (Karsten Hopp) +Solution: Store "curbuf" instead of "buf". +Files: src/fileio.c + +Patch 7.1.272 +Problem: The special buffer name [Location List] is not used for a buffer + displayed in another tab page. +Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki + Nishihara) +Files: src/buffer.c + +Patch 7.1.273 +Problem: When profiling on Linux Vim exits early. (Liu Yubao) +Solution: When profiling don't exit on SIGPROF. +Files: src/Makefile, src/os_unix.c + +Patch 7.1.274 (after 7.1.272) +Problem: Compiler warning for optimized build. +Solution: Init win to NULL. +Files: src/buffer.c + +Patch 7.1.275 (extra) +Problem: Mac: ATSUI and 'antialias' don't work properly together. +Solution: Fix this and the input method. (Jjgod Jiang) +Files: src/vim.h, src/gui_mac.c + +Patch 7.1.276 +Problem: "gw" uses 'formatexpr', even though the docs say it doesn't. +Solution: Don't use 'formatexpr' for "gw". +Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro + +Patch 7.1.277 +Problem: Default for 'paragraphs' misses some items (Colin Watson) +Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega) +Files: runtime/doc/options.txt, src/option.c + +Patch 7.1.278 (extra, after 7.1.275) +Problem: Build failure when USE_CARBONKEYHANDLER is not defined. +Solution: Remove #ifdef. +Files: src/gui_mac.c + +Patch 7.1.279 +Problem: When using cscope temporary files are left behind. +Solution: Send the quit command to cscope and give it two seconds to exit + nicely before killing it. (partly by Dominique Pelle) +Files: src/if_cscope.c + +Patch 7.1.280 (after 7.1.275) +Problem: Mac: build problems when not using multibyte feature. (Nicholas + Stallard) +Solution: Don't define USE_IM_CONTROL when not using multibyte. +Files: src/vim.h + +Patch 7.1.281 (after 7.1.279) +Problem: sa.sa_mask is not initialized. Cscope may not exit. +Solution: Use sigemptyset(). Use SIGKILL instead of SIGTERM. (Dominique + Pelle) +Files: src/if_cscope.c + +Patch 7.1.282 (extra) +Problem: Win64: Edit with Vim context menu isn't installed correctly. + Compiler warnings and a few other things. +Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT. + And a fixes for the other things. (George V. Reilly) +Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h, + src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak, + src/os_win32.c, + +Patch 7.1.283 +Problem: Non-extra part for 7.1.282. +Solution: Various changes. +Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c, + src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h, + src/window.c + +Patch 7.1.284 +Problem: Compiler warnings for functions without prototype. +Solution: Add the function prototypes. (Patrick Texier) +Files: src/eval.c, src/quickfix.c + +Patch 7.1.285 (extra) +Problem: Mac: dialog hotkeys don't work. +Solution: Add hotkey support. (Dan Sandler) +Files: src/gui_mac.c + +Patch 7.1.286 (after 7.1.103) +Problem: "w" at the end of the buffer moves the cursor past the end of the + line. (Markus Heidelberg) +Solution: Move the cursor back from the NUL when it was moved forward. +Files: src/normal.c + +Patch 7.1.287 +Problem: Crash when reversing a list after using it. (Andy Wokula) +Solution: Update the pointer to the last used element. (Dominique Pelle) +Files: src/eval.c + +Patch 7.1.288 (after 7.1.281) +Problem: Cscope still leaves behind temp files when using gvim. +Solution: When getting the ECHILD error loop for a while until cscope exits. + (Dominique Pelle) +Files: if_cscope.c + +Patch 7.1.289 +Problem: When EXITFREE is defined and 'acd' is set freed memory is used. + (Dominique Pelle) +Solution: Reset p_acd before freeing all buffers. +Files: src/misc2.c + +Patch 7.1.290 +Problem: Reading bytes that were not written when spell checking and a line + has a very large indent. +Solution: Don't copy the start of the next line when it only contains + spaces. (Dominique Pelle) +Files: src/spell.c + +Patch 7.1.291 (after 7.1.288) +Problem: Compiler warning. +Solution: Change 50 to 50L. +Files: src/if_cscope.c + +Patch 7.1.292 +Problem: When using a pattern with "\@<=" the submatches can be wrong. + (Brett Stahlman) +Solution: Save the submatches when attempting a look-behind match. +Files: src/regexp.c + +Patch 7.1.293 +Problem: Spell checking considers super- and subscript characters as word + characters. +Solution: Recognize the Unicode super and subscript characters. +Files: src/spell.c + +Patch 7.1.294 +Problem: Leaking memory when executing a shell command. +Solution: Free memory when not able to save for undo. (Dominique Pelle) +Files: src/ex_cmds.c + +Patch 7.1.295 +Problem: Vimtutor only works with vim, not gvim. +Solution: Add the -g flag to vimtutor. (Dominique Pelle) Add gvimtutor. +Files: src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1 + +Patch 7.1.296 +Problem: SELinux is not supported. +Solution: Detect the selinux library and use mch_copy_sec(). (James Vega) +Files: src/auto/configure, src/config.h.in, src/configure.in, + src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro + +Patch 7.1.297 +Problem: When using the search/replace dialog the parenmatch highlighting + can be wrong. (Tim Duncan) +Solution: In the GUI redraw function invoke the CursorMoved autocmd. +Files: src/gui.c + +Patch 7.1.298 (after 7.1.295) +Problem: src/gvimtutor is not distributed. +Solution: Add it to the list of distributed files. +Files: Filelist + +Patch 7.1.299 +Problem: Filetype detection doesn't work properly for file names ending in + a part that is ignored and contain a space or other special + characters. +Solution: Escape the special characters using the new fnameescape function. +Files: runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c, + src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h + +Patch 7.1.300 +Problem: Value of asmsyntax argument isn't checked for valid characters. +Solution: Only accepts letters and digits. +Files: runtime/filetype.vim + +Patch 7.1.301 +Problem: When the "File/Save" menu is used in Insert mode, a tab page label + is not updated to remove the "+". +Solution: Call draw_tabline() from showruler(). (Bjorn Winckler) +Files: src/screen.c + +Patch 7.1.302 (after 7.1.299) +Problem: Compilation error on MS-Windows. +Solution: Don't use xp_shell when it's not defined. +Files: src/ex_getln.c + +Patch 7.1.303 (after 7.1.302) +Problem: Compilation error on MS-Windows, again. +Solution: Declare p. +Files: src/ex_getln.c + +Patch 7.1.304 +Problem: Shortpath_for_invalid_fname() does not work correctly and is + unnecessary complex. +Solution: Clean up shortpath_for_invalid_fname(). (mostly by Yegappan + Lakshmanan) +Files: src/eval.c + +Patch 7.1.305 +Problem: Editing a compressed file with special characters in the name + doesn't work properly. +Solution: Escape special characters. +Files: runtime/autoload/gzip.vim + +Patch 7.1.306 +Problem: Some Unicode characters are handled like word characters while + they are symbols. +Solution: Adjust the table for Unicode classification. +Files: src/mbyte.c + +Patch 7.1.307 +Problem: Many warnings when compiling with Python 2.5. +Solution: Use ssize_t instead of int for some types. (James Vega) +Files: src/if_python.c + +Patch 7.1.308 +Problem: When in readonly mode ":options" produces an error. +Solution: Reset 'readonly'. (Gary Johnson) +Files: runtime/optwin.vim + +Patch 7.1.309 +Problem: Installing and testing with a shadow directory doesn't work. + (James Vega) +Solution: Add "po" to the list of directories to link. Also link the Vim + scripts in testdir. And a few more small fixes. +Files: src/Makefile + +Patch 7.1.310 +Problem: Incomplete utf-8 byte sequence at end of the file is not detected. + Accessing memory that wasn't written. +Solution: Check the last bytes in the buffer for being a valid utf-8 + character. (mostly by Ben Schmidt) + Also fix that the reported line number of the error was wrong. +Files: src/fileio.c + +Patch 7.1.311 +Problem: Compiler warning for missing sentinel in X code. +Solution: Change 0 to NULL. (Markus Heidelberg) +Files: src/mbyte.c + +Patch 7.1.312 +Problem: The .po files have mistakes in error numbers. +Solution: Search for these mistakes in the check script. (Dominique Pelle) +Files: src/po/check.vim + +Patch 7.1.313 +Problem: When the netbeans interface setModified call is used the status + lines and window title are not updated. +Solution: Redraw the status lines and title. (Philippe Fremy) +Files: src/netbeans.c + +Patch 7.1.314 +Problem: The value of 'pastetoggle' is written to the session file without + any escaping. (Randall Hansen) +Solution: Use put_escstr(). (Ben Schmidt) +Files: src/option.c + +Patch 7.1.315 +Problem: Crash with specific search pattern using look-behind match. + (Andreas Politz) +Solution: Also save the value of "need_clear_subexpr". +Files: src/regexp.c + +Patch 7.1.316 +Problem: When 'cscopetag' is set ":tag" gives an error message instead of + going to the next tag in the tag stack. +Solution: Don't call do_cstag() when there is no argument. (Mark Goldman) +Files: src/ex_docmd.c + +Patch 7.1.317 +Problem: Compiler warnings in Motif calls. +Solution: Change zero to NULL. (Dominique Pelle) +Files: src/gui_motif.c + +Patch 7.1.318 +Problem: Memory leak when closing xsmp connection. Crash on exit when + using Lesstif. +Solution: Don't close the X display to work around a Lesstif bug. Free + clientid. Also fix a leak for Motif and Athena. (Dominique Pelle) +Files: src/gui_x11.c, src/os_unix.c + +Patch 7.1.319 +Problem: When a register has an illegal utf-8 sequence, pasting it on the + command line causes an illegal memory access. +Solution: Use mb_cptr2char_adv(). (Dominique Pelle) +Files: src/ex_getln.c + +Patch 7.1.320 (extra) +Problem: Win64: Warnings while compiling Python interface. +Solution: Use PyInt in more places. Also update version message for the + console. (George Reilly) +Files: src/if_python.c, src/version.c + +Patch 7.1.321 (extra) +Problem: Win32 / Win64: Install file is outdated. +Solution: Update the text for recent compiler. (George Reilly) +Files: src/INSTALLpc.txt + +Patch 7.1.322 +Problem: Can't get start of Visual area in an <expr> mapping. +Solution: Add the 'v' argument to getpos(). +Files: runtime/doc/eval.txt, src/eval.c + +Patch 7.1.323 +Problem: Test 19 fails with some termcaps. (Dominque Pelle) +Solution: Set the t_kb and t_kD termcap values. +Files: src/testdir/test19.in, src/testdir/test38.in + +Patch 7.1.324 +Problem: File name path length on Unix is limited to 1024. +Solution: Use PATH_MAX when it's more than 1000. +Files: src/os_unix.h + +Patch 7.1.325 +Problem: When editing a command line that's longer than available space in + the window, the characters at the end are in reverse order. +Solution: Increment the insert position even when the command line doesn't + fit. (Ingo Karkat) +Files: src/ex_getln.c + +Patch 7.1.326 +Problem: ":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) +Solution: When checking for a forced command also ignore ":smagic" and + ":snomagic". (Ian Kelling) +Files: src/ex_docmd.c + +Patch 7.1.327 +Problem: The GUI tutor is installed when there is no GUI version. +Solution: Only install gvimtutor when building a GUI version. +Files: src/Makefile + +Patch 7.1.328 +Problem: Crash when using Cygwin and non-posix path name in tags file. +Solution: Use separate buffer for posix path. (Ben Schmidt) +Files: src/os_unix.c + +Patch 7.1.329 +Problem: When the popup menu is removed a column of cells, the right halve + of double-wide characters, may not be redrawn. +Solution: Check if the right halve of a character needs to be redrawn. + (Yukihiro Nakadaira) +Files: src/screen.c + +Patch 7.1.330 +Problem: Reading uninitialized memory when using Del in replace mode. +Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle) +Files: src/misc1.c + + +Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle) + +A search offset from the end of a match didn't work properly for multi-byte +characters. (Yukihiro Nakadaira) + +When displaying the value of 'key' don't show "*****" when the value is empty. +(Ben Schmidt) + +Internal error when compiled with EXITFREE and using the nerd_tree plugin. +Set last_msg_hist to NULL when history becomes empty. Call +free_all_functions() after garbage collection. (Dominique Pelle) + +GTK with XIM: <S-Space> does not work. (Yukihiro Nakadaira) + +Some shells do not support "echo -n", which breaks glob(). Use "echo" instead +of "echo -n $1; echo". (Gary Johnson) + +"echo 22,44" printed "22" on top of the command, the error messages caused +the rest not to be cleared. Added the need_clr_eos flag. + +Netbeans events are handled while updating the screen, causing a crash. +Change the moment when events are handled. Rename nb_parse_messages() to +netbeans_parse_messages(). (Xavier de Gaye) + +Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf) +Use shellescape() on the file name. + +IM was turned off in im_preedit_end_cb() for no good reason. (Takuhiro +Nishioka) + +A corrupted spell file could cause Vim to use lots of memory. Better +detection for running into the end of the file. (idea from James Vega) + +Mac: Included a patch to make it build with GTK. Moved language init to +mac_lang_init() function. (Ben Schmidt) + +Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor) + +Fix configure.in to avoid "implicitly declared" warnings when running +configure. + +Fixed a memory leak when redefining a keymap. (Dominique Pelle) + +Setting 'pastetoggle' to "jj" didn't work. + +'ic' and 'smartcase' don't work properly when using \%V in a search pattern. +(Kana Natsuno) vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/vim-fr.1 b/runtime/doc/vim-fr.1 index 3753a3b21..58434406a 100644 --- a/runtime/doc/vim-fr.1 +++ b/runtime/doc/vim-fr.1 @@ -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 dernire ligne. .TP +/{motif} -Place le curseur sur la premire occurence de {motif} dans le premier fichier. +Place le curseur sur la premire occurrence de {motif} dans le premier fichier. Voir ":help search\-pattern" pour connatre 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. Aprs 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 hbreu, cette option lance .B Vim -en mode Hebreu, c.--d. avec les options 'hkmap' et 'rightleft' actives. +en mode Hbreu, c.--d. avec les options 'hkmap' et 'rightleft' actives. 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 -desactives, de sorte que les changements ne sont pas autoriss et que les +dsactives, de sorte que les changements ne sont pas autoriss et que les fichiers ne peuvent pas tre crits. Note : ces options peuvent tre actives pour autoriser les modifications. .TP diff --git a/runtime/doc/vim-fr.UTF-8.1 b/runtime/doc/vim-fr.UTF-8.1 index 72009f29d..aa2c3c958 100644 --- a/runtime/doc/vim-fr.UTF-8.1 +++ b/runtime/doc/vim-fr.UTF-8.1 @@ -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 diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt index 0101188f9..c14bf718a 100644 --- a/runtime/doc/workshop.txt +++ b/runtime/doc/workshop.txt @@ -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 diff --git a/runtime/ftplugin/cdrdaoconf.vim b/runtime/ftplugin/cdrdaoconf.vim new file mode 100644 index 000000000..86796eb8e --- /dev/null +++ b/runtime/ftplugin/cdrdaoconf.vim @@ -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 diff --git a/runtime/ftplugin/debcontrol.vim b/runtime/ftplugin/debcontrol.vim new file mode 100644 index 000000000..2fb2ee7d3 --- /dev/null +++ b/runtime/ftplugin/debcontrol.vim @@ -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 diff --git a/runtime/ftplugin/dosini.vim b/runtime/ftplugin/dosini.vim new file mode 100644 index 000000000..354b093ee --- /dev/null +++ b/runtime/ftplugin/dosini.vim @@ -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 diff --git a/runtime/ftplugin/gitconfig.vim b/runtime/ftplugin/gitconfig.vim new file mode 100644 index 000000000..ee33baff2 --- /dev/null +++ b/runtime/ftplugin/gitconfig.vim @@ -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<" diff --git a/runtime/ftplugin/gitrebase.vim b/runtime/ftplugin/gitrebase.vim new file mode 100644 index 000000000..6e0e6c19c --- /dev/null +++ b/runtime/ftplugin/gitrebase.vim @@ -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" diff --git a/runtime/indent/tcsh.vim b/runtime/indent/tcsh.vim index a33bdb715..cd18f0618 100644 --- a/runtime/indent/tcsh.vim +++ b/runtime/indent/tcsh.vim @@ -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") diff --git a/runtime/indent/tf.vim b/runtime/indent/tf.vim new file mode 100644 index 000000000..61cebc3a6 --- /dev/null +++ b/runtime/indent/tf.vim @@ -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 diff --git a/runtime/keymap/croatian.vim b/runtime/keymap/croatian.vim new file mode 100644 index 000000000..b52eba03f --- /dev/null +++ b/runtime/keymap/croatian.vim @@ -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 diff --git a/runtime/keymap/croatian_cp1250.vim b/runtime/keymap/croatian_cp1250.vim new file mode 100644 index 000000000..a5a92e385 --- /dev/null +++ b/runtime/keymap/croatian_cp1250.vim @@ -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 +[ +{ +] +} +; +: +' +" +\ +| +/ - +? _ +> : +< ; + < + > + { + } + [ + ] + \ + | += + ++ * +- ' +_ ? +@ " +^ & +& / +* ( +( ) +) = + ~ + @ + ^ + + + + + + + + + ` + + + + + diff --git a/runtime/lang/menu_ca_es.latin1.vim b/runtime/lang/menu_ca_es.latin1.vim index a71c60ef7..c78e173b6 100644 --- a/runtime/lang/menu_ca_es.latin1.vim +++ b/runtime/lang/menu_ca_es.latin1.vim @@ -1,7 +1,7 @@ " Menu translations for Catalan " " Maintainer: Ernest Adrogu <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 Ajuda menutrans &Help &Ajuda menutrans &Overview<Tab><F1> &Introducci<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 menutrans &About &Quant\ a\.\.\. " text del dileg Ajuda/Cerca... let g:menutrans_help_dialog = "Introduu 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 lnia d'ordres (p.ex.: c_<Del>)\nUseu el prefix ' per noms d'opcions (p.ex.: 'shiftwidth')" - " men 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 Edita menutrans &Edit &Edita menutrans &Undo<Tab>u &Desfs<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\ desprs<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 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 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 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 Eines/Ortografia + menutrans &Spell\ Check\ On Activa\ la\ &revisi\ ortogrfica + menutrans Spell\ Check\ &Off &Desactiva\ la\ revisi\ ortogrfica + menutrans To\ &Next\ error<Tab>]s Error\ &segent<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<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 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 diff --git a/runtime/lang/menu_fi.latin1.vim b/runtime/lang/menu_fi.latin1.vim new file mode 100644 index 000000000..4dd9140b1 --- /dev/null +++ b/runtime/lang/menu_fi.latin1.vim @@ -0,0 +1,3 @@ +" Menu Translations: Finnish for latin 1 encoding + +source <sfile>:p:h/menu_fi_fi.latin1.vim diff --git a/runtime/lang/menu_fi_fi.latin1.vim b/runtime/lang/menu_fi_fi.latin1.vim new file mode 100644 index 000000000..1f1f5072c --- /dev/null +++ b/runtime/lang/menu_fi_fi.latin1.vim @@ -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\.\.\.<Tab>:sav +" -SEP2- +menutrans Split\ &Diff\ with\.\.\. Jaa\ &diffill\.\.\. +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<Tab>"+gP +menutrans Put\ &Before<Tab>[p Lis\ &ennen<Tab>[p +menutrans Put\ &After<Tab>]p Lis\ &jlkeen<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 &Kynnistysasetukset +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 &Sytttila +menutrans Block\ and\ Insert L&ohkosytttila +menutrans Always &Aina + +menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! S&ytttila<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\.\.\. &Tgitiedostot\.\.\. +" -SEP1- +menutrans Toggle\ &Toolbar Tyka&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 tgitiedostojen 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\ vleiksi<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 Nennista&bulointi +menutrans Te&xt\ Width\.\.\. Tekstinl&eveys\.\.\. +menutrans &File\ Format\.\.\. Tiedosto&muoto\.\.\. + +let g:menutrans_textwidth_dialog = "Anna uusi tekstin leveys\n(0 poistaa kytst)" +let g:menutrans_fileformat_dialog = "Anaa tiedoston kirjoitusmuoto." +let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Peru " + +menutrans C&olor\ Scheme &Vriteema +menutrans &Keymap &Nppinkartta +menutrans None Ei mikn +menutrans Select\ Fo&nt\.\.\. Valitse\ &fontti\.\.\. + + +menutrans &Tools T&ykalut +" Accels: ___OTDM__ +menutrans &Jump\ to\ this\ tag<Tab>g^] Siirry\ tgiin<Tab>g^] +menutrans Jump\ &back<Tab>^T Siirry\ takaisin<Tab>^T +menutrans Build\ &Tags\ File Luo\ tgitiedosto + +" -SEP1- +menutrans &Spelling &Oikeinkirjoitus +" Submenu: +" Accels: OSEKT +menutrans &Spell\ Check\ On &Oikaisuluku\ plle +menutrans Spell\ Check\ &Off &Oikaisuluku\ pois\ plt +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\ kieli + + + +menutrans &Folding &Taitokset +" Accels: TNVSAPEOKL +menutrans &Enable/Disable\ folds<Tab>zi &Taitokset<Tab>zi +menutrans &View\ Cursor\ Line<Tab>zv &Nyt\ kursorin\ rivi<Tab>zv +menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Nyt\ &vain\ kursorin\ rivi<Tab>zMzx +menutrans C&lose\ more\ folds<Tab>zm &Sulje\ lis\ taitoksia<Tab>zm +menutrans &Close\ all\ folds<Tab>zM &Sulje\ kaikki\ taitokset<Tab>zM +menutrans O&pen\ more\ folds<Tab>zr &Avaa\ lis\ 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 &Pivit +menutrans &Get\ Block &Hae\ lohko +menutrans &Put\ Block &Lis\ 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 &Pivit<Tab>:cwin +menutrans &Open<Tab>:copen &Avaa<Tab>:copen +menutrans &Close<Tab>:cclose &Sulje<Tab>:cclose + +menutrans Se&T\ Compiler Ase&ta\ kntj +" -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 &Nyt\ tiedostotyypit\ valikossa +" -SEP1- +menutrans Set\ '&syntax'\ only Aseta\ vain\ &syntax +menutrans Set\ '&filetype'\ too Aseta\ mys\ &filetype +menutrans &Off &Pois\ plt +" -SEP3- +menutrans Co&lor\ test Testaa\ vrit +menutrans &Highlight\ test Testaa\ korostukset +menutrans &Convert\ to\ HTML Muunna\ HTML:ksi +" -SEP2- +menutrans &Off &Pois\ plt +menutrans &Manual &Manuaalinen +menutrans A&utomatic &Automaattinen +menutrans on/off\ for\ &This\ file Kytke\ &tlle\ tiedostolle + +" The Start Of The Syntax Menu +menutrans ABC\ music\ notation ABC\ (notation\ musicale) +menutrans AceDB\ model Modle\ 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\.\ gnrique +menutrans Digital\ Command\ Lang DCL +menutrans DNS/BIND\ zone Zone\ BIND/DNS +menutrans Dylan\ interface Interface +menutrans Dylan\ lid LID +menutrans Elm\ filter\ rules Rgles\ 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\ gnrique +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 Dfinition\ 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 Scne\ 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 Dclaration\ SGML +menutrans Shell\ script Script\ shell +menutrans sh\ and\ ksh sh\ et\ ksh +menutrans Sinda\ compare Comparaison\ Sinda +menutrans Sinda\ input Entre\ Sinda +menutrans Sinda\ output Sortie\ Sinda +menutrans SKILL\ for\ Diva SKILL\ pour\ Diva +menutrans Smarty\ Templates Patrons\ Smarty +menutrans SNNS\ network Rseau\ SNNS +menutrans SNNS\ pattern Motif\ SNNS +menutrans SNNS\ result Rsultat\ SNNS +menutrans Snort\ Configuration Config\.\ Snort +menutrans Squid\ config Config\.\ Squid +menutrans Subversion\ commit Commit\ Subversion +menutrans TAK\ compare Comparaison\ TAK +menutrans TAK\ input Entre\ 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 Entre\ Trasys +menutrans Command\ Line Ligne\ de\ commande +menutrans Geometry Gomtrie +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 Dcodeur\ 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 Pivit\ &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 +" Submenu: +" Accels: YAOV +menutrans &Top<Tab>^WK &Yls<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\ &ylemms<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_ Enimmisk&orkeuteen<Tab>^W_ +menutrans M&in\ Height<Tab>^W1_ Vhimmisk&orkeuteen<Tab>^W1_ +menutrans Max\ &Width<Tab>^W\| Enimmis&leveyteen<Tab>^W\| +menutrans Min\ Widt&h<Tab>^W1\| Vhimmis&leveyteen<Tab>^W1\| + +" (Plugin menus here) +menutrans Plugin Liitnniset + +menutrans &Help &Ohje +" Accels: YKUHTLROVI +menutrans &Overview<Tab><F1> &Yleiskatsaus<Tab><F1> +menutrans &User\ Manual &Kyttohje +menutrans &How-to\ links K&UINKA-linkkej +menutrans &Find\.\.\. &Hae\.\.\. +" -sep1- +menutrans &Credits &Tekijt +menutrans Co&pying &Lisenssi +menutrans &Sponsor/Register Sponsoroi/&Rekisteri +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 sytttilan komentoja varten (esim. i_CTRL-X)\nAloita c_:ll komentorivi 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 +" &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 +" -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 + 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 fentre + tmenu ToolBar.WinMin Minimiser fentre + tmenu ToolBar.WinVSplit Fractionner verticalement + tmenu ToolBar.WinMaxWidth Maximiser largeur fentre + tmenu ToolBar.WinMinWidth Minimiser largeur fentre + tmenu ToolBar.WinClose Fermer fentre + 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 tgiin + tmenu ToolBar.Help Vimin ohje + tmenu ToolBar.FindHelp Etsi ohjeesta +endfun + +" vim: set fileencoding=latin1 diff --git a/runtime/plugin/getscriptPlugin.vim b/runtime/plugin/getscriptPlugin.vim index b871bc1d2..7fe103d61 100644 --- a/runtime/plugin/getscriptPlugin.vim +++ b/runtime/plugin/getscriptPlugin.vim @@ -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 diff --git a/runtime/plugin/tarPlugin.vim b/runtime/plugin/tarPlugin.vim index e1b87fee8..42fd96a31 100644 --- a/runtime/plugin/tarPlugin.vim +++ b/runtime/plugin/tarPlugin.vim @@ -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>")) diff --git a/runtime/spell/fr/fr_FR.diff b/runtime/spell/fr/fr_FR.diff index bd6caf1d1..2a8b6b5b7 100644 --- a/runtime/spell/fr/fr_FR.diff +++ b/runtime/spell/fr/fr_FR.diff @@ -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 -+ LOW -+ UPP -+ -+ MIDWORD ' -+ -+ MAP 9 -+ MAP a -+ MAP e -+ MAP i -+ MAP o -+ MAP u -+ MAP n -+ MAP c -+ MAP y -+ MAP s -+ - PFX A Y 10 -*************** -*** 692,694 **** +! MAP 12 +! MAP a +! MAP e +! MAP iy +! MAP o +! MAP u + MAP c +- MAP A +- MAP E +- MAP IY +- MAP O +- MAP U + MAP C +! REP 44 + REP f ph +--- 3,31 ---- + +! FOL +! LOW +! UPP ! +! MIDWORD '- ! ---- 709,800 ---- +! MAP 17 +! MAP a +! MAP A +! MAP e +! MAP E +! MAP i +! MAP I +! MAP o +! MAP O +! MAP u +! MAP U +! MAP n +! MAP N + MAP c + MAP C ++ MAP y ++ MAP Y ++ MAP s -! # sound folding from Aspell -! # Copyright (C) 2000 Rmi 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 A -! SAL A -! SAL BB P -! SAL B P -! SAL 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 E -! SAL E -! SAL E -! SAL F F -! SAL G(EIY)- J -! SAL GU(EIY)- G -! SAL G G -! SAL H _ -! SAL I I -! SAL 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 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 U -! SAL U -! SAL V V -! SAL W W -! SAL X X -! SAL Y(AEOU)- IL -! SAL Y I -! SAL ZZ S -! SAL Z S +! REP 24 + REP f ph +*************** +*** 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 oe +--- 34,37 ---- +*************** +*** 687 **** +--- 679,773 ---- + SFX q ssait raient ssait ++ ++ ++ # sound folding from Aspell ++ # Copyright (C) 2000 Rmi 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 A ++ SAL A ++ SAL BB P ++ SAL B P ++ SAL 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 E ++ SAL E ++ SAL E ++ SAL F F ++ SAL G(EIY)- J ++ SAL GU(EIY)- G ++ SAL G G ++ SAL H _ ++ SAL I I ++ SAL 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 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 U ++ SAL U ++ SAL V V ++ SAL W W ++ SAL X X ++ SAL Y(AEOU)- IL ++ SAL Y I ++ SAL ZZ S ++ SAL Z S diff --git a/runtime/spell/pt/pt_BR.diff b/runtime/spell/pt/pt_BR.diff index 4dc7f1b98..0bd44e2c2 100644 --- a/runtime/spell/pt/pt_BR.diff +++ b/runtime/spell/pt/pt_BR.diff @@ -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 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 + LOW + UPP + ++ + MIDWORD '-. - ++ ++ + MAP 6 diff --git a/runtime/syntax/cdrdaoconf.vim b/runtime/syntax/cdrdaoconf.vim new file mode 100644 index 000000000..5058c23a2 --- /dev/null +++ b/runtime/syntax/cdrdaoconf.vim @@ -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 diff --git a/runtime/syntax/cmake.vim b/runtime/syntax/cmake.vim index 302417e5f..4dd5c3a11 100644 --- a/runtime/syntax/cmake.vim +++ b/runtime/syntax/cmake.vim @@ -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 diff --git a/runtime/syntax/coco.vim b/runtime/syntax/coco.vim new file mode 100644 index 000000000..4094a5530 --- /dev/null +++ b/runtime/syntax/coco.vim @@ -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 + diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim index 7f9ac258d..a73836a92 100644 --- a/runtime/syntax/css.vim +++ b/runtime/syntax/css.vim @@ -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 diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim index f15e83cb6..3b01fb50a 100644 --- a/runtime/syntax/debcontrol.vim +++ b/runtime/syntax/debcontrol.vim @@ -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 diff --git a/runtime/syntax/denyhosts.vim b/runtime/syntax/denyhosts.vim new file mode 100644 index 000000000..0ec09ba13 --- /dev/null +++ b/runtime/syntax/denyhosts.vim @@ -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 diff --git a/runtime/syntax/git.vim b/runtime/syntax/git.vim new file mode 100644 index 000000000..fd76b7316 --- /dev/null +++ b/runtime/syntax/git.vim @@ -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" diff --git a/runtime/syntax/gitcommit.vim b/runtime/syntax/gitcommit.vim new file mode 100644 index 000000000..e75d04417 --- /dev/null +++ b/runtime/syntax/gitcommit.vim @@ -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" diff --git a/runtime/syntax/hostconf.vim b/runtime/syntax/hostconf.vim new file mode 100644 index 000000000..4fc8af0ba --- /dev/null +++ b/runtime/syntax/hostconf.vim @@ -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 diff --git a/runtime/syntax/lisp.vim b/runtime/syntax/lisp.vim index cd800e720..55390aaa4 100644 --- a/runtime/syntax/lisp.vim +++ b/runtime/syntax/lisp.vim @@ -1,12 +1,13 @@ " Vim syntax file " Language: Lisp " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: Apr 12, 2007 -" Version: 19 +" Last Change: Oct 19, 2007 +" Version: 20 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " " Thanks to F Xavier Noria for a list of 978 Common Lisp symbols " taken from the HyperSpec +" Clisp additions courtesy of http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/emacs/lisp.vim " --------------------------------------------------------------------- " Load Once: {{{1 @@ -19,462 +20,542 @@ elseif exists("b:current_syntax") endif if version >= 600 - setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_ + setlocal iskeyword=38,42,43,45,47-58,60-62,64-90,97-122,_ else - set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_ + set iskeyword=38,42,43,45,47-58,60-62,64-90,97-122,_ +endif + +if exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp") + set ignorecase endif " --------------------------------------------------------------------- " Clusters: {{{1 -syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite -syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite +syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite +syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite if exists("g:lisp_instring") - syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString + syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString else - syn cluster lispListCluster contains=@lispBaseListCluster,lispString + syn cluster lispListCluster contains=@lispBaseListCluster,lispString endif syn case ignore " --------------------------------------------------------------------- " Lists: {{{1 -syn match lispSymbol contained ![^()'`,"; \t]\+! -syn match lispBarSymbol contained !|..\{-}|! +syn match lispSymbol contained ![^()'`,"; \t]\+! +syn match lispBarSymbol contained !|..\{-}|! if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 - syn region lispParen0 matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1 - syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2 - syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3 - syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4 - syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5 - syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6 - syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7 - syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8 - syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9 + syn region lispParen0 matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1 + syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2 + syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3 + syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4 + syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5 + syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6 + syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7 + syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8 + syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9 syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0 else - syn region lispList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@lispListCluster - syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster + syn region lispList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@lispListCluster + syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster endif " --------------------------------------------------------------------- " Atoms: {{{1 -syn match lispAtomMark "'" -syn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList -syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark -syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark -syn region lispAtom start=+'"+ skip=+\\"+ end=+"+ -syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString -syn match lispAtomNmbr contained "\<\d\+" -syn match lispLeadWhite contained "^\s\+" +syn match lispAtomMark "'" +syn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList +syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark +syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark +syn region lispAtom start=+'"+ skip=+\\"+ end=+"+ +syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispSpecial +syn match lispAtomNmbr contained "\<\d\+" +syn match lispLeadWhite contained "^\s\+" " --------------------------------------------------------------------- " Standard Lisp Functions and Macros: {{{1 -syn keyword lispFunc * find-method pprint-indent -syn keyword lispFunc ** find-package pprint-linear -syn keyword lispFunc *** find-restart pprint-logical-block -syn keyword lispFunc + find-symbol pprint-newline -syn keyword lispFunc ++ finish-output pprint-pop -syn keyword lispFunc +++ first pprint-tab -syn keyword lispFunc - fixnum pprint-tabular -syn keyword lispFunc / flet prin1 -syn keyword lispFunc // float prin1-to-string -syn keyword lispFunc /// float-digits princ -syn keyword lispFunc /= float-precision princ-to-string -syn keyword lispFunc 1+ float-radix print -syn keyword lispFunc 1- float-sign print-not-readable -syn keyword lispFunc < floating-point-inexact print-not-readable-object -syn keyword lispFunc <= floating-point-invalid-operation print-object -syn keyword lispFunc = floating-point-overflow print-unreadable-object -syn keyword lispFunc > floating-point-underflow probe-file -syn keyword lispFunc >= floatp proclaim -syn keyword lispFunc abort floor prog -syn keyword lispFunc abs fmakunbound prog* -syn keyword lispFunc access force-output prog1 -syn keyword lispFunc acons format prog2 -syn keyword lispFunc acos formatter progn -syn keyword lispFunc acosh fourth program-error -syn keyword lispFunc add-method fresh-line progv -syn keyword lispFunc adjoin fround provide -syn keyword lispFunc adjust-array ftruncate psetf -syn keyword lispFunc adjustable-array-p ftype psetq -syn keyword lispFunc allocate-instance funcall push -syn keyword lispFunc alpha-char-p function pushnew -syn keyword lispFunc alphanumericp function-keywords putprop -syn keyword lispFunc and function-lambda-expression quote -syn keyword lispFunc append functionp random -syn keyword lispFunc apply gbitp random-state -syn keyword lispFunc applyhook gcd random-state-p -syn keyword lispFunc apropos generic-function rassoc -syn keyword lispFunc apropos-list gensym rassoc-if -syn keyword lispFunc aref gentemp rassoc-if-not -syn keyword lispFunc arithmetic-error get ratio -syn keyword lispFunc arithmetic-error-operands get-decoded-time rational -syn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize -syn keyword lispFunc array get-internal-real-time rationalp -syn keyword lispFunc array-dimension get-internal-run-time read -syn keyword lispFunc array-dimension-limit get-macro-character read-byte -syn keyword lispFunc array-dimensions get-output-stream-string read-char -syn keyword lispFunc array-displacement get-properties read-char-no-hang -syn keyword lispFunc array-element-type get-setf-expansion read-delimited-list -syn keyword lispFunc array-has-fill-pointer-p get-setf-method read-eval-print -syn keyword lispFunc array-in-bounds-p get-universal-time read-from-string -syn keyword lispFunc array-rank getf read-line -syn keyword lispFunc array-rank-limit gethash read-preserving-whitespace -syn keyword lispFunc array-row-major-index go read-sequence -syn keyword lispFunc array-total-size graphic-char-p reader-error -syn keyword lispFunc array-total-size-limit handler-bind readtable -syn keyword lispFunc arrayp handler-case readtable-case -syn keyword lispFunc ash hash-table readtablep -syn keyword lispFunc asin hash-table-count real -syn keyword lispFunc asinh hash-table-p realp -syn keyword lispFunc assert hash-table-rehash-size realpart -syn keyword lispFunc assoc hash-table-rehash-threshold reduce -syn keyword lispFunc assoc-if hash-table-size reinitialize-instance -syn keyword lispFunc assoc-if-not hash-table-test rem -syn keyword lispFunc atan host-namestring remf -syn keyword lispFunc atanh identity remhash -syn keyword lispFunc atom if remove -syn keyword lispFunc base-char if-exists remove-duplicates -syn keyword lispFunc base-string ignorable remove-if -syn keyword lispFunc bignum ignore remove-if-not -syn keyword lispFunc bit ignore-errors remove-method -syn keyword lispFunc bit-and imagpart remprop -syn keyword lispFunc bit-andc1 import rename-file -syn keyword lispFunc bit-andc2 in-package rename-package -syn keyword lispFunc bit-eqv in-package replace -syn keyword lispFunc bit-ior incf require -syn keyword lispFunc bit-nand initialize-instance rest -syn keyword lispFunc bit-nor inline restart -syn keyword lispFunc bit-not input-stream-p restart-bind -syn keyword lispFunc bit-orc1 inspect restart-case -syn keyword lispFunc bit-orc2 int-char restart-name -syn keyword lispFunc bit-vector integer return -syn keyword lispFunc bit-vector-p integer-decode-float return-from -syn keyword lispFunc bit-xor integer-length revappend -syn keyword lispFunc block integerp reverse -syn keyword lispFunc boole interactive-stream-p room -syn keyword lispFunc boole-1 intern rotatef -syn keyword lispFunc boole-2 internal-time-units-per-second round -syn keyword lispFunc boole-and intersection row-major-aref -syn keyword lispFunc boole-andc1 invalid-method-error rplaca -syn keyword lispFunc boole-andc2 invoke-debugger rplacd -syn keyword lispFunc boole-c1 invoke-restart safety -syn keyword lispFunc boole-c2 invoke-restart-interactively satisfies -syn keyword lispFunc boole-clr isqrt sbit -syn keyword lispFunc boole-eqv keyword scale-float -syn keyword lispFunc boole-ior keywordp schar -syn keyword lispFunc boole-nand labels search -syn keyword lispFunc boole-nor lambda second -syn keyword lispFunc boole-orc1 lambda-list-keywords sequence -syn keyword lispFunc boole-orc2 lambda-parameters-limit serious-condition -syn keyword lispFunc boole-set last set -syn keyword lispFunc boole-xor lcm set-char-bit -syn keyword lispFunc boolean ldb set-difference -syn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character -syn keyword lispFunc boundp ldiff set-exclusive-or -syn keyword lispFunc break least-negative-double-float set-macro-character -syn keyword lispFunc broadcast-stream least-negative-long-float set-pprint-dispatch -syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-syntax-from-char -syn keyword lispFunc built-in-class least-negative-normalized-long-float setf -syn keyword lispFunc butlast least-negative-normalized-short-float setq -syn keyword lispFunc byte least-negative-normalized-single-float seventh -syn keyword lispFunc byte-position least-negative-short-float shadow -syn keyword lispFunc byte-size least-negative-single-float shadowing-import -syn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize -syn keyword lispFunc call-method least-positive-long-float shiftf -syn keyword lispFunc call-next-method least-positive-normalized-double-float short-float -syn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon -syn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon -syn keyword lispFunc case least-positive-normalized-single-float short-site-name -syn keyword lispFunc catch least-positive-short-float signal -syn keyword lispFunc ccase least-positive-single-float signed-byte -syn keyword lispFunc cdr length signum -syn keyword lispFunc ceiling let simle-condition -syn keyword lispFunc cell-error let* simple-array -syn keyword lispFunc cell-error-name lisp simple-base-string -syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector -syn keyword lispFunc change-class lisp-implementation-version simple-bit-vector-p -syn keyword lispFunc char list simple-condition-format-arguments -syn keyword lispFunc char-bit list* simple-condition-format-control -syn keyword lispFunc char-bits list-all-packages simple-error -syn keyword lispFunc char-bits-limit list-length simple-string -syn keyword lispFunc char-code listen simple-string-p -syn keyword lispFunc char-code-limit listp simple-type-error -syn keyword lispFunc char-control-bit load simple-vector -syn keyword lispFunc char-downcase load-logical-pathname-translations simple-vector-p -syn keyword lispFunc char-equal load-time-value simple-warning -syn keyword lispFunc char-font locally sin -syn keyword lispFunc char-font-limit log single-flaot-epsilon -syn keyword lispFunc char-greaterp logand single-float -syn keyword lispFunc char-hyper-bit logandc1 single-float-epsilon -syn keyword lispFunc char-int logandc2 single-float-negative-epsilon -syn keyword lispFunc char-lessp logbitp sinh -syn keyword lispFunc char-meta-bit logcount sixth -syn keyword lispFunc char-name logeqv sleep -syn keyword lispFunc char-not-equal logical-pathname slot-boundp -syn keyword lispFunc char-not-greaterp logical-pathname-translations slot-exists-p -syn keyword lispFunc char-not-lessp logior slot-makunbound -syn keyword lispFunc char-super-bit lognand slot-missing -syn keyword lispFunc char-upcase lognor slot-unbound -syn keyword lispFunc char/= lognot slot-value -syn keyword lispFunc char< logorc1 software-type -syn keyword lispFunc char<= logorc2 software-version -syn keyword lispFunc char= logtest some -syn keyword lispFunc char> logxor sort -syn keyword lispFunc char>= long-float space -syn keyword lispFunc character long-float-epsilon special -syn keyword lispFunc characterp long-float-negative-epsilon special-form-p -syn keyword lispFunc check-type long-site-name special-operator-p -syn keyword lispFunc cis loop speed -syn keyword lispFunc class loop-finish sqrt -syn keyword lispFunc class-name lower-case-p stable-sort -syn keyword lispFunc class-of machine-instance standard -syn keyword lispFunc clear-input machine-type standard-char -syn keyword lispFunc clear-output machine-version standard-char-p -syn keyword lispFunc close macro-function standard-class -syn keyword lispFunc clrhash macroexpand standard-generic-function -syn keyword lispFunc code-char macroexpand-1 standard-method -syn keyword lispFunc coerce macroexpand-l standard-object -syn keyword lispFunc commonp macrolet step -syn keyword lispFunc compilation-speed make-array storage-condition -syn keyword lispFunc compile make-array store-value -syn keyword lispFunc compile-file make-broadcast-stream stream -syn keyword lispFunc compile-file-pathname make-char stream-element-type -syn keyword lispFunc compiled-function make-concatenated-stream stream-error -syn keyword lispFunc compiled-function-p make-condition stream-error-stream -syn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format -syn keyword lispFunc compiler-macro make-echo-stream streamp -syn keyword lispFunc compiler-macro-function make-hash-table streamup -syn keyword lispFunc complement make-instance string -syn keyword lispFunc complex make-instances-obsolete string-capitalize -syn keyword lispFunc complexp make-list string-char -syn keyword lispFunc compute-applicable-methods make-load-form string-char-p -syn keyword lispFunc compute-restarts make-load-form-saving-slots string-downcase -syn keyword lispFunc concatenate make-method string-equal -syn keyword lispFunc concatenated-stream make-package string-greaterp -syn keyword lispFunc concatenated-stream-streams make-pathname string-left-trim -syn keyword lispFunc cond make-random-state string-lessp -syn keyword lispFunc condition make-sequence string-not-equal -syn keyword lispFunc conjugate make-string string-not-greaterp -syn keyword lispFunc cons make-string-input-stream string-not-lessp -syn keyword lispFunc consp make-string-output-stream string-right-strim -syn keyword lispFunc constantly make-symbol string-right-trim -syn keyword lispFunc constantp make-synonym-stream string-stream -syn keyword lispFunc continue make-two-way-stream string-trim -syn keyword lispFunc control-error makunbound string-upcase -syn keyword lispFunc copy-alist map string/= -syn keyword lispFunc copy-list map-into string< -syn keyword lispFunc copy-pprint-dispatch mapc string<= -syn keyword lispFunc copy-readtable mapcan string= -syn keyword lispFunc copy-seq mapcar string> -syn keyword lispFunc copy-structure mapcon string>= -syn keyword lispFunc copy-symbol maphash stringp -syn keyword lispFunc copy-tree mapl structure -syn keyword lispFunc cos maplist structure-class -syn keyword lispFunc cosh mask-field structure-object -syn keyword lispFunc count max style-warning -syn keyword lispFunc count-if member sublim -syn keyword lispFunc count-if-not member-if sublis -syn keyword lispFunc ctypecase member-if-not subseq -syn keyword lispFunc debug merge subsetp -syn keyword lispFunc decf merge-pathname subst -syn keyword lispFunc declaim merge-pathnames subst-if -syn keyword lispFunc declaration method subst-if-not -syn keyword lispFunc declare method-combination substitute -syn keyword lispFunc decode-float method-combination-error substitute-if -syn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not -syn keyword lispFunc defclass min subtypep -syn keyword lispFunc defconstant minusp svref -syn keyword lispFunc defgeneric mismatch sxhash -syn keyword lispFunc define-compiler-macro mod symbol -syn keyword lispFunc define-condition most-negative-double-float symbol-function -syn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet -syn keyword lispFunc define-modify-macro most-negative-long-float symbol-name -syn keyword lispFunc define-setf-expander most-negative-short-float symbol-package -syn keyword lispFunc define-setf-method most-negative-single-float symbol-plist -syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-value -syn keyword lispFunc defmacro most-positive-fixnum symbolp -syn keyword lispFunc defmethod most-positive-long-float synonym-stream -syn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol -syn keyword lispFunc defparameter most-positive-single-float sys -syn keyword lispFunc defsetf muffle-warning system -syn keyword lispFunc defstruct multiple-value-bind t -syn keyword lispFunc deftype multiple-value-call tagbody -syn keyword lispFunc defun multiple-value-list tailp -syn keyword lispFunc defvar multiple-value-prog1 tan -syn keyword lispFunc delete multiple-value-seteq tanh -syn keyword lispFunc delete-duplicates multiple-value-setq tenth -syn keyword lispFunc delete-file multiple-values-limit terpri -syn keyword lispFunc delete-if name-char the -syn keyword lispFunc delete-if-not namestring third -syn keyword lispFunc delete-package nbutlast throw -syn keyword lispFunc denominator nconc time -syn keyword lispFunc deposit-field next-method-p trace -syn keyword lispFunc describe nil translate-logical-pathname -syn keyword lispFunc describe-object nintersection translate-pathname -syn keyword lispFunc destructuring-bind ninth tree-equal -syn keyword lispFunc digit-char no-applicable-method truename -syn keyword lispFunc digit-char-p no-next-method truncase -syn keyword lispFunc directory not truncate -syn keyword lispFunc directory-namestring notany two-way-stream -syn keyword lispFunc disassemble notevery two-way-stream-input-stream -syn keyword lispFunc division-by-zero notinline two-way-stream-output-stream -syn keyword lispFunc do nreconc type -syn keyword lispFunc do* nreverse type-error -syn keyword lispFunc do-all-symbols nset-difference type-error-datum -syn keyword lispFunc do-exeternal-symbols nset-exclusive-or type-error-expected-type -syn keyword lispFunc do-external-symbols nstring type-of -syn keyword lispFunc do-symbols nstring-capitalize typecase -syn keyword lispFunc documentation nstring-downcase typep -syn keyword lispFunc dolist nstring-upcase unbound-slot -syn keyword lispFunc dotimes nsublis unbound-slot-instance -syn keyword lispFunc double-float nsubst unbound-variable -syn keyword lispFunc double-float-epsilon nsubst-if undefined-function -syn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport -syn keyword lispFunc dpb nsubstitute unintern -syn keyword lispFunc dribble nsubstitute-if union -syn keyword lispFunc dynamic-extent nsubstitute-if-not unless -syn keyword lispFunc ecase nth unread -syn keyword lispFunc echo-stream nth-value unread-char -syn keyword lispFunc echo-stream-input-stream nthcdr unsigned-byte -syn keyword lispFunc echo-stream-output-stream null untrace -syn keyword lispFunc ed number unuse-package -syn keyword lispFunc eighth numberp unwind-protect -syn keyword lispFunc elt numerator update-instance-for-different-class -syn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class -syn keyword lispFunc end-of-file oddp upgraded-array-element-type -syn keyword lispFunc endp open upgraded-complex-part-type -syn keyword lispFunc enough-namestring open-stream-p upper-case-p -syn keyword lispFunc ensure-directories-exist optimize use-package -syn keyword lispFunc ensure-generic-function or use-value -syn keyword lispFunc eq otherwise user -syn keyword lispFunc eql output-stream-p user-homedir-pathname -syn keyword lispFunc equal package values -syn keyword lispFunc equalp package-error values-list -syn keyword lispFunc error package-error-package vector -syn keyword lispFunc etypecase package-name vector-pop -syn keyword lispFunc eval package-nicknames vector-push -syn keyword lispFunc eval-when package-shadowing-symbols vector-push-extend -syn keyword lispFunc evalhook package-use-list vectorp -syn keyword lispFunc evenp package-used-by-list warn -syn keyword lispFunc every packagep warning -syn keyword lispFunc exp pairlis when -syn keyword lispFunc export parse-error wild-pathname-p -syn keyword lispFunc expt parse-integer with-accessors -syn keyword lispFunc extended-char parse-namestring with-compilation-unit -syn keyword lispFunc fboundp pathname with-condition-restarts -syn keyword lispFunc fceiling pathname-device with-hash-table-iterator -syn keyword lispFunc fdefinition pathname-directory with-input-from-string -syn keyword lispFunc ffloor pathname-host with-open-file -syn keyword lispFunc fifth pathname-match-p with-open-stream -syn keyword lispFunc file-author pathname-name with-output-to-string -syn keyword lispFunc file-error pathname-type with-package-iterator -syn keyword lispFunc file-error-pathname pathname-version with-simple-restart -syn keyword lispFunc file-length pathnamep with-slots -syn keyword lispFunc file-namestring peek-char with-standard-io-syntax -syn keyword lispFunc file-position phase write -syn keyword lispFunc file-stream pi write-byte -syn keyword lispFunc file-string-length plusp write-char -syn keyword lispFunc file-write-date pop write-line -syn keyword lispFunc fill position write-sequence -syn keyword lispFunc fill-pointer position-if write-string -syn keyword lispFunc find position-if-not write-to-string -syn keyword lispFunc find-all-symbols pprint y-or-n-p -syn keyword lispFunc find-class pprint-dispatch yes-or-no-p -syn keyword lispFunc find-if pprint-exit-if-list-exhausted zerop -syn keyword lispFunc find-if-not pprint-fill +syn keyword lispFunc * find-method pprint-indent +syn keyword lispFunc ** find-package pprint-linear +syn keyword lispFunc *** find-restart pprint-logical-block +syn keyword lispFunc + find-symbol pprint-newline +syn keyword lispFunc ++ finish-output pprint-pop +syn keyword lispFunc +++ first pprint-tab +syn keyword lispFunc - fixnum pprint-tabular +syn keyword lispFunc / flet prin1 +syn keyword lispFunc // float prin1-to-string +syn keyword lispFunc /// float-digits princ +syn keyword lispFunc /= float-precision princ-to-string +syn keyword lispFunc 1+ float-radix print +syn keyword lispFunc 1- float-sign print-not-readable +syn keyword lispFunc < floating-point-inexact print-not-readable-object +syn keyword lispFunc <= floating-point-invalid-operation print-object +syn keyword lispFunc = floating-point-overflow print-unreadable-object +syn keyword lispFunc > floating-point-underflow probe-file +syn keyword lispFunc >= floatp proclaim +syn keyword lispFunc abort floor prog +syn keyword lispFunc abs fmakunbound prog* +syn keyword lispFunc access force-output prog1 +syn keyword lispFunc acons format prog2 +syn keyword lispFunc acos formatter progn +syn keyword lispFunc acosh fourth program-error +syn keyword lispFunc add-method fresh-line progv +syn keyword lispFunc adjoin fround provide +syn keyword lispFunc adjust-array ftruncate psetf +syn keyword lispFunc adjustable-array-p ftype psetq +syn keyword lispFunc allocate-instance funcall push +syn keyword lispFunc alpha-char-p function pushnew +syn keyword lispFunc alphanumericp function-keywords putprop +syn keyword lispFunc and function-lambda-expression quote +syn keyword lispFunc append functionp random +syn keyword lispFunc apply gbitp random-state +syn keyword lispFunc applyhook gcd random-state-p +syn keyword lispFunc apropos generic-function rassoc +syn keyword lispFunc apropos-list gensym rassoc-if +syn keyword lispFunc aref gentemp rassoc-if-not +syn keyword lispFunc arithmetic-error get ratio +syn keyword lispFunc arithmetic-error-operands get-decoded-time rational +syn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize +syn keyword lispFunc array get-internal-real-time rationalp +syn keyword lispFunc array-dimension get-internal-run-time read +syn keyword lispFunc array-dimension-limit get-macro-character read-byte +syn keyword lispFunc array-dimensions get-output-stream-string read-char +syn keyword lispFunc array-displacement get-properties read-char-no-hang +syn keyword lispFunc array-element-type get-setf-expansion read-delimited-list +syn keyword lispFunc array-has-fill-pointer-p get-setf-method read-eval-print +syn keyword lispFunc array-in-bounds-p get-universal-time read-from-string +syn keyword lispFunc array-rank getf read-line +syn keyword lispFunc array-rank-limit gethash read-preserving-whitespace +syn keyword lispFunc array-row-major-index go read-sequence +syn keyword lispFunc array-total-size graphic-char-p reader-error +syn keyword lispFunc array-total-size-limit handler-bind readtable +syn keyword lispFunc arrayp handler-case readtable-case +syn keyword lispFunc ash hash-table readtablep +syn keyword lispFunc asin hash-table-count real +syn keyword lispFunc asinh hash-table-p realp +syn keyword lispFunc assert hash-table-rehash-size realpart +syn keyword lispFunc assoc hash-table-rehash-threshold reduce +syn keyword lispFunc assoc-if hash-table-size reinitialize-instance +syn keyword lispFunc assoc-if-not hash-table-test rem +syn keyword lispFunc atan host-namestring remf +syn keyword lispFunc atanh identity remhash +syn keyword lispFunc atom if remove +syn keyword lispFunc base-char if-exists remove-duplicates +syn keyword lispFunc base-string ignorable remove-if +syn keyword lispFunc bignum ignore remove-if-not +syn keyword lispFunc bit ignore-errors remove-method +syn keyword lispFunc bit-and imagpart remprop +syn keyword lispFunc bit-andc1 import rename-file +syn keyword lispFunc bit-andc2 in-package rename-package +syn keyword lispFunc bit-eqv in-package replace +syn keyword lispFunc bit-ior incf require +syn keyword lispFunc bit-nand initialize-instance rest +syn keyword lispFunc bit-nor inline restart +syn keyword lispFunc bit-not input-stream-p restart-bind +syn keyword lispFunc bit-orc1 inspect restart-case +syn keyword lispFunc bit-orc2 int-char restart-name +syn keyword lispFunc bit-vector integer return +syn keyword lispFunc bit-vector-p integer-decode-float return-from +syn keyword lispFunc bit-xor integer-length revappend +syn keyword lispFunc block integerp reverse +syn keyword lispFunc boole interactive-stream-p room +syn keyword lispFunc boole-1 intern rotatef +syn keyword lispFunc boole-2 internal-time-units-per-second round +syn keyword lispFunc boole-and intersection row-major-aref +syn keyword lispFunc boole-andc1 invalid-method-error rplaca +syn keyword lispFunc boole-andc2 invoke-debugger rplacd +syn keyword lispFunc boole-c1 invoke-restart safety +syn keyword lispFunc boole-c2 invoke-restart-interactively satisfies +syn keyword lispFunc boole-clr isqrt sbit +syn keyword lispFunc boole-eqv keyword scale-float +syn keyword lispFunc boole-ior keywordp schar +syn keyword lispFunc boole-nand labels search +syn keyword lispFunc boole-nor lambda second +syn keyword lispFunc boole-orc1 lambda-list-keywords sequence +syn keyword lispFunc boole-orc2 lambda-parameters-limit serious-condition +syn keyword lispFunc boole-set last set +syn keyword lispFunc boole-xor lcm set-char-bit +syn keyword lispFunc boolean ldb set-difference +syn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character +syn keyword lispFunc boundp ldiff set-exclusive-or +syn keyword lispFunc break least-negative-double-float set-macro-character +syn keyword lispFunc broadcast-stream least-negative-long-float set-pprint-dispatch +syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-syntax-from-char +syn keyword lispFunc built-in-class least-negative-normalized-long-float setf +syn keyword lispFunc butlast least-negative-normalized-short-float setq +syn keyword lispFunc byte least-negative-normalized-single-float seventh +syn keyword lispFunc byte-position least-negative-short-float shadow +syn keyword lispFunc byte-size least-negative-single-float shadowing-import +syn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize +syn keyword lispFunc call-method least-positive-long-float shiftf +syn keyword lispFunc call-next-method least-positive-normalized-double-float short-float +syn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon +syn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon +syn keyword lispFunc case least-positive-normalized-single-float short-site-name +syn keyword lispFunc catch least-positive-short-float signal +syn keyword lispFunc ccase least-positive-single-float signed-byte +syn keyword lispFunc cdr length signum +syn keyword lispFunc ceiling let simple-condition +syn keyword lispFunc cell-error let* simple-array +syn keyword lispFunc cell-error-name lisp simple-base-string +syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector +syn keyword lispFunc change-class lisp-implementation-version simple-bit-vector-p +syn keyword lispFunc char list simple-condition-format-arguments +syn keyword lispFunc char-bit list* simple-condition-format-control +syn keyword lispFunc char-bits list-all-packages simple-error +syn keyword lispFunc char-bits-limit list-length simple-string +syn keyword lispFunc char-code listen simple-string-p +syn keyword lispFunc char-code-limit listp simple-type-error +syn keyword lispFunc char-control-bit load simple-vector +syn keyword lispFunc char-downcase load-logical-pathname-translations simple-vector-p +syn keyword lispFunc char-equal load-time-value simple-warning +syn keyword lispFunc char-font locally sin +syn keyword lispFunc char-font-limit log single-flaot-epsilon +syn keyword lispFunc char-greaterp logand single-float +syn keyword lispFunc char-hyper-bit logandc1 single-float-epsilon +syn keyword lispFunc char-int logandc2 single-float-negative-epsilon +syn keyword lispFunc char-lessp logbitp sinh +syn keyword lispFunc char-meta-bit logcount sixth +syn keyword lispFunc char-name logeqv sleep +syn keyword lispFunc char-not-equal logical-pathname slot-boundp +syn keyword lispFunc char-not-greaterp logical-pathname-translations slot-exists-p +syn keyword lispFunc char-not-lessp logior slot-makunbound +syn keyword lispFunc char-super-bit lognand slot-missing +syn keyword lispFunc char-upcase lognor slot-unbound +syn keyword lispFunc char/= lognot slot-value +syn keyword lispFunc char< logorc1 software-type +syn keyword lispFunc char<= logorc2 software-version +syn keyword lispFunc char= logtest some +syn keyword lispFunc char> logxor sort +syn keyword lispFunc char>= long-float space +syn keyword lispFunc character long-float-epsilon special +syn keyword lispFunc characterp long-float-negative-epsilon special-form-p +syn keyword lispFunc check-type long-site-name special-operator-p +syn keyword lispFunc cis loop speed +syn keyword lispFunc class loop-finish sqrt +syn keyword lispFunc class-name lower-case-p stable-sort +syn keyword lispFunc class-of machine-instance standard +syn keyword lispFunc clear-input machine-type standard-char +syn keyword lispFunc clear-output machine-version standard-char-p +syn keyword lispFunc close macro-function standard-class +syn keyword lispFunc clrhash macroexpand standard-generic-function +syn keyword lispFunc code-char macroexpand-1 standard-method +syn keyword lispFunc coerce macroexpand-l standard-object +syn keyword lispFunc commonp macrolet step +syn keyword lispFunc compilation-speed make-array storage-condition +syn keyword lispFunc compile make-array store-value +syn keyword lispFunc compile-file make-broadcast-stream stream +syn keyword lispFunc compile-file-pathname make-char stream-element-type +syn keyword lispFunc compiled-function make-concatenated-stream stream-error +syn keyword lispFunc compiled-function-p make-condition stream-error-stream +syn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format +syn keyword lispFunc compiler-macro make-echo-stream streamp +syn keyword lispFunc compiler-macro-function make-hash-table streamup +syn keyword lispFunc complement make-instance string +syn keyword lispFunc complex make-instances-obsolete string-capitalize +syn keyword lispFunc complexp make-list string-char +syn keyword lispFunc compute-applicable-methods make-load-form string-char-p +syn keyword lispFunc compute-restarts make-load-form-saving-slots string-downcase +syn keyword lispFunc concatenate make-method string-equal +syn keyword lispFunc concatenated-stream make-package string-greaterp +syn keyword lispFunc concatenated-stream-streams make-pathname string-left-trim +syn keyword lispFunc cond make-random-state string-lessp +syn keyword lispFunc condition make-sequence string-not-equal +syn keyword lispFunc conjugate make-string string-not-greaterp +syn keyword lispFunc cons make-string-input-stream string-not-lessp +syn keyword lispFunc consp make-string-output-stream string-right-strim +syn keyword lispFunc constantly make-symbol string-right-trim +syn keyword lispFunc constantp make-synonym-stream string-stream +syn keyword lispFunc continue make-two-way-stream string-trim +syn keyword lispFunc control-error makunbound string-upcase +syn keyword lispFunc copy-alist map string/= +syn keyword lispFunc copy-list map-into string< +syn keyword lispFunc copy-pprint-dispatch mapc string<= +syn keyword lispFunc copy-readtable mapcan string= +syn keyword lispFunc copy-seq mapcar string> +syn keyword lispFunc copy-structure mapcon string>= +syn keyword lispFunc copy-symbol maphash stringp +syn keyword lispFunc copy-tree mapl structure +syn keyword lispFunc cos maplist structure-class +syn keyword lispFunc cosh mask-field structure-object +syn keyword lispFunc count max style-warning +syn keyword lispFunc count-if member sublim +syn keyword lispFunc count-if-not member-if sublis +syn keyword lispFunc ctypecase member-if-not subseq +syn keyword lispFunc debug merge subsetp +syn keyword lispFunc decf merge-pathname subst +syn keyword lispFunc declaim merge-pathnames subst-if +syn keyword lispFunc declaration method subst-if-not +syn keyword lispFunc declare method-combination substitute +syn keyword lispFunc decode-float method-combination-error substitute-if +syn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not +syn keyword lispFunc defclass min subtypep +syn keyword lispFunc defconstant minusp svref +syn keyword lispFunc defgeneric mismatch sxhash +syn keyword lispFunc define-compiler-macro mod symbol +syn keyword lispFunc define-condition most-negative-double-float symbol-function +syn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet +syn keyword lispFunc define-modify-macro most-negative-long-float symbol-name +syn keyword lispFunc define-setf-expander most-negative-short-float symbol-package +syn keyword lispFunc define-setf-method most-negative-single-float symbol-plist +syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-value +syn keyword lispFunc defmacro most-positive-fixnum symbolp +syn keyword lispFunc defmethod most-positive-long-float synonym-stream +syn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol +syn keyword lispFunc defparameter most-positive-single-float sys +syn keyword lispFunc defsetf muffle-warning system +syn keyword lispFunc defstruct multiple-value-bind t +syn keyword lispFunc deftype multiple-value-call tagbody +syn keyword lispFunc defun multiple-value-list tailp +syn keyword lispFunc defvar multiple-value-prog1 tan +syn keyword lispFunc delete multiple-value-seteq tanh +syn keyword lispFunc delete-duplicates multiple-value-setq tenth +syn keyword lispFunc delete-file multiple-values-limit terpri +syn keyword lispFunc delete-if name-char the +syn keyword lispFunc delete-if-not namestring third +syn keyword lispFunc delete-package nbutlast throw +syn keyword lispFunc denominator nconc time +syn keyword lispFunc deposit-field next-method-p trace +syn keyword lispFunc describe nil translate-logical-pathname +syn keyword lispFunc describe-object nintersection translate-pathname +syn keyword lispFunc destructuring-bind ninth tree-equal +syn keyword lispFunc digit-char no-applicable-method truename +syn keyword lispFunc digit-char-p no-next-method truncase +syn keyword lispFunc directory not truncate +syn keyword lispFunc directory-namestring notany two-way-stream +syn keyword lispFunc disassemble notevery two-way-stream-input-stream +syn keyword lispFunc division-by-zero notinline two-way-stream-output-stream +syn keyword lispFunc do nreconc type +syn keyword lispFunc do* nreverse type-error +syn keyword lispFunc do-all-symbols nset-difference type-error-datum +syn keyword lispFunc do-exeternal-symbols nset-exclusive-or type-error-expected-type +syn keyword lispFunc do-external-symbols nstring type-of +syn keyword lispFunc do-symbols nstring-capitalize typecase +syn keyword lispFunc documentation nstring-downcase typep +syn keyword lispFunc dolist nstring-upcase unbound-slot +syn keyword lispFunc dotimes nsublis unbound-slot-instance +syn keyword lispFunc double-float nsubst unbound-variable +syn keyword lispFunc double-float-epsilon nsubst-if undefined-function +syn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport +syn keyword lispFunc dpb nsubstitute unintern +syn keyword lispFunc dribble nsubstitute-if union +syn keyword lispFunc dynamic-extent nsubstitute-if-not unless +syn keyword lispFunc ecase nth unread +syn keyword lispFunc echo-stream nth-value unread-char +syn keyword lispFunc echo-stream-input-stream nthcdr unsigned-byte +syn keyword lispFunc echo-stream-output-stream null untrace +syn keyword lispFunc ed number unuse-package +syn keyword lispFunc eighth numberp unwind-protect +syn keyword lispFunc elt numerator update-instance-for-different-class +syn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class +syn keyword lispFunc end-of-file oddp upgraded-array-element-type +syn keyword lispFunc endp open upgraded-complex-part-type +syn keyword lispFunc enough-namestring open-stream-p upper-case-p +syn keyword lispFunc ensure-directories-exist optimize use-package +syn keyword lispFunc ensure-generic-function or use-value +syn keyword lispFunc eq otherwise user +syn keyword lispFunc eql output-stream-p user-homedir-pathname +syn keyword lispFunc equal package values +syn keyword lispFunc equalp package-error values-list +syn keyword lispFunc error package-error-package vector +syn keyword lispFunc etypecase package-name vector-pop +syn keyword lispFunc eval package-nicknames vector-push +syn keyword lispFunc eval-when package-shadowing-symbols vector-push-extend +syn keyword lispFunc evalhook package-use-list vectorp +syn keyword lispFunc evenp package-used-by-list warn +syn keyword lispFunc every packagep warning +syn keyword lispFunc exp pairlis when +syn keyword lispFunc export parse-error wild-pathname-p +syn keyword lispFunc expt parse-integer with-accessors +syn keyword lispFunc extended-char parse-namestring with-compilation-unit +syn keyword lispFunc fboundp pathname with-condition-restarts +syn keyword lispFunc fceiling pathname-device with-hash-table-iterator +syn keyword lispFunc fdefinition pathname-directory with-input-from-string +syn keyword lispFunc ffloor pathname-host with-open-file +syn keyword lispFunc fifth pathname-match-p with-open-stream +syn keyword lispFunc file-author pathname-name with-output-to-string +syn keyword lispFunc file-error pathname-type with-package-iterator +syn keyword lispFunc file-error-pathname pathname-version with-simple-restart +syn keyword lispFunc file-length pathnamep with-slots +syn keyword lispFunc file-namestring peek-char with-standard-io-syntax +syn keyword lispFunc file-position phase write +syn keyword lispFunc file-stream pi write-byte +syn keyword lispFunc file-string-length plusp write-char +syn keyword lispFunc file-write-date pop write-line +syn keyword lispFunc fill position write-sequence +syn keyword lispFunc fill-pointer position-if write-string +syn keyword lispFunc find position-if-not write-to-string +syn keyword lispFunc find-all-symbols pprint y-or-n-p +syn keyword lispFunc find-class pprint-dispatch yes-or-no-p +syn keyword lispFunc find-if pprint-exit-if-list-exhausted zerop +syn keyword lispFunc find-if-not pprint-fill -syn match lispFunc "\<c[ad]\+r\>" +syn match lispFunc "\<c[ad]\+r\>" +if exists("g:lispsyntax_clisp") + " CLISP FFI: + syn match lispFunc "\<\(ffi:\)\?with-c-\(place\|var\)\>" + syn match lispFunc "\<\(ffi:\)\?with-foreign-\(object\|string\)\>" + syn match lispFunc "\<\(ffi:\)\?default-foreign-\(language\|library\)\>" + syn match lispFunc "\<\([us]_\?\)\?\(element\|deref\|cast\|slot\|validp\)\>" + syn match lispFunc "\<\(ffi:\)\?set-foreign-pointer\>" + syn match lispFunc "\<\(ffi:\)\?allocate-\(deep\|shallow\)\>" + syn match lispFunc "\<\(ffi:\)\?c-lines\>" + syn match lispFunc "\<\(ffi:\)\?foreign-\(value\|free\|variable\|function\|object\)\>" + syn match lispFunc "\<\(ffi:\)\?foreign-address\(-null\|unsigned\)\?\>" + syn match lispFunc "\<\(ffi:\)\?undigned-foreign-address\>" + syn match lispFunc "\<\(ffi:\)\?c-var-\(address\|object\)\>" + syn match lispFunc "\<\(ffi:\)\?typeof\>" + syn match lispFunc "\<\(ffi:\)\?\(bit\)\?sizeof\>" +" CLISP Macros, functions et al: + syn match lispFunc "\<\(ext:\)\?with-collect\>" + syn match lispFunc "\<\(ext:\)\?letf\*\?\>" + syn match lispFunc "\<\(ext:\)\?finalize\>\>" + syn match lispFunc "\<\(ext:\)\?memoized\>" + syn match lispFunc "\<\(ext:\)\?getenv\>" + syn match lispFunc "\<\(ext:\)\?convert-string-\(to\|from\)-bytes\>" + syn match lispFunc "\<\(ext:\)\?ethe\>" + syn match lispFunc "\<\(ext:\)\?with-gensyms\>" + syn match lispFunc "\<\(ext:\)\?open-http\>" + syn match lispFunc "\<\(ext:\)\?string-concat\>" + syn match lispFunc "\<\(ext:\)\?with-http-\(in\|out\)put\>" + syn match lispFunc "\<\(ext:\)\?with-html-output\>" + syn match lispFunc "\<\(ext:\)\?expand-form\>" + syn match lispFunc "\<\(ext:\)\?\(without-\)\?package-lock\>" + syn match lispFunc "\<\(ext:\)\?re-export\>" + syn match lispFunc "\<\(ext:\)\?saveinitmem\>" + syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(integer\|float\)\>" + syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(char\|byte\)-sequence\>" + syn match lispFunc "\<\(custom:\)\?\*system-package-list\*\>" + syn match lispFunc "\<\(custom:\)\?\*ansi\*\>" +endif " --------------------------------------------------------------------- " Lisp Keywords (modifiers): {{{1 -syn keyword lispKey :abort :from-end :overwrite -syn keyword lispKey :adjustable :gensym :predicate -syn keyword lispKey :append :host :preserve-whitespace -syn keyword lispKey :array :if-does-not-exist :pretty -syn keyword lispKey :base :if-exists :print -syn keyword lispKey :case :include :print-function -syn keyword lispKey :circle :index :probe -syn keyword lispKey :conc-name :inherited :radix -syn keyword lispKey :constructor :initial-contents :read-only -syn keyword lispKey :copier :initial-element :rehash-size -syn keyword lispKey :count :initial-offset :rehash-threshold -syn keyword lispKey :create :initial-value :rename -syn keyword lispKey :default :input :rename-and-delete -syn keyword lispKey :defaults :internal :size -syn keyword lispKey :device :io :start -syn keyword lispKey :direction :junk-allowed :start1 -syn keyword lispKey :directory :key :start2 -syn keyword lispKey :displaced-index-offset :length :stream -syn keyword lispKey :displaced-to :level :supersede -syn keyword lispKey :element-type :name :test -syn keyword lispKey :end :named :test-not -syn keyword lispKey :end1 :new-version :type -syn keyword lispKey :end2 :nicknames :use -syn keyword lispKey :error :output :verbose -syn keyword lispKey :escape :output-file :version -syn keyword lispKey :external +syn keyword lispKey :abort :from-end :overwrite +syn keyword lispKey :adjustable :gensym :predicate +syn keyword lispKey :append :host :preserve-whitespace +syn keyword lispKey :array :if-does-not-exist :pretty +syn keyword lispKey :base :if-exists :print +syn keyword lispKey :case :include :print-function +syn keyword lispKey :circle :index :probe +syn keyword lispKey :conc-name :inherited :radix +syn keyword lispKey :constructor :initial-contents :read-only +syn keyword lispKey :copier :initial-element :rehash-size +syn keyword lispKey :count :initial-offset :rehash-threshold +syn keyword lispKey :create :initial-value :rename +syn keyword lispKey :default :input :rename-and-delete +syn keyword lispKey :defaults :internal :size +syn keyword lispKey :device :io :start +syn keyword lispKey :direction :junk-allowed :start1 +syn keyword lispKey :directory :key :start2 +syn keyword lispKey :displaced-index-offset :length :stream +syn keyword lispKey :displaced-to :level :supersede +syn keyword lispKey :element-type :name :test +syn keyword lispKey :end :named :test-not +syn keyword lispKey :end1 :new-version :type +syn keyword lispKey :end2 :nicknames :use +syn keyword lispKey :error :output :verbose +syn keyword lispKey :escape :output-file :version +syn keyword lispKey :external +" defpackage arguments +syn keyword lispKey :documentation :shadowing-import-from :modern :export +syn keyword lispKey :case-sensitive :case-inverted :shadow :import-from :intern +" lambda list keywords +syn keyword lispKey &allow-other-keys &aux &body +syn keyword lispKey &environment &key &optional &rest &whole +" make-array argument +syn keyword lispKey :fill-pointer +" readtable-case values +syn keyword lispKey :upcase :downcase :preserve :invert +" eval-when situations +syn keyword lispKey :load-toplevel :compile-toplevel :execute +" ANSI Extended LOOP: +syn keyword lispKey :while :until :for :do :if :then :else :when :unless :in +syn keyword lispKey :across :finally :collect :nconc :maximize :minimize :sum +syn keyword lispKey :and :with :initially :append :into :count :end :repeat +syn keyword lispKey :always :never :thereis :from :to :upto :downto :below +syn keyword lispKey :above :by :on :being :each :the :hash-key :hash-keys +syn keyword lispKey :hash-value :hash-values :using :of-type :upfrom :downfrom +if exists("g:lispsyntax_clisp") + " CLISP FFI: + syn keyword lispKey :arguments :return-type :library :full :malloc-free + syn keyword lispKey :none :alloca :in :out :in-out :stdc-stdcall :stdc :c + syn keyword lispKey :language :built-in :typedef :external + syn keyword lispKey :fini :init-once :init-always +endif " --------------------------------------------------------------------- " Standard Lisp Variables: {{{1 -syn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch* -syn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch* -syn keyword lispVar *break-on-signals* *load-truename* *print-pretty* -syn keyword lispVar *break-on-warnings* *load-verbose* *print-radix* -syn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably* -syn keyword lispVar *compile-file-pathname* *modules* *print-right-margin* -syn keyword lispVar *compile-file-truename* *package* *print-right-margin* -syn keyword lispVar *compile-file-truename* *print-array* *query-io* -syn keyword lispVar *compile-print* *print-base* *random-state* -syn keyword lispVar *compile-verbose* *print-case* *read-base* -syn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format* -syn keyword lispVar *debug-io* *print-escape* *read-eval* -syn keyword lispVar *debugger-hook* *print-gensym* *read-suppress* -syn keyword lispVar *default-pathname-defaults* *print-length* *readtable* -syn keyword lispVar *error-output* *print-level* *standard-input* -syn keyword lispVar *evalhook* *print-lines* *standard-output* -syn keyword lispVar *features* *print-miser-width* *terminal-io* -syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output* +syn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch* +syn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch* +syn keyword lispVar *break-on-signals* *load-truename* *print-pretty* +syn keyword lispVar *break-on-warnings* *load-verbose* *print-radix* +syn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably* +syn keyword lispVar *compile-file-pathname* *modules* *print-right-margin* +syn keyword lispVar *compile-file-truename* *package* *print-right-margin* +syn keyword lispVar *compile-file-truename* *print-array* *query-io* +syn keyword lispVar *compile-print* *print-base* *random-state* +syn keyword lispVar *compile-verbose* *print-case* *read-base* +syn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format* +syn keyword lispVar *debug-io* *print-escape* *read-eval* +syn keyword lispVar *debugger-hook* *print-gensym* *read-suppress* +syn keyword lispVar *default-pathname-defaults* *print-length* *readtable* +syn keyword lispVar *error-output* *print-level* *standard-input* +syn keyword lispVar *evalhook* *print-lines* *standard-output* +syn keyword lispVar *features* *print-miser-width* *terminal-io* +syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output* " --------------------------------------------------------------------- " Strings: {{{1 -syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell +syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell if exists("g:lisp_instring") - syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString - syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained + syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString + syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained endif " --------------------------------------------------------------------- " Shared with Xlisp, Declarations, Macros, Functions: {{{1 -syn keyword lispDecl defmacro do-all-symbols labels -syn keyword lispDecl defsetf do-external-symbols let -syn keyword lispDecl deftype do-symbols locally -syn keyword lispDecl defun dotimes macrolet -syn keyword lispDecl do* flet multiple-value-bind +syn keyword lispDecl defmacro do-all-symbols labels +syn keyword lispDecl defsetf do-external-symbols let +syn keyword lispDecl deftype do-symbols locally +syn keyword lispDecl defun dotimes macrolet +syn keyword lispDecl do* flet multiple-value-bind +if exists("g:lispsyntax_clisp") + " CLISP FFI: + syn match lispDecl "\<\(ffi:\)\?def-c-\(var\|const\|enum\|type\|struct\)\>" + syn match lispDecl "\<\(ffi:\)\?def-call-\(out\|in\)\>" + syn match lispDecl "\<\(ffi:\)\?c-\(function\|struct\|pointer\|string\)\>" + syn match lispDecl "\<\(ffi:\)\?c-ptr\(-null\)\?\>" + syn match lispDecl "\<\(ffi:\)\?c-array\(-ptr\|-max\)\?\>" + syn match lispDecl "\<\(ffi:\)\?[us]\?\(char\|short\|int\|long\)\>" + syn match lispDecl "\<\(win32:\|w32\)\?d\?word\>" + syn match lispDecl "\<\([us]_\?\)\?int\(8\|16\|32\|64\)\(_t\)\?\>" + syn keyword lispDecl size_t off_t time_t handle +endif " --------------------------------------------------------------------- " Numbers: supporting integers and floating point numbers {{{1 -syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\=" +syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\=" -syn match lispSpecial "\*\w[a-z_0-9-]*\*" -syn match lispSpecial !#|[^()'`,"; \t]\+|#! -syn match lispSpecial !#x\x\+! -syn match lispSpecial !#o\o\+! -syn match lispSpecial !#b[01]\+! -syn match lispSpecial !#\\[ -}\~]! -syn match lispSpecial !#[':][^()'`,"; \t]\+! -syn match lispSpecial !#([^()'`,"; \t]\+)! -syn match lispSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)! +syn match lispSpecial "\*\w[a-z_0-9-]*\*" +syn match lispSpecial !#|[^()'`,"; \t]\+|#! +syn match lispSpecial !#x\x\+! +syn match lispSpecial !#o\o\+! +syn match lispSpecial !#b[01]\+! +syn match lispSpecial !#\\[ -}\~]! +syn match lispSpecial !#[':][^()'`,"; \t]\+! +syn match lispSpecial !#([^()'`,"; \t]\+)! +syn match lispSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)! +syn match lispSpecial "\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>" -syn match lispConcat "\s\.\s" -syn match lispParenError ")" +syn match lispConcat "\s\.\s" +syn match lispParenError ")" " --------------------------------------------------------------------- " Comments: {{{1 -syn cluster lispCommentGroup contains=lispTodo,@Spell -syn match lispComment ";.*$" contains=@lispCommentGroup -syn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup -syn keyword lispTodo contained combak combak: todo todo: +syn cluster lispCommentGroup contains=lispTodo,@Spell +syn match lispComment ";.*$" contains=@lispCommentGroup +syn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup +syn keyword lispTodo contained combak combak: todo todo: " --------------------------------------------------------------------- " Synchronization: {{{1 @@ -487,38 +568,38 @@ syn sync lines=100 if version >= 508 command -nargs=+ HiLink hi def link <args> - HiLink lispCommentRegion lispComment - HiLink lispAtomNmbr lispNumber - HiLink lispAtomMark lispMark - HiLink lispInStringString lispString + HiLink lispCommentRegion lispComment + HiLink lispAtomNmbr lispNumber + HiLink lispAtomMark lispMark + HiLink lispInStringString lispString - HiLink lispAtom Identifier - HiLink lispAtomBarSymbol Special - HiLink lispBarSymbol Special - HiLink lispComment Comment - HiLink lispConcat Statement - HiLink lispDecl Statement - HiLink lispFunc Statement - HiLink lispKey Type - HiLink lispMark Delimiter - HiLink lispNumber Number - HiLink lispParenError Error - HiLink lispSpecial Type - HiLink lispString String - HiLink lispTodo Todo - HiLink lispVar Statement + HiLink lispAtom Identifier + HiLink lispAtomBarSymbol Special + HiLink lispBarSymbol Special + HiLink lispComment Comment + HiLink lispConcat Statement + HiLink lispDecl Statement + HiLink lispFunc Statement + HiLink lispKey Type + HiLink lispMark Delimiter + HiLink lispNumber Number + HiLink lispParenError Error + HiLink lispSpecial Type + HiLink lispString String + HiLink lispTodo Todo + HiLink lispVar Statement if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 if &bg == "dark" hi def hlLevel0 ctermfg=red guifg=red1 - hi def hlLevel1 ctermfg=yellow guifg=orange1 - hi def hlLevel2 ctermfg=green guifg=yellow1 - hi def hlLevel3 ctermfg=cyan guifg=greenyellow - hi def hlLevel4 ctermfg=magenta guifg=green1 - hi def hlLevel5 ctermfg=red guifg=springgreen1 - hi def hlLevel6 ctermfg=yellow guifg=cyan1 - hi def hlLevel7 ctermfg=green guifg=slateblue1 - hi def hlLevel8 ctermfg=cyan guifg=magenta1 + hi def hlLevel1 ctermfg=yellow guifg=orange1 + hi def hlLevel2 ctermfg=green guifg=yellow1 + hi def hlLevel3 ctermfg=cyan guifg=greenyellow + hi def hlLevel4 ctermfg=magenta guifg=green1 + hi def hlLevel5 ctermfg=red guifg=springgreen1 + hi def hlLevel6 ctermfg=yellow guifg=cyan1 + hi def hlLevel7 ctermfg=green guifg=slateblue1 + hi def hlLevel8 ctermfg=cyan guifg=magenta1 hi def hlLevel9 ctermfg=magenta guifg=purple1 else hi def hlLevel0 ctermfg=red guifg=red3 diff --git a/runtime/syntax/lsl.vim b/runtime/syntax/lsl.vim new file mode 100644 index 000000000..3f2481678 --- /dev/null +++ b/runtime/syntax/lsl.vim @@ -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 diff --git a/runtime/syntax/modconf.vim b/runtime/syntax/modconf.vim index e982b8c58..d4e8827be 100644 --- a/runtime/syntax/modconf.vim +++ b/runtime/syntax/modconf.vim @@ -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 diff --git a/runtime/syntax/mrxvtrc.vim b/runtime/syntax/mrxvtrc.vim index d86f8e42a..878021e00 100644 --- a/runtime/syntax/mrxvtrc.vim +++ b/runtime/syntax/mrxvtrc.vim @@ -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 diff --git a/runtime/syntax/mysql.vim b/runtime/syntax/mysql.vim index aa123b7a7..79cf4b5ab 100644 --- a/runtime/syntax/mysql.vim +++ b/runtime/syntax/mysql.vim @@ -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 diff --git a/runtime/syntax/phtml.vim b/runtime/syntax/phtml.vim index 2ff6dd95c..646129a20 100644 --- a/runtime/syntax/phtml.vim +++ b/runtime/syntax/phtml.vim @@ -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 diff --git a/runtime/syntax/quake.vim b/runtime/syntax/quake.vim index 7840f7cc4..3a9b68d6f 100644 --- a/runtime/syntax/quake.vim +++ b/runtime/syntax/quake.vim @@ -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 diff --git a/runtime/syntax/rexx.vim b/runtime/syntax/rexx.vim index 179e453c9..b4d07323d 100644 --- a/runtime/syntax/rexx.vim +++ b/runtime/syntax/rexx.vim @@ -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 -syn keyword rexxTodo contained TODO FIXME XXX +" 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 - -" 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 - -" Windows-only classes -syn keyword rexxBuiltinClass .OLEObject .MenuObject .WindowsClipboard .WindowsEventLog -syn keyword rexxBuiltinClass .WindowsManager .WindowObject .WindowsProgramManager - - -" 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,rexxClass,rexxMethod,rexxRoutine,rexxRequires keepend +syn keyword rexxConst .true .false .nil .endOfLine .line +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 -if !exists("rexx_minlines") -" let rexx_minlines = 10 - let rexx_minlines = 500 -endif -exec "syn sync ccomment rexxComment minlines=" . rexx_minlines +" Windows-only classes +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\|;\|$\)" + +syn region rexxDirective start="\(^\|;\)\s*::\s*\w\+" end="\($\|;\)" contains=rexxString,rexxComment,rexxLineComment,rexxClassDirective,rexxMethodDirective,rexxRoutineDirective,rexxRequiresDirective,rexxAttributeDirective 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 + +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 diff --git a/runtime/syntax/snobol4.vim b/runtime/syntax/snobol4.vim index 1f6460f1f..07eb63dec 100644 --- a/runtime/syntax/snobol4.vim +++ b/runtime/syntax/snobol4.vim @@ -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 + +" 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 snobol4Keyword sset +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=+"+ 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 +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 diff --git a/runtime/syntax/sql.vim b/runtime/syntax/sql.vim index 311d9eeb8..7ba20f344 100644 --- a/runtime/syntax/sql.vim +++ b/runtime/syntax/sql.vim @@ -36,4 +36,4 @@ endif " Source the appropriate file exec 'runtime syntax/'.filename.'.vim' -" vim:sw=4:ff=unix: +" vim:sw=4: diff --git a/runtime/syntax/yacc.vim b/runtime/syntax/yacc.vim index aef02b53c..d4bd0196b 100644 --- a/runtime/syntax/yacc.vim +++ b/runtime/syntax/yacc.vim @@ -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 diff --git a/runtime/syntax/zsh.vim b/runtime/syntax/zsh.vim index 761e3ac02..eb19eba56 100644 --- a/runtime/syntax/zsh.vim +++ b/runtime/syntax/zsh.vim @@ -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 diff --git a/runtime/tutor/Contents b/runtime/tutor/Contents new file mode 100644 index 000000000..97dc1b554 --- /dev/null +++ b/runtime/tutor/Contents @@ -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 diff --git a/runtime/tutor/README.gr.cp737.txt b/runtime/tutor/README.gr.cp737.txt deleted file mode 100644 index 426f929c6..000000000 --- a/runtime/tutor/README.gr.cp737.txt +++ /dev/null @@ -1,24 +0,0 @@ - Tutor 夘 "" 㚞 ⦬ 㩫 -ᡫ Vim. - - 櫜 ⦠ 㩫 驦 櫜 - 騘. ⢜ 夘 櫠 嫜 ᤜ -嘪 ⤦ 餫 ᡫ Vim. - - Tutor 夘 ⤘ ⮜ 㣘 . -嫜 ⩜ "vim tutor" 㩜 -圪 㣘. 㣘 礜 㩜 - , . - - 穫 Unix 嫜 婞 㩜 暨 "vimtutor". - 㩜 高 ⤘ 殜 嚨 tutor. - - 櫜 ਞ⤘ 㣘 - 嫞 椦. 驫 ⢘ 墜 - 㧦 驜 ᤜ. - -Bob Ware, Colorado School of Mines, Golden, Co 80401, USA -(303) 273-3987 -bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet - -[ 㟞 Vim Bram Moolenaar] diff --git a/runtime/tutor/README.gr.txt b/runtime/tutor/README.gr.txt deleted file mode 100644 index b2f5e0746..000000000 --- a/runtime/tutor/README.gr.txt +++ /dev/null @@ -1,24 +0,0 @@ - Tutor "" - Vim. - - - . - Vim. - - Tutor . - "vim tutor" - . - , . - - Unix "vimtutor". - tutor. - - - . - . - -Bob Ware, Colorado School of Mines, Golden, Co 80401, USA -(303) 273-3987 -bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet - -[ Vim Bram Moolenaar] diff --git a/runtime/tutor/README_amisrc.txt b/runtime/tutor/README_amisrc.txt new file mode 100644 index 000000000..8732efb66 --- /dev/null +++ b/runtime/tutor/README_amisrc.txt @@ -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. diff --git a/runtime/tutor/README_amisrc.txt.info b/runtime/tutor/README_amisrc.txt.info Binary files differnew file mode 100755 index 000000000..476af9ac0 --- /dev/null +++ b/runtime/tutor/README_amisrc.txt.info diff --git a/runtime/tutor/README_os2.txt b/runtime/tutor/README_os2.txt new file mode 100644 index 000000000..a9e0a4299 --- /dev/null +++ b/runtime/tutor/README_os2.txt @@ -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 diff --git a/runtime/tutor/README_src.txt b/runtime/tutor/README_src.txt new file mode 100644 index 000000000..7079f3e06 --- /dev/null +++ b/runtime/tutor/README_src.txt @@ -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! diff --git a/runtime/tutor/README_vms.txt b/runtime/tutor/README_vms.txt new file mode 100644 index 000000000..d51339e9f --- /dev/null +++ b/runtime/tutor/README_vms.txt @@ -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/ + diff --git a/runtime/tutor/README_w32s.txt b/runtime/tutor/README_w32s.txt new file mode 100644 index 000000000..1b9774d36 --- /dev/null +++ b/runtime/tutor/README_w32s.txt @@ -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 diff --git a/runtime/tutor/Vim.info b/runtime/tutor/Vim.info Binary files differnew file mode 100755 index 000000000..5c465ffab --- /dev/null +++ b/runtime/tutor/Vim.info diff --git a/runtime/tutor/Xxd.info b/runtime/tutor/Xxd.info Binary files differnew file mode 100755 index 000000000..7ae7643b2 --- /dev/null +++ b/runtime/tutor/Xxd.info diff --git a/runtime/tutor/configure b/runtime/tutor/configure new file mode 100755 index 000000000..1d0c5b2ec --- /dev/null +++ b/runtime/tutor/configure @@ -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 "$@" diff --git a/runtime/tutor/csdpmi4b.zip b/runtime/tutor/csdpmi4b.zip Binary files differnew file mode 100755 index 000000000..211396fae --- /dev/null +++ b/runtime/tutor/csdpmi4b.zip diff --git a/runtime/tutor/runtime/bugreport.vim b/runtime/tutor/runtime/bugreport.vim new file mode 100644 index 000000000..f0c045e6c --- /dev/null +++ b/runtime/tutor/runtime/bugreport.vim @@ -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 diff --git a/runtime/tutor/runtime/hi22-action-make.png b/runtime/tutor/runtime/hi22-action-make.png Binary files differnew file mode 100644 index 000000000..f9abb7796 --- /dev/null +++ b/runtime/tutor/runtime/hi22-action-make.png diff --git a/runtime/tutor/runtime/indoff.vim b/runtime/tutor/runtime/indoff.vim new file mode 100644 index 000000000..0d930352b --- /dev/null +++ b/runtime/tutor/runtime/indoff.vim @@ -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 * diff --git a/runtime/tutor/runtime/mswin.vim b/runtime/tutor/runtime/mswin.vim new file mode 100644 index 000000000..1ceef847e --- /dev/null +++ b/runtime/tutor/runtime/mswin.vim @@ -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 diff --git a/runtime/tutor/runtime/termcap b/runtime/tutor/runtime/termcap new file mode 100644 index 000000000..38790c49d --- /dev/null +++ b/runtime/tutor/runtime/termcap @@ -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 +# diff --git a/runtime/tutor/runtime/vim16x16.xpm b/runtime/tutor/runtime/vim16x16.xpm new file mode 100644 index 000000000..cb75b7178 --- /dev/null +++ b/runtime/tutor/runtime/vim16x16.xpm @@ -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", +" .....#. .... ", +" .&&&&&.@.&&&&. ", +" .%%%%%$..%%%%$.", +" .%%%$.@.&%%$. ", +" .%%%$..&%%$. ", +" .%%%$.&%%$.. ", +" #.%%%$&%%$.@@. ", +"#@.%%%&%%$.@@@@.", +".@.%%%%%..@@@@+ ", +" ..%%%%.%...@. ", +" .%%%%...%%.%. ", +" .%%%.%%.%%%%%.", +" .%%$..%.%.%.%.", +" .%$.@.%.%.%.%.", +" .. .%%.%.%.%.", +" .. . . . "}; diff --git a/runtime/tutor/runtime/vimlogo.cdr b/runtime/tutor/runtime/vimlogo.cdr Binary files differnew file mode 100644 index 000000000..e2a35f266 --- /dev/null +++ b/runtime/tutor/runtime/vimlogo.cdr diff --git a/runtime/tutor/runtime/vimlogo.gif b/runtime/tutor/runtime/vimlogo.gif Binary files differnew file mode 100644 index 000000000..89c4c135a --- /dev/null +++ b/runtime/tutor/runtime/vimlogo.gif diff --git a/runtime/tutor/runtime/vimlogo.pdf b/runtime/tutor/runtime/vimlogo.pdf Binary files differnew file mode 100644 index 000000000..a9ad60ff4 --- /dev/null +++ b/runtime/tutor/runtime/vimlogo.pdf diff --git a/runtime/tutor/tutor.ca b/runtime/tutor/tutor.ca deleted file mode 100644 index 603a34756..000000000 --- a/runtime/tutor/tutor.ca +++ /dev/null @@ -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 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 bsiques que us permetin fer servir el Vim com - a editor de propsit 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 cpia d'aquest fitxer per practicar-hi (si heu comenat amb el - programa vimtutor aix que esteu llegint ja s una cpia). - - 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 noms llegiu el text el ms probable s que les oblideu. - - Ara assegureu-vos que la tecla de bloqueig de majscules 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 prxima 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 voleu. - -Nota: Les tecles de moviment del cursor (fletxes) tamb funcionen. Per usant - hjkl anireu ms rpid, quan us hi hgiu acostumant. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lli 1.2: ENTRAR I SORTIR DEL VIM - - - !! NOTA: Abans de seguir els passos segents 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 hgiu 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 carcter de sota el cursor. ** - - 1. Moveu el cursor fins la lnia que hi ha ms avall marcada amb --->. - - 2. Poseu el cursor a sobre el carcter que cal esborrar, per corregir els - errors. - - 3. Premeu la tecla x per esborrar el carcter. - - 4. Repetiu els passos 2 i 3 fins que la frase sigui correcta. - ----> Unna vaaca vva salttar sobbree la llluna. - - 5. Ara que la lnia 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 lnia marcada amb --->. - - 2. Per fer la primera lnia igual que la segona poseu el cursor sobre el - primer carcter POSTERIOR al text que s'ha d'inserir. - - 3. Premeu la tecla i i escriviu el text que falta. - - 4. Quan hgiu 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 carcters en aquesta lnia. - - 5. Quan us trobeu cmodes 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 carcter 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 cancellar 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 lnia marcada amb --->. - - 3. Moveu el cursor fins el principi de la paraula que s'ha d'esborrar. - - 4. Teclegeu dw per fer desaparixer la paraula. - -NOTA: Les lletres dw apareixeran a la lnia de baix de la pantalla mentre - les aneu escrivint. Si us equivoqueu premeu <ESC> i torneu a comenar. - ----> 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: MS ORDRES PER ESBORRAR - - - ** Escriviu d$ per esborrar fins al final de la lnia. ** - - 1. Premeu <ESC> per estar segurs que esteu en el mode Normal. - - 2. Moveu el cursor avall fins a la lnia marcada amb --->. - - 3. Moveu el cursor fins el final de la lnia correcta - (DESPRS del primer . ). - - 4. Teclegeu d$ per esborrar fins al final de la lnia. - ----> Alg ha escrit el final d'aquesta lnia dos cops. lnia 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 segent: - - [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 lnia. - -NOTA: Per als aventurers: si teclegeu noms 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 lnia. ** - - Com que molt sovint s'han d'eliminar lnies senceres els dissenyadors del - Vi van creure que seria ms fcil teclejar dd per esborrar tota la lnia. - - 1. Moveu el cursor a la segona lnia de la frase de baix. - 2. Teclegeu dd per esborrar la lnia. - 3. Ara aneu a la quarta lnia. - 4. Teclegeu 2dd per esborrar dues lnies (recordeu nombre-ordre-objecte). - - 1) Les roses sn vermelles, - 2) El fang s divertit, - 3) Les violetes sn 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 lnia. ** - - 1. Moveu el cursor sobre el primer error de lnia de baix marcada amb ---> - 2. Premeu x per esborrar el carcter no desitjat. - 3. Ara premeu u per desfer l'ltima ordre executada. - 4. Aquest cop corregiu tots els errors de la lnia amb l'ordre x. - 5. Ara premeu U per restablir la lnia 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 lnia i dessfeu-los aamb desfer. - - 8. Aquestes ordres sn 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 lnia teclegeu: d$ - - 3. Per esborrar una lnia 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 lnia), etc. - - 5. Per desfer les accions anteriors premeu: u - Per desfer tots el canvis en una lnia 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 desprs del cursor. ** - - - 1. Moveu el cursor a la primera lnia de llista de baix. - - 2. Teclegeu dd per esborrar la lnia i desar-la a la memria. - - 3. Moveu el cursor a la lnia ANTERIOR on hauria d'anar. - - 4. En mode Normal, premeu p per inserir la lnia. - - 5. Repetiu els passos 2, 3 i 4 per ordenar les lnies correctament. - - d) Pots aprendre tu? - b) Les violetes sn blaves, - c) L'intelligncia s'aprn, - a) Les roses sn vermelles, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lli 3.2: L'ORDRE SUBSTITUIR - - - ** Premeu r i un carcter per substituir el carcter de sota el cursor. ** - - 1. Moveu el cursor a la primera lnia de sota marcada amb --->. - - 2. Moveu el cursor a sobre del primer carcter equivocat. - - 3. Premeu r i tot seguit el carcter correcte per corregir l'error. - - 4. Repetiu els passos 2 i 3 fins que la lnia sigui correcta. - ----> Quen van escroure aquerta lnia, algh va apretar tikles equivocades! ----> Quan van escriure aquesta lnia, 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 lnia 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 segent 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 lnia t algunes paraules que s'han de canviar. - -Noteu que cw no noms canvia la paraula, tamb us posa en mode d'inserci. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lli 3.4: MS 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 sn els mateixos, com w (paraula), $ (final de lnia), etc. - - 3. Moveu el cursor fins la primera lnia marcada amb --->. - - 4. Avanceu fins al primer error. - - 5. Premeu c$ per fer la lnia igual que la segona i premeu <ESC>. - ----> El final d'aquesta lnia necessita canvis per ser igual que la segona. ----> El final d'aquesta lnia 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 DESPRS del cursor (si heu esborrat una lnia anir a - parar a la lnia SEGENT d'on hi ha el cursor). - - 2. Per substituir el carcter de sota el cursor, premeu r i tot seguit - el carcter que ha de reemplaar 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 lnia. - - 4. El format de l'ordre canviar s: - - [nombre] c objecte O B c [nombre] objecte - -Ara aneu a la prxima 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 lnia determinada. ** - - Nota: No proveu res fins que hgiu llegit TOTA la lli!! - - 1. Mantingueu premuda la tecla Control i premeu g . A la part de baix de - la pgina apareixer un lnia amb el nom del fitxer i la lnia en la - qual us trobeu. Recordeu el nmero de la lnia pel Pas 3. - - 2. Premeu Shift-G per anar al final de tot del fitxer. - - 3. Teclegeu el nmero de la lnia on reu i desprs premeu Shift-G. Aix - us tornar a la lnia on reu quan heu premut per primer cop Ctrl-g. - (Quan teclegeu el nmero 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 carcter / . 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 PARNTESIS - - - ** Premeu % per cercar el ),], o } corresponent. ** - - 1. Poseu el cursor en qualsevol (, [, o { de la lnia marcada amb --->. - - 2. Ara premeu el carcter % . - - 3. El cursor hauria d'anar a la clau o parntesis corresponent. - - 4. Premeu % per tornar el cursor al primer parntesi. - ----> Aix ( s una lnia amb carcters (, [ ] i { } de prova. )) - -Nota: Aix s molt til per trobar errors en programes informtics! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lli 4.4: UNA MANERA DE CANVIAR ERRORS - - - ** Escriviu :s/vell/nou/g per substituir 'vell' per 'nou'. ** - - 1. Moveu el cursor a la lnia de sota marcada amb --->. - - 2. Escriviu :s/laa/la <ENTRAR> . Aquesta ordre noms canvia la primera - coincidncia que es trobi a la lnia. - - 3. Ara escriviu :s/laa/la/g per fer una substituci global. Aix - canviar totes les coincidncies que es trobin a la lnia. - ----> laa millor poca per veure laa flor s laa primavera. - - 4. Per canviar totes les coincidncies d'una cadena entre dues lnies, - escriviu :#,#s/vell/nou/g on #,# sn els nombres de les lnies. - 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 nmero seguit de Shift-G - us porta a la lnia corresponent. - - 2. L'ordre / seguida d'una frase cerca la frase ENDAVANT. - L'ordre ? seguida d'una frase cerca la frase ENDARRERE. - Desprs d'una cerca premeu n per trobar la prxima coincidncia en - la mateixa direcci, o Shift-N per cercar en la direcci contrria. - - 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 lnia :s/vell/nou - Per substituir tots els 'vell' per 'nou' en una lnia :s/vell/nou/g - Per substituir frases entre les lnies # i # :#,#s/vell/nou/g - Per substituir totes les coincidncies 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 collocar el cursor a la part de baix de - la pantalla. Aix us permet entrar una ordre. - - 2. Ara teclegeu el carcter ! (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 estigussiu a la - lnia 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: MS 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 prmer <ENTRAR> desprs 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 cpia 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 pgina i premeu Ctrl-g per - saber el nmero de la lnia. RECORDEU AQUEST NMERO! - - 3. Ara aneu a baix de tot de la pgina i torneu a prmer Ctrl-g. - RECORDEU AQUEST NMERO TAMB! - - 4. Per desar NOMS una secci en un fitxer, escriviu :#,# w PROVA on - #,# sn els dos nmeros 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 pgina. - -NOTA: Desprs 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 cpies de la lli 5.3: l'original i la del fitxer. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LLI 5 SUMARI - - - 1. :!ordre executa una ordre externa. - - Alguns exemples tils sn: - (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 lnies 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 lnia sota el cursor i entrar en mode inserci. ** - - 1. Moveu el cursor a la lnia de sota marcada amb --->. - - 2. Premeu o (minscula) per obrir una lnia SOTA el cursor i situar-vos - en mode d'inserci. - - 3. Ara copieu la lnia marcada amb ---> i premeu <ESC> per tornar al mode - normal. - ----> Desprs de prmer o el cursor es situa a la lnia nova en mode inserci. - - 4. Per obrir una lnia SOBRE el cursor, premeu la O majscula, en lloc - de la minscula. Proveu-ho amb la lnia de sota. -Obriu una lnia sobre aquesta amb Shift-O amb el cursor en aquesta lnia. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lli 6.2: L'ORDRE AFEGIR - - - ** Premeu a per afegir text DESPRS del cursor. ** - - 1. Moveu el cursor al final de la primera lnia de sota marcada - amb ---> prement $ en el mode Normal. - - 2. Premeu la lletra a (minscula) per afegir text DESPRS del carcter - sota el cursor. (La A majscula afegeix text al final de lnia.) - -Nota: Aix s'evita haver de prmer i , l'ltim carcter, el text a inserir, - la tecla <ESC>, cursor a la dreta, i finalment x , noms per afegir - text a final de lnia. - - 3. Ara completeu la primera lnia. 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 lnia us permetr practicar ----> Aquesta lnia us permetr practicar afegir text a final de lnia. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lli 6.3: UNA ALTRA MANERA DE SUBSTITUIR - - - ** Teclegeu una R majscula per substituir ms d'un carcter. ** - - 1. Moveu el cursor a la lnia de sota marcada amb --->. - - 2. Poseu el cursor al principi de la primera paraula que es diferent - respecte a la segona lnia marcada amb ---> (la paraula "l'ltima"). - - 3. Ara premeu R i substituu el que queda de text a la primera lnia - escrivint sobre el text vell, per fer-la igual que la segona. - ----> Per fer aquesta lnia igual que l'ltima useu les tecles. ----> Per fer aquesta lnia igual que la segona, premeu R i el text nou. - - 4. Tingueu en compte que en prmer <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 diferncies - entre majscules i minscules ** - - 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 ms. - - 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 lnia SOTA la del cursor i mou el cursor a la nova - lnia, en mode Inserci. - La O majscula obre la lnia a SOBRE la que hi ha el cursor. - - 2. Premeu una a per afegir text DESPRS del carcter sota el cursor. - La A majscula afegeix automticament el text a final de lnia. - - 3. L'ordre R majscula 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 prcticament qualsevol tema donant un argument - a l'ordre ":help". Proveu aix (no oblideu prmer <ENTRAR>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LLI 8: CREAR UN SCRIPT D'INICI - - ** Activar funcions automticament ** - - El Vim t moltes ms funcions que el Vi, per moltes estan desactivades per - omissi. Per comenar a utilitzar ms 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 prxim 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 comenar a fer - servir. Est lluny de ser complet perqu el Vim t moltes ms ordres. - Llegiu el manual de l'usuari: ":help user-manual". - - Per un estudi ms profund us recomanem el segent 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 ms vell i tracta ms 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 collaboraci de Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Modificat pel Vim per Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.ca.utf-8 b/runtime/tutor/tutor.ca.utf-8 new file mode 100644 index 000000000..7e8e57013 --- /dev/null +++ b/runtime/tutor/tutor.ca.utf-8 @@ -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. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.cs b/runtime/tutor/tutor.cs deleted file mode 100644 index baaef66b3..000000000 --- a/runtime/tutor/tutor.cs +++ /dev/null @@ -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 vkonn editor, kter m pli mnoho pkaz na to, aby - mohly bt vechny vysvtlen ve vuce jako tato. Tato vuka obsahuje - dostaten mnostv pkaz na to, aby bylo mon pouvat Vim jako - vceelov editor. - - Piblin as potebn ke zvldnut tto vuky je 25-30 minut, zle - na tom, kolik asu strvte pezkuovnm. - - Pkazy v lekcch upravuj text. Vytvo kopii tohoto souboru pro - procviovn (pi startu "vimtutor" je ji toto kopie). - - Je dleit pamatovat, e tato vuka je vytvoena pro vuku pouvnm. - To znamen, e je poteba si pkazy vyzkouet pro jejich sprvn - nauen. Pokud si jen te text, pkazy zapomene! - - Nyn se pesvdte, e Shift-Lock NEN stlaen a nkolikrt stisknte - klvesu j aby se kurzor posunul natolik, e lekce 1.1 zapln celou - obrazovku. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.1: POHYB KURZORU - - - ** Pro pohyb kurzoru pouvej klvesy h,j,k,l jak je znzornno ne. ** - ^ - k Funkce: Klvesa h je vlevo a vykon pohyb vlevo. - < h l > Klvesa l je vpravo a vykon pohyb vpravo. - j Klvesa j vypad na ipku dolu. - v - 1. Pohybuj kurzorem po obrazovce dokud si na to nezvykne. - - 2. Dr klvesu pro pohyb dolu (j), dokud se jej funkce nezopakuje. ----> Te v jak se pesunout na nsledujc lekci. - - 3. Pouitm klvesy dolu pejdi na lekci 1.2. - -Poznmka: Pokud si nkdy nejsi jist nm, co jsi napsal, stla <ESC> pro - pechod do Normlnho mdu. Pot pepi poadovan pkaz. - -Poznmka: Kurzorov klvesy tak funguj, avak pouvn hjkl je rychlej - jakmile si na nj zvykne. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.2: SPUTN A UKONEN VIM - - - !! POZNMKA: Ped vykonnm tchto krok si peti celou lekci!! - - 1. Stla <ESC> (pro ujitn, e se nachz v Normlnm mdu). - - 2. Napi: :q! <ENTER>. - ----> Tmto ukon editor BEZ uloen zmn, kter si vykonal. - Pokud chce uloit zmny a ukonit editor napi: - :wq <ENTER> - - 3. A se dostane na pkazov dek, napi pkaz, kterm se dostane zpt - do tto vuky. To me bt: vimtutor <ENTER> - Bn se pouv: vim tutor <ENTER> - ----> 'vim' znamen sputn 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 pesu kurzor dolu na lekci 1.3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.3: PRAVA TEXTU - MAZN - - - ** Stisknutm klvesy x v Normlnm mdu smae znak na mst kurzoru. ** - - 1. Pesu kurzor ne na dek oznaen --->. - - 2. K odstrann chyb pejdi kurzorem na znak, kter chce smazat. - - 3. Stla klvesu x k odstrann nechtnch znak. - - 4. Opakuj kroky 2 a 4 dokud nen vta sprvn. - ----> Krva skoilla pess mssc. - - 5. Pokud je vta sprvn, pejdi na lekci 1.4. - -POZNMKA: Nesna se pouze zapamatovat pedvdn pkazy, u se je pouvnm. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.4: PRAVA TEXTU - VKLDN - - - ** Stlaen klvesy i v Normlnm mdu umouje vkldn textu. ** - - 1. Pesu kurzor na prvn dek oznaen --->. - - 2. Pro upraven prvnho dku do podoby dku druhho, pesu kurzor na - prvn znak za msto, kde m bt text vloen. - - 3. Stla i a napi potebn dodatek. - - 4. Po opraven kad chyby stla <ESC> pro nvrat do Normlnho mdu. - Opakuj kroky 2 a 4 dokud nen vta sprvn. - ----> Njak txt na tto . ----> Njak text chyb na tto dce. - - 5. Pokud ji ovld vkldn textu, pejdi na nsledujc shrnut. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 1 - - - 1. Kurzorem se pohybuje pomoc ipek nebo klvesami hjkl. - h (vlevo) j (dolu) k (nahoru) l (vpravo) - - 2. Pro sputn Vimu (z pkazovho dku) napi: vim SOUBOR <ENTER> - - 3. Pro ukonen Vimu napi: <ESC> :q! <ENTER> bez uloen zmn. - anebo: <ESC> :wq <ENTER> pro uloen zmn. - - 4. Pro smazn znaku pod kurzorem napi v Normlnm mdu: x - - 5. Pro vkldn textu od msta kurzoru napi v Normlnm mdu: - i vkldan text <ESC> - -POZNMKA: Stlaen <ESC> t pemst do Normlnho mdu nebo zru nechtn - a sten dokonen pkaz. - -Nyn pokrauj Lekc 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.1: PKAZY MAZN - - - ** Pkaz dw smae znaky do konce slova. ** - - 1. Stla <ESC> k ubezpeen, e jsi v Normlnm mdu. - - 2. Pesu kurzor ne na dek oznaen --->. - - 3. Pesu kurzor na zatek slova, kter je poteba smazat. - - 4. Napi dw , aby slovo zmizelo. - -POZNMKA: Psmena dw se zobraz na poslednm dku obrazovky jakmile je - nape. Kdy nape nco patn, stla <ESC> a zani znova. - ----> Jsou tu njak slova zbava, kter nepat list do tto vty. - - 5. Opakuj kroky 3 a 4 dokud nen vta sprvn a pejdi na lekci 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.2: VCE PKAZ MAZN - - - ** Napsn pkazu d$ smae ve a do konce dky. ** - - 1. Stla <ESC> k ubezpeen, e jsi v Normlnm mdu. - - 2. Pesu kurzor ne na dek oznaen --->. - - 3. Pesu kurzor na konec sprvn vty (ZA prvn teku). - - 4. Napi d$ ,aby jsi smazal znaky a do konce dku. - ----> Nkdo napsal konec tto vty dvakrt. konec tto vty dvakrt. - - - 5. Pejdi na lekci 2.3 pro pochopen toho, co se stalo. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.3: ROZIOVAC PKAZY A OBJEKTY - - - Formt mazacho pkazu d je nsledujc: - - [slo] d objekt NEBO d [slo] objekt - Kde: - slo - udv kolikrt se pkaz vykon (voliteln, vchoz=1). - d - je pkaz mazn. - objekt - udv na em se pkaz vykonv (vypsan ne). - - Krtk vpis objekt: - w - od kurzoru do konce slova, vetn mezer. - e - od kurzoru do konce slova, BEZ mezer. - $ - od kurzoru do konce dku. - -POZNMKA: Stlaenm klvesy objektu v Normlnm mdu se kurzor pesune na - msto upesnn ve vpisu objekt. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.4: VJIMKA Z 'PKAZ-OBJEKT' - - - ** Napsnm dd smae cel dek. ** - - Vzhledem k astosti mazn celho dku se autoi Vimu rozhodli, e bude - jednodu napsat prost dv d k smazn celho dku. - - 1. Pesu kurzor na druh dek spodnho textu. - 2. Napi dd pro smazn dku. - 3. Pejdi na tvrt dek. - 4. Napi 2dd (vzpome si slo-pkaz-objekt) pro smazn dvou dk. - - 1) Re jsou erven, - 2) Blto je zbavn, - 3) Fialky jsou modr, - 4) Mm auto, - 5) Hodinky ukazuj as, - 6) Cukr je sladk, - 7) A to jsi i ty. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.5: PKAZ UNDO - - - ** Stla u pro vrcen poslednho pkazu, U pro celou dku. ** - - 1. Pesu kurzor ne na dek oznaen ---> a pemsti ho na prvn chybu. - 2. Napi x pro smazn prvnho nechtnho znaku. - 3. Te napi u m vrt zpt posledn vykonan pkaz. - 4. Nyn oprav vechny chyby na dku pomoc pkazu x . - 5. Napi velk U m vrt dek do pvodnho stavu. - 6. Te napi u nkolikrt, m vrt zpt pkaz U . - 7. Stla CTRL-R (klvesu CTRL dr stlaenou a stiskni R) nkolikrt, - m vrt zpt pedtm vrcen pkazy (redo). - ----> Opprav chybby nna toomto dku a nahra je pommoc undo. - - 8. Toto jsou velmi uiten pkazy. Nyn pejdi na souhrn Lekce 2. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 2 - - - 1. Pro smazn znak od kurzoru do konce slova napi: dw - - 2. Pro smazn znak od kurzoru do konce dku napi: d$ - - 3. Pro smazn celho dku napi: dd - - 4. Formt pkazu v Normlnm mdu je: - - [slo] pkaz objekt NEBO pkaz [slo] objekt - kde: - slo - udv poet opakovn pkazu - pkaz - udv co je teba vykonat, napklad d mae - objekt - udv rozsah pkazu, napklad w (slovo), - $ (do konce dku), atd. - - 5. Pro vrcen pedel innosti, napi: u (mal u) - Pro vrcen vech prav na dku napi: U (velk U) - Pro vrcen vrcench prav (redo) napi: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.1: PKAZ VLOIT - - - ** Pka p vlo posledn vymazan text za kurzor. ** - - 1. Pesu kurzor ne na posledn dek textu. - - 2. Napi dd pro smazn dku a jeho uloen do bufferu. - - 3. Pesu kurzor VݩE tam, kam smazan dek pat. - - 4. V Normlnm mdu napi p pro optn vloen dku. - - 5. Opakuj kroky 2 a 4 dokud dky nebudou ve sprvnm poad. - - d) Tak se doke vzdlvat? - b) Fialky jsou modr, - c) Inteligence se u, - a) Re jsou erven, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.2: PKAZ NAHRAZEN - - - ** Napsnm r a znaku se nahrad znak pod kurzorem. ** - - 1. Pesu kurzor ne na prvn dek oznaen --->. - - 2. Pesu kurzor na zatek prvn chyby. - - 3. Napi r a potom znak, kter nahrad chybu. - - 4. Opakuj kroky 2 a 3 dokud nen prvn dka sprvn. - ----> Kdi byl pzn tento deg, nkdu stlail paqn klvesy! ----> Kdy byl psn tento dek, nkdo stlal patn klvesy! - - 5. Nyn pejdi na Lekci 3.2. - -POZNMKA: Zapamatuj si, e by ses ml uit pouvnm, ne zapamatovnm. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.3: PKAZ PRAVY - - - ** Pokud chce zmnit st nebo cel slovo, napi cw . ** - - 1. Pesu kurzor ne na prvn dek oznaen --->. - - 2. Umsti kurzor na psmeno i v slov iok. - - 3. Napi cw a oprav slovo (v tomto ppad napi 'dek'.) - - 4. Stla <ESC> a pejdi na dal chybu (prvn znak, kter teba zmnit.) - - 5. Opakuj kroky 3 a 4 dokud nen prvn vta stejn jako ta druh. - ----> Tento iok m nkolik skic, kter psadoinsa zmnit pasdgf pkazu. ----> Tento dek m nkolik slov, kter potebuj zmnit pomoc pkazu. - -Vimni si, e cw nejen nahrazuje slovo, ale tak pemst do vkldn. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.4: VCE ZMN POUITM c - - - ** Pkaz pro pravu se dru se stejnmi objekty jako ten pro mazn. ** - - 1. Pkaz pro pravu pracuje stejn jako pro mazn. Formt je: - - [slo] c objekt NEBO c [slo] objekt - - 2. Objekty jsou tak shodn, jako nap.: w (slovo), $ (konec dku), atd. - - 3. Pejdi ne na prvn dek oznaen --->. - - 4. Pesu kurzor na prvn rozdl. - - 5. Napi c$ pro upraven zbytku dku podle toho druhho a stla <ESC>. - ----> Konec tohoto dku potebuje pomoc, aby byl jako ten druh. ----> Konec tohoto dku potebuje opravit pouitm pkazu c$ . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 3 - - - 1. Pro vloen textu, kter byl smazn, napi p . To vlo smazan text - ZA kurzor (pokud byl dek smazan, pejde na dek pod kurzorem). - - 2. Pro nahrazen znaku pod kurzorem, napi r a potom znak, kterm - chce pvodn znak nahradit. - - 3. Pkaz na upravovn umouje zmnit specifikovan objekt od kurzoru - do konce objektu. Napklad: Napi cw ,m zmn text od pozice - kurzoru do konce slova, c$ zmn text do konce dku. - - 4. Formt pro nahrazovn je: - - [slo] c objekt NEBO c [slo] objekt - -Nyn pejdi na nsledujc lekci. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.1: POZICE A STATUS SOUBORU - - - ** Stla CTRL-g pro zobrazen sv pozice v souboru a statusu souboru. - Stla SHIFT-G pro pechod na dek v souboru. ** - - Poznmka: Peti si celou lekci ne zane vykonvat kroky!! - - 1. Dr klvesu Ctrl stlaenou a stiskni g . Vespod obrazovky se zobraz - stavov dek s nzvem souboru a dkou na kter se nachz. Zapamatuj - si slo dku pro krok 3. - - 2. Stla shift-G pro pesun na konec souboru. - - 3. Napi slo dku na kterm si se nachzel a stla shift-G. To t - vrt na dek, na kterm jsi dve stiskl Ctrl-g. - (Kdy pe sla, tak se NEZOBRAZUJ na obrazovce.) - - 4. Pokud se ct schopn vykonat tyto kroky, vykonej je. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.2: PKAZ VYHLEDVN - - - ** Napi / nsledovan etzcem pro vyhledn onoho etzce. ** - - 1. Stiskni / v Normlnm mdu. Vimni si, e tento znak se spolu s - kurzorem zobraz v doln sti obrazovky jako pkaz : . - - 2. Nyn napi 'chhybba' <ENTER>. To je slovo, kter chce vyhledat. - - 3. Pro vyhledn dalho vsledku stejnho etzce, jednodue stla n . - Pro vyhledn dalho vsledku stejnho etzce opanm smrem, stiskni - Shift-N. - - 4. Pokud chce vyhledat etzec v opanm smru, pouij pkaz ? msto - pkazu / . - ----> "chhybba" nen zpsob, jak hlskovat chyba; chhybba je chyba. - -Poznmka: Kdy vyhledvn doshne konce souboru, bude pokraovat na jeho - zatku. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.3: VYHLEDVN PROV ZVORKY - - - ** Napi % pro nalezen prov ),], nebo } . ** - - 1. Pemsti kurzor na kteroukoli (, [, nebo { v dku oznaenm --->. - - 2. Nyn napi znak % . - - 3. Kurzor se pemst na odpovdajc zvorku. - - 4. Stla % pro pesun kurzoru zpt na otvrajc zvorku. - ----> Toto ( je testovac dek ('s, ['s ] a {'s } v nm. )) - -Poznmka: Toto je velmi uiten p ladn programu s chybjcmi - uzavracmi zvorkami. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.4: ZPSOB JAK ZMNIT CHYBY - - - ** Napi :s/star/nov/g pro nahrazen slova 'nov' za 'star'. ** - - 1. Pesu kurzor na dek oznaen --->. - - 2. Napi :s/dobr/dobr <ENTER> . Vimni si, e tento pkaz zmn pouze - prvn vskyt v dku. - - 3. Nyn napi :s/dobr/dobr/g co znamen celkov nahrazen v dku. - Toto nahrad vechny vskyty v dku. - ----> dobr suroviny a dobr nin jsou zkladem dobr kuchyn. - - 4. Pro zmnu vech vskyt etzce mezi dvma dky, - Napi :#,#s/star/nov/g kde #,# jsou sla onch dek. - Napi :%s/star/nov/g pro zmnu vech vskyt v celm souboru. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 4 - - - 1. Ctrl-g vype tvou pozici v souboru a status souboru. - Shift-G t pemst na konec souboru. slo nsledovan - Shift-G t pesune na dan slo dku. - - 2. Napsn / nsledovan etzcem vyhled etzec smrem DOPEDU. - Napsn ? nsledovan etzcem vyhled etzec smrem DOZADU. - Napsn n po vyhledvn najde nsledujc vskyt etzce ve stejnm - smru, Shift-N ve smru opanm. - - 3. Stisknut % kdy je kurzor na (,),[,],{, nebo } najde odpovdajc - provou zvorku. - - 4. Pro nahrazen novho za prvn star v dku napi :s/star/nov - Pro nahrazen novho za vechny star v dku napi :s/star/nov/g - Pro nahrazen etzc mezi dvmi dkami # napi :#,#s/star/nov/g - Pro nahrazen vech vskyt v souboru napi :%s/star/nov/g - Pro potvrzen kadho nahrazen pidej 'c' :%s/star/nov/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.1: JAK VYKONAT VNJ PKAZ - - - ** Napi :! nsledovan vnjm pkazem pro sputn pkazu. ** - - 1. Napi obvykl pkaz : , kter umst kurzor na spodek obrazovky - To umon napsat pkaz. - - 2. Nyn stiskni ! (vykink). To umon vykonat jakkoliv vnj - pkaz z pkazovho dku. - - 3. Napklad napi ls za ! a stiskni <ENTER>. Tento pkaz zobraz - obsah tvho adrese jako v pkazovm dku. - Vyzkouej :!dir pokud ls nefunguje. - -Poznmka: Takto je mon vykonat jakkoliv pkaz. - -Poznmka: Vechny pkazy : mus bt dokonen stisknutm <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.2: VCE O UKLDN SOUBOR - - - ** Pro uloen zmn v souboru napi :w SOUBOR. ** - - 1. Napi :!dir nebo :!ls pro vpis aktulnho adrese. - U v, e za tmto mus stisknout <ENTER>. - - 2. Vyber si nzev souboru, kter jet neexistuje, napklad TEST. - - 3. Nyn napi: :w TEST (kde TEST je vybran nzev souboru.) - - 4. To ulo cel soubor (Vuka Vimu) pod nzvem TEST. - Pro oven napi znovu :!dir , m zobraz obsah adrese. - -Poznmka: Jakmile ukon Vim a znovu ho spust s nzvem souboru TEST, - soubor bude pesn kopie vuky, kdy si ji ukldal. - - 5. Nyn odstra soubor napsnm (MS-DOS): :!del TEST - nebo (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.3: VBROV PKAZ ULOEN - - - ** Pro uloen sti souboru napi :#,# w SOUBOR ** - - 1. Jet jednou napi :!dir nebo :!ls pro vpis aktulnho adrese - a vyber vhodn nzev souboru jako nap. TEST. - - 2. Pesu kurzor na vrch tto strnky a stiskni Ctrl-g pro zobrazen - sla dku. ZAPAMATUJ SI TOTO SLO! - - 3. Nyn se pesu na spodek tto strnky a opt stiskni Ctrl-g. - ZAPAMATUJ SI I SLO TOHOTO DKU! - - 4. Pro uloen POUZE sti souboru, napi :#,# w TEST kde #,# jsou - sla dvou zapamatovanch dk (vrch, spodek) a TEST je nzev souboru. - - 5. Znova se ujisti, e tam ten soubor je pomoc :!dir ale NEODSTRAUJ ho. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.4: SLUOVN SOUBOR - - - ** K vloen obsahu souboru napi :r NZEV_SOUBORU ** - - 1. Napi :!dir pro ujitn, e soubor TEST stle existuje. - - 2. Pesu kurzor na vrch tto strnky. - -POZNMKA: Po vykonn kroku 3 uvid lekci 5.3. Potom se opt pesu dol - na tuto lekci. - - 3. Nyn vlo soubor TEST pouitm pkazu :r TEST kde TEST je nzev - souboru. - -POZNMKA: Soubor, kter vkld se vlo od msta, kde se nachz kurzor. - - 4. Pro potvrzen vloen souboru, pesu kurzor zpt a vimni si, e te - m dv kopie lekce 5.3, originl a souborovou verzi. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 5 - - - 1. :!pkaz vykon vnj pkaz. - - Nkter uiten pklady jsou: - (MS-DOS) (Unix) - :!dir :!ls - zobraz obsah souboru. - :!del SOUBOR :!rm SOUBOR - odstran SOUBOR. - - 2. :w SOUBOR ulo aktuln 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 editovanho souboru - za pozici kurzoru. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.1: PKAZ OTEVT - - - ** Napi o pro vloen dku pod kurzor a pepnut do Vkldacho mdu. ** - - 1. Pemsti kurzor ne na dek oznaen --->. - - 2. Napi o (mal) pro vloen dku POD kurzor a pepnut do - Vkldacho mdu. - - 3. Nyn zkopruj dek oznaen ---> a stiskni <ESC> pro ukonen - Vkldacho mdu. - ----> Po stisknut o se kurzor pemst na vloen dek do Vkldacho - mdu. - - 4. Pro oteven dku NAD kurzorem jednodue napi velk O , msto - malho o. Vyzkouej si to na nsledujcm dku. -Vlo dek nad tmto napsnm Shift-O po umstn kurzoru na tento dek. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.2: PKAZ PIDAT - - - ** Stiskni a pro vloen textu ZA kurzor. ** - - 1. Pesu kurzor na ne na konec dky oznaen ---> - stisknutm $ v Normlnm mdu. - - 2. Stiskni a (mal) pro pidn textu ZA znak, kter je pod kurzorem. - (Velk A pid na konec dku.) - -Poznmka: Tmto se vyhne stisknut i , poslednho znaku, textu na vloen, - <ESC>, kurzor doprava, a nakonec x na pidvn na konec dku! - - 3. Nyn dokon prvn dek. Vimni si, e pidvn je vlastn stejn jako - Vkldac md, krom msta, kam se text vkld. - ----> Tento dek ti umouje nacviit ----> Tento dek ti umouje nacviit pidvn textu na konec dky. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.3: JIN ZPSOB NAHRAZOVN - - - ** Napi velk R pro nahrazen vc ne jednoho znaku. ** - - 1. Pesu kurzor na prvn dek oznaen --->. - - 2. Umsti kurzor na zatek prvnho slova, kter je odlin od druhho - dku oznaenho ---> (slovo 'posledn'). - - 3. Nyn stiskni R a nahra zbytek textu na prvnm dku pepsnm - starho textu tak, aby byl prvn dek stejn jako ten druh. - ----> Pro upraven prvnho dku do tvaru toho posledn na stran pouij kl. ----> Pro upraven prvnho dku do tvaru toho druhho, napi R a nov text. - - 4. Vimni si, e jakmile stiskne <ESC> vechen nezmnn text zstv. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.4: NASTAVEN MONOST - - ** Nastav monost, e vyhledvn anebo nahrazovn nedb velikosti psmen ** - - 1. Vyhledej etzec 'ignore' napsnm: - /ignore - Zopakuj nkolikrt stisknut klvesy n. - - 2. Nastav monost 'ic' (Ignore case) napsnm pkazu: - :set ic - - 3. Nyn znovu vyhledej 'ignore' stisknutm: n - Nkolikrt hledn zopakuj stisknutm klvesy n. - - 4. Nastav monosti 'hlsearch' a 'incsearch': - :set hls is - - 5. Nyn znovu vykonej vyhledvac pkaz a sleduj, co se stane: - /ignore - - 6. Pro vypnut zvrazovn vsledk napi: - :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRHNUT LEKCE 6 - - - 1. Stisknut o oteve nov dek POD kurzorem a umst kurzor na vloen - dek do Vkldacho mdu. - Napsn velkho O oteve dek NAD dkem, na kterm je kurzor. - - 2. Stiskni a pro vloen textu ZA znak na pozici kurzoru. - Napsn velkho A automaticky pid text na konec dku. - - 3. Stisknut velkho R pepne do Nahrazovacho mdu, dokud - nestiskne <ESC> pro jeho ukonen. - - 4. Napsn ":set xxx" nastav monosti "xxx". - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCE 7: PKAZY ON-LINE NPOVDY - - - ** Pouvej on-line systm npovdy ** - - Vim m obshl on-line systm npovdy. Pro zatek vyzkouej jeden z - nsledujcch: - - stiskni klvesu <HELP> (pokud ji m) - - stiskni klvesu <F1> (pokud ji m) - - napi :help <ENTER> - - Napi :q <ENTER> pro uzaven okna npovdy. - - Me najt npovdu k jakmukoliv tmatu pidnm argumentu k - pkazu ":help". Zkus tyto (nezapome stisknout <ENTER>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCE 8: VYTVOEN INICIALIZANHO SKRIPTU - - ** Zapni funkce editoru Vim ** - - Vim m daleko vce funkc ne Vi, ale vtina z nich je vypnuta ve vchozm - nastaven. Pro zapnut nkterch vytvo soubor "vimrc". - - 1. Zani upravovat soubor "vimrc". Toto zvis na pouitm systmu: - :edit ~/.vimrc pro Unix - :edit $VIM/_vimrc pro MS-Windows - - 2. Nyn ti ukzkov "vimrc" soubor: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Ulo soubor pomoc: - - :write - - Po ptm startu Vim se zapne zvrazovn syntaxe. - Do souboru "vimrc" me pidat vechny svoje upednostovan nastaven. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Toto ukonuje vuku Vim, kter byla mylen jako strun pehled - editoru Vim, tak akort postaujc pro lehk a obstojn pouvn editoru. - Tato vuka m daleko od plnosti, protoe Vim obsahuje podstatn vce - pkaz. Dle si peti uivatelsk manul: ":help user-manual". - - Pro dal studium je doporuen kniha: - Vim - Vi Improved - od Steve Oualline - Nakladatel: New Riders - Prvn kniha uren pro Vim. Obzvlt vhodn pro zatenky. - Obsahuje mnostv pklad a obrzk. - viz http://iccf-holland.org/click5.html - - Tato kniha je star a vce vnovan Vi ne Vim, ale tak doporuen: - Learning the Vi Editor - od Linda Lamb - Nakladatel: O'Reilly & Associates Inc. - Je to dobr kniha pro zskn vdomost tm o vem, co mete s Vi dlat. - est vydn obsahuje t informace o Vim. - - Tato vuka byla napsan autory Michael C. Pierce a Robert K. Ware, - Colorado School of Mines s pouitm mylenek od: Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Upravil pro Vim: Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Peklad do etiny: Lubo Turek - E-Mail: lubos.turek@gmail.com - 2007 Feb 28 diff --git a/runtime/tutor/tutor.cs.cp1250 b/runtime/tutor/tutor.cs.cp1250 deleted file mode 100644 index 93fd7b7b2..000000000 --- a/runtime/tutor/tutor.cs.cp1250 +++ /dev/null @@ -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 vkonn editor, kter m pli mnoho pkaz na to, aby - mohly bt vechny vysvtlen ve vuce jako tato. Tato vuka obsahuje - dostaten mnostv pkaz na to, aby bylo mon pouvat Vim jako - vceelov editor. - - Piblin as potebn ke zvldnut tto vuky je 25-30 minut, zle - na tom, kolik asu strvte pezkuovnm. - - Pkazy v lekcch upravuj text. Vytvo kopii tohoto souboru pro - procviovn (pi startu "vimtutor" je ji toto kopie). - - Je dleit pamatovat, e tato vuka je vytvoena pro vuku pouvnm. - To znamen, e je poteba si pkazy vyzkouet pro jejich sprvn - nauen. Pokud si jen te text, pkazy zapomene! - - Nyn se pesvdte, e Shift-Lock NEN stlaen a nkolikrt stisknte - klvesu j aby se kurzor posunul natolik, e lekce 1.1 zapln celou - obrazovku. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.1: POHYB KURZORU - - - ** Pro pohyb kurzoru pouvej klvesy h,j,k,l jak je znzornno ne. ** - ^ - k Funkce: Klvesa h je vlevo a vykon pohyb vlevo. - < h l > Klvesa l je vpravo a vykon pohyb vpravo. - j Klvesa j vypad na ipku dolu. - v - 1. Pohybuj kurzorem po obrazovce dokud si na to nezvykne. - - 2. Dr klvesu pro pohyb dolu (j), dokud se jej funkce nezopakuje. ----> Te v jak se pesunout na nsledujc lekci. - - 3. Pouitm klvesy dolu pejdi na lekci 1.2. - -Poznmka: Pokud si nkdy nejsi jist nm, co jsi napsal, stla <ESC> pro - pechod do Normlnho mdu. Pot pepi poadovan pkaz. - -Poznmka: Kurzorov klvesy tak funguj, avak pouvn hjkl je rychlej - jakmile si na nj zvykne. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.2: SPUTN A UKONEN VIM - - - !! POZNMKA: Ped vykonnm tchto krok si peti celou lekci!! - - 1. Stla <ESC> (pro ujitn, e se nachz v Normlnm mdu). - - 2. Napi: :q! <ENTER>. - ----> Tmto ukon editor BEZ uloen zmn, kter si vykonal. - Pokud chce uloit zmny a ukonit editor napi: - :wq <ENTER> - - 3. A se dostane na pkazov dek, napi pkaz, kterm se dostane zpt - do tto vuky. To me bt: vimtutor <ENTER> - Bn se pouv: vim tutor <ENTER> - ----> 'vim' znamen sputn 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 pesu kurzor dolu na lekci 1.3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.3: PRAVA TEXTU - MAZN - - - ** Stisknutm klvesy x v Normlnm mdu smae znak na mst kurzoru. ** - - 1. Pesu kurzor ne na dek oznaen --->. - - 2. K odstrann chyb pejdi kurzorem na znak, kter chce smazat. - - 3. Stla klvesu x k odstrann nechtnch znak. - - 4. Opakuj kroky 2 a 4 dokud nen vta sprvn. - ----> Krva skoilla pess mssc. - - 5. Pokud je vta sprvn, pejdi na lekci 1.4. - -POZNMKA: Nesna se pouze zapamatovat pedvdn pkazy, u se je pouvnm. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 1.4: PRAVA TEXTU - VKLDN - - - ** Stlaen klvesy i v Normlnm mdu umouje vkldn textu. ** - - 1. Pesu kurzor na prvn dek oznaen --->. - - 2. Pro upraven prvnho dku do podoby dku druhho, pesu kurzor na - prvn znak za msto, kde m bt text vloen. - - 3. Stla i a napi potebn dodatek. - - 4. Po opraven kad chyby stla <ESC> pro nvrat do Normlnho mdu. - Opakuj kroky 2 a 4 dokud nen vta sprvn. - ----> Njak txt na tto . ----> Njak text chyb na tto dce. - - 5. Pokud ji ovld vkldn textu, pejdi na nsledujc shrnut. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 1 - - - 1. Kurzorem se pohybuje pomoc ipek nebo klvesami hjkl. - h (vlevo) j (dolu) k (nahoru) l (vpravo) - - 2. Pro sputn Vimu (z pkazovho dku) napi: vim SOUBOR <ENTER> - - 3. Pro ukonen Vimu napi: <ESC> :q! <ENTER> bez uloen zmn. - anebo: <ESC> :wq <ENTER> pro uloen zmn. - - 4. Pro smazn znaku pod kurzorem napi v Normlnm mdu: x - - 5. Pro vkldn textu od msta kurzoru napi v Normlnm mdu: - i vkldan text <ESC> - -POZNMKA: Stlaen <ESC> t pemst do Normlnho mdu nebo zru nechtn - a sten dokonen pkaz. - -Nyn pokrauj Lekc 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.1: PKAZY MAZN - - - ** Pkaz dw smae znaky do konce slova. ** - - 1. Stla <ESC> k ubezpeen, e jsi v Normlnm mdu. - - 2. Pesu kurzor ne na dek oznaen --->. - - 3. Pesu kurzor na zatek slova, kter je poteba smazat. - - 4. Napi dw , aby slovo zmizelo. - -POZNMKA: Psmena dw se zobraz na poslednm dku obrazovky jakmile je - nape. Kdy nape nco patn, stla <ESC> a zani znova. - ----> Jsou tu njak slova zbava, kter nepat list do tto vty. - - 5. Opakuj kroky 3 a 4 dokud nen vta sprvn a pejdi na lekci 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.2: VCE PKAZ MAZN - - - ** Napsn pkazu d$ smae ve a do konce dky. ** - - 1. Stla <ESC> k ubezpeen, e jsi v Normlnm mdu. - - 2. Pesu kurzor ne na dek oznaen --->. - - 3. Pesu kurzor na konec sprvn vty (ZA prvn teku). - - 4. Napi d$ ,aby jsi smazal znaky a do konce dku. - ----> Nkdo napsal konec tto vty dvakrt. konec tto vty dvakrt. - - - 5. Pejdi na lekci 2.3 pro pochopen toho, co se stalo. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.3: ROZIOVAC PKAZY A OBJEKTY - - - Formt mazacho pkazu d je nsledujc: - - [slo] d objekt NEBO d [slo] objekt - Kde: - slo - udv kolikrt se pkaz vykon (voliteln, vchoz=1). - d - je pkaz mazn. - objekt - udv na em se pkaz vykonv (vypsan ne). - - Krtk vpis objekt: - w - od kurzoru do konce slova, vetn mezer. - e - od kurzoru do konce slova, BEZ mezer. - $ - od kurzoru do konce dku. - -POZNMKA: Stlaenm klvesy objektu v Normlnm mdu se kurzor pesune na - msto upesnn ve vpisu objekt. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.4: VJIMKA Z 'PKAZ-OBJEKT' - - - ** Napsnm dd smae cel dek. ** - - Vzhledem k astosti mazn celho dku se autoi Vimu rozhodli, e bude - jednodu napsat prost dv d k smazn celho dku. - - 1. Pesu kurzor na druh dek spodnho textu. - 2. Napi dd pro smazn dku. - 3. Pejdi na tvrt dek. - 4. Napi 2dd (vzpome si slo-pkaz-objekt) pro smazn dvou dk. - - 1) Re jsou erven, - 2) Blto je zbavn, - 3) Fialky jsou modr, - 4) Mm auto, - 5) Hodinky ukazuj as, - 6) Cukr je sladk, - 7) A to jsi i ty. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 2.5: PKAZ UNDO - - - ** Stla u pro vrcen poslednho pkazu, U pro celou dku. ** - - 1. Pesu kurzor ne na dek oznaen ---> a pemsti ho na prvn chybu. - 2. Napi x pro smazn prvnho nechtnho znaku. - 3. Te napi u m vrt zpt posledn vykonan pkaz. - 4. Nyn oprav vechny chyby na dku pomoc pkazu x . - 5. Napi velk U m vrt dek do pvodnho stavu. - 6. Te napi u nkolikrt, m vrt zpt pkaz U . - 7. Stla CTRL-R (klvesu CTRL dr stlaenou a stiskni R) nkolikrt, - m vrt zpt pedtm vrcen pkazy (redo). - ----> Opprav chybby nna toomto dku a nahra je pommoc undo. - - 8. Toto jsou velmi uiten pkazy. Nyn pejdi na souhrn Lekce 2. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 2 - - - 1. Pro smazn znak od kurzoru do konce slova napi: dw - - 2. Pro smazn znak od kurzoru do konce dku napi: d$ - - 3. Pro smazn celho dku napi: dd - - 4. Formt pkazu v Normlnm mdu je: - - [slo] pkaz objekt NEBO pkaz [slo] objekt - kde: - slo - udv poet opakovn pkazu - pkaz - udv co je teba vykonat, napklad d mae - objekt - udv rozsah pkazu, napklad w (slovo), - $ (do konce dku), atd. - - 5. Pro vrcen pedel innosti, napi: u (mal u) - Pro vrcen vech prav na dku napi: U (velk U) - Pro vrcen vrcench prav (redo) napi: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.1: PKAZ VLOIT - - - ** Pka p vlo posledn vymazan text za kurzor. ** - - 1. Pesu kurzor ne na posledn dek textu. - - 2. Napi dd pro smazn dku a jeho uloen do bufferu. - - 3. Pesu kurzor V݊E tam, kam smazan dek pat. - - 4. V Normlnm mdu napi p pro optn vloen dku. - - 5. Opakuj kroky 2 a 4 dokud dky nebudou ve sprvnm poad. - - d) Tak se doke vzdlvat? - b) Fialky jsou modr, - c) Inteligence se u, - a) Re jsou erven, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.2: PKAZ NAHRAZEN - - - ** Napsnm r a znaku se nahrad znak pod kurzorem. ** - - 1. Pesu kurzor ne na prvn dek oznaen --->. - - 2. Pesu kurzor na zatek prvn chyby. - - 3. Napi r a potom znak, kter nahrad chybu. - - 4. Opakuj kroky 2 a 3 dokud nen prvn dka sprvn. - ----> Kdi byl pzn tento deg, nkdu stlail paqn klvesy! ----> Kdy byl psn tento dek, nkdo stlal patn klvesy! - - 5. Nyn pejdi na Lekci 3.2. - -POZNMKA: Zapamatuj si, e by ses ml uit pouvnm, ne zapamatovnm. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.3: PKAZ PRAVY - - - ** Pokud chce zmnit st nebo cel slovo, napi cw . ** - - 1. Pesu kurzor ne na prvn dek oznaen --->. - - 2. Umsti kurzor na psmeno i v slov iok. - - 3. Napi cw a oprav slovo (v tomto ppad napi 'dek'.) - - 4. Stla <ESC> a pejdi na dal chybu (prvn znak, kter teba zmnit.) - - 5. Opakuj kroky 3 a 4 dokud nen prvn vta stejn jako ta druh. - ----> Tento iok m nkolik skic, kter psadoinsa zmnit pasdgf pkazu. ----> Tento dek m nkolik slov, kter potebuj zmnit pomoc pkazu. - -Vimni si, e cw nejen nahrazuje slovo, ale tak pemst do vkldn. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 3.4: VCE ZMN POUITM c - - - ** Pkaz pro pravu se dru se stejnmi objekty jako ten pro mazn. ** - - 1. Pkaz pro pravu pracuje stejn jako pro mazn. Formt je: - - [slo] c objekt NEBO c [slo] objekt - - 2. Objekty jsou tak shodn, jako nap.: w (slovo), $ (konec dku), atd. - - 3. Pejdi ne na prvn dek oznaen --->. - - 4. Pesu kurzor na prvn rozdl. - - 5. Napi c$ pro upraven zbytku dku podle toho druhho a stla <ESC>. - ----> Konec tohoto dku potebuje pomoc, aby byl jako ten druh. ----> Konec tohoto dku potebuje opravit pouitm pkazu c$ . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 3 - - - 1. Pro vloen textu, kter byl smazn, napi p . To vlo smazan text - ZA kurzor (pokud byl dek smazan, pejde na dek pod kurzorem). - - 2. Pro nahrazen znaku pod kurzorem, napi r a potom znak, kterm - chce pvodn znak nahradit. - - 3. Pkaz na upravovn umouje zmnit specifikovan objekt od kurzoru - do konce objektu. Napklad: Napi cw ,m zmn text od pozice - kurzoru do konce slova, c$ zmn text do konce dku. - - 4. Formt pro nahrazovn je: - - [slo] c objekt NEBO c [slo] objekt - -Nyn pejdi na nsledujc lekci. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.1: POZICE A STATUS SOUBORU - - - ** Stla CTRL-g pro zobrazen sv pozice v souboru a statusu souboru. - Stla SHIFT-G pro pechod na dek v souboru. ** - - Poznmka: Peti si celou lekci ne zane vykonvat kroky!! - - 1. Dr klvesu Ctrl stlaenou a stiskni g . Vespod obrazovky se zobraz - stavov dek s nzvem souboru a dkou na kter se nachz. Zapamatuj - si slo dku pro krok 3. - - 2. Stla shift-G pro pesun na konec souboru. - - 3. Napi slo dku na kterm si se nachzel a stla shift-G. To t - vrt na dek, na kterm jsi dve stiskl Ctrl-g. - (Kdy pe sla, tak se NEZOBRAZUJ na obrazovce.) - - 4. Pokud se ct schopn vykonat tyto kroky, vykonej je. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.2: PKAZ VYHLEDVN - - - ** Napi / nsledovan etzcem pro vyhledn onoho etzce. ** - - 1. Stiskni / v Normlnm mdu. Vimni si, e tento znak se spolu s - kurzorem zobraz v doln sti obrazovky jako pkaz : . - - 2. Nyn napi 'chhybba' <ENTER>. To je slovo, kter chce vyhledat. - - 3. Pro vyhledn dalho vsledku stejnho etzce, jednodue stla n . - Pro vyhledn dalho vsledku stejnho etzce opanm smrem, stiskni - Shift-N. - - 4. Pokud chce vyhledat etzec v opanm smru, pouij pkaz ? msto - pkazu / . - ----> "chhybba" nen zpsob, jak hlskovat chyba; chhybba je chyba. - -Poznmka: Kdy vyhledvn doshne konce souboru, bude pokraovat na jeho - zatku. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.3: VYHLEDVN PROV ZVORKY - - - ** Napi % pro nalezen prov ),], nebo } . ** - - 1. Pemsti kurzor na kteroukoli (, [, nebo { v dku oznaenm --->. - - 2. Nyn napi znak % . - - 3. Kurzor se pemst na odpovdajc zvorku. - - 4. Stla % pro pesun kurzoru zpt na otvrajc zvorku. - ----> Toto ( je testovac dek ('s, ['s ] a {'s } v nm. )) - -Poznmka: Toto je velmi uiten p ladn programu s chybjcmi - uzavracmi zvorkami. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 4.4: ZPSOB JAK ZMNIT CHYBY - - - ** Napi :s/star/nov/g pro nahrazen slova 'nov' za 'star'. ** - - 1. Pesu kurzor na dek oznaen --->. - - 2. Napi :s/dobr/dobr <ENTER> . Vimni si, e tento pkaz zmn pouze - prvn vskyt v dku. - - 3. Nyn napi :s/dobr/dobr/g co znamen celkov nahrazen v dku. - Toto nahrad vechny vskyty v dku. - ----> dobr suroviny a dobr nin jsou zkladem dobr kuchyn. - - 4. Pro zmnu vech vskyt etzce mezi dvma dky, - Napi :#,#s/star/nov/g kde #,# jsou sla onch dek. - Napi :%s/star/nov/g pro zmnu vech vskyt v celm souboru. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 4 - - - 1. Ctrl-g vype tvou pozici v souboru a status souboru. - Shift-G t pemst na konec souboru. slo nsledovan - Shift-G t pesune na dan slo dku. - - 2. Napsn / nsledovan etzcem vyhled etzec smrem DOPEDU. - Napsn ? nsledovan etzcem vyhled etzec smrem DOZADU. - Napsn n po vyhledvn najde nsledujc vskyt etzce ve stejnm - smru, Shift-N ve smru opanm. - - 3. Stisknut % kdy je kurzor na (,),[,],{, nebo } najde odpovdajc - provou zvorku. - - 4. Pro nahrazen novho za prvn star v dku napi :s/star/nov - Pro nahrazen novho za vechny star v dku napi :s/star/nov/g - Pro nahrazen etzc mezi dvmi dkami # napi :#,#s/star/nov/g - Pro nahrazen vech vskyt v souboru napi :%s/star/nov/g - Pro potvrzen kadho nahrazen pidej 'c' :%s/star/nov/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.1: JAK VYKONAT VNJ PKAZ - - - ** Napi :! nsledovan vnjm pkazem pro sputn pkazu. ** - - 1. Napi obvykl pkaz : , kter umst kurzor na spodek obrazovky - To umon napsat pkaz. - - 2. Nyn stiskni ! (vykink). To umon vykonat jakkoliv vnj - pkaz z pkazovho dku. - - 3. Napklad napi ls za ! a stiskni <ENTER>. Tento pkaz zobraz - obsah tvho adrese jako v pkazovm dku. - Vyzkouej :!dir pokud ls nefunguje. - -Poznmka: Takto je mon vykonat jakkoliv pkaz. - -Poznmka: Vechny pkazy : mus bt dokonen stisknutm <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.2: VCE O UKLDN SOUBOR - - - ** Pro uloen zmn v souboru napi :w SOUBOR. ** - - 1. Napi :!dir nebo :!ls pro vpis aktulnho adrese. - U v, e za tmto mus stisknout <ENTER>. - - 2. Vyber si nzev souboru, kter jet neexistuje, napklad TEST. - - 3. Nyn napi: :w TEST (kde TEST je vybran nzev souboru.) - - 4. To ulo cel soubor (Vuka Vimu) pod nzvem TEST. - Pro oven napi znovu :!dir , m zobraz obsah adrese. - -Poznmka: Jakmile ukon Vim a znovu ho spust s nzvem souboru TEST, - soubor bude pesn kopie vuky, kdy si ji ukldal. - - 5. Nyn odstra soubor napsnm (MS-DOS): :!del TEST - nebo (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.3: VBROV PKAZ ULOEN - - - ** Pro uloen sti souboru napi :#,# w SOUBOR ** - - 1. Jet jednou napi :!dir nebo :!ls pro vpis aktulnho adrese - a vyber vhodn nzev souboru jako nap. TEST. - - 2. Pesu kurzor na vrch tto strnky a stiskni Ctrl-g pro zobrazen - sla dku. ZAPAMATUJ SI TOTO SLO! - - 3. Nyn se pesu na spodek tto strnky a opt stiskni Ctrl-g. - ZAPAMATUJ SI I SLO TOHOTO DKU! - - 4. Pro uloen POUZE sti souboru, napi :#,# w TEST kde #,# jsou - sla dvou zapamatovanch dk (vrch, spodek) a TEST je nzev souboru. - - 5. Znova se ujisti, e tam ten soubor je pomoc :!dir ale NEODSTRAUJ ho. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 5.4: SLUOVN SOUBOR - - - ** K vloen obsahu souboru napi :r NZEV_SOUBORU ** - - 1. Napi :!dir pro ujitn, e soubor TEST stle existuje. - - 2. Pesu kurzor na vrch tto strnky. - -POZNMKA: Po vykonn kroku 3 uvid lekci 5.3. Potom se opt pesu dol - na tuto lekci. - - 3. Nyn vlo soubor TEST pouitm pkazu :r TEST kde TEST je nzev - souboru. - -POZNMKA: Soubor, kter vkld se vlo od msta, kde se nachz kurzor. - - 4. Pro potvrzen vloen souboru, pesu kurzor zpt a vimni si, e te - m dv kopie lekce 5.3, originl a souborovou verzi. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRNUT LEKCE 5 - - - 1. :!pkaz vykon vnj pkaz. - - Nkter uiten pklady jsou: - (MS-DOS) (Unix) - :!dir :!ls - zobraz obsah souboru. - :!del SOUBOR :!rm SOUBOR - odstran SOUBOR. - - 2. :w SOUBOR ulo aktuln 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 editovanho souboru - za pozici kurzoru. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.1: PKAZ OTEVT - - - ** Napi o pro vloen dku pod kurzor a pepnut do Vkldacho mdu. ** - - 1. Pemsti kurzor ne na dek oznaen --->. - - 2. Napi o (mal) pro vloen dku POD kurzor a pepnut do - Vkldacho mdu. - - 3. Nyn zkopruj dek oznaen ---> a stiskni <ESC> pro ukonen - Vkldacho mdu. - ----> Po stisknut o se kurzor pemst na vloen dek do Vkldacho - mdu. - - 4. Pro oteven dku NAD kurzorem jednodue napi velk O , msto - malho o. Vyzkouej si to na nsledujcm dku. -Vlo dek nad tmto napsnm Shift-O po umstn kurzoru na tento dek. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.2: PKAZ PIDAT - - - ** Stiskni a pro vloen textu ZA kurzor. ** - - 1. Pesu kurzor na ne na konec dky oznaen ---> - stisknutm $ v Normlnm mdu. - - 2. Stiskni a (mal) pro pidn textu ZA znak, kter je pod kurzorem. - (Velk A pid na konec dku.) - -Poznmka: Tmto se vyhne stisknut i , poslednho znaku, textu na vloen, - <ESC>, kurzor doprava, a nakonec x na pidvn na konec dku! - - 3. Nyn dokon prvn dek. Vimni si, e pidvn je vlastn stejn jako - Vkldac md, krom msta, kam se text vkld. - ----> Tento dek ti umouje nacviit ----> Tento dek ti umouje nacviit pidvn textu na konec dky. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.3: JIN ZPSOB NAHRAZOVN - - - ** Napi velk R pro nahrazen vc ne jednoho znaku. ** - - 1. Pesu kurzor na prvn dek oznaen --->. - - 2. Umsti kurzor na zatek prvnho slova, kter je odlin od druhho - dku oznaenho ---> (slovo 'posledn'). - - 3. Nyn stiskni R a nahra zbytek textu na prvnm dku pepsnm - starho textu tak, aby byl prvn dek stejn jako ten druh. - ----> Pro upraven prvnho dku do tvaru toho posledn na stran pouij kl. ----> Pro upraven prvnho dku do tvaru toho druhho, napi R a nov text. - - 4. Vimni si, e jakmile stiskne <ESC> vechen nezmnn text zstv. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekce 6.4: NASTAVEN MONOST - - ** Nastav monost, e vyhledvn anebo nahrazovn nedb velikosti psmen ** - - 1. Vyhledej etzec 'ignore' napsnm: - /ignore - Zopakuj nkolikrt stisknut klvesy n. - - 2. Nastav monost 'ic' (Ignore case) napsnm pkazu: - :set ic - - 3. Nyn znovu vyhledej 'ignore' stisknutm: n - Nkolikrt hledn zopakuj stisknutm klvesy n. - - 4. Nastav monosti 'hlsearch' a 'incsearch': - :set hls is - - 5. Nyn znovu vykonej vyhledvac pkaz a sleduj, co se stane: - /ignore - - 6. Pro vypnut zvrazovn vsledk napi: - :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SHRHNUT LEKCE 6 - - - 1. Stisknut o oteve nov dek POD kurzorem a umst kurzor na vloen - dek do Vkldacho mdu. - Napsn velkho O oteve dek NAD dkem, na kterm je kurzor. - - 2. Stiskni a pro vloen textu ZA znak na pozici kurzoru. - Napsn velkho A automaticky pid text na konec dku. - - 3. Stisknut velkho R pepne do Nahrazovacho mdu, dokud - nestiskne <ESC> pro jeho ukonen. - - 4. Napsn ":set xxx" nastav monosti "xxx". - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCE 7: PKAZY ON-LINE NPOVDY - - - ** Pouvej on-line systm npovdy ** - - Vim m obshl on-line systm npovdy. Pro zatek vyzkouej jeden z - nsledujcch: - - stiskni klvesu <HELP> (pokud ji m) - - stiskni klvesu <F1> (pokud ji m) - - napi :help <ENTER> - - Napi :q <ENTER> pro uzaven okna npovdy. - - Me najt npovdu k jakmukoliv tmatu pidnm argumentu k - pkazu ":help". Zkus tyto (nezapome stisknout <ENTER>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCE 8: VYTVOEN INICIALIZANHO SKRIPTU - - ** Zapni funkce editoru Vim ** - - Vim m daleko vce funkc ne Vi, ale vtina z nich je vypnuta ve vchozm - nastaven. Pro zapnut nkterch vytvo soubor "vimrc". - - 1. Zani upravovat soubor "vimrc". Toto zvis na pouitm systmu: - :edit ~/.vimrc pro Unix - :edit $VIM/_vimrc pro MS-Windows - - 2. Nyn ti ukzkov "vimrc" soubor: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Ulo soubor pomoc: - - :write - - Po ptm startu Vim se zapne zvrazovn syntaxe. - Do souboru "vimrc" me pidat vechny svoje upednostovan nastaven. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Toto ukonuje vuku Vim, kter byla mylen jako strun pehled - editoru Vim, tak akort postaujc pro lehk a obstojn pouvn editoru. - Tato vuka m daleko od plnosti, protoe Vim obsahuje podstatn vce - pkaz. Dle si peti uivatelsk manul: ":help user-manual". - - Pro dal studium je doporuen kniha: - Vim - Vi Improved - od Steve Oualline - Nakladatel: New Riders - Prvn kniha uren pro Vim. Obzvlt vhodn pro zatenky. - Obsahuje mnostv pklad a obrzk. - viz http://iccf-holland.org/click5.html - - Tato kniha je star a vce vnovan Vi ne Vim, ale tak doporuen: - Learning the Vi Editor - od Linda Lamb - Nakladatel: O'Reilly & Associates Inc. - Je to dobr kniha pro zskn vdomost tm o vem, co mete s Vi dlat. - est vydn obsahuje t informace o Vim. - - Tato vuka byla napsan autory Michael C. Pierce a Robert K. Ware, - Colorado School of Mines s pouitm mylenek od: Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Upravil pro Vim: Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Peklad do etiny: Lubo Turek - E-Mail: lubos.turek@gmail.com - 2007 Feb 28 diff --git a/runtime/tutor/tutor.cs.utf-8 b/runtime/tutor/tutor.cs.utf-8 deleted file mode 100644 index c880d6df5..000000000 --- a/runtime/tutor/tutor.cs.utf-8 +++ /dev/null @@ -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 diff --git a/runtime/tutor/tutor.de b/runtime/tutor/tutor.de deleted file mode 100644 index 7438c96ba..000000000 --- a/runtime/tutor/tutor.de +++ /dev/null @@ -1,980 +0,0 @@ -=============================================================================== -= W i l l k o m m e n im V I M T u t o r - Version 1.7D = -=============================================================================== - - Vim ist ein sehr mchtiger Editor, der viele Befehle bereitstellt; zu viele, - um alle in einem Tutor wie diesem zu erklren. Dieser Tutor ist so - gestaltet, um genug Befehle vorzustellen, dass Du die Fhigkeit erlangst, - Vim mit Leichtigkeit als einen Allzweck-Editor zu benutzen. - Die Zeit fr das Durcharbeiten dieses Tutors betrgt ca. 25-30 Minuten, - abhngig davon, wie viel Zeit Du mit Experimentieren verbringst. - - ACHTUNG: - Die in den Lektionen angewendeten Kommandos werden den Text modifizieren. - Erstelle eine Kopie dieser Datei, in der Du ben willst (falls Du "vimtutor" - aufgerufen hast, ist dies bereits eine Kopie). - - Es ist wichtig, sich zu vergegenwrtigen, dass dieser Tutor fr das Anwenden - konzipiert ist. Das bedeutet, dass Du die Befehle ausfhren musst, um sie - richtig zu lernen. Wenn Du nur den Text liest, vergisst Du die Befehle! - - Jetzt stelle sicher, dass Deine Umstelltaste NICHT gedrckt ist und bettige - die j Taste gengend Male, um den Cursor nach unten zu bewegen, so dass - Lektion 1.1 den Bildschirm vollkommen ausfllt. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.1: BEWEGEN DES CURSORS - - ** Um den Cursor zu bewegen, drcke die h,j,k,l Tasten wie unten gezeigt. ** - ^ Hilfestellung: - k Die h Taste befindet sich links und bewegt nach links. - < h l > Die l Taste liegt rechts und bewegt nach rechts. - j Die j Taste hnelt einem Pfeil nach unten. - v - 1. Bewege den Cursor auf dem Bildschirm umher, bis Du Dich sicher fhlst. - - 2. Halte die Nach-Unten-Taste (j) gedrckt, bis sie sich wiederholt. - Jetzt weit Du, wie Du Dich zur nchsten Lektion bewegen kannst. - - 3. Benutze die Nach-Unten-Taste, um Dich zu Lektion 1.2 zu bewegen. - -Bemerkung: Immer, wenn Du Dir unsicher bist ber das, was Du getippt hast, - drcke <ESC> , um Dich in den Normalmodus zu begeben. - Dann gib das gewnschte Kommando noch einmal ein. - -Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du - hjkl benutzt, wirst Du in der Lage sein, Dich sehr viel schneller - umherzubewegen, wenn Du Dich einmal daran gewhnt hast. Wirklich! -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.2: VIM BEENDEN - - - !! ACHTUNG: Bevor Du einen der unten aufgefhrten Schritte ausfhrst, lies - diese gesamte Lektion!! - - 1. Drcke die <ESC> Taste (um sicherzustellen, dass Du im Normalmodus bist). - - 2. Tippe: :q! <ENTER>. - Dies beendet den Editor und VERWIRFT alle nderungen, die Du gemacht hast. - - 3. Wenn Du die Eingabeaufforderung siehst, gib das Kommando ein, das Dich zu - diesem Tutor gefhrt hat. Dies wre: vimtutor <ENTER> - - 4. Wenn Du Dir diese Schritte eingeprgt hast und Du Dich sicher fhlst, - fhre Schritte 1 bis 3 aus, um den Editor zu verlassen und wieder - hineinzugelangen. - -Bemerkung: :q! <ENTER> verwirft alle nderungen, die Du gemacht hast. In - einigen Lektionen lernst Du , die nderungen in einer Datei zu speichern. - - 5. Bewege den Cursor abwrts zu Lektion 1.3. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.3: TEXT EDITIEREN - LSCHEN - - - ** Drcke x um das Zeichen unter dem Cursor zu lschen. ** - - 1. Bewege den Cursor zu der mit ---> markierten Zeile unten. - - 2. Um die Fehler zu beheben, bewege den Cursor, bis er auf dem Zeichen steht, - das gelscht werden soll. - - 3. Drcke die x Taste, um das berflssige Zeichen zu lschen. - - 4. Wiederhole die Schritte 2 bis 4, bis der Satz korrekt ist. - ----> Die Kkuh sprangg bber deen Moond. - - 5. Wenn nun die Zeile korrekt ist, gehe weiter zur Lektion 1.4. - -Anmerkung: Whrend Du durch diesen Tutor gehst, versuche nicht, auswendig zu - lernen, lerne vielmehr durch Anwenden. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.4: TEXT EDITIEREN - EINFGEN - - - ** Drcke i , um Text einzufgen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Um die erste Zeile mit der zweiten gleichzumachen, bewege den Cursor auf - das erste Zeichen NACH der Stelle, wo der Text eingefgt werden soll. - - 3. Drcke i und gib die notwendigen Ergnzungen ein. - - 4. Wenn jeweils ein Fehler beseitigt ist, drcke <ESC> , um zum Normalmodus - zurckzukehren. - Wiederhole die Schritte 2 bis 4, um den Satz zu korrigieren. - ----> In dieser ft etwas . ----> In dieser Zeile fehlt etwas Text. - - 5. Wenn Du Dich mit dem Einfgen von Text sicher fhlst, gehe zu Lektion 1.5. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.5: TEXT EDITIEREN - ANFGEN - - - ** Drcke A , um Text anzufgen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - Es ist gleichgltig, auf welchem Zeichen der Zeile der Cursor steht. - - 2. Drcke A und gib die ntigen Ergnzungen ein. - - 3. Wenn das Anfgen abgeschlossen ist, drcke <ESC>, um in den Normalmodus - zurckzukehren. - - 4. Bewege den Cursor zur zweiten mit ---> markierten Zeile und wiederhole - die Schritte 2 und 3, um den Satz zu korrigieren. - ----> In dieser Zeile feh - In dieser Zeile fehlt etwas Text. ----> Auch hier steh - Auch hier steht etwas Unvollstndiges. - - 5. Wenn Du dich mit dem Anfgen von Text sicher fhlst, gehe zu Lektion 1.6. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.6: EINE DATEI EDITIEREN - - - ** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. ** - - !! ACHTUNG: Bevor Du einen der unten aufgefhrten Schritte ausfhrst, lies - diese gesamte Lektion!! - - 1. Verlasse den Editor so wie in Lektion 1.2: :q! - - 2. Gib dieses Kommando in die Eingabeaufforderung ein: vim tutor <ENTER> - 'vim' ist der Aufruf des Editors, 'tutor' ist die zu editierende Datei. - Benutze eine Datei, die gendert werden kann. - - 3. Fge Text ein oder lsche ihn, wie Du in den vorigen Lektionen gelernt - hast. - - 4. Speichere die genderte Datei und verlasse Vim mit: :wq <ENTER> - - 5. Starte den vimtutor neu und bewege Dich zu der folgenden Zusammenfassung. - - 6. Nachdem Du obige Schritte gelesen und verstanden hast, fhre sie durch. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 1 - - - 1. Der Cursor wird mit den Pfeiltasten oder den Tasten hjkl bewegt. - h (links) j (unten) k (aufwrts) l (rechts) - - 2. Um Vim von der Eingabeaufforderung auszufhren, tippe: vim DATEI <ENTER> - - 3. Um Vim zu verlassen und alle nderungen zu verwerfen, tippe: - <ESC> :q! <ENTER> . - ODER tippe: <ESC> :wq <ENTER> , um die nderungen zu speichern. - - 4. Um das Zeichen unter dem Cursor zu lschen, tippe: x - - 5. Um Text einzufgen oder anzufgen, tippe: - i Einzufgenden Text eingeben <ESC> Einfgen vor dem Cursor - A Anzufgenden Text eingeben <ESC> Anfgen nach dem Zeilendene - -Bemerkung: Drcken von <ESC> bringt Dich in den Normalmodus oder bricht ein - ungewolltes, erst teilweise eingegebenes Kommando ab. - - Nun fahre mit Lektion 2 fort. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.1: LSCHKOMMANDOS - - - ** Tippe dw , um ein Wort zu lschen. ** - - 1. Drcke <ESC> um sicherzustellen, dass Du im Normalmodus bist. - - 2. Bewege den Cursor zu der mit ---> markierten Zeile unten. - - 3. Bewege den Cursor zum Anfang eines Wortes, das gelscht werden soll. - - 4. Tippe dw , um das Wort zu entfernen. - - Bemerkung: Der Buchstabe d erscheint auf der letzten Zeile des Bildschirms, - wenn Du ihn eingibst. Vim wartet darauf, da Du w eingibst. Wenn Du - ein anderes Zeichen als d siehst, hast Du etwas falsches getippt; - drcke <ESC> und beginne neu. - ----> Einige Wrter lustig gehren nicht Papier in diesen Satz. - - 5. Wiederhole die Schritte 3 und 4, bis der Satz korrekt ist und gehe - danach zur Lektion 2.2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.2: WEITERE LSCHKOMMANDOS - - - ** Tippe d$ , um bis zum Ende der Zeile zu lschen. ** - - 1. Drcke <ESC> , um sicherzustellen, dass Du im Normalmodus bist. - - 2. Bewege den Cursor zu der mit ---> markierten Zeile unten. - - 3. Bewege den Cursor zum Ende der korrekten Zeile (NACH dem ersten . ). - - 4. Tippe d$ , um bis zum Ende der Zeile zu lschen. - ----> Jemand hat das Ende der Zeile doppelt eingegeben. doppelt eingegeben. - - - 5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei passiert. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.3: BER OPERATOREN UND BEWEGUNGSZGE - - - Viele Kommandos, die Text ndern, setzen sich aus einem Operator und einer - Bewegung zusammen. Das Format fr ein Lschkommando mit dem Lschoperator d - lautet wie folgt: - - d Bewegung - - wobei: - d - der Lschoperator - Bewegung - worauf der Lschoperator angewandt wird (unten aufgelistet). - - Eine kleine Auflistung von Bewegungen: - w - bis zum Beginn des nchsten Wortes OHNE dessen erstes Zeichen. - e - zum Ende des aktuellen Wortes MIT dessen letztem Zeichen. - $ - zum Ende der Zeile MIT dem letzen Zeichen. - - Dementsprechend lscht die Eingabe von de vom Cursor an bis zum Wortende. - -Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den - Cursor entsprechend. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.4: ANWENDUNG EINES ZHLERS FR EINEN BEWEGUNGSSCHRITT - - - ** Die Eingabe einer Zahl vor einem Bewegungsschritt wiederholt diesen. ** - - 1. Bewege den Cursor zum Beginn der mit ---> markierten Zeile unten. - - 2. Tippe 2w , um den Cursor zwei Wrter vorwrts zu bewegen. - - 3. Tippe 3e , um den Cursor zum Ende des dritten Wortes zu bewegen. - - 4. Tippe 0 (Null) , um zum Anfang der Zeile zu gelangen. - - 5. Wiederhole Schritte 2 und 3 mit verschiedenen Zhlern. - - ---> Dies ist nur eine Zeile aus Wrten um sich darin herumzubewegen. - - 6. Gehe weiter zu Lektion 2.5. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.5: ANWENDUNG EINES ZHLERS FR MEHRERE LSCHVORGNGE - - - ** Die Eingabe einer Zahl mit einem Operator wiederholt diesen mehrfach. ** - - Fr die Kombination des Lschoperators und einem Bewegungsschritt (siehe - oben) stellt man dem Bewegungsschritt einen Zhler voran, um mehr zu lschen: - d Nummer Bewegungsschritt - - 1. Bewege den Cursor zum ersten Wort in GROSSBUCHSTABEN in der mit ---> - markieren Zeile. - - 2. Tippe d2w , um die zwei Wrter in GROSSBUCHSTABEN zu lschen. - - 3. Wiederhole Schritte 1 und 2 mit einem anderen Zhler, um die - darauffolgenden Wrter in GROSSBUCHSTABEN mit einem einzigen Kommando - zu lschen. - ----> Diese ABC DE Zeile FGHI JK LMN OP mit Wrtern ist Q RS TUV bereinigt. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.6: ARBEITEN AUF ZEILEN - - - ** Tippe dd , um eine ganze Zeile zu lschen. ** - - Wegen der Hufigkeit, dass man ganze Zeilen lscht, kamen die Entwickler von - Vi darauf, dass es leichter wre, einfach zwei d's einzugeben, um eine Zeile - zu lschen. - - 1. Bewege den Cursor zur zweiten Zeile in der unten stehenden Redewendung. - 2. Tippe dd , um die Zeile zu lschen. - 3. Nun bewege Dich zur vierten Zeile. - 4. Tippe 2dd , um zwei Zeilen zu lschen. - ----> 1) Rosen sind rot, ----> 2) Matsch ist lustig, ----> 3) Veilchen sind blau, ----> 4) Ich habe ein Auto, ----> 5) Die Uhr sagt die Zeit, ----> 6) Zucker ist s, ----> 7) So wie Du auch. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.7: RCKGNGIG MACHEN (UNDO) - - - ** Tippe u , um die letzten Kommandos rckgngig zu machen ** - ** oder U um eine ganze Zeile wiederherzustellen. ** - - 1. Bewege den Cursor zu der mit ---> markierten Zeile unten - und setze ihn auf den ersten Fehler. - 2. Tippe x , um das erste unerwnschte Zeichen zu lschen. - 3. Nun tippe u um das soeben ausgefhrte Kommando rckgngig zu machen. - 4. Jetzt behebe alle Fehler auf der Zeile mit Hilfe des x Kommandos. - 5. Nun tippe ein groes U , um die Zeile in ihren Ursprungszustand - wiederherzustellen. - 6. Nun tippe u einige Male, um das U und die vorhergehenden Kommandos - rckgngig zu machen. - 7. Nun tippe CTRL-R (halte CTRL gedrckt und drcke R) mehrere Male, um die - Kommandos wiederherzustellen (die Rckgngigmachungen rckgngig machen). - ----> Beehebe die Fehller diesser Zeile und sttelle sie mitt 'undo' wieder her. - - 8. Dies sind sehr ntzliche Kommandos. - Nun gehe weiter zur Zusammenfassung von Lektion 2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 2 - - - 1. Um vom Cursor bis zum nchsten Wort zu lschen, tippe: dw - 2. Um vom Cursor bis zum Ende einer Zeile zu lschen, tippe: d$ - 3. Um eine ganze Zeile zu lschen, tippe: dd - - 4. Um eine Bewegung zu wiederholen, stelle eine Nummer voran: 2w - 5. Das Format fr ein nderungskommando ist: - Operator [Anzahl] Bewegungsschritt - wobei: - Operator - gibt an, was getan werden soll, zum Beispiel d fr delete - [Anzahl] - ein optionaler Zhler, um den Bewegungsschritt zu wiederholen - Bewegungsschritt - Bewegung ber den zu ndernden Text, so wie - w (Wort), $ (zum Ende der Zeile), etc. - - 6. Um Dich zum Anfang der Zeile zu begeben, benutze die Null: 0 - - 7. Um vorherige Aktionen rckgngig zu machen, tippe: u (kleines u) - Um alle nderungen auf einer Zeile rckgngig zu machen: U (groes U) - Um die Rckgngigmachungen rckgngig zu machen, tippe: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.1: ANFGEN (PUT) - - - ** Tippe p , um vorher gelschten Text nach dem Cursor anzufgen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Tippe dd , um die Zeile zu lschen und sie in eimem Vim-Register zu - speichern. - - 3. Bewege den Cursor zur Zeile c), BER derjenigen, wo die gelschte Zeile - platziert werden soll. - - 4. Tippe p , um die Zeile unterhalb des Cursors zu platzieren. - - 5. Wiederhole die Schritte 2 bis 4, um alle Zeilen in die richtige - Reihenfolge zu bringen. - ----> d) Kannst Du das auch? ----> b) Veilchen sind blau, ----> c) Intelligenz ist erlernbar, ----> a) Rosen sind rot, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.2: ERSETZEN (REPLACE) - - - ** Tippe rx , um das Zeichen unter dem Cursor durch x zu ersetzen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Bewege den Cursor, bis er sich auf dem ersten Fehler befindet. - - 3. Tippe r und anschlieend das Zeichen, welches dort stehen sollte. - - 4. Wiederhole Schritte 2 und 3, bis die erste Zeile gleich der zweiten ist. - ----> Als diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt! ----> Als diese Zeile eingegeben wurde, wurden einige falsche Tasten getippt! - - 5. Nun fahre fort mit Lektion 3.2. - -Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch - Auswendiglernen. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.3: NDERN (CHANGE) - - - ** Um eine nderung bis zum Wortende durchzufhren, tippe ce . ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Platziere den Cursor auf das s von Wstwr. - - 3. Tippe ce und die Wortkorrektur ein (in diesem Fall tippe rter ). - - 4. Drcke <ESC> und bewege den Cursor zum nchsten zu ndernden Zeichen. - - 5. Wiederhole Schritte 3 und 4 bis der erste Satz gleich dem zweiten ist. - ----> Einige Wstwr dieser Zlaww lasdjlaf mit dem ndern-Operator gaaauu werden. ----> Einige Wrter dieser Zeile sollen mit dem ndern-Operator gendert werden. - -Bemerke, dass ce das Wort lscht und Dich in den Eingabemodus versetzt. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.4: MEHR NDERUNGEN MITTELS c - - - ** Das change-Kommando arbeitet mit denselben Bewegungen wie delete. ** - - 1. Der change Operator arbeitet in gleicher Weise wie delete. Das Format ist: - - c [Anzahl] Bewegungsschritt - - 2. Die Bewegungsschritte sind die gleichen , so wie w (Wort) und $ - (Zeilenende). - - 3. Bewege Dich zur ersten unten stehenden mit ---> markierten Zeile. - - 4. Bewege den Cursor zum ersten Fehler. - - 5. Tippe c$ , gib den Rest der Zeile wie in der zweiten ein, drcke <ESC> . - ----> Das Ende dieser Zeile soll an die zweite Zeile angeglichen werden. ----> Das Ende dieser Zeile soll mit dem c$ Kommando korrigiert werden. - -Bemerkung: Du kannst die Rcktaste benutzen, um Tippfehler zu korrigieren. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 3 - - - 1. Um einen vorher gelschten Text anzufgen, tippe p . Dies fgt den - gelschten Text NACH dem Cursor an (wenn eine ganze Zeile gelscht wurde, - wird diese in die Zeile unter dem Cursor eingefgt). - - 2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und das an dieser - Stelle gewnschte Zeichen. - - 3. Der nderungs- (change) Operator erlaubt, vom Cursor bis zum Ende des - Bewegungsschrittes zu ndern. Tippe ce , um eine nderung vom Cursor bis - zum Ende des Wortes vorzunehmen; c$ bis zum Ende einer Zeile. - - 4. Das Format fr change ist: - - c [Anzahl] Bewegungsschritt - - Nun fahre mit der nchsten Lektion fort. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.1: CURSORPOSITION UND DATEISTATUS - - ** Tippe CTRL-G , um Deine Dateiposition sowie den Dateistatus anzuzeigen. ** - ** Tippe G , um Dich zu einer Zeile in der Datei zu begeben. ** - -Bemerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausfhrst!! - - 1. Halte die Ctrl Taste unten und drcke g . Dies nennen wir wir CTRL-G. - Eine Statusmeldung am Fu der Seite erscheint mit dem Dateinamen und der - Position innerhalb der Datei. Merke Dir die Zeilennummer fr Schritt 3. - -Bemerkung: Mglicherweise siehst Du die Cursorposition in der unteren rechten - Bildschirmecke. Dies ist Folge der 'ruler' Option (siehe :help 'ruler') - - 2. Drcke G , um Dich zum Ende der Datei zu begeben. - Tippe gg , um Dich zum Anfang der Datei zu begeben. - - 3. Gib die Nummer der Zeile ein, auf der Du vorher warst, gefolgt von G . - Dies bringt Dich zurck zu der Zeile, auf der Du gestanden hast, als Du - das erste Mal CTRL-G gedrckt hast. - - 4. Wenn Du Dich sicher genug fhlst, fhre die Schritte 1 bis 3 aus. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.2: DAS SUCHEN - KOMMANDO - - - ** Tippe / gefolgt von einem Ausdruck, um nach dem Ausdruck zu suchen. ** - - 1. Im Normalmodus, tippe das / Zeichen. Bemerke, dass das / und der - Cursor am Fu des Schirms erscheinen, so wie beim : Kommando. - - 2. Nun tippe 'Fehhler' <ENTER>. Dies ist das Wort, nach dem Du suchen willst. - - 3. Um nach demselben Ausdruck weiterzusuchen, tippe einfach n (fr next). - Um nach demselben Ausdruck in der Gegenrichtung zu suchen, tippe N . - - 4. Um nach einem Ausdruck rckwrts zu suchen , benutze ? statt / . - - 5. Um dahin zurckzukehren, von wo Du gekommen bist, drcke CTRL-O (Halte - Ctrl unten und drcke den Buchstaben o). Wiederhole dies, um weiter - zurckzugehen. CTRL-I bringt dich vorwrts. - ----> Fehler schreibt sich nicht "Fehhler"; Fehhler ist ein Fehler -Bemerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang - fortgesetzt, es sei denn, die 'wrapscan' Option wurde abgeschaltet. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.3: PASSENDE KLAMMERN FINDEN - - - ** Tippe % , um eine korrespondierende Klammer ),], oder } zu finden. ** - - 1. Platziere den Cursor auf irgendeines der Zeichen (, [, oder { in der unten - stehenden Zeile, die mit ---> markiert ist. - - 2. Nun tippe das % Zeichen. - - 3. Der Cursor bewegt sich zur passenden gegenberliegenden Klammer. - - 4. Tippe % , um den Cursor zur anderen passenden Klammer zu bewegen. - - 5. Setze den Cursor auf ein anderes (,),[,],{ oder } und probiere % aus. - ----> Dies ( ist eine Testzeile ( mit [ verschiedenen ] { Klammern } darin. )) - -Bemerkung: Diese Funktionalitt ist sehr ntzlich bei der Fehlersuche in einem - Programmtext, in dem passende Klammern fehlen! - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.4: DAS ERSETZUNGSKOMMANDO (SUBSTITUTE) - - - ** Tippe :s/alt/neu/g , um 'alt' durch 'neu' zu ersetzen. ** - - 1. Bewege den Cursor zu der unten stehenden mit ---> markierten Zeile. - - 2. Tippe :s/diee/die <ENTER> . Bemerke, dass der Befehl nur das erste - Vorkommen von "diee" ersetzt. - - 3. Nun tippe :s/diee/die/g . Das Zufgen des Flags g bedeutet, eine - globale Ersetzung ber die Zeile durchzufhren, was alle Vorkommen von - "diee" auf der Zeile ersetzt. - ----> diee schnste Zeit, um diee Blumen anzuschauen, ist diee Frhlingszeit. - - 4. Um alle Vorkommen einer Zeichenkette innerhalb zweier Zeilen zu ndern, - tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Zeilenbereiches - sind, in dem die Ersetzung durchgefhrt werden soll. - Tippe :%s/alt/neu/g um alle Vorkommen in der gesamten Datei zu ndern. - Tippe :%s/alt/neu/gc um alle Vorkommen in der gesamten Datei zu finden - mit einem Fragedialog, ob ersetzt werden soll oder nicht. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 4 - - 1. CTRL-G zeigt die aktuelle Dateiposition sowie den Dateistatus. - G bringt Dich zum Ende der Datei. - Nummer G bringt Dich zur entsprechenden Zeilennummer. - gg bringt Dich zur ersten Zeile. - - 2. Die Eingabe von / plus einem Ausdruck sucht VORWRTS nach dem Ausdruck. - Die Eingabe von ? plus einem Ausdruck sucht RCKWRTS nach dem Ausdruck. - Tippe nach einer Suche n , um das nchste Vorkommen in der gleichen - Richtung zu finden; oder N , um in der Gegenrichtung zu suchen. - CTRL-O bringt Dich zurck zu lteren Positionen, CTRL-I zu neueren. - - 3. Die Eingabe von % , wenn der Cursor sich auf (,),[,],{, oder } - befindet, bringt Dich zur Gegenklammer. - - 4. Um das erste Vorkommen von "alt" in einer Zeile durch "neu" zu ersetzen, - tippe :s/alt/neu - Um alle Vorkommen von "alt" in der Zeile ersetzen, tippe :s/alt/neu/g - Um Ausdrcke innerhalb zweier Zeilennummern zu ersetzen, :#,#s/alt/neu/g - Um alle Vorkommen in der ganzen Datei zu ersetzen, tippe :%s/alt/neu/g - Fr eine jedmalige Besttigung, addiere 'c' (confirm) :%s/alt/neu/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.1: AUSFHREN EINES EXTERNEN KOMMANDOS - - - ** Gib :! , gefolgt von einem externen Kommando ein, um es auszufhren. ** - - 1. Tippe das vertraute Kommando : , um den Cursor auf den Fu des Schirms - zu setzen. Dies erlaubt Dir, ein Kommandozeilen-Kommando einzugeben. - - 2. Nun tippe ein ! (Ausrufezeichen). Dies ermglicht Dir, ein beliebiges, - externes Shellkommando auszufhren. - - 3. Als Beispiel tippe ls nach dem ! und drcke <ENTER>. Dies zeigt - eine Auflistung Deines Verzeichnisses; genauso, als wenn Du auf der - Eingabeaufforderung wrst. Oder verwende :!dir , falls ls nicht geht. - -Bemerkung: Mit dieser Methode kann jedes beliebige externe Kommando - ausgefhrt werden, auch mit Argumenten. - -Bemerkung: Alle : Kommandos mssen durch Eingabe von <ENTER> - abgeschlossen werden. Von jetzt an erwhnen wir dies nicht jedesmal. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.2: MEHR BER DAS SCHREIBEN VON DATEIEN - - -** Um am Text durchgefhrte nderungen zu speichern, tippe :w DATEINAME. ** - - 1. Tippe :!dir oder :!ls , um eine Auflistung Deines Verzeichnisses zu - erhalten. Du weit nun bereits, dass Du danach <ENTER> eingeben musst. - - 2. Whle einen Dateinamen, der noch nicht existiert, z.B. TEST. - - 3. Nun tippe: :w TEST (wobei TEST der gewhlte Dateiname ist). - - 4. Dies speichert die ganze Datei (den Vim Tutor) unter dem Namen TEST. - Um dies zu berprfen, tippe nochmals :!ls bzw. !dir, um Deinen - Verzeichnisinhalt zu sehen. - -Bemerkung: Wrdest Du Vim jetzt beenden und danach wieder mit vim TEST - starten, dann wre diese Datei eine exakte Kopie des Tutors zu dem - Zeitpunkt, als Du ihn gespeichert hast. - - 5. Nun entferne die Datei durch Eingabe von (MS-DOS): :!del TEST - oder (Unix): :!rm TEST -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.3: AUSWHLEN VON TEXT ZUM SCHREIBEN - -** Um einen Abschnitt der Datei zu speichern, tippe v Bewegung :w DATEI ** - - 1. Bewege den Cursor zu dieser Zeile. - - 2. Tippe v und bewege den Cursor zum fnften Auflistungspunkt unten. - Bemerke, da der Text hervorgehoben wird. - - 3. Drcke das Zeichen : . Am Fu des Schirms erscheint :'<,'> . - - 4. Tippe w TEST , wobei TEST ein noch nicht vorhandener Dateiname ist. - Vergewissere Dich, da Du :'<,'>w TEST siehst, bevor Du Enter drckst. - - 5. Vim schreibt die ausgewhlten Zeilen in die Datei TEST. Benutze :!dir - oder :!ls , um sie zu sehen. Lsche sie noch nicht! Wir werden sie in - der nchsten Lektion benutzen. - -Bemerkung: Drcken von v startet die Visuelle Auswahl. Du kannst den Cursor - umherbewegen, um die Auswahl grer oder kleiner zu machen. Anschlieend - kann man einen Operator anwenden, um mit dem Text etwas zu tun. Zum - Beispiel lscht d den Text. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.4: EINLESEN UND ZUSAMMENFHREN VON DATEIEN - - - ** Um den Inhalt einer Datei einzulesen, tippe :r DATEINAME ** - - 1. Platziere den Cursor berhalb dieser Zeile. - -BEACHTE: Nachdem Du Schritt 2 ausgefhrt hast, wirst Du Text aus Lektion 5.3 - sehen. Dann bewege Dich wieder ABWRTS, um diese Lektion wiederzusehen. - - 2. Nun lies Deine Datei TEST ein indem Du das Kommando :r TEST ausfhrst, - wobei TEST der von Dir verwendete Dateiname ist. - Die eingelesene Datei wird unterhalb der Cursorzeile eingefgt. - - 3. Um zu berprfen, dass die Datei eingelesen wurde, gehe zurck und siehe, - dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und die - eingefgte Dateiversion. - -Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum - Beispiel liest :r !ls die Ausgabe des Kommandos ls ein und platziert - sie unterhalb des Cursors. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 5 - - - 1. :!Kommando fhrt ein externes Kommando aus. - - Einige ntzliche Beispiele sind - (MS-DOS) (Unix) - :!dir :!ls - zeigt eine Verzeichnisauflistung. - :!del DATEINAME :!rm DATEINAME - entfernt Datei DATEINAME. - - 2. :w DATEINAME speichert die aktuelle Vim-Datei unter dem Namen DATEINAME. - - 3. v Bewegung :w DATEINAME schreibt die Visuell ausgewhlten Zeilen in - die Datei DATEINAME. - - 4. :r DATEINAME ldt die Datei DATEINAME und fgt sie unterhalb der - Cursorposition ein. - - 5. :r !dir liest die Ausgabe des Kommandos dir und fgt sie unterhalb der - Cursorposition ein. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.1: ZEILEN FFNEN (OPEN) - - - ** Tippe o , um eine Zeile unterhalb des Cursors zu ffnen und Dich in ** - ** den Einfgemodus zu begeben. ** - - 1. Bewege den Cursor zu der ersten mit ---> markierten Zeile unten. - - 2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursos zu ffnen - und Dich in den Einfgemodus zu begeben. - - 3. Nun tippe etwas Text und drcke <ESC> , um den Einfgemodus zu verlassen. - ----> Mit o wird der Cursor auf der offenen Zeile im Einfgemodus platziert. - - 4. Um eine Zeile BERHALB des Cursos aufzumachen, gib einfach ein groes O - statt einem kleinen o ein. Versuche dies auf der unten stehenden Zeile. - ----> ffne eine Zeile ber dieser mit O , wenn der Cursor auf dieser Zeile ist. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.2: TEXT ANFGEN (APPEND) - - - ** Tippe a , um Text NACH dem Cursor einzufgen. ** - - 1. Bewege den Cursor zum Anfang der ersten bungszeile mit ---> unten. - - 2. Drcke e , bis der Cursor am Ende von Zei steht. - - 3. Tippe ein kleines a , um Text NACH dem Cursor anzufgen. - - 4. Vervollstndige das Wort so wie in der Zeile darunter. Drcke <ESC> , - um den Einfgemodus zu verlassen. - - 5. Bewege Dich mit e zum nchsten unvollstndigen Wort und wiederhole - Schritte 3 und 4. - ----> Diese Zei bietet Gelegen , Text in einer Zeile anzuf. ----> Diese Zeile bietet Gelegenheit, Text in einer Zeile anzufgen. - -Bemerkung: a, i und A gehen alle gleichermaen in den Einfgemodus; der - einzige Unterschied ist, wo die Zeichen eingefgt werden. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.3: EINE ANDERE ART DES ERSETZENS (REPLACE) - - - ** Tippe ein groes R , um mehr als ein Zeichen zu ersetzen. ** - - 1. Bewege den Cursor zur ersten unten stehenden, mit ---> markierten Zeile. - Bewege den Cursor zum Anfang des ersten xxx . - - 2. Nun drcke R und tippe die Nummer, die darunter in der zweiten Zeile - steht, so das diese das xxx ersetzt. - - 3. Drcke <ESC> , um den Ersetzungsmodus zu verlassen. Bemerke, da der Rest - der Zeile unverndert bleibt. - - 4. Wiederhole die Schritte, um das verbliebene xxx zu ersetzen. - ----> Das Addieren von 123 zu xxx ergibt xxx. ----> Das Addieren von 123 zu 456 ergibt 579. - -Bemerkung: Der Ersetzungsmodus ist wie der Einfgemodus, aber jedes eingetippte - Zeichen lscht ein vorhandenes Zeichen. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.4: TEXT KOPIEREN UND EINFGEN - - ** Benutze den y Operator, um Text zu kopieren; p , um ihn einzufgen ** - - 1. Gehe zu der mit ---> markierten Zeile unten, setze den Cursor hinter "a)". - - 2. Starte den Visuellen Modus mit v , bewege den Cursor genau vor "erste". - - 3. Tippe y , um den hervorgehoben Text zu kopieren. - - 4. Bewege den Cursor zum Ende der nchsten Zeile: j$ - - 5. Tippe p , um den Text einzufgen und anschlieend: a zweite <ESC> . - - 6. Benutze den Visuellen Modus, um " Eintrag." auszuwhlen, kopiere mittels - y , bewege Dich zum Ende der nchsten Zeile mit j$ und fge den Text - dort mit p an. - ----> a) dies ist der erste Eintrag. - b) - -Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.5: OPTIONEN SETZEN - - ** Setze eine Option so, dass eine Suche oder eine Ersetzung Gro- ** - ** und Kleinschreibung ignoriert ** - - 1. Suche nach 'ignoriere', indem Du /ignoriere eingibst. - Wiederhole die Suche einige Male, indem Du die n - Taste drckst. - - 2. Setze die 'ic' (Ignore case) - Option, indem Du :set ic eingibst. - - 3. Nun suche wieder nach 'ignoriere', indem Du n tippst. - Bemerke, da jetzt Ignoriere und auch IGNORIERE gefunden wird. - - 4. Setze die 'hlsearch' und 'incsearch' - Optionen: :set hls is - - 5. Wiederhole die Suche und beobachte, was passiert: /ignoriere <ENTER> - - 6. Um das Ignorieren von Gro/Kleinschreibung abzuschalten, tippe: :set noic - -Bemerkung: Um die Hervorhebung der Treffer zu enfernen, gib ein: :nohlsearch -Bemerkung: Um die Schreibweise fr eine einzige Suche zu ignorieren, benutze - \c im Suchausdruck: /ignoriere\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 6 - - 1. Tippe o , um eine Zeile UNTER dem Cursor zu ffnen und den Einfgemodus - zu starten. - Tippe O , um eine Zeile BER dem Cursor zu ffnen. - - 2. Tippe a , um Text NACH dem Cursor anzufgen. - Tippe A , um Text nach dem Zeilenende anzufgen. - - 3. Das Kommando e bringt Dich zum Ende eines Wortes. - - 4. Der Operator y (yank) kopiert Text, p (put) fgt ihn ein. - - 5. Ein groes R geht in den Ersetzungsmodus bis zum Drcken von <ESC> . - - 6. Die Eingabe von ":set xxx" setzt die Option "xxx". Einige Optionen sind: - 'ic' 'ignorecase' Ignoriere Gro/Kleinschreibung bei einer Suche - 'is' 'incsearch' Zeige Teilbereinstimmungen fr einen Suchausdruck - 'hls' 'hlsearch' Hebe alle passenden Ausdrcke hervor - Der Optionsname kann in der Kurz- oder der Langform angegeben werden. - - 7. Stelle einer Option "no" voran, um sie abzuschalten: :set noic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 7.1 : AUFRUFEN VON HILFE - - - ** Nutze das eingebaute Hilfesystem ** - - Vim besitzt ein umfassendes eingebautes Hilfesystem. Fr den Anfang probiere - eins der drei folgenden Dinge aus: - - Drcke die <Hilfe> - Taste (falls Du eine besitzt) - - Drcke die <F1> Taste (falls Du eine besitzt) - - Tippe :help <ENTER> - - Lies den Text im Hilfefenster, um zu verstehen wie die Hilfe funktioniert. - Tippe CTRL-W CTRL-W , um von einem Fenster zum anderen zu springen. - Tippe :q <ENTER> , um das Hilfefenster zu schlieen. - - Du kannst Hilfe zu praktisch jedem Thema finden, indem Du dem ":help"- - Kommando ein Argument gibst. Probiere folgendes (<ENTER> nicht vergessen): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 7.2: ERSTELLE EIN START-SKRIPT - - - ** Aktiviere die eingebauten Funktionalitten von Vim ** - - Vim besitzt viele Funktionalitten, die ber Vi hinausgehen, aber die meisten - von ihnen sind standardmig deaktiviert. Um mehr Funktionalitten zu nutzen, - musst Du eine "vimrc" - Datei erstellen. - - 1. Starte das Editieren der "vimrc"-Datei, abhngig von Deinem System: - :e ~/.vimrc fr Unix - :e $VIM/_vimrc fr MS-Windows - - 2. Nun lies den Inhalt der Beispiel-"vimrc"-Datei ein: - :r $VIMRUNTIME/vimrc_example.vim - - 3. Speichere die Datei mit: - :w - - Beim nchsten Start von Vim wird die Syntaxhervorhebung aktiviert sein. - Du kannst all Deine bevorzugten Optionen zu dieser "vimrc"-Datei zufgen. - Fr mehr Informationen tippe :help vimrc-intro -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 7.3: VERVOLLSTNDIGEN - - - ** Kommandozeilenvervollstndigung mit CTRL-D and <TAB> ** - - 1. Stelle sicher, da Vim nicht im vi-Kompatibilittsmodus ist: :set nocp - - 2. Siehe nach, welche Dateien im Verzeichnis existieren: :!ls oder :dir - - 3. Tippe den Beginn eines Komandos: :e - - 4. Drcke CTRL-D und Vim zeigt eine Liste mit "e" beginnender Kommandos. - - 5. Drcke <TAB> und Vim vervollstndigt den Kommandonamen zu ":edit". - - 6. Nun fge ein Leerzeichen und den Beginn einer existierenden Datei an: - :edit DAT - - 7. Drcke <TAB>. Vim vervollstndigt den Namen (falls er eindeutig ist). - -Bemerkung: Vervollstndigung funktioniert fr viele Kommandos. Versuche - einfach CTRL-D und <TAB>. Dies ist insbesondere ntzlich fr :help . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 7 - - - 1. Tippe :help oder drcke <F1> oder <Help>, um ein Hilfefenster zu ffnen. - - 2. Tippe :help Kommando , um Hilfe ber Kommando zu erhalten. - - 3. Tippe CTRL-W CTRL-W , um zum anderen Fenster zu springen. - - 4. Tippe :q , um das Hilfefenster zu schlieen. - - 5. Erstelle ein vimrc - Startskript zur Sicherung bevorzugter Einstellungen. - - 6. Drcke CTRL-D nach dem Tippen eines Kommandos : , um mgliche - Vervollstndigungen zu sehen. - Drcke <TAB> fr eine einzige Vervollstndigung. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Damit ist der Vim Tutor beendet. Die Intention war, einen kurzen und - bndigen berblick ber den Vim Editor zu liefern; gerade genug, um relativ - leicht mit ihm umgehen zu knnen. Der Vim Tutor hat nicht den geringsten - Anspruch auf Vollstndigkeit; Vim hat noch weitaus mehr Kommandos. Lies als - nchstes das User Manual: ":help user-manual". - - Fr weiteres Lesen und Lernen ist folgendes Buch empfohlen : - Vim - Vi Improved - von Steve Oualline - Verlag: New Riders - Das erste Buch, welches durchgngig Vim gewidmet ist. Besonders ntzlich - fr Anfnger. Viele Beispiele und Bilder sind enthalten. - Siehe http://iccf-holland.org/click5.html - - Folgendes Buch ist lter und mehr ber Vi als Vim, aber auch empfehlenswert: - Textbearbeitung mit dem vi-Editor - von Linda Lamb und Arnold Robbins - Verlag O'Reilly - ISBN: 3897211262 - In diesem Buch kann man fast alles finden, was man mit Vi tun mchte. - Die sechste Ausgabe enthlt auch Informationen ber Vim. - - Als aktuelle Referenz fr Version 6.2 und knappe Einfhrung dient das - folgende Buch: - vim ge-packt von Reinhard Wobst - mitp-Verlag, ISBN 3-8266-1425-9 - Trotz der kompakten Darstellung ist es durch viele ntzliche Beispiele auch - fr Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind - online erhltlich. Siehe http://iccf-holland.org/click5.html - - Dieses Tutorial wurde geschrieben von Michael C. Pierce and Robert K. Ware, - Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State - University, zur Verfgung stellte. E-mail: bware@mines.colorado.edu. - - Bearbeitet fr Vim von Bram Moolenaar. - Deutsche bersetzung von Joachim Hofmann 2007. E-mail: Joachim.Hof@gmx.de - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.gr b/runtime/tutor/tutor.el index d402bc8ad..d402bc8ad 100644 --- a/runtime/tutor/tutor.gr +++ b/runtime/tutor/tutor.el diff --git a/runtime/tutor/tutor.es b/runtime/tutor/tutor.es deleted file mode 100644 index bbdb13d1f..000000000 --- a/runtime/tutor/tutor.es +++ /dev/null @@ -1,769 +0,0 @@ -=============================================================================== -= B i e n v e n i d o a l t u t o r d e V I M - Versin 1.4 = -=============================================================================== - - Vim es un editor muy potente que dispone de muchos mandatos, demasiados - para ser explicados en un tutor como ste. Este tutor est diseado - para describir suficientes mandatos para que usted sea capaz de - aprender fcilmente a usar Vim como un editor de propsito general. - - El tiempo necesario para completar el tutor es aproximadamente de 25-30 - minutos, dependiendo de cuanto tiempo se dedique a la experimentacin. - - Los mandatos de estas lecciones modificarn el texto. Haga una copia de - este fichero para practicar (con vimtutor esto ya es una copia). - - Es importante recordar que este tutor est pensado para ensear con - la prctica. Esto significa que es necesario ejecutar los mandatos - para aprenderlos adecuadamente. Si nicamente se lee el texto, se - olvidarn los mandatos. - - Ahora, asegrese de que la tecla de bloqueo de maysculas no est - activada y pulse la tecla j lo suficiente para mover el cursor - de forma que la Leccin 1.1 ocupe completamente la pantalla. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 1.1: MOVIMIENTOS DEL CURSOR - - ** Para mover el cursor, pulse las teclas h,j,k,l de la forma que se indica. ** - ^ - k Indicacin: La tecla h est a la izquierda y mueve a la izquierda. - < h l > La tecla l est a la derecha y mueve a la derecha. - j La tecla j parece una flecha que apunta hacia abajo. - v - - 1. Mueva el cursor por la pantalla hasta que se sienta cmodo con ello. - - 2. Mantenga pulsada la tecla j hasta que se repita automgicamente. ----> Ahora ya sabe como llegar a la leccin siguiente. - - 3. Utilizando la tecla abajo, vaya a la Leccin 1.2. - -Nota: Si alguna vez no est seguro sobre algo que ha tecleado, pulse <ESC> - para situarse en modo Normal. Luego vuelva a teclear la orden que deseaba. - -Nota: Las teclas de movimiento del cursor tambin funcionan. Pero usando - hjkl podr moverse mucho ms rpido una vez que se acostumbre a ello. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 1.2: ENTRANDO Y SALIENDO DE VIM - - NOTA: Antes de ejecutar alguno de los pasos siguientes lea primero - la leccin entera!! - - 1. Pulse la tecla <ESC> (para asegurarse de que est en modo Normal). - - 2. Escriba: :q! <INTRO> - ----> Esto provoca la salida del editor SIN guardar ningn cambio que se haya - hecho. Si quiere guardar los cambios y salir escriba: - :wq <INTRO> - - 3. Cuando vea el smbolo del sistema, escriba el mandato que le trajo a este - tutor. ste puede haber sido: vimtutor <INTRO> - Normalmente se usara: vim tutor <INTRO> - ----> 'vim' significa entrar al editor, 'tutor' es el fichero a editar. - - 4. Si ha memorizado estos pasos y se se siente con confianza, ejecute los - pasos 1 a 3 para salir y volver a entrar al editor. Despus mueva el - cursor hasta la Leccin 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 1.3: EDICIN DE TEXTO - BORRADO - -** Estando en modo Normal pulse x para borrar el carcter sobre el cursor. **j - - - 1. Mueva el cursor a la lnea de abajo sealada con --->. - - 2. Para corregir los errores, mueva el cursor hasta que est bajo el - carcter que va aser borrado. - - 3. Pulse la tecla x para borrar el carcter sobrante. - - 4. Repita los pasos 2 a 4 hasta que la frase sea la correcta. - ----> La vvaca salt soobree laa luuuuna. - - 5. Ahora que la lnea esta correcta, contine con la Leccin 1.4. - - -NOTA: A medida que vaya avanzando en este tutor no intente memorizar, - aprenda practicando. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 1.4: EDICIN DE TEXTO - INSERCIN - - ** Estando en modo Normal pulse i para insertar texto. ** - - - 1. Mueva el cursor a la primera lnea de abajo sealada con --->. - - 2. Para que la primera lnea se igual a la segunda mueva el cursor bajo el - primer carcter que sigue al texto que ha de ser insertado. - - 3. Pulse i y escriba los caracteres a aadir. - - 4. A medida que sea corregido cada error pulse <ESC> para volver al modo - Normal. Repita los pasos 2 a 4 para corregir la frase. - ----> Flta texto en esta . ----> Falta algo de texto en esta lnea. - - 5. Cuando se sienta cmodo insertando texto pase al resumen que esta ms - abajo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RESUMEN DE LA LECCIN 1 - - - 1. El cursor se mueve utilizamdo las teclas de las flechas o las teclas hjkl. - h (izquierda) j (abajo) k (arriba) l (derecha) - - 2. Para acceder a Vim (desde el smbolo del sistema %) escriba: - vin FILENAME <INTRO> - - 3. Para salir de Vim escriba: <ESC> :q! <INTRO> para eliminar todos - los cambios. - - 4. Para borrar un carcter sobre el cursor en modo Normal pulse: x - - 5. Para insertar texto en la posicin del cursor estando en modo Normal: - pulse i escriba el texto pulse <ESC> - -NOTA: Pulsando <ESC> se vuelve al modo Normal o cancela un mandato no deseado - o incompleto. - -Ahora contine con la Leccin 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 2.1: MANDATOS PARA BORRAR - - - ** Escriba dw para borrar hasta el final de una palabra ** - - - 1. Pulse <ESC> para asegurarse de que est en el modo Normal. - - 2. Mueva el cursor a la lnea de abajo sealada con --->. - - 3. Mueva el cursor al comienzo de una palabra que desee borrar. - - 4. Pulse dw para hacer que la palabra desaparezca. - - - NOTA: Las letras dw aparecern en la ltima lnea de la pantalla cuando - las escriba. Si escribe algo equivocado pulse <ESC> y comience de nuevo. - - ----> Hay algunas palabras psalo bien que no pertenecen papel a esta frase. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 2.2: MS MANDATOS PARA BORRAR - - - ** Escriba d$ para borrar hasta el final de la lnea. ** - - - 1. Pulse <ESC> para asegurarse de que est en el modo Normal. - - 2. Mueva el cursor a la lnea de abajo sealada con --->. - - 3. Mueva el cursor al final de la lnea correcta (DESPUS del primer . ). - - 4. Escriba d$ para borrar hasta el final de la lnea. - ----> Alguien ha escrito el final de esta lnea dos veces. esta lnea dos veces. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 2.3: SOBRE MANDATOS Y OBJETOS - - - El formato del mandato de borrar d es como sigue: - - [nmero] d objeto O d [nmero] objeto - donde: - nmero - es cuntas veces se ha de ejecutar el mandato (opcional, defecto=1). - d - es el mandato para borrar. - objeto - es sobre lo que el mandato va a operar (lista, abajo). - - Una lista corta de objetos: - w - desde el cursor hasta el final de la palabra, incluyendo el espacio. - e - desde el cursor hasta el final de la palabra, SIN incluir el espacio. - $ - desde el cursor hasta el final de la lnea. - -NOTE: Para los aventureros, pulsando slo el objeto estando en modo Normal - sin un mandato mover el cursor como se especifica en la lista de objetos. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 2.4: UNA EXCEPCIN AL 'MANDATO-OBJETO' - - ** Escriba dd para borrar una lnea entera. ** - - Debido a la frecuencia con que se borran lneas enteras, los diseadores - de Vim decidieron que sera ms fcil el escribir simplemente dos des en - una fila para borrar una lnea. - - 1. Mueva el cursor a la segunda lnea de la lista de abajo. - 2. Escriba dd para borrar la lnea. - 3. Muvase ahora a la cuarta lnea. - 4. Escriba 2dd (recuerde nmero-mandato-objeto) para borrar las dos - lneas. - - 1) Las rosas son rojas, - 2) El barro es divertido, - 3) El cielo es azul, - 4) Yo tengo un coche, - 5) Los relojes marcan la hora, - 6) El azucar es dulce, - 7) Y as eres tu. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 2.5: EL MANDATO DESHACER - - - ** Pulse u para deshacer los ltimos mandatos, - U para deshacer una lnea entera. ** - - 1. Mueva el cursor a la lnea de abajo sealada con ---> y sitelo bajo el - primer error. - 2. Pulse x para borrar el primer carter errneo. - 3. Pulse ahora u para deshacer el ltimo mandato ejecutado. - 4. Ahora corrija todos los errores de la lnea usando el mandato x. - 5. Pulse ahora U mayscula para devolver la lnea a su estado original. - 6. Pulse ahora u unas pocas veces para deshacer lo hecho por U y los - mandatos previos. - 7. Ahora pulse CTRL-R (mantenga pulsada la tecla CTRL y pulse R) unas - pocas veces para volver a ejecutar los mandatos (deshacer lo deshecho). - ----> Corrrija los errores dee esttta lnea y vuuelva a ponerlos coon deshacer. - - 8. Estos mandatos son muy tiles. Ahora pase al resumen de la Leccin 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RESUMEN DE LA LECCIN 2 - - 1. Para borrar desde el cursor hasta el final de una palabra pulse: dw - - 2. Para borrar desde el cursor hasta el final de una lnea pulse: d$ - - 3. Para borrar una lnea enter pulse: dd - - 4. El formato de un mandato en modo Normal es: - - [nmero] mandato objeto O mandato [nmero] objeto - donde: - nmero - es cuntas veces se ha de ejecutar el mandato - mandato - es lo que hay que hacer, por ejemplo, d para borrar - objeto - es sobre lo que el mandato va a operar, por ejemplo - w (palabra), $ (hasta el final de la lnea), etc. - - 5. Para deshacer acciones previas pulse: u (u minscula) - Para deshacer todos los cambios de una lnea pulse: U (U mayscula) - Para deshacer lo deshecho pulse: CTRL-R - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 3.1: EL MANDATO PUT (poner) - - ** Pulse p para poner lo ltimo que ha borrado despus del cursor. ** - - 1. Mueva el cursor al final de la lista de abajo. - - 2. Escriba dd para borrar la lnea y almacenarla en el buffer de Vim. - - 3. Mueva el cursor a la lnea que debe quedar por debajo de la - lnea a mover. - - 4. Estando en mod Normal, pulse p para restituir la lnea borrada. - - 5. Repita los pasos 2 a 4 para poner todas las lneas en el orden correcto. - - d) Puedes aprenderla tu? - b) Las violetas son azules, - c) La inteligencia se aprende, - a) Las rosas son rojas, - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 3.2: EL MANDATO REPLACE (remplazar) - - - ** Pulse r y un carcter para sustituir el carcter sobre el cursor. ** - - - 1. Mueva el cursor a la primera lnea de abajo sealada con --->. - - 2. Mueva el cursor para situarlo bajo el primer error. - - 3. Pulse r y el carcter que debe sustituir al errneo. - - 4. Repita los pasos 2 y 3 hasta que la primera lnea est corregida. - ----> Cuendo esta lnea fue rscrita alguien pulso algunas teclas equibocadas! ----> Cuando esta lnea fue escrita alguien puls algunas teclas equivocadas! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 3.3: EL MANDATO CHANGE (cambiar) - - - ** Para cambiar parte de una palabra o toda ella escriba cw . ** - - - 1. Mueva el cursor a la primera lnea de abajo sealada con --->. - - 2. Site el cursor en la u de lubrs. - - 3. Escriba cw y corrija la palabra (en este caso, escriba 'nea'). - - 4. Pulse <ESC> y mueva el cursor al error siguiente (el primer carcter - que deba cambiarse). - - 5. Repita los pasos 3 y 4 hasta que la primera frase sea igual a la segunda. - ----> Esta lubrs tiene unas pocas pskavtad que corregir usem el mandato change. ----> Esta lnea tiene unas pocas palabras que corregir usando el mandato change. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 3.4: MS CAMBIOS USANDO c - - ** El mandato change se utiliza con los mismos objetos que delete. ** - - 1. El mandato change funciona de la misma forma que delete. El formato es: - - [nmero] c objeto O c [nmero] objeto - - 2. Los objetos son tambim los mismos, tales como w (palabra), $ (fin de - la lnea), etc. - - 3. Mueva el cursor a la primera lnea de abajo sealada con --->. - - 4. Mueva el cursor al primer error. - - 5. Escriba c$ para hacer que el resto de la lnea sea como la segunda - y pulse <ESC>. - ----> El final de esta lnea necesita alguna ayuda para que sea como la segunda. ----> El final de esta lnea necesita ser corregido usando el mandato c$. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RESUMEN DE LA LECCIN 3 - - - 1. Para sustituir texto que ha sido borrado, pulse p . Esto Pone el texto - borrado DESPUS del cursor (si lo que se ha borrado es una lnea se - situar sobre la lnea que est sobre el cursor). - - 2. Para sustituir el carcter bajo el cursor, pulse r y luego el - carcter que sustituir al original. - - 3. El mandato change le permite cambiar el objeto especificado desde la - posicin del cursor hasta el final del objeto; e.g. Pulse cw para - cambiar desde el cursor hasta el final de la palabra, c$ para cambiar - hasta el final de la lnea. - - 4. El formato para change es: - - [nmero] c objeto O c [nmero] objeto - - Pase ahora a la leccin siguiente. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 4.1: SITUACIN EN EL FICHERO Y SU ESTADO - - - ** Pulse CTRL-g para mostrar su situacin en el fichero y su estado. - Pulse MAYU-G para moverse a una determinada lnea del fichero. ** - - Nota: Lea esta leccin entera antes de ejecutar alguno de los pasos!! - - - 1. Mantenga pulsada la tecla Ctrl y pulse g . Aparece una lnea de estado - al final de la pantalla con el nombre del fichero y la lnea en la que - est situado. Recuerde el nmero de la lnea para el Paso 3. - - 2. Pulse Mayu-G para ir al final del fichero. - - 3. Escriba el nmero de la lnea en la que estaba y despes Mayu-G. Esto - le volver a la lnea en la que estaba cuando puls Ctrl-g. - (Cuando escriba los nmeros NO se mostrarn en la pantalla). - - 4. Si se siente confiado en poder hacer esto ejecute los pasos 1 a 3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 4.2: EL MANDATO SEARCH (buscar) - - ** Escriba / seguido de una frase para buscar la frase. ** - - 1. En modo Normal pulse el carcter / . Fjese que tanto el carcter / - como el cursor aparecen en la ltima lnea de la pantalla, lo mismo - que el mandato : . - - 2. Escriba ahora errroor <INTRO>. Esta es la palabra que quiere buscar. - - 3. Para repetir la bsqueda, simplemente pulse n . - Para busacar la misma frase en la direccin opuesta, pulse Mayu-N . - - 4. Si quiere buscar una frase en la direccin opuesta (hacia arriba), - utilice el mandato ? en lugar de / . - ----> Cuando la bsqueda alcanza el final del fichero continuar desde el - principio. - - errroor no es la forma de deletrear error; errroor es un error. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 4.3: BSQUEDA PARA COMPROBAR PARNTESIS - - ** Pulse % para encontrar el parntesis correspondiente a ),] o } . ** - - - 1. Site el cursor en cualquiera de los caracteres ), ] o } en la lnea de - abajo sealada con --->. - - 2. Pulse ahora el carcter % . - - 3. El cursor debera situarse en el parntesis (, corchete [ o llave { - correspondiente. - - 4. Pulse % para mover de nuevo el cursor al parntesis, corchete o llave - correspondiente. - ----> Esto ( es una lnea de prueba con (, [, ], {, y } en ella. )). - -Nota: Esto es muy til en la deteccin de errores en un programa con - parntesis, corchetes o llaves disparejos. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 4.4: UNA FORMA DE CAMBIAR ERRORES - - - ** Escriba :s/viejo/nuevo/g para sustituir 'viejo' por 'nuevo'. ** - - - 1. Mueva el cursor a la lnea de abajo sealada con --->. - - 2. Escriba :s/laas/las/ <INTRO> . Tenga en cuenta que este mandato cambia - slo la primera aparicin en la lnea de la expresin a cambiar. - ----> Laas mejores pocas para ver laas flores son laas primaveras. - - 4. Para cambiar todas las apariciones de una expresin ente dos lneas - escriba :#,#s/viejo/nuevo/g donde #,# son los nmeros de las dos - lneas. Escriba :%s/viejo/nuevo/g para hacer los cambios en todo - el fichero. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RESUMEN DE LA LECCIN 4 - - - 1. Ctrl-g muestra la posicin del cursor en el fichero y su estado. - Mayu-G mueve el cursor al final del fichero. Un nmero de lnea - sewguido de Mayu-G mueve el cursor a la lnea con ese nmero. - - 2. Pulsando / seguido de una frase busca la frase hacia ADELANTE. - Pulsando ? seguido de una frase busca la frase hacia ATRS. - Despus de una bsqueda pulse n para encontrar la aparicin - siguiente en la misma direccin. - - 3. Pulsando % cuando el cursor esta sobre (,), [,], { o } localiza - la pareja correspondiente. - - 4. Para cambiar viejo por nuevo en una lnea pulse :s/viejo/nuevo - Para cambiar todos los viejo por nuevo en una lnea pulse :s/viejo/nuevo/g - Para cambiar frases entre dos nmeros de lneas pulse :#,#s/viejo/nuevo/g - Para cambiar viejo por nuevo en todo el fichero pulse :%s/viejo/nuevo/g - Para pedir confirmacin en cada caso aada 'c' :%s/viejo/nuevo/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 5.1: CMO EJECUTAR UN MANDATO EXTERNO - - - ** Escriba :! seguido de un mandato externo para ejecutar ese mandato. ** - - - 1. Escriba el conocido mandato : para situar el cursor al final de la - pantalla. Esto le permitir introducir un mandato. - - 2. Ahora escriba el carcter ! (signo de admiracin). Esto le permitir - ejecutar cualquier mandato del sistema. - - 3. Como ejemplo escriba ls despus del ! y luego pulse <INTRO>. Esto - le mostrar una lista de su directorio, igual que si estuviera en el - smbolo del sistema. Si ls no funciona utilice !:dir . - ---->Nota: De esta manera es posible ejecutar cualquier mandato externo. - ---->Nota: Todos los mandatos : deben finalizarse pulsando <INTRO>. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 5.2: MS SOBRE GUARDAR FICHEROS - - - ** Para guardar los cambios hechos en un fichero, - escriba :w NOMBRE_DE_FICHERO. ** - - - 1. Escriba :!dir o :!ls para ver una lista de su directorio. - Ya sabe que debe pulsar <INTRO> despus de ello. - - 2. Elija un nombre de fichero que todava no exista, como TEST. - - 3. Ahora escriba :w TEST (donde TEST es el nombre de fichero elegido). - - 4. Esta accin guarda todo el fichero (Vim Tutor) bajo el nombre TEST. - Para comprobarlo escriba :!dir de nuevo y vea su directorio. - ----> Tenga en cuenta que si sale de Vim y entra de nuevo con el nombre de - fichero TEST, el fichero sera una copia exacta del tutor cuando lo - ha guardado. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 5.3: UN MANDATO DE ESCRITURA SELECTIVO - - ** Para guardar parte del fuchero escriba :#,# NOMBRE_DEL_FICHERO ** - - - 1. Escriba de nuevo, una vez ms, :!dir o :!ls para obtener una lista - de su directorio y elija nombre de fichero adecuado, como TEST. - - 2. Mueva el cursor al principio de la pantalla y pulse Ctrl-g para saber - el nmero de la lnea correspondiente. RECUERDE ESTE NMERO! - - 3. Ahora mueva el cursor a la ltima lnea de la pantalla y pulse Ctrl-g - de nuevo. RECUERDE TAMBIN ESTE NMERO! - - 4. Para guardar SOLAMENTE una parte de un fichero, escriba :#,# w TEST - donde #,# son los nmeros que usted ha recordado (primera lnea, - ltima lnea) y TEST es su nombre de dichero. - - 5. De nuevo, vea que el fichero esta ah con :!dir pero NO lo borre. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 5.4: RECUPERANDO Y MEZCLANDO FICHEROS - - ** Para insertar el contenido de un fichero escriba :r NOMBRE_DEL_FICHERO ** - - 1. Escriba :!dir para asegurarse de que su fichero TEST del ejercicio - anterior est presente. - - 2. Situe el cursor al principio de esta pantalla. - -NOTA: Despus de ejecutar el paso 3 se ver la Leccin 5.3. Luego muvase - hacia ABAJO para ver esta leccin de nuevo. - - 3. Ahora recupere el fichero TEST utilizando el mandato :r TEST donde - TEST es el nombre del fichero. - -NOTA: El fichero recuperado se sita a partir de la posicin del cursor. - - 4. Para verificar que el fichero ha sido recuperado, mueva el cursor hacia - arriba y vea que hay dos copias de la Leccin 5.3, la original y la - versin del fichero. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RESUMEN DE LA LECCIN 5 - - - 1. :!mandato ejecuta un mandato externo. - - Algunos ejemplos tiles son: - :!dir - muestra el contenido de un directorio. - :!del NOMBRE_DE_FICHERO - borra el fichero NOMBRE_DE FICHERO. - - 2. :#,#w NOMBRE_DE _FICHERO guarda desde las lneas # hasta la # en el - fichero NOMBRE_DE_FICHERO. - - 3. :r NOMBRE_DE _FICHERO recupera el fichero del disco NOMBRE_DE FICHERO - y lo inserta en el fichero en curso a partir de la posicin del cursor. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 6.1: EL MANDATO OPEN (abrir) - - - ** Pulse o para abrir una lnea debajo del cursor - y situarle en modo Insert ** - - - 1. Mueva el cursor a la lnea de abajo sealada con --->. - - 2. Pulse o (minscula) para abrir una lnea por DEBAJO del cursor - y situarle en modo Insert. - - 3. Ahora copie la lnea sealada con ---> y pulse <ESC> para salir del - modo Insert. - ----> Luego de pulsar o el cursor se sita en la lnea abierta en modo Insert. - - 4. Para abrir una lnea por encima del cursor, simplemente pulse una O - mayscula, en lugar de una o minscula. Pruebe este en la lnea siguiente. -Abra una lnea sobre sta pulsando Mayu-O cuando el curso est en esta lnea. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 6.2: EL MANDATO APPEND (aadir) - - ** Pulse a para insertar texto DESPUS del cursor. ** - - - 1. Mueva el cursor al final de la primera lnea de abajo sealada con ---> - pulsando $ en modo Normal. - - 2. Escriba una a (minscula) para aadir texto DESPUS del carcter - que est sobre el cursor. (A mayscula aade texto al final de la lnea). - -Nota: Esto evita el pulsar i , el ltimo carcter, el texto a insertar, - <ESC>, cursor a la derecha y, finalmente, x , slo para aadir algo - al final de una lnea! - - 3. Complete ahora la primera lnea. Ntese que append es exactamente lo - mismo que modo Insert, excepto por el lugar donde se inserta el texto. - ----> Esta lnea le permitir praticar ----> Esta lnea le permitir praticar el aadido de texto al final de una lnea. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 6.3: OTRA VERSIN DE REPLACE (remplazar) - - ** Pulse una R mayscula para sustituir ms de un carcter. ** - - - 1. Mueva el cursor a la primera lnea de abajo sealada con --->. - - 2. Site el cursor al comienzo de la primera palabra que sea diferente - de las de la segunda lnea marcada con ---> (la palabra 'anterior'). - - 3. Ahora pulse R y sustituya el resto del texto de la primera lnea - escribiendo sobre el viejo texto para que la primera lnea sea igual - que la primera. - ----> Para hacer que esta lnea sea igual que la anterior use las teclas. ----> Para hacer que esta lnea sea igual que la siguiente escriba R y el texto. - - 4. Ntese que cuando pulse <ESC> para salir, el texto no alterado permanece. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 6.4: FIJAR OPCIONES - - ** Fijar una opcin de forma que una bsqueda o sustitucin ignore la caja ** - (Para el concepto de caja de una letra, vase la nota al final del fichero) - - - 1. Busque 'ignorar' introduciendo: - /ignorar - Repita varias veces la bsque pulsando la tecla n - - 2. Fije la opcin 'ic' (Ignorar la caja de la letra) escribiendo: - :set ic - - 3. Ahora busque 'ignorar' de nuevo pulsando n - Repita la bsqueda varias veces ms pulsando la tecla n - - 4. Fije las opciones 'hlsearch' y 'insearch': - :set hls is - - 5. Ahora introduzca la orden de bsqueda otra vez, y vea qu pasa: - /ignore - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RESUMEN DE LA LECCIN 6 - - - 1. Pulsando o abre una lnea por DEBAJO del cursor y sita el cursor en - la lnea abierta en modo Insert. - Pulsando una O mayscula se abre una lnea SOBRE la que est el cursor. - - 2. Pulse una a para insertar texto DESPUS del carcter sobre el cursor. - Pulsando una A mayscula aade automticamente texto al final de la - lnea. - - 3. Pulsando una R mayscula se entra en modo Replace hasta que, para salir, - se pulse <ESC>. - - 4. Escribiendo :set xxx fija la opcin xxx - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leccin 7: MANDATOS PARA LA AYUDA EN LNEA - - ** Utilice el sistema de ayuda en lnea ** - - - Vim dispone de un sistema de ayuda en lnea. Para activarlo, pruebe una - de estas tres formas: - - pulse la tecla <AYUDA> (si dispone de ella) - - pulse la tecla <F1> (si dispone de ella) - - escriba :help <INTRO> - - Escriba :q <INTRO> para cerrar la ventana de ayuda. - - Puede encontrar ayuda en casi cualquier tema aadiendo un argumento al - mandato :help mandato. Pruebe stos: - - :help w <INTRO> - :help c_<T <INTRO> - :help insert-index <INTRO> - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Aqu concluye el tutor de Vim. Est pensado para dar una visin breve del - editor Vim, lo suficiente para permitirle usar el editor de forma bastante - sencilla. Est muy lejos de estar completo pues Vim tiene muchsimos ms - mandatos. - - Para lecturas y estudios posteriores se recomienda el libro: - Learning the Vi Editor - por Linda Lamb - Editorial: O'Reilly & Associates Inc. - Es un buen libro para llegar a saber casi todo lo que desee hacer con Vi. - La sexta edicin incluye tambin informacin sobre Vim. - - Este tutorial ha sido escrito por Michael C. Pierce y Robert K. Ware, - Colorado School of Mines utilizando ideas suministradas por Charles Smith, - Colorado State University. - E-mail: bware@mines.colorado.edu. - - Modificado para Vim por Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Traducido del ingls por: - - Eduardo F. Amatria - Correo electrnico: eferna1@platea.pntic.mec.es - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.es.utf-8 b/runtime/tutor/tutor.es.utf-8 new file mode 100644 index 000000000..749561936 --- /dev/null +++ b/runtime/tutor/tutor.es.utf-8 @@ -0,0 +1,769 @@ +=============================================================================== += B i e n v e n i d o a l t u t o r d e V I M - Versión 1.4 = +=============================================================================== + + Vim es un editor muy potente que dispone de muchos mandatos, demasiados + para ser explicados en un tutor como éste. Este tutor está diseñado + para describir suficientes mandatos para que usted sea capaz de + aprender fácilmente a usar Vim como un editor de propósito general. + + El tiempo necesario para completar el tutor es aproximadamente de 25-30 + minutos, dependiendo de cuanto tiempo se dedique a la experimentación. + + Los mandatos de estas lecciones modificarán el texto. Haga una copia de + este fichero para practicar (con «vimtutor» esto ya es una copia). + + Es importante recordar que este tutor está pensado para enseñar con + la práctica. Esto significa que es necesario ejecutar los mandatos + para aprenderlos adecuadamente. Si únicamente se lee el texto, se + olvidarán los mandatos. + + Ahora, asegúrese de que la tecla de bloqueo de mayúsculas no está + activada y pulse la tecla j lo suficiente para mover el cursor + de forma que la Lección 1.1 ocupe completamente la pantalla. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 1.1: MOVIMIENTOS DEL CURSOR + + ** Para mover el cursor, pulse las teclas h,j,k,l de la forma que se indica. ** + ^ + k Indicación: La tecla h está a la izquierda y mueve a la izquierda. + < h l > La tecla l está a la derecha y mueve a la derecha. + j La tecla j parece una flecha que apunta hacia abajo. + v + + 1. Mueva el cursor por la pantalla hasta que se sienta cómodo con ello. + + 2. Mantenga pulsada la tecla j hasta que se repita «automágicamente». +---> Ahora ya sabe como llegar a la lección siguiente. + + 3. Utilizando la tecla abajo, vaya a la Lección 1.2. + +Nota: Si alguna vez no está seguro sobre algo que ha tecleado, pulse <ESC> + para situarse en modo Normal. Luego vuelva a teclear la orden que deseaba. + +Nota: Las teclas de movimiento del cursor también funcionan. Pero usando + hjkl podrá moverse mucho más rápido una vez que se acostumbre a ello. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 1.2: ENTRANDO Y SALIENDO DE VIM + + ¡¡ NOTA: Antes de ejecutar alguno de los pasos siguientes lea primero + la lección entera!! + + 1. Pulse la tecla <ESC> (para asegurarse de que está en modo Normal). + + 2. Escriba: :q! <INTRO> + +---> Esto provoca la salida del editor SIN guardar ningún cambio que se haya + hecho. Si quiere guardar los cambios y salir escriba: + :wq <INTRO> + + 3. Cuando vea el símbolo del sistema, escriba el mandato que le trajo a este + tutor. Éste puede haber sido: vimtutor <INTRO> + Normalmente se usaría: vim tutor <INTRO> + +---> 'vim' significa entrar al editor, 'tutor' es el fichero a editar. + + 4. Si ha memorizado estos pasos y se se siente con confianza, ejecute los + pasos 1 a 3 para salir y volver a entrar al editor. Después mueva el + cursor hasta la Lección 1.3. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 1.3: EDICIÓN DE TEXTO - BORRADO + +** Estando en modo Normal pulse x para borrar el carácter sobre el cursor. **j + + + 1. Mueva el cursor a la línea de abajo señalada con --->. + + 2. Para corregir los errores, mueva el cursor hasta que esté bajo el + carácter que va aser borrado. + + 3. Pulse la tecla x para borrar el carácter sobrante. + + 4. Repita los pasos 2 a 4 hasta que la frase sea la correcta. + +---> La vvaca saltóó soobree laa luuuuna. + + 5. Ahora que la línea esta correcta, continúe con la Lección 1.4. + + +NOTA: A medida que vaya avanzando en este tutor no intente memorizar, + aprenda practicando. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 1.4: EDICIÓN DE TEXTO - INSERCIÓN + + ** Estando en modo Normal pulse i para insertar texto. ** + + + 1. Mueva el cursor a la primera línea de abajo señalada con --->. + + 2. Para que la primera línea se igual a la segunda mueva el cursor bajo el + primer carácter que sigue al texto que ha de ser insertado. + + 3. Pulse i y escriba los caracteres a añadir. + + 4. A medida que sea corregido cada error pulse <ESC> para volver al modo + Normal. Repita los pasos 2 a 4 para corregir la frase. + +---> Flta texto en esta . +---> Falta algo de texto en esta línea. + + 5. Cuando se sienta cómodo insertando texto pase al resumen que esta más + abajo. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RESUMEN DE LA LECCIÓN 1 + + + 1. El cursor se mueve utilizamdo las teclas de las flechas o las teclas hjkl. + h (izquierda) j (abajo) k (arriba) l (derecha) + + 2. Para acceder a Vim (desde el símbolo del sistema %) escriba: + vin FILENAME <INTRO> + + 3. Para salir de Vim escriba: <ESC> :q! <INTRO> para eliminar todos + los cambios. + + 4. Para borrar un carácter sobre el cursor en modo Normal pulse: x + + 5. Para insertar texto en la posición del cursor estando en modo Normal: + pulse i escriba el texto pulse <ESC> + +NOTA: Pulsando <ESC> se vuelve al modo Normal o cancela un mandato no deseado + o incompleto. + +Ahora continúe con la Lección 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 2.1: MANDATOS PARA BORRAR + + + ** Escriba dw para borrar hasta el final de una palabra ** + + + 1. Pulse <ESC> para asegurarse de que está en el modo Normal. + + 2. Mueva el cursor a la línea de abajo señalada con --->. + + 3. Mueva el cursor al comienzo de una palabra que desee borrar. + + 4. Pulse dw para hacer que la palabra desaparezca. + + + NOTA: Las letras dw aparecerán en la última línea de la pantalla cuando + las escriba. Si escribe algo equivocado pulse <ESC> y comience de nuevo. + + +---> Hay algunas palabras pásalo bien que no pertenecen papel a esta frase. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 2.2: MÁS MANDATOS PARA BORRAR + + + ** Escriba d$ para borrar hasta el final de la línea. ** + + + 1. Pulse <ESC> para asegurarse de que está en el modo Normal. + + 2. Mueva el cursor a la línea de abajo señalada con --->. + + 3. Mueva el cursor al final de la línea correcta (DESPUÉS del primer . ). + + 4. Escriba d$ para borrar hasta el final de la línea. + +---> Alguien ha escrito el final de esta línea dos veces. esta línea dos veces. + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 2.3: SOBRE MANDATOS Y OBJETOS + + + El formato del mandato de borrar d es como sigue: + + [número] d objeto O d [número] objeto + donde: + número - es cuántas veces se ha de ejecutar el mandato (opcional, defecto=1). + d - es el mandato para borrar. + objeto - es sobre lo que el mandato va a operar (lista, abajo). + + Una lista corta de objetos: + w - desde el cursor hasta el final de la palabra, incluyendo el espacio. + e - desde el cursor hasta el final de la palabra, SIN incluir el espacio. + $ - desde el cursor hasta el final de la línea. + +NOTE: Para los aventureros, pulsando sólo el objeto estando en modo Normal + sin un mandato moverá el cursor como se especifica en la lista de objetos. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 2.4: UNA EXCEPCIÓN AL 'MANDATO-OBJETO' + + ** Escriba dd para borrar una línea entera. ** + + Debido a la frecuencia con que se borran líneas enteras, los diseñadores + de Vim decidieron que sería más fácil el escribir simplemente dos des en + una fila para borrar una línea. + + 1. Mueva el cursor a la segunda línea de la lista de abajo. + 2. Escriba dd para borrar la línea. + 3. Muévase ahora a la cuarta línea. + 4. Escriba 2dd (recuerde número-mandato-objeto) para borrar las dos + líneas. + + 1) Las rosas son rojas, + 2) El barro es divertido, + 3) El cielo es azul, + 4) Yo tengo un coche, + 5) Los relojes marcan la hora, + 6) El azucar es dulce, + 7) Y así eres tu. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 2.5: EL MANDATO DESHACER + + + ** Pulse u para deshacer los últimos mandatos, + U para deshacer una línea entera. ** + + 1. Mueva el cursor a la línea de abajo señalada con ---> y sitúelo bajo el + primer error. + 2. Pulse x para borrar el primer caráter erróneo. + 3. Pulse ahora u para deshacer el último mandato ejecutado. + 4. Ahora corrija todos los errores de la línea usando el mandato x. + 5. Pulse ahora U mayúscula para devolver la línea a su estado original. + 6. Pulse ahora u unas pocas veces para deshacer lo hecho por U y los + mandatos previos. + 7. Ahora pulse CTRL-R (mantenga pulsada la tecla CTRL y pulse R) unas + pocas veces para volver a ejecutar los mandatos (deshacer lo deshecho). + +---> Corrrija los errores dee esttta línea y vuuelva a ponerlos coon deshacer. + + 8. Estos mandatos son muy útiles. Ahora pase al resumen de la Lección 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RESUMEN DE LA LECCIÓN 2 + + 1. Para borrar desde el cursor hasta el final de una palabra pulse: dw + + 2. Para borrar desde el cursor hasta el final de una línea pulse: d$ + + 3. Para borrar una línea enter pulse: dd + + 4. El formato de un mandato en modo Normal es: + + [número] mandato objeto O mandato [número] objeto + donde: + número - es cuántas veces se ha de ejecutar el mandato + mandato - es lo que hay que hacer, por ejemplo, d para borrar + objeto - es sobre lo que el mandato va a operar, por ejemplo + w (palabra), $ (hasta el final de la línea), etc. + + 5. Para deshacer acciones previas pulse: u (u minúscula) + Para deshacer todos los cambios de una línea pulse: U (U mayúscula) + Para deshacer lo deshecho pulse: CTRL-R + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 3.1: EL MANDATO «PUT» (poner) + + ** Pulse p para poner lo último que ha borrado después del cursor. ** + + 1. Mueva el cursor al final de la lista de abajo. + + 2. Escriba dd para borrar la línea y almacenarla en el buffer de Vim. + + 3. Mueva el cursor a la línea que debe quedar por debajo de la + línea a mover. + + 4. Estando en mod Normal, pulse p para restituir la línea borrada. + + 5. Repita los pasos 2 a 4 para poner todas las líneas en el orden correcto. + + d) ¿Puedes aprenderla tu? + b) Las violetas son azules, + c) La inteligencia se aprende, + a) Las rosas son rojas, + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 3.2: EL MANDATO «REPLACE» (remplazar) + + + ** Pulse r y un carácter para sustituir el carácter sobre el cursor. ** + + + 1. Mueva el cursor a la primera línea de abajo señalada con --->. + + 2. Mueva el cursor para situarlo bajo el primer error. + + 3. Pulse r y el carácter que debe sustituir al erróneo. + + 4. Repita los pasos 2 y 3 hasta que la primera línea esté corregida. + +---> ¡Cuendo esta línea fue rscrita alguien pulso algunas teclas equibocadas! +---> ¡Cuando esta línea fue escrita alguien pulsó algunas teclas equivocadas! + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 3.3: EL MANDATO «CHANGE» (cambiar) + + + ** Para cambiar parte de una palabra o toda ella escriba cw . ** + + + 1. Mueva el cursor a la primera línea de abajo señalada con --->. + + 2. Sitúe el cursor en la u de lubrs. + + 3. Escriba cw y corrija la palabra (en este caso, escriba 'ínea'). + + 4. Pulse <ESC> y mueva el cursor al error siguiente (el primer carácter + que deba cambiarse). + + 5. Repita los pasos 3 y 4 hasta que la primera frase sea igual a la segunda. + +---> Esta lubrs tiene unas pocas pskavtad que corregir usem el mandato change. +---> Esta línea tiene unas pocas palabras que corregir usando el mandato change. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 3.4: MÁS CAMBIOS USANDO c + + ** El mandato change se utiliza con los mismos objetos que delete. ** + + 1. El mandato change funciona de la misma forma que delete. El formato es: + + [número] c objeto O c [número] objeto + + 2. Los objetos son tambiém los mismos, tales como w (palabra), $ (fin de + la línea), etc. + + 3. Mueva el cursor a la primera línea de abajo señalada con --->. + + 4. Mueva el cursor al primer error. + + 5. Escriba c$ para hacer que el resto de la línea sea como la segunda + y pulse <ESC>. + +---> El final de esta línea necesita alguna ayuda para que sea como la segunda. +---> El final de esta línea necesita ser corregido usando el mandato c$. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RESUMEN DE LA LECCIÓN 3 + + + 1. Para sustituir texto que ha sido borrado, pulse p . Esto Pone el texto + borrado DESPUÉS del cursor (si lo que se ha borrado es una línea se + situará sobre la línea que está sobre el cursor). + + 2. Para sustituir el carácter bajo el cursor, pulse r y luego el + carácter que sustituirá al original. + + 3. El mandato change le permite cambiar el objeto especificado desde la + posición del cursor hasta el final del objeto; e.g. Pulse cw para + cambiar desde el cursor hasta el final de la palabra, c$ para cambiar + hasta el final de la línea. + + 4. El formato para change es: + + [número] c objeto O c [número] objeto + + Pase ahora a la lección siguiente. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 4.1: SITUACIÓN EN EL FICHERO Y SU ESTADO + + + ** Pulse CTRL-g para mostrar su situación en el fichero y su estado. + Pulse MAYU-G para moverse a una determinada línea del fichero. ** + + Nota: ¡¡Lea esta lección entera antes de ejecutar alguno de los pasos!! + + + 1. Mantenga pulsada la tecla Ctrl y pulse g . Aparece una línea de estado + al final de la pantalla con el nombre del fichero y la línea en la que + está situado. Recuerde el número de la línea para el Paso 3. + + 2. Pulse Mayu-G para ir al final del fichero. + + 3. Escriba el número de la línea en la que estaba y despúes Mayu-G. Esto + le volverá a la línea en la que estaba cuando pulsó Ctrl-g. + (Cuando escriba los números NO se mostrarán en la pantalla). + + 4. Si se siente confiado en poder hacer esto ejecute los pasos 1 a 3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 4.2: EL MANDATO «SEARCH» (buscar) + + ** Escriba / seguido de una frase para buscar la frase. ** + + 1. En modo Normal pulse el carácter / . Fíjese que tanto el carácter / + como el cursor aparecen en la última línea de la pantalla, lo mismo + que el mandato : . + + 2. Escriba ahora errroor <INTRO>. Esta es la palabra que quiere buscar. + + 3. Para repetir la búsqueda, simplemente pulse n . + Para busacar la misma frase en la dirección opuesta, pulse Mayu-N . + + 4. Si quiere buscar una frase en la dirección opuesta (hacia arriba), + utilice el mandato ? en lugar de / . + +---> Cuando la búsqueda alcanza el final del fichero continuará desde el + principio. + + «errroor» no es la forma de deletrear error; errroor es un error. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 4.3: BÚSQUEDA PARA COMPROBAR PARÉNTESIS + + ** Pulse % para encontrar el paréntesis correspondiente a ),] o } . ** + + + 1. Sitúe el cursor en cualquiera de los caracteres ), ] o } en la línea de + abajo señalada con --->. + + 2. Pulse ahora el carácter % . + + 3. El cursor debería situarse en el paréntesis (, corchete [ o llave { + correspondiente. + + 4. Pulse % para mover de nuevo el cursor al paréntesis, corchete o llave + correspondiente. + +---> Esto ( es una línea de prueba con (, [, ], {, y } en ella. )). + +Nota: ¡Esto es muy útil en la detección de errores en un programa con + paréntesis, corchetes o llaves disparejos. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 4.4: UNA FORMA DE CAMBIAR ERRORES + + + ** Escriba :s/viejo/nuevo/g para sustituir 'viejo' por 'nuevo'. ** + + + 1. Mueva el cursor a la línea de abajo señalada con --->. + + 2. Escriba :s/laas/las/ <INTRO> . Tenga en cuenta que este mandato cambia + sólo la primera aparición en la línea de la expresión a cambiar. + +---> Laas mejores épocas para ver laas flores son laas primaveras. + + 4. Para cambiar todas las apariciones de una expresión ente dos líneas + escriba :#,#s/viejo/nuevo/g donde #,# son los números de las dos + líneas. Escriba :%s/viejo/nuevo/g para hacer los cambios en todo + el fichero. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RESUMEN DE LA LECCIÓN 4 + + + 1. Ctrl-g muestra la posición del cursor en el fichero y su estado. + Mayu-G mueve el cursor al final del fichero. Un número de línea + sewguido de Mayu-G mueve el cursor a la línea con ese número. + + 2. Pulsando / seguido de una frase busca la frase hacia ADELANTE. + Pulsando ? seguido de una frase busca la frase hacia ATRÁS. + Después de una búsqueda pulse n para encontrar la aparición + siguiente en la misma dirección. + + 3. Pulsando % cuando el cursor esta sobre (,), [,], { o } localiza + la pareja correspondiente. + + 4. Para cambiar viejo por nuevo en una línea pulse :s/viejo/nuevo + Para cambiar todos los viejo por nuevo en una línea pulse :s/viejo/nuevo/g + Para cambiar frases entre dos números de líneas pulse :#,#s/viejo/nuevo/g + Para cambiar viejo por nuevo en todo el fichero pulse :%s/viejo/nuevo/g + Para pedir confirmación en cada caso añada 'c' :%s/viejo/nuevo/gc + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 5.1: CÓMO EJECUTAR UN MANDATO EXTERNO + + + ** Escriba :! seguido de un mandato externo para ejecutar ese mandato. ** + + + 1. Escriba el conocido mandato : para situar el cursor al final de la + pantalla. Esto le permitirá introducir un mandato. + + 2. Ahora escriba el carácter ! (signo de admiración). Esto le permitirá + ejecutar cualquier mandato del sistema. + + 3. Como ejemplo escriba ls después del ! y luego pulse <INTRO>. Esto + le mostrará una lista de su directorio, igual que si estuviera en el + símbolo del sistema. Si ls no funciona utilice !:dir . + +--->Nota: De esta manera es posible ejecutar cualquier mandato externo. + +--->Nota: Todos los mandatos : deben finalizarse pulsando <INTRO>. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 5.2: MÁS SOBRE GUARDAR FICHEROS + + + ** Para guardar los cambios hechos en un fichero, + escriba :w NOMBRE_DE_FICHERO. ** + + + 1. Escriba :!dir o :!ls para ver una lista de su directorio. + Ya sabe que debe pulsar <INTRO> después de ello. + + 2. Elija un nombre de fichero que todavía no exista, como TEST. + + 3. Ahora escriba :w TEST (donde TEST es el nombre de fichero elegido). + + 4. Esta acción guarda todo el fichero (Vim Tutor) bajo el nombre TEST. + Para comprobarlo escriba :!dir de nuevo y vea su directorio. + +---> Tenga en cuenta que si sale de Vim y entra de nuevo con el nombre de + fichero TEST, el fichero sería una copia exacta del tutor cuando lo + ha guardado. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 5.3: UN MANDATO DE ESCRITURA SELECTIVO + + ** Para guardar parte del fuchero escriba :#,# NOMBRE_DEL_FICHERO ** + + + 1. Escriba de nuevo, una vez más, :!dir o :!ls para obtener una lista + de su directorio y elija nombre de fichero adecuado, como TEST. + + 2. Mueva el cursor al principio de la pantalla y pulse Ctrl-g para saber + el número de la línea correspondiente. ¡RECUERDE ESTE NÚMERO! + + 3. Ahora mueva el cursor a la última línea de la pantalla y pulse Ctrl-g + de nuevo. ¡RECUERDE TAMBIÉN ESTE NÚMERO! + + 4. Para guardar SOLAMENTE una parte de un fichero, escriba :#,# w TEST + donde #,# son los números que usted ha recordado (primera línea, + última línea) y TEST es su nombre de dichero. + + 5. De nuevo, vea que el fichero esta ahí con :!dir pero NO lo borre. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 5.4: RECUPERANDO Y MEZCLANDO FICHEROS + + ** Para insertar el contenido de un fichero escriba :r NOMBRE_DEL_FICHERO ** + + 1. Escriba :!dir para asegurarse de que su fichero TEST del ejercicio + anterior está presente. + + 2. Situe el cursor al principio de esta pantalla. + +NOTA: Después de ejecutar el paso 3 se verá la Lección 5.3. Luego muévase + hacia ABAJO para ver esta lección de nuevo. + + 3. Ahora recupere el fichero TEST utilizando el mandato :r TEST donde + TEST es el nombre del fichero. + +NOTA: El fichero recuperado se sitúa a partir de la posición del cursor. + + 4. Para verificar que el fichero ha sido recuperado, mueva el cursor hacia + arriba y vea que hay dos copias de la Lección 5.3, la original y la + versión del fichero. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RESUMEN DE LA LECCIÓN 5 + + + 1. :!mandato ejecuta un mandato externo. + + Algunos ejemplos útiles son: + :!dir - muestra el contenido de un directorio. + :!del NOMBRE_DE_FICHERO - borra el fichero NOMBRE_DE FICHERO. + + 2. :#,#w NOMBRE_DE _FICHERO guarda desde las líneas # hasta la # en el + fichero NOMBRE_DE_FICHERO. + + 3. :r NOMBRE_DE _FICHERO recupera el fichero del disco NOMBRE_DE FICHERO + y lo inserta en el fichero en curso a partir de la posición del cursor. + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 6.1: EL MANDATO «OPEN» (abrir) + + + ** Pulse o para abrir una línea debajo del cursor + y situarle en modo Insert ** + + + 1. Mueva el cursor a la línea de abajo señalada con --->. + + 2. Pulse o (minúscula) para abrir una línea por DEBAJO del cursor + y situarle en modo Insert. + + 3. Ahora copie la línea señalada con ---> y pulse <ESC> para salir del + modo Insert. + +---> Luego de pulsar o el cursor se sitúa en la línea abierta en modo Insert. + + 4. Para abrir una línea por encima del cursor, simplemente pulse una O + mayúscula, en lugar de una o minúscula. Pruebe este en la línea siguiente. +Abra una línea sobre ésta pulsando Mayu-O cuando el curso está en esta línea. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 6.2: EL MANDATO «APPEND» (añadir) + + ** Pulse a para insertar texto DESPUÉS del cursor. ** + + + 1. Mueva el cursor al final de la primera línea de abajo señalada con ---> + pulsando $ en modo Normal. + + 2. Escriba una a (minúscula) para añadir texto DESPUÉS del carácter + que está sobre el cursor. (A mayúscula añade texto al final de la línea). + +Nota: ¡Esto evita el pulsar i , el último carácter, el texto a insertar, + <ESC>, cursor a la derecha y, finalmente, x , sólo para añadir algo + al final de una línea! + + 3. Complete ahora la primera línea. Nótese que append es exactamente lo + mismo que modo Insert, excepto por el lugar donde se inserta el texto. + +---> Esta línea le permitirá praticar +---> Esta línea le permitirá praticar el añadido de texto al final de una línea. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 6.3: OTRA VERSIÓN DE «REPLACE» (remplazar) + + ** Pulse una R mayúscula para sustituir más de un carácter. ** + + + 1. Mueva el cursor a la primera línea de abajo señalada con --->. + + 2. Sitúe el cursor al comienzo de la primera palabra que sea diferente + de las de la segunda línea marcada con ---> (la palabra 'anterior'). + + 3. Ahora pulse R y sustituya el resto del texto de la primera línea + escribiendo sobre el viejo texto para que la primera línea sea igual + que la primera. + +---> Para hacer que esta línea sea igual que la anterior use las teclas. +---> Para hacer que esta línea sea igual que la siguiente escriba R y el texto. + + 4. Nótese que cuando pulse <ESC> para salir, el texto no alterado permanece. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 6.4: FIJAR OPCIONES + + ** Fijar una opción de forma que una búsqueda o sustitución ignore la caja ** + (Para el concepto de caja de una letra, véase la nota al final del fichero) + + + 1. Busque 'ignorar' introduciendo: + /ignorar + Repita varias veces la búsque pulsando la tecla n + + 2. Fije la opción 'ic' (Ignorar la caja de la letra) escribiendo: + :set ic + + 3. Ahora busque 'ignorar' de nuevo pulsando n + Repita la búsqueda varias veces más pulsando la tecla n + + 4. Fije las opciones 'hlsearch' y 'insearch': + :set hls is + + 5. Ahora introduzca la orden de búsqueda otra vez, y vea qué pasa: + /ignore + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RESUMEN DE LA LECCIÓN 6 + + + 1. Pulsando o abre una línea por DEBAJO del cursor y sitúa el cursor en + la línea abierta en modo Insert. + Pulsando una O mayúscula se abre una línea SOBRE la que está el cursor. + + 2. Pulse una a para insertar texto DESPUÉS del carácter sobre el cursor. + Pulsando una A mayúscula añade automáticamente texto al final de la + línea. + + 3. Pulsando una R mayúscula se entra en modo Replace hasta que, para salir, + se pulse <ESC>. + + 4. Escribiendo «:set xxx» fija la opción «xxx» + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lección 7: MANDATOS PARA LA AYUDA EN LÍNEA + + ** Utilice el sistema de ayuda en línea ** + + + Vim dispone de un sistema de ayuda en línea. Para activarlo, pruebe una + de estas tres formas: + - pulse la tecla <AYUDA> (si dispone de ella) + - pulse la tecla <F1> (si dispone de ella) + - escriba :help <INTRO> + + Escriba :q <INTRO> para cerrar la ventana de ayuda. + + Puede encontrar ayuda en casi cualquier tema añadiendo un argumento al + mandato «:help» mandato. Pruebe éstos: + + :help w <INTRO> + :help c_<T <INTRO> + :help insert-index <INTRO> + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Aquí concluye el tutor de Vim. Está pensado para dar una visión breve del + editor Vim, lo suficiente para permitirle usar el editor de forma bastante + sencilla. Está muy lejos de estar completo pues Vim tiene muchísimos más + mandatos. + + Para lecturas y estudios posteriores se recomienda el libro: + Learning the Vi Editor - por Linda Lamb + Editorial: O'Reilly & Associates Inc. + Es un buen libro para llegar a saber casi todo lo que desee hacer con Vi. + La sexta edición incluye también información sobre Vim. + + Este tutorial ha sido escrito por Michael C. Pierce y Robert K. Ware, + Colorado School of Mines utilizando ideas suministradas por Charles Smith, + Colorado State University. + E-mail: bware@mines.colorado.edu. + + Modificado para Vim por Bram Moolenaar. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Traducido del inglés por: + + Eduardo F. Amatria + Correo electrónico: eferna1@platea.pntic.mec.es + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.fr b/runtime/tutor/tutor.fr deleted file mode 100644 index bc566894b..000000000 --- a/runtime/tutor/tutor.fr +++ /dev/null @@ -1,809 +0,0 @@ -=============================================================================== -= B i e n v e n u e dans le T u t o r i e l de V I M - Version 1.5.fr.2 = -=============================================================================== - - Vim est un diteur trs puissant qui a trop de commandes pour pouvoir - toutes les expliquer dans un cours comme celui-ci, qui est conu pour en - dcrire suffisamment afin de vous permettre d'utiliser simplement Vim. - - Le temps requis pour suivre ce cours est d'environ 25 30 minutes, selon - le temps que vous passerez exprimenter. Les commandes utilises dans - les leons modifieront le texte. Faites une copie de ce fichier afin de - vous entraner dessus (si vous avez lanc "vimtutor" ceci est dj une - copie). - - Il est important de garder en tte que ce cours est conu pour apprendre - par la pratique. Cela signifie que vous devez excuter les commandes - pour les apprendre correctement. Si vous vous contentez de lire le - texte, vous oublierez les commandes ! - - Maintenant, vrifiez que votre clavier n'est PAS verouill en majuscules, - et appuyez la touche j le nombre de fois suffisant pour que la leon - 1.1 remplisse compltement l'cran. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 1.1 : DPLACEMENT DU CURSEUR - - - ** Pour dplacer le curseur, appuyez les touches h,j,k,l comme indiqu. ** - ^ - k Astuce: La touche h est gauche et dplace gauche. - < h l > La touche l est droite et dplace droite. - j La touche j ressemble une flche vers le bas. - v - 1. Dplacez le curseur sur l'cran jusqu' vous sentir l'aise. - - 2. Maintenez la touche Bas (j) enfonce jusqu' ce qu'elle se rpte. ----> Maintenant vous tes capable de vous dplacer jusqu' la leon suivante. - - 3. En utilisant la touche Bas, allez la Leon 1.2. - -Note: Si jamais vous doutez de ce que vous venez de taper, appuyez <chap> - pour revenir en mode Normal. Puis retapez la commande que vous vouliez. - -Note: Les touches flches devraient galement fonctionner. Mais en utilisant - hjkl vous pourrez vous dplacer beaucoup plus rapidement, une fois que - vous aurez pris l'habitude. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 1.2 : ENTRE ET SORTIE DE VIM - - - !! NOTE: Avant d'effectuer les tapes ci-dessous, lisez toute cette leon !! - - 1. Appuyez la touche <chap> (pour tre sr d'tre en mode Normal). - - 2. Tapez: :q! <Entre> - ----> Ceci quitte l'diteur SANS sauver les changements que vous avez faits. - Si vous voulez enregistrer les changements et sortir, tapez: - :wq <Entre> - - 3. Lorsque l'invite du 'shell' vous sera prsente, tapez la commande qui - vous a amen dans ce tutoriel. Cela pourrait tre: vimtutor <Entre> - Normalement, vous utiliseriez: vim tutor <Entre> - ----> 'vim' lance l'diteur, 'tutor' est le fichier que vous souhaitez diter. - - 4. Si vous avez mmoris ces tapes et tes confiant, effectuez les tapes - 1 3 pour sortir puis rentrer dans l'diteur. Dplacez ensuite le - curseur jusqu' la Leon 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 1.3 : DITION DE TEXTE - EFFACEMENT - - - ** En mode Normal, appuyez x pour effacer le caractre sous le curseur. ** - - 1. Dplacez le curseur sur la ligne marque ---> ci-dessous. - - 2. Pour corriger les erreurs, dplacez le curseur jusqu' ce qu'il soit - sur un caractre effacer. - - 3. Appuyez la touche x pour effacer le caractre redondant. - - 4. Rptez les tapes 2 4 jusqu' ce que la phrase soit correcte. - ----> La vvache saut au-ddessus dde la luune. - - 5. Maintenant que la ligne est correcte, passez la leon 1.4. - -NOTE: En avanant dans ce cours, n'essayez pas de mmoriser, apprenez par - la pratique. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 1.4 : DITION DE TEXTE - INSERTION - - - ** En mode Normal, appuyez i pour insrer du texte. ** - - 1. Dplacez le curseur sur la premire ligne marque ---> ci-dessous. - - 2. Pour rendre la premire ligne identique la seconde, mettez le curseur - sur le premier caractre APRS l'endroit o insrer le texte. - - 3. Appuyez i et tapez les caractres qui manquent. - - 4. Une fois qu'une erreur est corrige, appuyez <chap> pour revenir en mode - Normal. Rptez les tapes 2 4 pour corriger la phrase. - ----> Il mnqe caractres cette . ----> Il manque des caractres dans cette ligne. - - 5. Une fois que vous tes l'aise avec l'insertion de texte, allez au - rsum ci-dessous. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RSUM DE LA LEON 1 - - 1. Le curseur se dplace avec les touches flches ou les touches hjkl. - h (gauche) j (bas) k (haut) l (droite) - - 2. Pour entrer dans Vim ( l'invite %) tapez: vim FICHIER <Entre> - - 3. Pour quitter Vim tapez: <chap> :q! <Entre> pour perdre tous les - changements. - OU tapez: <chap> :wq <Entre> pour enregistrer les - changements. - - 4. Pour effacer un caractre sous le curseur en mode Normal tapez: x - - 5. Pour insrer du texte au niveau du curseur en mode Normal tapez: - i tapez le texte <chap> - -NOTE: Appuyer <chap> vous place en mode Normal ou annule une commande - partiellement tape dont vous ne voudriez plus. - -Passez maintenant la Leon 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 2.1 : EFFACEMENTS - - - ** Tapez dw pour effacer jusqu' la fin d'un mot. ** - - 1. Appuyez <chap> pour tre sr d'tre en mode Normal. - - 2. Dplacez le curseur sur la ligne marque ---> ci-dessous. - - 3. Placez le curseur sur le dbut d'un mot qui a besoin d'tre effac. - - 4. Tapez dw pour faire disparatre ce mot. - -NOTE: Les lettres dw apparatront sur la dernire ligne de l'cran lors de - votre frappe. Si vous avez mal tap quelque chose, appuyez <chap> et - recommencez. - ----> Il y a quelques drle mots qui n'ont rien faire papier sur cette ligne. - - 5. Rptez les tapes 3 et 4 jusqu' ce que la phrase soit correcte et allez - la Leon 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 2.2 : PLUS D'EFFACEMENTS - - - ** Tapez d$ pour effacer jusqu' la fin de la ligne. ** - - 1. Appuyez <chap> pour tre sr d'tre en mode Normal. - - 2. Dplacez le curseur sur la ligne marque ---> ci-dessous. - - 3. Dplacez le curseur jusqu' la fin correcte de la ligne - (APRS le premier . ). - - 4. Tapez d$ pour effacer jusqu' la fin de la ligne. - ----> Quelqu'un a tap la fin de cette ligne deux fois. cette ligne deux fois. - - 5. Allez la Leon 2.3 pour comprendre ce qui se passe. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 2.3 : DES COMMANDES ET DES OBJETS - - - Le format de la commande d'effacement d est le suivant: - - [nombre] d objet OU d [nombre] objet - o: - nombre - est combien de fois excuter la commande (optionnel, dfaut: 1). - d - est la commande d'effacement. - objet - est ce sur quoi la commande va oprer (liste ci-dessous). - - Une courte liste d'objets: - w - du curseur jusqu' la fin du mot, y compris l'espace qui suit. - e - du curseur jusqu' la fin du mot, SANS l'espace qui suit. - $ - du curseur jusqu' la fin de la ligne. - -NOTE: Pour les aventureux, le seul appui d' objet en mode Normal, sans - commande, dplace le curseur comme indiqu dans la liste des objets. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 2.4 : UNE EXCEPTION 'COMMANDE-OBJET' - - ** Tapez dd pour effacer une ligne complte. ** - - Vu le nombre de fois o l'on efface des lignes compltes, les concepteurs - de Vi ont dcid qu'il serait plus facile de taper simplement deux d la - suite pour effacer une ligne. - - 1. Placez le curseur sur la seconde ligne de la phrase ci-dessous. - 2. Tapez dd pour effacer la ligne. - 3. Maintenant allez la quatrime ligne. - 4. Tapez 2dd (rappelez-vous, nombre-commande-objet) pour effacer les - deux lignes. - - 1) Les roses sont rouges, - 2) La boue c'est drle, - 3) Les violettes sont bleues, - 4) J'ai une voiture, - 5) Les horloges donnent l'heure, - 6) Le sucre est doux - 7) Tout comme vous. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 2.5 : L'ANNULATION - - ** Tapez u pour annuler les dernires commandes. ** - ** Tapez U pour rcuprer toute une ligne. ** - - 1. Dplacez le curseur sur la ligne marque ---> ci-dessous et placez-le sur - la premire erreur. - 2. Tapez x pour effacer le premier caractre redondant. - 3. Puis tapez u pour annuler la dernire commande excute. - 4. Cette fois, corrigez toutes les erreurs de la ligne avec la commande x . - 5. Puis tapez un U majuscule pour remettre la ligne dans son tat initial. - 6. Puis tapez u deux-trois fois pour annuler le U et les commandes - prcdentes. - 7. Maintenant tapez Ctrl-R (maintenez la touche Ctrl enfonce pendant que - vous appuyez sur R) deux-trois fois pour refaire les commandes (annuler - les annulations). - ----> Coorrigez les erreurs suur ccette ligne et reemettez-les avvec 'annuler'. - - 8. Ce sont des commandes trs utiles. Maintenant, allez au rsum de la - Leon 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RSUM DE LA LEON 2 - - - 1. Pour effacer du curseur jusqu' la fin d'un mot tapez: dw - - 2. Pour effacer du curseur jusqu' la fin d'une ligne tapez: d$ - - 3. Pour effacer toute une ligne tapez: dd - - 4. Le format d'une commande en mode Normal est: - - [nombre] commande objet OU commande [nombre] objet - o: - nombre - est combien de fois rpter la commande - commande - est ce qu'il faut faire, par exemple d pour effacer - objet - est ce sur quoi la commande devrait agir, par exemple w (mot), - $ (jusqu' la fin de la ligne), etc. - - 5. Pour annuler des actions prcdentes, tapez: u (u minuscule) - Pour annuler tous les changements sur une ligne tapez: U (U majuscule) - Pour annuler l'annulation tapez: Ctrl-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 3.1 : LE COLLAGE - - - ** Tapez p pour placer aprs le curseur ce qui vient d'tre effac. ** - - 1. Placez le curseur sur la premire ligne du "pome" ci-dessous. - - 2. Tapez dd pour effacer la ligne et la placer dans le tampon de Vim. - - 3. Dplacez le curseur sur la ligne qui PRCDE l'endroit o vous voulez - remettre la ligne efface. - - 4. En mode Normal, tapez p pour remettre la ligne. - - 5. Rptez les tapes 2 4 pour mettre toutes les lignes dans le bon ordre. - - d) Et vous, qu'apprenez-vous ? - b) Les violettes sont bleues, - c) L'intelligence s'apprend, - a) Les roses sont rouges, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 3.2 : LE REMPLACEMENT - - - ** Tapez r et un caractre pour remplacer le caractre sous le curseur. ** - - 1. Dplacez le curseur sur la premire ligne marque ---> ci-dessous. - - 2. Placez le curseur de manire ce qu'il surplombe la premire erreur. - - 3. Tapez r suivi du caractre qui doit corriger l'erreur. - - 4. Rptez les tapes 2 et 3 jusqu' ce que la premire ligne soit correcte. - ----> Quand cette ligne a t sauvie, quelqu'un a lait des faunes de frappe ! ----> Quand cette ligne a t saisie, quelqu'un a fait des fautes de frappe ! - - 5. Maintenant, allez la Leon 3.3. - -NOTE: N'oubliez pas que vous devriez apprendre par la pratique, pas par - mmorisation. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 3.3 : LE CHANGEMENT - - - ** Pour changer tout ou partie d'un mot, tapez cw .** - - 1. Dplacez le curseur sur la premire ligne marque ---> ci-dessous. - - 2. Placez le curseur sur le u de luhko. - - 3. Tapez cw et corrigez le mot (dans notre cas, tapez 'igne'.) - - 4. Appuyez <chap> et placez-vous sur l'erreur suivante (le premier - caractre qui doit tre chang). - - 5. Rptez les tapes 3 et 4 jusqu' ce que la premire phrase soit - identique la seconde. - ----> Cette luhko contient quelques myqa qui ont ricne d'tre chantufip. ----> Cette ligne contient quelques mots qui ont besoin d'tre changs. - -Notez que cw efface le mot et vous place ensuite en mode Insertion. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 3.4 : PLUS DE CHANGEMENTS AVEC c - - - ** Le changement fonctionne avec les mmes objets que l'effacement. ** - - 1. Le changement fonctionne de la mme manire que l'effacement. - Le format est: - - [nombre] c objet OU c [nombre] objet - - 2. Les objets sont galement les mmes: w (mot), $ (fin de ligne), etc. - - 3. Dplacez-vous la premire ligne marque ---> ci-dessous. - - 4. Placez le curseur sur la premire erreur. - - 5. Tapez c$ pour changer la fin de la ligne, rendez-l identique la - seconde ligne, puis tapez <chap>. - ----> La fin de cette ligne doit tre rendue identique la seconde. ----> La fin de cette ligne doit tre corrige avec la commande c$ . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RSUM DE LA LEON 3 - - - 1. Pour remettre du texte qui vient d'tre effac, tapez p . Cela Place le - texte effac APRS le curseur (si une ligne complte a t efface, elle - sera place sous la ligne du curseur). - - 2. Pour remplacer le caractre sous le curseur, tapez r suivi du caractre - qui remplacera l'original. - - 3. Le changement vous permet de changer l'objet spcifi, du curseur jusqu' - la fin de l'objet. Par exemple, tapez cw pour changer du curseur - jusqu' la fin du mot, c$ pour changer jusqu' la fin d'une ligne. - - 4. Le format pour le changement est: - - [nombre] c objet OU c [nombre] objet - -Passez maintenant la leon suivante. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 4.1 : POSITION ET TAT DU FICHIER - - - ** Tapez Ctrl-G pour afficher votre position dans le fichier et son tat. - Utilisez Maj-G pour vous rendre une ligne donne du fichier. ** - - Note: Lisez toute cette leon avant d'effectuer l'une des tapes ! - - 1. Maintenez enfonce la touche Ctrl et appuyez sur G . Une ligne d'tat - va apparatre en bas de l'cran avec le nom du fichier et le numro de la - ligne o vous tes. Notez ce numro, il servira lors de l'tape 3. - - 2. Tapez G majuscule (Maj-G) pour vous rendre la fin du fichier. - - 3. Tapez le numro de la ligne o vous tiez suivi de Maj-G. Cela vous - ramnera la ligne o vous tiez au dpart. - (Lorsque vous tapez les chiffres, ils n'apparaissent PAS l'cran). - - 4. Si vous vous sentez prt faire ceci, effectuez les tapes 1 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 4.2 : LA RECHERCHE - - - ** Tapez / suivi d'un texte pour rechercher ce texte. ** - - 1. Tapez le caractre / en mode Normal. Notez que celui-ci et le curseur - apparaissent en bas de l'cran, comme lorsque l'on utilise : . - - 2. Puis tapez 'errreuur' <Entre>. C'est le mot que vous voulez rechercher. - - 3. Pour rechercher nouveau le mme texte, tapez simplement n . - Pour rechercher le mme texte dans la direction oppose, tapez Maj-N . - - 4. Si vous voulez rechercher un texte vers le haut du fichier, utilisez ? - la place de / . - ----> erreur ne s'crit pas "errreuur"; errreuur est une erreur. - -Note: Quand la recherche atteint la fin du fichier, elle reprend au dbut. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 4.3 : RECHERCHE DES PARENTHSES CORRESPONDANTES - - - ** Tapez % pour trouver des ), ] ou } correspondants. ** - - 1. Placez le curseur sur l'un des (, [ ou { de la ligne marque ---> - ci-dessous. - - 2. Puis tapez le caractre % . - - 3. Le curseur devrait se placer sur la parenthse correspondante. - - 4. Tapez % pour replacer le curseur sur l'autre parenthse. - ----> Voici ( une ligne de test contenant des (, des [ ] et des { } )). - -Note: Cette fonctionnalit est trs utile lors du dbogage d'un programme qui - contient des parenthses dsquilibres ! - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 4.4 : UNE MANIRE DE CORRIGER LES ERREURS - - - ** Tapez :s/ancien/nouveau/g pour remplacer 'ancien' par 'nouveau'. ** - - 1. Dplacez le curseur sur la ligne marque ---> ci-dessous. - - 2. Tapez :s/lee/le <Entre> . Notez que cette commande change seulement la - premire occurence sur la ligne. - - 3. Puis tapez :s/lee/le/g qui ordonne de faire une substitution globale - sur la ligne. Cela change toutes les occurences sur la ligne - ----> lee meilleur moment pour regarder lees fleurs est pendant lee Printemps. - - 4. Pour changer toutes les occurences d'un texte, entre deux lignes, - tapez :#,#s/ancien/nouveau/g o #,# sont les numros des deux lignes. - Tapez :%s/ancien/nouveau/g pour changer chaque occurence dans tout - le fichier. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RSUM DE LA LEON 4 - - - 1. Ctrl-G affiche votre position dans le fichier et l'tat de celui-ci. - Maj-G vous place la fin du fichier. Un numro de ligne suivi de Maj-G - vous place cette ligne. - - 2. Taper / suivi d'un texte recherche ce texte vers l'AVANT. - Taper ? suivi d'un texte recherche ce texte vers l'ARRIRE. - Aprs une recherche tapez n pour trouver l'occurence suivante dans la - mme direction ou Maj-N pour rechercher dans la direction oppose. - - 3. Taper % lorsque le curseur est sur (, ), [, ], { ou } dplace - celui-ci sur le caractre correspondant. - - 4. Pour remplacer le premier aa par bb sur une ligne tapez :s/aa/bb - Pour remplacer tous les aa par bb sur une ligne tapez :s/aa/bb/g - Pour remplacer du texte entre deux numros de ligne tapez :#,#s/aa/bb/g - Pour remplacer toutes les occurences dans le fichier tapez :%s/aa/bb/g - Pour demander une confirmation chaque fois ajoutez 'c' :%s/aa/bb/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 5.1 : COMMENT EXCUTER UNE COMMANDE EXTERNE - - - ** Tapez :! suivi d'une commande externe pour excuter cette commande. ** - - 1. Tapez le : familier pour mettre le curseur en bas de l'cran. Cela vous - permet de saisir une commande. - - 2. Puis tapez un ! (point d'exclamation). Cela vous permet d'excuter - n'importe quelle commande valide pour votre interprteur (shell). - - 3. Par exemple, tapez ls aprs le ! et appuyez <Entre>. Ceci affichera - la liste des fichiers du dossier courant, comme si vous aviez tap la - commande l'invite du shell. Utilisez :!dir si :!ls ne marche pas. - -Note: Il est possible d'excuter n'importe quelle commande externe de cette - manire. - -Note: Toutes les commandes : doivent finir par la frappe de <Entre>. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 5.2 : PLUS DE DTAILS SUR L'ENREGISTREMENT DE FICHIERS - - - ** Pour enregistrer les changements faits au fichier, tapez :w FICHIER . ** - - 1. Tapez :!dir ou :!ls pour avoir la liste des fichiers du dossier - courant. Vous savez dj qu'il faut appuyer <Entre> aprs cela. - - 2. Choisissez un nom de fichier qui n'existe pas encore, par exemple TEST. - - 3. Puis tapez :w TEST (o TEST est le nom que vous avez choisi). - - 4. Cela sauvegarde tout le fichier (Tutoriel Vim) sous le nom TEST. - Pour le vrifier, tapez :!dir pour revisualiser le contenu du dossier. - -Notez que si vous quittez Vim et y retournez avec le fichier TEST, celui-ci -sera une copie exacte du cours au moment o vous l'avez sauv. - - 5. Maintenant, effacez le fichier en tapant (MS-DOS): :!del TEST - ou (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 5.3 : UN ENREGISTREMENT SLECTIF - - - ** Pour enregistrer une portion de fichier, tapez :#,#w FICHIER ** - - 1. Tapez nouveau :!dir ou :!ls pour visualiser le contenu du dossier - courant et choisissez un nom de fichier, tel que TEST. - - 2. Dplacez le curseur jusqu'en haut de cette page et tapez Ctrl-G pour - connatre le numro de cette ligne. NOTEZ CE NUMRO ! - - 3. Puis rendez-vous au bas de cette page et tapez nouveau Ctrl-G . - NOTEZ GALEMENT CE NUMRO ! - - 4. Pour enregistrer SEULEMENT une portion d'un fichier, tapez :#,#w TEST - o #,# sont les deux numros que vous avez nots (haut,bas) et TEST est - le nom du fichier. - - 5. Une fois encore, vrifiez la prsence du fichier avec :!dir mais NE - L'EFFACEZ PAS. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 5.4 : RCUPRATION ET FUSION DE FICHIERS - - - ** Pour insrer le contenu d'un fichier, tapez :r FICHIER ** - - 1. Tapez :!dir pour vrifier que votre fichier TEST est encore l. - - 2. Placez le curseur en haut de cette page. - -NOTE: Aprs avoir suivi l'tape 3 vous verrez l'cran la Leon 5.3. - Dplacez-vous vers le bas jusqu' revenir cette leon. - - 3. Maintenant rcuprez votre fichier TEST en utilisant la commande :r TEST - o TEST est le nom de votre fichier. - -NOTE: Le fichier que vous rcuprez est plac l o se trouve le curseur. - - 4. Pour vrifier que le fichier a bien t insr, remontez et vrifiez - qu'il y a maintenant deux copies de la Leon 5.3, l'originale et celle - contenue dans le fichier. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RSUM DE LA LEON 5 - - - 1. :!commande excute une commande externe. - - Quelques exemples pratiques: - (MS-DOS) (Unix) - :!dir :!ls affiche le contenu du dossier courant. - :!del FICHIER :!rm FICHIER efface FICHIER. - - 2. :w FICHIER enregistre le fichier Vim courant sur le disque avec pour - nom FICHIER. - - 3. :#,#w FICHIER enregistre les lignes # # dans le fichier FICHIER. - - 4. :r FICHIER rcupre le fichier FICHIER et l'insre dans le fichier - courant partir de la position du curseur. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 6.1 : L'OUVERTURE - - -** Tapez o pour ouvrir une ligne sous le curseur et y aller en Insertion. ** - - 1. Dplacez le curseur sur la ligne marque ---> ci-dessous. - - 2. Tapez o (minuscule) pour ouvrir une ligne SOUS le curseur et vous y - placer en mode Insertion. - - 3. Puis recopiez la ligne marque ---> et appuyez sur <chap> pour quitter - le mode Insertion. - ----> En tapant o le curseur se met sur la ligne ouverte, en mode Insertion. - - 4. Pour ouvrir une ligne au DESSUS du curseur, tapez simplement un O - majuscule, plutt qu'un o minuscule. Faites un essai sur la ligne - ci-dessous. -Ouvrez une ligne ci-dessus en tapant MAJ-O lorsque le curseur est ici. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 6.2 : L'AJOUT - - - ** Tapez a pour insrer du texte APRS le curseur. ** - - 1. Placez le curseur la fin de la premire ligne marque ---> ci-dessous - en tapant $ en mode Normal. - - 2. Tapez un a (minuscule) pour ajouter du texte APRS le caractre situ - sous le curseur. ( A majuscule ajoute du texte la fin de la ligne). - -Note: Ceci vite de taper i , le dernier caractre, le texte insrer, - <chap>, curseur--droite, et finalement x , juste pour ajouter du - texte la fin d'une ligne ! - - 3. Maintenant, compltez la premire ligne. Notez galement que l'ajout est - identique au mode Insertion, hormis la position o le texte est insr. - ----> Cette ligne vous permet de pratiquer ----> Cette ligne vous permet de pratiquer l'ajout de texte en fin de ligne. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 6.3 : UNE AUTRE VERSION DU REMPLACEMENT - - - ** Tapez un R majuscule pour remplacer plus d'un caractre. ** - - 1. Dplacez le curseur sur la premire ligne marque ---> ci-dessous. - - 2. Placez le curseur au dbut du premier mot qui diffre de la seconde ligne - marque ---> (le mot 'celle'). - - 3. Puis tapez R et remplacez le reste du texte de la premire ligne en - tapant par dessus celui-ci, de manire rendre la premire ligne - identique la seconde. - ----> Pour rendre cette ligne identique celle du dessous utilisez le clavier. ----> Pour rendre cette ligne identique la seconde, tapez R et la correction. - - 4. Notez que lorsque vous appuyez <chap>, le texte qui n'a pas encore t - remplac reste. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 6.4 : RGLAGE DES OPTIONS - - - ** Rglons une option afin que la recherche et la substitution ignorent la - casse des caractres. ** - - 1. Recherchez 'ignore' en tapant /ignore . - Rptez ceci plusieurs fois en utilisant la touche n . - - 2. Activez l'option 'ic' (Ignorer casse) en tapant :set ic . - - 3. Puis poursuivez votre recherche en utilisant n . - Rptez cette recherche plusieurs fois avec la touche n . - - 4. Activez les options 'hlsearch' et 'incsearch' avec :set hls is . - - 5. Puis recommencez une recherche, et faites bien attention ce qui se - produit: /ignore . - - 6. Pour interrompre la mise en surbrillance des rsultats, tapez: - :nohlsearch - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RSUM DE LA LEON 6 - - - 1. Taper o ouvre une ligne SOUS le curseur et y place celui-ci en mode - Insertion. Taper un O majuscule ouvre une ligne au DESSUS de la ligne - o se trouve le curseur. - - 2. Tapez un a pour insrer du texte APRS le caractre o se trouve le - curseur. Taper un A majuscule ajoute du texte automatiquement la fin - de la ligne. - - 3. Taper un R majuscule active le mode Remplacement jusqu' ce que la - touche <chap> soit appuye pour en sortir. - - 4. Taper :set xxx active l'option 'xxx'. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 7 : ACCDER L'AIDE EN LIGNE - - ** Utiliser le systme d'aide en ligne. ** - - Vim a un systme complet d'aide en ligne. Pour y accder, essayez l'une de - ces trois mthodes: - - appuyez la touche <Help> (si vous en avez une) - - appuyez la touche <F1> (si vous en avez une) - - tapez :help <Entre> - - Tapez :q <Entre> pour fermer la fentre d'aide. - - Vous pouvez accder l'aide sur peu prs n'importe quel sujet en donnant - des arguments la commande :help . Essayez par exemple (n'oubliez pas - d'appuyer sur <Entre>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leon 8 : CRER UN SCRIPT DE DMARRAGE - - ** Activer les fonctionnalits de Vim. ** - - Vim a beaucoup plus de fonctionnalits que Vi, mais la plupart de celles-ci - sont dsactives par dfaut. Pour commencer les utiliser, vous devez - crer un fichier "vimrc". - - 1. Commencez diter le fichier "vimrc". Ceci dpend de votre systme: - :edit ~/.vimrc pour Unix - :edit $VIM/_vimrc pour MS-Windows - - 2. Intgrez maintenant le texte du fichier "vimrc" d'exemple: - :read $VIMRUNTIME/vimrc_example.vim - - 3. Enregistrez le fichier avec: - :write - - La prochaine fois que vous dmarrerez Vim, le surlignage syntactique sera - activ. Vous pouvez ajouter tous vos rglages prfrs dans ce fichier. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Ceci conclut le Tutoriel Vim. Le but tait de vous donner un bref aperu de - l'diteur Vim, juste assez pour vous permettre d'utiliser l'diteur - relativement facilement. Il est loin d'tre complet, vu que Vim a beaucoup - beaucoup plus de commandes. Un Manuel de l'utilisateur est disponible en - anglais: :help user-manual . - - Pour continuer dcouvrir et apprendre Vim, il existe un livre traduit en - franais. Il parle plus de Vi que de Vim, mais pourra vous tre utile. - L'diteur Vi - Collection Prcis et concis - par Arnold Robbins - diteur: O'Reilly France - ISBN: 2-84177-102-4 - - Deux livres en anglais sont galement mentionns dans la version originale - de ce tutoriel, dont un qui traite spcifiquement de Vim. Merci de vous y - rfrer si vous tes intress. - - Ce tutoriel a t crit par Michael C. Pierce et Robert K. Ware de l'cole - des Mines du Colorado et reprend des ides fournies par Charles Smith, - Universt d'tat du Colorado. E-mail: bware@mines.colorado.edu. - - Modifi pour Vim par Bram Moolenar. - - Traduit en Franais par Adrien Beau, en avril 2001. - E-mail: version.francaise@free.fr - Last Change: 2003 May 29 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.gr.cp737 b/runtime/tutor/tutor.gr.cp737 deleted file mode 100644 index 69ceff11f..000000000 --- a/runtime/tutor/tutor.gr.cp737 +++ /dev/null @@ -1,815 +0,0 @@ -=============================================================================== -= V I M T u t o r - 롛 1.5 = -=============================================================================== - - Vim 夘 ⤘ 婮 ᡫ ⮜ , ᨘ - 㩦 㚞 . 㚞 - ᩫ ᯜ - ᤦ 嫜 硦 Vim ⤘ 㩞 ᡫ. - - ⚚ 椦 嫘 驜 㚞 - 夘 25-30 , 餫 橦 椦 ⯜ - . - - 㣘 㩦 壜. 㩫 ⤘ - 嚨 妬 嫜 ( 㩘 - "Vimtutor" 夘 㛞 ⤘ 嚨). - - 夘 ᩫ 櫠 㚞 夘 ⤞ ⫩ - 驫 ᩡ 㩞. 夜 櫠 - 嫜 ៜ ੫. 椦 - 壜, ᩜ! - - 騘, 嫜 櫠 㡫 Shift-Lock 夘 ⤦ - 㩫 㡫 j 㩜 ⫩ - 驫 1.1 婜 椞. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.1: - - ** 㩜 , 㩫 㡫 h,j,k,l 室. ** - ^ - k Hint: 㡫 h 夘 ' . - < h l > 㡫 l 夘 . - j 㡫 j ᡠ . - v - - 1. 婫 椞 ⮨ 韜 ᤜ. - - 2. 㩫 ⤦ 㡫 (j) ⮨ . ----> 騘 ⨜ 嫜 棜 . - - 3. 餫 㡫, 嫜 1.2. - -ਫ਼: ᢢ 㩘, 㩫 <ESC> 嫜 - ᩫ. 㩫 ⢘. - -ਫ਼: 㡫 ⧜ 婞 禬. hjkl - 嫜 嫜 櫜, 梠 婜. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.2: VIM - - !! : ⩜ ᧦ 㣘, ᩫ 梦 !! - - 1. 㩫 㡫 <ESC> ( 婫 嚦 ᩫ). - - 2. 㩫: :q! <ENTER>. - ----> ⨮ ᡫ 驜 槦 ⮜ ᤜ. - ⢜ 驜 ⨟ 㩫: - :wq <ENTER> - - 3. 嫜 , 㩫 - 㡘 㚞. 夘: vimtutor <ENTER> - 穘: vim tutor <ENTER> - ----> 'vim' 夜 ᡫ vim, 'tutor' 夘 - ⢦ 驦. - - 4. ⮜ 穜 㣘 ⮜ 埞, ⩫ - 㣘 1 3 嫜 嫜 ᡫ. - 㩫 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.3: - - - ** 婫 ᩫ 㩫 x ᯜ - 㨘 . ** - - 1. 婫 ⤞ --->. - - 2. 驜 , 婫 ⮨ 夘 - 㨘 . - - 3. 㩫 㡫 x ᯜ 磞 㨘. - - 4. ᙜ 㣘 2 ⮨ 4 ⮨ 櫘 夘 ੫. - ----> The ccow jumpedd ovverr thhe mooon. - - 5. 騘 夘 ੫, 夫 1.4. - -: ⮜ 㚞, 㩫 - 眫, 夜 㩞. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.4: - - - ** 婫 ᩫ 㩫 i ᢢ 壜. ** - - 1. 婫 ⮨ 髞 ⤞ --->. - - 2. ᤜ 髞 因 竜, 婫 - 髦 㨘 槦 壜. - - 3. 㩫 i 㩫 嫞 㡜. - - 4. 餜 ៜ ៦ 㩫 <ESC> ⯜ - ᩫ. ᙜ 㣘 2 ⮨ 4 驜 - 櫘. - ----> There is text misng this . ----> There is some text missing from this line. - - 5. 婫 ᤜ ⤦ 嫜 - 增. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1 - - - 1. ☪ 嫘 餫 嫜 㡫 hjkl. - h (⨘) j () k () l () - - 2. 嫜 Vim ( %) ᯫ: vim <ENTER> - - 3. 嫜 ᯫ: <ESC> :q! <ENTER> 樨 . - ᯫ: <ESC> :wq <ENTER> 㡜 . - - 4. ᯜ ⤘ 㨘 - ᩫ 㩫: x - - 5. ᚜ 壜 橦 婫 ᩫ ᯫ: - i 㩫 壜 <ESC> - -: 餫 <ESC> 嫜 ᩫ - 驜 磞 ⤞ . - -騘 婫 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.1: - - ** ᯫ dw ᯜ ⮨ ⢦ 嘪 ⥞. ** - - 1. 㩫 <ESC> 嫜 櫠 婫 ᩫ. - - 2. 婫 ⤞ --->. - - 3. 夜 ⥞ ⧜ . - - 4. ᯫ dw ᤜ ⥞ . - -: ᣣ dw 椞 橦 - 嫜. ᯘ ៦, 㩫 <ESC> - 㩫 . - ----> There are a some words fun that don't belong paper in this sentence. - - 5. ᙜ 㣘 3 4 ⮨ 櫘 夘 ੫ - 夜 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.2: - - ** 㩫 d$ ᯜ ⮨ ⢦ . ** - - 1. 㩫 <ESC> 嫜 櫠 婫 ᩫ. - - 2. 婫 ⤞ --->. - - 3. 婫 ⢦ ੫ ( 髞 . ). - - 4. 㩫 d$ ᯜ ⮨ ⢦ . - ----> Somebody typed the end of this line twice. end of this line twice. - - 5. 夜 2.3 ᙜ 夜. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.3: - - - d 夘 : - - [] d 壜 d [] 壜 - : - - 橜 (, ' =1). - d - . - 壜 - 㩜 ( 婫). - - 婫 壜: - w - ⮨ ⢦ ⥞, ᤦ ᩫ. - e - ⮨ ⢦ ⥞, ᩫ. - $ - ⮨ ⢦ . - -: 秦 ⫝̸, 餫 壜 橦 - 婫 ᩫ ᧦ 㩜 - 坜 婫 . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.4: '-' - - ** 㩫 dd ᯜ 梞 . ** - - 嘪 櫞 桢 , - Vim ᩠ 櫠 㫘 櫜 ᭜ d - ᯜ . - - 1. 婫 竜 ᩞ. - 2. ᯫ dd ᯜ . - 3. 騘 嫜 ⫘ . - 4. ᯫ 2dd (嫜 --壜) - ᯜ . - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.5: - - ** 㩫 u ⩜ 圪 , - U 驜 梞 . ** - - 1. 婫 ⤞ ---> - 㩫 髦 ៦. - 2. 㩫 x ᯜ 髦 磞 㨘. - 3. 騘 㩫 u ⩜ ⤞ . - 4. 驫 梘 餫 x. - 5. 騘 㩫 ⤘ U ⯜ - ᩫ. - 6. 騘 㩫 u ⩜ U - 磜 . - 7. 騘 㩫 CTRL-R (餫 ⤦ 㡫 CTRL R) - ⨜ (娜 ⩜). - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. 夘 㩠 . 騘 夜 - 增 㣘 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2 - - - 1. ᯜ ⮨ ⢦ ⥞ ᯫ: dw - - 2. ᯜ ⮨ ⢦ ᯫ: d$ - - 3. ᯜ 桢 ᯫ: dd - - 4. ᩫ 夘: - - [] 壜 [] 壜 - 槦: - - 橜 - - 夜, d - 壜 - 㩜 , w (⥞), - $ (⢦ ), . - - 5. ⩜ 磜 ⨚, 㩫: u ( u) - ⩜ 梜 , 㩫: U ( U) - ⩜ ⩜, 㩫: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.1: - - - ** 㩫 p 㩜 . ** - - 1. 婫 髞 ᛘ. - - 2. 㩫 dd ᯜ 穜 - ਠ 㣞 Vim. - - 3. 婫 ⧜ ᜠ - ⤞ . - - 4. 婫 ᩫ, 㩫 p ᢜ . - - 5. ᙜ 㣘 2 4 ᢜ 梜 - ੫ . - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.2: - - - ** 㩫 r 㨘 ᥜ 夘 - . ** - - 1. 婫 髞 ⤞ --->. - - 2. 婫 ⫩ 驫 夘 髦 ៦. - - 3. 㩫 r 㨘 妪 餜 ៦. - - 4. ᙜ 㣘 2 3 ⮨ 夘 ੫ 髞 . - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. 騘 夜 3.2. - -: ᩫ 櫠 ⧜ 夜 㩞, 殠 - 検. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.3: - - ** ᥜ 㣘 梞 ⥞, 㩫 cw . ** - - 1. 婫 髞 ⤞ --->. - - 2. 㩫 u ⥞ lubw. - - 3. 㩫 cw ੫ ⥞ ( 姫ਫ਼ , ᯫ 'ine'.) - - 4. 㩫 <ESC> 夜 棜 ៦ ( 髦 - 㨘 ). - - 5. ᙜ 㣘 3 4 ⮨ 櫦 髞 櫘 夘 - 因 竜. - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -婫 櫠 cw 殠 椦 ᜠ ⥞, ᚜ -婞 . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.4: c - - - ** 嫘 因 壜 . ** - - - 1. 眠 因 槦 . 夘: - - [] c 壜 c [] 壜 - - 2. 壜 夘 ᢠ 因, w (⥞), $ (⢦ ), . - - 3. 嫜 髞 ⤞ --->. - - 4. 婫 髦 ៦. - - 5. ᯫ c$ ᤜ 梦 因 竜 - 㩫 <ESC>. - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3 - - - 1. 㩜 壜 梠 ⮜ , 㩫 p . - ⤦ 壜 ( ᭫ - ᜠ . - - 2. 㩜 㨘 , 㩫 r - 㨘 㩜 . - - 3. ⧜ ᥜ ⤦ 壜 - ⮨ ⢦ 壜. .. ᯫ cw - ᥜ ⮨ ⢦ ⥞, c$ ᥜ - ⮨ ⢦ . - - 4. 夘: - - [] c 壜 c [] 壜 - -騘 婫 棜 . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.1: - - - ** 㩫 CTRL-g ⩞ ᩫ . - 㩫 SHIFT-G . ** - - ਫ਼: ᩫ 桢 ⩜ ᧦ 㣘!! - - 1. 㩫 ⤦ 㡫 Ctrl 㩫 g . ᩫ - ⨦ 囘 椦 妬 - 婫. 嫜 㣘 3. - - 2. 㩫 shift-G 嫜 ⢦ 妬. - - 3. 㩫 㩘 shift-G. - ⯜ 㩘 㩜 髞 Ctrl-g. - ( 嫜 , 坦 椞). - - 4. 韜 嚦 , ⩫ 㣘 1 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.2: - - - ** 㩫 / 磜 ᩞ ᮤ. ** - - 1. ᩫ 㩫 㨘 / . 㩫 櫠 - ☪ 坦 ⨦ 椞 : . - - 2. 騘 ᯫ 'errroor' <ENTER>. 夘 ⥞ ⢜ ᥜ. - - 3. ᥜ 因 ᩞ, 㩫 n . - ᥜ 因 ᩞ 埜 矬, 㩫 Shift-N . - - 4. ⢜ ᥜ ᩞ , 㩫 ? / . - ----> 㫞 ᩜ ⢦ 妬 婜 . - - "errroor" is not the way to spell error; errroor is an error. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.3: - - - ** 㩫 % 嫜 婫 ), ], } . ** - - 1. 㩫 ᧦ (, [, { - ⤞ --->. - - 2. 騘 㩫 㨘 % . - - 3. ☪ ⧜ 夘 婫 ⤟ 碞. - - 4. 㩫 % 㩜 髞 碞 - ( ). - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -: 夘 㩠 ਫ਼ ᣣ - ⩜! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.4: - - - ** ᯫ :s/old/new/g ᥜ 'new' 'old'. ** - - 1. 婫 ⤞ --->. - - 2. ᯫ :s/thee/the <ENTER> . 驫 櫠 椦 - 髞 ᤠ . - - 3. 騘 ᯫ :s/thee/the/g 餫 ᩫ - . 梜 婜 . - ----> thee best time to see thee flowers is in thee spring. - - 4. ᥜ ៜ ᤠ 嘪 , - ᯫ :#,#s/old/new/g 槦 #,# . - ᯫ :%s/old/new/g ᥜ ៜ ᤠ 梦 . - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4 - - - 1. Ctrl-g 坜 ⩞ ᩫ . - Shift-G 夜 ⢦ 妬. 뤘 - 磜 Shift-G 夜 夞 . - - 2. ᭦ / 磜 ᩞ ᮤ - ᩞ. ᭦ ? 磜 ᩞ ᮤ - ᩞ. 㫞 㩫 n 嫜 - 棜 ᤠ 因 矬 Shift-N ᥜ - 埜 矬. - - 3. 餫 % 橦 ☪ 夘 (,),[,],{, } 坜 - 婫 娠 . - - 4. ᩫ new 髦 old ᯫ :s/old/new - ᩫ new 'old' ᯫ :s/old/new/g - ᩫ ᩜ # ᯫ :#,#s/old/new/g - ᩫ 婜 ᯫ :%s/old/new/g - 髞 ਫ਼ ៜ ⩫ ⤘ 'c' "%s/old/new/gc - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.1: - - -** ᯫ :! 磜 ⩜. ** - - 1. 㩫 : ⩜ ⨦ - 椞. ⧜ 驜 . - - 2. 騘 㩫 ! (). ⧜ ⩜ - 㧦 . - - 3. ᛜ ᯫ ls ! 㩫 <ENTER>. - 婜 婫 暦 , 㩘 - . 㩫 :!dir ls 眠. - ----> ਫ਼: 夘 ⩜ 㧦 - 槦. - ----> ਫ਼: : ⧜ 坦 餫 <ENTER>. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.2: - - - ** 驜 ᚜ ᤘ , ᯫ :w . ** - - 1. ᯫ :!dir :!ls 婫 暦 . - 웞 ⨜ 櫠 ⧜ 㩜 <ENTER> . - - 2. ⥫ ⤘ 椦 妬 ᨮ 棘, TEST. - - 3. 騘 ᯫ: :w TEST (槦 TEST 夘 椦 妬 ⥘). - - 4. 靜 梦 (vim Tutor) 椦 TEST. - 穜, ᯫ :!dir 嫜 ᢦ . - ----> 驫 櫠 夘 Vim 夘 椦 - 妬 TEST, 㫘 嚨 tutor 櫘 驘. - - 5. 騘 ᯫ ᭦ (MS-DOS): :!del TEST - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.3: - - - ** 驜 㣘 妬, ᯫ :#,# w ** - - 1. ꢢ , ᯫ :!dir :!ls 婫 - ᢦ ⥫ ⤘ ᢢ 椦 妬 TEST. - - 2. 婫 ⨦ 囘 㩫 - Ctrl-g 嫜 . - ! - - 3. 騘 夜 ⨦ 囘 㩫 Ctrl-g . - ! - - 4. 驜 ⤘ 㣘 , ᯫ :#,# w TEST - 槦 #,# 穘 (,) TEST - 椦 妬 . - - 5. , 嫜 櫠 夘 :!dir ᯜ. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.4: - - - ** ᚜ 棜 妬, ᯫ :r ** - - 1. ᯫ :!dir 嫜 櫠 TEST ᨮ . - - 2. 㩫 ⨦ 囘. - -: 櫦 ⩜ 㣘 3 嫜 5.3. - 嫜 . - - 3. 騘 㩫 TEST 餫 :r TEST - 槦 TEST 夘 椦 妬. - -: 嫘 餫 婡 - ☪. - - 4. 穜 櫠 㟞, - 㩫 櫠 ᨮ 騘 嚨 㣘 5.3, - ⡛ 妬. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5 - - - 1. :! . - - 㩠 嚣 夘 (MS-DOS): - :!dir - ᤠ 婫 暦. - :!del - ᭜ . - - 2. :w ᭜ Vim 婡 椦 . - - 3. :#,#w 靜 # ⮨ # . - - 4. :r 婡 ᢢ ⩘ - ⮦ ⩞ . - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.1: - - - ** 㩫 o 奜 - 嫜 ᩫ ⤦. ** - - 1. 婫 ⤞ --->. - - 2. 㩫 o () 奜 - 嫜 ᩫ ⤦. - - 3. 騘 ᯫ ⤞ ---> 㩫 <ESC> - 嫜 ᩫ ⤦. - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. 奜 , 㩫 ⤘ - O, ⤘ o. ᩫ . -嚜 餫 Shift-O 橦 ☪ 夘 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.2: - - ** 㩫 a ᚜ 壜 . ** - - 1. 婫 ⢦ 髞 - ⤞ ---> 餫 $ ᩫ. - - 2. 㩫 ⤘ a () ⩜ 壜 㨘 - 夘 . ( A ⫝̸ ⢦ - ). - -ਫ਼: 皜 i , 㨘, - 壜 , <ESC>, -, ⢦, x, 椦 - 椦 ⩜ ⢦ ! - - 3. 驫 騘 髞 . 驫 婞 櫠 㡞 夘 - 因 ᩫ ⤦ ᩫ , - ⩞ ᚜ 壜. - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.3: - - - ** 㩫 R ᥜ 櫜 ⤘ 㨜. ** - - 1. 婫 髞 ⤞ --->. - - 2. 㩫 髞 ⥞ 夘 - 竜 ⤞ ---> ( ⥞ 'last'). - - 3. 㩫 騘 R ᥫ 梦 ⤦ 髞 - ᭦ 壜 驫 ᤜ 髞 因 - 竜. - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. 驫 櫠 櫘 <ESC> 嫜, ⤜ 㧦 - ૦ 壜. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.4: - - - ** 婫 ⫩ 驫 㫞 ᩫ - - ** - - 1. ᥫ 'ignore' ᚦ: - /ignore - 婫 餫 㡫 n. - - 2. ⩫ 'ic' (Ignore case) ᭦: - :set ic - - 3. ᥫ 騘 'ignore' 餫: n - 婫 㫞 棘 餫 㡫 n - - 4. ⩫ 'hlsearch' 'incsearch': - :set hls is - - 5. ᚜ 騘 㫞, 嫜 夜 - /ignore - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6 - - - 1. 餫 o 嚜 - ᩫ ⤦. - - 2. 㩫 a ᚜ 壜 㨘 夘 - ☪. 餫 A 棘 ⫝̸ 壜 ⢦ - . - - 3. 餫 R ⨮ ᩫ ᩫ ⮨ - <ESC> ⢟. - - 4. ᭦ ":set xxx" 坜 "xxx". - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 7: ON-LINE - - - ** 㩫 on-line 穫 㟜 ** - - Vim ⮜ ⤘ on-line 穫 㟜. 㩜, - ᩫ ᧦ : - - 㩫 㡫 <HELP> ( ⮜ ᧦) - - 㩫 㡫 <F1> ( ⮜ ᧦) - - ᯫ :help <ENTER> - - ᯫ :q <ENTER> 婜 㟜. - - 嫜 嫜 㟜 ៜ 壜, 夦 ᣜ - ":help". ᩫ ( <ENTER>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 8: SCRIPT - - ** 㩫 Vim ** - - Vim ⮜ 櫜 ' , Vi, - 櫜 夘 ⤘. 婜 嫜 - 櫜 ⧜ ᥜ ⤘ "vimrc". - - 1. 婫 餦 "vimrc", 穫 : - :edit ~/.vimrc Unix - :edit $VIM/_vimrc MS-Windows - - 2. 騘 ᚜ 壜 嚣 "vimrc": - :read $VIMRUNTIME/vimrc_example.vim - - 3. ᯫ : - :write - - 棜 㩜 Vim 㩜 ૠ - 礫. 嫜 ⩜ 梜 飜 ' - "vimrc". - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 餜 Vim Tutor. 㫘 驜 礫 - 增 ᡫ Vim, ᮠ 橞 驫 ⯜ - 㩜 ᡫ 硦. ⮜ - ⤞ 嘩 Vim ⮜ ᨘ . ᩫ - 槠 因 㩞: - ":help user-manual". - - ᙘ ⫞, 㤜 : - Vim - Vi Improved - by Steve Oualline - Publisher: New Riders - 髦 ⤦ Vim. - 嫜 㩠 ᨠ. - ᨮ 嚣 検. - 嫜 http://iccf-holland.org/click5.html - - 夘 櫜 櫜 Vi Vim, - 婞 飜: - Learning the Vi Editor - by Linda Lamb - Publisher: O'Reilly & Associates Inc. - 夘 ⤘ ៜ ᤫ ⢜ - ᤜ Vi. - ⡫ ⡛ ⮜ 棘 圪 Vim. - - 㚞 ᭫ Michael C. Pierce Robert K. Ware, - Colorado School of Mines 餫 ✪ Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Vim Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.gr.utf-8 b/runtime/tutor/tutor.gr.utf-8 deleted file mode 100644 index b6c08e15f..000000000 --- a/runtime/tutor/tutor.gr.utf-8 +++ /dev/null @@ -1,815 +0,0 @@ -=============================================================================== -= Κ αλ ω σ ή ρ θ α τ ε σ τ ο V I M T u t o r - Έκδοση 1.5 = -=============================================================================== - - Ο Vim είναι ένας πανίσχυρος συντάκτης που έχει πολλές εντολές, πάρα - πολλές για να εξηγήσουμε σε μία περιήγηση όπως αυτή. Αυτή η περιήγηση - σχεδιάστηκε για να περιγράψει ικανοποιητικά τις εντολές που θα σας - κάνουν να χρησιμοποιείτε εύκολα τον Vim σαν έναν γενικής χρήσης συντάκτη. - - Ο κατά προσέγγιση χρόνος που απαιτείται για να ολοκληρώσετε την περιήγηση - είναι 25-30 λεπτά, εξαρτώντας από το πόσο χρόνο θα ξοδέψετε για - πειραματισμούς. - - Οι εντολές στα μαθήματα θα τροποποιήσουν το κείμενο. Δημιουργήστε ένα - αντίγραφο αυτού του αρχείου για να εξασκηθείτε (αν ξεκινήσατε το - "Vimtutor" αυτό είναι ήδη ένα αντίγραφο). - - Είναι σημαντικό να θυμάστε ότι αυτή η περιήγηση είναι οργανωμένη έτσι - ώστε να διδάσκει μέσω της χρήσης. Αυτό σημαίνει ότι χρειάζεται να - εκτελείτε τις εντολές για να τις μάθετε σωστά. Αν διαβάζετε μόνο το - κείμενο, θα τις ξεχάσετε! - - Τώρα, βεβαιωθείτε ότι το πλήκτρο Shift-Lock ΔΕΝ είναι πατημένο και - πατήστε το πλήκτρο j αρκετές φορές για να μετακινήσετε τον δρομέα έτσι - ώστε το Μάθημα 1.1 να γεμίσει πλήρως την οθόνη. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 1.1: ΜΕΤΑΚΙΝΟΝΤΑΣ ΤΟΝ ΔΡΟΜΕΑ - - ** Για να κινήσετε τον δρομέα, πατήστε τα πλήκτρα h,j,k,l όπως δείχνεται. ** - ^ - k Hint: Το πλήκτρο h είναι αριστερά και κινεί στ' αριστερά. - < h l > Το πλήκτρο l είναι δεξιά και κινεί στα δεξιά. - j Το πλήκτρο j μοιάζει με βελάκι προς τα κάτω. - v - - 1. Μετακινείστε τον δρομέα τριγύρω στην οθόνη μέχρι να νοιώθετε άνετα. - - 2. Κρατήστε πατημένο το κάτω πλήκτρο (j) μέχρι να επαναληφθεί. ----> Τώρα ξέρετε πώς να μετακινηθείτε στο επόμενο μάθημα. - - 3. Χρησιμοποιώντας το κάτω πλήκτρο, μετακινηθείτε στο Μάθημα 1.2. - -Σημείωση: Αν αμφιβάλλετε για κάτι που πατήσατε, πατήστε <ESC> για να βρεθείτε - στην Κανονική Κατάσταση. Μετά πατήστε ξανά την εντολή που θέλατε. - -Σημείωση: Τα πλήκτρα του δρομέα θα πρέπει επίσης να δουλεύουν. Αλλά με τα hjkl - θα μπορείτε να κινηθείτε πολύ γρηγορότερα, μόλις τα συνηθίσετε. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 1.2: ΜΠΑΙΝΟΝΤΑΣ ΚΑΙ ΒΓΑΙΝΟΝΤΑΣ ΣΤΟΝ VIM - - !! ΣΗΜΕΙΩΣΗ: Πριν εκτελέσετε κάποιο από τα βήματα, διαβάστε όλο το μάθημα!! - - 1. Πατήστε το πλήκτρο <ESC> (για να είστε σίγουρα στην Κανονική Κατάσταση). - - 2. Πληκτρολογήστε: :q! <ENTER>. - ----> Αυτό εξέρχεται από τον συντάκτη ΧΩΡΙΣ να σώσει όποιες αλλαγές έχετε κάνει. - Αν θέλετε να σώσετε τις αλλαγές και να εξέρθετε πληκτρολογήστε: - :wq <ENTER> - - 3. Όταν δείτε την προτροπή του φλοιού, πληκτρολογήστε την εντολή με την οποία - μπήκατε σε αυτήν την περιήγηση. Μπορεί να είναι: vimtutor <ENTER> - Κανονικά θα χρησιμοποιούσατε: vim tutor <ENTER> - ----> 'vim' σημαίνει εισαγωγή στον συντάκτη vim, 'tutor' είναι το αρχείο που - θέλουμε να διορθώσουμε. - - 4. Αν έχετε απομνημονεύσει αυτά τα βήματα και έχετε αυτοπεποίθηση, εκτελέστε - τα βήματα 1 έως 3 για να βγείτε και να μπείτε ξανά στον συντάκτη. Μετά - μετακινήστε τον δρομέα κάτω στο Μάθημα 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 1.3: ΔΙΟΡΘΩΣΗ ΚΕΙΜΕΝΟΥ - ΔΙΑΓΡΑΦΗ - - ** Όσο είστε στην Κανονική Κατάσταση πατήστε x για να διαγράψετε τον - χαρακτήρα κάτω από τον δρομέα. ** - - 1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->. - - 2. Για να διορθώσετε τα λάθη, κινείστε τον δρομέα μέχρι να είναι πάνω από - τον χαρακτήρα που θα διαγραφεί. - - 3. Πατήστε το πλήκτρο x για να διαγράψετε τον ανεπιθύμητο χαρακτήρα. - - 4. Επαναλάβετε τα βήματα 2 μέχρι 4 μέχρι η πρόταση να είναι σωστή. - ----> The ccow jumpedd ovverr thhe mooon. - - 5. Τώρα που η γραμμή είναι σωστή, πηγαίντε στο Μάθημα 1.4. - -ΣΗΜΕΙΩΣΗ: Καθώς διατρέχετε αυτήν την περιήγηση, προσπαθήστε να μην - απομνημονεύετε, μαθαίνετε με τη χρήση. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 1.4: ΔΙΟΡΘΩΣΗ ΚΕΙΜΕΝΟΥ - ΠΑΡΕΜΒΟΛΗ - - ** Όσο είστε σε Κανονική Κατάσταση πατήστε i για να παρεμβάλλετε κείμενο. ** - - 1. Μετακινείστε τον δρομέα μέχρι την πρώτη γραμμή παρακάτω σημειωμένη με --->. - - 2. Για να κάνετε την πρώτη γραμμή ίδια με την δεύτερη, μετακινείστε τον - δρομέα πάνω στον πρώτο χαρακτήρα ΜΕΤΑ από όπου θα παρεμβληθεί το κείμενο. - - 3. Πατήστε το i και πληκτρολογήστε τις απαραίτητες προσθήκες. - - 4. Καθώς διορθώνετε κάθε λάθος πατήστε <ESC> για να επιστρέψετε στην - Κανονική Κατάσταση. Επαναλάβετε τα βήματα 2 μέχρι 4 για να διορθώσετε - την πρόταση. - ----> There is text misng this . ----> There is some text missing from this line. - - 5. Όταν είστε άνετοι με την παρεμβολή κειμένου μετακινηθείτε στην - παρακάτω περίληψη. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 1 ΠΕΡΙΛΗΨΗ - - - 1. Ο δρομέας κινείται χρησιμοποιώντας είτε τα πλήκτρα δρομέα ή τα hjkl. - h (αριστέρα) j (κάτω) k (πάνω) l (δεξιά) - - 2. Για να μπείτε στον Vim (από την προτροπή %) γράψτε: vim ΑΡΧΕΙΟ <ENTER> - - 3. Για να βγείτε γράψτε: <ESC> :q! <ENTER> για απόρριψη των αλλαγών. - Ή γράψτε: <ESC> :wq <ENTER> για αποθήκευση των αλλαγών. - - 4. Για να διαγράψετε έναν χαρακτήρα κάτω από τον δρομέα σε - Κανονική Κατάσταση πατήστε: x - - 5. Για να εισάγετε κείμενο στον δρομέα όσο είστε σε Κανονική Κατάσταση γράψτε: - i πληκτρολογήστε το κείμενο <ESC> - -ΣΗΜΕΙΩΣΗ: Πατώντας <ESC> θα τοποθετηθείτε στην Κανονική Κατάσταση ή θα - ακυρώσετε μία ανεπιθύμητη και μερικώς ολοκληρωμένη εντολή. - -Τώρα συνεχίστε με το Μάθημα 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 2.1: ΕΝΤΟΛΕΣ ΔΙΑΓΡΑΦΗΣ - - ** Γράψτε dw για να διαγράψετε μέχρι το τέλος μίας λέξης. ** - - 1. Πατήστε <ESC> για να βεβαιωθείτε ότι είστε στην Κανονική Κατάσταση. - - 2. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->. - - 3. Πηγαίνετε τον δρομέα στην αρχή της λέξης που πρέπει να διαγραφεί. - - 4. Γράψτε dw για να κάνετε την λέξη να εξαφανιστεί. - -ΣΗΜΕΙΩΣΗ: Τα γράμματα dw θα εμφανιστούν στην τελευταία γραμμή της οθόνης όσο - τα πληκτρολογείτε. Αν γράψατε κάτι λάθος, πατήστε <ESC> και - ξεκινήστε από την αρχή. - ----> There are a some words fun that don't belong paper in this sentence. - - 5. Επαναλάβετε τα βήματα 3 και 4 μέχρι η πρόταση να είναι σωστή και - πηγαίνετε στο Μάθημα 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 2.2: ΠΕΡΙΣΣΟΤΕΡΕΣ ΕΝΤΟΛΕΣ ΔΙΑΓΡΑΦΗΣ - - ** Πληκτρολογήστε d$ για να διαγράψετε μέχρι το τέλος της γραμμής. ** - - 1. Πατήστε <ESC> για να βεβαιωθείτε ότι είστε στην Κανονική Κατάσταση. - - 2. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->. - - 3. Μετακινείστε τον δρομέα στο τέλος της σωστής γραμμής (ΜΕΤΑ την πρώτη . ). - - 4. Πατήστε d$ για να διαγράψετε μέχρι το τέλος της γραμμής. - ----> Somebody typed the end of this line twice. end of this line twice. - - 5. Πηγαίνετε στο Μάθημα 2.3 για να καταλάβετε τι συμβαίνει. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 2.3: ΠΕΡΙ ΕΝΤΟΛΩΝ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΩΝ - - -Η μορφή της εντολής διαγραφής d είναι ως εξής: - - [αριθμός] d αντικείμενο Ή d [αριθμός] αντικείμενο - Όπου: - αριθμός - πόσες φορές θα εκτελεστεί η εντολή (προαιρετικό, εξ' ορισμού=1). - d - η εντολή της διαγραφής. - αντικείμενο - πάνω σε τι θα λειτουργήσει η εντολή (παρακάτω λίστα). - - Μία μικρή λίστα από αντικείμενα: - w - από τον δρομέα μέχρι το τέλος της λέξης, περιλαμβάνοντας το διάστημα. - e - από τον δρομέα μέχρι το τέλος της λέξης, ΧΩΡΙΣ το διάστημα. - $ - από τον δρομέα μέχρι το τέλος της γραμμής. - -ΣΗΜΕΙΩΣΗ: Για τους τύπους της περιπέτειας, πατώντας απλώς το αντικείμενο όσο - είστε στην Κανονική Κατάσταση χωρίς κάποια εντολή θα μετακινήσετε - τον δρομέα όπως καθορίζεται στην λίστα αντικειμένων. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 2.4: ΜΙΑ ΕΞΑΙΡΕΣΗ ΣΤΗΝ 'ΕΝΤΟΛΗ-ΑΝΤΙΚΕΙΜΕΝΟ' - - ** Πληκτρολογήστε dd για να διαγράψετε όλη τη γραμμή. ** - - Εξαιτίας της συχνότητας της διαγραφής ολόκληρης γραμμής, οι σχεδιαστές - του Vim αποφάσισαν ότι θα ήταν ευκολότερο να γράφετε απλώς δύο d στη - σειρά για να διαγράψετε μία γραμμή. - - 1. Μετακινείστε τον δρομέα στη δεύτερη γραμμή της παρακάτω φράσης. - 2. Γράψτε dd για να διαγράψετε τη γραμμή. - 3. Τώρα μετακινηθείτε στην τέταρτη γραμμή. - 4. Γράψτε 2dd (θυμηθείτε αριθμός-εντολή-αντικείμενο) για να - διαγράψετε δύο γραμμές. - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 2.5: Η ΕΝΤΟΛΗ ΑΝΑΙΡΕΣΗΣ - - ** Πατήστε u για να αναιρέσετε τις τελευταίες εντολές, - U για να διορθώσετε όλη τη γραμμή. ** - - 1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με ---> και - τοποθετήστε τον πάνω στο πρώτο λάθος. - 2. Πατήστε x για να διαγράψετε τον πρώτο ανεπιθύμητο χαρακτήρα. - 3. Τώρα πατήστε u για να αναιρέσετε την τελευταία εκτελεσμένη εντολή. - 4. Αυτή τη φορά διορθώστε όλα τα λάθη στη γραμμή χρησιμοποιώντας την εντολή x. - 5. Τώρα πατήστε ένα κεφαλαίο U για να επιστρέψετε τη γραμμή στην αρχική - της κατάσταση. - 6. Τώρα πατήστε u μερικές φορές για να αναιρέσετε την U και - προηγούμενες εντολές. - 7. Τώρα πατήστε CTRL-R (κρατώντας πατημένο το πλήκτρο CTRL καθώς πατάτε το R) - μερικές φορές για να επαναφέρετε τις εντολές (αναίρεση των αναιρέσεων). - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. Αυτές είναι πολύ χρήσιμες εντολές. Τώρα πηγαίνετε στην - Περίληψη του Μαθήματος 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 2 ΠΕΡΙΛΗΨΗ - - - 1. Για να διαγράψετε από τον δρομέα μέχρι το τέλος λέξης γράψτε: dw - - 2. Για να διαγράψετε από τον δρομέα μέχρι το τέλος γραμμής γράψτε: d$ - - 3. Για να διαγράψετε ολόκληρη τη γραμμή γράψτε: dd - - 4. Η μορφή για μία εντολή στην Κανονική Κατάσταση είναι: - - [αριθμός] εντολή αντικείμενο Ή εντολή [αριθμός] αντικείμενο - όπου: - αριθμός - πόσες φορές να επαναληφθεί η εντολή - εντολή - τι να γίνει, όπως η d για διαγραφή - αντικείμενο - πάνω σε τι να ενεργήσει η εντολή, όπως w (λέξη), - $ (τέλος της γραμμής), κτλ. - - 5. Για να αναιρέσετε προηγούμενες ενέργειες, πατήστε: u (πεζό u) - Για να αναιρέσετε όλες τις αλλαγές στη γραμμή, πατήστε: U (κεφαλαίο U) - Για να αναιρέσετε τις αναιρέσεις, πατήστε: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 3.1: Η ΕΝΤΟΛΗ ΤΟΠΟΘΕΤΗΣΗΣ - - - ** Πατήστε p για να τοποθετήσετε την τελευταία διαγραφή μετά τον δρομέα. ** - - 1. Μετακινείστε τον δρομέα στην πρώτη γραμμή της παρακάτω ομάδας. - - 2. Πατήστε dd για να διαγράψετε τη γραμμή και να την αποθηκεύσετε σε - προσωρινή μνήμη του Vim. - - 3. Μετακινείστε τον δρομέα στη γραμμή ΠΑΝΩ από εκεί που θα πρέπει να πάει - η διαγραμμένη γραμμή. - - 4. Όσο είστε σε Κανονική Κατάσταση, πατήστε p για να βάλετε τη γραμμή. - - 5. Επαναλάβετε τα βήματα 2 έως 4 για να βάλετε όλες τις γραμμές στη - σωστή σειρά. - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 3.2: Η ΕΝΤΟΛΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ - - - ** Πατήστε r και χαρακτήρα για να αλλάξετε αυτόν που είναι - κάτω από τον δρομέα. ** - - 1. Μετακινείστε τον δρομέα στην πρώτη γραμμή παρακάτω σημειωμένη με --->. - - 2. Μετακινείστε τον δρομέα έτσι ώστε να είναι πάνω στο πρώτο λάθος. - - 3. Πατήστε r και μετά τον χαρακτήρα ο οποίος διορθώνει το λάθος. - - 4. Επαναλάβετε τα βήματα 2 και 3 μέχρι να είναι σωστή η πρώτη γραμμή. - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. Τώρα πηγαίνετε στο Μάθημα 3.2. - -ΣΗΜΕΙΩΣΗ: Να θυμάστε ότι πρέπει να μαθαίνετε με τη χρήση, και όχι με - την απομνημόνευση. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 3.3: Η ΕΝΤΟΛΗ ΑΛΛΑΓΗΣ - - ** Για να αλλάξετε τμήμα ή όλη τη λέξη, πατήστε cw . ** - - 1. Μετακινείστε τον δρομέα στην πρώτη γραμμή παρακάτω σημειωμένη με --->. - - 2. Τοποθετήστε τον δρομέα πάνω στο u της λέξης lubw. - - 3. Πατήστε cw και τη σωστή λέξη (στην περίπτωση αυτή, γράψτε 'ine'.) - - 4. Πατήστε <ESC> και πηγαίνετε στο επόμενο λάθος (στον πρώτο - χαρακτήρα προς αλλαγή). - - 5. Επαναλάβετε τα βήματα 3 και 4 μέχρις ότου η πρώτη πρόταση να είναι - ίδια με τη δεύτερη. - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -Παρατηρείστε ότι η cw όχι μόνο αντικαθιστάει τη λέξη, αλλά σας εισάγει -επίσης σε παρεμβολή. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 3.4: ΠΕΡΙΣΣΟΤΕΡΕΣ ΑΛΛΑΓΕΣ ΜΕ c - - - ** Η εντολή αλλαγής χρησιμοποιείται με τα ίδια αντικείμενα της διαγραφής. ** - - - 1. Η εντολή αλλαγής δουλεύει με τον ίδιο τρόπο όπως η διαγραφή. Η μορφή είναι: - - [αριθμός] c αντικείμενο Ή c [αριθμός] αντικείμενο - - 2. Τα αντικείμενα είναι πάλι τα ίδια, όπως w (λέξη), $ (τέλος γραμμής), κτλ. - - 3. Μετακινηθείτε στην πρώτη γραμμή παρακάτω σημειωμένη με --->. - - 4. Μετακινείστε τον δρομέα στο πρώτο λάθος. - - 5. Γράψτε c$ για να κάνετε το υπόλοιπο της γραμμής ίδιο με τη δεύτερη - και πατήστε <ESC>. - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 3 ΠΕΡΙΛΗΨΗ - - - 1. Για να τοποθετήσετε κείμενο που μόλις έχει διαγραφεί, πατήστε p . - Αυτό τοποθετεί το διαγραμμένο κείμενο ΜΕΤΑ τον δρομέα (αν διαγράφτηκε - γραμμή θα πάει μετά στη γραμμή κάτω από τον δρομέα. - - 2. Για να αντικαταστήσετε τον χαρακτήρα κάτω από τον δρομέα, πατήστε r - και μετά τον χαρακτήρα που θα αντικαταστήσει τον αρχικό. - - 3. Η εντολή αλλαγής σας επιτρέπει να αλλάξετε το καθορισμένο αντικείμενο - από τον δρομέα μέχρι το τέλος του αντικείμενο. Π.χ. γράψτε cw για να - αλλάξετε από τον δρομέα μέχρι το τέλος της λέξης, c$ για να αλλάξετε - μέχρι το τέλος γραμμής. - - 4. Η μορφή για την αλλαγή είναι: - - [αριθμός] c αντικείμενο Ή c [αριθμός] αντικείμενο - -Τώρα συνεχίστε με το επόμενο μάθημα. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 4.1: ΘΕΣΗ ΚΑΙ ΚΑΤΑΣΤΑΣΗ ΑΡΧΕΙΟΥ - - - ** Πατήστε CTRL-g για να εμφανιστεί η θέση σας στο αρχείο και η κατάστασή του. - Πατήστε SHIFT-G για να πάτε σε μία γραμμή στο αρχείο. ** - - Σημείωση: Διαβάστε ολόκληρο το μάθημα πριν εκτελέσετε κάποιο από τα βήματα!! - - 1. Κρατήστε πατημένο το πλήκτρο Ctrl και πατήστε g . Μία γραμμή κατάστασης - θα εμφανιστεί στο κάτω μέρος της σελίδας με το όνομα αρχείου και τη - γραμμή που είστε. Θυμηθείτε τον αριθμό γραμμής για το Βήμα 3. - - 2. Πατήστε shift-G για να μετακινηθείτε στο τέλος του αρχείου. - - 3. Πατήστε τον αριθμό της γραμμής που ήσασταν και μετά shift-G. Αυτό θα - σας επιστρέψει στη γραμμή που ήσασταν πριν πατήσετε για πρώτη φορά Ctrl-g. - (Όταν πληκτρολογείτε τους αριθμούς, ΔΕΝ θα εμφανίζονται στην οθόνη). - - 4. Αν νοιώθετε σίγουρος για αυτό, εκτελέστε τα βήματα 1 έως 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 4.2: Η ΕΝΤΟΛΗ ΑΝΑΖΗΤΗΣΗΣ - - - ** Πατήστε / ακολουθούμενο από τη φράση που ψάχνετε. ** - - 1. Σε Κανονική Κατάσταση πατήστε τον χαρακτήρα / . Παρατηρήστε ότι αυτός και - ο δρομέας εμφανίζονται στο κάτω μέρος της οθόνης όπως με την εντολή : . - - 2. Τώρα γράψτε 'errroor' <ENTER>. Αυτή είναι η λέξη που θέλετε να ψάξετε. - - 3. Για να ψάξετε ξανά για την ίδια φράση, πατήστε απλώς n . - Για να ψάξετε την ίδια φράση στην αντίθετη κατεύθυνση, πατήστε Shift-N . - - 4. Αν θέλετε να ψάξετε για μία φράση προς τα πίσω, χρησιμοποιήστε την εντολή ? αντί της / . - ----> Όταν η αναζήτηση φτάσει στο τέλος του αρχείου θα συνεχίσει από την αρχή. - - "errroor" is not the way to spell error; errroor is an error. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 4.3: ΕΥΡΕΣΗ ΤΑΙΡΙΑΣΤΩΝ ΠΑΡΕΝΘΕΣΕΩΝ - - - ** Πατήστε % για να βρείτε την αντίστοιχη ), ], ή } . ** - - 1. Τοποθετήστε τον δρομέα σε κάποια (, [, ή { στην παρακάτω γραμμή - σημειωμένη με --->. - - 2. Τώρα πατήστε τον χαρακτήρα % . - - 3. Ο δρομέας θα πρέπει να είναι στην αντίστοιχη παρένθεση ή αγκύλη. - - 4. Πατήστε % για να μετακινήσετε τον δρομέα πίσω στην πρώτη αγκύλη - (του ζευγαριού). - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -ΣΗΜΕΙΩΣΗ: Αυτό είναι πολύ χρήσιμο στην αποσφαλμάτωση ενός προγράμματος - με μη ταιριαστές παρενθέσεις! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 4.4: ΕΝΑΣ ΤΡΟΠΟΣ ΓΙΑ ΑΛΛΑΓΗ ΛΑΘΩΝ - - - ** Γράψτε :s/old/new/g για να αλλάξετε το 'new' με το 'old'. ** - - 1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->. - - 2. Γράψτε :s/thee/the <ENTER> . Σημειώστε ότι αυτή η εντολή αλλάζει μόνο - την πρώτη εμφάνιση στη γραμμή. - - 3. Τώρα γράψτε :s/thee/the/g εννοώντας γενική αντικατάσταση στη - γραμμή. Αυτό αλλάζει όλες τις εμφανίσεις επί της γραμμής. - ----> thee best time to see thee flowers is in thee spring. - - 4. Για να αλλάξετε κάθε εμφάνιση μίας συμβολοσειράς μεταξύ δύο γραμμών, - γράψτε :#,#s/old/new/g όπου #,# οι αριθμοί των δύο γραμμών. - Γράψτε :%s/old/new/g για να αλλάξετε κάθε εμφάνιση σε όλο το αρχείο. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 4 ΠΕΡΙΛΗΨΗ - - - 1. Το Ctrl-g εμφανίζει τη θέση σας στο αρχείο και την κατάστασή του. - Το Shift-G πηγαίνει στο τέλος του αρχείου. Ένας αριθμός γραμμής - ακολουθούμενος από Shift-G πηγαίνει σε εκείνη τη γραμμή. - - 2. Γράφοντας / ακολουθούμενο από μία φράση ψάχνει προς τα ΜΠΡΟΣΤΑ για - τη φράση. Γράφοντας ? ακολουθούμενο από μία φράση ψάχνει προς τα ΠΙΣΩ - για τη φράση. Μετά από μία αναζήτηση πατήστε n για να βρείτε την - επόμενη εμφάνιση προς την ίδια κατεύθυνση ή Shift-N για να ψάξετε - προς την αντίθετη κατεύθυνση. - - 3. Πατώντας % όσο ο δρομέας είναι πάνω σε μία (,),[,],{, ή } εντοπίζει - το αντίστοιχο ταίρι του ζευγαριού. - - 4. Για αντικατάσταση με new του πρώτου old στη γραμμή γράψτε :s/old/new - Για αντικατάσταση με new όλων των 'old' στη γραμμή γράψτε :s/old/new/g - Για αντικατάσταση φράσεων μεταξύ δύο # γραμμών γράψτε :#,#s/old/new/g - Για αντικατάσταση όλων των εμφανίσεων στο αρχείο γράψτε :%s/old/new/g - Για ερώτηση επιβεβαίωσης κάθε φορά προσθέστε ένα 'c' "%s/old/new/gc - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 5.1: ΠΩΣ ΕΚΤΕΛΩ ΜΙΑ ΕΞΩΤΕΡΙΚΗ ΕΝΤΟΛΗ - - -** Γράψτε :! ακολουθούμενο από μία εξωτερική εντολή για να την εκτελέσετε. ** - - 1. Πατήστε την οικεία εντολή : για να θέσετε τον δρομέα στο κάτω μέρος - της οθόνης. Αυτό σας επιτρέπει να δώσετε μία εντολή. - - 2. Τώρα πατήστε το ! (θαυμαστικό). Αυτό σας επιτρέπει να εκτελέσετε - οποιαδήποτε εξωτερική εντολή του φλοιού. - - 3. Σαν παράδειγμα γράψτε ls μετά από το ! και πατήστε <ENTER>. Αυτό θα - σας εμφανίσει μία λίστα του καταλόγου σας, ακριβώς σαν να ήσασταν στην - προτροπή του φλοιού. Ή χρησιμοποιήστε :!dir αν το ls δεν δουλεύει. - ----> Σημείωση: Είναι δυνατόν να εκτελέσετε οποιαδήποτε εξωτερική εντολή - με αυτόν τον τρόπο. - ----> Σημείωση: Όλες οι εντολές : πρέπει να τερματίζονται πατώντας το <ENTER>. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 5.2: ΠΕΡΙΣΣΟΤΕΡΑ ΠΕΡΙ ΕΓΓΡΑΦΗΣ ΑΡΧΕΙΩΝ - - - ** Για να σώσετε τις αλλάγες που κάνατε στο αρχείο, γράψτε :w ΑΡΧΕΙΟ. ** - - 1. Γράψτε :!dir ή :!ls για να πάρετε μία λίστα του καταλόγου σας. - Ήδη ξέρετε ότι πρέπει να πατήσετε <ENTER> μετά από αυτό. - - 2. Διαλέξτε ένα όνομα αρχείου που δεν υπάρχει ακόμα, όπως το TEST. - - 3. Τώρα γράψτε: :w TEST (όπου TEST είναι το όνομα αρχείου που διαλέξατε). - - 4. Αυτό σώζει όλο το αρχείο (vim Tutor) με το όνομα TEST. Για να το - επαληθεύσετε, γράψτε ξανά :!dir για να δείτε τον κατάλογό σας. - ----> Σημειώστε ότι αν βγαίνατε από τον Vim και μπαίνατε ξανά με το όνομα - αρχείου TEST, το αρχείο θα ήταν ακριβές αντίγραφο του tutor όταν το σώσατε. - - 5. Τώρα διαγράψτε το αρχείο γράφοντας (MS-DOS): :!del TEST - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 5.3: ΕΠΙΛΕΚΤΙΚΗ ΕΝΤΟΛΗ ΕΓΓΡΑΦΗΣ - - - ** Για να σώσετε τμήμα του αρχείου, γράψτε :#,# w ΑΡΧΕΙΟ ** - - 1. Άλλη μια φορά, γράψτε :!dir ή :!ls για να πάρετε μία λίστα από τον - κατάλογό σας και διαλέξτε ένα κατάλληλο όνομα αρχείου όπως το TEST. - - 2. Μετακινείστε τον δρομέα στο πάνω μέρος αυτής της σελίδας και πατήστε - Ctrl-g για να βρείτε τον αριθμό αυτής της γραμμής. - ΝΑ ΘΥΜΑΣΤΕ ΑΥΤΟΝ ΤΟΝ ΑΡΙΘΜΟ! - - 3. Τώρα πηγαίνετε στο κάτω μέρος της σελίδας και πατήστε Ctrl-g ξανά. - ΝΑ ΘΥΜΑΣΤΕ ΚΑΙ ΑΥΤΟΝ ΤΟΝ ΑΡΙΘΜΟ! - - 4. Για να σώσετε ΜΟΝΟ ένα τμήμα σε αρχείο, γράψτε :#,# w TEST - όπου #,# οι δύο αριθμοί που απομνημονεύσατε (πάνω,κάτω) και TEST το - όνομα του αρχείου σας. - - 5. Ξανά, δείτε ότι το αρχείο είναι εκεί με την :!dir αλλά ΜΗΝ το διαγράψετε. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 5.4: ΑΝΑΚΤΩΝΤΑΣ ΚΑΙ ΕΝΩΝΟΝΤΑΣ ΑΡΧΕΙΑ - - - ** Για να εισάγετε τα περιεχόμενα ενός αρχείου, γράψτε :r ΑΡΧΕΙΟ ** - - 1. Γράψτε :!dir για να βεβαιωθείτε ότι το TEST υπάρχει από πριν. - - 2. Τοποθετήστε τον δρομέα στο πάνω μέρος της σελίδας. - -ΣΗΜΕΙΩΣΗ: Αφότου εκτελέσετε το Βήμα 3 θα δείτε το Μάθημα 5.3. - Μετά κινηθείτε ΚΑΤΩ ξανά προς το μάθημα αυτό. - - 3. Τώρα ανακτήστε το αρχείο σας TEST χρησιμοποιώντας την εντολή :r TEST - όπου TEST είναι το όνομα του αρχείου. - -ΣΗΜΕΙΩΣΗ: Το αρχείο που ανακτάτε τοποθετείται ξεκινώντας εκεί που βρίσκεται - ο δρομέας. - - 4. Για να επαληθεύσετε ότι το αρχείο ανακτήθηκε, πίσω τον δρομέα και - παρατηρήστε ότι υπάρχουν τώρα δύο αντίγραφα του Μαθήματος 5.3, το - αρχικό και η έκδοση του αρχείου. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 5 ΠΕΡΙΛΗΨΗ - - - 1. :!εντολή εκτελεί μία εξωτερική εντολή. - - Μερικά χρήσιμα παραδείγματα είναι (MS-DOS): - :!dir - εμφάνιση λίστας ενός καταλόγου. - :!del ΑΡΧΕΙΟ - διαγράφει το ΑΡΧΕΙΟ. - - 2. :w ΑΡΧΕΙΟ γράφει το τρέχων αρχείο του Vim στο δίσκο με όνομα ΑΡΧΕΙΟ. - - 3. :#,#w ΑΡΧΕΙΟ σώζει τις γραμμές από # μέχρι # στο ΑΡΧΕΙΟ. - - 4. :r ΑΡΧΕΙΟ ανακτεί το αρχείο δίσκου ΑΡΧΕΙΟ και το παρεμβάλλει μέσα - στο τρέχον αρχείο μετά από τη θέση του δρομέα. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 6.1: Η ΕΝΤΟΛΗ ΑΝΟΙΓΜΑΤΟΣ - - - ** Πατήστε o για να ανοίξετε μία γραμμή κάτω από τον δρομέα και να - βρεθείτε σε Κατάσταση Κειμένου. ** - - 1. Μετακινείστε τον δρομέα στην παρακάτω γραμμή σημειωμένη με --->. - - 2. Πατήστε o (πεζό) για να ανοίξετε μία γραμμή ΚΑΤΩ από τον δρομέα και να - βρεθείτε σε Κατάσταση Κειμένου. - - 3. Τώρα αντιγράψτε τη σημειωμένη με ---> γραμμή και πατήστε <ESC> για να - βγείτε από την Κατάσταση Κειμένου. - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. Για να ανοίξετε μία γραμμή ΠΑΝΩ από τον δρομέα, πατήστε απλά ένα κεφαλαίο - O, αντί για ένα πεζό o. Δοκιμάστε το στην παρακάτω γραμμή. -Ανοίγετε γραμμή πάνω από αυτήν πατώντας Shift-O όσο ο δρομέας είναι στη γραμμή - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 6.2: Η ΕΝΤΟΛΗ ΠΡΟΣΘΗΚΗΣ - - ** Πατήστε a για να εισάγετε κείμενο ΜΕΤΑ τον δρομέα. ** - - 1. Μετακινείστε τον δρομέα στο τέλος της πρώτης γραμμής παρακάτω - σημειωμένη με ---> πατώντας $ στην Κανονική Κατάσταση. - - 2. Πατήστε ένα a (πεζό) για να προσθέσετε κείμενο ΜΕΤΑ από τον χαρακτήρα - που είναι κάτω από τον δρομέα. (Το κεφαλαίο A προσθέτει στο τέλος - της γραμμής). - -Σημείωση: Αυτό αποφεύγει το πάτημα του i , τον τελευταίο χαρακτήρα, το - κείμενο της εισαγωγής, <ESC>, δρομέα-δεξιά, και τέλος, x, μόνο και - μόνο για να προσθέσετε στο τέλος της γραμμής! - - 3. Συμπληρώστε τώρα την πρώτη γραμμή. Σημειώστε επίσης ότι η προσθήκη είναι - ακριβώς ίδια στην Κατάσταση Κειμένου με την Κατάσταση Εισαγωγής, εκτός - από τη θέση που εισάγεται το κείμενο. - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 6.3: ΑΛΛΗ ΕΚΔΟΣΗ ΤΗΣ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ - - - ** Πατήστε κεφαλαίο R για να αλλάξετε περισσότερους από έναν χαρακτήρες. ** - - 1. Μετακινείστε τον δρομέα στην πρώτη γραμμή παρακάτω σημειωμένη με --->. - - 2. Τοποθετήστε τον δρομέα στην αρχή της πρώτης λέξης που είναι διαφορετική - από τη δεύτερη γραμμή σημειωμένη με ---> (η λέξη 'last'). - - 3. Πατήστε τώρα R και αλλάξτε το υπόλοιπο του κειμένου στην πρώτη γραμμή - γράφοντας πάνω από το παλιό κείμενο ώστε να κάνετε την πρώτη γραμμή ίδια - με τη δεύτερη. - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. Σημειώστε ότι όταν πατάτε <ESC> για να βγείτε, παραμένει οποιοδήποτε - αναλλοίωτο κείμενο. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Μάθημα 6.4: ΡΥΘΜΙΣΗ ΕΠΙΛΟΓΗΣ - - - ** Ρυθμίστε μία επιλογή έτσι ώστε η αναζήτηση ή η αντικατάσταση να αγνοεί - τη διαφορά πεζών-κεφαλαίων ** - - 1. Ψάξτε για 'ignore' εισάγοντας: - /ignore - Συνεχίστε αρκετές φορές πατώντας το πλήκτρο n. - - 2. Θέστε την επιλογή 'ic' (Ignore case) γράφοντας: - :set ic - - 3. Ψάξτε τώρα ξανά για 'ignore' πατώντας: n - Συνεχίστε την αναζήτηση μερικές ακόμα φορές πατώντας το πλήκτρο n - - 4. Θέστε τις επιλογές 'hlsearch' και 'incsearch': - :set hls is - - 5. Εισάγετε τώρα ξανά την εντολή αναζήτησης, και δείτε τι συμβαίνει - /ignore - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 6 ΠΕΡΙΛΗΨΗ - - - 1. Πατώντας o ανοίγει μία γραμμή ΚΑΤΩ από τον δρομέα και τοποθετεί τον - δρομέα στην ανοιχτή γραμμή σε Κατάσταση Κειμένου. - - 2. Πατήστε a για να εισάγετε κείμενο ΜΕΤΑ τον χαρακτήρα στον οποίο είναι - ο δρομέας. Πατώντας κεφαλαίο A αυτόματα προσθέτει κείμενο στο τέλος - της γραμμής. - - 3. Πατώντας κεφαλαίο R εισέρχεται στην Κατάσταη Αντικατάστασης μέχρι να - πατηθεί το <ESC> και να εξέλθει. - - 4. Γράφοντας ":set xxx" ρυθμίζει την επιλογή "xxx". - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 7: ON-LINE ΕΝΤΟΛΕΣ ΒΟΗΘΕΙΑΣ - - - ** Χρησιμοποιήστε το on-line σύστημα βοήθειας ** - - Ο Vim έχει ένα περιεκτικό on-line σύστημα βοήθειας. Για να ξεκινήσει, - δοκιμάστε κάποιο από τα τρία: - - πατήστε το πλήκτρο <HELP> (αν έχετε κάποιο) - - πατήστε το πλήκτρο <F1> (αν έχετε κάποιο) - - γράψτε :help <ENTER> - - Γράψτε :q <ENTER> για να κλείσετε το παράθυρο της βοήθειας. - - Μπορείτε να βρείτε βοήθεια πάνω σε κάθε αντικείμενο, δίνοντας μία παράμετρο - στην εντολή ":help". Δοκιμάστε αυτά (μην ξεχνάτε να πατάτε <ENTER>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ΜΑΘΗΜΑ 8: ΔΗΜΙΟΥΡΓΗΣΤΕ ΕΝΑ SCRIPT ΕΚΚΙΝΗΣΗΣ - - ** Ενεργοποιήστε χαρακτηριστικά του Vim ** - - Ο Vim έχει πολλά περισσότερα χαρακτηριστικά απ' ό,τι ο Vi, αλλά τα - περισσότερα είναι αρχικά απενεργοποιημένα. Για να αρχίσετε να χρησιμοποιείτε - περισσότερα χαρακτηριστικά πρέπει να φτιάξετε ένα αρχείο "vimrc". - - 1. Αρχίστε διορθώνοντας το αρχείο "vimrc", αυτό εξαρτάται από το σύστημά σας: - :edit ~/.vimrc για Unix - :edit $VIM/_vimrc για MS-Windows - - 2. Τώρα εισάγετε το κείμενο παραδείγματος για αρχείο "vimrc": - :read $VIMRUNTIME/vimrc_example.vim - - 3. Γράψτε το αρχείο με την: - :write - - Την επόμενη φορά που θα ξεκινήσετε τον Vim θα χρησιμοποιήσει φωτισμό - σύνταξης. Μπορείτε να προσθέσετε όλες τις προτιμώμενες επιλογές σ' αυτό - το αρχείο "vimrc". - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Εδώ ολοκληρώνεται το Vim Tutor. Σκοπός του ήταν να δώσει μία σύντομη - περίληψη του συντάκτη Vim, τουλάχιστον τόση ώστε να σας επιτρέψει να - χρησιμοποιήσετε τον συντάκτη αρκετά εύκολα. Απέχει πολύ από μία - ολοκληρωμένη παρουσίαση καθώς ο Vim έχει πάρα πολλές εντολές. Διαβάστε - κατόπιν το εγχειρίδιο χρήσης: - ":help user-manual". - - Για περαιτέρω διάβασμα και μελέτη, συστήνεται αυτό το βιβλίο: - Vim - Vi Improved - by Steve Oualline - Publisher: New Riders - Το πρώτο βιβλίο πλήρως αφιερωμένο στον Vim. - Ιδιαίτερα χρήσιμο για αρχάριους. - Υπάρχουν πολλά παραδείγματα και εικόνες. - Δείτε την http://iccf-holland.org/click5.html - - Αυτό το βιβλίο είναι παλιότερο και περισσότερο για τον Vi παρά για τον Vim, - αλλά επίσης συνιστώμενο: - Learning the Vi Editor - by Linda Lamb - Publisher: O'Reilly & Associates Inc. - Είναι ένα καλό βιβλίο για να μάθετε σχεδόν τα πάντα που θέλετε - να κάνετε με τον Vi. - Η έκτη έκδοση περιέχει ακόμα πληροφορίες για τον Vim. - - Αυτή η περιήγηση γράφτηκε από τους Michael C. Pierce και Robert K. Ware, - Colorado School of Mines χρησιμοποιώντας ιδέες από τον Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Προσαρμογή για τον Vim από τον Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.hr.utf-8 b/runtime/tutor/tutor.hr.utf-8 new file mode 100644 index 000000000..396bdfeb1 --- /dev/null +++ b/runtime/tutor/tutor.hr.utf-8 @@ -0,0 +1,972 @@ +=============================================================================== += D o b r o d o š l i u VIM p r i r u č n i k - Verzija 1.7 = +=============================================================================== + + Vim je vrlo moćan editor koji ima mnogo naredbi, previše da bi ih + se svih ovdje spomenulo. Namjena priručnika je objasniti dovoljno + naredbi kako bi početnici znatno lakše koristili ovaj svestran editor. + + Približno vrijeme potrebno za uspješan završetak priručnika je oko + 30 minuta a ovisi o tome koliko će te vremena odvojiti za vježbanje. + + UPOZORENJE: + Naredbe u ovom priručniku će promijeniti ovaj tekst. + Napravite kopiju ove datoteke kako bi ste na istoj vježbali + (ako ste pokrenuli "vimtutor" ovo je već kopija). + + Vrlo je važno primijetiti da je ovaj priručnik namijenjen za vježbanje. + Preciznije, morate izvršiti naredbe u Vim-u kako bi ste iste naučili + pravilno koristiti. Ako samo čitate tekst, zaboraviti će te naredbe! + + Ako je CapsLock uključen ISKLJUČITE ga. Pritiskajte tipku j kako + bi pomakli kursor sve dok Lekcija 1.1 ne ispuni ekran. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.1: POMICANJE KURSORA + + + ** Za pomicanje kursora, pritisnite h,j,k,l tipke kako je prikazano ** + ^ + k Savjet: h tipka je lijevo i pomiče kursor lijevo. + < h l > l tipka je desno i pomiče kursor desno. + j j izgleda kao strelica usmjerena dolje. + v + 1. Pomičite kursor po ekranu dok se ne naviknete na korištenje. + + 2. Držite tipku (j) pritisnutom. + Sada znate kako doći do sljedeće lekcije. + + 3. Koristeći tipku j prijeđite na sljedeću lekciju 1.2. + +NAPOMENA: Ako niste sigurni što ste zapravo pritisnuli uvijek koristite + tipku <ESC> kako bi prešli u Normal mod i onda pokušajte ponovno. + +NAPOMENA: Kursorske tipke rade isto. Korištenje hjkl tipaka je znatno + brže, nakon što se jednom naviknete na njihovo korištenje. Stvarno! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.2: IZLAZ IZ VIM-a + + + !! UPOZORENJE: Prije izvođenja bilo kojeg koraka, + pročitajte cijelu lekciju!! + + 1. Pritisnite <ESC> tipku (Vim je sada u Normal modu). + + 2. Otipkajte: :q! <ENTER>. + Izlaz iz editora, GUBE se sve napravljene promjene. + + 3. Kada se pojavi ljuska, utipkajte naredbu koja je pokrenula + ovaj priručnik: vimtutor <ENTER> + + 4. Ako ste upamtili ove korake, izvršite ih redom od 1 do 3 + kako bi ponovno pokrenuli editor. + +NAPOMENA: :q! <ENTER> poništava sve promjene koje ste napravili. + U sljedećim lekcijama naučit će te kako promjene sačuvati. + + 5. Pomaknite kursor na Lekciju 1.3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.3: PROMJENA TEKSTA - BRISANJE + + + ** Pritisnite x za brisanje znaka pod kursorom. ** + + 1. Pomaknite kursor na liniju označenu s --->. + + 2. Kako bi ste ispravili pogreške, pomičite kursor dok se + ne bude nalazio na slovu kojeg trebate izbrisati. + + 3. Pritisnite tipku x kako bi uklonili neželjeno slovo. + + 4. Ponovite korake od 2 do 4 dok ne ispravite sve pogreške. + +---> KKKravaa jee presskočila mmjeseccc. + + 5. Nakon što ispravite liniju, prijeđite na lekciju 1.4. + +NAPOMENA: Koristeći ovaj priručnik ne pokušavajte pamtiti + već učite primjenom. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.4: PROMJENA TEKSTA - UBACIVANJE + + + ** Pritisnite i za ubacivanje teksta ispred kursora. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Kako bi napravili prvu liniju istovjetnoj drugoj, pomaknite + kursor na prvi znak POSLIJE kojeg će te utipkati potreban tekst. + + 3. Pritisnite i te utipkajte potrebne nadopune. + + 4. Nakon što ispravite pogrešku pritisnite <ESC> kako bi vratili Vim + u Normal mod. Ponovite korake od 2 do 4 kako bi ispravili sve pogreške. + +---> Nedje no teka od v lin. +---> Nedostaje nešto teksta od ove linije. + + 5. Prijeđite na sljedeću lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.5: PROMJENA TEKSTA - DODAVANJE + + + ** Pritisnite A za dodavanje teksta. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + Nije važno na kojem se slovu nalazi kursor na toj liniji. + + 2. Pritisnite A i napravite potrebne promjene. + + 3. Nakon što ste dodali tekst, pritisnite <ESC> + za povratak u Normal mod. + + 4. Pomaknite kursor na drugu liniju označenu s ---> + i ponovite korake 2 i 3 dok ne popravite tekst. + +---> Ima nešto teksta koji nedostaje n + Ima nešto teksta koji nedostaje na ovoj liniji. +---> Ima nešto teksta koji ne + Ima nešto teksta koji nedostaje baš ovdje. + + 5. Prijeđite na lekciju 1.6. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1.6: PROMJENA DATOTEKE + + + ** Koristite :wq za spremanje teksta i napuštanje Vim-a. ** + + !! UPOZORENJE: Prije izvršavanja bilo kojeg koraka, pročitajte lekciju!! + + 1. Izađite iz programa kao sto ste napravili u lekciji 1.2: :q! + + 2. Iz ljuske utipkajte sljedeću naredbu: vim tutor <ENTER> + 'vim' je naredba pokretanja Vim editora, 'tutor' je ime datoteke koju + želite uređivati. Koristite datoteku koju imate ovlasti mijenjati. + + 3. Ubacite i izbrišite tekst kao što ste to napravili u lekcijama prije. + + 4. Sačuvajte promjenjeni tekst i izađite iz Vim-a: :wq <ENTER> + + 5. Ponovno pokrenite vimtutor i nastavite čitati sažetak koji sljedi. + + 6. Nakon sto pročitate gornje korake i u potpunosti ih razumijete: + izvršite ih. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 1 SAŽETAK + + + 1. Kursor se pomiče strelicama ili pomoću hjkl tipaka. + h (lijevo) j (dolje) k (gore) l (desno) + + 2. Pokretanje Vim-a iz ljuske: vim IME_DATOTEKE <ENTER> + + 3. Izlaz: <ESC> :q! <ENTER> sve promjene su izgubljene. + ILI: <ESC> :wq <ENTER> promjene su sačuvane. + + 4. Brisanje znaka na kojem se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i utipkajte tekst <ESC> unos ispred kursora + A utipkajte tekst <ESC> dodavanje na kraju linije + +NAPOMENA: Tipkanjem tipke <ESC> prebacuje Vim u Normal mod i + prekida neželjenu ili djelomično završenu naredbu. + +Nastavite čitati Lekciju 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.1: NAREDBE BRISANJA + + + ** Tipkajte dw za brisanje riječi. ** + + 1. Pritisnite <ESC> kako bi bili sigurni da je Vim u Normal modu. + + 2. Pomaknite kursor na liniju označenu s --->. + + 3. Pomaknite kursor na početak riječi koju treba izbrisati. + + 4. Otipkajte dw kako bi uklonili riječ. + +NAPOMENA: Vim će prikazati slovo d na zadnjoj liniji kad ga otipkate. + Vim čeka da otipkate w . Ako je prikazano neko drugo slovo, + krivo ste otipkali; pritisnite <ESC> i pokušajte ponovno. + +---> Neke riječi smiješno ne pripadaju na papir ovoj rečenici. + + 5. Ponovite korake 3 i 4 dok ne ispravite rečenicu; + prijeđite na Lekciju 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.2: JOŠ BRISANJA + + + ** Otipkajte d$ za brisanje znakova do kraja linije. ** + + 1. Pritisnite <ESC> kako bi bili + sigurni da je Vim u Normal modu. + + 2. Pomaknite kursor na liniju označenu s --->. + + 3. Pomaknite kursor do kraja ispravne rečenice + (POSLJE prve . ). + + 4. Otipkajte d$ + kako bi izbrisali sve znakove do kraja linije. + +---> Netko je utipkao kraj ove linije dvaput. kraj ove linije dvaput. + + 5. Prijeđite na Lekciju 2.3 za bolje objašnjenje. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.3: UKRATKO O OPERATORIMA I POKRETIMA + + + Mnogo naredbi koje mijenjaju tekst se sastoje od operatora i pokreta. + Oblik naredbe brisanja sa d operatorom je sljedeći: + + d pokret + + Pri čemu je: + d - operator brisanja. + pokret - ono na čemu će se operacija izvršavati (navedeno u nastavku). + + Kratka lista pokreta: + w - sve do početka sljedeće riječi, NE UKLJUČUJUĆI prvo slovo. + e - sve do kraja trenutačne riječi, UKLJUČUJUĆI zadnje slovo. + $ - sve do kraje linije, UKLJUČUJUĆI zadnje slovo. + + Tipkanjem de će se brisati od kursora do kraja riječi. + +NAPOMENA: Pritiskajući samo pokrete dok ste u Normal modu bez operatora će + pomicati kursor kao što je navedeno. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.4: KORIŠTENJE BROJANJA ZA POKRETE + + + ** Tipkanjem nekog broja prije pokreta, pokret se izvršava toliko puta. ** + + 1. Pomaknite kursor na liniju označenu s --->. + + 2. Otipkajte 2w da pomaknete kursor dvije riječi naprijed. + + 3. Otipkajte 3e da pomaknete kursor na kraj treće riječi naprijed. + + 4. Otipkajte 0 (nulu) da pomaknete kursor na početak linije. + + 5. Ponovite korake 2 i 3 s nekim drugim brojevima. + +---> Rečenica sa riječima po kojoj možete pomicati kursor. + + 6. Prijeđite na Lekciju 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.5: KORIŠTENJE BROJANJA ZA VEĆE BRISANJE + + + ** Tipkanje broja N s operatorom ponavlja ga N-puta. ** + + U kombinaciji operatora brisanja i pokreta spomenutih iznad + ubacujete broj prije pokreta kako bi izbrisali više znakova: + + d broj pokret + + 1. Pomaknite kursor na prvo slovo u riječi sa VELIKIM SLOVIMA + označenu s --->. + + 2. Otipkajte 2dw da izbrišete dvije riječi sa VELIKIM SLOVIMA + + 3. Ponovite korake 1 i 2 sa različitim brojevima da izbrišete + uzastopne riječi sa VELIKIM SLOVIMA sa samo jednom naredbom. + +---> ova ABCČĆ DĐE linija FGHI JK LMN OP riječi je RSŠ TUVZŽ popravljena. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.6: OPERIRANJE NAD LINIJAMA + + + ** Otipkajte dd za brisanje cijele linije. ** + + Zbog učestalosti brisanja cijelih linija, dizajneri Vi-a su odlučili da + je lakše brisati linije tipkanjem d dvaput. + + 1. Pomaknite kursor na drugu liniju u donjoj kitici. + 2. Otipkajte dd kako bi izbrisali liniju. + 3. Pomaknite kursor na četvrtu liniju. + 4. Otipkajte 2dd kako bi izbrisali dvije linije. + +---> 1) Ruže su crvene, +---> 2) Plaža je super, +---> 3) Ljubice su plave, +---> 4) Imam auto, +---> 5) Satovi ukazuju vrijeme, +---> 6) Šećer je sladak +---> 7) Kao i ti. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2.7: NAREDBA PONIŠTENJA + + + ** Pritisnite u za poništenje zadnje naredbe, U za cijelu liniju. ** + + 1. Pomaknite kursor na liniju označenu s ---> i postavite kursor na prvu + pogrešku. + 2. Otipkajte x kako bi izbrisali prvi neželjeni znak. + 3. Otipkajte u kako bi poništili zadnju izvršenu naredbu. + 4. Ovaj put ispravite sve pogreške na liniji koristeći x naredbu. + 5. Sada utipkajte veliko U kako bi poništili sve promjene + na liniji, vraćajući je u prijašnje stanje. + 6. Sada utipkajte u nekoliko puta kako bi poništili U + i prijašnje naredbe. + 7. Sada utipkajte CTRL-R (držeći CTRL tipku pritisnutom dok + ne pritisnete R) nekoliko puta kako bi vratili promjene + (poništili poništenja). + +---> Poopravite pogreške nna ovvoj liniji ii pooništiteee ih. + + 8. Vrlo korisne naredbe. Prijeđite na sažetak Lekcije 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 2 SAŽETAK + + + 1. Brisanje od kursora do sljedeće riječi: dw + 2. Brisanje od kursora do kraja linije: d$ + 3. Brisanje cijele linije: dd + + 4. Za ponavljanje pokreta prethodite mu broj: 2w + 5. Oblik naredbe mijenjanja: + operator [broj] pokret + gdje je: + operator - što napraviti, npr. d za brisanje + [broj] - neobavezan broj ponavljanja pokreta + pokret - kretanje po tekstu po kojem se operira, + kao što je: w (riječ), $ (kraj linije), itd. + + 6. Postavljanje kursora na početak linije: 0 + + 7. Za poništenje prethodnih promjena, pritisnite: u (malo u) + Za poništenje svih promjena na liniji, pritisnite: U (veliko U) + Za vraćanja promjena, utipkajte: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.1: NAREDBA POSTAVI + + + ** p za unos prethodno izbrisanog teksta iza kursora. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Otipkajte dd kako bi izbrisali liniju i spremili je u Vim registar. + + 3. Pomaknite kursor na liniju c), IZNAD linije koju trebate unijeti. + + 4. Otipkajte p kako bi postavili liniju ispod kursora. + + 5. Ponovite korake 2 do 4 kako bi postavili sve linije u pravilnom + rasporedu. + +---> d) Možeš li i ti naučiti? +---> b) Ljubice su plave, +---> c) Inteligencija je naučena, +---> a) Ruže su crvene, + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.2: NAREDBA PROMJENE + + + ** Otipkajte rx za zamjenu slova ispod kursora sa slovom x . ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Pomaknite kursor tako da se nalazi na prvoj pogrešci. + + 3. Otipkajte r i nakon toga ispravan znak na tom mjestu. + + 4. Ponovite korake 2 i 3 sve dok prva + linije ne bude istovjetna drugoj. + +---> Kede ju ovu limija tupjana, natko je protuskao kruve tupke! +---> Kada je ova linija tipkana, netko je pritiskao krive tipke! + + 5. Prijeđite na Lekciju 3.2. + +NAPOMENA: Prisjetite da trebate učiti vježbanjem, ne pamćenjem. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.3: OPERATOR MIJENJANJA + + + ** Za mijenjanje do kraja riječi, istipkajte ce . ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 2. Postavite kursor na a u lackmb. + + 3. Otipkajte ce i ispravite riječ (u ovom slučaju otipkajte inija ). + + 4. Pritisnite <ESC> i pomaknite kursor na sljedeći znak + kojeg je potrebno ispraviti. + + 5. Ponovite korake 3 i 4 sve dok prva rečenica ne postane istovjetna + drugoj. + +---> Ova lackmb ima nekoliko rjlcah koje trfcb mijdmlfsz. +---> Ova linija ima nekoliko riječi koje treba mijenjati. + +Primijetite da ce briše riječ i postavlja Vim u Insert mod. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3.4: JOŠ MIJENJANJA KORIŠTENJEM c + + + ** Naredba mijenjanja se koristi sa istim pokretima kao i brisanje. ** + + 1. Operator mijenjanja se koristi na isti način kao i operator brisanja: + + c [broj] pokret + + 2. Pokreti su isti, npr: w (riječ) i $ (kraj linije). + + 3. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + + 4. Pomaknite kursor na prvu pogrešku. + + 5. Otipkajte c$ i utipkajte ostatak linije tako da bude istovjetna + drugoj te pritisnite <ESC>. + +---> Kraj ove linije treba pomoć tako da izgleda kao linija ispod. +---> Kraj ove linije treba ispraviti korištenjem c$ naredbe. + +NAPOMENA: Možete koristiti Backspace za ispravljanje grešaka. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 3 SAŽETAK + + + 1. Za postavljanje teksta koji je upravo izbrisan, pritisnite p . Ovo + postavlja tekst IZA kursora (ako je pak linija izbrisana tekst se + postavlja na liniju ispod kursora). + + 2. Za promjenu znaka na kojem se nalazi kursor, pritisnite r i nakon toga + željeni znak. + + 3. Operator mijenjanja dozvoljava promjenu teksta od kursora do pozicije do + koje dovede pokret. tj. Otipkajte ce za mijenjanje od kursora do kraja + riječi, c$ za mijenjanje od kursora do kraja linije. + + 4. Oblik naredbe mijenjanja: + + c [broj] pokret + +Prijeđite na sljedeću lekciju. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.1: POZICIJA KURSORA I STATUS DATOTEKE + + ** CTRL-G za prikaz pozicije kursora u datoteci i status datoteke. + Pritisnite G za pomicanje kursora na neku liniju u datoteci. ** + +NAPOMENA: Pročitajte cijelu lekciju prije izvršenja bilo kojeg koraka!! + + 1. Držite Ctrl tipku pritisnutom i pritisnite g . Ukratko: CTRL-G. + Vim će ispisati poruku na dnu ekrana sa imenom datoteke i pozicijom + kursora u datoteci. Zapamtite broj linije za 3. korak. + +NAPOMENA: Možete vidjeti poziciju kursora u donjem desnom kutu ako + je postavka 'ruler' aktivirana (objašnjeno u 6. lekciji). + + 2. Pritisnite G za pomicanje kursora na kraj datoteke. + Otipkajte gg za pomicanje kursora na početak datoteke. + + 3. Otipkajte broj linije na kojoj ste bili maloprije i zatim G . Kursor + će se vratiti na liniju na kojoj se nalazio kada ste otipkali CTRL-G. + + 4. Ako ste spremni, izvršite korake od 1 do 3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.2: NAREDBE TRAŽENJA + + ** Otipkajte / i nakon toga izraz kojeg želite tražiti. ** + + 1. U Normal modu otipkajte / znak. Primijetite da se znak + pojavio zajedno sa kursorom na dnu ekrana kao kod : naredbe. + + 2. Sada otipkajte 'grrrreška' <ENTER>. To je riječ koju zapravo tražite. + + 3. Za ponovno traženje istog izraza, otipkajte n . + Za traženje istog izraza ali u suprotnom smjeru, otipkajte N . + + 4. Za traženje izraza unatrag, koristite ? umjesto / . + + 5. Za povratak na prethodnu poziciju koristite CTRL-O (držite Ctrl + pritisnutim dok ne pritisnete tipku o). Ponavljajte sve dok se ne + vratite na početak. CTRL-I slično kao CTRL-O ali u suprotnom smjeru. + +---> "pogrrrreška" je pogrešno; umjesto pogrrrreška treba stajati pogreška. + +NAPOMENA: Ako se traženjem dođe do kraja datoteke nastavit će se od njenog + početka osim ako je postavka 'wrapscan' deaktivirana. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.3: TRAŽENJE PRIPADAJUĆE ZAGRADE + + + ** Otipkajte % za pronalazak pripadajuće ), ] ili } . ** + + 1. Postavite kursor na bilo koju od ( , [ ili { + otvorenih zagrada u liniji označenoj s --->. + + 2. Otipkajte znak % . + + 3. Kursor će se pomaknuti na pripadajuću zatvorenu zagradu. + + 4. Otipkajte % kako bi pomakli kursor na drugu pripadajuću zagradu. + + 5. Pomaknite kursor na neku od (,),[,],{ ili } i ponovite % naredbu. + +---> Linija ( testiranja običnih ( [ uglatih ] i { vitičastih } zagrada.)) + + +NAPOMENA: Vrlo korisno u ispravljanju koda sa nepripadajućim zagradama! + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4.4: NAREDBE ZAMIJENE + + + ** Otipkajte :s/staro/novo/g da zamijenite 'staro' za 'novo'. ** + + 1. Pomaknite kursor na liniju označenu s --->. + + 2. Otipkajte :s/cvrćč/cvrč <ENTER> . Primjetite da ova naredba zamjenjuje + samo prvi "cvrćč" u liniji. + + 3. Otipkajte :s/cvrćč/cvrč/g . Dodavanje g stavke znači da će se naredba + izvršiti na cijeloj liniji, zamjenjivanjem svih "cvrćč" u liniji. + +---> i cvrćči cvrćči cvrćčak na čvoru crne smrče. + + 4. Za zamjenu svih izraza u rasponu dviju linija, + otipkajte :#,#s/staro/novo/g #,# su brojevi linije datoteke na kojima + te između njih će se izvršiti zamjena. + Otipkajte :%s/staro/novo/g za zamjenu svih izraza u cijeloj datoteci. + Otipkajte :%s/staro/novo/gc za pronalazak svakog izraza u datoteci i + potvrdu zamjene. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 4 SAŽETAK + + + 1. CTRL-G prikazuje poziciju kursora u datoteci i status datoteke. + G postavlja kursor na zadnju liniju datoteke. + broj G postavlja kursor na broj liniju. + gg postavlja kursor na prvu liniju. + + 2. Tipkanje / sa izrazom traži UNAPRIJED taj izraz. + Tipkanje ? sa izrazom traži UNATRAG taj izraz. + Nakon naredbe traženja koristite n za pronalazak izraza u istom + smjeru, i N za pronalazak istog izraza ali u suprotnom smjeru. + CTRL-O vraća kursor na prethodnu poziciju, CTRL-I na sljedeću poziciju. + + 3. Tipkanje % dok je kursor na zagradi pomiče ga na pripadajuću zagradu. + + 4. Za zamjenu prvog izraza staro za izraz novo :s/staro/novo + Za zamjenu svih izraza staro na cijeloj liniji :s/staro/novo/g + Za zamjenu svih izraza staro u rasponu linija #,# :#,#s/staro/novo/g + Za zamjenu u cijeloj datoteci :%s/staro/novo/g + Za potvrdu svake zamjene dodajte 'c' :%s/staro/novo/gc + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.1: IZVRŠAVANJE VANJSKIH NAREDBI + + + ** Otipkajte :! sa vanjskom naredbom koju želite izvršiti. ** + + 1. Otipkajte poznatu naredbu : kako bi kursor premjestili na dno + ekrana. Time omogućavate unos naredbe u naredbenoj liniji. + + 2. Otipkajte znak ! (uskličnik). Tako omogućavate + izvršavanje naredbe vanjske ljuske. + + 3. Kao primjer otipkajte ls nakon ! te pritisnite <ENTER>. + Ovo će prikazati sadržaj direktorija, kao da ste u ljusci. + Koristite :!dir ako :!ls ne radi. + +NAPOMENA: Moguće je izvršavati bilo koju vanjsku naredbu na ovaj način, + zajedno sa njenim argumentima. + +NAPOMENA: Sve : naredbe se izvršavaju nakon što pritisnete <ENTER> + U daljnjem tekstu to neće uvijek biti napomenuto. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.2: VIŠE O SPREMANJU DATOTEKA + + ** Za spremanje promjena, otipkajte :w IME_DATOTEKE. ** + + 1. Otipkajte :!dir ili :!ls za pregled direktorija. + Već znate da morate pritisnuti <ENTER> na kraju tipkanja. + + 2. Izaberite ime datoteke koja još ne postoji, npr. TEST. + + 3. Otipkajte: :w TEST (gdje je TEST ime koje ste prethodno odabrali.) + + 4. Time će te spremiti cijelu datoteku (Vim Tutor) pod imenom TEST. + Za provjeru, otipkajte ponovno :!dir ili :!ls + za pregled direktorija. + +NAPOMENA: Ako bi napustili Vim i ponovno ga pokrenuli sa vim TEST , + datoteka bi bila potpuna kopija ove datoteke u trenutku + kada ste je spremili. + + 5. Izbrišite datoteku tako da otipkate (MS-DOS): :!del TEST + ili (Unix): :!rm TEST + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.3: SPREMANJE OZNAČENOG TEKSTA + + + ** Kako bi spremili dio datoteke, otipkajte v pokret :w IME_DATOTEKE ** + + 1. Pomaknite kursor na ovu liniju. + + 2. Pritisnite v i pomaknite kursor pet linija ispod ove. + Primijetite promjenu, označeni tekst se razlikuje od običnog. + + 3. Pritisnite : znak. Na dnu ekrana pojavit će se :'<,'> . + + 4. Otipkajte w TEST , pritom je TEST ime datoteke koja još ne postoji. + Provjerite da zaista piše :'<,'>w TEST + prije nego što pritisnite <ENTER>. + + 5. Vim će spremiti označeni tekst u TEST. Provjerite sa :!dir ili !ls . + Nemojte je još brisati! Koristiti će te je u sljedećoj lekciji. + +NAPOMENA: Tipka v započinje Vizualno označavanje. Možete pomicati kursor + unaokolo kako bi mijenjali veličinu označenog teksta. Možete + koristiti i operatore. Npr, d će izbrisati označeni tekst. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5.4: UČITAVANJE DATOTEKA + + + ** Za ubacivanje sadržaja datoteke, otipkajte :r IME_DATOTEKE ** + + 1. Postavite kursor iznad ove linije. + +NAPOMENA: Nakon što izvršite 2. korak vidjeti će te tekst iz Lekcije 5.3. + Stoga pomaknite kursor DOLJE kako bi ponovno vidjeli ovu lekciju. + + 2. Učitajte vašu TEST datoteku koristeći naredbu :r TEST + gdje je TEST ime datoteke koju ste koristili u prethodnoj lekciji. + Sadržaj učitane datoteke je ubačen liniju ispod kursora. + + 3. Kako bi provjerili da je datoteka učitana, vratite kursor unatrag i + primijetite dvije kopije Lekcije 5.3, originalnu i onu iz datoteke. + +NAPOMENA: Možete također učitati ispis vanjske naredbe. Npr, :r !ls + će učitati ispis ls naredbe i postaviti ispis liniju ispod + kursora. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 5 SAŽETAK + + + 1. :!naredba izvršava vanjsku naredbu. + + Korisni primjeri: + (MS-DOS) (Unix) + :!dir :!ls - pregled direktorija. + :!del DATOTEKA :!rm DATOTEKA - briše datoteku DATOTEKA. + + 2. :w DATOTEKA zapisuje trenutačnu datoteku na disk sa imenom DATOTEKA. + + 3. v pokret :w IME_DATOTEKE sprema vizualno označene linije u + datoteku IME_DATOTEKE. + + 4. :r IME_DATOTEKE učitava datoteku IME_DATOTEKE sa diska i stavlja + njen sadržaj liniju ispod kursora. + + 5. :r !dir učitava ispis naredbe dir i postavlja sadržaj ispisa liniju + ispod kursora. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.1: NAREDBA OTVORI + + + ** Pritisnite o kako bi otvorili liniju ispod kursora + i prešli u Insert mod. ** + + 1. Pomaknite kursor na sljedeću liniju označenu s --->. + + 2. Otipkajte malo o kako bi otvorili novu liniju ISPOD kursora + i prešli u Insert mod. + + 3. Otipkajte nešto teksta i nakon toga pritisnite <ESC> + kako bi napustili Insert mod. + +---> Nakon što pritisnete o kursor će preći u novu liniju u Insert mod. + + 4. Za otvaranje linije IZNAD kursora, otipkajte umjesto malog o veliko O , + Pokušajte na donjoj liniji označenoj s --->. + +---> Otvorite liniju iznad ove - otipkajte O dok je kursor na ovoj liniji. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.2: NAREDBA DODAJ + + + ** Otipkajte a za dodavanje teksta IZA kursora. ** + + 1. Pomaknite kursor na početak sljedeće linije označene s --->. + + 2. Tipkajte e dok se kursor ne nalazi na kraju li . + + 3. Otipkajte a (malo) kako bi dodali tekst IZA kursora. + + 4. Dopunite riječ kao što je na liniji ispod. + Pritisnite <ESC> za izlaz iz Insert moda. + + 5. Sa e prijeđite na sljedeću nepotpunu riječ i ponovite korake 3 i 4. + +---> Ova li omogućava vje dodav teksta nekoj liniji. +---> Ova linija omogućava vježbanje dodavanja teksta nekoj liniji. + +NAPOMENA: Sa i, a, i A prelazite u isti Insert mod, jedina + razlika je u poziciji od koje će se tekst ubacivati. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.3: DRUGI NAČIN MIJENJANJA + + + ** Otipkajte veliko R kako bi zamijelili više od jednog znaka. ** + + 1. Pomaknite kursor na prvu sljedeću liniju označenu s --->. + Pomaknite kursor na početak prvog xxx . + + 2. Pritisnite R i otipkajte broj koji je liniju ispod, + tako da zamijeni xxx . + + 3. Pritisnite <ESC> za izlaz iz Replace moda. + Primijetite da je ostatak linije ostao nepromjenjen. + + 5. Ponovite korake kako bi zamijenili preostali xxx. + +---> Zbrajanje: 123 plus xxx je xxx. +---> Zbrajanje: 123 plus 456 je 579. + +NAPOMENA: Replace mod je kao Insert mod, ali sa bitnom razlikom, + svaki otipkani znak briše već postojeći. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.4: KOPIRANJE I LIJEPLJENJE TEKSTA + + + ** Koristite y operator za kopiranje a p za lijepljenje teksta. ** + + 1. Pomaknite kursor na liniju s ---> i postavite kursor nakon "a)". + + 2. Pokrenite Visual mod sa v i pomaknite kursor sve do ispred "prva". + + 3. Pritisnite y kako bi kopirali označeni tekst. + + 4. Pomaknite kursor do kraja sljedeće linije: j$ + + 5. Pritisnite p kako bi zalijepili tekst. Onda utipkajte: druga <ESC> . + + 6. Koristite Visual mod kako bi označili " linija.", kopirajte: y , kursor + postavite na kraj sljedeće linije: j$ i ondje zalijepite tekst: p . + +---> a) ovo je prva linija. + b) + +NAPOMENA: možete koristiti y kao operator; yw kopira jednu riječ. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6.5: MIJENJANJE POSTAVKI + + + ** Postavka: naredbe traženja i zamijene ne razlikuju VELIKA i mala slova ** + + 1. Potražite 'razlika' tipkanjem: /razlika <ENTER> + Nekoliko puta ponovite pritiskanjem n . + + 2. Aktivirajte 'ic' (Ignore case) postavku: :set ic + + 3. Ponovno potražite 'razlika' tipkanjem n + Primijetite da su sada i RAZLIKA i Razlika pronađeni. + + 4. Aktivirajte 'hlsearch' i 'incsearch' postavke: :set hls is + + 5. Otipkajte naredbu traženja i primijetite razlike: /razlika <ENTER> + + 6. Za deaktiviranje ic postavke koristite: :set noic + +NAPOMENA: Za neoznačavanje pronađenih izraza otipkajte: :nohlsearch +NAPOMENA: Bez razlikovanja velikih i malih slova u samo jednoj naredbi + koristite \c u izrazu: /razlika\c <ENTER> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 6 SAŽETAK + + 1. Pritisnite o za otvaranje linije ISPOD kursora i prelazak u Insert mod. + Pritisnite O za otvaranje linije IZNAD kursora. + + 2. Pritisnite a za unos teksta IZA kursora. + Pritisnite A za unos teksta na kraju linije. + + 3. Naredba e pomiče kursor na kraj riječi. + + 4. Operator y kopira tekst, p ga lijepi. + + 5. Tipkanjem velikog R Vim prelazi u Replace mod dok ne pritisnete <ESC> . + + 6. Tipkanjem ":set xxx" aktivira postavku "xxx". Neke postavke su: + 'ic' 'ignorecase' ne razlikuje velika/mala slova pri traženju + 'is' 'incsearch' traži nedovršene izraze + 'hls' 'hlsearch' označi sve pronađene izraze + Možete koristite dugo ili kratko ime postavke. + + 7. Prethodite "no" imenu postavke za deaktiviranje iste: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.1: DOBIVANJE POMOĆI + + + ** Koristite on-line sustav pomoći ** + + Vim ima detaljan on-line sustav pomoći. + Za početak, pokušajte jedno od sljedećeg: + - pritisnite <HELP> tipku (ako je vaša tipkovnica ima) + - pritisnite <F1> tipku (ako je vaša tipkovnica ima) + - utipkajte :help <ENTER> + + Pročitajte tekst u prozoru pomoći kako bi ste se znali služiti istom. + Tipkanjem CTRL-W CTRL-W prelazite iz jednog prozora u drugi. + Otipkajte :q <ENTER> kako bi zatvorili prozor pomoći. + + Pronaći će te pomoć o bilo kojoj temi, tako da dodate upit samoj + ":help" naredbi. Pokušajte (ne zaboravite pritisnuti <ENTER>): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.2: PRAVLJENJE SKRIPTE + + + ** Aktivirajte Vim mogućnosti ** + + Vim ima mnogo više alata od Vi-ja, ali većina njih nije aktivirana. + Kako bi mogli koristiti više mogućnosti napravite "vimrc" datoteku. + + 1. Uredite "vimrc" datoteku. Ovo ovisi o vašem sistemu: + :e ~/.vimrc za Unix + :e $VIM/_vimrc za MS-Windows + + 2. Sada učitajte primjer sadržaja "vimrc" datoteke: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Sačuvajte datoteku sa: + :w + + Sljedećeg puta kada pokrenete Vim, bojanje sintakse teksta biti će + aktivirano. Sve vaše postavke možete dodati u "vimrc" datoteku. + Za više informacija otipkajte :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7.3: AUTOMATSKO DOVRŠAVANJE + + + ** Dovršavanje iz naredbene linije pomoću CTRL-D i <TAB> ** + + 1. Provjerite da Vim nije u Vi modu: :set nocp + + 2. Pogledajte koje datoteke postoje u direktoriju: :!ls or :!dir + + 3. Otipkajte početak naredbe: :e + + 4. Tipkajte CTRL-D i prikazati će se lista naredbi koje započinju sa "e". + + 5. Pritisnite <TAB> i Vim će dopuniti unos u naredbu ":edit". + + 6. Dodajte razmak i početak datoteke: :edit FIL + + 7. Pritisnite <TAB>. Vim će nadopuniti ime datoteke (ako je jedinstveno). + +NAPOMENA: Moguće je dopuniti mnoge naredbe. Koristite CTRL-D i <TAB>. + Naročito je korisno za :help naredbe. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7 SAŽETAK + + + 1. Otipkajte :help ili pritisnite <F1> ili <Help> za pomoć. + + 2. Otipkajte :help naredba kako bi dobili pomoć za naredba . + + 3. Otipkajte CTRL-W CTRL-W za prelazak u drugi prozor + + 4. Otipkajte :q kako bi zatvorili prozor pomoći + + 5. Napravite vimrc skriptu za podizanje kako bi u nju spremali + vaše omiljene postavke. + + 6. Kada tipkate naredbu koja započinje sa : + pritisnite CTRL-D kako bi vidjeli moguće valjane vrijednosti. + Pritisnite <TAB> kako bi odabrali jednu od njih. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Kraj. Cilj priručnika je da pokaže kratak pregled Vim editora, tek toliko + da omogući njegovo korištenje. Priručnik nije potpun jer Vim ima mnogo više + naredbi. Za više informacija: ":help user-manual". + + Za čitanje i korištenje, preporučamo: + Vim - Vi Improved - by Steve Oualline + Izdavač: New Riders + Prva knjiga potpuno posvećena Vim-u. Vrlo korisna za početnike. + Sa mnogo primjera i slika. + Posjetite http://iccf-holland.org/click5.html + + Sljedeća knjiga je nešto starija i više o Vi-u nego o Vim-u, preporučamo: + Learning the Vi Editor - by Linda Lamb + Izdavač: O'Reilly & Associates Inc. + Solidna knjiga, možete saznati skoro sve što možete napraviti + u Vi-u. Šesto izdanje ima nešto informacija i o Vim-u. + + Ovaj priručnik su napisali: Michael C. Pierce i Robert K. Ware, + Colorado School of Mines koristeći ideje Charles Smith, + Colorado State University. E-pošta: bware@mines.colorado.edu. + + Naknadne promjene napravio je Bram Moolenaar. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Preveo na hrvatski: Paul B. Mahol <onemda@gmail.com> + Preinaka 1.42, Lipanj 2008 + + diff --git a/runtime/tutor/tutor.hu b/runtime/tutor/tutor.hu deleted file mode 100644 index 84e6bd421..000000000 --- a/runtime/tutor/tutor.hu +++ /dev/null @@ -1,823 +0,0 @@ -=============================================================================== -= d v z l j k a V I M T u t o r b a n - 1.5-s verzi === -=============================================================================== - - A Vim egy nagyon hatkony szerkeszt, amelnyek rengeteg utastsa - van, tl sok, hogy egy ilyen oktatban (tutorban), mint az itteni - mindet elmagyarzzuk. Ez az oktat arra trekszik, hogy annyit - elmagyarzzon, amennyi elg, hogy knnyedn hasznljuk a Vim-et, az - ltalnos cl szvegszerkesztt. - - A feladatok megoldshoz 25-30 perc szksges attl fggen, - mennyit tltnk a kisrletezssel. - - A leckben szerepl utastsok mdostani fogjk a szvegek. - Ksztsen msolatot errl a fjlrl, ha gyakorolni akar. - (Ha "vimtutor"-ral indtotta, akkor ez mr egy msolat.) - - Fontos megrteni, hogy ez az oktat cselekedve tanttat. - Ez azt jelenti, hogy nnek ajnlott vgrehajtania az utastsokat, - hogy megfelelen megtanulja azokat. Ha csak olvassa, elfelejti! - - Most bizonyosodjon, meg, hogy a Caps-Lock gombja NINCS lenyomva, s - Nyomja meg megfelel szmszor a j gombot, hogy az 1.1-es - lecke teljesen a kpernyn legyen! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.1. lecke: A KURZOR MOZGATSA - - - ** A kurzor mozgatshoz nyomja meg a h,j,k,l gombokat az albbi szerint. ** - ^ - k Tipp: A h billenty van balra, s balra mozgat - < h l > A l billenty van jobbra, s jobbra mozgat - j A j billenty olyan, mint egy lefele nyl - v - 1. Mozgassa a kurzort krbe az ablakban, amg hozz nem szokik! - - 2. Tartsa lenyomva a lefelt (j), akkor ismtldik! ----> Most tudja, hogyan mehet a kvetkez leckre. - - 3. A lefel fomb hasznlatval menjen a 1.2. leckre! - -Megj: Ha nem biztos benne, mit nyomott meg, nyomja meg az <ESC>-et, hogy - norml mdba kerljn, s ismtelje meg a parancsot! - -Megj: A kurzor gomboknak is mkdnik kell, de a hjkl hasznlatval - sokkal gyorsabban tud, mozogni, ha hozzszokik. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.2. lecke: BE S KILPS A VIMBL - - - !! MEGJ: Mieltt vgrehajtja az albbi lpseket, olvassa vgig a leckt !! - - 1. Nyomja meg az <ESC> gombot (hogy biztosan norml mdban legyen). - - 2. rja: :q! <ENTER>. - ----> Ezzel kilp a szerkesztbl a vltozsok MENTSE NLKL. - Ha menteni szeretn a vltozsokat s kilpni, rja: - :wq <ENTER> - - 3. Amikor a shell promptot ltja, rja be a parancsot, amely ebbe a - tutorba hozza: - Ez valsznleg: vimtutor <ENTER> - Normlis esetben ezt rn: vim tutor.hu <ENTER> - ----> 'vim' jelenti a vimbe belpst, 'tutor.hu' a fjl, amit szerkeszteni kvn. - - 4. Ha megjegyezte a lpseket s biztos magban, hajtsa vgre a lpseket - 1-tl 3-ig, hogy kilpjen s visszatrjen a szerkesztbe. Azutn - menjen az 1.3. leckre. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.3. lecke: SZVEG SZERKESZTSE - TRLS - - -** Norml mdban nyomjon x-et, hogy a kurzor alatti karaktert trlje. ** - - 1. Mozgassa a kurzort a ---> kezdet sorra! - - 2. A hibk kijavtshoz mozgassa a kurzort amg a trlend karakter - fl nem r. - - 3. Nyomja meg az x gombot, hogy trlje a nemkvnt karaktert. - - 4. Ismtelje a 2, 3, 4-es lpseket, hogy kijavtsa a mondatot. - ----> szi jjjell izziik aa galaggonya rruuhja. - - 5. Ha a sor helyes, ugorjon a 1.4. leckre. - -MEGJ: A tanuls sorn ne memorizlni prbljon, hanem hasznlat sorn tanuljon. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.4. lecke: SZVEG SZERKESZTSE - BESZRS - - - ** Norml mdban i megnyomsval lehet beilleszteni. ** - - 1. Az albbi els ---> kezdet sorra menjen. - - 2. Ahhoz, hogy az elst azonoss tegye a msodikkal, mozgassa a kurzort - az els karakterre, amely UTN szveget kell beszrni. - - 3. Nyomjon i-t s rja be a megfelel szveget. - - 4. Amikor mindent bert, nyomjon <ESC>-et, hogy Norml mdba visszatrjen. - Ismtelje a 2 s 4 kztti lpseket, hogy kijavtsa a mondatot. - ----> Az that sol hizik pr sz. ----> Az itt lthat sorbl hinyzik pr rsz. - - 5. Ha mr begyakorolta a beszrst, menjen az albbi sszefoglalra. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1. LECKE SSZEFOGLALJA - - - 1. A kurzort vagy a nyilakkal vagy a hjkl gombokkal mozgathatja. - h (balra) j (le) k (fel) l (jobbra) - - 2. A Vimbe (a $ prompttl) gy lphet be: vim FILENAME <ENTER> - - 3. A Vimbl gy lphet ki: <ESC> :q! <ENTER> a vltoztatsok eldobsval. - vagy gy: <ESC> :wq <ENTER> a vltozsok mentsvel. - - 4. A kurzor alatti karakter trlse norml mdban: x - - 5. Szveg beszrsa a kurzor utn norml mdban: - i gpelje be a szveget <ESC> - -MEGJ: Az <ESC> megnyomsa norml mdba viszi, vagy megszakt egy nem befejezett - rszben befejezett parancsot. - -Most folytassuk a 2. leckvel! - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.1. lecke: TRL UTASTSOK - - - ** dw trl a sz vgig. ** - - 1. Nyomjon <ESC>-et, hogy megbizonyosodjon, hogy norml mdban van! - - 2. Mozgassa a kurzort a ---> kezdet sorra! - - 3. Mozgassa a kurzort arra annak a sznak az elejre, amit trlni szeretne. - Trlje az llatokat a mondatbl. - - 4. A sz trlshez rja: dw - - MEGJ: Ha rosszul kezdte az utastst csak nyomjon <ESC> gombot - a megszaktshoz. - ----> Pr sz kutya nem uhu illik pingvin a mondatba tehn. - - 5. Ismtelje a 3 s 4 kztti utastsokat amg kell s ugorjon a 2.2 leckre! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.2. lecke: MG TBB TRL UTASTS - - - ** d$ bersval a sor vgig trlhet. ** - - 1. Nyomjon <ESC>-et, hogy megbizonyosodjon, hogy norml mdban van! - - 2. Mozgassa a kurzort a ---> kezdet sorra! - - 3. Mozgassa a kurzort a helyes sor vgre (az els . UTN)! - - 4. d$ begpelsveltrlje a sor vgt! - ----> Valaki a sor vgt ktszer gpelte be. ktszer gpelte be. - - - 5. Menjen a 2.3. leckre, hogy megrtse mi trtnt! - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.3. lecke: UTASTSOKRL S OBJEKTUMOKRL - - - A d (delete=trls) utasts formja a kvetkez: - - [szm] d objektum VAGY d [szm] objektum - Ahol: - szm - hnyszor hajtdjon vgre a parancs (elhagyhat, alaprtk=1). - d - a trls (delete) utasts. - objektum - amin a parancsnak teljeslnie kell (albb listzva). - - Objektumok rvid listja: - w - a kurzortl a sz vgig, belertve a szkzt. - e - a kurzortl a sz vgig, NEM belertve a szkzt. - $ - a kurzortl a sor vgig. - -MEGJ: Vllalkozbbak kedvrt, csupn az objektum begpelsvel parancs nlkl - a kurzor oda kerl, amit az objektumlista megad. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.4. lecke: EGY KIVTEL A 'PARANCSOBJEKTUM' ALL - - - ** dd bersval trlheti az egsz sort. ** - - A teljes sor trlsnek gyakorisga miatt a Vi tervezi elhatroztk, - hogy knnyebb lenne csupn a d-t ktszer megnyomni, hogy egy sort trljnk. - - 1. Mozgassa a kurzort az albbi kifejezsek msodik sorra! - 2. dd begpelsvel trlje a sort! - 3. Menjen a 4. (eredetileg 5.) sorra! - 4. 2dd (ugyebr szm-utasts-objektum) begpelsvel trljn kt sort! - - 1) Alv szegek a jghideg homokban, - 2) - kezdi a klt - - 3) Plaktmagnyban z jjelek. - 4) Pingvinek ne fljetek, - 5) Tvolrl egy vaku villant, - 6) gve hagytad a folyosn a villanyt. - 7) Ma ontjk vremet. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.5. lecke: A VISSZAVONS (UNDO) PARANCS - - -** u gpelsvel visszavonhat az utols parancs, U az egsz sort helyrelltja. ** - - 1. Menjnk az albbi ---> kezdet sor els hibjra! - 2. x lenyomsval trlje az els felesleges karaktert! - 3. u megnyomsval vonja vissza az utolsnak vgrehajtott utastst! - 4. Msodjra javtson ki minden hibt a sorben az x utastssal! - 5. Most nagy U -val lltsa vissza a sor eredeti llapott! - 6. Nyomja meg az u gombot prszor, hogy az U s sz elz utastsokat - visszalltsa! - 7. CTRL-R (CTRL gomb lenyomsa mellett ssn R-t) prszor csinlja jra a - visszavont parancsokat (redo)! - ----> Javtsd a hhibkaat ebbben a sooorban majd lltsa visszaaa az eredetit. - - 8. Ezek nagyon hasznos parancsok. Most ugarjon a 2. lecke sszefoglaljra. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2. LECKE SSZEFOGLALJA - - - 1. Trls a kurzortl a sz vgig: dw - - 2. Trls a kurzortl a sz vgig: d$ - - 3. Egsz sor trlse: dd - - 4. Egy utasts alakja norml mdban: - - [szm] utasts objektum VAGY utasts [szm] objektum - ahol: - szm - hnyszor ismteljk a parancsot - utasts - mit tegynk, pl. d a trlskor - objektum - mire hasson az utasts, pldul w (sz=word), - $ (a sor vgig), stb. - - 5. Az elz tett visszavonsa (undo): u (kis u) - A sor sszes vltozsnak visszavonsa: U (nagy U) - Visszavonsok visszavonsa: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.1. lecke: A PUT PARANCS - - - ** p letsvel az utolsnak trltet a kurzor utn illeszhetjk. ** - - 1. Mozgassuk a kurzort az albbi sorok els sorra. - - 2. dd letsvel trljk a sort s eltroldik a Vim pufferben. - - 3. Mozgassuk a kurzort AFL a sor fl, ahov mozgatni szeretnnk a - trlt sort. - - 4. Norml mdban rjunk p bett a trlt sor beillesztshez. - - 5. Folytassuk a 2-4. utastsokkal hogy a helyes sorrendet kapjuk. - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.2. lecke: A REPLACE PARANCS - - -** r s a karakterek letsvel a kurzor alatti karaktert megvltoztatjuk. ** - - 1. Mozgassuk a kurzort az els ---> kezdet sorra! - - 2. Mozgassuk a kurzort az els hiba fl! - - 3. r majd a kvnt karakter letsvel vltoztassuk meg a hibsat! - - 4. A 2. s 3. lpsekkel javtsuk az sszes hibt! - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. Menjnk a 3.2. leckre! - -MEGJ: Emlkezzen, hogy nem memorizlssal, hanem gyakorlssal tanuljon. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.3. lecke: A CHANGE PARANCS - - - ** A sz egy rsznek megvltoztatshoz rjuk: cw . ** - - 1. Mozgassuk a kurzort az els ---> kezdet sorra! - - 2. Vigye a kurzort a Ezen sz z betje fl! - - 3. cw s a helyes szrsz (itt 'bben') bersval javtsa a szt! - - 4. <ESC> lenyomsa utn a kvetkez hibra ugorjon (az els cserlend - karakterre)! - - 5. A 3. s 4. lpsek ismtlsvel az els mondatot tegye a msodikkal - azonoss! - ----> Ezen a sorrrrr pr szra meg kell vltozzanak a change utaskrs. ----> Ebben a sorban pr szt meg kell vltoztatni a change utastssal. - -Vegyk szre, hogy a cw nem csak a szt rja t, hanem beszr -(insert) mdba vlt. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.4. lecke: TBBFLE VLTOZTATS c-VEL - - - ** A c utasts hasznlhat ugyanazokkal az objektumokkal mint a trls ** - - 1. A change utasts a trlssel azonosan viselkedik. A forma: - - [szm] c objektum OR c [szm] objektum - - 2. Az objektumok is azonosak, pl. w (sz), $ (sorvg), stb. - - 3. Mozgassuk a kurzort az els ---> kezdet sorra! - - 4. Menjnk az els hibra! - - 5. c$ begpelsvel a sorvgeket tegyk azonoss s nyomjunk <ESC>-et! - ----> Ennek a sornak a vge kiigaztsra szorul, hogy megegyezzen a msodikkal. ----> Ennek a sornak a vge a c$ paranccsal vltoztathat meg. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3. LECKE SSZEFOGLALJA - - - 1. A mr trlt sort beillesztshez nyomjunk p-t. Ez a trlt szveget - a kurzor UTN helyezi (ha sor kerlt trlsre, a kurzor allatti sorba). - - 2. A kurzor alatti karakter trshoz az r-et s azt a karaktert - nyomjuk, amellyel az eredetit fell szeretnnk rni. - - 3. A vltoztats (c) utasts a karaktertl az objektum vgig - vltoztatja meg az objektumot. Pldul a cw a kurzortl a sz vgig, - a c$ a sor vgig. - - 4. A vltoztats formtuma: - - [szm] c objektum VAGY c [szm] objektum - -Ugorjunk a kvetkez leckre! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.1. lecke: HELY S FJLLLAPOT - - - ** CTRL-g megnyomsval megnzhetjk a helynket a fjlban s a fjl llapott. - SHIFT-G letsvel a fjl adott sorra ugorhatunk. ** - - Megj: Olvassuk el az egsz leckt a lpsek vgrehajtsa eltt!! - - 1. Tartsuk nyomva a Ctrl gombot s nyomjunk g-t. Az llapotsor - megjelenik a lap aljn a fjlnvvel s az aktulis sor sorszmval. - Jegyezzk meg a sorszmot a 3. lpshez! - - 2. Nyomjunk Shift-G-t a lap aljra ugrshoz! - - 3. ssk be az eredeti sor szmt, majd ssnk shift-G-t! Ezzel - visszajutunk az eredeti sorra ahol Ctrl-g-t nyomtunk. - (A bert szm NEM fog megjelenni a kpernyn.) - - 4. Ha megjegyezte a feladatot, hajtsa vgre az 1-3. lpseket! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.2. lecke: A SEARCH PARANCS - - - ** / majd a kvnt kifejezs bersval kereshetjk meg a kifejezst. ** - - 1. Norml mdban ssnk / karaktert! Ez s a kurzor megjelenik - a kperny aljn, ahogy a : utasts is. - - 2. rjuk be: 'hiibaa' <ENTER>! Ez az a sz amit keresnk. - - 3. A kifejezs jabb keresshez ssk le egyszeren: n . - A kifejezs ellenkez irnyban trtn keresshez ezt ssk be: Shift-N . - - 4. Ha visszafel szeretne keresni, akkor ? kell a ! helyett. - ----> "hiibaa" nem a helyes mdja a hiba lersnak; a hiibaa egy hiba. - -Megj: Ha a keress elri a fjl vgt, akkor az elejn kezdi. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.3. lecke: ZRJELEK PRJNAK KERESSE - - - ** % letsvel megtalljuk a ),], vagy } prjt. ** - - 1. Helyezze a kurzort valamelyik (, [, vagy { zrjelre a ---> kezdet - sorban! - - 2. ssn % karaktert! - - 3. A kurzor a zrjel prjra fog ugrani. - - 4. % letsvel visszaugrik az eredeti zrjelre. - ----> Ez ( egy tesztsor (-ekkel, [-ekkel ] s {-ekkel } a sorban. )) - -Megj: Ez nagyon hasznos, ha olyan programot debugolunk, amelyben a - zrjelek nem prosak! - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.4. lecke: A HIBK KIJAVTSNAK EGY MDJA - - - ** :s/j/rgi/g begpelsvel az 'j'-ra cserljk a 'rgi'-t. ** - - 1. Menjnk a ---> kezdet sorra! - - 2. rjuk be: :s/eggy/egy <ENTER> . Ekkor csak az els vltozik meg a - sorban. - - 3. Most ezt rjuk: :s/eggy/egg/g amely globlisan helyettest - a sorban. - Ez a sorban minden elfordulst helyettest. - ----> eggy hegy meggy, szembe jn eggy msik heggy. - - 4. Kt sor kztt a karaktersor minden elfordulsnak helyettestse: - :#,#s/rgi/j/g ahol #,# a kt sor sorszma. - :%s/rgi/j/g a fjlbeli sszes elforduls helyettestse. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4. LECKE SSZEFOGLALJA - - - 1. Ctrl-g kirja az kurzor helyt a fjlban s a fjl llapott. - Shift-G a fjl vgre megy, gg az elejre. Egy szm utn - Shift-G az adott szm sorra ugrik. - - 2. / utn egy kifejezs ELREFELE keresi a kifejezst. - 2. ? utn egy kifejezs VISSZAFELE keresi a kifejezst. - Egy keress utn az n a kvetkez elfordulst keresi azonos irnyban - Shift-N az ellenkez irnyban keres. - - 3. % begpelsvel, ha (,),[,],{, vagy } karakteren vagyunk a zrjel - prjra ugrik. - - 4. az els rgi helyettestse jjal a sorban :s/rgi/j - az sszes rgi helyettestse jjal a sorban :s/rgi/j/g - kt sor kztti kifejezsekre :#,#s/rgi/j/g - # helyn az aktulis sor (.) s az utols ($) is llhat :.,$/rgi/j/g - A fjlbeli sszes elforduls helyettestse :%s/rgi/j/g - Mindenkori megerstsre vr 'c' hatsra :%s/rgi/j/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.1. lecke: KLS PARANCS VGREHAJTSA - - - ** :! utn kls parancsot rva vgrehajtdik a parancs. ** - - 1. rjuk be az ismers : parancsot, hogy a kurzort a kperny aljra - helyezzk. Ez lehetv teszi egy parancs berst. - - 2. ! (felkiltjel) bersval tegyk lehetv kls hj (shell)-parancs - vgrehajtst. - - 3. rjunk pldul ls parancsot a ! utn majd ssnk <ENTER>-t. Ez ki - fogja listzni a knyvtrunkat ugyangy, mintha a shell promptnl - lennnk. Vagy rja ezt :!dir ha az ls nem mkdik. - -Megj: Ilymdon brmely kls utasts vgrehajthat. - -Megj: Minden : parancs utn <ENTER>-t kell tni. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.2. lecke: BVEBBEN A FJLOK RSRL - - - ** A fjlok vltozsait gy rhatjuk ki :w FJLNV. ** - - 1. :!dir vagy :!ls bersval listzzuk a knyvtrunkat! - n mr tudja, hogy <ENTER>-t kell tnie utna. - - 2. Vlasszon egy fjlnevet, amely mg nem ltezik pl. TESZT! - - 3. rja: :w TESZT (ahol TESZT a vlasztott fjlnv)! - - 4. Ez elmenti a teljes fjlt (a Vim Tutort) TESZT nven. - Ellenrzskpp rjuk ismt :!dir hogy lssuk a knyvtrat! - (Felfel gombbal : utn az elz utastsok visszahozhatak.) - -Megj: Ha n kilpne a Vimbl s s visszatrne a TESZT fjlnvvel, akkor a - fjl a tutor mentskori pontos msolata lenne. - - 5. Tvoltsa el a fjlt (MS-DOS): :!del TESZT - vagy (Unix): :!rm TESZT - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.3. lecke: EGY KIVLASZTOTT RSZ KIRSA - - - ** A fjl egy rsznek kirshoz rja :#,# w FJLNV ** - - 1. :!dir vagy :!ls bersval listzza a knyvtrat, s vlasszon egy - megfelel fjlnevet, pl. TESZT. - - 2. Mozgassa a kurzort ennek az oldalnak a tetejre, s nyomjon - Ctrl-g-t, hogy megtudja a sorszmot. JEGYEZZE MEG A SZMOT! - - 3. Most menjen a lap aljra, s sse be ismt: Ctrl-g. EZT A SZMOT - IS JEGYEZZE MEG! - - 4. Ha csak ezt a rszt szeretn menteni a fjlnak, rja :#,# w TESZT - ahol #,# a kt sorszm, amit megjegyzett, TESZT az n fjlneve. - - 5. Ismt nzze meg, hogy a fjl ott van (:!dir) de NE trlje. - - 6. Vimben ltezik egy msik lehetsg: nyomja meg a Shift-V gombprt - az els menteni kvnt soron, majd menjen le az utolsra, ezutn - rja :w TESZT2 Ekkor a TESZT2 fjlba kerl a kijellt rsz. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.4. lecke: RETRIEVING AND MERGING FILES - - - ** Egy fjl tartalmnak beillesztshez rja :r FJLNV ** - - 1. :!dir bersval nzze meg, hogy az n TESZT fjlja ltezik mg. - - 2. Helyezze a kurzort ennek az oldalnak a tetejre. - -MEGJ: A 3. lps utn az 5.3. leckt fogja ltni. Azutn LEFEL indulva - keresse meg ismt ezt a leckt. - - 3. Most szrja be a TESZT nev fjlt a :r TESZT paranccsal, ahol - TESZT az n fjljnak a neve. - -MEGJ: A fjl, amit beillesztett a kurzora alatt helyezkedik el. - - 4. Hogy ellenrizzk, hogy a fjlt tnyleg beillsztettk, menjen - vissza, s nzze meg, hogy ktszer szerepel az 5.3. lecke! Az eredeti - mellett a fjlbl bemsolt is ott van. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5. LECKE SSZEFOGLALJA - - - 1. :!parancs vgrehajt egy kls utastst. - - Pr hasznos plda: - (MS-DOS) (Unix) - :!dir :!ls - knyvtrlista kirsa. - :!del FJLNV :!rm FJLNV - FJLNV nev fjl trlse. - - 2. :w FJLNV kirja a jelenlegi Vim-fjlt a lemezre FJNV nven. - - 3. :#,#w FJLNV kirja a kt sorszm (#) kztti sorokat FJLNV-be - Msik lehetsg, hogy a kezdsornl Ctrl-v-t nyom lemegy az utols - sorra, majd ezt ti be :w FJLNV - - 4. :r FJLNV beolvassa a FJLNV fjlt s behelyezi a jelenlegi fjlba - a kurzorpozici utni sorba. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.1. lecke: A OPEN PARANCS - - -** o bersval nyithat egy j sort a kurzor alatt s vlthat beszr mdba ** - - 1. Mozgassuk a kurzort a ---> kezdet sorra. - - 2. o (kicsi) bersval nyisson egy sort a kurzor ALATT! Ekkor - automatikusan beszr (insert) mdba kerl. - - 3. Msolja le a ---> jel sort s <ESC> megnyomsval lpjen ki - a beszr mdbl. - ----> Az o lenyomsa utn a kurzor a kvetkez sor elejn ll beszr mdban. - - 4. A kurzor FELETTI for megnyitshoz egyzseren a nagy O bett rjon -kicsi helyett. Prblja ki a kvetkez soron! -Nyisson egy j sort efelett Shift-O megnyomsval, mialatt a kurzor -ezen a soron ll. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.2. lecke: AZ APPEND PARANCS - - - ** a lenyomsval a kuror UTN szrhatunk szveget. ** - - 1. Mozgassuk a kurzort a kvetkez ---> kezdet sor vgre gy, - hogy norml mdban $ r be. - - 2. a (kicsi) letsvel szveget szrhat be AMG a karakter mg, - amelyen a kurzor ll. - (A nagy A az egsz sor vgre rja a szveget.) - -Megj: A Vimben a sor legvgre is lehet llni, azonba ez eldjben - a Vi-ban nem lehetsges, ezrt abban az a nlkl elg krlmnyes - a sor vghez szveget rni. - - 3. Egsztse ki az els sort. Vegye szre, hogy az a utasts (append) - teljesen egyezik az i-vel (insert) csupn a beszrt szveg helye - klnbzik. - ----> Ez a sor lehetv teszi nnek, hogy gyakorolja ----> Ez a sor lehetv teszi nnek, hogy gyakorolja a sor vgre beillesztst. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.3. lecke: AZ TRS MSIK VLTOZATA - - - ** Nagy R bersval rhat fell tbb mint egy karaktert. ** - - 1. Mozgassuk a kurzort az els ---> kezdet sorra! - - 2. Place the cursor at the beginning of the first word that is different - from the second line marked ---> (the word 'last'). - - 3. Now type R and replace the remainder of the text on the first line by - typing over the old text to make the first line the same as the second. - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. Note that when you press <ESC> to exit, any unaltered text remains. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.4. lecke: BELLTSOK - -** lltsuk be, hogy a keress s a helyettests ne fggjn kis/NAGYbetktl ** - - 1. Keressk meg az 'ignore'-t az berva: - /ignore - Ezt ismteljk tbbszr az n billentyvel - - 2. lltsuk be az 'ic' (Ignore case) lehetsget gy: - :set ic - - 3. Most keressnk ismt az 'ignore'-ra n-nel - Ismteljk meg tbbszr a keresst: n - - 4. lltsuk be a 'hlsearch' s 'incsearch' lehetsgeket: - :set hls is - - 5. Most ismt rjuk be a keresparancsot, s lssuk mi trtnik: - /ignore - - 6. A kiemelst szntessk meg albbi utastsok egyikvel: - :set nohls vagy :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6. LECKE SSZEFOGLALJA - - - 1. Typing o opens a line BELOW the cursor and places the cursor on the open - line in Insert mode. - Typing a capital O opens the line ABOVE the line the cursor is on. - - 2. Type an a to insert text AFTER the character the cursor is on. - Typing a capital A automatically appends text to the end of the line. - - 3. Typing a capital R enters Replace mode until <ESC> is pressed to exit. - - 4. Typing ":set xxx" sets the option "xxx" - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 7. lecke: ON-LINE HELP PARANCSOK - - - ** Az online sgrendszer hasznlata ** - - A Vim rszletes sgval rendelkezik. Indulshoz a kvetkezk egyikt - tegye: - - nyomja meg a <HELP> gombot (ha van ilyen) - - nyomja meg az <F1> gombot (ha van ilyen) - - rja be: :help <ENTER> - - :q <ENTER> bersval zrhatja be a sgablakot. - - Majdnem minden tmakrrl tallhat sgt, argumentum megadsval - ":help" utasts . Prblja az albbiakat ki (<ENTER>-t ne felejtsk): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 8. lecke: INDTSZKRIPT RSA - - ** A Vim lehetsgeinek belltsa ** - - A Vim rengeteg lehetsggel rendelkezik a Vi-hoz kpest, de a legtbb - alapbl elrhetetlen. Ahhoz, hogy alapbl tbb lehetsgnk legyen ksztennk - kell egy "vimrc" fjlt. - - 1. Kezdjk el szerkeszteni a "vimrc" fjlt, ennek mdja: - :edit ~/.vimrc Unixon, Linuxon - :edit $VIM/_vimrc MS-Windowson - - 2. Most szrjuk be a plda "vimrc" fjl szvegt: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. rjuk ki a fjlt: - - :write - - Legkzelebb a Vim szintaxiskiemelssel indul. - Hozzadhatja kedvenc belltsait ehhez a "vimrc" fjlhoz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Itt vgzdik a Vim oktat, melynek a szndka egy rvid ttekints a - Vimrl, amely elg ahhoz, hogy elg knnyedn kezeljk a szerkesztt. - Tvol van a teljessgtl, mivel a Vimnek szmtalan tovbbi utastsa - van. Ezutn a felhasznli kziknyvet rdemes elolvasni az angolul - tudknak: ":help user-manual". (egyelre nem tud magyarul) - - Tovbbi magyar olvasnivalk rhetek el az albbi oldalrl. - http://ubuntu.hu/index.php?title=Vim - - For further reading and studying, this book is recommended: - Vim - Vi Improved - by Steve Oualline - Publisher: New Riders - The first book completely dedicated to Vim. Especially useful for beginners. - There are many examples and pictures. - See http://iccf-holland.org/click5.html - - This book is older and more about Vi than Vim, but also recommended: - Learning the Vi Editor - by Linda Lamb - Publisher: O'Reilly & Associates Inc. - It is a good book to get to know almost anything you want to do with Vi. - The sixth edition also includes information on Vim. - - This tutorial was written by Michael C. Pierce and Robert K. Ware, - Colorado School of Mines using ideas supplied by Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. diff --git a/runtime/tutor/tutor.hu.utf-8 b/runtime/tutor/tutor.hu.utf-8 deleted file mode 100644 index b64155ff7..000000000 --- a/runtime/tutor/tutor.hu.utf-8 +++ /dev/null @@ -1,823 +0,0 @@ -=============================================================================== -= Ü d v ö z ö l j ü k a V I M T u t o r b a n - 1.5-ös verzió === -=============================================================================== - - A Vim egy nagyon hatékony szerkesztő, amelnyek rengeteg utasítása - van, túl sok, hogy egy ilyen oktatóban (tutorban), mint az itteni - mindet elmagyarázzuk. Ez az oktató arra törekszik, hogy annyit - elmagyarázzon, amennyi elég, hogy könnyedén használjuk a Vim-et, az - általános célú szövegszerkesztőt. - - A feladatok megoldásához 25-30 perc szükséges attól függően, - mennyit töltünk a kisérletezéssel. - - A leckében szereplő utasítások módosítani fogják a szövegek. - Készítsen másolatot erről a fájlról, ha gyakorolni akar. - (Ha "vimtutor"-ral indította, akkor ez már egy másolat.) - - Fontos megérteni, hogy ez az oktató cselekedve taníttat. - Ez azt jelenti, hogy Önnek ajánlott végrehajtania az utasításokat, - hogy megfelelően megtanulja azokat. Ha csak olvassa, elfelejti! - - Most bizonyosodjon, meg, hogy a Caps-Lock gombja NINCS lenyomva, és - Nyomja meg megfelelő számúszor a j gombot, hogy az 1.1-es - lecke teljesen a képernyőn legyen! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.1. lecke: A KURZOR MOZGATÁSA - - - ** A kurzor mozgatásához nyomja meg a h,j,k,l gombokat az alábbi szerint. ** - ^ - k Tipp: A h billentyű van balra, és balra mozgat - < h l > A l billentyű van jobbra, és jobbra mozgat - j A j billentyű olyan, mint egy lefele nyíl - v - 1. Mozgassa a kurzort körbe az ablakban, amíg hozzá nem szokik! - - 2. Tartsa lenyomva a lefelét (j), akkor ismétlődik! ----> Most tudja, hogyan mehet a következő leckére. - - 3. A lefelé fomb használatával menjen a 1.2. leckére! - -Megj: Ha nem biztos benne, mit nyomott meg, nyomja meg az <ESC>-et, hogy - normál módba kerüljön, és ismételje meg a parancsot! - -Megj: A kurzor gomboknak is működniük kell, de a hjkl használatával - sokkal gyorsabban tud, mozogni, ha hozzászokik. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.2. lecke: BE ÉS KILÉPÉS A VIMBŐL - - - !! MEGJ: Mielőtt végrehajtja az alábbi lépéseket, olvassa végig a leckét !! - - 1. Nyomja meg az <ESC> gombot (hogy biztosan normál módban legyen). - - 2. Írja: :q! <ENTER>. - ----> Ezzel kilép a szerkesztőből a változások MENTÉSE NÉLKÜL. - Ha menteni szeretné a változásokat és kilépni, írja: - :wq <ENTER> - - 3. Amikor a shell promptot látja, írja be a parancsot, amely ebbe a - tutorba hozza: - Ez valószínűleg: vimtutor <ENTER> - Normális esetben ezt írná: vim tutor.hu <ENTER> - ----> 'vim' jelenti a vimbe belépést, 'tutor.hu' a fájl, amit szerkeszteni kíván. - - 4. Ha megjegyezte a lépéseket és biztos magában, hajtsa végre a lépéseket - 1-től 3-ig, hogy kilépjen és visszatérjen a szerkesztőbe. Azután - menjen az 1.3. leckére. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.3. lecke: SZÖVEG SZERKESZTÉSE - TÖRLÉS - - -** Normál módban nyomjon x-et, hogy a kurzor alatti karaktert törölje. ** - - 1. Mozgassa a kurzort a ---> kezdetű sorra! - - 2. A hibák kijavításához mozgassa a kurzort amíg a törlendő karakter - fölé nem ér. - - 3. Nyomja meg az x gombot, hogy törölje a nemkívánt karaktert. - - 4. Ismételje a 2, 3, 4-es lépéseket, hogy kijavítsa a mondatot. - ----> ŐŐszi éjjjell izziik aa galaggonya rruuhája. - - 5. Ha a sor helyes, ugorjon a 1.4. leckére. - -MEGJ: A tanulás során ne memorizálni próbáljon, hanem használat során tanuljon. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.4. lecke: SZÖVEG SZERKESZTÉSE - BESZÚRÁS - - - ** Normál módban i megnyomásával lehet beilleszteni. ** - - 1. Az alábbi első ---> kezdetű sorra menjen. - - 2. Ahhoz, hogy az elsőt azonossá tegye a másodikkal, mozgassa a kurzort - az első karakterre, amely UTÁN szöveget kell beszúrni. - - 3. Nyomjon i-t és írja be a megfelelő szöveget. - - 4. Amikor mindent beírt, nyomjon <ESC>-et, hogy Normál módba visszatérjen. - Ismételje a 2 és 4 közötti lépéseket, hogy kijavítsa a mondatot. - ----> Az átható soól hizik pár ész. ----> Az itt látható sorból hiányzik pár rész. - - 5. Ha már begyakorolta a beszúrást, menjen az alábbi összefoglalóra. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1. LECKE ÖSSZEFOGLALÓJA - - - 1. A kurzort vagy a nyilakkal vagy a hjkl gombokkal mozgathatja. - h (balra) j (le) k (fel) l (jobbra) - - 2. A Vimbe (a $ prompttól) így léphet be: vim FILENAME <ENTER> - - 3. A Vimből így léphet ki: <ESC> :q! <ENTER> a változtatások eldobásával. - vagy így: <ESC> :wq <ENTER> a változások mentésével. - - 4. A kurzor alatti karakter törlése normál módban: x - - 5. Szöveg beszúrása a kurzor után normál módban: - i gépelje be a szöveget <ESC> - -MEGJ: Az <ESC> megnyomása normál módba viszi, vagy megszakít egy nem befejezett - részben befejezett parancsot. - -Most folytassuk a 2. leckével! - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.1. lecke: TÖRLŐ UTASÍTÁSOK - - - ** dw töröl a szó végéig. ** - - 1. Nyomjon <ESC>-et, hogy megbizonyosodjon, hogy normál módban van! - - 2. Mozgassa a kurzort a ---> kezdetű sorra! - - 3. Mozgassa a kurzort arra annak a szónak az elejére, amit törölni szeretne. - Törölje az állatokat a mondatból. - - 4. A szó törléséhez írja: dw - - MEGJ: Ha rosszul kezdte az utasítást csak nyomjon <ESC> gombot - a megszakításához. - ----> Pár szó kutya nem uhu illik pingvin a mondatba tehén. - - 5. Ismételje a 3 és 4 közötti utasításokat amíg kell és ugorjon a 2.2 leckére! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.2. lecke: MÉG TÖBB TÖRLŐ UTASÍTÁS - - - ** d$ beírásával a sor végéig törölhet. ** - - 1. Nyomjon <ESC>-et, hogy megbizonyosodjon, hogy normál módban van! - - 2. Mozgassa a kurzort a ---> kezdetű sorra! - - 3. Mozgassa a kurzort a helyes sor végére (az első . UTÁN)! - - 4. d$ begépeléséveltörölje a sor végét! - ----> Valaki a sor végét kétszer gépelte be. kétszer gépelte be. - - - 5. Menjen a 2.3. leckére, hogy megértse mi történt! - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.3. lecke: UTASÍTÁSOKRÓL ÉS OBJEKTUMOKRÓL - - - A d (delete=törlés) utasítás formája a következő: - - [szám] d objektum VAGY d [szám] objektum - Ahol: - szám - hányszor hajtódjon végre a parancs (elhagyható, alapérték=1). - d - a törlés (delete) utasítás. - objektum - amin a parancsnak teljesülnie kell (alább listázva). - - Objektumok rövid listája: - w - a kurzortól a szó végéig, beleértve a szóközt. - e - a kurzortól a szó végéig, NEM beleértve a szóközt. - $ - a kurzortól a sor végéig. - -MEGJ: Vállalkozóbbak kedvéért, csupán az objektum begépelésével parancs nélkül - a kurzor oda kerül, amit az objektumlista megad. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.4. lecke: EGY KIVÉTEL A 'PARANCSOBJEKTUM' ALÓL - - - ** dd beírásával törölheti az egész sort. ** - - A teljes sor törlésének gyakorisága miatt a Vi tervezői elhatározták, - hogy könnyebb lenne csupán a d-t kétszer megnyomni, hogy egy sort töröljünk. - - 1. Mozgassa a kurzort az alábbi kifejezések második sorára! - 2. dd begépelésével törölje a sort! - 3. Menjen a 4. (eredetileg 5.) sorra! - 4. 2dd (ugyebár szám-utasítás-objektum) begépelésével töröljön két sort! - - 1) Alvó szegek a jéghideg homokban, - 2) - kezdi a költő - - 3) Plakátmagányban ázó éjjelek. - 4) Pingvinek ne féljetek, - 5) Távolról egy vaku villant, - 6) Égve hagytad a folyosón a villanyt. - 7) Ma ontják véremet. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.5. lecke: A VISSZAVONÁS (UNDO) PARANCS - - -** u gépelésével visszavonható az utolsó parancs, U az egész sort helyreállítja. ** - - 1. Menjünk az alábbi ---> kezdetű sor első hibájára! - 2. x lenyomásával törölje az első felesleges karaktert! - 3. u megnyomásával vonja vissza az utolsónak végrehajtott utasítást! - 4. Másodjára javítson ki minden hibát a sorben az x utasítással! - 5. Most nagy U -val állítsa vissza a sor eredeti állapotát! - 6. Nyomja meg az u gombot párszor, hogy az U és sz előző utasításokat - visszaállítsa! - 7. CTRL-R (CTRL gomb lenyomása mellett üssön R-t) párszor csinálja újra a - visszavont parancsokat (redo)! - ----> Javíítsd a hhibákaat ebbben a sooorban majd állítsa visszaaa az eredetit. - - 8. Ezek nagyon hasznos parancsok. Most ugarjon a 2. lecke összefoglalójára. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2. LECKE ÖSSZEFOGLALÓJA - - - 1. Törlés a kurzortól a szó végéig: dw - - 2. Törlés a kurzortól a szó végéig: d$ - - 3. Egész sor törlése: dd - - 4. Egy utasítás alakja normál módban: - - [szám] utasítás objektum VAGY utasítás [szám] objektum - ahol: - szám - hányszor ismételjük a parancsot - utasítás - mit tegyünk, pl. d a törléskor - objektum - mire hasson az utasítás, például w (szó=word), - $ (a sor végéig), stb. - - 5. Az előző tett visszavonása (undo): u (kis u) - A sor összes változásának visszavonása: U (nagy U) - Visszavonások visszavonása: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.1. lecke: A PUT PARANCS - - - ** p leütésével az utolsónak töröltet a kurzor után illeszhetjük. ** - - 1. Mozgassuk a kurzort az alábbi sorok első sorára. - - 2. dd leütésével töröljük a sort és eltérolódik a Vim pufferében. - - 3. Mozgassuk a kurzort AFÖLÉ a sor fölé, ahová mozgatni szeretnénk a - törölt sort. - - 4. Normál módban írjunk p betűt a törölt sor beillesztéséhez. - - 5. Folytassuk a 2-4. utasításokkal hogy a helyes sorrendet kapjuk. - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.2. lecke: A REPLACE PARANCS - - -** r és a karakterek leütésével a kurzor alatti karaktert megváltoztatjuk. ** - - 1. Mozgassuk a kurzort az első ---> kezdetű sorra! - - 2. Mozgassuk a kurzort az első hiba fölé! - - 3. r majd a kívánt karakter leütésével változtassuk meg a hibásat! - - 4. A 2. és 3. lépésekkel javítsuk az összes hibát! - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. Menjünk a 3.2. leckére! - -MEGJ: Emlékezzen, hogy nem memorizálással, hanem gyakorlással tanuljon. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.3. lecke: A CHANGE PARANCS - - - ** A szó egy részének megváltoztatásához írjuk: cw . ** - - 1. Mozgassuk a kurzort az első ---> kezdetű sorra! - - 2. Vigye a kurzort a Ezen szó z betűje fölé! - - 3. cw és a helyes szórész (itt 'bben') beírásával javítsa a szót! - - 4. <ESC> lenyomása után a következő hibára ugorjon (az első cserélendő - karakterre)! - - 5. A 3. és 4. lépések ismétlésével az első mondatot tegye a másodikkal - azonossá! - ----> Ezen a sorrrrr pár szóra meg kell változzanak a change utaskíréső. ----> Ebben a sorban pár szót meg kell változtatni a change utasítással. - -Vegyük észre, hogy a cw nem csak a szót írja át, hanem beszúró -(insert) módba vált. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.4. lecke: TÖBBFÉLE VÁLTOZTATÁS c-VEL - - - ** A c utasítás használható ugyanazokkal az objektumokkal mint a törlés ** - - 1. A change utasítás a törléssel azonosan viselkedik. A forma: - - [szám] c objektum OR c [szám] objektum - - 2. Az objektumok is azonosak, pl. w (szó), $ (sorvég), stb. - - 3. Mozgassuk a kurzort az első ---> kezdetű sorra! - - 4. Menjünk az első hibára! - - 5. c$ begépelésével a sorvégeket tegyük azonossá és nyomjunk <ESC>-et! - ----> Ennek a sornak a vége kiigazításra szorul, hogy megegyezzen a másodikkal. ----> Ennek a sornak a vége a c$ paranccsal változtatható meg. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3. LECKE ÖSSZEFOGLALÓJA - - - 1. A már törölt sort beillesztéséhez nyomjunk p-t. Ez a törölt szöveget - a kurzor UTÁN helyezi (ha sor került törlésre, a kurzor allatti sorba). - - 2. A kurzor alatti karakter átírásához az r-et és azt a karaktert - nyomjuk, amellyel az eredetit felül szeretnénk írni. - - 3. A változtatás (c) utasítás a karaktertől az objektum végéig - változtatja meg az objektumot. Például a cw a kurzortól a szó végéig, - a c$ a sor végéig. - - 4. A változtatás formátuma: - - [szám] c objektum VAGY c [szám] objektum - -Ugorjunk a következő leckére! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.1. lecke: HELY ÉS FÁJLÁLLAPOT - - - ** CTRL-g megnyomásával megnézhetjük a helyünket a fájlban és a fájl állapotát. - SHIFT-G leütésével a fájl adott sorára ugorhatunk. ** - - Megj: Olvassuk el az egész leckét a lépések végrehajtása előtt!! - - 1. Tartsuk nyomva a Ctrl gombot és nyomjunk g-t. Az állapotsor - megjelenik a lap alján a fájlnévvel és az aktuális sor sorszámával. - Jegyezzük meg a sorszámot a 3. lépéshez! - - 2. Nyomjunk Shift-G-t a lap aljára ugráshoz! - - 3. Üssük be az eredeti sor számát, majd üssünk shift-G-t! Ezzel - visszajutunk az eredeti sorra ahol Ctrl-g-t nyomtunk. - (A beírt szám NEM fog megjelenni a képernyőn.) - - 4. Ha megjegyezte a feladatot, hajtsa végre az 1-3. lépéseket! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.2. lecke: A SEARCH PARANCS - - - ** / majd a kívánt kifejezés beírásával kereshetjük meg a kifejezést. ** - - 1. Normál módban üssünk / karaktert! Ez és a kurzor megjelenik - a képernyő alján, ahogy a : utasítás is. - - 2. Írjuk be: 'hiibaa' <ENTER>! Ez az a szó amit keresünk. - - 3. A kifejezés újabb kereséséhez üssük le egyszerűen: n . - A kifejezés ellenkező irányban történő kereséséhez ezt üssük be: Shift-N . - - 4. Ha visszafelé szeretne keresni, akkor ? kell a ! helyett. - ----> "hiibaa" nem a helyes módja a hiba leírásának; a hiibaa egy hiba. - -Megj: Ha a keresés eléri a fájl végét, akkor az elején kezdi. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.3. lecke: ZÁRÓJELEK PÁRJÁNAK KERESÉSE - - - ** % leütésével megtaláljuk a ),], vagy } párját. ** - - 1. Helyezze a kurzort valamelyik (, [, vagy { zárójelre a ---> kezdetű - sorban! - - 2. Üssön % karaktert! - - 3. A kurzor a zárójel párjára fog ugrani. - - 4. % leütésével visszaugrik az eredeti zárójelre. - ----> Ez ( egy tesztsor (-ekkel, [-ekkel ] és {-ekkel } a sorban. )) - -Megj: Ez nagyon hasznos, ha olyan programot debugolunk, amelyben a - zárójelek nem párosak! - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.4. lecke: A HIBÁK KIJAVÍTÁSÁNAK EGY MÓDJA - - - ** :s/új/régi/g begépelésével az 'új'-ra cseréljük a 'régi'-t. ** - - 1. Menjünk a ---> kezdetű sorra! - - 2. Írjuk be: :s/eggy/egy <ENTER> . Ekkor csak az első változik meg a - sorban. - - 3. Most ezt írjuk: :s/eggy/egg/g amely globálisan helyettesít - a sorban. - Ez a sorban minden előfordulást helyettesít. - ----> eggy hegy meggy, szembe jön eggy másik heggy. - - 4. Két sor között a karaktersor minden előfordulásának helyettesítése: - :#,#s/régi/új/g ahol #,# a két sor sorszáma. - :%s/régi/új/g a fájlbeli összes előfordulás helyettesítése. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4. LECKE ÖSSZEFOGLALÓJA - - - 1. Ctrl-g kiírja az kurzor helyét a fájlban és a fájl állapotát. - Shift-G a fájl végére megy, gg az elejére. Egy szám után - Shift-G az adott számú sorra ugrik. - - 2. / után egy kifejezés ELŐREFELE keresi a kifejezést. - 2. ? után egy kifejezés VISSZAFELE keresi a kifejezést. - Egy keresés után az n a következő előfordulást keresi azonos irányban - Shift-N az ellenkező irányban keres. - - 3. % begépelésével, ha (,),[,],{, vagy } karakteren vagyunk a zárójel - párjára ugrik. - - 4. az első régi helyettesítése újjal a sorban :s/régi/új - az összes régi helyettesítése újjal a sorban :s/régi/új/g - két sor közötti kifejezésekre :#,#s/régi/új/g - # helyén az aktuális sor (.) és az utolsó ($) is állhat :.,$/régi/új/g - A fájlbeli összes előfordulás helyettesítése :%s/régi/új/g - Mindenkori megerősítésre vár 'c' hatására :%s/régi/új/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.1. lecke: KÜLSŐ PARANCS VÉGREHAJTÁSA - - - ** :! után külső parancsot írva végrehajtódik a parancs. ** - - 1. Írjuk be az ismerős : parancsot, hogy a kurzort a képernyő aljára - helyezzük. Ez lehetővé teszi egy parancs beírását. - - 2. ! (felkiáltójel) beírásával tegyük lehetővé külső héj (shell)-parancs - végrehajtását. - - 3. Írjunk például ls parancsot a ! után majd üssünk <ENTER>-t. Ez ki - fogja listázni a könyvtárunkat ugyanúgy, mintha a shell promptnál - lennénk. Vagy írja ezt :!dir ha az ls nem működik. - -Megj: Ilymódon bármely külső utasítás végrehajtható. - -Megj: Minden : parancs után <ENTER>-t kell ütni. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.2. lecke: BŐVEBBEN A FÁJLOK ÍRÁSÁRÓL - - - ** A fájlok változásait így írhatjuk ki :w FÁJLNÉV. ** - - 1. :!dir vagy :!ls beírásával listázzuk a könyvtárunkat! - Ön már tudja, hogy <ENTER>-t kell ütnie utána. - - 2. Válasszon egy fájlnevet, amely még nem létezik pl. TESZT! - - 3. Írja: :w TESZT (ahol TESZT a választott fájlnév)! - - 4. Ez elmenti a teljes fájlt (a Vim Tutort) TESZT néven. - Ellenőrzésképp írjuk ismét :!dir hogy lássuk a könyvtárat! - (Felfelé gombbal : után az előző utasítások visszahozhatóak.) - -Megj: Ha Ön kilépne a Vimből és és visszatérne a TESZT fájlnévvel, akkor a - fájl a tutor mentéskori pontos másolata lenne. - - 5. Távolítsa el a fájlt (MS-DOS): :!del TESZT - vagy (Unix): :!rm TESZT - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.3. lecke: EGY KIVÁLASZTOTT RÉSZ KIÍRÁSA - - - ** A fájl egy részének kiírásához írja :#,# w FÁJLNÉV ** - - 1. :!dir vagy :!ls beírásával listázza a könyvtárat, és válasszon egy - megfelelő fájlnevet, pl. TESZT. - - 2. Mozgassa a kurzort ennek az oldalnak a tetejére, és nyomjon - Ctrl-g-t, hogy megtudja a sorszámot. JEGYEZZE MEG A SZÁMOT! - - 3. Most menjen a lap aljára, és üsse be ismét: Ctrl-g. EZT A SZÁMOT - IS JEGYEZZE MEG! - - 4. Ha csak ezt a részét szeretné menteni a fájlnak, írja :#,# w TESZT - ahol #,# a két sorszám, amit megjegyzett, TESZT az Ön fájlneve. - - 5. Ismét nézze meg, hogy a fájl ott van (:!dir) de NE törölje. - - 6. Vimben létezik egy másik lehetőség: nyomja meg a Shift-V gombpárt - az első menteni kívánt soron, majd menjen le az utolsóra, ezután - írja :w TESZT2 Ekkor a TESZT2 fájlba kerül a kijelölt rész. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.4. lecke: RETRIEVING AND MERGING FILES - - - ** Egy fájl tartalmának beillesztéséhez írja :r FÁJLNÉV ** - - 1. :!dir beírásával nézze meg, hogy az Ön TESZT fájlja létezik még. - - 2. Helyezze a kurzort ennek az oldalnak a tetejére. - -MEGJ: A 3. lépés után az 5.3. leckét fogja látni. Azután LEFELÉ indulva - keresse meg ismét ezt a leckét. - - 3. Most szúrja be a TESZT nevű fájlt a :r TESZT paranccsal, ahol - TESZT az Ön fájljénak a neve. - -MEGJ: A fájl, amit beillesztett a kurzora alatt helyezkedik el. - - 4. Hogy ellenőrizzük, hogy a fájlt tényleg beillsztettük, menjen - vissza, és nézze meg, hogy kétszer szerepel az 5.3. lecke! Az eredeti - mellett a fájlból bemásolt is ott van. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5. LECKE ÖSSZEFOGLALÓJA - - - 1. :!parancs végrehajt egy külső utasítást. - - Pár hasznos példa: - (MS-DOS) (Unix) - :!dir :!ls - könyvtárlista kiírása. - :!del FÁJLNÉV :!rm FÁJLNÉV - FÁJLNÉV nevű fájl törlése. - - 2. :w FÁJLNÉV kiírja a jelenlegi Vim-fájlt a lemezre FÁJNÉV néven. - - 3. :#,#w FÁJLNÉV kiírja a két sorszám (#) közötti sorokat FÁJLNÉV-be - Másik lehetőség, hogy a kezdősornál Ctrl-v-t nyom lemegy az utolsó - sorra, majd ezt üti be :w FÁJLNÉV - - 4. :r FÁJLNÉV beolvassa a FÁJLNÉV fájlt és behelyezi a jelenlegi fájlba - a kurzorpozició utáni sorba. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.1. lecke: A OPEN PARANCS - - -** o beírásával nyithat egy új sort a kurzor alatt és válthat beszúró módba ** - - 1. Mozgassuk a kurzort a ---> kezdetű sorra. - - 2. o (kicsi) beírásával nyisson egy sort a kurzor ALATT! Ekkor - automatikusan beszúró (insert) módba kerül. - - 3. Másolja le a ---> jelű sort és <ESC> megnyomásával lépjen ki - a beszúró módból. - ----> Az o lenyomása után a kurzor a következő sor elején áll beszúró módban. - - 4. A kurzor FELETTI for megnyitásához egyzserűen a nagy O betűt írjon -kicsi helyett. Próbálja ki a következő soron! -Nyisson egy új sort efelett Shift-O megnyomásával, mialatt a kurzor -ezen a soron áll. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.2. lecke: AZ APPEND PARANCS - - - ** a lenyomásával a kuror UTÁN szúrhatunk szöveget. ** - - 1. Mozgassuk a kurzort a következő ---> kezdetű sor végére úgy, - hogy normál módban $ ír be. - - 2. a (kicsi) leütésével szöveget szúrhat be AMöGÉ a karakter mögé, - amelyen a kurzor áll. - (A nagy A az egész sor végére írja a szöveget.) - -Megj: A Vimben a sor legvégére is lehet állni, azonba ez elődjében - a Vi-ban nem lehetséges, ezért abban az a nélkül elég körülményes - a sor végéhez szöveget írni. - - 3. Egészítse ki az első sort. Vegye észre, hogy az a utasítás (append) - teljesen egyezik az i-vel (insert) csupán a beszúrt szöveg helye - különbözik. - ----> Ez a sor lehetővé teszi Önnek, hogy gyakorolja ----> Ez a sor lehetővé teszi Önnek, hogy gyakorolja a sor végére beillesztést. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.3. lecke: AZ ÁTÍRÁS MÁSIK VÁLTOZATA - - - ** Nagy R beírásával írhat felül több mint egy karaktert. ** - - 1. Mozgassuk a kurzort az első ---> kezdetű sorra! - - 2. Place the cursor at the beginning of the first word that is different - from the second line marked ---> (the word 'last'). - - 3. Now type R and replace the remainder of the text on the first line by - typing over the old text to make the first line the same as the second. - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. Note that when you press <ESC> to exit, any unaltered text remains. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.4. lecke: BEÁLLÍTÁSOK - -** Állítsuk be, hogy a keresés és a helyettesítés ne függjön kis/NAGYbetűktől ** - - 1. Keressük meg az 'ignore'-t az beírva: - /ignore - Ezt ismételjük többször az n billentyűvel - - 2. Állítsuk be az 'ic' (Ignore case) lehetőséget így: - :set ic - - 3. Most keressünk ismét az 'ignore'-ra n-nel - Ismételjük meg többször a keresést: n - - 4. Állítsuk be a 'hlsearch' és 'incsearch' lehetőségeket: - :set hls is - - 5. Most ismét írjuk be a keresőparancsot, és lássuk mi történik: - /ignore - - 6. A kiemelést szüntessük meg alábbi utasítások egyikével: - :set nohls vagy :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6. LECKE ÖSSZEFOGLALÓJA - - - 1. Typing o opens a line BELOW the cursor and places the cursor on the open - line in Insert mode. - Typing a capital O opens the line ABOVE the line the cursor is on. - - 2. Type an a to insert text AFTER the character the cursor is on. - Typing a capital A automatically appends text to the end of the line. - - 3. Typing a capital R enters Replace mode until <ESC> is pressed to exit. - - 4. Typing ":set xxx" sets the option "xxx" - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 7. lecke: ON-LINE HELP PARANCSOK - - - ** Az online súgórendszer használata ** - - A Vim részletes súgóval rendelkezik. Induláshoz a következők egyikét - tegye: - - nyomja meg a <HELP> gombot (ha van ilyen) - - nyomja meg az <F1> gombot (ha van ilyen) - - írja be: :help <ENTER> - - :q <ENTER> beírásával zárhatja be a súgóablakot. - - Majdnem minden témakörről találhat súgót, argumentum megadásával - ":help" utasítás . Próbálja az alábbiakat ki (<ENTER>-t ne felejtsük): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 8. lecke: INDÍTÓSZKRIPT ÍRÁSA - - ** A Vim lehetőségeinek beállítása ** - - A Vim rengeteg lehetőséggel rendelkezik a Vi-hoz képest, de a legtöbb - alapból elérhetetlen. Ahhoz, hogy alapból több lehetőségünk legyen készítenünk - kell egy "vimrc" fájlt. - - 1. Kezdjük el szerkeszteni a "vimrc" fájlt, ennek módja: - :edit ~/.vimrc Unixon, Linuxon - :edit $VIM/_vimrc MS-Windowson - - 2. Most szúrjuk be a példa "vimrc" fájl szövegét: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Írjuk ki a fájlt: - - :write - - Legközelebb a Vim szintaxiskiemeléssel indul. - Hozzáadhatja kedvenc beállításait ehhez a "vimrc" fájlhoz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Itt végződik a Vim oktató, melynek a szándéka egy rövid áttekintés a - Vimről, amely elég ahhoz, hogy elég könnyedén kezeljük a szerkesztőt. - Távol van a teljességtől, mivel a Vimnek számtalan további utasítása - van. Ezután a felhasználói kézikönyvet érdemes elolvasni az angolul - tudóknak: ":help user-manual". (egyelőre nem tud magyarul) - - További magyar olvasnivalók érhetőek el az alábbi oldalról. - http://ubuntu.hu/index.php?title=Vim - - For further reading and studying, this book is recommended: - Vim - Vi Improved - by Steve Oualline - Publisher: New Riders - The first book completely dedicated to Vim. Especially useful for beginners. - There are many examples and pictures. - See http://iccf-holland.org/click5.html - - This book is older and more about Vi than Vim, but also recommended: - Learning the Vi Editor - by Linda Lamb - Publisher: O'Reilly & Associates Inc. - It is a good book to get to know almost anything you want to do with Vi. - The sixth edition also includes information on Vim. - - This tutorial was written by Michael C. Pierce and Robert K. Ware, - Colorado School of Mines using ideas supplied by Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. diff --git a/runtime/tutor/tutor.info b/runtime/tutor/tutor.info Binary files differdeleted file mode 100644 index dccf4be6f..000000000 --- a/runtime/tutor/tutor.info +++ /dev/null diff --git a/runtime/tutor/tutor.it b/runtime/tutor/tutor.it deleted file mode 100644 index b1f6798d0..000000000 --- a/runtime/tutor/tutor.it +++ /dev/null @@ -1,967 +0,0 @@ -=============================================================================== -= Benvenuto alla G u i d a all'Editor V I M - Versione 1.7 = -=============================================================================== - - Vim un Editor molto potente ed ha parecchi comandi, troppi per - spiegarli tutti in una guida come questa. Questa guida serve a - descrivere quei comandi che ti permettono di usare facilmente - Vim come Editor di uso generale. - - Il tempo necessario per completare la guida circa 25-30 minuti, - a seconda di quanto tempo dedichi alla sperimentazione. - - ATTENZIONE! - I comandi nelle lezioni modificano questo testo. Fai una copia di questo - file per esercitarti (se hai usato "vimtutor", stai gi usando una copia). - - E' importante non scordare che questa guida vuole insegnare tramite - l'uso. Questo vuol dire che devi eseguire i comandi per impararli - davvero. Se leggi il testo e basta, dimenticherai presto i comandi! - - Adesso, assicurati che il tasto BLOCCA-MAIUSCOLO non sia schiacciato - e premi il tasto j tanto da muovere il cursore fino a che la - Lezione 1.1 riempia completamente lo schermo. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1.1: MOVIMENTI DEL CURSORE - - - ** Per muovere il cursore, premi i tasti h,j,k,l come indicato. ** - ^ - k NOTA: Il tasto h a sinistra e muove a sinistra. - < h l > Il tasto l a destra e muove a destra. - j Il tasto j ricorda una freccia in gi. - v - 1. Muovi il cursore sullo schermo finch non ti senti a tuo agio. - - 2. Tieni schiacciato il tasto "gi" (j) finch non si ripete il movimento. - Adesso sai come arrivare fino alla lezione seguente. - - 3. Usando il tasto "gi" spostati alla Lezione 1.2. - -NOTA: Quando non sei sicuro del tasto che hai premuto, premi <ESC> per andare - in Modalit Normale [Normal Mode]. Poi ri-immetti il comando che volevi. - -NOTA: I tasti con le frecce fanno lo stesso servizio. Ma usando hjkl riesci - a muoverti molto pi rapidamente, dopo che ci si abitua. Davvero! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1.2: USCIRE DA VIM - - - !! NOTA: Prima di eseguire quanto richiesto, leggi la Lezione per intero!! - - 1. Premi il tasto <ESC> (per assicurarti di essere in Modalit Normale). - - 2. Batti: :q! <INVIO>. - Cos esci dall'Editor SCARTANDO qualsiasi modifica fatta. - - 3. Quando vedi il PROMPT della Shell, batti il comando con cui sei arrivato - qui. Sarebbe: vimtutor <INVIO> - - 4. Se hai memorizzato questi comandi e ti senti pronto, esegui i passi - da 1 a 3 per uscire e rientrare nell'Editor. - -NOTA: :q! <INVIO> SCARTA qualsiasi modifica fatta. In una delle prossime - lezioni imparerai come salvare un file che hai modificato. - - 5. Muovi in gi il cursore per passare alla lezione 1.3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1.3: MODIFICA DI TESTI - CANCELLAZIONE - - - ** Premere x per cancellare il carattere sotto al cursore ** - - 1. Muovi il cursore alla linea pi sotto, indicata da --->. - - 2. Per correggere errori, muovi il cursore fino a posizionarlo sopra il - carattere da cancellare. - - 3. Premi il tasto x per cancellare il carattere sbagliato. - - 4. Ripeti i passi da 2 a 4 finch la frase corretta. - ----> La mmucca salt finnoo allaa lunnna. - - 5. Ora che la linea corretta, vai alla Lezione 1.4 - -NOTA: Mentre segui questa guida, non cercare di imparare a memoria, - ma impara facendo pratica. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1.4: MODIFICA DI TESTI - INSERIMENTO - - - ** Premere i per inserire testo. ** - - 1. Muovi il cursore alla prima linea qui sotto, indicata da --->. - - 2. Per rendere la prima linea uguale alla seconda, muovi il cursore sopra - il primo carattere DOPO la posizione in cui il testo va inserito. - - 3. Premi i e batti le aggiunte opportune. - - 4. Quando un errore corretto, premi <ESC> per tornare in Modalit Normale. - Ripeti i passi da 2 a 4 fino a completare la correzione della frase. - ----> C'era del tsto mncnt questa . ----> C'era del testo mancante da questa linea. - - 5. Quando sei a tuo agio nell'inserimento di testo vai alla lezione 1.5. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1.5: MODIFICA DI TESTI - AGGIUNTA - - - ** Premere A per aggiungere testo a fine linea. ** - - 1. Muovi il cursore alla prima linea qui sotto, indicata da --->. - Non importa dove posizionato il cursore sulla linea stessa. - - 2. Batti A e inserisci le necessarie aggiunte. - - 3. Alla fine della aggiunta premi <ESC> per tornare in modalit Normale. - - 4. Muovi il cursore alla seconda linea indicata ---> e ripeti - i passi 2 e 3 per correggere questa frase. - ----> C' del testo che manca da qu - C' del testo che manca da questa linea. ----> C' anche del testo che ma - C' anche del testo che manca qui. - - 5. Quando sei a tuo agio nell'aggiunta di testo vai alla lezione 1.6. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1.6: MODIFICARE UN FILE - - - ** Usare :wq per salvare un file e uscire. ** - - !! NOTA: Prima di eseguire quanto richiesto, leggi la Lezione per intero!! - - 1. Esci da Vim come hai fatto nella lezione 1.2: :q! - - 2. Quando vedi il PROMPT della Shell, batti il comando: vim tutor <INVIO> - 'vim' il comando per richiamare Vim, 'tutor' il nome del file che - desideri modificare. Usa un file che possa essere modificato. - - 3. Inserisci e cancella testo come hai imparato nelle lezioni precedenti. - - 4. Salva il file ed esci da Vim con: :wq <INVIO> - - 5. Rientra in vimtutor e scendi al sommario che segue. - - 6. Dopo aver letto i passi qui sopra ed averli compresi: eseguili. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 1 SOMMARIO - - - 1. Il cursore si muove usando i tasti con le frecce o i tasti hjkl. - h (sinistra) j (gi) k (su) l (destra) - - 2. Per eseguire Vim dal PROMPT della Shell batti: vim NOMEFILE <INVIO> - - 3. Per uscire da Vim batti: <ESC> :q! <INVIO> per uscire senza salvare. - oppure batti: <ESC> :wq <INVIO> per uscire salvando modifiche. - - 4. Per cancellare il carattere sotto al cursore batti: x - - 5. Per inserire testo subito prima del cursore batti: - i batti testo inserito <ESC> inserisci prima del cursore - A batti testo aggiunto <ESC> aggiungi a fine linea - -NOTA: premendo <ESC> ritornerai in Modalit Normale o annullerai - un comando errato che puoi aver inserito in parte. - -Ora continua con la Lezione 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.1: COMANDI DI CANCELLAZIONE - - - ** Batti dw per cancellare una parola. ** - - 1. Premi <ESC> per accertarti di essere in Modalit Normale. - - 2. Muovi il cursore fino alla linea qui sotto, indicata da --->. - - 3. Muovi il cursore all'inizio di una parola che vuoi cancellare. - - 4. Batti dw per cancellare la parola. - -NOTA: La lettera d sar visibile sull'ultima linea dello schermo mentre la - batti. Vim attende che tu batta w . Se vedi una lettera diversa - da d hai battuto qualcosa di sbagliato; premi <ESC> e ricomincia. - ----> Ci sono le alcune parole gioia che non c'entrano carta in questa frase. - - 5. Ripeti i passi 3 e 4 finch la frase corretta, poi vai alla Lezione 2.2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.2: ALTRI COMANDI DI CANCELLAZIONE - - - ** Batti d$ per cancellare fino a fine linea. ** - - 1. Premi <ESC> per accertarti di essere in Modalit Normale. - - 2. Muovi il cursore fino alla linea qui sotto, indicata da --->. - - 3. Muovi il cursore alla fine della linea corretta (DOPO il primo . ). - - 4. Batti d$ per cancellare fino a fine linea. - ----> Qualcuno ha battuto la fine di questa linea due volte. linea due volte. - - - 5. Vai alla Lezione 2.3 per capire il funzionamento di questo comando. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.3: OPERATORI E MOVIMENTI - - - Molti comandi di modifica testi consistono in un operatore e un movimento. - Il formato del comando di cancellazione con l'operatore d il seguente: - - d movimento - - Dove: - d - l'operatore di cancellazione - movimento - indica dove l'operatore va applicato (lista qui sotto). - - Breve lista di movimenti: - w - fino a inizio della parola seguente, ESCLUSO il suo primo carattere. - e - alla fine della parola corrente, COMPRESO il suo ultimo carattere. - $ - dal cursore fino a fine linea, COMPRESO l'ultimo carattere della linea. - - Quindi se batti de cancelli dal cursore fino a fine parola. - -NOTA: Se batti solo il movimento mentre sei in Modalit Normale, senza - nessun operatore, il cursore si muover come specificato. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.4: USO DI UN CONTATORE PER UN MOVIMENTO - - - ** Se batti un numero prima di un movimento, lo ripeti altrettante volte. ** - - 1. Muovi il cursore fino all'inizio della linea qui sotto, indicata da --->. - - 2. Batti 2w per spostare il cursore due parole pi avanti. - - 3. Batti 3e per spostare il cursore alla fine della terza parola seguente. - - 4. Batti 0 (zero) per posizionarti all'inizio della linea. - - 5. Ripeti i passi 2 e 3 usando numeri differenti. - ----> Questa solo una linea con parole all'interno della quale puoi muoverti. - - 6. Vai alla Lezione 2.5. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.5: USO DI UN CONTATORE PER CANCELLARE DI PIU' - - - ** Se batti un numero prima di un movimento, lo ripeti altrettante volte. ** - - Nella combinazione dell'operatore cancella e di un movimento, descritto prima, - inserite un contatore prima del movimento per cancellare di pi: - d numero movimento - - 1. Muovi il cursore alla prima parola MAIUSCOLA nella riga indicata da --->. - - 2. Batti d2w per cancellare le due parole MAIUSCOLE - - 3. Ripeti i passi 1 e 2 con un contatore diverso per cancellare la parole - MAIUSCOLE consecutive con un solo comando - ----> questa ABC DE linea FGHI JK LMN OP di parole Q RS TUV ora ripulita. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.6: LAVORARE SU LINEE INTERE - - ** Batti dd per cancellare un'intera linea. ** - - Per la frequenza con cui capita di cancellare linee intere, chi ha - disegnato Vi ha deciso che sarebbe stato pi semplice battere - due d consecutive per cancellare una linea. - - 1. Muovi il cursore alla linea 2) nella frase qui sotto. - 2. Batti dd per cancellare la linea. - 3. Ora spostati alla linea 4). - 4. Batti 2dd per cancellare due linee. - ----> 1) Le rose sono rosse, ----> 2) Il fango divertente, ----> 3) Le viole sono blu, ----> 4) Io ho un'automobile, ----> 5) Gli orologi segnano il tempo, ----> 6) Lo zucchero dolce, ----> 7) E cos sei anche tu. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2.7: IL COMANDO UNDO [ANNULLA] - - ** Premi u per annullare gli ultimi comandi eseguiti. ** - ** Premi U per annullare le modifiche all'ultima linea. ** - - 1. Muovi il cursore fino alla linea qui sotto, indicata da --->. - e posizionati sul primo errore. - 2. Batti x per cancellare il primo carattere sbagliato. - 3. Adesso batti u per annullare l'ultimo comando eseguito. - 4. Ora invece, correggi tutti gli errori sulla linea usando il comando x . - 5. Adesso batti una U Maiuscola per riportare la linea al suo stato originale. - 6. Adesso batti u pi volte per annullare la U e i comandi precedenti. - 7. Adesso batti pi volte CTRL-r (tieni il tasto CTRL schiacciato - mentre batti r) per rieseguire i comandi (annullare l'annullamento). - ----> Correeggi gli errori ssu quuesta linea e riimpiazzali coon "undo". - - 8. Questi comandi sono molto utili. Ora spostati al Sommario della Lezione 2. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 2 SOMMARIO - - - 1. Per cancellare dal cursore fino alla parola seguente batti: dw - 2. Per cancellare dal cursore fino alla fine della linea batti: d$ - 3. Per cancellare un'intera linea batti: dd - 4. Per eseguire pi volte un movimento, mettici davanti un numero: 2w - 5. Il formato per un comando di modifica : - - operatore [numero] movimento - dove: - operatore - indica il da farsi, ad es. d per [delete] cancellare - [numero] - contatore facoltativo di ripetizione del movimento - movimento - spostamento nel testo su cui operare, ad es. - w [word] parola, $ (fino a fine linea), etc. - - 6. Per andare a inizio linea usate uno zero: 0 - 7. Per annullare i comandi precedenti, batti: u (u minuscola) - Per annullare tutte le modifiche a una linea batti: U (U maiuscola) - Per annullare l'annullamento ["redo"] batti: CTRL-r - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 3.1: IL COMANDO PUT [METTI, PONI] - - - ** Batti p per porre [put] testo (cancellato prima) dopo il cursore. ** - - 1. Muovi il cursore alla prima linea indicata con ---> qui in basso. - - 2. Batti dd per cancellare la linea e depositarla in un registro di Vim. - - 3. Muovi il cursore fino alla linea c) SOPRA quella dove andrebbe messa - la linea appena cancellata. - - 4. Batti p per mettere la linea sotto il cursore. - - 5. Ripeti i passi da 2 a 4 per mettere tutte le linee nel giusto ordine. - ----> d) Puoi impararla tu? ----> b) Le viole sono blu, ----> c) La saggezza si impara, ----> a) Le rose sono rosse, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 3.2: IL COMANDO REPLACE [RIMPIAZZARE] - - - ** Batti rx per rimpiazzare il carattere sotto al cursore con x . ** - - 1. Muovi il cursore alla prima linea qui sotto, indicata da --->. - - 2. Muovi il cursore fino a posizionarlo sopra il primo errore. - - 3. Batti r e poi il carattere che dovrebbe stare qui. - - 4. Ripeti i passi 2 e 3 finch la prima linea uguale alla seconda. - ----> Ammattendo quetta lince, qualcuno ho predato alcuni tosti sballiati! ----> Immettendo questa linea, qualcuno ha premuto alcuni tasti sbagliati! - - 5. Ora passa alla Lezione 3.2. - -NOTA: Ricordati che dovresti imparare con la pratica, non solo leggendo. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 3.3: L'OPERATORE CHANGE [CAMBIA] - - - ** Per cambiare fino alla fine di una parola, batti ce . ** - - 1. Muovi il cursore alla prima linea qui sotto, indicata da --->. - - 2. Posiziona il cursore alla u in lubw. - - 3. Batti ce e la parola corretta (in questo caso, batti inea ). - - 4. Premi <ESC> e vai sul prossimo carattere da modificare. - - 5. Ripeti i passi 3 e 4 finch la prima frase uguale alla seconda. - ----> Questa lubw ha alcune pptfd da asdert usgfk l'operatore CHANGE. ----> Questa linea ha alcune parole da cambiare usando l'operatore CHANGE. - -Nota che ce cancella la parola, e ti mette anche in Modalit Inserimento - [Insert Mode] - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 3.4: ALTRI CAMBIAMENTI USANDO c - -** L'operatore c [CHANGE] agisce sugli stessi movimenti di d [DELETE] ** - - 1. L'operatore CHANGE si comporta come DELETE. Il formato : - - c [numero] movimento - - 2. I movimenti sono gli stessi, - ad es. w (word, parola), $ (fine linea), etc. - - 3. Muovi il cursore alla prima linea qui sotto, indicata da --->. - - 4. Posiziona il cursore al primo errore. - - 5. Batti c$ e inserisci resto della linea utilizzando come modello la - linea seguente, e quando hai finito premi <ESC> - ----> La fine di questa linea deve essere aiutata a divenire come la seguente. ----> La fine di questa linea deve essere corretta usando il comando c$ . - -NOTA: Puoi usare il tasto Backspace se devi correggere errori di battitura. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 3 SOMMARIO - - - 1. Per reinserire del testo appena cancellato, batti p . Questo - inserisce [pone] il testo cancellato DOPO il cursore (se era stata tolta - una linea intera, questa verr messa nella linea SOTTO il cursore). - - 2. Per rimpiazzare il carattere sotto il cursore, batti r e poi il - carattere che vuoi sostituire. - - 3. L'operatore change ti permette di cambiare dal cursore fino a dove - arriva il movimento. Ad es. Batti ce per cambiare dal cursore - fino alla fine della parola, c$ per cambiare fino a fine linea. - - 4. Il formato di change : - - c [numero] movimento - -Ora vai alla prossima Lezione. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 4.1: POSIZIONAMENTO E SITUAZIONE FILE - - ** Batti CTRL-G per vedere a che punto sei nel file e la situazione ** - ** del file. Batti G per raggiungere una linea nel file. ** - - NOTA: Leggi l'intera Lezione prima di eseguire un qualsiasi passo!! - - 1. Tieni premuto il tasto CTRL e batti g . Ossia batti CTRL-G. - Un messaggio apparir in fondo alla pagina con il NOME FILE e la - posizione nel file. Ricordati il numero della linea per il Passo 3. - -NOTA: La posizione del cursore si vede nell'angolo in basso a destra dello - schermo, se impostata l'opzione 'ruler' (righello, vedi :help ruler). - - 2. Premi G [G Maiuscolo] per posizionarti in fondo al file. - Batti gg per posizionarti in cima al file. - - 3. Batti il numero della linea in cui ti trovavi e poi G . Questo ti - riporter fino alla linea in cui ti trovavi quando avevi battuto CTRL-g. - - 4. Se ti senti sicuro nel farlo, esegui i passi da 1 a 3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 4.2: IL COMANDO SEARCH [RICERCA] - - ** Batti / seguito da una frase per ricercare quella frase. ** - - 1. in Modalit Normale batti il carattere / . Nota che la "/" e il cursore - sono visibili in fondo dello schermo come quando si usa il comando : . - - 2. Adesso batti 'errroore' <INVIO>. Questa la parola che vuoi ricercare. - - 3. Per ricercare ancora la stessa frase, batti soltanto n . - Per ricercare la stessa frase in direzione opposta, batti N . - - 4. Per ricercare una frase nella direzione opposta, usa ? al posto di / . - - 5. Per tornare dove eri prima nel file premi CTRL-O (tieni il tasto CTRL - schiacciato mentre premi la lettera o). Ripeti CTRL-O per andare ancora - indietro. Puoi usare CTRL-I per tornare in avanti. - -NOTA: "errroore" non il modo giusto di digitare errore; errroore un errore. -NOTA: Quando la ricerca arriva a fine file, ricomincia dall'inizio del file, - a meno che l'opzione 'wrapscan' sia stata disattivata. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 4.3: RICERCA DI PARENTESI CORRISPONDENTI - - - ** Batti % per trovare una ),], o } corrispondente. ** - - 1. Posiziona il cursore su una (, [, o { nella linea sotto, indicata da --->. - - 2. Adesso batti il carattere % . - - 3. Il cursore si sposter sulla parentesi corrispondente. - - 4. Batti % per muovere il cursore all'altra parentesi corrispondente. - ----> Questa ( una linea di test con (, [ ] e { } al suo interno. )) - - -NOTA: Questo molto utile nel "debug" di un programma con parentesi errate! - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 4.4: L'OPERATORE SOSTITUZIONE (SUBSTITUTE) - - ** Batti :s/vecchio/nuovo/g per sostituire 'nuovo' a 'vecchio'. ** - - 1. Muovi il cursore fino alla linea qui sotto, indicata da --->. - - 2. Batti :s/lla/la <INVIO> . Nota che questo comando cambia solo - LA PRIMA occorrenza di "lla" sulla linea. - - 3. Adesso batti :s/lla/la/g . Aggiungendo la flag g si chiede di - sostituire "globalmente" sulla linea, ossia tutte le occorrenze - di "lla" sulla linea. - ----> lla stagione migliore per lla fioritura lla primavera. - - 4. Per cambiare ogni ricorrenza di una stringa di caratteri tra due linee, - batti :#,#s/vecchio/nuovo/g dove #,# sono i numeri che delimitano - il gruppo di linee in cui si vuole sostituire. - Batti :%s/vecchio/nuovo/g per cambiare ogni occorrenza nell'intero file. - Batti :%s/vecchio/nuovo/gc per trovare ogni occorrenza nell'intero file - ricevendo per ognuna una richiesta se - effettuare o meno la sostituzione. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 4 SOMMARIO - - -1. CTRL-G visualizza a che punto sei nel file e la situazione del file. - G [G Maiuscolo] ti porta all'ultima linea del file. - numero G ti porta alla linea con quel numero. - gg ti porta alla prima linea del file. - -2. Battendo / seguito da una frase ricerca IN AVANTI quella frase. - Battendo ? seguito da una frase ricerca ALL'INDIETRO quella frase. - DOPO una ricerca batti n per trovare la prossima occorrenza nella - stessa direzione, oppure N per cercare in direzione opposta. - CTRL-O ti porta alla posizione precedente, CTRL-I a quella pi nuova. - -3. Battendo % mentre il cursore si trova su (,),[,],{, oppure } - ti posizioni sulla corrispondente parentesi. - -4. Per sostituire "nuovo" al primo "vecchio" in 1 linea batti :s/vecchio/nuovo - Per sostituire "nuovo" ad ogni "vecchio" in 1 linea batti :s/vecchio/nuovo/g - Per sostituire frasi tra 2 numeri di linea [#] batti :#,#s/vecchio/nuovo/g - Per sostituire tutte le occorrenze nel file batti :%s/vecchio/nuovo/g - Per chiedere conferma ogni volta aggiungi 'c' :%s/vecchio/nuovo/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 5.1: COME ESEGUIRE UN COMANDO ESTERNO - - - ** Batti :! seguito da un comando esterno per eseguire quel comando. ** - - 1. Batti il comando : per posizionare il cursore in fondo allo schermo. - Ci ti permette di immettere un comando dalla linea comandi. - - 2. Adesso batti il carattere ! (punto esclamativo). Ci ti permette di - eseguire qualsiasi comando esterno si possa eseguire nella "shell". - - 3. Ad esempio batti ls dopo il ! e poi premi <INVIO>. Questo - visualizza una lista della tua directory, proprio come se fossi in una - "shell". Usa :!dir se ls non funziona. [Unix: ls MS-DOS: dir] - -NOTA: E' possibile in questo modo eseguire un comando a piacere, specificando - anche dei parametri per i comandi stessi. - -NOTA: Tutti i comandi : devono essere terminati premendo <INVIO> - Da qui in avanti non lo ripeteremo ogni volta. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 5.2: ANCORA SULLA SCRITTURA DEI FILE - - - ** Per salvare le modifiche apportate a un testo batti :w NOMEFILE. ** - - 1. Batti :!dir or :!ls per procurarti una lista della tua directory. - Gi sai che devi premere <INVIO> dopo aver scritto il comando. - - 2. Scegli un NOMEFILE che ancora non esista, ad es. TEST . - - 3. Adesso batti: :w TEST (dove TEST il NOMEFILE che hai scelto). - - 4. Questo salva l'intero file ("tutor.it") con il nome di TEST. - Per verifica batti ancora :!dir o :!ls per listare la tua directory. - -NOTA: Se esci da Vim e riesegui Vim battendo vim TEST , il file aperto - sar una copia esatta di "tutor.it" al momento del salvataggio. - - 5. Ora cancella il file battendo (MR-DOS): :!del TEST - o (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 5.3: SELEZIONARE IL TESTO DA SCRIVERE - - ** Per salvare una porzione di file, batti v movimento :w NOMEFILE ** - - 1. Muovi il cursore su questa linea. - - 2. Premi v e muovi il cursore fino alla linea numerata 5., qui sotto. - Nota che il testo viene evidenziato. - - 3. Batti il carattere : . In fondo allo schermo apparir :'<,'> . - - 4. Batti w TEST , dove TEST il nome di un file non ancora esistente. - Verifica che si veda :'<,'>w TEST prima di dare <INVIO>. - - 5. Vim scriver nel file TEST le linee che hai selezionato. Usa :!dir - o :!ls per controllare che esiste. Non cancellarlo ora! Ti servir - nella prossima lezione. - -NOTA: Battere v inizia una selezione visuale. Puoi muovere il cursore - come vuoi, e rendere la selezione pi piccola o pi grande. Poi - puoi usare un operatore per agire sul testo selezionato. - Ad es., d cancella il testo. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 5.4: INSERIRE E RIUNIRE FILE - - - ** Per inserire il contenuto di un file, batti :r NOMEFILE ** - - 1. Posiziona il cursore appena sopra questa riga. - -NOTA: Dopo aver eseguito il Passo 2 vedrai il testo della Lezione 5.3. - Quindi spostati IN GIU' per tornare ancora a questa Lezione. - - 2. Ora inserisci il tuo file TEST con il comando :r TEST dove TEST - il nome che hai usato per creare il file. - Il file richiesto inserito sotto la linea in cui si trova il cursore. - - 3. Per verificare che un file stato inserito, torna indietro col cursore - e nota che ci sono ora 2 copie della Lezione 5.3, quella originale e - quella che viene dal file. - -NOTA: Puoi anche leggere l'output prodotto da un comando esterno. Ad es. - :r !ls legge l'output del comando ls e lo inserisce sotto la linea - in cui si trova il cursore. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 5 SOMMARIO - - - 1. :!comando esegue un comando esterno. - - Alcuni esempi utili sono [in MSDOS]: - :!dir - visualizza lista directory - :!del NOMEFILE - cancella file NOMEFILE. - - 2. :w NOMEFILE scrive su disco il file che stai editando con nome NOMEFILE. - - 3. v movimento :w NOMEFILE salva le linee selezionate in maniera - visuale nel file NOMEFILE. - - 4. :r NOMEFILE legge il file NOMEFILE da disco e lo inserisce nel file - che stai modificando, dopo la linea in cui posizionato il cursore. - - 5. :r !dir legge l'output del comando dir e lo inserisce dopo la - linea in cui posizionato il cursore. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 6.1: IL COMANDO OPEN [APRIRE] - - - ** Batti o per aprire una linea sotto il cursore ** - ** e passare in Modalit Inserimento. ** - - 1. Muovi il cursore fino alla linea qui sotto, indicata da --->. - - 2. Batti la lettera minuscola o per aprire una linea sotto il cursore e - passare in Modalit Inserimento. - - 3. Poi inserisci del testo e premi <ESC> per uscire dalla - Modalit Inserimento. - ----> Dopo battuto o il cursore sulla linea aperta (in Modalit Inserimento). - - 4. Per aprire una linea SOPRA il cursore, batti una O maiuscola, invece - che una o minuscola. Prova sulla linea qui sotto. -Apri una linea SOPRA questa battendo O mentre il cursore su questa linea. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 6.2: IL COMANDO APPEND [AGGIUNGERE] - - ** Batti a per inserire testo DOPO il cursore. ** - - 1. Muovi il cursore all'inizio della linea qui sotto, indicata da --->. - - 2. Batti e finch il cursore arriva alla fine di li . - - 3. Batti una a (minuscola) per aggiungere testo DOPO il cursore. - - 4. Completa la parola come mostrato nella linea successiva. Premi <ESC> - per uscire dalla Modalit Inserimento. - - 5. Usa e per passare alla successiva parola incompleta e ripeti i passi - 3 e 4. - ----> Questa li ti permetter di esercit ad aggiungere testo a una linea. ----> Questa linea ti permetter di esercitarti ad aggiungere testo a una linea. - -NOTA: a, i ed A entrano sempre in Modalit Inserimento, la sola differenza - dove verranno inseriti i caratteri. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 6.3: UN ALTRO MODO DI RIMPIAZZARE [REPLACE] - - - ** Batti una R maiuscola per rimpiazzare pi di un carattere. ** - - 1. Muovi il cursore alla prima linea qui sotto, indicata da --->. Muovi il - cursore all'inizio del primo xxx . - - 2. Ora batti R e batti il numero che vedi nella linea seguente, in modo - che rimpiazzi l' xxx . - - 3. Premi <ESC> per uscire dalla Modalit Replace. Nota che il resto della - linea resta invariato. - - 4. Ripeti i passi in modo da rimpiazzare l'altro xxx . - ----> Aggiungendo 123 a xxx si ottiene xxx. ----> Aggiungendo 123 a 456 si ottiene 579. - -NOTA: La Modalit Replace come la Modalit Inserimento, ma ogni carattere - che viene battuto ricopre un carattere esistente. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 6.4: COPIA E INCOLLA DEL TESTO - - - ** usa l'operatore y per copiare del testo e p per incollarlo ** - - 1. Vai alla linea indicata da ---> qui sotto, e metti il cursore dopo "a)". - - 2. Entra in Modalit Visuale con v e metti il cursore davanti a "primo". - - 3. Batti y per copiare [yank] il testo evidenziato. - - 4. Muovi il cursore alla fine della linea successiva: j$ - - 5. Batti p per incollare [paste] il testo. Poi batti: a secondo <ESC> . - - 6. Usa la Modalit Visuale per selezionare " elemento.", copialo con y , - Vai alla fine della linea successiva con j$ e incolla il testo con p . - ----> a) questo il primo elemento. - b) - -NOTA: Puoi usare y come operatore; yw copia una parola [word]. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 6.5: SET [IMPOSTA] UN'OPZIONE - - ** Imposta un'opzione per ignorare maiuscole/minuscole ** - ** durante la ricerca/sostituzione ** - - 1. Ricerca 'nota' battendo: /nota <ENTER> - Ripeti la ricerca pi volte usando il tasto n - - 2. Imposta l'opzione 'ic' (Ignore Case, [Ignora maiuscolo/minuscolo]) - battendo: :set ic - - 3. Ora ricerca ancora 'nota' premendo il tasto n - Troverai adesso anche Nota e NOTA . - - 4. Imposta le opzioni 'hlsearch' e 'incsearch' :set hls is - - 5. Ora batti ancora il comando di ricerca, e guarda cosa succede: /nota - - 6. Per disabilitare il riconoscimento di maiuscole/minuscole batti: :set noic -NOTA: Per non evidenziare le occorrenze trovate batti: :nohlsearch -NOTA: Per ignorare maiuscole/minuscole solo per una ricerca, usa \c - nel comando di ricerca: /nota\c <INVIO> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 6 SOMMARIO - - 1. Batti o per aggiungere una linea SOTTO il cursore ed entrare in - Modalit Inserimento. - Batti O per aggiungere una linea SOPRA il cursore. - - 2. Batti a per inserire testo DOPO il cursore. - Batti A per inserire testo alla fine della linea. - - 3. Il comando e sposta il cursore alla fine di una parola. - - 4. L'operatore y copia del testo, p incolla del testo. - - 5. Batti R per entrare in Modalit Replace, e ne esci premendo <ESC>. - - 6. Batti ":set xxx" per impostare l'opzione "xxx". Alcun opzioni sono: - 'ic' 'ignorecase' ignorare maiuscole/minuscole nella ricerca - 'is' 'incsearch' mostra occorrenze parziali durante una ricerca - 'hls' 'hlsearch' evidenzia tutte le occorrenze di una ricerca - Puoi usare sia il nome completo di un'opzione che quello abbreviato. - - 7. Usa il prefisso "no" per annullare una opzione: :set noic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 7.1: OTTENERE AIUTO - - ** Usa il sistema di aiuto on-line ** - - Vim ha un esauriente sistema di aiuto on-line. Per cominciare, prova una di - queste alternative: - - premi il tasto <AIUTO> (se ce n' uno) - - premi il tasto <F1> (se ce n' uno) - - batti :help <INVIO> OPPURE :h <INVIO> - - Leggi il testo nella finestra di aiuto per vedere come funziona l'aiuto. - Batti CTRL-W CTRL-W per passare da una finestra all'altra. - Batti :q <INVIO> per chiudere la finestra di aiuto. - - Puoi trovare aiuto su quasi tutto, dando un argomento al comando ":help" - Prova questi (non dimenticare di premere <INVIO>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 7.2: PREPARARE UNO SCRIPT INIZIALE - - ** Attiva le opzioni Vim ** - - Vim ha molte pi opzioni di Vi, ma molte di esse sono predefinite inattive. - Per cominciare a usare pi opzioni, devi creare un file "vimrc". - - 1. Comincia a editare il file "vimrc". Questo dipende dal tuo sistema: - :e ~/.vimrc per Unix - :e $VIM/_vimrc per MS-Windows - - 2. Ora leggi i contenuti del file "vimrc" distribuito come esempio: - - :r $VIMRUNTIME/vimrc_example.vim - - 3. Scrivi il file con: - :w - - La prossima volta che apri Vim, sar abilitata la colorazione sintattica. - Puoi aggiungere a questo file "vimrc" tutte le tue impostazioni preferite. - Per maggiori informazioni batti: :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 7.3: COMPLETAMENTO - - - ** Completamento linea comandi con CTRL-D e <TAB> ** - - 1. Imposta Vim in modalit compatibile: :set nocp - - 2. Guarda i file esistenti nella directory: :!ls o :!dir - - 3. Batti l'inizio di un comando: :e - - 4. Premi CTRL-D e Vim ti mostra una lista di comandi che iniziano per "e". - - 5. Premi <TAB> e Vim completa per te il nome comando come ":edit". - - 6. Ora batti uno spazio e l'inizio del nome di un file esistente: :edit FIL - - 7. Premi <TAB>. Vim completer il nome del file (se il solo possibile). - -NOTA: Il completamento disponibile per molti comandi. Prova a battere - CTRL-D e <TAB>. Particolarmente utile per :help . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lezione 7 Sommario - - - 1. Batti :help o premi <F1> o <Help> per aprire una finestra di aiuto. - - 2. Batti :help comando per avere aiuto su comando . - - 3. Batti CTRL-W CTRL-W per saltare alla prossima finestra. - - 4. Batti :q per chiudere la finestra di aiuto. - - 5. Crea uno script iniziale vimrc contenente le tue impostazioni preferite. - - 6. Mentre batti un comando : , premi CTRL-D per vedere i possibili - completamenti. Premi <TAB> per usare il completamento desiderato. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Qui finisce la Guida a Vim. Il suo intento di fornire una breve panoramica - dell'Editor Vim, che ti consenta di usare l'Editor abbastanza facilmente. - Questa guida largamente incompleta poich Vim ha moltissimi altri comandi. - Puoi anche leggere il manuale utente (anche in italiano): ":help user-manual". - - Per ulteriore lettura e studio, raccomandiamo: - Vim - Vi Improved - di Steve Oualline Editore: New Riders - Il primo libro completamente dedicato a Vim. Utile specie per principianti. - Contiene molti esempi e figure. - Vedi http://iccf-holland.org/click5.html - - Quest'altro libro pi su Vi che su Vim, ma pure consigliato: - Learning the Vi Editor - di Linda Lamb e Arnold Robbins - Editore: O'Reilly & Associates Inc. - E' un buon libro per imparare quasi tutto ci che puoi voler fare con Vi. - Ne esiste una traduzione italiana, basata su una vecchia edizione. - - Questa guida stata scritta da Michael C. Pierce e Robert K. Ware, - Colorado School of Mines, usando idee fornite da Charles Smith, - Colorado State University - E-mail: bware@mines.colorado.edu - Modificato per Vim da Bram Moolenaar. - Segnalare refusi ad Antonio Colombo - E-mail: azc100@gmail.com -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.ja.euc b/runtime/tutor/tutor.ja.euc deleted file mode 100644 index f043e42f2..000000000 --- a/runtime/tutor/tutor.ja.euc +++ /dev/null @@ -1,975 +0,0 @@ -=============================================================================== -= V I M (塼ȥꥢ) - Version 1.7 = -=============================================================================== - - Vim ϡΥ塼ȥꥢˤ¿Υޥɤ - ˶ϤʥǥǤΥ塼ȥꥢϡʤ Vim ǽǥ - ȤƻȤʤ褦ˤʤΤ˽ʬʥޥɤˤĤ褦 - ʤäƤޤ - - 塼ȥꥢλΤɬפʻ֤ϡФޥɤΤˤɤ - ֤ȤΤˤޤ褽2530ʬǤ - - ATTENTION: - ʲѥޥɤˤϤʸϤѹΤ⤢ޤϤ - ˥ԡޤ礦("vimtutor"ʤС˥ԡƤޤ) - - Υ塼ȥꥢ뤬ȤȤdzФȤߤˤʤäƤ뤳Ȥ - ƤʤФʤޤؽˤϥޥɤºݤ˻ʤ - ʤʤΤǤʸϤɤʤСä˺Ƥޤޤ! - - Capså(Shift-Lock)ƤʤȤǧ塢̤ - å1.1 ɽȤޤǡj ƥư - 礦 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1.1: ΰư - - - ** ưˤϡͤ h,j,k,l ޤ ** - ^ - k ҥ: h Ϻ˰ưޤ - < h l > l ϱ˰ưޤ - j j ϲΤ褦ʥǤ - v - 1. ư˴ޤǡǥưޤ礦 - - 2. ؤΥ(j)ĤŤȡϢ³ưưǤޤ - ǼΥå˰ưˡ狼ޤ͡ - - 3. ؤΥȤäơå1.2 ˰ưޤ礦 - -Note: פƤ뤫Ƚʤʤä顢<ESC>ƥΡޥ⡼ɤˤ - ޤ줫Ϥ褦ȤƤޥɤϤޤ礦 - -Note: 륭ǤưǤޤ hjkl ˰ٴƤޤСϤ뤫 - ®ư뤳ȤǤǤ礦ޥ! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1.2: VIM εưȽλ - - - !! NOTE: ʲΤ륹ƥåפԤˡΥåɤߤޤ礦!! - - 1. <ESC>ޤ礦(μ¤˥Ρޥ⡼ɤˤ뤿) - - 2. Τ褦˥: :q! <ENTER> - ˤԽƤ¸˥ǥλޤ - - 3. ץץȤФƤ顢Υ塼ȥꥢϤ٤ˤ˥ޥ - פޤ - Υޥɤ: vimtutor <ENTER> - - 4. ޤǤΥƥåפФĤʤСƥå 1 3 ޤǤ - ݤ˻ơVim 1ٽλƤƤӵưޤ礦 - -NOTE: :q! <ENTER> Ƥѹ˴ޤåˤѹե - ¸ˡˤĤƤٶƤޤ礦 - - 5. 1.3ޤǥưޤ礦 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1.3: ƥԽ - - - - ** Ρޥ⡼ɤˤƥβʸˤ x ޤ ** - - 1. ʲ ---> ȼ줿Ԥ˥ưޤ礦 - - 2. ְ㤤뤿ˡǽʸޤǥưޤ - - 3. ɬפʸ x ƺޤ礦 - - 4. ʸʤޤ ƥå 2 4 ֤ޤ礦 - ----> ĤĤ Ƥ ȤӤϤͤ - - 5. Ԥʤä顢å 1.4 ؿʤߤޤ礦 - -NOTE: ƤΥå̤ơФ褦ȤΤǤϤʤºݤˤäƤߤޤ礦 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1.4: ƥԽ - - - - ** Ρޥ⡼ɤˤƥƥȤˤ i ޤ ** - - 1. ʲ ---> ȼ줿ǽιԤ˥ưޤ礦 - - 2. 1ܤ2ܤƱͤˤ뤿ˡƥȤʤФʤʤ - μʸ˥ưޤ - - 3. i Ƥ顢ɲäɬפʸפޤ礦 - - 4. ְ㤤 <ESC> ƥޥɥ⡼ɤꡢʸˤʤ - ˥ƥå 2 4 ֤ޤ礦 - ----> ˤ ʤ ƥ 롣 ----> ˤ Ĥ ʤ ƥ 롣 - - 5. ˡ狼ä鲼Υå1ޤ礦 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1.5: ƥԽ - ɲ - - - ** ƥɲäˤ A ޤ礦 ** - - 1. ʲ ---> ȼ줿ǽιԤ˥ưޤ礦 - 뤬ʸˤäƤ⤫ޤޤ - - 2. ɲäɬפʾ A פޤ礦 - - 3. ƥȤɲä顢 <ESC> ƥΡޥ⡼ɤޤ礦 - - 4. 2ܤ ---> ȼ줿ذưƥå 2 3 ֤ʸˡ - ޤ礦 - ----> ˤϴְäƥȤ - ˤϴְäƥȤޤ ----> ˤְäƥ - ˤְäƥȤޤ - - 5. ƥȤɲäڲˤʤäƤå 1.6 ؿʤߤޤ礦 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1.6: եԽ - - - ** ե¸ƽλˤ :wq ȥפޤ ** - - !! NOTE: ʲΥƥåפ¹ԤˡޤΤɤǤ!! - - 1. å 1.2 Ǥä褦 :q! פơΥ塼ȥꥢλ - ޤ - - 2. ץץȤǤΥޥɤפޤ: vim tutor <ENTER> - 'vim' Vim ǥư륳ޥɡ'tutor' Խե - ̾ǤѹƤ褤եȤޤ礦 - - 3. Υådzؤ褦ˡƥȤޤ - - 4. ѹե¸ޤ: :wq <ENTER> - - 5. vimtutor ٵưʲؿʤߤޤ礦 - - 6. ʾΥƥåפɤǤ¹Ԥޤ礦 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 1 - - - 1. ⤷ hjkl ǰưޤ - h () j () k () l () - - 2. Vim ưˤϥץץȤ vim ե̾ <ENTER> ȥפޤ - - 3. Vim λˤ <ESC> :q! <ENTER> ȥפޤ(ѹ˴) - ⤷ <ESC> :wq <ENTER> ȥפޤ(ѹ¸) - - 4. βʸˤϡΡޥ⡼ɤ x ȥפޤ - - 5. ΰ֤ʸˤϡΡޥ⡼ɤ i ȥפޤ - i ƥȤΥ <ESC> ֤ɲ - A ƥȤɲ <ESC> ɲ - -NOTE: <ESC> ȥΡޥ⡼ɤ˰ܹԤޤκݡְä - ΥޥɤäȤǤޤ - -ơ³ƥå 2 Ϥޤ礦 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.1: ޥ - - - ** ñޤǤˤ dw ȥפޤ礦 ** - - 1. Ρޥ⡼ɤǤ뤳Ȥǧ뤿 <ESC> ޤ礦 - - 2. ʲ ---> ȼ줿Ԥ˥ưޤ礦 - - 3. äñƬ˥ưޤ礦 - - 4. ñ뤿 dw ȥפޤ礦 - - NOTE: פȡdw ȤʸκDzԤ˸ޤ - פְäƤޤäˤ <ESC> Ƥľޤ礦 - ----> ʸ ˤ Ĥ Τ ɬפΤʤ ñ ޤޤ ޤ - - 5. 3 4 ޤǤʸʤޤǷ֤å 2.2 ؿʤߤޤ礦 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.2: ¾κޥ - - - ** ԤޤǤˤ d$ ȥפޤ礦 ** - - 1. Ρޥ⡼ɤǤ뤳ȤǧΤ <ESC> ޤ礦 - - 2. ʲ ---> ȼ줿Ԥ˥ưޤ礦 - - 3. ʸإưޤ礦(ǽ . θǤ) - - 4. ޤǺΤ d$ ȥפޤ礦 - ----> ïιԤκǸ2٥פޤ 2٥פޤ - - - 5. ɤȤ뤿ˡå 2.3 ؿʤߤޤ礦 - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.3: ڥ졼ȥ⡼ - - - ¿Υޥɤϥڥ졼ȥ⡼ƥȤѹäޤ - ޥ d Υڥ졼ϼͤˤʤäƤޤ: - - d ⡼ - - 줾: - d - ޥɡ - ⡼ - ФƯ뤫(ʲ˵ޤ) - - ڥ졼ΰ: - w - ֤ޤñޤǡ - e - ֤ޤޤʤñޤǡ - $ - ֤ޤǡ - - Ĥޤ de ȥפȡ֤ñνޤǤޤ - -NOTE: ͤϡΡޥ⡼ɤˤƥޥɤʤ˥⡼ - ߤޤ礦뤬ŪǼ֤˰ưϤǤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.4: ⡼˥ȤѤ - - - ** Ԥ֤Υ⡼˿ͤפޤ ** - - 1. ʲ ---> ȼ줿ȤƬ˥ưޤ - - 2. 2dw פñ2ʬưޤ - - 3. 3e פ3ܤñνü˰ưޤ - - 4. 0 ()פƹƬ˰ưޤ - - 5. ƥå 2 3 㤦ͤȻȤäƷ֤ޤ - ----> This is just a line with words you can move around in. - - 6. å 2.5 ˿ʤߤޤ礦 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.5: ¿뤿˥ȤѤ - - - ** ڥ졼ȥȤפȡʣ֤ޤ ** - - ҤκΥڥ졼ȥ⡼Ȥ߹碌˥Ȥɲä뤳Ȥǡ - ¿κԤޤ: - d ⡼ - - 1. ---> ȼ줿ԤιƬʬ˥ưޤ礦 - - 2. UPPER CASE ñ2Ĥ 2dw ȥפƺޤ - - 3. UPPER CASE ȤϢ³ñ1ĤΥޥɤȰۤʤ륫Ȥꤷ - ƥå 1 2 ֤ޤ - ----> ABC DEԤFGHI JK LMN OPñQ RS TUVˤʤä - -NOTE: ڥ졼 d ȥ⡼δ֤˥ȤȤä硢ڥ졼Τʤ - Υ⡼Τ褦ưޤ - : 3dw d3w Ʊǡ3w ޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.6: Ԥ - - - ** Τˤ dd ȥפޤ ** - - Τ٤¿ΤǡViΥǥʡϹԤκ d 2פ - ñʤΤ˷ޤ - - 1. ʲζ2ܤ˥ưޤ - 2. dd ȥפƹԤޤ - 3. 4ܤ˰ưޤ - 4. 2dd ȥפ2Ԥޤ - ----> 1) Х֤ ----> 2) ĤޤʤΤϳڤ ----> 3) ߥĤ ----> 4) ϼ֤äƤ롢 ----> 5) פ𤲤롢 ----> 6) ϴŤ ----> 7) ޥʡ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2.7: ľޥ - - - ** ǸΥޥɤäˤ u ޤU ϹΤμäǤ ** - - 1. ʲ ---> ȼ줿Ԥ˥ưǽδְ㤤˥ - ưޤ礦 - 2. x פƤʤƬʸޤ礦 - 3. u פƺǸ˼¹Ԥޥɤäޤ礦 - 4. ٤ϡx ѤƸƽޤ礦 - 5. ʸ U פơԤξ֤ᤷޤ礦 - 6. u פľ U ޥɤäޤ礦 - 7. ǤϥޥɤƼ¹ԤΤ CTRL-R (CTRL ޤ R Ǥ) - פƤߤޤ礦(äμ) - ----> ΤιԤΤδְ㤤Ǥνäޤޤ - - 8. ϤȤƤʥޥɤǤå 2 ؿʤߤޤ礦 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 2 - - - 1. ֤ñޤǤˤ dw ȥפޤ - 2. ֤ԤޤǤˤ d$ ȥפޤ - 3. Τˤ dd ȥפޤ - - 4. ⡼֤ˤϿͤͿޤ: 2w - 5. ѹѤ륳ޥɤη - ڥ졼 [] ⡼ - - 줾: - ڥ졼 - d Dz뤫 - - Υޥɤ֤ - ⡼ - w (ñ) $ ()ʤɤǡƥȤβФƯ - 뤫 - - 6. ԤƬ˰ưˤϥѤޤ: 0 - - 7. ưä: u (ʸ u) - Τѹä: U (ʸ U) - äμä: CTRL-R -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 3.1: Žդޥ - - - ** Ǹ˺줿ԤθŽդˤ p פޤ ** - - 1. ʲκǽιԤ˥ưޤ礦 - - 2. dd ȥפƹԤVim ΥХåե˳Ǽޤ礦 - - 3. Ԥ褢٤֤ξιԤޤǡưޤ礦 - - 4. Ρޥ⡼ɤ p פƳǼԤ̤ᤷޤ - - 5. ֤ʤͤ˥ƥå 2 4 ֤ޤ礦 - - d) ؤ֤ȤǤ? - b) ߥĤ - c) ηäȤϳؤ֤Ρ - a) Х֤ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 3.2: ֤ޥ - - - ** βʸ֤ˤ r פޤ ** - - 1. ʲ ---> ȼ줿ǽιԤ˥ưޤ礦 - - 2. ǽδְ㤤Ƭ˥ưޤ礦 - - 3. r ȥפְäƤʸ֤롢ʸפޤ礦 - - 4. ǽιԤʤޤǥƥå 2 3 ֤ޤ礦 - ----> ιϤ͡οͤϴĤä⤷! ----> ιԤϤˡοͤϴĤְäޤ! - - 5. å 3.2 ؿʤߤޤ礦 - -NOTE: ºݤ˻ޤ礦褷ƳФˤϤʤȡ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 3.3: ѹޥ - - - ** ñΰ⤷Τѹˤ cw ȥפޤ ** - - 1. ʲ ---> ȼ줿ǽιԤ˥ưޤ礦 - - 2. lubw u ΰ֤˥ưޤ礦 - - 3. cw ȥפñפޤ礦(ξ 'ine' ȥ) - - 4. δְ㤤(ѹ٤ʸƬ)˰ư뤿 <ESC> פޤ - - 5. ǽιԤιԤͤˤʤޤǥƥå 3 4 ֤ޤ - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -cw ñѹǤʤԤ뤳Ȥդޤ礦 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 3.4: c Ѥ¾ѹ - - - ** ѹޥɤϡޥɤƱͤ˥֥ȤѤޤ ** - - 1. ѹޥɤϡޥɤƱ褦ưޤη - - c [] ⡼ - - 2. ֥ȤƱǡw ñ졢 $ ϹʤɤȤäΤǤ - - 3. ʲ ---> ȼ줿Ԥ˥ưޤ礦 - - 4. ǽδְ㤤إưޤ礦 - - 5. c$ ȥפƹԤλĤܤͤˤ<ESC> ޤ礦 - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - -NOTE: δְ㤤ϥХåڡȤäľȤǤޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 3 - - - 1. ˺줿ƥȤ֤ˤϡp פޤϺ - 줿ƥȤθޤ(ñ̤Ǻ줿ΤʤС - Τ뼡ιԤޤ) - - 2. βʸ֤ˤϡr פ塢֤ - ʸפޤ - - 3. ѹޥɤǤϥ֤Υ⡼ǻꤵ뽪üޤǤ - 뤳ȤǽǤ㤨 cw ʤХ֤ñνޤǡ - c$ ʤйԤνޤǤѹޤ - - 4. ѹޥɤη - - c [] ⡼ - -Υåؿʤߤޤ礦 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 4.1: ֤ȥեξ - - ** եǤΰ֤ȥեξ֤ɽˤ CTRL-G פޤ - եΤԤ˰ưˤ G פޤ ** - - NOTE: ƥåפ¹ԤˡΥåƤܤ̤ޤ礦!! - - 1. CTRL ޤ g ޤ礦 CTRL-G ȸƤǤޤ - ڡΰֲ˥ե̾ȹֹ椬ɽϤǤ ƥå 3Τ - ˹ֹФƤޤ礦 - -NOTE: ̤α˥ΰ֤ɽƤ뤫⤷ޤ - 'ruler' ץ(å6)ꤹ뤳Ȥɽޤ - - 2. DzԤ˰ư뤿 G פޤ礦 - եƬ˰ưˤ gg ȥפޤ礦 - - 3. ۤɤιԤֹפ G פޤ礦ǽ CTRL-G - äϤǤ - - 4. Ƥ饹ƥå 1 3 ¹Ԥޤ礦 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 4.2: ޥ - - - ** ˤ / ȡפޤ** - - 1. Ρޥ⡼ɤ / Ȥʸפޤֲ̰ : ޥɤ - Ʊͤ / 뤳Ȥ˵ŤǤ礦 - - 2. Ǥϡ'errroor' <ENTER> ȥפޤ礦줬ñǤ - - 3. Ʊ⤦ٸȤ ñ n פޤ - ˸Ȥ N פޤ - - 4. ˸ϡ/ ? ޥɤѤޤ - - 5. ξˤ CTRL-O (Ctrl ³ʤ o ʸ)פ - ޤˤϤ֤ޤCTRL-I Ǥ - -Note: "errroor" error ȥڥ뤬㤤ޤ; errroor Ϥ error Ǥ -Note: եνãȡץ 'wrapscan' ꤵƤ - ϡեƬ鸡³Ԥޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 4.3: б̤ - - - ** б ),] } ˤ % פޤ ** - - 1. ---> Ǽ줿Ԥ (,[ { Τɤ줫˥ưޤ礦 - - 2. % ȥפޤ礦 - - 3. б̤˰ưϤǤ - - 4. ǽγ̤˰ưˤ % ȥפޤ礦 - - 5. ¾ (,),[,],{ or } ǥư% Ƥ뤫ǧޤ礦 - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - - -NOTE: εǽϳ̤פƤʤץǥХåΤˤȤƤΩ - ޤ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 4.4: ְ㤤ѹˡ - - - ** 'old' 'new' ִˤ :s/old/new/g ȥפޤ ** - - 1. ʲ ---> ȼ줿Ԥ˥ưޤ礦 - - 2. :s/thee/the <ENTER> ȥפޤ礦ΥޥɤϤιԤǺǽ˸ - ĤäΤˤԤʤ뤳Ȥ˵Ĥޤ礦 - - 3. Ǥ :s/thee/the/g ȥפޤ礦Τִ뤳Ȥ̣ޤ - ѹϤιԤǸĤäƤβսФƹԤʤޤ - ----> thee best time to see thee flowers is in thee spring. - - 4. ʣԤ鸫Ĥʸѹˤ - :#,#s/old/new/g #,# ˤ֤ϰϤγϤȽλιֹꤷ - - :%s/old/new/g եΤǸĤΤФѹ롣 - :%s/old/new/gc եΤǸĤΤФơ11ijǧȤ - ѹ롣 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 4 - - - 1. CTRL-G ϥեǤΰ֤ȥեξܺ٤ɽޤ - G ϥեκDzԤ˰ưޤ - G ϤιԤ˰ưޤ - gg ƬԤ˰ưޤ - - 2. / θ˸פ˸ޤ - ? θ˸פȸ˸ޤ - θ n ƱμθN ϵθޤ - CTRL-O Ͼ˰ܤCTRL-I Ͼ˰ưޤ - - 3. (,),[,],{, ⤷ } ˥뤬֤ % פФˤʤʸ - ذưޤ - - 4. ߹Ԥκǽ old new ִ롣 :s/old/new - ߹ԤƤ old new ִ롣 :s/old/new/g - 2Ĥ # ֤Ǹִ롣 :#,#s/old/new/g - եƤθִ롣 :%s/old/new/g - 'c' äִ٤˳ǧ롣 :%s/old/new/gc - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 5.1: ޥɤ¹Ԥˡ - - - ** :! θ˼¹Ԥ볰ޥɤפޤ ** - - 1. ̤κDz˥뤬ư褦Ƥ : פޤ礦 - ǥޥɤפǤͤˤʤޤ - - 2. ! Ȥʸ(ò)פޤ礦 - dz륳ޥɤ¹ԤǤͤˤʤޤ - - 3. Ȥ ! ³ ls ȥפ <ENTER> ޤ礦 - ץץȤΤ褦˥ǥ쥯ȥΰɽϤǤ - ⤷ ls ưʤʤ :!dir Ѥޤ礦 - -Note: ˡˤäƤ륳ޥɤ¹Ԥ뤳ȤǤޤ - Ϳޤ - -Note: Ƥ : ޥɤ <ENTER> ƽλʤФʤޤ - ʹߤǤϤΤȤ˸ڤޤ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 5.2: ¾Υեؽ - - - ** եѹ¸ˤ :w ե̾ ȥפޤ ** - - 1. ǥ쥯ȥΰ뤿 :!dir ⤷ :!ls ȥפޤ礦 - Τ <ENTER> Τϴˤ¸ΤǤ͡ - - 2. TEST Τ褦ˡΥǥ쥯ȥ̵ե̾Ӥޤ - - 3. Ǥ :w TEST ȥפޤ礦 (TEST ϡե̾Ǥ) - - 4. ˤեΤ TEST Ȥ̾¸ޤ - ⤦ :!dir ⤷ !ls ȥפƳǧƤߤޤ礦 - -Note: Vim λե̾ TEST ȶ˵ưȡ¸ - 塼ȥꥢʣǤ夬ϤǤ - - 5. ˡΤ褦˥פƥեäޤ礦(MS-DOS): :!del TEST - ⤷(Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 5.3: - - -** եΰ֤¸ˤϡv ⡼ :w FILENAME פޤ ** - - 1. ιԤ˥ưޤ - - 2. v ʲ5ܤ˥ưޤƥȤĴɽ - ܤƲ - - 3. ʸ : ȡ̤κDz :'<,'> ޤ - - 4. w TEST (TESET ¸ߤʤե̾)פޤ - Enter :'<,'>w TEST ȤʤäƤ뤳ȤǧƲ - - 5. Vim TEST Ȥե줿ԤǤ礦 - !dir ⤷ !ls Ǥǧޤ - ϺʤǤƲΥåǻѤޤ - -NOTE: v ȡVisual ϤޤޤưȤǡϰϤ - 礭⾮ǤޤˡϰϤФƥڥ졼Ŭ - ޤ㤨 d ϥƥȤޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 5.4: եμȹʻ - - - ** եȤˤ :r ե̾ ȥפޤ ** - - 1. ʲιԤ˹碌ޤ - -NOTE: ƥå 2 μ¹Ը塢å 5.3 ΥƥȤޤ˲äƤ - Υå˰ưޤ礦 - - 2. Ǥ TEST Ȥե :r TEST Ȥޥɤɤ߹ߤޤ礦 - Ǥ TEST ϻȤե̾ΤȤǤ - ɤ߹ޤ줿եϡԤβˤޤ - - 3. եǧƤߤޤ礦᤹ȡå5.3 - ꥸʥȥեˤΤ2Ĥ뤳Ȥ狼ޤ - -NOTE: ޥɤνϤɤ߹ळȤޤ㤨С - :r !ls ls ޥɤνϤʲɤ߹ߤޤ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 5 - - - 1. :!command ˤä ޥɤ¹Ԥޤ - - 褯Ȥ: - (MS-DOS) (Unix) - :!dir :!ls - ǥ쥯ȥΰ롣 - :!del FILENAME :!rm FILENAME - ե롣 - - 2. :w ե̾ ˤäƥե̾Ȥե뤬ǥ˽ޤ롣 - - 3. v ⡼ :w FILENAME Ȥȡӥ奢Ԥե¸ - 롣 - - 4. :r ե̾ ˤե̾Ȥե뤬ǥޤ졢 - ֤β롣 - - 5. :r !dir dir ޥɤνϤְʲɤ߹ࡣ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 6.1: ץޥ - - - ** o פȡβιԤ⡼ɤޤ ** - - 1. ʲ ---> ȼ줿Ԥ˥ưޤ礦 - - 2. o (ʸ) פơβιԤ⡼ɤޤ - - 3. ⡼ɤλ٤ <ESC> פޤ - ----> o פȥϳԤذư⡼ɤޤ - - 4. ξιԤˤϡʸ o ǤϤʤñʸ O - פޤιԤǻƤߤޤ礦 - ----> ιԤξˤϡιԤإ֤ O פޤ - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 6.2: ɲåޥ - - - ** μΰ֤ƥȤɲäˤ a ȥפޤ ** - - 1. ---> Ǽ줿Ȥذưޤ礦 - - 2. e li νüޤǥưޤ - - 3. θ˥ƥȤɲä뤿 a (ʸ) פޤ - - 4. βιԤΤΤ褦ñ˴ޤ⡼ɤȴ٤ <ESC> ˲ - ޤ - - 5. e ȤäƼԴñذưƥå 3 4 ֤ޤ - ----> This li will allow you to pract appendi text to a line. ----> This line will allow you to practice appending text to a line. - -Note: a, i A Ʊ⡼ɤذܤޤʸ֤ۤʤ - ޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 6.3: ¾ִˡ - - - ** 1ʸʾ֤ˤʸ R ȥפޤ礦 ** - - 1. ʲ ---> ȼ줿Ȥ˥ưޤǽ xxx Ƭ˰ư - ޤ - - 2. R ơ2ܤοͤפ뤳Ȥǡxxx ִޤ - - 3. ִ⡼ɤȴˤ <ESC> ޤԤλĤ꤬ѹƤʤޤޤ - ʤ뤳ȤդƤ - - 5. Ĥä xxx ƥåפִ֤ޤ礦 - ----> Adding 123 to xxx gives you xxx. ----> Adding 123 to 456 gives you 579. - -NOTE: ִ⡼ɤ⡼ɤ˻ƤޤƤΥפ줿ʸϴ¸ʸ - ޤ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 6.4: ƥȤΥԡȥڡ - - - ** ƥȤΥԡˤϥڥ졼 y ڡȤˤ p Ȥޤ ** - - 1. ---> ȼ줿Ԥذư "a)" θ֤Ƥޤ - - 2. v ǥӥ奢⡼ɤϤ"first"μޤǥưޤ - - 3. y פƶĴɽ줿ƥȤ yank (ԡ)ޤ - - 4. ιԤιޤǥưޤ: j$ - - 5. p Žդ(put)Ƥ顢פޤ: a second <ESC> - - 6. ӥ奢⡼ɤ " item." y ǥιԤιޤ j$ - ư p ǥƥȤ put ޤ - ----> a) this is the first item. - b) - - Note: ñ1 yank Τ y ڥ졼Ȥ yw Ȥ뤳Ȥޤ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 6.5: ץ - - - ** ִκݤʸ/ʸ̵뤹ˤϡץꤷޤ ** - - 1. ͤϤ 'ignore' ޤ礦: /ignore <ENTER> - n Ʋ٤֤ޤ - - 2. ͤϤ 'ic' (Ignore Case ά) ץꤷޤ: :set ic - - 3. Ǥ n ˤäƤ⤦1 'ignore' ޤ - n Ƥ˿֤ޤ礦 - - 4. 'hlsearch' 'incsearch' ץꤷޤ礦: :set hls is - - 5. ޥɤϤơ뤫Ƥߤޤ礦: /ignore <ENTER> - - 6. ʸʸζ̵̤ˤˤϼͤϤޤ: :set noic - -Note: ޥåζĴɽˤϼͤϤޤ: :nohlsearch -Note: 1Ĥθޥɤʸʸζ̤ʤСե졼 \c - Ѥޤ: /ignore\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 6 - - 1. o פȥβιԤơ⡼ɤˤʤ롣 - O (ʸ) פȥξιԤ⡼ɤˤʤ롣 - - 2. ʸμƥȤɲäˤ a ȥפ롣 - ˼ưǥƥȤˤʸ A פ롣 - - 3. e ޥɤñνüư롣 - - 4. y ڥ졼ϥƥȤ yank (ԡ)p Ϥ put (ڡ)롣 - - 5. ʸ R פִ⡼ɤꡢ<ESC>ȴ롣 - - 6. ":set xxx" ȥפȥץ "xxx" ꤵ롣 - 'ic' 'ignorecase' ʸʸζ̤ʤ - 'is' 'incsearch' ե졼ʬޥåƤʬɽ - 'hls' 'hlsearch' ޥå뤹٤Ĵɽ - ĹûɤΥץ̾ǤѤǤޤ - - 7. "no" Ϳץ̵ˤޤ: :set noic - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 7.1: 饤إץޥ - - - ** 饤إפѤޤ礦 ** - - Vim ˤϹϤˤ錄륪饤إץƥबޤ - إפϤˤϡ3ĤΤɤ줫1ĤƤߤޤ礦: - - إץ <HELP> (⤷ʤ) - - <F1> (⤷ʤ) - - :help <ENTER> ȥפ롣 - - إץɥΥƥȤɤȡإפưǤޤ - CTRL-W CTRL-W ȥפ إץɥإפޤ - :q <ENTER> ȥפ إץɥĤޤ - - ":help" ޥɤ˰Ϳ뤳Ȥˤꡢ̾ΥإפĤ뤳 - ǤޤƤߤޤ礦(<ENTER> פ˺ʤ褦): - - :help w - :help c_<T - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 7.2: ưץȤκ - - ** Vim ħȯ ** - - Vim ˤ Vi ¿ħƧޤƤޤΤۤȤɤϽ֤ˤ - ԲĤȤʤäƤޤ¿ħȤϤˤ "vimrc" ե - ޤ - - 1. "vimrc" եԽϤ롣ϥƥ˰¸ޤ - :edit ~/.vimrc UNIX - :edit $VIM/_vimrc MS-Windows - - 2. ǥץ "vimrc" ɤ߹ߤޤ - :read $VIMRUNTIME/vimrc_example.vim - - 3. ʲΤ褦˥եؽߤޤ - :write - - Vim ưȡŤʸȤ褦ˤʤǤ礦 - "vimrc" եءߤɲä뤳ȤǤޤ - ¿ξˤ :help vimrc-intro ȥפޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 7.3: 䴰 - - - ** CTRL-D <TAB> ǥޥɥ饤䴰 ** - - 1. ѥ⡼ɤǤʤȤǧޤ: :set nocp - - 2. ߤΥǥ쥯ȥ˺ߤե :!ls :!dir dzǧޤ - - 3. ޥɤγϤפޤ: :e - - 4. CTRL-D Vim "e" Ϥޤ륳ޥɤΰɽޤ - - 5. <TAB> Vim ":edit" Ȥޥ̾䴰ޤ - - 6. ˶ȡ¸Υե̾λϤޤäޤ: :edit FIL - - 7. <TAB> Vim ̾䴰ޤ(⤷Ĥ̵ä) - -NOTE: 䴰¿Υޥɤưޤ CTRL-D <TAB> ƤߤƤ - ä :help κݤΩޤ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - å 7 - - - 1. إץɥˤ :help Ȥ뤫 <F1> ⤷ <Help> - - 2. ޥ(cmd)Υإפˤ :help cmd ȥפ롣 - - 3. ̤Υɥإפˤ CTRL-W CTRL-W ȥפ롣 - - 4. إץɥĤˤ :q ȥפ롣 - - 5. ߤݤĤˤ vimrc ưץȤ롣 - - 6. : command Dzǽ䴰ˤ CTRL-D פ롣 - 䴰Ѥˤ <TAB> - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - ˤ Vim Υ塼ȥꥢޤǥñˡ⽼ʬ - ȤȤǤ褦ˤȡVim λijǰΤߤ褦Ȥޤ - Vim ˤϤ¿ΥޥɤꡢƤ뤳ȤϤǤޤ - ʹߤϥ桼ޥ˥奢Ȥ: "help :user-manual" - - ʸγؽΤˡܤޤ - Vim - Vi Improved - by Steve Oualline - Ǽ: New Riders - ǽܤϴ Vim Τ˽ޤȤ櫓鿴ԤˤϤǤ - ¿ǤǺܤƤޤ - URLȤƲ http://iccf-holland.org/click5.html - - Vim Vi ˤĤƽ줿ŤܤǤޤ: - Learning the Vi Editor - by Linda Lamb - Ǽ: O'Reilly & Associates Inc. - Vi ǤꤿȻפȤۤƤΤ뤳ȤǤɽǤ - 6ǤǤϡVim ˤĤƤξޤޤƤޤ - - Υ塼ȥꥢ Colorado State University Charles Smith Υǥ - ˡColorado School of Mines Michael C. Pierce Robert K. Ware - ξ̾ˤäƽޤ E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. - - ܸ ٹ <mattn_jp@hotmail.com> - ƽ ¼ Ϻ <koron@tka.att.ne.jp> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - vi:set ts=8 sts=4 sw=4 tw=78: diff --git a/runtime/tutor/tutor.ja.sjis b/runtime/tutor/tutor.ja.sjis deleted file mode 100644 index 3bb3c2c37..000000000 --- a/runtime/tutor/tutor.ja.sjis +++ /dev/null @@ -1,975 +0,0 @@ -=============================================================================== -= V I M { (`[gA) - Version 1.7 = -=============================================================================== - - Vim ́Ã`[gAŐɂ͑̃R}h - ɋ͂ȃGfB^[łB̃`[gÁAȂ Vim \GfB - ^[ƂĎgȂ悤ɂȂ̂ɏ\ȃR}hɂĐ悤 - ȂĂ܂B - - `[gÂɕKvȎԂ́AoR}ĥɂǂꂾ - Ԃĝɂ܂A悻2530łB - - ATTENTION: - ȉ̗KpR}hɂ͂͂̕ύX̂܂BKn߂O - ɃRs[쐬܂傤("vimtutor"ȂAɃRs[Ă܂)B - - ̃`[gAAgƂŊodg݂ɂȂĂ邱ƂAS - ĂȂȂ܂BwKɂ̓R}hۂɎȂ - ȂȂ̂łB͂ǂȂAƖYĂ܂܂!B - - ACapsbN(Shift-Lock)L[ĂȂƂmFAʂ - bX1.1 S\Ƃ܂ŁAj L[ăJ[\ړ - 傤B -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1.1: J[\̈ړ - - - ** J[\ړɂ́Al h,j,k,l ܂ ** - ^ - k qg: h L[͍Ɉړ܂B - < h l > l L[͉EɈړ܂B - j j L[͉L[̂悤ȃL[łB - v - 1. ړɊ܂ŁAXN[ŃJ[\ړ܂傤B - - 2. ւ̃L[(j)ÂƁAAĈړł܂B - Ŏ̃bXɈړ@킩܂ˁB - - 3. ւ̃L[gāAbX1.2 Ɉړ܂傤B - -Note: ^CvĂ邩ȂȂA<ESC>ăm[}[hɂ - ܂Bꂩ͂悤ƂĂR}hē͂܂傤B - -Note: J[\L[łړł܂B hjkl ɈxĂ܂A͂邩 - ɑړ邱Ƃłł傤B}W! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1.2: VIM ̋NƏI - - - !! NOTE: ȉ̂XebvsOɁÃbXǂ݂܂傤!! - - 1. <ESC>L[܂傤B(mɃm[}[hɂ邽) - - 2. ̂悤Ƀ^Cv: :q! <ENTER> - ɂҏWeۑɃGfB^I܂B - - 3. VFvvgoĂÃ`[gAn߂ׂɂɃR}h - ^Cv܂B - ̃R}h: vimtutor <ENTER> - - 4. ܂ł̃XebvoMȂAXebv 1 3 ܂ł - ۂɎāAVim 1xIĂĂыN܂傤B - -NOTE: :q! <ENTER> ͑SĂ̕ύXj܂BbXɂĕύXt@Cɕ - @ɂĂĂ܂傤B - - 5. 1.3܂ŃJ[\ړ܂傤B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1.3: eLXgҏW - 폜 - - - ** m[}[hɂăJ[\̉̕폜ɂ x ܂ ** - - 1. ȉ ---> ƎꂽsɃJ[\ړ܂傤B - - 2. ԈႢC邽߂ɁA폜ŏ̕܂ŃJ[\ړ܂B - - 3. sKvȕ x č폜܂傤B - - 4. Ȃ܂ Xebv 2 4 JԂ܂傤B - ----> Ă Ƃт͂˂ - - 5. sȂAbX 1.4 i݂܂傤B - -NOTE: SẴbXʂāAo悤Ƃ̂ł͂ȂۂɂĂ݂܂傤B - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1.4: eLXgҏW - } - - - ** m[}[hɂăeLXg}ɂ i ܂ ** - - 1. ȉ ---> Ǝꂽŏ̍sɃJ[\ړ܂傤B - - 2. 1sڂ2sڂƓlɂ邽߂ɁAeLXg}ȂȂȂʒu - ̎̕ɃJ[\ړ܂B - - 3. i L[ĂAljKvȕ^Cv܂傤B - - 4. ԈႢC <ESC> ăR}h[hɖ߂AɂȂl - ɃXebv 2 4 JԂ܂傤B - ----> ɂ Ȃ eLXg B ----> s ɂ Ȃ eLXg B - - 5. }̕@킩牺̃bX1̗v܂傤B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1.5: eLXgҏW - lj - - - ** eLXgljɂ A ܂傤 ** - - 1. ȉ ---> Ǝꂽŏ̍sɃJ[\ړ܂傤B - J[\̕ɂĂ܂܂B - - 2. ljKvȏꏊ A ^Cv܂傤B - - 3. eLXgljIA <ESC> ăm[}[hɖ߂܂傤B - - 4. 2sڂ ---> ƎꂽꏊֈړAXebv 2 3 JԂĕ@ - C܂傤B - ----> ɂ͊ԈeLXg - ɂ͊ԈeLXg܂B ----> ɂԈeLX - ɂԈeLXg܂B - - 5. eLXg̒ljyɂȂĂ烌bX 1.6 i݂܂傤B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1.6: t@C̕ҏW - - - ** t@CۑďIɂ :wq ƃ^Cv܂ ** - - !! NOTE: ȉ̃XebvsOɁA܂Ŝǂł!! - - 1. bX 1.2 ł悤 :q! ^CvāÃ`[gAI - ܂B - - 2. VFvvgł̃R}h^Cv܂: vim tutor <ENTER> - 'vim' Vim GfB^NR}hA'tutor' ͕ҏWt@C - OłBύXĂ悢t@Cg܂傤B - - 3. ÕbXŊw悤ɁAeLXg}A폜܂B - - 4. ύXt@Cɕۑ܂: :wq <ENTER> - - 5. vimtutor ēxNAȉ̗vi݂܂傤B - - 6. ȏ̃Xebvǂŗłs܂傤B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 1 v - - - 1. J[\͖L[ hjkl L[ňړ܂B - h () j () k () l (E) - - 2. Vim Nɂ̓vvg vim t@C <ENTER> ƃ^Cv܂B - - 3. Vim Iɂ <ESC> :q! <ENTER> ƃ^Cv܂(ύXj)B - <ESC> :wq <ENTER> ƃ^Cv܂(ύXۑ)B - - 4. J[\̉̕폜ɂ́Am[}[h x ƃ^Cv܂B - - 5. J[\̈ʒuɕ}ɂ́Am[}[h i ƃ^Cv܂B - i eLXg̃^Cv <ESC> J[\ʒuɒlj - A eLXg̒lj <ESC> sɒlj - -NOTE: <ESC> L[ƃm[}[hɈڍs܂B̍ہAԈ͓r - ̃R}hƂł܂B - -āAăbX 2 n߂܂傤B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.1: 폜R}h - - - ** P̖܂ł폜ɂ dw ƃ^Cv܂傤 ** - - 1. m[}[hł邱ƂmF邽߂ <ESC> ܂傤B - - 2. ȉ ---> ƎꂽsɃJ[\ړ܂傤B - - 3. P̐擪ɃJ[\ړ܂傤B - - 4. P폜邽߂ dw ƃ^Cv܂傤B - - NOTE: ^CvƁAdw ƂXN[̍ʼnsɌ܂B - ^CvԈĂ܂ɂ <ESC> Ă蒼܂傤B - ----> ɂ ̂ Kv̂Ȃ P ܂܂ ܂B - - 5. 3 4 ܂łȂ܂ŌJԂAbX 2.2 i݂܂傤B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.2: ̑̍폜R}h - - - ** s̖܂ł폜ɂ d$ ƃ^Cv܂傤 ** - - 1. m[}[hł邱ƂmF̂ <ESC> ܂傤B - - 2. ȉ ---> ƎꂽsɃJ[\ړ܂傤B - - 3. ̖փJ[\ړ܂傤(ŏ . ̌ł)B - - 4. s܂ō폜̂ d$ ƃ^Cv܂傤B - ----> N̍s̍Ō2x^Cv܂B 2x^Cv܂B - - - 5. ǂƂ邽߂ɁAbX 2.3 i݂܂傤B - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.3: Iy[^ƃ[V - - - ̃R}h̓Iy[^ƃ[VeLXgɕύX܂B - 폜R}h d ̃Iy[^͎̗lɂȂĂ܂: - - d [V - - ꂼ: - d - 폜R}hB - [V - ɑē邩(ȉɋ܂)B - - Iy[^̈ꕔꗗ: - w - J[\ʒu܂ޒP̖܂ŁB - e - J[\ʒu܂܂ȂP̖܂ŁB - $ - J[\ʒus܂ŁB - - ܂ de ƃ^CvƁAJ[\ʒuP̏I܂ł폜܂B - -NOTE: `ĺAm[}[hɂăR}hȂɃ[V - ݂܂傤BJ[\ړIꗗŎʒuɈړ͂łB - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.4: [VɃJEggp - - - ** sJԂ̃[V̑Oɐl^Cv܂B ** - - 1. ȉ ---> ƎꂽƂ̐擪ɃJ[\ړ܂B - - 2. 2dw ^CvĒP2ړ܂B - - 3. 3e ^Cv3ڂ̒P̏I[Ɉړ܂B - - 4. 0 ([)^CvčsɈړ܂B - - 5. Xebv 2 3 ႤlƎgČJԂ܂B - ----> This is just a line with words you can move around in. - - 6. bX 2.5 ɐi݂܂傤B - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.5: 葽폜邽߂ɃJEggp - - - ** Iy[^ƃJEg^CvƁȂ삪JԂ܂B ** - - q̍폜̃Iy[^ƃ[V̑gݍ킹ɃJEglj邱ƂŁA - 葽̍폜s܂: - d l [V - - 1. ---> Ǝꂽs̍sɃJ[\ړ܂傤B - - 2. UPPER CASE ̒P2 2dw ƃ^Cvč폜܂B - - 3. UPPER CASE ƂAPA1̃R}hƈقȂJEgw肵A - Xebv 1 2 JԂ܂B - ----> ABC DEsFGHI JK LMN OPPQ RS TUVYɂȂB - -NOTE: Iy[^ d ƃ[V̊ԂɃJEggꍇAIy[^̂Ȃ - ꍇ̃[V̂悤ɓ삵܂B - : 3dw d3w ͓ŁA3w 폜܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.6: s̑ - - - ** sŜ폜ɂ dd ƃ^Cv܂ ** - - sŜ폜px̂ŁAVĩfUCi[͍s̍폜 d 2^Cv - ȒPȂ̂Ɍ߂܂B - - 1. ȉ̋2sڂɃJ[\ړ܂B - 2. dd ƃ^Cvčs폜܂B - 3. 4sڂɈړ܂B - 4. 2dd ƃ^Cv2s폜܂B - ----> 1) o͐ԂA ----> 2) ܂Ȃ̂͊yA ----> 3) X~͐A ----> 4) ͎ԂĂA ----> 5) vA ----> 6) ͊ ----> 7) I}Gi[ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2.7: 蒼R}h - - - ** Ō̃R}hɂ u ܂BU ͍sŜ̎łB ** - - 1. ȉ ---> ƎꂽsɃJ[\ړAŏ̊ԈႢɃJ[\ - ړ܂傤B - 2. x ^CvĂȂ擪̕폜܂傤B - 3. Au ^CvčŌɎsR}h܂傤B - 4. x́Ax gpČSďC܂傤B - 5. 啶 U ^CvāAs̏Ԃɖ߂܂傤B - 6. u ^CvĒO U R}h܂傤B - 7. ł̓R}hĎŝ CTRL-R (CTRL ܂ R ł)𐔉 - ^CvĂ݂܂傤(̎)B - ----> ̂̍ŝ̊ԈႢCXAł̏C܂܂B - - 8. ͂ƂĂ֗ȃR}hłBbX 2 vi݂܂傤B - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 2 v - - - 1. J[\ʒuP̖܂ł폜ɂ dw ƃ^Cv܂B - 2. J[\ʒus̖܂ł폜ɂ d$ ƃ^Cv܂B - 3. sŜ폜ɂ dd ƃ^Cv܂B - - 4. [VJԂɂ͐lt^܂: 2w - 5. ύXɗpR}ȟ` - Iy[^ [l] [V - - ꂼ: - Iy[^ - 폜 d ̗ނʼn邩B - l - ̃R}hJԂB - [V - w (P) $ (s)Ȃǂ̗ނŁAeLXg̉ɑē - 邩B - - 6. s̐擪Ɉړɂ̓[gp܂: 0 - - 7. O̓: u ( u) - sŜ̕ύX: U (啶 U) - ̎: CTRL-R -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 3.1: \tR}h - - - ** Ōɍ폜ꂽsJ[\̌ɓ\tɂ p ^Cv܂ ** - - 1. ȉ̒i̍ŏ̍sɃJ[\ړ܂傤B - - 2. dd ƃ^Cvčs폜AVim ̃obt@Ɋi[܂傤B - - 3. 폜s{ׂʒȕ̍s܂ŁAJ[\ړ܂傤B - - 4. m[}[h p ^CvĊi[sʂɖ߂܂B - - 5. ԂȂlɃXebv 2 4 JԂ܂傤B - - d) MwԂƂł? - b) X~͐A - c) mbƂ͊wԂ́A - a) o͐ԂA - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 3.2: uR}h - - - ** J[\̉̕uɂ r ^Cv܂ ** - - 1. ȉ ---> Ǝꂽŏ̍sɃJ[\ړ܂傤B - - 2. ŏ̊ԈႢ̐擪ɃJ[\ړ܂傤B - - 3. r ƃ^CvAԈĂ镶uA^Cv܂傤B - - 4. ŏ̍sȂ܂ŃXebv 2 3 JԂ܂傤B - ----> ̍l͂ˁA̐l͊L[! ----> ̍s͂ɁA̐l͊ԈL[܂! - - 5. AbX 3.2 i݂܂傤B - -NOTE: ۂɎ܂傤BĊo邾ɂ͂ȂƁB - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 3.3: ύXR}h - - - ** P̈ꕔA͑ŜύXɂ cw ƃ^Cv܂ ** - - 1. ȉ ---> Ǝꂽŏ̍sɃJ[\ړ܂傤B - - 2. lubw u ̈ʒuɃJ[\ړ܂傤B - - 3. cw ƃ^CvAP^Cv܂傤(̏ꍇ 'ine' ƃ^Cv)B - - 4. ̊ԈႢ(ύXׂ̐擪)Ɉړ邽߂ <ESC> ^Cv܂B - - 5. ŏ̍s̍s̗lɂȂ܂ŃXebv 3 4 JԂ܂B - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -cw ͒PύX邾łȂA}s邱Ƃɒӂ܂傤B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 3.4: c gp̑̕ύX - - - ** ύXR}h́A폜R}hƓlɃIuWFNggp܂ ** - - 1. ύXR}h́A폜R}hƓ悤ȓ܂B̌` - - c [l] [V - - 2. IuWFNgŁAw ͒PA $ ͍sȂǂƂ̂łB - - 3. ȉ ---> ƎꂽsɃJ[\ړ܂傤B - - 4. ŏ̊ԈႢփJ[\ړ܂傤B - - 5. c$ ƃ^Cvčs̎cQsڂ̗lɂA<ESC> ܂傤B - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - -NOTE: ^Cv̊ԈႢ̓obNXy[XL[gĒƂł܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 3 v - - - 1. ɍ폜ꂽeLXgĔzuɂ́Ap ^Cv܂B͍폜 - ꂽeLXgJ[\̌ɑ}܂(sPʂō폜ꂽ̂ȂAJ[ - \̂鎟̍sɑ}܂)B - - 2. J[\̉̕uɂ́Ar ^CvAu - ^Cv܂B - - 3. ύXR}hł̓J[\ʒũ[VŎw肳I[܂ł - X邱Ƃ\łBႦ cw ȂJ[\ʒuP̏I܂ŁA - c$ Ȃs̏I܂łύX܂B - - 4. ύXR}ȟ` - - c [l] [V - -ÃbXi݂܂傤B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 4.1: ʒuƃt@C̏ - - ** t@Cł̈ʒuƃt@C̏Ԃ\ɂ CTRL-G ^Cv܂B - t@ĈsɈړɂ G ^Cv܂ ** - - NOTE: XebvsOɁÃbXSĂɖڂʂ܂傤!! - - 1. CTRL ܂ g ܂傤B̑ CTRL-G ƌĂł܂B - y[ẄԉɃt@Cƍsԍ\͂łB Xebv 3̂ - ɍsԍoĂ܂傤B - -NOTE: ʂ̉EɃJ[\̈ʒu\Ă邩܂B - 'ruler' IvV(bX6Ő)ݒ肷邱Ƃŕ\܂B - - 2. ʼnsɈړ邽߂ G ^Cv܂傤B - t@C̐擪Ɉړɂ gg ƃ^Cv܂傤B - - 3. قǂ̍s̔ԍ^Cv G ^Cv܂傤Bŏ CTRL-G s - ɖ߂ė͂łB - - 4. MĂXebv 1 3 s܂傤B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 4.2: R}h - - - ** ɂ / ƁAO^Cv܂B** - - 1. m[}[h / Ƃ^Cv܂Bʈԉ : R}h - l / 邱ƂɋCÂł傤B - - 2. ł́A'errroor' <ENTER> ƃ^Cv܂傤BꂪPłB - - 3. xƂ P n ^Cv܂B - tɌƂ N ^Cv܂B - - 4. tɌꍇ́A/ ̑ ? R}hgp܂B - - 5. ̏ꏊɖ߂ɂ CTRL-O (Ctrl Ȃ o ^Cv)^Cv - ܂Bɖ߂ɂ͂JԂ܂BCTRL-I ͑OłB - -Note: "errroor" error ƃXyႢ܂; errroor ͂ error łB -Note: t@C̏IɒBƁAIvV 'wrapscan' ݒ肳Ă - ꍇ́At@C̐擪猟s܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 4.3: Ή銇ʂ - - - ** Ή ),] } ɂ % ^Cv܂ ** - - 1. ---> Ŏꂽs (,[ { ̂ǂꂩɃJ[\ړ܂傤B - - 2. % ƃ^Cv܂傤B - - 3. J[\͑Ή銇ʂɈړ͂łB - - 4. ŏ̊ʂɈړɂ % ƃ^Cv܂傤B - - 5. (,),[,],{ or } ŃJ[\ړA% Ă邩mF܂傤B - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - - -NOTE: ̋@\͊ʂvĂȂvOfobÔɂƂĂ𗧂 - ܂B - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 4.4: ԈႢύX@ - - - ** 'old' 'new' ɒuɂ :s/old/new/g ƃ^Cv܂ ** - - 1. ȉ ---> ƎꂽsɃJ[\ړ܂傤B - - 2. :s/thee/the <ENTER> ƃ^Cv܂傤B̃R}h͂̍sōŏɌ - ̂ɂsȂ邱ƂɋC܂傤B - - 3. ł :s/thee/the/g ƃ^Cv܂傤BsŜu邱ƂӖ܂B - ̕ύX͂̍sŌSẲӏɑčsȂ܂B - ----> thee best time to see thee flowers is in thee spring. - - 4. s猩镶ύXɂ - :#,#s/old/new/g #,# ɂ͒u͈͂̊JnƏI̍sԍw肵 - B - :%s/old/new/g t@CŜŌ̂ɑĕύXB - :%s/old/new/gc t@CŜŌ̂ɑāA11mFƂ - ύXB - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 4 v - - - 1. CTRL-G ̓t@Cł̈ʒuƃt@C̏ڍׂ\܂B - G ̓t@C̍ʼnsɈړ܂B - l G ͂̍sɈړ܂B - gg ͐擪sɈړ܂B - - 2. / ̌Ɍ^CvƑOɌ܂B - ? ̌Ɍ^CvƌɌ܂B - ̌ n ͓̎̌AN ͋ť܂B - CTRL-O ͏ꏊOɈڂACTRL-I ͏ꏊɈړ܂B - - 3. (,),[,],{, } ɃJ[\Ԃ % ^CvƑɂȂ镶 - ֈړ܂B - - 4. ݍs̍ŏ old new ɒuB :s/old/new - ݍs̑SĂ old new ɒuB :s/old/new/g - 2 # ԂŌuB :#,#s/old/new/g - t@C̒̑SĂ̌uB :%s/old/new/g - 'c' ƒu̓xɊmF߂B :%s/old/new/gc - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 5.1: OR}hs@ - - - ** :! ̌ɎsOR}h^Cv܂ ** - - 1. ʂ̍ʼnɃJ[\ړ悤Ae : ^Cv܂傤B - ŃR}h^CvłlɂȂ܂B - - 2. ! Ƃ(Q)^Cv܂傤B - ŊOVFR}hsłlɂȂ܂B - - 3. Ƃ ! ɑ ls ƃ^Cv <ENTER> ܂傤B - VFvvĝ悤ɃfBNg̈ꗗ\͂łB - ls ȂȂ :!dir gp܂傤B - -Note: ̕@ɂĂR}hs邱Ƃł܂B - ^܂B - -Note: SĂ : R}h <ENTER> ďIȂȂ܂B - ȍ~ł͂̂ƂɌy܂B - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 5.2: ̑̃t@C֏ - - - ** t@C֕ύXۑɂ :w t@C ƃ^Cv܂ ** - - 1. fBNg̈ꗗ邽߂ :!dir :!ls ƃ^Cv܂傤B - ̂ <ENTER> ̂͊ɂmłˁB - - 2. TEST ̂悤ɁÃfBNgɖt@CIт܂B - - 3. ł :w TEST ƃ^Cv܂傤 (TEST ́AIt@Cł)B - - 4. ɂt@CŜ TEST ƂOŕۑ܂B - x :!dir !ls ƃ^CvĊmFĂ݂܂傤B - -Note: Vim IAt@C TEST ƋɋNƁAۑ - `[gA̕łオ͂łB - - 5. ɁÂ悤Ƀ^Cvăt@C܂傤(MS-DOS): :!del TEST - (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 5.3: I - - -** t@C̈ʒuۑɂ́Av [V :w FILENAME ^Cv܂B ** - - 1. ̍sɃJ[\ړ܂B - - 2. v Aȉ̑5ڂɃJ[\ړ܂BeLXg\ - ɒڂĉB - - 3. : ƁAʂ̍ʼn :'<,'> ܂B - - 4. w TEST (TESET ݂͑Ȃt@C)^Cv܂B - Enter O :'<,'>w TEST ƂȂĂ邱ƂmFĉB - - 5. Vim TEST Ƃt@CɑIꂽsނł傤B - !dir !ls łmF܂B - ͍폜ȂłĉB̃bXŎgp܂B - -NOTE: v ƁAVisual In܂܂BJ[\ƂŁAI͈͂ - 傫ł܂BɁȂI͈͂ɑăIy[^Kp - ܂BႦ d ̓eLXg폜܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 5.4: t@C̎捞ƍ - - - ** t@C̒g}ɂ :r t@C ƃ^Cv܂ ** - - 1. J[\ȉ̍sɍ킹܂B - -NOTE: Xebv 2 ̎sAbX 5.3 ̃eLXg܂BɉĂ - ̃bXɈړ܂傤B - - 2. ł TEST Ƃt@C :r TEST ƂR}hœǂݍ݂܂傤B - ł TEST ͎gt@C̖ÔƂłB - ǂݍ܂ꂽt@ĆAJ[\s̉ɂ܂B - - 3. 捞t@CmFĂ݂܂傤BJ[\߂ƁAbX5.3 - IWiƃt@Cɂ̂2邱Ƃ킩܂B - -NOTE: OR}h̏o͂ǂݍނƂo܂BႦA - :r !ls ls R}h̏o͂J[\ȉɓǂݍ݂܂B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 5 v - - - 1. :!command ɂ OR}hs܂B - - 悭g: - (MS-DOS) (Unix) - :!dir :!ls - fBNg̈ꗗB - :!del FILENAME :!rm FILENAME - t@C폜B - - 2. :w t@C ɂăt@CƂt@CfBXNɏ܂B - - 3. v [V :w FILENAME ƂƁArWAIst@Cɕۑ - B - - 4. :r t@C ɂt@CƂt@CfBXN捞܂A - J[\ʒủɑ}B - - 5. :r !dir dir R}h̏o͂J[\ʒuȉɓǂݍށB - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 6.1: I[vR}h - - - ** o ^CvƁAJ[\̉̍sJA}[hɓ܂ ** - - 1. ȉ ---> ƎꂽsɃJ[\ړ܂傤B - - 2. o () ^CvāAJ[\̉̍sJA}[hɓ܂B - - 3. ɑ}[hIׂ <ESC> ^Cv܂B - ----> o ^CvƃJ[\͊Jsֈړ}[hɓ܂B - - 4. J[\̏̍sɑ}ɂ́A o ł͂ȂAPɑ啶 O - ^Cv܂B̍sŎĂ݂܂傤B - ----> ̍s֑̏}ɂ́A̍sփJ[\u O ^Cv܂B - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 6.2: ljR}h - - - ** J[\̎̈ʒueLXgljɂ a ƃ^Cv܂ ** - - 1. J[\ ---> ŎꂽƂֈړ܂傤B - - 2. e li ̏I[܂ŃJ[\ړ܂B - - 3. J[\̌ɃeLXglj邽߂ a () ^Cv܂B - - 4. ̉̍ŝ̂悤ȒPɊ܂B}[hׂ <ESC> ɉ - ܂B - - 5. e gĎ̕sSȒPֈړAXebv 3 4 JԂ܂B - ----> This li will allow you to pract appendi text to a line. ----> This line will allow you to practice appending text to a line. - -Note: a, i A ͓}[hֈڂ܂A}ʒuقȂ - ܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 6.3: ̑̒u@ - - - ** 1ȏuɂ͑啶 R ƃ^Cv܂傤 ** - - 1. ȉ ---> ƎꂽƂɃJ[\ړ܂Bŏ xxx ̐擪Ɉړ - ܂B - - 2. R āA2sڂ̐l^Cv邱ƂŁAxxx u܂B - - 3. u[hɂ <ESC> ܂Bs̎c肪ύXĂȂ܂܂ - Ȃ邱ƂɒӂĂB - - 5. c xxx XebvJԂĒu܂傤B - ----> Adding 123 to xxx gives you xxx. ----> Adding 123 to 456 gives you 579. - -NOTE: u[h͑}[hɎĂ܂ASẴ^Cvꂽ͊̕ - 폜܂B - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 6.4: eLXg̃Rs[ƃy[Xg - - - ** eLXg̃Rs[ɂ̓Iy[^ y Ay[Xgɂ p g܂ ** - - 1. ---> ƎꂽsֈړAJ[\ "a)" ̌ɒuĂ܂B - - 2. v ŃrWA[hJnA"first"̎O܂ŃJ[\ړ܂B - - 3. y ^Cvċ\ꂽeLXg yank (Rs[)܂B - - 4. ̍s̍s܂ŃJ[\ړ܂: j$ - - 5. p ē\t(put)ĂA^Cv܂: a second <ESC> - - 6. rWA[h " item." IAy ŃNA̍s̍s܂ j$ - ړA p ŃeLXg put ܂B - ----> a) this is the first item. - b) - - Note: P1 yank ̂ y Iy[^Ƃ yw Ƃ邱Ƃo܂B -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 6.5: IvV̐ݒ - - - ** u̍ۂɑ啶/ɂ́AIvVݒ肵܂ ** - - 1. ̗lɓ͂ 'ignore' ܂傤: /ignore <ENTER> - n ĉxJԂ܂B - - 2. ̗lɓ͂ 'ic' (Ignore Case ̗) IvVݒ肵܂: :set ic - - 3. ł n ɂĂ1x 'ignore' ܂B - n ĂɐJԂ܂傤B - - 4. 'hlsearch' 'incsearch' IvVݒ肵܂傤: :set hls is - - 5. R}hē͂āAN邩Ă݂܂傤: /ignore <ENTER> - - 6. 啶̋ʂɂɂ͎̗lɓ͂܂: :set noic - -Note: }b`̋\߂ɂ͎̗lɓ͂܂: :nohlsearch -Note: 1̌R}h啶̋ʂ߂ȂAt[Y \c - gp܂: /ignore\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 6 v - - 1. o ^CvƃJ[\̉̍sJāAő}[hɂȂB - O (啶) ^CvƃJ[\̏̍ső}[hɂȂB - - 2. J[\̎̕eLXgljɂ a ƃ^CvB - sɎŃeLXg}ɂ͑啶 A ^CvB - - 3. e R}h͒P̏I[J[\ړB - - 4. y Iy[^̓eLXg yank (Rs[)Ap ͂ put (y[Xg)B - - 5. 啶 R ^Cvƒu[hɓA<ESC>ƔB - - 6. ":set xxx" ƃ^CvƃIvV "xxx" ݒ肳B - 'ic' 'ignorecase' ɑ啶̋ʂȂ - 'is' 'incsearch' t[Yɕ}b`Ă镔\ - 'hls' 'hlsearch' }b`邷ׂ\ - AZAǂ̃IvVłgpł܂B - - 7. "no" t^AIvVɂ܂: :set noic - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 7.1: ICwvR}h - - - ** ICwvgp܂傤 ** - - Vim ɂ͍L͂ɂ킽ICwvVXe܂B - wvJnɂ́A3̂ǂꂩ1Ă݂܂傤: - - wvL[ <HELP> (Ȃ)B - - <F1> L[(Ȃ)B - - :help <ENTER> ƃ^CvB - - wvEBhẼeLXgǂނƁAwv̓삪ł܂B - CTRL-W CTRL-W ƃ^Cv wvEBhEփWv܂B - :q <ENTER> ƃ^Cv wvEBhE܂B - - ":help" R}hɈ^邱ƂɂA薼̃wv邱 - ł܂BĂ݂܂傤(<ENTER> ^CvYȂ悤): - - :help w - :help c_<T - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 7.2: NXNvg̍쐬 - - ** Vim ̓ ** - - Vim ɂ Vi ̓܂Ă܂ÂقƂǂ͏Ԃɂ - gpsƂȂĂ܂B葽̓g͂߂ɂ "vimrc" t@C - 쐬܂B - - 1. "vimrc" t@C̕ҏWJnB̓VXeɈˑ܂B - :edit ~/.vimrc UNIX - :edit $VIM/_vimrc MS-Windows - - 2. ŃTv "vimrc" ǂݍ݂܂B - :read $VIMRUNTIME/vimrc_example.vim - - 3. ȉ̂悤Ƀt@C֏݂܂B - :write - - Vim NƁAFÂ\g悤ɂȂł傤B - "vimrc" t@CցAD݂̐ݒlj邱Ƃł܂B - 葽̏ɂ :help vimrc-intro ƃ^Cv܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 7.3: ⊮ - - - ** CTRL-D <TAB> ŃR}hC⊮ ** - - 1. Rp`[hłȂƂmF܂: :set nocp - - 2. ݂̃fBNgɍ݂t@C :!ls :!dir ŊmF܂B - - 3. R}h̊Jn^Cv܂: :e - - 4. CTRL-D Vim "e" n܂R}ḧꗗ\܂B - - 5. <TAB> Vim ":edit" ƂR}h⊮܂B - - 6. ɋƁÃt@C̎n܂܂: :edit FIL - - 7. <TAB> Vim ͖O⊮܂B(ꍇ) - -NOTE: ⊮͑̃R}hœ삵܂B CTRL-D <TAB> Ă݂Ă - B :help ̍ۂɖ𗧂܂B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - bX 7 v - - - 1. wvEBhEJɂ :help Ƃ邩 <F1> <Help> B - - 2. R}h(cmd)̃wvɂ :help cmd ƃ^CvB - - 3. ʂ̃EBhEփWvɂ CTRL-W CTRL-W ƃ^CvB - - 4. wvEBhEɂ :q ƃ^CvB - - 5. D݂̐ݒۂɂ vimrc NXNvg쐬B - - 6. : command ʼn\ȕ⊮ɂ CTRL-D ^CvB - ⊮gpɂ <TAB> B - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - ɂ Vim ̃`[gAI܂BGfB^ȒPɁA[ - gƂł悤ɂƁAVim ̎TO̗v_݂̂`悤Ƃ܂B - Vim ɂ͂ɑ̃R}hAőSĂ邱Ƃ͂ł܂B - ȍ~̓[U}jAQƂ: "help :user-manual" - - Ȍ̊wK̂߂ɁA̖{𐄑E܂B - Vim - Vi Improved - by Steve Oualline - oŎ: New Riders - ŏ̖{͊S Vim ̂߂ɏ܂BƂ킯S҂ɂ͂߂łB - ̗}łfڂĂ܂B - URLQƂĉ http://iccf-holland.org/click5.html - - Vim Vi ɂďꂽÂ{łE܂: - Learning the Vi Editor - by Linda Lamb - oŎ: O'Reilly & Associates Inc. - Vi ł肽ƎvƂقڑSĂm邱ƂłǏłB - 6łł́AVim ɂĂ̏܂܂Ă܂B - - ̃`[gA Colorado State University Charles Smith ̃ACfA - ɁAColorado School of Mines Michael C. Pierce Robert K. Ware - ɂď܂B E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. - - { { O <mattn_jp@hotmail.com> - ďC Y <koron@tka.att.ne.jp> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - vi:set ts=8 sts=4 sw=4 tw=78: diff --git a/runtime/tutor/tutor.ja.utf-8 b/runtime/tutor/tutor.ja.utf-8 deleted file mode 100644 index e12cd6986..000000000 --- a/runtime/tutor/tutor.ja.utf-8 +++ /dev/null @@ -1,975 +0,0 @@ -=============================================================================== -= V I M 教 本 (チュートリアル) へ よ う こ そ - Version 1.7 = -=============================================================================== - - Vim は、このチュートリアルで説明するには多すぎる程のコマンドを備えた非常 - に強力なエディターです。このチュートリアルは、あなたが Vim を万能エディ - ターとして使いこなせるようになるのに十分なコマンドについて説明をするよう - なっています。 - - チュートリアルを完了するのに必要な時間は、覚えたコマンドを試すのにどれだ - け時間を使うのかにもよりますが、およそ25から30分です。 - - ATTENTION: - 以下の練習用コマンドにはこの文章を変更するものもあります。練習を始める前 - にコピーを作成しましょう("vimtutor"したならば、既にコピーされています)。 - - このチュートリアルが、使うことで覚えられる仕組みになっていることを、心し - ておかなければなりません。正しく学習するにはコマンドを実際に試さなければ - ならないのです。文章を読んだだけならば、きっと忘れてしまいます!。 - - さぁ、Capsロック(Shift-Lock)キーが押されていないことを確認した後、画面に - レッスン1.1 が全部表示されるところまで、j キーを押してカーソルを移動しま - しょう。 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1.1: カーソルの移動 - - - ** カーソルを移動するには、示される様に h,j,k,l を押します ** - ^ - k ヒント: h キーは左方向に移動します。 - < h l > l キーは右方向に移動します。 - j j キーは下矢印キーのようなキーです。 - v - 1. 移動に慣れるまで、スクリーンでカーソル移動させましょう。 - - 2. 下へのキー(j)を押しつづけると、連続して移動できます。 - これで次のレッスンに移動する方法がわかりましたね。 - - 3. 下へのキーを使って、レッスン1.2 に移動しましょう。 - -Note: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにし - ます。それから入力しようとしていたコマンドを再入力しましょう。 - -Note: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか - に速く移動することができるでしょう。いやマジで! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1.2: VIM の起動と終了 - - - !! NOTE: 以下のあらゆるステップを行う前に、このレッスンを読みましょう!! - - 1. <ESC>キーを押しましょう。(確実にノーマルモードにするため) - - 2. 次のようにタイプ: :q! <ENTER> - これにより編集した内容を保存せずにエディタが終了します。 - - 3. シェルプロンプトが出てきたら、このチュートリアルを始める為ににコマンド - をタイプします。 - そのコマンドは: vimtutor <ENTER> - - 4. これまでのステップを覚え自信がついたならば、ステップ 1 から 3 までを実 - 際に試して、Vim を1度終了してから再び起動しましょう。 - -NOTE: :q! <ENTER> は全ての変更を破棄します。レッスンにて変更をファイルに保 - 存する方法についても勉強していきましょう。 - - 5. 1.3までカーソルを移動させましょう。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1.3: テキスト編集 - 削除 - - - ** ノーマルモードにてカーソルの下の文字を削除するには x を押します ** - - 1. 以下の ---> と示された行にカーソルを移動しましょう。 - - 2. 間違いを修正するために、削除する最初の文字までカーソルを移動します。 - - 3. 不必要な文字を x を押して削除しましょう。 - - 4. 文が正しくなるまで ステップ 2 から 4 を繰り返しましょう。 - ----> その ううさぎ は つつきき を こええてて とびはねたた - - 5. 行が正しくなったら、レッスン 1.4 へ進みましょう。 - -NOTE: 全てのレッスンを通じて、覚えようとするのではなく実際にやってみましょう。 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1.4: テキスト編集 - 挿入 - - - ** ノーマルモードにてテキストを挿入するには i を押します ** - - 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 - - 2. 1行目を2行目と同じ様にするために、テキストを挿入しなければならない位置 - の次の文字にカーソルを移動します。 - - 3. i キーを押してから、追加が必要な文字をタイプしましょう。 - - 4. 間違いを修正したら <ESC> を押してコマンドモードに戻り、正しい文になる様 - にステップ 2 から 4 を繰り返しましょう。 - ----> この には 足りない テキスト ある。 ----> この 行 には 幾つか 足りない テキスト が ある。 - - 5. 挿入の方法がわかったら下のレッスン1の要約を見ましょう。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1.5: テキスト編集 - 追加 - - - ** テキスト追加するには A を押しましょう ** - - 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 - カーソルがその文字上にあってもかまいません。 - - 2. 追加が必要な場所で A をタイプしましょう。 - - 3. テキストを追加し終えたら、 <ESC> を押してノーマルモードに戻りましょう。 - - 4. 2行目の ---> と示された場所へ移動し、ステップ 2 から 3 繰り返して文法を - 修正しましょう。 - ----> ここには間違ったテキストがあり - ここには間違ったテキストがあります。 ----> ここにも間違ったテキス - ここにも間違ったテキストがあります。 - - 5. テキストの追加が軽快になってきたらレッスン 1.6 へ進みましょう。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1.6: ファイルの編集 - - - ** ファイルを保存して終了するには :wq とタイプします ** - - !! NOTE: 以下のステップを実行する前に、まず全体を読んでください!! - - 1. レッスン 1.2 でやったように :q! をタイプして、このチュートリアルを終了 - します。 - - 2. シェルプロンプトでこのコマンドをタイプします: vim tutor <ENTER> - 'vim'が Vim エディタを起動するコマンド、'tutor' は編集したいファイルの - 名前です。変更してもよいファイルを使いましょう。 - - 3. 前のレッスンで学んだように、テキストを挿入、削除します。 - - 4. 変更をファイルに保存します: :wq <ENTER> - - 5. vimtutor を再度起動し、以下の要約へ進みましょう。 - - 6. 以上のステップを読んで理解した上でこれを実行しましょう。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 1 要約 - - - 1. カーソルは矢印キーもしくは hjkl キーで移動します。 - h (左) j (下) k (上) l (右) - - 2. Vim を起動するにはプロンプトから vim ファイル名 <ENTER> とタイプします。 - - 3. Vim を終了するには <ESC> :q! <ENTER> とタイプします(変更を破棄)。 - もしくは <ESC> :wq <ENTER> とタイプします(変更を保存)。 - - 4. カーソルの下の文字を削除するには、ノーマルモードで x とタイプします。 - - 5. カーソルの位置に文字を挿入するには、ノーマルモードで i とタイプします。 - i テキストのタイプ <ESC> カーソル位置に追加 - A テキストの追加 <ESC> 行末に追加 - -NOTE: <ESC> キーを押すとノーマルモードに移行します。その際、間違ったり入力途 - 中のコマンドを取り消すことができます。 - -さて、続けてレッスン 2 を始めましょう。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.1: 削除コマンド - - - ** 単語の末尾までを削除するには dw とタイプしましょう ** - - 1. ノーマルモードであることを確認するために <ESC> を押しましょう。 - - 2. 以下の ---> と示された行にカーソルを移動しましょう。 - - 3. 消したい単語の先頭にカーソルを移動しましょう。 - - 4. 単語を削除するために dw とタイプしましょう。 - - NOTE: タイプすると、dw という文字がスクリーンの最下行に現われます。 - タイプを間違ってしまった時には <ESC> を押してやり直しましょう。 - ----> この 文 紙 には いくつかの たのしい 必要のない 単語 が 含まれて います。 - - 5. 3 から 4 までを文が正しくなるまで繰り返し、レッスン 2.2 へ進みましょう。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.2: その他の削除コマンド - - - ** 行の末尾までを削除するには d$ とタイプしましょう ** - - 1. ノーマルモードであることを確認するのに <ESC> を押しましょう。 - - 2. 以下の ---> と示された行にカーソルを移動しましょう。 - - 3. 正しい文の末尾へカーソルを移動しましょう(最初の . の後です)。 - - 4. 行末まで削除するのに d$ とタイプしましょう。 - ----> 誰かがこの行の最後を2度タイプしました。 2度タイプしました。 - - - 5. どういうことか理解するために、レッスン 2.3 へ進みましょう。 - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.3: オペレータとモーション - - - 多くのコマンドはオペレータとモーションからテキストに変更を加ます。 - 削除コマンド d のオペレータは次の様になっています: - - d モーション - - それぞれ: - d - 削除コマンド。 - モーション - 何に対して働きかけるか(以下に挙げます)。 - - オペレータの一部一覧: - w - カーソル位置から空白を含む単語の末尾まで。 - e - カーソル位置から空白を含まない単語の末尾まで。 - $ - カーソル位置から行末まで。 - - つまり de とタイプすると、カーソル位置から単語の終わりまでを削除します。 - -NOTE: 冒険したい人は、ノーマルモードにてコマンドなしにモーションを押して - みましょう。カーソルが目的語一覧で示される位置に移動するはずです。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.4: モーションにカウントを使用する - - - ** 何回も行いたい繰り返しのモーションの前に数値をタイプします。 ** - - 1. 以下の ---> と示された業の先頭にカーソルを移動します。 - - 2. 2dw をタイプして単語2つ分移動します。 - - 3. 3e をタイプして3つ目の単語の終端に移動します。 - - 4. 0 (ゼロ)をタイプして行頭に移動します。 - - 5. ステップ 2 と 3 を違う数値と使って繰り返します。 - ----> This is just a line with words you can move around in. - - 6. レッスン 2.5 に進みましょう。 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.5: より多くを削除するためにカウントを使用する - - - ** オペレータとカウントをタイプすると、その操作が複数回繰り返されます。 ** - - 既述の削除のオペレータとモーションの組み合わせにカウントを追加することで、 - より多くの削除が行えます: - d 数値 モーション - - 1. ---> と示された行の行頭部分にカーソルを移動しましょう。 - - 2. UPPER CASE の単語2つを 2dw とタイプして削除します。 - - 3. UPPER CASE という連続した単語を、1つのコマンドと異なるカウントを指定し、 - ステップ 1 と 2 を繰り返します。 - ----> このABC DE行のFGHI JK LMN OP単語はQ RS TUV綺麗になった。 - -NOTE: オペレータ d とモーションの間にカウントを使った場合、オペレータのない - 場合のモーションのように動作します。 - 例: 3dw と d3w は同等で、3w を削除します。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.6: 行の操作 - - - ** 行全体を削除するには dd とタイプします ** - - 行全体を削除する頻度が多いので、Viのデザイナーは行の削除を d の2回タイプと - いう簡単なものに決めました。 - - 1. 以下の句の2行目にカーソルを移動します。 - 2. dd とタイプして行を削除します。 - 3. さらに4行目に移動します。 - 4. 2dd とタイプして2行を削除します。 - ----> 1) バラは赤い、 ----> 2) つまらないものは楽しい、 ----> 3) スミレは青い、 ----> 4) 私は車をもっている、 ----> 5) 時計が時刻を告げる、 ----> 6) 砂糖は甘い ----> 7) オマエモナー - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2.7: やり直しコマンド - - - ** 最後のコマンドを取り消すには u を押します。U は行全体の取消です。 ** - - 1. 以下の ---> と示された行にカーソルを移動し、最初の間違いにカーソ - ルを移動しましょう。 - 2. x をタイプしていらない先頭の文字を削除しましょう。 - 3. さぁ、u をタイプして最後に実行したコマンドを取り消しましょう。 - 4. 今度は、x を使用して誤りを全て修正しましょう。 - 5. 大文字の U をタイプして、行を元の状態に戻しましょう。 - 6. u をタイプして直前の U コマンドを取消しましょう。 - 7. ではコマンドを再実行するのに CTRL-R (CTRL を押したまま R を打つ)を数回 - タイプしてみましょう(取消の取消)。 - ----> このの行のの間違いを修正々し、後でそれらの修正をを取消しまますす。 - - 8. これはとても便利なコマンドです。さぁレッスン 2 要約へ進みましょう。 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 2 要約 - - - 1. カーソル位置から単語の末尾までを削除するには dw とタイプします。 - 2. カーソル位置から行の末尾までを削除するには d$ とタイプします。 - 3. 行全体を削除するには dd とタイプします。 - - 4. モーションを繰り返すには数値を付与します: 2w - 5. 変更に用いるコマンドの形式は - オペレータ [数値] モーション - - それぞれ: - オペレータ - 削除 d の類で何をするか。 - 数値 - そのコマンドを何回繰り返すか。 - モーション - w (単語)や $ (行末)などの類で、テキストの何に対して働きか - けるか。 - - 6. 行の先頭に移動するにはゼロを使用します: 0 - - 7. 前回の動作を取消す: u (小文字 u) - 行全体の変更を取消す: U (大文字 U) - 取消しの取消し: CTRL-R -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 3.1: 貼り付けコマンド - - - ** 最後に削除された行をカーソルの後に貼り付けるには p をタイプします ** - - 1. 以下の段落の最初の行にカーソルを移動しましょう。 - - 2. dd とタイプして行を削除し、Vim のバッファに格納しましょう。 - - 3. 削除した行が本来あるべき位置の上の行まで、カーソルを移動させましょう。 - - 4. ノーマルモードで p をタイプして格納した行を画面に戻します。 - - 5. 順番が正しくなる様にステップ 2 から 4 を繰り返しましょう。 - - d) 貴方も学ぶことができる? - b) スミレは青い、 - c) 知恵とは学ぶもの、 - a) バラは赤い、 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 3.2: 置き換えコマンド - - - ** カーソルの下の文字を置き換えるには r をタイプします ** - - 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 - - 2. 最初の間違いの先頭にカーソルを移動しましょう。 - - 3. r とタイプし、間違っている文字を置き換える、正しい文字をタイプしましょう。 - - 4. 最初の行が正しくなるまでステップ 2 から 3 を繰り返しましょう。 - ----> この合を人力した時ね、その人は幾つか問違ったキーを押しもした! ----> この行を入力した時に、その人は幾つか間違ったキーを押しました! - - 5. さぁ、レッスン 3.2 へ進みましょう。 - -NOTE: 実際に試しましょう。決して覚えるだけにはしないこと。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 3.3: 変更コマンド - - - ** 単語の一部、もしくは全体を変更するには cw とタイプします ** - - 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 - - 2. lubw の u の位置にカーソルを移動しましょう。 - - 3. cw とタイプし、正しい単語をタイプしましょう(この場合 'ine' とタイプ)。 - - 4. 次の間違い(変更すべき文字の先頭)に移動するために <ESC> をタイプします。 - - 5. 最初の行が次の行の様になるまでステップ 3 と 4 を繰り返します。 - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -cw は単語を変更するだけでなく、挿入も行えることに注意しましょう。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 3.4: c を使用したその他の変更 - - - ** 変更コマンドは、削除コマンドと同じ様にオブジェクトを使用します ** - - 1. 変更コマンドは、削除コマンドと同じような動作をします。その形式は - - c [数値] モーション - - 2. オブジェクトも同じで、w は単語、 $ は行末などといったものです。 - - 3. 以下の ---> と示された行にカーソルを移動しましょう。 - - 4. 最初の間違いへカーソルを移動しましょう。 - - 5. c$ とタイプして行の残りを2行目の様にし、<ESC> を押しましょう。 - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - -NOTE: タイプ中の間違いはバックスペースキーを使って直すこともできます。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 3 要約 - - - 1. 既に削除されたテキストを再配置するには、p をタイプします。これは削除さ - れたテキストをカーソルの後に挿入します(行単位で削除されたのならば、カー - ソルのある次の行に挿入されます)。 - - 2. カーソルの下の文字を置き換えるには、r をタイプした後、それを置き換える - 文字をタイプします。 - - 3. 変更コマンドではカーソル位置から特定のモーションで指定される終端までを変 - 更することが可能です。例えば cw ならばカーソル位置から単語の終わりまで、 - c$ ならば行の終わりまでを変更します。 - - 4. 変更コマンドの形式は - - c [数値] モーション - -さぁ、次のレッスンへ進みましょう。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 4.1: 位置とファイルの情報 - - ** ファイル内での位置とファイルの状態を表示するには CTRL-G をタイプします。 - ファイル内のある行に移動するには G をタイプします ** - - NOTE: ステップを実行する前に、このレッスン全てに目を通しましょう!! - - 1. CTRL を押したまま g を押しましょう。この操作を CTRL-G と呼んでいます。 - ページの一番下にファイル名と行番号が表示されるはずです。 ステップ 3のため - に行番号を覚えておきましょう。 - -NOTE: 画面の右下隅にカーソルの位置が表示されているかもしれません。これは - 'ruler' オプション(レッスン6で説明)を設定することで表示されます。 - - 2. 最下行に移動するために G をタイプしましょう。 - ファイルの先頭に移動するには gg とタイプしましょう。 - - 3. 先ほどの行の番号をタイプし G をタイプしましょう。最初に CTRL-G を押した行 - に戻って来るはずです。 - - 4. 自信が持てたらステップ 1 から 3 を実行しましょう。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 4.2: 検索コマンド - - - ** 語句を検索するには / と、前方検索する語句をタイプします。** - - 1. ノーマルモードで / という文字をタイプします。画面一番下に : コマンドと - 同じ様に / が現れることに気づくでしょう。 - - 2. では、'errroor' <ENTER> とタイプしましょう。これが検索したい単語です。 - - 3. 同じ語をもう一度検索するときは 単に n をタイプします。 - 逆方向に語句を検索するときは N をタイプします。 - - 4. 逆方向に語句を検索する場合は、/ の代わりに ? コマンドを使用します。 - - 5. 元の場所に戻るには CTRL-O (Ctrl を押し続けながら o 文字タイプ)をタイプし - ます。さらに戻るにはこれを繰り返します。CTRL-I は前方向です。 - -Note: "errroor" は error とスペルが違います; errroor はいわゆる error です。 -Note: 検索がファイルの終わりに達すると、オプション 'wrapscan' が設定されている - 場合は、ファイルの先頭から検索を続行します。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 4.3: 対応する括弧を検索 - - - ** 対応する ),] や } を検索するには % をタイプします ** - - 1. 下の ---> で示された行で (,[ か { のどれかにカーソルを移動しましょう。 - - 2. そこで % とタイプしましょう。 - - 3. カーソルは対応する括弧に移動するはずです。 - - 4. 最初の括弧に移動するには % とタイプしましょう。 - - 5. 他の (,),[,],{ or } でカーソルを移動し、% が何をしているか確認しましょう。 - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - - -NOTE: この機能は括弧が一致していないプログラムをデバッグするのにとても役立ち - ます。 - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 4.4: 間違いを変更する方法 - - - ** 'old' を 'new' に置換するには :s/old/new/g とタイプします ** - - 1. 以下の ---> と示された行にカーソルを移動しましょう。 - - 2. :s/thee/the <ENTER> とタイプしましょう。このコマンドはその行で最初に見 - つかったものにだけ行なわれることに気をつけましょう。 - - 3. では :s/thee/the/g とタイプしましょう。行全体を置換することを意味します。 - この変更はその行で見つかった全ての箇所に対して行なわれます。 - ----> thee best time to see thee flowers is in thee spring. - - 4. 複数行から見つかる文字を変更するには - :#,#s/old/new/g #,# には置き換える範囲の開始と終了の行番号を指定しま - す。 - :%s/old/new/g ファイル全体で見つかるものに対して変更する。 - :%s/old/new/gc ファイル全体で見つかるものに対して、1つ1つ確認をとりな - がら変更する。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 4 要約 - - - 1. CTRL-G はファイルでの位置とファイルの詳細を表示します。 - G はファイルの最下行に移動します。 - 数値 G はその行に移動します。 - gg は先頭行に移動します。 - - 2. / の後に語句をタイプすると前方に語句を検索します。 - ? の後に語句をタイプすると後方に語句を検索します。 - 検索の後の n は同じ方向の次の検索を、N は逆方向の検索をします。 - CTRL-O は場所を前に移し、CTRL-I は場所を次に移動します。 - - 3. (,),[,],{, もしくは } 上にカーソルがある状態で % をタイプすると対になる文 - 字へ移動します。 - - 4. 現在行の最初の old を new に置換する。 :s/old/new - 現在行の全ての old を new に置換する。 :s/old/new/g - 2つの # 間で語句を置換する。 :#,#s/old/new/g - ファイルの中の全ての検索語句を置換する。 :%s/old/new/g - 'c' を加えると置換の度に確認を求める。 :%s/old/new/gc - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 5.1: 外部コマンドを実行する方法 - - - ** :! の後に実行する外部コマンドをタイプします ** - - 1. 画面の最下部にカーソルが移動するよう、慣れ親しんだ : をタイプしましょう。 - これでコマンドがタイプできる様になります。 - - 2. ここで ! という文字(感嘆符)をタイプしましょう。 - これで外部シェルコマンドが実行できる様になります。 - - 3. 例として ! に続けて ls とタイプし <ENTER> を押しましょう。 - シェルプロンプトのようにディレクトリの一覧が表示されるはずです。 - もしくは ls が動かないならば :!dir を使用しましょう。 - -Note: この方法によってあらゆるコマンドが実行することができます。もちろん引数 - も与えられます。 - -Note: 全ての : コマンドは <ENTER> を押して終了しなければなりません。 - 以降ではこのことに言及しません。 - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 5.2: その他のファイルへ書き込み - - - ** ファイルへ変更を保存するには :w ファイル名 とタイプします ** - - 1. ディレクトリの一覧を得るために :!dir もしくは :!ls とタイプしましょう。 - このあと <ENTER> を押すのは既にご存知ですね。 - - 2. TEST のように、そのディレクトリに無いファイル名を一つ選びます。 - - 3. では :w TEST とタイプしましょう (TEST は、選んだファイル名です)。 - - 4. これによりファイル全体が TEST という名前で保存されます。 - もう一度 :!dir もしくは !ls とタイプして確認してみましょう。 - -Note: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の - チュートリアルの複製ができ上がるはずです。 - - 5. さらに、次のようにタイプしてファイルを消しましょう(MS-DOS): :!del TEST - もしくは(Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 5.3: 選択した書き込み - - -** ファイルの位置を保存するには、v モーションと :w FILENAME をタイプします。 ** - - 1. この行にカーソルを移動します。 - - 2. v を押し、以下の第5項目にカーソルを移動します。テキストが強調表示されるの - に注目して下さい。 - - 3. 文字 : を押すと、画面の最下部に :'<,'> が現れます。 - - 4. w TEST (TESET は存在しないファイル名)をタイプします。 - Enter を押す前に :'<,'>w TEST となっていることを確認して下さい。 - - 5. Vim は TEST というファイルに選択された行を書き込むでしょう。 - !dir もしくは !ls でそれを確認します。 - それは削除しないでおいて下さい。次のレッスンで使用します。 - -NOTE: v を押すと、Visual 選択が始まります。カーソルを動かすことで、選択範囲を - 大きくも小さくもできます。さらに、その選択範囲に対してオペレータを適用 - きます。例えば d はテキストを削除します。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 5.4: ファイルの取込と合併 - - - ** ファイルの中身を挿入するには :r ファイル名 とタイプします ** - - 1. カーソルを以下の行に合わせます。 - -NOTE: ステップ 2 の実行後、レッスン 5.3 のテキストが現れます。下に下がってこ - のレッスンに移動しましょう。 - - 2. では TEST というファイルを :r TEST というコマンドで読み込みましょう。 - ここでいう TEST は使うファイルの名前のことです。 - 読み込まれたファイルは、カーソル行の下にあります。 - - 3. 取込んだファイルを確認してみましょう。カーソルを戻すと、レッスン5.3 の - オリジナルとファイルによるものの2つがあることがわかります。 - -NOTE: 外部コマンドの出力を読み込むことも出来ます。例えば、 - :r !ls は ls コマンドの出力をカーソル以下に読み込みます。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 5 要約 - - - 1. :!command によって 外部コマンドを実行します。 - - よく使う例: - (MS-DOS) (Unix) - :!dir :!ls - ディレクトリ内の一覧を見る。 - :!del FILENAME :!rm FILENAME - ファイルを削除する。 - - 2. :w ファイル名 によってファイル名というファイルがディスクに書き込まれる。 - - 3. v モーションで :w FILENAME とすると、ビジュアル選択行がファイルに保存さ - れる。 - - 4. :r ファイル名 によりファイル名というファイルがディスクより取込まれ、 - カーソル位置の下に挿入される。 - - 5. :r !dir は dir コマンドの出力をカーソル位置以下に読み込む。 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 6.1: オープンコマンド - - - ** o をタイプすると、カーソルの下の行が開き、挿入モードに入ります ** - - 1. 以下の ---> と示された行にカーソルを移動しましょう。 - - 2. o (小文字) をタイプして、カーソルの下の行を開き、挿入モードに入ります。 - - 3. さらに挿入モードを終了する為に <ESC> をタイプします。 - ----> o をタイプするとカーソルは開いた行へ移動し挿入モードに入ります。 - - 4. カーソルの上の行に挿入するには、小文字の o ではなく、単純に大文字の O - をタイプします。次の行で試してみましょう。 - ----> この行の上へ挿入するには、この行へカーソルを置いて O をタイプします。 - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 6.2: 追加コマンド - - - ** カーソルの次の位置からテキストを追加するには a とタイプします ** - - 1. カーソルを ---> で示された業へ移動しましょう。 - - 2. e を押して li の終端部までカーソルを移動します。 - - 3. カーソルの後ろにテキストを追加するために a (小文字) をタイプします。 - - 4. その下の行ののような単語に完成させます。挿入モードを抜ける為に <ESC> に押 - します。 - - 5. e を使って次の不完全な単語へ移動し、ステップ 3 と 4 を繰り返します。 - ----> This li will allow you to pract appendi text to a line. ----> This line will allow you to practice appending text to a line. - -Note: a, i と A は同じ挿入モードへ移りますが、文字が挿入される位置だけが異なり - ます。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 6.3: その他の置換方法 - - - ** 1文字以上を置き換えるには大文字の R とタイプしましょう ** - - 1. 以下の ---> と示された業にカーソルを移動します。最初の xxx の先頭に移動し - ます。 - - 2. R を押して、2行目の数値をタイプすることで、xxx が置換されます。 - - 3. 置換モードを抜けるには <ESC> を押します。行の残りが変更されていないままに - なることに注意してください。 - - 5. 残った xxx をステップを繰り返して置換しましょう。 - ----> Adding 123 to xxx gives you xxx. ----> Adding 123 to 456 gives you 579. - -NOTE: 置換モードは挿入モードに似ていますが、全てのタイプされた文字は既存の文字 - を削除します。 - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 6.4: テキストのコピーとペースト - - - ** テキストのコピーにはオペレータ y を、ペーストには p を使います ** - - 1. ---> と示された行へ移動し、カーソルを "a)" の後に置いておきます。 - - 2. v でビジュアルモードを開始し、"first"の手前までカーソルを移動します。 - - 3. y をタイプして強調表示されたテキストを yank (コピー)します。 - - 4. 次の行の行末までカーソルを移動します: j$ - - 5. p を押して貼り付け(put)てから、次をタイプします: a second <ESC> - - 6. ビジュアルモードで " item." を選択し、y でヤンク、次の行の行末まで j$ で - 移動し、 p でテキストをそこに put します。 - ----> a) this is the first item. - b) - - Note: 単語を1つ yank するのに y をオペレータとして yw とすることも出来ます。 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 6.5: オプションの設定 - - - ** 検索や置換の際に大文字/小文字を無視するには、オプションを設定します ** - - 1. 次の様に入力して 'ignore' を検索しましょう: /ignore <ENTER> - n を押して何度か検索を繰り返します。 - - 2. 次の様に入力して 'ic' (Ignore Case の略) オプションを設定します: :set ic - - 3. では n によってもう1度 'ignore' を検索します。 - n を押してさらに数回検索を繰り返しましょう。 - - 4. 'hlsearch' と 'incsearch' オプションを設定しましょう: :set hls is - - 5. 検索コマンドを再入力して、何が起こるか見てみましょう: /ignore <ENTER> - - 6. 大文字小文字の区別を無効にするには次の様に入力します: :set noic - -Note: マッチの強調表示をやめるには次の様に入力します: :nohlsearch -Note: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c - を使用します: /ignore\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 6 要約 - - 1. o をタイプするとカーソルの下の行を開けて、そこで挿入モードになる。 - O (大文字) をタイプするとカーソルの上の行で挿入モードになる。 - - 2. カーソル上の文字の次からテキストを追加するには a とタイプする。 - 行末に自動でテキストを挿入するには大文字 A をタイプする。 - - 3. e コマンドは単語の終端部カーソルを移動する。 - - 4. y オペレータはテキストを yank (コピー)し、p はそれを put (ペースト)する。 - - 5. 大文字の R をタイプすると置換モードに入り、<ESC>を押すと抜ける。 - - 6. ":set xxx" とタイプするとオプション "xxx" が設定される。 - 'ic' 'ignorecase' 検索時に大文字小文字の区別しない - 'is' 'incsearch' 検索フレーズに部分マッチしている部分を表示する - 'hls' 'hlsearch' マッチするすべを強調表示する - 長い方、短い方、どちらのオプション名でも使用できます。 - - 7. "no" を付与し、オプションを無効にします: :set noic - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 7.1: オンラインヘルプコマンド - - - ** オンラインヘルプを使用しましょう ** - - Vim には広範にわたるオンラインヘルプシステムがあります。 - ヘルプを開始するには、これら3つのどれか1つを試してみましょう: - - ヘルプキー <HELP> を押す(もしあるならば)。 - - <F1> キーを押す(もしあるならば)。 - - :help <ENTER> とタイプする。 - - ヘルプウィンドウのテキストを読むと、ヘルプの動作が理解できます。 - CTRL-W CTRL-W とタイプすると ヘルプウィンドウへジャンプします。 - :q <ENTER> とタイプすると ヘルプウィンドウが閉じられます。 - - ":help" コマンドに引数を与えることにより、あらゆる題名のヘルプを見つけること - ができます。これらを試してみましょう(<ENTER> をタイプし忘れないように): - - :help w - :help c_<T - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 7.2: 起動スクリプトの作成 - - ** Vim の特徴を発揮する ** - - Vim には Vi よりも多くの特徴を踏まえていまが、そのほとんどは初期状態にて - 使用不可となっています。より多くの特徴を使いはじめるには "vimrc" ファイル - を作成します。 - - 1. "vimrc" ファイルの編集を開始する。これはシステムに依存します。 - :edit ~/.vimrc UNIX 向け - :edit $VIM/_vimrc MS-Windows 向け - - 2. ここでサンプルの "vimrc" を読み込みます。 - :read $VIMRUNTIME/vimrc_example.vim - - 3. 以下のようにファイルへ書き込みます。 - :write - - 次回 Vim を起動すると、色づけ構文が使えるようになるでしょう。 - この "vimrc" ファイルへ、お好みの設定を追加することができます。 - より多くの情報を得るには :help vimrc-intro とタイプします。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 7.3: 補完 - - - ** CTRL-D と <TAB> でコマンドラインを補完する ** - - 1. コンパチモードでないことを確認します: :set nocp - - 2. 現在のディレクトリに在るファイルを :!ls か :!dir で確認します。 - - 3. コマンドの開始をタイプします: :e - - 4. CTRL-D を押すと Vim は "e" から始まるコマンドの一覧を表示します。 - - 5. <TAB> を押すと Vim は ":edit" というコマンド名を補完します。 - - 6. さらに空白と、既存のファイル名の始まりを加えます: :edit FIL - - 7. <TAB> を押すと Vim は名前を補完します。(もし一つしか無かった場合) - -NOTE: 補完は多くのコマンドで動作します。そして CTRL-D と <TAB> 押してみてくだ - さい。特に :help の際に役立ちます。 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - レッスン 7 要約 - - - 1. ヘルプウィンドウを開くには :help とするか <F1> もしくは <Help> を押す。 - - 2. コマンド(cmd)のヘルプを検索するには :help cmd とタイプする。 - - 3. 別のウィンドウへジャンプするには CTRL-W CTRL-W とタイプする。 - - 4. ヘルプウィンドウを閉じるには :q とタイプする。 - - 5. お好みの設定を保つには vimrc 起動スクリプトを作成する。 - - 6. : command で可能な補完を見るには CTRL-D をタイプする。 - 補完を使用するには <TAB> を押す。 - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - これにて Vim のチュートリアルを終わります。エディタを簡単に、しかも充分に - 使うことができるようにと、Vim の持つ概念の要点のみを伝えようとしました。 - Vim にはさらに多くのコマンドがあり、ここで全てを説明することはできません。 - 以降はユーザマニュアルを参照ください: "help :user-manual" - - これ以後の学習のために、次の本を推薦します。 - Vim - Vi Improved - by Steve Oualline - 出版社: New Riders - 最初の本は完全に Vim のために書かれました。とりわけ初心者にはお奨めです。 - 多くの例題や図版が掲載されています。 - 次のURLを参照して下さい http://iccf-holland.org/click5.html - - 次は Vim よりも Vi について書かれた古い本ですが推薦します: - Learning the Vi Editor - by Linda Lamb - 出版社: O'Reilly & Associates Inc. - Vi でやりたいと思うことほぼ全てを知ることができる良書です。 - 第6版では、Vim についての情報も含まれています。 - - このチュートリアルは Colorado State University の Charles Smith のアイデア - を基に、Colorado School of Mines の Michael C. Pierce と Robert K. Ware の - 両名によって書かれました。 E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. - - 日本語訳 松本 泰弘 <mattn_jp@hotmail.com> - 監修 村岡 太郎 <koron@tka.att.ne.jp> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - vi:set ts=8 sts=4 sw=4 tw=78: diff --git a/runtime/tutor/tutor.ko.euc b/runtime/tutor/tutor.ko.euc deleted file mode 100644 index ddfc5ac81..000000000 --- a/runtime/tutor/tutor.ko.euc +++ /dev/null @@ -1,812 +0,0 @@ -=============================================================================== -= (VIM Tutor) ȯմϴ - Version 1.5 = -=============================================================================== - - (Vim) ̿ ŭ - ſ Դϴ. ̴ õ - ֵ ɿ ϰ ֽϴ. - - ̸ ǽϴ ð - 25-30 ɸϴ. - - Ե Ĩϴ. 纻 - ϼ. (vimtutor ߴٸ, ̹ 纻 ϴ - Դϴ.) - - ߿ , ̰ Ẹ鼭 쵵 Ǿ ִٴ Դϴ. - , غ ʿմϴ. д - δ, ؾ Դϴ. - - , Caps Lock(Shift-Lock) Ű Ȯغð, j Ű - Lesson 1.1 ȭ鿡 ô. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.1: Ŀ ̱ - - ** Ŀ ̷, ǥõ h,j,k,l Ű ʽÿ. ** - ^ - k Ʈ: h Ű ʿ , Դϴ. - < h l > l Ű ʿ , - j Դϴ. - v j Ű Ʒ ȭǥó ϴ. - - 1. ͼ Ŀ ũ ʽÿ. - - 2. Ʒ Ű (j) ݺԷ ʽÿ. ----> lesson ˰ Ǿϴ. - - 3. Ʒ Ű ̿Ͽ, Lesson 1.2 ʽÿ. - -: ʴ 𰡰 Է Ǿٸ, <ESC> , - ưʽÿ. Ŀ ϴ ٽ ԷϽʽÿ. - -: ĿŰ ۵ Դϴ. hjkl ͼ, ĿŰ - ξ ̵ Դϴ. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.2: ϰ - - - !! : Ʒ ִ ܰ踦 ϱ , lesson ü ʽÿ!! - - 1. <ESC> Ű Ȯϰ ɴϴ. - - 2. Էմϴ: :q! <ENTER> - ----> ̷ ϸ, ٲ * ʰ* ⸦ ϴ. - Էմϴ: - :wq <ENTER> - - 3. Ʈ δٸ, ٽ ̷ ƿ - Էմϴ. - vimtutor <ENTER> - Ǵ ֽϴ. - vim tutor.ko <ENTER> - ----> 'vim' ϸ, 'tutor.ko' Ϸ - մϴ. - - 4. ̾߱ ܰ踦 Ͽ, Ȯ , 1 3 - Ͽ ⸦ ٰ ٽ ͺʽÿ. Ŀ Ʒ - Lesson 1.3 ʽÿ. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.3: ؽƮ - - - -** 忡 x Ŀ ġ ڸ ֽϴ. ** - - 1. ----> ǥõ Ŀ Űܺʽÿ. - - 2. Ÿ ϱ , Ŀ ʽÿ. - - 3. x Ű ڸ ʽÿ. - - 4. 2 4 ݺϿ ùٸ ǵ Ͽ ʽÿ. - ----> The ccow jumpedd ovverr thhe mooon. - - 5. Ȯٸ, Lesson 1.4 ʽÿ. - -: ̸ 鼭 ܿ , غ鼭 - ٶϴ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.4: ؽƮ - (INSERTION) - - - ** 忡 i ؽƮ Է ֽϴ. ** - - 1. Ŀ ù° ---> ǥõ ٷ Դϴ. - - 2. ù° ι° ٰ Ȱ Դϴ. ؽƮ - ù° Ŀ Ű ϴ. - - 3. i Ű , ʿ Էմϴ. - - 4. Ŀ <ESC> ưϴ. - ùٸ 2 4 ݺմϴ. - ----> There is text misng this . ----> There is some text missing from this line. - - 5. ؽƮ ϴ ͼٸ, ֽʽÿ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 1 - - - 1. Ŀ ȭǥ Ű hjkl Ű ̿մϴ. - h () j (Ʒ) k () l () - - 2. Ʈ Ϸ vim FILENAME <ENTER> - - 3. ä <ESC> :q! <ENTER> - <ESC> :wq <ENTER> - - 4. 忡 Ŀ ġ ڸ x Էմϴ. - - 5. 忡 Ŀ ġ ؽƮ Ϸ - i ؽƮ Էϰ <ESC> ϴ. - -: <ESC> ư , ġ ʴ ̳ Էµ - ϴ ϴ. - - Lesson 2 սô. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.1: (DELETION) - - - ** ܾ dw ġ ˴ϴ. ** - - 1. <ESC> Ű Ȯϰ ɴϴ. - - 2. Ʒ ---> ǥõ Ŀ űϴ. - - 3. ܾ ó Ŀ űϴ. - - 4. dw ļ ܾ ϴ. - - : Ѵ ϸ ȭ ٿ dw ڰ ǥõ˴ϴ. - ߸ ƴٸ, <ESC> ٽ Ͻʽÿ. - ----> There are a some words fun that don't belong paper in this sentence. - - 5. 3, 4 ٽ Ͽ Ȯϰ Lesson 2.2 ʽÿ. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.2: ٸ - - ** d$ ġ ϴ. ** - - 1. <ESC> Ű Ȯϰ ɴϴ. - - 2. Ʒ ---> ǥõ Ŀ űϴ. - - 3. ùٸ Ŀ űϴ. (ù° . Դϴ.) - - 4. d$ ļ ϴ. - ----> Somebody typed the end of this line twice. end of this line twice. - - - 5. Ͼ ϱ Lesson 2.3 ʽÿ. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.3: ɰ - - - d ϴ. - - [Ƚ] d Ǵ d [Ƚ] - ⼭ - Ƚ - (ɼ, ⺻=1). - d - - - Ʒ õ - - : - w - Ŀ ܾ ( .) - e - Ŀ ܾ ( .) - $ - Ŀ - -: ȣ ִٸ, 忡 Էغʽÿ. - ̾߱ Ͽ Ŀ ̰ ˴ϴ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.4: '-' - - - ** dd ġ ü ϴ. ** - - ü , Vi , d - ι ġ ֵ Ͽϴ. - - 1. Ŀ Ʒ ܶ ι° ٷ ʽÿ. - 2. dd ԷϿ ʽÿ. - 3. ° ٷ ʽÿ. - 4. 2dd ԷϿ ϴ. ( Ƚ-- ϼ. ) - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.5: (UNDO) - - - ** u ҵǸ, U ü մϴ. ** - - 1. Ŀ ---> ǥõ ٷ ̵ ù° ߸ κ űϴ. - 2. x ԷϿ ù° ߸ ڸ ϴ. - 3. u ԷϿ մϴ. - 4. ̹ x ̿Ͽ غô. - 5. 빮 U · ʽÿ. - 6. ̹ u U غô. - 7. CTRL-R (CTRL Ű ¿ R ) - ٽ غô. ( .) - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. ſ մϴ. Lesson 2 Ѿ սô. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 2 - - - 1. Ŀ ġ ܾ : dw - - 2. Ŀ ġ : d$ - - 3. ü : dd - - 4. 忡 ϴ: - - [Ƚ] Ǵ [Ƚ] - ⼭: - Ƚ - ݺ ΰ - - ΰ ( , d ) - - , w (ܾ), $ ( ) . - - 5. ൿ Ϸ: u (ҹ u) - ٿ Ϸ: U (빮 U) - ٽ Ϸ: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.1: ̱(PUT) - - - ** p ԷϿ Ŀ ڿ Դϴ. ** - - 1. Ʒ ִ ù ٷ Ŀ ̽ʽÿ. - - 2. dd ԷϿ ۿ մϴ. - - 3. Ʊ ġ *ٷ* Ŀ űϴ. - - 4. 忡, p ԷϿ ڸ űϴ. - - 5. 2 4 ݺϿ ٷ ʽÿ. - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.2: ġȯ(REPLACE) - - - ** Ŀ Ʒ ϳ ٲٷ, r ٲ ڸ Էմϴ. ** - - 1. Ŀ ---> ǥõ ù ٷ űϴ. - - 2. Ŀ ߸ ù κ űϴ. - - 3. r , ߸ κ ڸ Էմϴ. - - 4. 2 3 ݺϿ, ù Ͻʽÿ. - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. Lesson 3.2 ̵սô. - -: ܿ , غ鼭 Ѵٴ ʽÿ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.3: ȯ(CHANGE) - - - ** ܾ Ϻγ ü ٲٷ, cw ġʽÿ. ** - - 1. Ŀ ---> ǥõ ùٷ űϴ. - - 2. Ŀ lubw u ÷ϴ. - - 3. cw ܾ Ȯϰ մϴ. ( , 'ine' Ĩϴ.) - - 4. <ESC> ϴ (Ǿ ù ڷ ϴ.) - - 5. 3 4 ݺϿ ù° ι° ϴ. - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -cw ܾ ġȯϴ Ӹ ƴ϶, ֵ Ѵٴ Ϳ -սô. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.4: c ̿ ٸ ȯ - - - ** ȯ ̿ ֽϴ. ** - - 1. ȯ մϴ. ϴ: - - [Ƚ] c Ǵ c [Ƚ] - - 2. ϴ. w (ܾ), $ ( ) ֽϴ. - - 3. ---> ǥõ ùٷ ̵մϴ. - - 4. ù Ŀ űϴ. - - 5. c$ ԷϿ, ι° ó ǵ <ESC> - ʽÿ. - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 3 - - - 1. ̹ ǵ, p ʽÿ. Ŀ ** - Դϴ(PUT). ( 쿡 Ŀ ٿ - ٽϴ.) - - 2. Ŀ Ʒ ڸ ġȯϷ(REPLACE), r - ٲپ ڸ Էմϴ. - - 3. ȯ (CHANGE) Ŀ ٲ ִ - Դϴ. , Ŀ ġ ܾ ٲٷ, cw - Էϸ Ǹ, c$ ٲٴ Դϴ. - - 4. ȯ ϴ: - - [Ƚ] c Ǵ c [Ƚ] - -ؼ Lesson սô. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.1: ġ - - - ** CTRL-g ġ ¸ ֽϴ. - SHIFT-G ٷ ̵մϴ. ** - - : Ʒ ܰ踦 ϱ , Lesson ü ʽÿ. - - 1. CTRL Ű ¿ g ϴ. ̸ ġ - ǥõ ȭ Ʒ ǥõ Դϴ. 3° ܰ踦 - ȣ ϰ ʽÿ. - - 2. SHIFT-G ̵մϴ. - - 3. Ʊ ߴ ȣ Է SHIFT-G ʽÿ. ̷ ϸ - ó CTRL-g ҷ ǵư Դϴ. - (ȣ Է , ̰ ȭ鿡 ǥõ ʽϴ.) - - 4. ڽ ٸ, 1 3 غʽÿ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.2: ã - - - ** / ˻ ԷϽʽÿ. ** - - 1. 忡 / ԷϽʽÿ. : ɿ , ȭ Ʒ - / Ŀ ǥõ Դϴ. - - 2. 'errroor' ģ <ENTER> ġʽÿ. ܾ ã մϴ. - - 3. ٽ ã, n ԷϽʽÿ. - ݴ ã, Shift-N ԷϽʽÿ. - - 4. ã, / ? ̿ϸ ˴ϴ. - ----> "errroor" is not the way to spell error; errroor is an error. - -: ã ߿ ٴٸ Ǹ, ó ٽ ã ˴ϴ. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.3: ȣ ¦ ã - - - ** % ), ], } ¦ ãϴ. ** - - 1. Ŀ ---> ǥõ (, [, { ϳ ϴ. - - 2. % Է ô. - - 3. Ŀ ¦ ´ ȣ ̵ Դϴ. - - 4. % ԷϿ, ȣ ǵ ɽô. - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -: ¦ ʴ ȣ ִ α ſ մϴ! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.4: ϴ - - - ** :s/old/new/g ϸ 'old' 'new' ġȯ(SUBTITUTE)մϴ. ** - - 1. Ŀ ---> ǥõ ٿ ϴ. - - 2. :s/thee/the Է <ENTER> Ĩϴ. ٿ - ó ߰ߵ ٲ۴ٴ Ϳ Ͻʽÿ. - - 3. ̹ :s/thee/the/g Էմϴ. ̴ ü(globally) - ġȯѴٴ ǹմϴ. - ----> thee best time to see thee flowers is in thee spring. - - 4. ڿ ġȯϷ մϴ, - :#,#s/old/new/g #,# ٹȣ մϴ. - :%s/old/new/g ü ߰ߵ ġȯϴ Դϴ. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 4 - - - 1. CTRL-g ¿ ġ ǥմϴ. - SHIFT-G ̵մϴ. ٹȣ Է SHIFT-G - Էϸ, ٷ ̵մϴ. - - 2. / Է Էϸ Ʒ ãϴ. - ? Է Էϸ ãϴ. - ˻ , n Էϸ ã, - Shift-N Էϸ ݴ ãϴ. - - 3. Ŀ (,),[,],{,} % Էϸ ϴ ¦ - ãưϴ. - - 4. ٿ ó ϴ old new ٲٷ :s/old/new - ٿ ϴ old new ٲٷ :s/old/new/g - #,# ̿ ġȯ Ϸ :#,#s/old/new/g - ġȯϷ :%s/old/new/g - ٲ Ȯ ġ 'c' ٿ :%s/old/new/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.1: ܺ ϴ - - - ** :! Է Ϸ ԷϽʽÿ. ** - - 1. ģ : Էϸ Ŀ ȭ Ʒ ̵մϴ. - Է ְ ˴ϴ. - - 2. ! (ǥ) ԷϽʽÿ. ̷ ϸ ܺ - ֽϴ. - - 3. ! ls Է <ENTER> ĺʽÿ. Ʈ - ó 丮 µ Դϴ. ls ʴ´ٸ - :!dir õ ʽÿ. - -: ܺ ɵ ֽϴ. - -: : <ENTER> ľ ˴ϴ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.2: ڼ - - - ** Ϸ Ϸ, :w FILENAME Ͻʽÿ. ** - - 1. :!dir Ǵ :!ls ԷϿ 丮 Ʈ ɴϴ. - <ENTER> ľѴٴ ̹ ˰ Դϴ. - - 2. TEST ó ʴ ̸ ϳ ʽÿ. - - 3. :w TEST ԷϽʽÿ. (TEST ̸Դϴ.) - - 4. ̷ ϸ ü TEST ̸ մϴ. - ȮϷ, :!dir ٽ ԷϿ, 丮 캸ʽÿ. - -: , ٽ Ͽ TEST , - Ϻ 纻 Դϴ. - - 5. ô. - (MS-DOS): !del TEST - (Unix): !rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.3: ϴ - - - ** Ϻθ Ϸ, :#,# w FILENAME Ͻʽÿ. ** - - 1. ٽ ѹ, :!dir ̳ !ls ԷϿ 丮 ƿ - TEST ̸ մϴ. - - 2. Ŀ ó ű , Ctrl-g ԷϿ ٹȣ - ˾Ƴϴ. ȣ Ͻʽÿ! - - 3. Ctrl-g ٽ ԷϽʽÿ. - ٹȣ Ͻʽÿ! - - 4. Ǹ Ϸ Ϸ, :#,# w TEST Էϸ ˴ϴ. - #,# Ʊ ߴ ۰ ٹȣ Դϴ. TEST ̸Դϴ. - - 5. :!dir ̿Ͽ ȮϽʽÿ. ʽÿ. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.4: о̱, ġ - - - ** Ϸ, :r FILENAME Ͻʽÿ ** - - 1. :!dir ԷϿ Ʊ TEST ״ ִ ȮϽʽÿ. - - 2. Ŀ ó ̽ʽÿ. - -: 3° ܰ踦 ϸ, Lesson 5.3 Դϴ. Ǹ - lesson ٽ ʽÿ. - - 3. TEST оԽô. :r TEST Ͻʽÿ. TEST - ̸Դϴ. - -: о Ŀ ġ ̰ ˴ϴ. - - 4. о鿩 Ȯϱ , ڷ ̵ؼ Ͽ - о , ̷ Lesson 5.3 ι ݺǾ ȮϽʽÿ. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 5 - - - 1. :!command ̿Ͽ ܺ մϴ. - - : - (MS-DOS) (Unix) - :!dir :!ls - 丮 ش. - :!del FILENAME :!rm FILENAME - FILENAME̶ . - - 2. :w FILENAME ϸ ϴ FILENAME̶ ̸ - ũ մϴ. - - 3. :#,#w FILENAME ϸ # # FILENAME̶ Ϸ մϴ. - - 4. :r FILENAME ũ FILENAME̶ ҷ鿩 Ŀ ġ - ڿ ֽϴ. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.1: (OPEN) - - - ** o Ŀ Ʒ 尡 ˴ϴ. ** - - 1. Ʒ ---> ǥõ ٷ Ŀ űʽÿ. - - 2. o (ҹ) ļ Ŀ *Ʒ* ϳ ʽÿ. 尡 ˴ϴ. - Insert mode. - - 3. ---> ǥõ <ESC> 忡 ʽÿ. - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. Ŀ ** ϳ , ҹ o 빮 O ġ ˴ϴ. - Ʒ ִ ٿ ʽÿ. -Open up a line above this by typing Shift-O while the cursor is on this line. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.2: ߰(APPEND) - - - ** a Ŀ ** Է ֽϴ. ** - - 1. Ŀ ---> ǥõ ù° űϴ. 忡 - $ ̿Ͻʽÿ. - - 2. ҹ a Ŀ Ʒ ** ߰ ֽϴ. - (빮 A ߰մϴ.) - -: Ͻø ߰ ϱ i , Ŀ Ʒ - ִ ڸ ݺϰ, ְ, <ESC> ƿͼ, - Ŀ ű x ϴ ŷο Ͻ - ֽϴ. - - 3. ù ϼϽʽÿ. ߰ ؽƮ ԷµǴ ġ ܿ - ٴ Ͻʽÿ. - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.3: ġȯ(REPLACE) ٸ - - - ** 빮 R Էϸ ϳ ̻ ڸ ٲ ֽϴ. ** - - 1. Ŀ ---> ǥõ ù° ٷ űʽÿ. - - 2. Ŀ ---> ǥõ ι° ٰ ٸ ù° ܾ űʽÿ. - ('last' Դϴ.) - - 3. R Է ù° ؽƮ ο ԷϿ - ι° ٰ ٲ߽ô. - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. <ESC> , ٲ ؽƮ ״ ˴ϴ. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.4: ɼ (SET) - - ** ã⳪ ٲٱ ҹ ֱ ɼ մϴ ** - - 1. ԷϿ 'ignore' ãʽÿ: - /ignore - n Ű ̿Ͽ ݺϽʽÿ. - - 2. 'ic' (ҹ , Ignore case) ɼ Ͻʽÿ: - :set ic - - 3. n Ű 'ignore' ٽ ãƺʽÿ. - n Ű ãʽÿ. - - 4. 'hlsearch' 'incsearch' ɼ սô. - :set hls is - - 5. ã ٽ ԷϿ, Ͼ Ȯ ʽÿ: - /ignore - - 6. ã (HIGHLIGHT) ַ, Էմϴ: - :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 6 - - - 1. o Էϸ Ŀ *Ʒ* , Ŀ - ġϰ ˴ϴ. - 빮 O Էϸ Ŀ ִ ** ˴ϴ. - - 2. a Էϸ Ŀ ** Է ֽϴ. - 빮 A Էϸ ڵ ڸ ߰ϰ ˴ϴ. - - 3. 빮 R Էϸ <ESC> ٲٱ 尡 ˴ϴ. - - 4. ":set xxx" ϸ "xxx" ɼ ˴ϴ. - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 7: ¶ - - - ** ¶ ý ϱ ** - - ¶ ý մϴ. , - ϳ õغʽÿ: - - <HELP> Ű . (Ű ִ ) - - <F1> Ű . (Ű ִ ) - - :help <ENTER> ԷѴ. - - â :q <ENTER> ԷϽʽÿ. - - ":help" ɿ ڸ ָ ã ֽϴ. - ʽÿ. ( <ENTER> Ű ʽÿ.) - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 8: ũƮ - - ** ѱ ** - - Vi ξ , κ ⺻ ۵ - ʽϴ. Ẹ, "vimrc" մϴ. - - 1. "vimrc" սô. ϴ ýۿ ٸϴ: - 1. Start editing the "vimrc" file, this depends on your system: - :edit ~/.vimrc Unix - :edit $VIM/_vimrc MS-Windows - - 2. "vimrc" оԴϴ: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Ͽ մϴ: - - :write - - ϸ, (syntax highlighting) Դϴ. - ϴ "vimrc" Ͽ ־ ֽϴ. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - ̰ ̸ Ĩϴ. ̴ 並 - ֱ ǵ ۵Ǿ, ⸦ ϱ - Դϴ. ̿ʹ ŭ ξ - ֽϴ. Ŵ ʽÿ: ":help user-manual" - - ڼ а Ϸ, å õ 帳ϴ: - Vim - Vi Improved - by Steve Oualline - ǻ: New Riders - å ؼ ٷ ֽϴ. Ư ʺڵ鿡 մϴ. - ֽϴ. - Ͻʽÿ: http://iccf-holland.org/click5.html - - å å ٴ Vi ٷ , õ - մϴ: - Learning the Vi Editor - by Linda Lamb - ǻ: O'Reilly & Associates Inc. - Vi ϰ Ϳ ִ åԴϴ. - ° ϰ ֽϴ. - - ̴ Colorado School of Mines Michael C. Pierce - Robert K. Ware Colorado State University Charles Smith ̵ - Ͽ ϴ. - . E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. - - ѱ Ǵ Ʈ ֽʽÿ. - http://wiki.kldp.org/wiki.php/VimTutorKo -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.ko.utf-8 b/runtime/tutor/tutor.ko.utf-8 deleted file mode 100644 index 4498c9f6d..000000000 --- a/runtime/tutor/tutor.ko.utf-8 +++ /dev/null @@ -1,812 +0,0 @@ -=============================================================================== -= 빔 길잡이 (VIM Tutor) 에 오신 것을 환영합니다 - Version 1.5 = -=============================================================================== - - 빔(Vim)은 이 길잡이에서 다 설명할 수 없을 만큼 많은 명령을 가진 - 매우 강력한 편집기입니다. 이 길잡이는 빔을 쉽게 전천후 편집기로 사용할 - 수 있도록 충분한 명령에 대해 설명하고 있습니다. - - 이 길잡이를 떼는 데에는 실습하는 데에 얼마나 시간을 쓰는 가에 따라서 - 25-30 분 정도가 걸립니다. - - 이 연습에 포함된 명령은 내용을 고칩니다. 이 파일의 복사본을 만들어서 - 연습하세요. (vimtutor 를 통해 시작했다면, 이미 복사본을 사용하는 - 중입니다.) - - 중요한 것은, 이 길잡이가 직접 써보면서 배우도록 고려되어 있다는 것입니다. - 명령을 제대로 익히려면, 직접 실행해보는 것이 필요합니다. 내용을 읽는 - 것만으로는, 명령을 잊어버리게 될 것입니다. - - 자 이제, Caps Lock(Shift-Lock) 키가 눌려있지 않은지 확인해보시고, j 키를 - 충분히 눌러서 Lesson 1.1이 화면에 가득 차도록 움직여봅시다. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.1: 커서 움직이기 - - ** 커서를 움직이려면, 표시된 대로 h,j,k,l 키를 누르십시오. ** - ^ - k 힌트: h 키는 왼쪽에 있으며, 왼쪽으로 움직입니다. - < h l > l 키는 오른쪽에 있으며, 오른쪽으로 - j 움직입니다. - v j 키는 아래방향 화살표처럼 생겼습니다. - - 1. 익숙해질 때까지 커서를 스크린 상에서 움직여 보십시오. - - 2. 아래 방향키 (j)를 반복입력이 될 때까지 누르고 계십시오. ----> 이제 다음 lesson으로 가는 방법을 알게 되었습니다. - - 3. 아래 방향키를 이용하여, Lesson 1.2 로 가십시오. - -참고: 원하지 않는 무언가가 입력이 되었다면, <ESC>를 눌러서, 명령 모드로 - 돌아가십시오. 그 후에 원하는 명령을 다시 입력하십시오. - -참고: 커서키 또한 작동할 것입니다. 하지만 hjkl에 익숙해지면, 커서키보다 - 훨씬 빠르게 이동할 수 있을 것입니다. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.2: 빔을 시작하고 끝내기 - - - !! 주의: 아래 있는 단계를 실행하기 전에, 이 lesson 전체를 읽으십시오!! - - 1. <ESC> 키를 눌러서 확실하게 명령 모드로 빠져 나옵니다. - - 2. 다음과 같이 입력합니다: :q! <ENTER> - ----> 이렇게 하면, 바뀐 내용을 *저장하지 않고* 편집기를 빠져나갑니다. - 저장한 후 빠져나가려면 다음과 같이 입력합니다: - :wq <ENTER> - - 3. 쉘 프롬프트가 보인다면, 다시 길잡이로 돌아오기 위해 다음과 같이 - 입력합니다. - vimtutor <ENTER> - 또는 다음과 같을 수도 있습니다. - vim tutor.ko <ENTER> - ----> 'vim' 은 빔 편집기로 들어가는 것을 뜻하며, 'tutor.ko'는 편집하려는 - 파일을 뜻합니다. - - 4. 위에서 이야기한 단계를 기억하였으며, 확신이 서면, 1에서 3까지를 - 수행하여 편집기를 나갔다가 다시 들어와보십시오. 그 후 커서를 아래로 - 움직여 Lesson 1.3 으로 가십시오. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.3: 텍스트 편집 - 지우기 - - -** 명령 모드에서 x 를 누르면 커서가 위치한 곳의 글자를 지울 수 있습니다. ** - - 1. ----> 로 표시된 곳으로 커서를 옮겨보십시오. - - 2. 오타를 수정하기 위해, 커서를 지울 글자 위로 움직여 보십시오. - - 3. x 키를 눌러서 지워야할 글자를 지우십시오. - - 4. 2에서 4까지를 반복하여 문장이 올바르게 되도록 하여 보십시오. - ----> The ccow jumpedd ovverr thhe mooon. - - 5. 문장이 정확해졌다면, Lesson 1.4로 가십시오. - -주의: 이 길잡이를 보면서 외우려고 하지말고, 직접 사용해보면서 익히길 - 바랍니다. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 1.4: 텍스트 편집 - 삽입 (INSERTION) - - - ** 명령 모드에서 i 를 누르면 텍스트를 입력할 수 있습니다. ** - - 1. 커서를 첫번째 ---> 로 표시된 줄로 움직입니다. - - 2. 첫번째 줄을 두번째 줄과 똑같이 만들것입니다. 텍스트가 들어가야할 - 곳 다음부터 첫번째 글자 위에 커서를 옮겨 놓습니다. - - 3. i 키를 누른 후, 필요한 내용을 입력합니다. - - 4. 수정한 후에는 <ESC> 를 눌러서 명령 모드로 돌아갑니다. - 문장을 올바르게 만들기 위해 2에서 4의 과정을 반복합니다. - ----> There is text misng this . ----> There is some text missing from this line. - - 5. 텍스트를 삽입하는 데에 익숙해졌다면, 요약을 봐주십시오. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 1 요약 - - - 1. 커서를 움직일 때에는 화살표 키나 hjkl 키를 이용합니다. - h (왼쪽) j (아래) k (위) l (오른쪽) - - 2. 쉘 프롬프트에서 빔을 시작하려면 vim FILENAME <ENTER> - - 3. 수정한 내용을 무시한 채로 빔에서 빠져나가려면 <ESC> :q! <ENTER> - 저장한 후 빔에서 빠져나가려면 <ESC> :wq <ENTER> - - 4. 명령 모드에서 커서가 위치한 곳의 글자를 지우려면 x 를 입력합니다. - - 5. 명령 모드에서 커서가 위치한 곳에 텍스트를 삽입하려면 - i 를 누른 후 텍스트를 입력하고 <ESC> 를 누릅니다. - -참고: <ESC>는 명령 모드로 돌아가는 데 쓰며, 원치 않는 명령이나 완전히 입력되지 - 않은 명령을 취소하는 데에도 씁니다. - -그럼 Lesson 2를 시작합시다. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.1: 삭제(DELETION) 명령 - - - ** 한 단어를 끝까지 지우려면 dw 라고 치면 됩니다. ** - - 1. <ESC> 키를 눌러서 확실하게 명령 모드로 빠져 나옵니다. - - 2. 아래에 ---> 로 표시된 줄 까지 커서를 옮깁니다. - - 3. 지워야할 단어의 처음으로 커서를 옮깁니다. - - 4. dw 라고 쳐서 그 단어를 지웁니다. - - 주의: 위에서 말한대로 하면 화면의 마지막 줄에 dw 라는 글자가 표시됩니다. - 잘못 쳤다면, <ESC> 를 눌러서 다시 시작하십시오. - ----> There are a some words fun that don't belong paper in this sentence. - - 5. 3, 4번 과정을 다시 하여 문장을 정확하게 만든 뒤 Lesson 2.2로 가십시오. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.2: 다른 삭제 명령 - - ** d$ 라고 치면 그 줄 끝까지 지워집니다. ** - - 1. <ESC> 키를 눌러서 확실하게 명령 모드로 빠져 나옵니다. - - 2. 아래에 ---> 로 표시된 줄 까지 커서를 옮깁니다. - - 3. 올바른 줄의 끝으로 커서를 옮깁니다. (첫번째로 나오는 . 다음입니다.) - - 4. d$ 라고 쳐서 줄 끝까지 지웁니다. - ----> Somebody typed the end of this line twice. end of this line twice. - - - 5. 어떤 일이 일어났는지 이해하기 위해 Lesson 2.3 으로 가십시오. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.3: 명령과 적용 대상에 대해 - - - 삭제 명령 d의 형식은 다음과 같습니다. - - [횟수] d 대상 또는 d [횟수] 대상 - 여기서 - 횟수 - 명령을 몇 번 수행할 지 (옵션, 기본값=1). - d - 지우는 명령 - 대상 - 아래에 제시된 대상에 대해 명령을 수행 - - 적용 가능한 대상의 종류: - w - 커서에서 그 단어의 끝까지 (공백 포함.) - e - 커서에서 그 단어의 끝까지 (공백을 포함하지 않음.) - $ - 커서에서 그 줄의 끝까지 - -참고: 호기심이 있다면, 명령 모드에서 명령 없이 대상을 입력해보십시오. - 위에서 이야기한 대상의 목록에 따라 커서가 움직이게 됩니다. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.4: '명령-대상' 에 대한 예외 - - - ** dd 라고 치면 줄 전체를 지웁니다. ** - - 줄 전체를 지우는 일이 잦기 때문에, Vi를 디자인 한 사람들은, 간단히 d를 - 두번 연달아 치면 한 줄을 지울 수 있도록 하였습니다. - - 1. 커서를 아래 나온 단락의 두번째 줄로 가져가십시오. - 2. dd 를 입력하여 그 줄을 지우십시오. - 3. 그런 다음 네번째 줄로 가십시오. - 4. 2dd 라고 입력하여 두줄을 지웁니다. ( 횟수-명령-대상을 기억하세요. ) - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.5: 취소(UNDO) 명령 - - - ** u 를 누르면 마지막 명령이 취소되며, U 는 줄 전체를 수정합니다. ** - - 1. 커서를 ---> 로 표시된 줄로 이동한 후 첫번째 잘못된 부분 위로 옮깁니다. - 2. x 를 입력하여 첫번째 잘못된 글자를 지웁니다. - 3. 그럼 이제 u 를 입력하여 마지막으로 수행된 명령을 취소합니다. - 4. 이번에는 x 명령을 이용하여 그 줄의 모든 에러를 수정해봅시다. - 5. 대문자 U 를 눌러서 그 줄을 원래 상태로 돌려놓아 보십시오. - 6. 이번에는 u 를 몇 번 눌러서 U 와 이전 명령을 취소해봅시다. - 7. CTRL-R (CTRL 키를 누른 상태에서 R을 누르는 것) 을 몇 번 눌러서 - 명령을 다시 실행해봅시다. (취소한 것을 취소함.) - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. 이 명령은 매우 유용합니다. 그럼 Lesson 2 요약으로 넘어가도록 합시다. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 2 요약 - - - 1. 커서가 위치한 곳부터 단어의 끝까지 지우려면: dw - - 2. 커서가 위치한 곳부터 줄 끝까지 지우려면: d$ - - 3. 줄 전체를 지우려면: dd - - 4. 명령 모드에서 내리는 명령의 형식은 다음과 같습니다: - - [횟수] 명령 대상 또는 명령 [횟수] 대상 - 여기서: - 횟수 - 그 명령을 몇 번 반복할 것인가 - 명령 - 어떤 명령을 내릴 것인가 ( 예를 들어, 삭제인 경우는 d ) - 대상 - 명령이 동작할 대상, 예를 들어 w (단어), $ (줄의 끝) 등. - - 5. 이전 행동을 취소하려면: u (소문자 u) - 한 줄에서 수정한 것을 모두 취소하려면: U (대문자 U) - 취소한 것을 다시 실행하려면: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.1: 붙이기(PUT) 명령 - - - ** p 를 입력하여 마지막으로 지운 내용을 커서 뒤에 붙입니다. ** - - 1. 아래에 있는 문단의 첫 줄로 커서를 움직이십시오. - - 2. dd 를 입력하여 그 줄을 지워서 빔의 버퍼에 저장합니다. - - 3. 아까 지운 줄이 가야할 위치의 *윗줄로* 커서를 옮깁니다. - - 4. 명령 모드에서, p 를 입력하여 그 줄을 제대로 된 자리로 옮깁니다. - - 5. 2에서 4를 반복하여 모든 줄의 순서를 바로 잡으십시오. - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.2: 치환(REPLACE) 명령 - - - ** 커서 아래의 글자 하나를 바꾸려면, r 을 누른 후 바꿀 글자를 입력합니다. ** - - 1. 커서를 ---> 로 표시된 첫 줄로 옮깁니다. - - 2. 커서를 잘못된 첫 부분으로 옮깁니다. - - 3. r 을 누른 후, 잘못된 부분을 고쳐 쓸 글자를 입력합니다. - - 4. 2에서 3의 과정을 반복하여, 첫 줄의 오류를 수정하십시오. - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. Lesson 3.2 로 이동합시다. - -주의: 외우지 말고, 직접 해보면서 익혀야 한다는 것을 잊지 마십시오. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.3: 변환(CHANGE) 명령 - - - ** 한 단어의 일부나 전체를 바꾸려면, cw 를 치십시오. ** - - 1. 커서를 ---> 로 표시된 첫줄로 옮깁니다. - - 2. 커서를 lubw 에서 u 위에 올려놓습니다. - - 3. cw 라고 명령한 후 단어를 정확하게 수정합니다. (이 경우, 'ine' 를 칩니다.) - - 4. <ESC> 를 누른 후 다음 에러로 갑니다 (수정되어야할 첫 글자로 갑니다.) - - 5. 3에서 4의 과정을 반복하여 첫번째 문장을 두번째 문장과 같도록 만듭니다. - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -cw 는 단어를 치환하는 것 뿐만 아니라, 내용을 삽입할 수 있도록 한다는 것에 -주의합시다. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.4: c 를 이용한 다른 변환 명령 - - - ** 변환 명령은 삭제할 때 이용한 대상에 대해 적용할 수 있습니다. ** - - 1. 변환 명령은 삭제와 동일한 방식으로 동작합니다. 형식은 다음과 같습니다: - - [횟수] c 대상 또는 c [횟수] 대상 - - 2. 적용 가능한 대상 역시 같습니다. w (단어), $ (줄의 끝) 등이 있습니다. - - 3. ---> 로 표시된 첫줄로 이동합니다. - - 4. 첫 에러 위로 커서를 옮깁니다. - - 5. c$ 를 입력하여, 그 줄의 나머지가 두번째 줄처럼 되도록 수정한 후 <ESC> 를 - 누르십시오. - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 3 요약 - - - 1. 이미 지운 내용을 되돌리려면, p 를 누르십시오. 이 명령은 커서 *다음에* - 지워진 내용을 붙입니다(PUT). (한 줄을 지운 경우에는 커서 다음 줄에 - 지워진 내용이 붙습니다.) - - 2. 커서 아래의 글자를 치환하려면(REPLACE), r 을 누른 후 원래 글자 대신 - 바꾸어 넣을 글자를 입력합니다. - - 3. 변환 명령(CHANGE)은 커서에서 부터 지정한 대상의 끝까지 바꿀 수 있는 - 명령입니다. 예를 들어, 커서 위치에서 단어의 끝까지 바꾸려면, cw 를 - 입력하면 되며, c$ 는 줄 끝까지 바꾸는 데 쓰입니다. - - 4. 변환 명령의 형식은 다음과 같습니다: - - [횟수] c 대상 또는 c [횟수] 대상 - -계속해서 다음 Lesson 을 진행합시다. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.1: 위치와 파일의 상태 - - - ** CTRL-g 를 누르면 파일 내에서의 현재 위치와 파일의 상태를 볼 수 있습니다. - SHIFT-G 를 누르면 파일 내의 줄로 이동합니다. ** - - 주의: 아래의 단계를 따라하기 전에, 이 Lesson 전체를 먼저 읽으십시오. - - 1. CTRL 키를 누른 상태에서 g 를 누릅니다. 파일 이름과 현재 위치한 줄이 - 표시된 상태줄이 화면 아래에 표시될 것입니다. 3번째 단계를 위해 그 - 줄 번호를 기억하고 계십시오. - - 2. SHIFT-G 를 누르면 파일의 마지막으로 이동합니다. - - 3. 아까 기억했던 줄 번호를 입력한 후 SHIFT-G 를 누르십시오. 이렇게 하면 - 처음에 CTRL-g 를 눌렀던 장소로 되돌아가게 될 것입니다. - (번호를 입력할 때, 이것은 화면에 표시되지 않습니다.) - - 4. 자신이 생겼다면, 1에서 3까지를 실행해보십시오. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.2: 찾기 명령 - - - ** / 를 누른 후 검색할 문구를 입력하십시오. ** - - 1. 명령 모드에서 / 를 입력하십시오. : 명령에서와 마찬가지로, 화면 아래에 - / 와 커서가 표시될 것입니다. - - 2. 'errroor' 라고 친 후 <ENTER> 를 치십시오. 이 단어를 찾으려고 합니다. - - 3. 같은 문구를 다시 찾으려면, 간단히 n 을 입력하십시오. - 같은 문구를 반대 방향으로 찾으려면, Shift-N 을 입력하십시오. - - 4. 문구를 역방향으로 찾으려면, / 대신 ? 를 이용하면 됩니다. - ----> "errroor" is not the way to spell error; errroor is an error. - -참고: 찾는 중에 파일의 끝에 다다르게 되면, 파일의 처음부터 다시 찾게 됩니다. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.3: 괄호의 짝 찾기 - - - ** % 를 눌러서 ), ], } 의 짝을 찾습니다. ** - - 1. 커서를 ---> 로 표시된 줄의 (, [, { 중 하나에 가져다 놓습니다. - - 2. % 를 입력해 봅시다. - - 3. 커서가 짝이 맞는 괄호로 이동할 것입니다. - - 4. % 를 입력하여, 이전 괄호로 되돌아 옵시다. - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -참고: 짝이 맞지 않는 괄호가 있는 프로그램을 디버깅할 때에 매우 유용합니다! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 4.4: 에러를 수정하는 방법 - - - ** :s/old/new/g 하면 'old' 를 'new' 로 치환(SUBTITUTE)합니다. ** - - 1. 커서를 ---> 로 표시된 줄에 가져다 놓습니다. - - 2. :s/thee/the 를 입력한 후 <ENTER> 를 칩니다. 이 명령은 그 줄에서 - 처음으로 발견된 것만 바꾼다는 것에 주의하십시오. - - 3. 이번에는 :s/thee/the/g 를 입력합니다. 이는 그 줄 전체(globally)를 - 치환한다는 것을 의미합니다. - ----> thee best time to see thee flowers is in thee spring. - - 4. 두 줄 사이의 모든 문자열에 대해 치환하려면 다음과 같이 합니다, - :#,#s/old/new/g #,# 는 두 줄의 줄번호를 뜻합니다. - :%s/old/new/g 파일 전체에서 발견된 모든 것을 치환하는 경우입니다. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 4 요약 - - - 1. CTRL-g 는 파일의 상태와 파일 내에서의 현재 위치를 표시합니다. - SHIFT-G 는 파일의 끝으로 이동합니다. 줄번호를 입력한 후 SHIFT-G를 - 입력하면, 그 줄로 이동합니다. - - 2. / 를 입력한 후 문구를 입력하면 그 문구를 아랫방향으로 찾습니다. - ? 를 입력한 후 문구를 입력하면 윗방향으로 찾습니다. - 검색 후, n 을 입력하면 같은 방향으로 다음 문구를 찾으며, - Shift-N 을 입력하면 반대 방향으로 찾습니다. - - 3. 커서가 (,),[,],{,} 위에 있을 때에 % 를 입력하면 상응하는 짝을 - 찾아갑니다. - - 4. 어떤 줄에 처음 등장하는 old를 new로 바꾸려면 :s/old/new - 한 줄에 등장하는 모든 old를 new로 바꾸려면 :s/old/new/g - 두 줄 #,# 사이에서 치환을 하려면 :#,#s/old/new/g - 파일 내의 모든 문구를 치환하려면 :%s/old/new/g - 바꿀 때마다 확인을 거치려면 'c'를 붙여서 :%s/old/new/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.1: 외부 명령 실행하는 방법 - - - ** :! 을 입력한 후 실행하려는 명령을 입력하십시오. ** - - 1. 친숙한 명령인 : 를 입력하면 커서가 화면 아래로 이동합니다. 명령을 - 입력할 수 있게 됩니다. - - 2. 이제 ! (느낌표) 를 입력하십시오. 이렇게 하면 외부 쉘 명령을 실행할 - 수 있습니다. - - 3. 시험삼아 ! 다음에 ls 를 입력한 후 <ENTER> 를 쳐보십시오. 쉘 프롬프트 - 에서처럼 디렉토리의 목록이 출력될 것입니다. ls 가 동작하지 않는다면 - :!dir 을 시도해 보십시오. - -참고: 어떤 외부 명령도 이 방법으로 실행할 수 있습니다. - -참고: 모든 : 명령은 <ENTER> 를 쳐야 마무리 됩니다. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.2: 보다 자세한 파일 저장 - - - ** 수정된 내용을 파일로 저장하려면, :w FILENAME 하십시오. ** - - 1. :!dir 또는 :!ls 를 입력하여 디렉토리의 리스트를 얻어옵니다. - 위의 명령 후 <ENTER>를 쳐야한다는 것은 이미 알고 있을 것입니다. - - 2. TEST 처럼 존재하지 않는 파일 이름을 하나 고르십시오. - - 3. 이제 :w TEST 라고 입력하십시오. (TEST는 당신이 선택한 파일 이름입니다.) - - 4. 이렇게 하면 빔 길잡이 파일 전체를 TEST라는 이름으로 저장합니다. - 확인하려면, :!dir 을 다시 입력하여, 디렉토리를 살펴보십시오. - -참고: 빔을 종료한 후, 빔을 다시 실행하여 TEST라는 파일을 열면, 그 파일은 - 저장했을 때와 완벽히 같은 복사본일 것입니다. - - 5. 이제 그 파일을 지웁시다. - (MS-DOS에서): !del TEST - (Unix에서): !rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.3: 선택적으로 저장하는 명령 - - - ** 파일의 일부를 저장하려면, :#,# w FILENAME 하십시오. ** - - 1. 다시 한번, :!dir 이나 !ls 를 입력하여 디렉토리의 목록을 받아온 후 - TEST 같은 적합한 이름을 선택합니다. - - 2. 커서를 이 페이지의 처음으로 옮긴 후, Ctrl-g 를 입력하여 그 줄의 줄번호를 - 알아냅니다. 이 번호를 기억하십시오! - - 3. 이제 이 페이지의 마지막으로 가서 Ctrl-g 를 다시 입력하십시오. 이 줄의 - 줄번호 또한 기억하십시오! - - 4. 어떤 섹션만 파일로 저장하려면, :#,# w TEST 를 입력하면 됩니다. 이 때 - #,# 는 아까 기억했던 시작과 끝 줄번호 입니다. TEST는 파일 이름입니다. - - 5. :!dir 을 이용하여 파일이 만들어졌는지 확인하십시오. 지우지는 마십시오. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 5.4: 파일 읽어들이기, 합치기 - - - ** 어떤 파일의 내용을 삽입하려면, :r FILENAME 하십시오 ** - - 1. :!dir 을 입력하여 아까 만든 TEST 파일이 그대로 있는지 확인하십시오. - - 2. 커서를 이 페이지의 처음으로 움직이십시오. - -주의: 3번째 단계를 실행하면, Lesson 5.3 을 보게 될 것입니다. 그렇게 되면 - 이 lesson으로 다시 내려오십시오. - - 3. 이제 TEST 파일을 읽어들입시다. :r TEST 명령을 사용하십시오. TEST 는 - 파일의 이름입니다. - -참고: 읽어들인 파일은 커서가 위치한 지점에서부터 놓이게 됩니다. - - 4. 파일이 읽어들여진 것을 확인하기 위해, 뒤로 이동해서 기존 버전과 파일에서 - 읽어들인 버전, 이렇게 Lesson 5.3 이 두번 반복되었음을 확인하십시오. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 5 요약 - - - 1. :!command 를 이용하여 외부 명령을 실행합니다. - - 유용한 예: - (MS-DOS) (Unix) - :!dir :!ls - 디렉토리의 목록을 보여준다. - :!del FILENAME :!rm FILENAME - FILENAME이라는 파일을 지운다. - - 2. :w FILENAME 하면 현재 빔에서 사용하는 파일을 FILENAME이라는 이름으로 - 디스크에 저장합니다. - - 3. :#,#w FILENAME 하면 #부터 #까지의 줄을 FILENAME이라는 파일로 저장합니다. - - 4. :r FILENAME 은 디스크에서 FILENAME이라는 파일을 불러들여서 커서 위치 - 뒤에 현재 파일을 집어넣습니다. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.1: 새 줄 열기(OPEN) 명령 - - - ** o 를 누르면 커서 아래에 줄을 만들고 편집 모드가 됩니다. ** - - 1. 아래에 ---> 로 표시된 줄로 커서를 옮기십시오. - - 2. o (소문자)를 쳐서 커서 *아래에* 줄을 하나 여십시오. 편집 모드가 됩니다. - Insert mode. - - 3. ---> 로 표시된 줄을 복사한 후 <ESC> 를 눌러서 편집 모드에서 나오십시오. - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. 커서 *위에* 줄을 하나 만드려면, 소문자 o 대신 대문자 O 를 치면 됩니다. - 아래 있는 줄에 대해 이 명령을 내려보십시오. -Open up a line above this by typing Shift-O while the cursor is on this line. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.2: 추가(APPEND) 명령 - - - ** a 를 누르면 커서 *다음에* 글을 입력할 수 있습니다. ** - - 1. 커서를 ---> 로 표시된 첫번째 줄의 끝으로 옮깁니다. 명령 모드에서 - $ 를 이용하십시오. - - 2. 소문자 a 를 커서 아래 글자 *다음*에 글을 추가할 수 있습니다. - (대문자 A는 그 줄의 끝에 추가합니다.) - -참고: 그렇게 하시면 고작 줄의 끝에 추가를 하기 위해 i를 누르고, 커서 아래에 - 있던 글자를 반복하고, 글을 끼워넣고, <ESC>를 눌러 명령 모드로 돌아와서, - 커서를 오른쪽으로 옮기고 마지막으로 x까지 눌러야 하는 번거로움을 피하실 - 수 있습니다. - - 3. 이제 첫 줄을 완성하십시오. 추가 명령은 텍스트가 입력되는 위치 외에는 - 편집 모드와 완전히 같다는 것을 유념하십시오. - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.3: 치환(REPLACE) 의 다른 버전 - - - ** 대문자 R 을 입력하면 하나 이상의 글자를 바꿀 수 있습니다. ** - - 1. 커서를 ---> 로 표시된 첫번째 줄로 옮기십시오. - - 2. 커서를 ---> 로 표시된 두번째 줄과 다른 첫번째 단어 위로 옮기십시오. - ('last' 입니다.) - - 3. R 을 입력한 후 첫번째 줄의 예전 텍스트 위에 새로운 글을 입력하여 - 나머지 내용이 두번째 줄과 같아지도록 바꿉시다. - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. <ESC> 를 눌러서 나가면, 바뀌지 않은 텍스트는 그대로 남게 됩니다. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 6.4: 옵션 설정(SET) - - ** 찾기나 바꾸기에서 대소문자 구분을 없애기 위해 옵션을 설정합니다 ** - - 1. 다음을 입력하여 'ignore' 를 찾으십시오: - /ignore - n 키를 이용하여 여러번 반복하십시오. - - 2. 'ic' (대소문자 구별 안함, Ignore case) 옵션을 설정하십시오: - :set ic - - 3. n 키를 눌러서 'ignore' 를 다시 찾아보십시오. - n 키를 계속 눌러서 여러번 찾으십시오. - - 4. 'hlsearch' 와 'incsearch' 옵션을 설정합시다. - :set hls is - - 5. 찾기 명령을 다시 입력하여, 어떤 일이 일어나는지 확인해 보십시오: - /ignore - - 6. 찾은 내용이 강조(HIGHLIGHT)된 것을 없애려면, 다음과 같이 입력합니다: - :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 6 요약 - - - 1. o 를 입력하면 커서 *아래에* 한 줄이 열리며, 커서는 편집 모드로 - 열린 줄 위에 위치하게 됩니다. - 대문자 O 를 입력하면 커서가 있는 줄의 *위로* 새 줄을 열게 됩니다. - - 2. a 를 입력하면 커서 *다음에* 글을 입력할 수 있습니다. - 대문자 A 를 입력하면 자동으로 그 줄의 끝에 글자를 추가하게 됩니다. - - 3. 대문자 R 을 입력하면 <ESC> 를 눌러서 나가기 전까지 바꾸기 모드가 됩니다. - - 4. ":set xxx" 를 하면 "xxx" 옵션이 설정됩니다. - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 7: 온라인 도움말 명령 - - - ** 온라인 도움말 시스템 사용하기 ** - - 빔은 폭 넓은 온라인 도움말 시스템을 제공합니다. 도움말을 보려면, - 다음 세가지 중 하나를 시도해보십시오: - - <HELP> 키를 누른다. (키가 있는 경우) - - <F1> 키를 누른다. (키가 있는 경우) - - :help <ENTER> 라고 입력한다. - - 도움말 창을 닫으려면 :q <ENTER> 라고 입력하십시오. - - ":help" 라는 명령에 인자를 주면 어떤 주제에 관한 도움말을 찾을 수 있습니다. - 다음 명령을 내려 보십시오. ( <ENTER> 키를 누르는 것을 잊지 마십시오.) - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LESSON 8: 시작 스크립트 만들기 - - ** 빔의 기능 켜기 ** - - 빔은 Vi 보다 훨씬 많은 기능을 가지고 있지만, 대부분은 기본적으로 작동하지 - 않습니다. 더 많은 기능을 써보려면, "vimrc" 라는 파일을 만들어야 합니다. - - 1. "vimrc" 파일을 수정합시다. 이 파일은 사용하는 시스템에 따라 다릅니다: - 1. Start editing the "vimrc" file, this depends on your system: - :edit ~/.vimrc Unix의 경우 - :edit $VIM/_vimrc MS-Windows의 경우 - - 2. 이제 "vimrc"의 예제를 읽어들입니다: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. 다음과 같이 하여 파일을 저장합니다: - - :write - - 다음 번에 빔을 시작하면, 구문 강조(syntax highlighting)이 사용될 것입니다. - 모든 원하는 설정을 이 "vimrc" 파일에 넣어둘 수 있습니다. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 이것으로 빔 길잡이를 마칩니다. 이 길잡이는 빔 편집기에 대한 간략한 개요를 - 보여주기 위한 의도로 제작되었으며, 이 편집기를 정말 간단히 사용하기에 - 충분할 뿐입니다. 빔에는 이 길잡이와는 비교할 수 없을 만큼 훨씬 많은 명령이 - 있습니다. 다음 사용자 매뉴얼을 읽으십시오: ":help user-manual" - - 보다 자세히 읽고 공부하려면, 다음 책을 추천해 드립니다: - Vim - Vi Improved - by Steve Oualline - 출판사: New Riders - 이 책은 완전히 빔에 대해서만 다루고 있습니다. 특히 초보자들에게 유용합니다. - 많은 예제와 그림이 있습니다. - 다음을 참고하십시오: http://iccf-holland.org/click5.html - - 다음 책은 좀 오래된 책으로 빔보다는 Vi에 대해 다루고 있지만, 역시 추천할 만 - 합니다: - Learning the Vi Editor - by Linda Lamb - 출판사: O'Reilly & Associates Inc. - Vi로 하고 싶은 거의 모든 것에 대해 알 수 있는 좋은 책입니다. - 여섯번째 개정판은 빔에 관한 내용을 포함하고 있습니다. - - 이 길잡이는 Colorado School of Mines의 Michael C. Pierce 와 - Robert K. Ware 가 Colorado State University의 Charles Smith 의 아이디어에 - 착안하여 썼습니다. - . E-mail: bware@mines.colorado.edu. - - Modified for Vim by Bram Moolenaar. - - 이 문서의 한국어 버전에 관한 문의는 다음 사이트로 해주십시오. - http://wiki.kldp.org/wiki.php/VimTutorKo -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.no b/runtime/tutor/tutor.no deleted file mode 100644 index 17178df78..000000000 --- a/runtime/tutor/tutor.no +++ /dev/null @@ -1,973 +0,0 @@ -=============================================================================== -= V e l k o m m e n t i l i n n f r i n g e n i V i m -- Ver. 1.7 = -=============================================================================== - - Vim er en meget kraftig editor med mange kommandoer, alt for mange til - kunne g gjennom alle i en innfring som denne. Den er beregnet p - sette deg inn i bruken av nok kommandoer s du vil vre i stand til lett - kunne bruke Vim som en editor til alle forml. - - Tiden som kreves for g gjennom denne innfringen tar ca. 25-30 - minutter, avhengig av hvor mye tid du bruker til eksperimentering. - - MERK: - Kommandoene i leksjonene vil modifisere teksten. Lag en kopi av denne - filen som du kan ve deg p (hvis du kjrte vimtutor-kommandoen, er - dette allerede en kopi). - - Det er viktig huske at denne innfringen er beregnet p lring gjennom - bruk. Det betyr at du m utfre kommandoene for lre dem skikkelig. - Hvis du bare leser teksten, vil du glemme kommandoene! - - Frst av alt, sjekk at Caps Lock IKKE er aktiv og trykk j-tasten for - flytte markren helt til leksjon 1.1 fyller skjermen. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.1: FLYTTING AV MARKREN - - - ** For flytte markren, trykk tastene h, j, k, l som vist. ** - ^ - k Tips: h-tasten er til venstre og flytter til venstre. - < h l > l-tasten er til hyre og flytter til hyre. - j j-tasten ser ut som en pil som peker nedover. - v - 1. Flytt markren rundt p skjermen til du har ftt det inn i fingrene. - - 2. Hold inne nedovertasten (j) til den repeterer. - N vet du hvordan du beveger deg til neste leksjon. - - 3. G til leksjon 1.2 ved hjelp av nedovertasten. - -Merk: Hvis du blir usikker p noe du har skrevet, trykk <ESC> for g til - normalmodus. Skriv deretter kommandoen du nsket p nytt. - -Merk: Piltastene skal ogs virke. Men ved bruke hjkl vil du vre i stand til - bevege markren mye raskere nr du er blitt vant til det. Helt sant! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.2: AVSLUTTE VIM - - - !! MERK: Fr du utfrer noen av punktene nedenfor, les hele leksjonen!! - - 1. Trykk <ESC>-tasten (for forsikre deg om at du er i normalmodus). - - 2. Skriv: :q! <ENTER>. - Dette avslutter editoren og FORKASTER alle forandringer som du har gjort. - - 3. Nr du ser kommandolinjen i skallet, skriv kommandoen som startet denne - innfringen. Den er: vimtutor <ENTER> - - 4. Hvis du er sikker p at du husker dette, utfr punktene 1 til 3 for - avslutte og starte editoren p nytt. - -MERK: :q! <ENTER> forkaster alle forandringer som du gjorde. I lpet av noen - f leksjoner vil du lre hvordan du lagrer forandringene til en fil. - - 5. Flytt markren ned til leksjon 1.3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.3: REDIGERING AV TEKST -- SLETTING - - - ** Trykk x for slette tegnet under markren. ** - - 1. Flytt markren til den frste linjen merket med --->. - - 2. For ordne feilene p linjen, flytt markren til den er opp tegnet som - skal slettes. - - 3. Trykk tasten x for slette det unskede tegnet. - - 4. Repeter punkt 2 til 4 til setningen er lik den som er under. - ----> Hessstennnn brrrsnudddde ii gaaata. ----> Hesten brsnudde i gata. - - 5. N som linjen er korrekt, g til leksjon 1.4. - -MERK: Nr du gr gjennom innfringen, ikke bare prv huske kommandoene, men - bruk dem helt til de sitter. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.4: REDIGERING AV TEKST -- INNSETTING - - - ** Trykk i for sette inn tekst. ** - - 1. Flytt markren til den frste linjen som er merket med --->. - - 2. For gjre den frste linjen lik den andre, flytt markren til den str - p tegnet ETTER posisjonen der teksten skal settes inn. - - 3. Trykk i og skriv inn teksten som mangler. - - 4. Etterhvert som hver feil er fikset, trykk <ESC> for returnere til - normalmodus. Repeter punkt 2 til 4 til setningen er korrekt. - ----> Det er tkst som mnglr . ----> Det er ganske mye tekst som mangler her. - - 5. Nr du fler deg komfortabel med sette inn tekst, g til oppsummeringen - nedenfor. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.5: REDIGERING AV TEKST -- LEGGE TIL - - - ** Trykk A for legge til tekst. ** - - 1. Flytt markren til den frste linjen nedenfor merket --->. - Det har ikke noe si hvor markren er plassert p den linjen. - - 2. Trykk A og skriv inn det som skal legges til. - - 3. Nr teksten er lagt til, trykk <ESC> for returnere til normalmodusen. - - 4. Flytt markren til den andre linjen markert med ---> og repeter steg 2 og - 3 for reparere denne setningen. - ----> Det mangler noe tekst p - Det mangler noe tekst p denne linjen. ----> Det mangler ogs litt tek - Det mangler ogs litt tekst p denne linjen. - - 5. Nr du fler at du behersker legge til tekst, g til leksjon 1.6. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.6: REDIGERE EN FIL - - - ** Bruk :wq for lagre en fil og avslutte. ** - - !! MERK: Fr du utfrer noen av stegene nedenfor, les hele denne leksjonen!! - - 1. Avslutt denne innfringen som du gjorde i leksjon 1.2: :q! - - 2. Skriv denne kommandoen p kommandolinja: vim tutor <ENTER> - vim er kommandoen for starte Vim-editoren, tutor er navnet p fila - som du vil redigere. Bruk en fil som kan forandres. - - 3. Sett inn og slett tekst som du lrte i de foregende leksjonene. - - 4. Lagre filen med forandringene og avslutt Vim med: :wq <ENTER> - - 5. Start innfringen p nytt og flytt ned til oppsummeringen som flger. - - 6. Etter ha lest og forsttt stegene ovenfor: Sett i gang. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 1 - - - 1. Markren beveges ved hjelp av piltastene eller hjkl-tastene. - h (venstre) j (ned) k (opp) l (hyre) - - 2. For starte Vim fra skall-kommandolinjen, skriv: vim FILNAVN <ENTER> - - 3. For avslutte Vim, skriv: <ESC> :q! <ENTER> for forkaste endringer. - ELLER skriv: <ESC> :wq <ENTER> for lagre forandringene. - - 4. For slette tegnet under markren, trykk: x - - 5. For sette inn eller legge til tekst, trykk: - i skriv innsatt tekst <ESC> sett inn fr markren - A skriv tillagt tekst <ESC> legg til p slutten av linjen - -MERK: Nr du trykker <ESC> gr du til normalmodus eller du avbryter en unsket - og delvis fullfrt kommando. - - N kan du g videre til leksjon 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.1: SLETTEKOMMANDOER - - - ** Trykk dw for slette et ord. ** - - 1. Trykk <ESC> for vre sikker p at du er i normalmodus. - - 2. Flytt markren til den frste linjen nedenfor merket --->. - - 3. Flytt markren til begynnelsen av ordet som skal slettes. - - 4. Trykk dw og ordet vil forsvinne. - -MERK: Bokstaven d vil komme til syne p den nederste linjen p skjermen nr - du skriver den. Vim venter p at du skal skrive w . Hvis du ser et annet - tegn enn d har du skrevet noe feil; trykk <ESC> og start p nytt. - ----> Det er agurk tre ord eple som ikke hrer pre hjemme i denne setningen. ----> Det er tre ord som ikke hrer hjemme i denne setningen. - - 5. Repeter punkt 3 og 4 til den frste setningen er lik den andre. G - deretter til leksjon 2.2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.2: FLERE SLETTEKOMMANDOER - - - ** Trykk d$ for slette til slutten av linjen. ** - - 1. Trykk <ESC> for vre sikker p at du er i normalmodus. - - 2. Flytt markren til linjen nedenfor merket --->. - - 3. Flytt markren til punktet der linjen skal kuttes (ETTER frste punktum). - - 4. Trykk d$ for slette alt til slutten av linjen. - ----> Noen skrev slutten p linjen en gang for mye. linjen en gang for mye. - - 5. G til leksjon 2.3 for forst hva som skjer. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.3: OM OPERATORER OG BEVEGELSER - - - Mange kommandoer som forandrer teksten er laget ut i fra en operator og en - bevegelse. Formatet for en slettekommando med sletteoperatoren d er: - - d bevegelse - - Der: - d - er sletteoperatoren. - bevegelse - er hva operatoren vil opere p (listet nedenfor). - - En kort liste med bevegelser: - w - til starten av det neste ordet, UNNTATT det frste tegnet. - e - til slutten av det nvrende ordet, INKLUDERT det siste tegnet. - $ - til slutten av linjen, INKLUDERT det siste tegnet. - - Ved skrive de vil alts alt fra markren til slutten av ordet bli - slettet. - -MERK: Ved skrive kun bevegelsen i normalmodusen uten en operator vil - markren flyttes som spesifisert. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKSJON 2.4: BRUK AV TELLER FOR EN BEVEGELSE - - - ** Ved skrive et tall foran en bevegelse repeterer den s mange ganger. ** - - 1. Flytt markren til starten av linjen markert ---> nedenfor. - - 2. Skriv 2w for flytte markren to ord framover. - - 3. Skriv 3e for flytte markren framover til slutten av det tredje - ordet. - - 4. Skriv 0 (null) for flytte til starten av linjen. - - 5. Repeter steg 2 og 3 med forskjellige tall. - ----> Dette er en linje med noen ord som du kan bevege deg rundt p. - - 6. G videre til leksjon 2.5. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.5: BRUK AV ANTALL FOR SLETTE MER - - - ** Et tall sammen med en operator repeterer den s mange ganger. ** - - I kombinasjonen med sletteoperatoren og en bevegelse nevnt ovenfor setter du - inn antall fr bevegelsen for slette mer: - d nummer bevegelse - - 1. Flytt markren til det frste ordet med STORE BOKSTAVER p linjen markert - med --->. - - 2. Skriv 2dw for slette de to ordene med store bokstaver. - - 3. Repeter steg 1 og 2 med forskjelling antall for slette de etterflgende - ordene som har store bokstaver. - ----> Denne ABC DE linjen FGHI JK LMN OP er n Q RS TUV litt mer lesbar. - -MERK: Et antall mellom operatoren d og bevegelsen virker p samme mte som - bruke bevegelsen uten en operator. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.6: OPERERE P LINJER - - - ** Trykk dd for slette en hel linje. ** - - P grunn av at sletting av linjer er mye brukt, fant utviklerne av Vi ut at - det vil vre lettere rett og slett trykke to d-er for slette en linje. - - 1. Flytt markren til den andre linjen i verset nedenfor. - 2. Trykk dd slette linjen. - 3. Flytt deretter til den fjerde linjen. - 4. Trykk 2dd for slette to linjer. - ----> 1) Roser er rde, ----> 2) Gjrme er gy, ----> 3) Fioler er bl, ----> 4) Jeg har en bil, ----> 5) Klokker viser tiden, ----> 6) Druer er ste ----> 7) Og du er likes. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.7: ANGRE-KOMMANDOEN - - - ** Trykk u for angre siste kommando, U for fikse en hel linje. ** - - 1. Flytt markren til linjen nedenfor merket ---> og plasser den p den - frste feilen. - 2. Trykk x for slette det frste unskede tegnet. - 3. Trykk s u for angre den siste utfrte kommandoen. - 4. Deretter ordner du alle feilene p linjene ved bruke kommandoen x . - 5. Trykk n en stor U for sette linjen tilbake til det den var - originalt. - 6. Trykk u noen ganger for angre U og foregende kommandoer. - 7. Deretter trykker du CTRL-R (hold CTRL nede mens du trykker R) noen - ganger for gjenopprette kommandoene (omgjre angrekommandoene). - ----> RReparer feiilene p denne linnnjen oog erssstatt dem meed angre. - - 8. Dette er meget nyttige kommandoer. N kan du g til oppsummeringen av - leksjon 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 2 - - - 1. For slette fra markren fram til det neste ordet, trykk: dw - 2. For slette fra markren til slutten av en linje, trykk: d$ - 3. For slette en hel linje, trykk: dd - - 4. For repetere en bevegelse, sett et nummer foran: 2w - 5. Formatet for en forandringskommando er: - operator [nummer] bevegelse - der: - operator - hva som skal gjres, f.eks. d for slette - [nummer] - et valgfritt antall for repetere bevegelsen - bevegelse - hva kommandoen skal operere p, eksempelvis w (ord), - $ (til slutten av linjen) og s videre. - - 6. For g til starten av en linje, bruk en null: 0 - - 7. For angre tidligere endringer, skriv: u (liten u) - For angre alle forandringer p en linje, skriv: U (stor U) - For omgjre angringen, trykk: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.1: LIM INN-KOMMANDOEN - - - ** Trykk p for lime inn tidligere slettet tekst etter markren ** - - 1. Flytt markren til den frste linjen med ---> nedenfor. - - 2. Trykk dd for slette linjen og lagre den i et Vim-register. - - 3. Flytt markren til c)-linjen, OVER posisjonen linjen skal settes inn. - - 4. Trykk p for legge linjen under markren. - - 5. Repeter punkt 2 til 4 helt til linjene er i riktig rekkeflge. - ----> d) Kan du ogs lre? ----> b) Fioler er bl, ----> c) Intelligens m lres, ----> a) Roser er rde, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.2: ERSTATT-KOMMANDOEN - - - ** Trykk rx for erstatte tegnet under markren med x. ** - - 1. Flytt markren til den frste linjen nedenfor merket --->. - - 2. Flytt markren s den str opp den frste feilen. - - 3. Trykk r og deretter tegnet som skal vre der. - - 4. Repeter punkt 2 og 3 til den frste linjen er lik den andre. - ----> Da dfnne lynjxn ble zkrevet, var det nen som tjykket feite taster! ----> Da denne linjen ble skrevet, var det noen som trykket feile taster! - - 5. G videre til leksjon 3.2. - -MERK: Husk at du br lre ved BRUKE, ikke pugge. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.3: FORANDRE-OPERATOREN - - - ** For forandre til slutten av et ord, trykk ce . ** - - 1. Flytt markren til den frste linjen nedenfor som er merket --->. - - 2. Plasser markren p u i lubjwr. - - 3. Trykk ce og det korrekte ordet (i dette tilfellet, skriv injen). - - 4. Trykk <ESC> og g til det neste tegnet som skal forandres. - - 5. Repeter punkt 3 og 4 helt til den frste setningen er lik den andre. - ----> Denne lubjwr har noen wgh som m forkwp med forkzryas-kommandoen. ----> Denne linjen har noen ord som m forandres med forandre-kommandoen. - -Vr oppmerksom p at ce sletter ordet og gr inn i innsettingsmodus. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.4: FLERE FORANDRINGER VED BRUK AV c - - - ** Forandringskommandoen blir brukt med de samme bevegelser som slett. ** - - 1. Forandringsoperatoren fungerer p samme mte som slett. Formatet er: - - c [nummer] bevegelse - - 2. Bevegelsene er de samme, som for eksempel w (ord) og $ (slutten av en - linje). - - 3. G til den frste linjen nedenfor som er merket --->. - - 4. Flytt markren til den frste feilen. - - 5. Skriv c$ og skriv resten av linjen lik den andre og trykk <ESC>. - ----> Slutten p denne linjen trenger litt hjelp for gjre den lik den neste. ----> Slutten p denne linjen trenger bli rettet ved bruk av c$-kommandoen. - -MERK: Du kan bruke slettetasten for rette feil mens du skriver. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 3 - - - 1. For legge tilbake tekst som nettopp er blitt slettet, trykk p . Dette - limer inn den slettede teksten ETTER markren (hvis en linje ble slettet - vil den bli limt inn p linjen under markren). - - 2. For erstatte et tegn under markren, trykk r og deretter tegnet som - du vil ha der. - - 3. Forandringsoperatoren lar deg forandre fra markren til dit bevegelsen - tar deg. Det vil si, skriv ce for forandre fra markren til slutten - av ordet, c$ for forandre til slutten av linjen. - - 4. Formatet for forandre er: - - c [nummer] bevegelse - -N kan du g til neste leksjon. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 4.1: POSISJONERING AV MARKREN OG FILSTATUS - - ** Trykk CTRL-G for vise posisjonen i filen og filstatusen. - Trykk G for g til en spesifikk linje i filen. ** - - Merk: Les hele leksjonen fr du utfrer noen av punktene! - - 1. Hold nede Ctrl-tasten og trykk g . Vi kaller dette CTRL-G. En melding - vil komme til syne p bunnen av skjermen med filnavnet og posisjonen i - filen. Husk linjenummeret for bruk i steg 3. - -Merk: Du kan se markrposisjonen i nederste hyre hjrne av skjermen. Dette - skjer nr ruler-valget er satt (forklart i leksjon 6). - - 2. Trykk G for g til bunnen av filen. - Skriv gg for g til begynnelsen av filen. - - 3. Skriv inn linjenummeret du var p og deretter G . Dette vil fre deg - tilbake til linjen du var p da du frst trykket CTRL-G. - - 4. Utfr steg 1 til 3 hvis du fler deg sikker p prosedyren. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 4.2: SKEKOMMANDOEN - - ** Skriv / etterfulgt av en skestreng som du vil lete etter. ** - - 1. Trykk / nr du er i normalmodusen. Legg merke til at skrstreken og - markren kommer til syne p bunnen av skjermen i likhet med - :-kommandoene. - - 2. Skriv feeeiil og trykk <ENTER>. Dette er teksten du vil lete etter. - - 3. For finne neste forekomst av skestrengen, trykk n . - For lete etter samme sketeksten i motsatt retning, trykk N . - - 4. For lete etter en tekst bakover i filen, bruk ? istedenfor / . - - 5. For g tilbake til der du kom fra, trykk CTRL-O (Hold Ctrl nede mens - du trykker bokstaven o ). Repeter for g enda lengre tilbake. CTRL-I - gr framover. - ----> feeeiil er ikke mten skrive feil p, feeeiil er helt feil. -Merk: Nr skingen nr slutten av filen, vil den fortsette fra starten unntatt - hvis wrapscan-valget er resatt. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 4.3: FINN SAMSVARENDE PARENTESER - - - ** Trykk % for finne en samsvarende ), ] eller } . ** - - 1. Plasser markren p en (, [ eller { p linjen nedenfor merket --->. - - 2. Trykk % . - - 3. Markren vil g til den samsvarende parentesen eller hakeparentesen. - - 4. Trykk % for flytte markren til den andre samsvarende parentesen. - - 5. Flytt markren til en annen (, ), [, ], { eller } og se hva % gjr. - ----> Dette ( er en testlinje med (, [ ] og { } i den )). - -Merk: Dette er veldig nyttig til feilsking i programmer som har ubalansert - antall parenteser! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 4.4: ERSTATT-KOMMANDOEN - - - ** Skriv :s/gammel/ny/g for erstatte gammel med ny. ** - - 1. Flytt markren til linjen nedenfor som er merket med --->. - - 2. Skriv :s/deen/den/ <ENTER> . Legg merke til at denne kommandoen bare - forandrer den frste forekomsten av deen p linjen. - - 3. Skriv :s/deen/den/g . Nr g-flagget legges til, betyr dette global - erstatning p linjen og erstatter alle forekomster av deen p linjen. - ----> deen som kan kaste deen tyngste steinen lengst er deen beste - - 4. For erstatte alle forekomster av en tekststreng mellom to linjer, - skriv :#,#s/gammel/ny/g der #,# er linjenumrene p de to linjene for - linjeomrdet erstatningen skal gjres. - Skriv :%s/gammel/ny/g for erstatte tekst i hele filen. - Skriv :%s/gammel/ny/gc for finne alle forekomster i hele filen, og - deretter sprre om teksten skal erstattes eller - ikke. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 4 - - - 1. Ctrl-G viser nvrende posisjon i filen og filstatusen. - G gr til slutten av filen. - nummer G gr til det linjenummeret. - gg gr til den frste linjen. - - 2. Skriv / etterfulgt av en sketekst for lete FRAMOVER etter teksten. - Skriv ? etterfulgt av en sketekst for lete BAKOVER etter teksten. - Etter et sk kan du trykke n for finne neste forekomst i den samme - retningen eller N for lete i motsatt retning. - CTRL-O tar deg tilbake til gamle posisjoner, CTRL-I til nyere posisjoner. - - 3. Skriv % nr markren str p en (, ), [, ], { eller } for finne den - som samsvarer. - - 4. Erstatte gammel med frste ny p en linje: :s/gammel/ny - Erstatte alle gammel med ny p en linje: :s/gammel/ny/g - Erstatte tekst mellom to linjenumre: :#,#s/gammel/ny/g - Erstatte alle forekomster i en fil: :%s/gammel/ny/g - For godkjenne hver erstatning, legg til c: :%s/gammel/ny/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 5.1: HVORDAN UTFRE EN EKSTERN KOMMANDO - - - ** Skriv :! etterfulgt av en ekstern kommando for utfre denne. ** - - 1. Skriv den velkjente kommandoen : for plassere markren p bunnen av - skjermen. Dette lar deg skrive en kommandolinjekommando. - - 2. N kan du skrive tegnet ! . Dette lar deg utfre en hvilken som helst - ekstern kommando. - - 3. Som et eksempel, skriv ls etter utropstegnet og trykk <ENTER>. Du vil - n f en liste over filene i katalogen, akkurat som om du hadde kjrt - kommandoen direkte fra kommandolinjen i skallet. Eller bruk :!dir hvis - ls ikke virker. - -MERK: Det er mulig kjre alle eksterne kommandoer p denne mten, ogs med - parametere. - -MERK: Alle :-kommandoer m avsluttes med <ENTER>. Fra dette punktet er det - ikke alltid vi nevner det. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 5.2: MER OM LAGRING AV FILER - - - ** For lagre endringene gjort i en tekst, skriv :w FILNAVN. ** - - 1. Skriv :!dir eller :!ls for f en liste over filene i katalogen. Du - vet allerede at du m trykke <ENTER> etter dette. - - 2. Velg et filnavn p en fil som ikke finnes, som for eksempel TEST . - - 3. Skriv :w TEST (der TEST er filnavnet du velger). - - 4. Dette lagrer hele filen (denne innfringen) under navnet TEST . For - sjekke dette, skriv :!dir eller :!ls igjen for se innholdet av - katalogen. - -Merk: Hvis du n hadde avsluttet Vim og startet p nytt igjen med vim TEST, - ville filen vrt en eksakt kopi av innfringen da du lagret den. - - 5. Fjern filen ved skrive :!rm TEST hvis du er p et Unix-lignende - operativsystem, eller :!del TEST hvis du bruker MS-DOS. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 5.3: VELGE TEKST SOM SKAL LAGRES - - - ** For lagre en del av en fil, skriv v bevegelse :w FILNAVN ** - - 1. Flytt markren til denne linjen. - - 2. Trykk v og flytt markren til det femte elementet nedenfor. Legg merke - til at teksten blir markert. - - 3. Trykk : (kolon). P bunnen av skjermen vil :'<,'> komme til syne. - - 4. Trykk w TEST , der TEST er et filnavn som ikke finnes enda. Kontroller - at du ser :'<,'>w TEST fr du trykker Enter. - - 5. Vim vil skrive de valgte linjene til filen TEST. Bruk :!dir eller !ls - for se den. Ikke slett den enda! Vi vil bruke den i neste leksjon. - -MERK: Ved trykke v startes visuelt valg. Du kan flytte markren rundt for - gjre det valgte omrdet strre eller mindre. Deretter kan du bruke en - operator for gjre noe med teksten. For eksempel sletter d teksten. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 5.4: HENTING OG SAMMENSLING AV FILER - - - ** For lese inn en annen fil inn i nvrende buffer, skriv :r FILNAVN ** - - 1. Plasser markren like over denne linjen. - -MERK: Etter ha utfrt steg 2 vil du se teksten fra leksjon 5.3. G deretter - NED for se denne leksjonen igjen. - - 2. Hent TEST-filen ved bruke kommandoen :r TEST der TEST er navnet p - filen du brukte. Filen du henter blir plassert nedenfor markrlinjen. - - 3. For sjekke at filen ble hentet, g tilbake og se at det er to kopier av - leksjon 5.3, originalen og denne versjonen. - -MERK: Du kan ogs lese utdataene av en ekstern kommando. For eksempel, :r !ls - leser utdataene av ls-kommandoen og legger dem nedenfor markren. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 5 - - - 1. :!kommando utfrer en ekstern kommandio. - - Noen nyttige eksempler er: - (MS-DOS) (Unix) - :!dir :!ls - List filene i katalogen. - :!del FILNAVN :!rm FILNAVN - Slett filen FILNAVN. - - 2. :w FILNAVN skriver den nvrende Vim-filen disken med navnet FILNAVN . - - 3. v bevegelse :w FILNAVN lagrer de visuelt valgte linjene til filen - FILNAVN. - - 4. :r FILNAVN henter filen FILNAVN og legger den inn nedenfor markren. - - 5. :r !dir leser utdataene fra dir-kommandoen og legger dem nedenfor - markrposisjonen. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.1: PNE LINJE-KOMMANDOEN - - - ** Skriv o for pne opp for en ny linje etter markren og g til - innsettingsmodus ** - - 1. Flytt markren til linjen nedenfor merket --->. - - 2. Skriv o (liten o) for pne opp en linje NEDENFOR markren og g inn i - innsettingsmodus. - - 3. Skriv litt tekst og trykk <ESC> for g ut av innsettingsmodusen. - ----> Etter at o er skrevet blir markren plassert p den tomme linjen. - - 4. For pne en ny linje OVER markren, trykk rett og slett en stor O - istedenfor en liten o . Prv dette p linjen nedenfor. - ----> Lag ny linje over denne ved trykke O mens markren er p denne linjen. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.2: LEGG TIL-KOMMANDOEN - - - ** Skriv a for legge til tekst ETTER markren. ** - - 1. Flytt markren til starten av linjen merket ---> nedenfor. - - 2. Trykk e til markren er p slutten av li. - - 3. Trykk a (liten a) for legge til tekst ETTER markren. - - 4. Fullfr ordet snn som p linjen nedenfor. Trykk <ESC> for g ut av - innsettingsmodusen. - - 5. Bruk e for g til det neste ufullstendige ordet og repeter steg 3 og - 4. - ----> Denne li lar deg ve p leg til tek p en linje. ----> Denne linjen lar deg ve p legge til tekst p en linje. - -Merk: a, i og A gr alle til den samme innsettingsmodusen, den eneste - forskjellen er hvor tegnene blir satt inn. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.3: EN ANNEN MTE ERSTATTE P - - - ** Skriv en stor R for erstatte mer enn ett tegn. ** - - 1. Flytt markren til den frste linjen nedenfor merket --->. Flytt markren - til begynnelsen av den frste xxx-en. - - 2. Trykk R og skriv inn tallet som str nedenfor p den andre linjen s - det erstatter xxx. - - 3. Trykk <ESC> for g ut av erstatningsmodusen. Legg merke til at resten - av linjen forblir uforandret. - - 4. Repeter stegene for erstatte den gjenvrende xxx. - ----> Ved legge 123 til xxx fr vi xxx. ----> Ved legge 123 til 456 fr vi 579. - -MERK: Erstatningsmodus er lik insettingsmodus, men hvert tegn som skrives - erstatter et eksisterende tegn. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.4: KOPIERE OG LIME INN TEKST - - - ** Bruk y-operatoren for kopiere tekst og p for lime den inn ** - - 1. G til linjen merket ---> nedenfor og plasser markren etter a). - - 2. G inn i visuell modus med v og flytt markren til like fr frste. - - 3. Trykk y for kopiere (engelsk: yank) den uthevede teksten. - - 4. Flytt markren til slutten av den neste linjen: j$ - - 5. Trykk p for lime inn teksten. Trykk deretter: a andre <ESC> . - - 6. Bruk visuell modus for velge valget., kopier det med y , g til - slutten av den neste linjen med j$ og legg inn teksten der med p . - ----> a) Dette er det frste valget. - b) - -Merk: Du kan ogs bruke y som en operator; yw kopierer ett ord. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.5: SETT VALG - - - ** Sett et valg s sk eller erstatning ignorerer store/sm bokstaver. ** - - 1. Let etter ignore ved skrive: /ignore <ENTER> - Repeter flere ganger ved trykke n . - - 2. Sett ic-valget (Ignore Case) ved skrive: :set ic - - 3. Sk etter ignore igjen ved trykke n . - Legg merke til at bde Ignore og IGNORE blir funnet. - - 4. Sett hlsearch- og incsearch-valgene: :set hls is - - 5. Skriv skekommandoen igjen og se hva som skjer: /ignore <ENTER> - - 6. For sl av ignorering av store/sm bokstaver, skriv: :set noic - -Merk: For fjerne uthevingen av treff, skriv: :nohlsearch -Merk: Hvis du vil ignorere store/sm bokstaver for kun en skekommando, bruk - \c i uttrykket: /ignore\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 6 - - 1. Trykk o for legge til en linje NEDENFOR markren og g inn i - innsettingsmodus. - Trykk O for pne en linje OVER markren. - - 2. Skriv a for sette inn tekst ETTER markren. - Skriv A for sette inn tekst etter slutten av linjen. - - 3. Kommandoen e gr til slutten av et ord. - - 4. Operatoren y (yank) kopierer tekst, p (paste) limer den inn. - - 5. Ved trykke R gr du inn i erstatningsmodus helt til <ESC> trykkes. - - 6. Skriv :set xxx for sette valget xxx. Noen valg er: - ic ignorecase ignorer store/sm bokstaver under sk - is incsearch vis delvise treff for en sketekst - hls hlsearch uthev alle sketreff - - 7. Legg til no foran valget for sl det av: :set noic - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 7.1: F HJELP - - - ** Bruk det innebygde hjelpesystemet. ** - - Vim har et omfattende innebygget hjelpesystem. For starte det, prv en av - disse mtene: - - Trykk Hjelp-tasten (hvis du har en) - - Trykk F1-tasten (hvis du har en) - - Skriv :help <ENTER> - - Les teksten i hjelpevinduet for finne ut hvordan hjelpen virker. - Skriv CTRL-W CTRL-W for hoppe fra et vindu til et annet - Skriv :q <ENTER> for lukke hjelpevinduet. - - Du kan f hjelp for omtrent alle temaer om Vim ved skrive et parameter til - :help-kommandoen. Prv disse (ikke glem trykke <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 7.2: LAG ET OPPSTARTSSKRIPT - - - ** Sl p funksjoner i Vim ** - - Vim har mange flere funksjoner enn Vi, men flesteparten av dem er sltt av - som standard. For begynne bruke flere funksjoner m du lage en - vimrc-fil. - - 1. Start redigeringen av vimrc-filen. Dette avhenger av systemet ditt: - :e ~/.vimrc for Unix - :e $VIM/_vimrc for MS Windows - - 2. Les inn eksempelfilen for vimrc: - :r $VIMRUNTIME/vimrc_example.vim - - 3. Lagre filen med: - :w - - Neste gang du starter Vim vil den bruke syntaks-utheving. Du kan legge til - alle dine foretrukne oppsett i denne vimrc-filen. - For mer informasjon, skriv :help vimrc-intro -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 7.3: FULLFRING - - - ** Kommandolinjefullfring med CTRL-D og <TAB> ** - - 1. Vr sikker p at Vim ikke er i Vi-kompatibel modus: :set nocp - - 2. Se hvilke filer som er i katalogen: :!ls eller :!dir - - 3. Skriv starten p en kommando: :e - - 4. Trykk CTRL-D og Vim vil vise en liste over kommandoer som starter med - e. - - 5. Trykk <TAB> og Vim vil fullfre kommandonavnet til :edit. - - 6. Legg til et mellomrom og starten p et eksisterende filnavn: :edit FIL - - 7. Trykk <TAB>. Vim vil fullfre navnet (hvis det er unikt). - -MERK: Fullfring fungerer for mange kommandoer. Prv ved trykke CTRL-D og - <TAB>. Det er spesielt nyttig for bruk sammen med :help . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 7 - - - 1. Skriv :help eller trykk <F1> eller <Help> for pne et hjelpevindu. - - 2. Skriv :help kommando for f hjelp om kommando . - - 3. Trykk CTRL-W CTRL-W for hoppe til et annet vindu. - - 4. Trykk :q for lukke hjelpevinduet. - - 5. Opprett et vimrc-oppstartsskript for lagre favorittvalgene dine. - - 6. Nr du skriver en :-kommando, trykk CTRL-D for se mulige - fullfringer. Trykk <TAB> for bruke en fullfring. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Her slutter innfringen i Vim. Den var ment som en rask oversikt over - editoren, akkurat nok til la deg sette i gang med enkel bruk. Den er p - langt nr komplett, da Vim har mange flere kommandoer. Les bruksanvisningen - ved skrive :help user-manual . - - For videre lesing og studier, kan denne boken anbefales: - Vim - Vi Improved av Steve Oualline - Utgiver: New Riders - Den frste boken som er fullt og helt dedisert til Vim. Spesielt nyttig for - nybegynnere. Inneholder mange eksempler og illustrasjoner. - Se http://iccf-holland.org/click5.html - - Denne boken er eldre og handler mer om Vi enn Vim, men anbefales ogs: - Learning the Vi Editor av Linda Lamb - Utgiver: O'Reilly & Associates Inc. - Det er en god bok for f vite omtrent hva som helst om Vi. - Den sjette utgaven inneholder ogs informasjon om Vim. - - Denne innfringen er skrevet av Michael C. Pierce og Robert K. Ware, - Colorado School of Mines med ider av Charles Smith, Colorado State - University. E-mail: bware@mines.colorado.edu . - - Modifisert for Vim av Bram Moolenaar. - Oversatt av yvind A. Holm. E-mail: vimtutor _AT_ sunbase.org - Id: tutor.no 406 2007-03-18 22:48:36Z sunny - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -vim: set ts=8 : diff --git a/runtime/tutor/tutor.pl b/runtime/tutor/tutor.pl deleted file mode 100644 index 7f39f3894..000000000 --- a/runtime/tutor/tutor.pl +++ /dev/null @@ -1,994 +0,0 @@ -=============================================================================== -= W i t a j w t u t o r i a l u V I M - a - Wersja 1.7. = -=============================================================================== - - Vim to potny edytor, ktry posiada wiele polece, zbyt duo by - wyjani je wszystkie w tym tutorialu. Ten przewodnik ma nauczy - Ci posugiwa si wystarczajco wieloma komendami by mg atwo - uywa Vima jako edytora oglnego przeznaczenia. - - Czas potrzebny na ukoczenie tutoriala to 25 do 30 minut i zaley - od tego jak wiele czasu spdzisz na eksperymentowaniu. - - UWAGA: - Polecenia wykonywane w czasie lekcji zmodyfikuj tekst. Zrb - wczeniej kopi tego pliku do wicze (jeli zacze komend - "vimtutor" to ju pracujesz na kopii). - - Pamitaj e przewodnik ten zosta zaprojektowany do nauki poprzez - wiczenia. Oznacza to, e musisz wykonywa polecenia by nauczy si ich - prawidowo. Jeli bdziesz jedynie czyta tekst szybko zapomnisz wiele - polece! - - Teraz upewnij si, e nie masz wcinitego CapsLocka i wciskaj j - tak dugo dopki Lekcja 1.1. nie wypeni cakowicie ekranu. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.1.: PORUSZANIE SI KURSOREM - - ** By wykona ruch kursorem, wcinij h, j, k, l jak pokazano. ** - - ^ - k Wskazwka: h jest po lewej - < h l > l jest po prawej - j j wyglda jak strzaka w d - v - 1. Poruszaj kursorem dopki nie bdziesz pewien, e pamitasz polecenia. - - 2. Trzymaj j tak dugo a bdzie si powtarza. - Teraz wiesz jak doj do nastpnej lekcji. - - 3. Uywajc strzaki w d przejd do nastpnej lekcji. - -Uwaga: Jeli nie jeste pewien czego co wpisae, wcinij <ESC> by wrci do - trybu Normal. Wtedy powtrz polecenie. - -Uwaga: Klawisze kursora take powinny dziaa, ale uywajc hjkl bdziesz - w stanie porusza si o wiele szybciej jak si tylko przyzwyczaisz. - Naprawd! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.2.: WYCHODZENIE Z VIM-a - - !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj ca lekcj.!! - - 1. Wcinij <ESC> (aby upewni si, e jeste w trybie Normal). - 2. Wpisz: :q!<ENTER>. - To spowoduje wyjcie z edytora PORZUCAJC wszelkie zmiany jakie - zdye zrobi. Jeli chcesz zapamita zmiany i wyj - wpisz: :wq<ENTER> - - 3. Kiedy widzisz znak zachty powoki wpisz komend, eby wrci - do tutoriala. Czyli: vimtutor<ENTER> - - 4. Jeli chcesz zapamita polecenia, wykonaj kroki 1. do 3. aby - wyj i wrci do edytora. - -UWAGA: :q!<ENTER> porzuca wszelkie zmiany jakie zrobie. W nastpnych - lekcjach dowiesz si jak je zapamitywa. - - 5. Przenie kursor do lekcji 1.3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.3.: EDYCJA TEKSTU - KASOWANIE - - ** Wcinij x aby usun znak pod kursorem. ** - - 1. Przenie kursor do linii poniej oznaczonej --->. - - 2. By poprawi bdy, naprowad kursor na znak do usunicia. - - 3. Wcinij x aby usun niechciany znak. - - 4. Powtarzaj kroki 2. do 4. dopki zdanie nie jest poprawne. - ----> Kkrowa prrzeskoczya prrzez ksiiycc. - - 5. Teraz kiedy zdanie jest poprawione przejd do Lekcji 1.4. - -UWAGA: Ucz si przez wiczenie, nie wkuwanie. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.4.: EDYCJA TEKSTU - INSERT (wprowadzanie) - - - ** Wcinij i aby wstawi tekst. ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. - - 2. Aby poprawi pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym - gdzie tekst ma by wstawiony. - - 3. Wcinij i a nastpnie wpisz konieczne poprawki. - - 4. Po poprawieniu bdu wcinij <ESC> by wrci do trybu Normal. - Powtarzaj kroki 2. do 4. aby poprawi cae zdanie. - ----> W tej brkje troch . ----> W tej linii brakuje troch tekstu. - - 5. Kiedy czujesz si swobodnie wstawiajc tekst przejd do - podsumowania poniej. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.5.: EDYCJA TEKSTU - APPENDING (dodawanie) - - - ** Wcinij A by doda tekst. ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. - Nie ma znaczenia, ktry to bdzie znak. - - 2. Wcinij A i wpisz odpowiednie dodatki. - - 3. Kiedy tekst zosta dodany, wcinij <ESC> i wr do trybu Normalnego. - - 4. Przenie kursor do drugiej linii oznaczonej ---> i powtrz kroki 2 i 3 - aby poprawi zdanie. - ----> Brakuje tu tro - Brakuje tu troch tekstu. ----> Tu te troch bra - Tu te troch brakuje. - - 5. Kiedy ju utrwalie wiczenie przejd do lekcji 1.6. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.6.: EDYCJA PLIKU - - - ** Uyj :wq aby zapisa plik i wyj. ** - - !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczyaj ca lekcj !! - - 1. Zakocz tutorial tak jak w lekcji 1.2.: :q! - - 2. W powoce wydaj polecenie: vim tutor<ENTER> - "vim" jest poleceniem uruchamiajcym edytor Vim. 'tutor' to nazwa pliku - jaki chcesz edytowa. Uyj pliku jaki moe zosta zmieniony. - - 3. Dodaj i usu tekst tak jak si nauczye w poprzednich lekcjach. - - 4. Zapisz plik ze zmianami i opu Vima: :wq<ENTER> - - 5. Uruchom ponownie vimtutor i przejd do podsumowania lekcji. - - 6. Po przeczytaniu wszystkich krokw i ich zrozumieniu: wykonaj je. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 1. PODSUMOWANIE - - 1. Poruszasz kursorem uywajc "strzaek" i klawiszy hjkl . - h (w lewo) j (w d) k (do gry) l (w prawo) - - 2. By wej do Vima (z powoki) wpisz: - vim NAZWA_PLIKU<ENTER> - - 3. By wyj z Vima wpisz: - <ESC> :q!<ENTER> by usunc wszystkie zmiany. - LUB: <ESC> :wq<ENTER> by zmiany zachowa. - - 4. By usun znak pod kursorem wcinij: x - - 5. By wstawi tekst przed kursorem lub doda: - i wpisz tekst <ESC> wstawi przed kursorem - A wpisz tekst <ESC> doda na kocu linii - -UWAGA: Wcinicie <ESC> przeniesie Ci z powrotem do trybu Normal - lub odwoa niechciane lub czciowo wprowadzone polecenia. - -Teraz moemy kontynuowa i przej do Lekcji 2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.1.: POLECENIE DELETE (usuwanie) - - - ** Wpisz dw by usunc wyraz. ** - - 1. Wcinij <ESC> by upewni si, e jeste w trybie Normal. - - 2. Przenie kursor do linii poniej oznaczonej --->. - - 3. Przesu kursor na pocztek wyrazu, ktre chcesz usun. - - 4. Wpisz dw by usun wyraz. - - UWAGA: Litera d pojawi si na dole ekranu. Vim czeka na wpisanie w . - Jeli zobaczysz inny znak oznacza to, e wpisae co le, wcinij - <ESC> i zacznij od pocztku. - ----> Jest tu par papier wyrazw, ktre kamie nie nale do noyce tego zdania. - - 5. Powtarzaj kroki 3. i 4. dopki zdanie nie bdzie poprawne, potem - przejd do Lekcji 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.2.: WICEJ POLECE USUWAJCYCH - - - ** Wpisz d$ aby usun tekst do koca linii. ** - - 1. Wcinij <ESC> aby si upewni, e jeste w trybie Normal. - - 2. Przenie kursor do linii poniej oznaczonej --->. - - 3. Przenie kursor do koca poprawnego zdania (PO pierwszej . ). - - 4. Wpisz d$ aby usun reszt linii. - ----> Kto wpisa koniec tego zdania dwukrotnie. zdania dwukrotnie. - - - 5. Przejd do Lekcji 2.3. by zrozumie co si stao. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.3.: O OPERATORACH I RUCHACH - - - Wiele polece zmieniajcych tekst s zoone z operatora i ruchu. - Format dla polecenia usuwajcego z operatorem d jest taki: - - d ruch - - Gdzie: - d - operator usuwania. - ruch - na czym polecenie bdzie wykonywane (lista poniej). - - Krtka lista ruchw: - w - do pocztku nastpnego wyrazu WYCZAJC pierwszy znak. - e - do koca biecego wyrazu, WCZAJC ostatni znak. - $ - do koca linii, WCZAJC ostatni znak. - -W ten sposb wpisanie de usunie znaki od kursora do koca wyrazu. - -UWAGA: Wpisanie tylko ruchu w trybie Normal bez operatora przeniesie kursor - tak jak to okrelono. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.4.: UYCIE MNONIKA DLA RUCHU - - - ** Wpisanie liczby przed ruchem powtarza ruch odpowiedni ilo razy. ** - - 1. Przenie kursor na pocztek linii poniej zaznaczonej --->. - - 2. Wpisz 2w aby przenie kursor o dwa wyrazy do przodu. - - 3. Wpisz 3e aby przenie kursor do koca trzeciego wyrazu w przd. - - 4. Wpisz 0 (zero) aby przenie kursor do pocztku linii. - - 5. Powtrz kroki 2. i 3. z innymi liczbami. - - - ---> To jest zwyky wiersz z wyrazami po ktrych moesz si porusza. - - 6. Przejd do lekcji 2.5. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.5.: UYCIE MNONIKA BY WICEJ USUN - - - ** Wpisanie liczby z operatorem powtarza go odpowiedni ilo razy. ** - - W wyej wspomnianej kombinacji operatora usuwania i ruchu podaj mnonik - przed ruchem by wicej usun: - d liczba ruch - - 1. Przenie kursor do pierwszego wyrazu KAPITALIKAMI w linii zaznaczonej --->. - - 2. Wpisz 2dw aby usun dwa wyrazy KAPITALIKAMI. - - 3. Powtarzaj kroki 1. i 2. z innymi mnonikami aby usun kolejne wyrazy - KAPITALIKAMI jednym poleceniem - ----> ta ASD WE linia QWE ASDF ZXCV FG wyrazw zostaa ERT FGH CF oczyszczona. - -UWAGA: Mnonik pomidzy operatorem d i ruchem dziaa podobnie do ruchu bez - operatora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.6.: OPEROWANIE NA LINIACH - - - ** Wpisz dd aby usun ca lini. ** - - Z powodu czstoci usuwania caych linii, projektanci Vi zdecydowali, e - bdzie atwiej wpisa dwa razy d aby usun lini. - - 1. Przenie kursor do drugiego zdania z wierszyka poniej. - 2. Wpisz dd aby usun wiersz. - 3. Teraz przenie si do czwartego wiersza. - 4. Wpisz 2dd aby usunc dwa wiersze. - ----> 1) Re s czerwone, ----> 2) Boto jest fajne, ----> 3) Fioki s niebieskie, ----> 4) Mam samochd, ----> 5) Zegar podaje czas, ----> 6) Cukier jest sodki, ----> 7) I ty te. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.7.: POLECENIE UNDO (cofnij) - - - ** Wcinij u aby cofn skutki ostatniego polecenia. - U za, by cofn skutki dla caej linii. ** - - 1. Przenie kursor do zdania poniej oznaczonego ---> i umie go na - pierwszym bdzie. - 2. Wpisz x aby usun pierwszy niechciany znak. - 3. Teraz wcinij u aby cofn skutki ostatniego polecenia. - 4. Tym razem popraw wszystkie bdy w linii uywajc polecenia x . - 5. Teraz wcinij wielkie U aby przywrci lini do oryginalnego stanu. - 6. Teraz wcinij u kilka razy by cofn U i poprzednie polecenia. - 7. Teraz wpisz CTRL-R (trzymaj rwnoczenie wcinite klawisze CTRL i R) - kilka razy, by cofn cofnicia. - ----> Poopraw bldyyy w teej liniii i zaamiie je prrzez coofnij. - - 8. To s bardzo poyteczne polecenia. - - Przejd teraz do podsumowania Lekcji 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 2. PODSUMOWANIE - - - 1. By usun znaki od kursora do nastpnego wyrazu wpisz: dw - 2. By usun znaki od kursora do koca linii wpisz: d$ - 3. By usun ca lini: dd - 4. By powtrzy ruch poprzed go liczb: 2w - 5. Format polecenia zmiany to: - operator [liczba] ruch - gdzie: - operator - to co trzeba zrobi (np. d dla usuwania) - [liczba] - opcjonalne, ile razy powtrzy ruch - ruch - przenosi nad tekstem do operowania, takim jak w (wyraz), - $ (do koca linii), etc. - - 6. By przej do pocztku linii uyj zera: 0 - 7. By cofn poprzednie polecenie, wpisz: u (mae u) - By cofn wszystkie zmiany w linii wpisz: U (wielkie U) - By cofn cofnicia wpisz: CTRL-R - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.1.: POLECENIE PUT (wstaw) - - - ** Wpisz p by wstawi ostatnie usunicia za kursorem. ** - - 1. Przenie kursor do pierwszej linii ---> poniej. - - 2. Wpisz dd aby usun lini i przechowa j w rejestrze Vima. - - 3. Przenie kursor do linii c), POWYEJ tej gdzie usunita linia powinna - si znajdowa. - - 4. Wcinij p by wstawi lini poniej kursora. - - 5. Powtarzaj kroki 2. do 4. a znajd si w odpowiednim porzdku. - ----> d) Jak dwa anioki. ----> b) Na dole fioki, ----> c) A my si kochamy, ----> a) Na grze re, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.2.: POLECENIE REPLACE (zastp) - - - ** Wpisz rx aby zastpi znak pod kursorem na x . ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej ---> - - 2. Ustaw kursor na pierwszym bdzie. - - 3. Wpisz r a potem znak jaki powinien go zastpi. - - 4. Powtarzaj kroki 2. i 3. dopki pierwsza linia nie bdzie taka jak druga. - ----> Kjedy ten wiersz bi wstkiwany kto wcizn per zych klawirzy! ----> Kiedy ten wiersz by wstukiwany kto wcisn par zych klawiszy! - - 5. Teraz czas na Lekcj 3.3. - - -UWAGA: Pamitaj by uczy si wiczc, a nie pamiciowo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.3.: OPERATOR CHANGE (zmie) - - ** By zmieni do koca wyrazu wpisz ce . ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. - - 2. Umie kursor na u w lunos. - - 3. Wpisz ce i popraw wyraz (w tym wypadku wstaw inia ). - - 4. Wcinij <ESC> i przejd do nastpnej planowanej zmiany. - - 5. Powtarzaj kroki 3. i 4. dopki pierwsze zdanie nie bdzie takie same - jak drugie. - ----> Ta lunos ma pire sw, ktre tina zbnic uifajonc pcmazu zmie. ----> Ta linia ma par sw, ktre trzeba zmieni uywajc polecenia zmie. - - Zauwa, e ce nie tylko zamienia wyraz, ale take zmienia tryb na - Insert (wprowadzanie). - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.4.: WICEJ ZMIAN UYWAJC c - - - ** Polecenie change uywa takich samych ruchw jak delete. ** - - 1. Operator change dziaa tak samo jak delete. Format wyglda tak: - - c [liczba] ruch - - 2. Ruchy s take takie same, np.: w (wyraz), $ (koniec linii), etc. - - 3. Przenie si do pierwszej linii poniej oznaczonej ---> - - 4. Ustaw kursor na pierwszym bdzie. - - 5. Wpisz c$ , popraw koniec wiersza i wcinij <ESC>. - ----> Koniec tego wiersza musi by poprawiony aby wyglda tak jak drugi. ----> Koniec tego wiersza musi by poprawiony uywajc polecenia c$ . - -UWAGA: Moesz uywa <BS> aby poprawia bdy w czasie pisania. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 3. PODSUMOWANIE - - - 1. Aby wstawi tekst, ktry zosta wczeniej usunity wcinij p . To - polecenie wstawia skasowany tekst PO kursorze (jeli caa linia - zostaa usunita, zostanie ona umieszczona w linii poniej kursora). - - 2. By zamieni znak pod kursorem wcinij r a potem znak, ktry ma zastpi - oryginalny. - - 3. Operator change pozwala Ci na zastpienie od kursora do miejsca gdzie - zabraby ci ruch. Np. wpisz ce aby zamieni tekst od kursora do koca - wyrazu, c$ aby zmieni tekst do koca linii. - - 4. Format do polecenia change (zmie): - - c [liczba] obiekt - - Teraz przejd do nastpnej lekcji. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.1.: POOENIE KURSORA ORAZ STATUS PLIKU - - ** Nacinij CTRL-G aby zobaczy swoje pooenie w pliku i status - pliku. Nacinij G aby przej do linii w pliku. ** - - UWAGA: Przeczytaj ca lekcj zanim wykonasz jakie polecenia!!! - - 1. Przytrzymaj klawisz CTRL i wcinij g . Uywamy notacji CTRL-G. - Na dole strony pojawi si pasek statusu z nazw pliku i pozycj w pliku. - Zapamitaj numer linii dla potrzeb kroku 3. - -UWAGA: Moesz te zobaczy pozycj kursora w prawym, dolnym rogu ekranu. - Dzieje si tak kiedy ustawiona jest opcja 'ruler' (wyjanione w lekcji 6.). - - 2. Wcinij G aby przej na koniec pliku. - Wcinij gg aby przej do pocztku pliku. - - 3. Wpisz numer linii, w ktrej bye a potem G . To przeniesie ci - z powrotem do linii, w ktrej bye kiedy wcisne CTRL-G. - - 4. Jeli czujesz si wystarczajco pewnie, wykonaj kroki 1-3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.2.: POLECENIE SZUKAJ - - - ** Wpisz / a nastpnie wyraenie aby je znale. ** - - 1. W trybie Normal wpisz / . Zauwa, e znak ten, oraz kursor pojawi - si na dole ekranu tak samo jak polecenie : . - - 2. Teraz wpisz bond<ENTER> . To jest sowo, ktrego chcesz szuka. - - 3. By szuka tej samej frazy ponownie, po prostu wcinij n . - Aby szuka tej frazy w przeciwnym, kierunku wcinij N . - - 4. Jeli chcesz szuka frazy do tyu, uyj polecenia ? zamiast / . - - 5. Aby wrci gdzie bye wcinij CTRL-O. Powtarzaj by wrci dalej. CTRL-I - idzie do przodu. - -Uwaga: 'bond' to nie jest metoda by przeliterowa bd; 'bond' to bd. -Uwaga: Kiedy szukanie osignie koniec pliku bdzie kontynuowao od pocztku - o ile opcja 'wrapscan' nie zostaa przestawiona. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.3.: W POSZUKIWANIU PARUJCYCH NAWIASW - - - ** Wpisz % by znale parujcy ), ], lub } . ** - - 1. Umie kursor na ktrym z (, [, lub { w linii poniej oznaczonej --->. - - 2. Teraz wpisz znak % . - - 3. Kursor powinien si znale na parujcym nawiasie. - - 4. Wcinij % aby przenie kursor z powrotem do parujcego nawiasu. - - 5. Przenie kursor do innego (,),[,],{ lub } i zobacz co robi % . - ----> To ( jest linia testowa z (, [, ] i {, } . )) - -Uwaga: Ta funkcja jest bardzo uyteczna w debuggowaniu programu - z niesparowanymi nawiasami! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.4.: POLECENIE SUBSTITUTE (zamiana) - - - ** Wpisz :s/stary/nowy/g aby zamieni 'stary' na 'nowy'. ** - - 1. Przenie kursor do linii poniej oznaczonej --->. - - 2. Wpisz :s/czaas/czas<ENTER> . Zauwa, e to polecenie zmienia - tylko pierwsze wystpienie 'czaas' w linii. - - 3. Teraz wpisz :s/czaas/czas/g . Dodane g oznacza zamian (substytucj) - globalnie w caej linii. Zmienia wszystkie wystpienia 'czaas' w linii. - ----> Najlepszy czaas na zobaczenie najadniejszych kwiatw to czaas wiosny. - - 4. Aby zmieni wszystkie wystpienia acucha znakw pomidzy dwoma liniami, - wpisz: :#,#s/stare/nowe/g gdzie #,# s numerami linii ograniczajcych - region gdzie ma nastpi zamiana. - wpisz :%s/stare/nowe/g by zmieni wszystkie wystpienia w caym pliku. - wpisz :%s/stare/nowe/gc by zmieni wszystkie wystpienia w caym - pliku, proszc o potwierdzenie za kadym razem - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 4. PODSUMOWANIE - - 1. CTRL-G pokae Twoj pozycj w pliku i status pliku. SHIFT-G przenosi - ci do koca pliku. - G przenosi do koca pliku. - liczba G przenosi do linii [liczba]. - gg przenosi do pierwszej linii. - - 2. Wpisanie / a nastpnie acucha znakw szuka acucha DO PRZODU. - Wpisanie ? a nastpnie acucha znakw szuka acucha DO TYU. - Po wyszukiwaniu wcinij n by znale nastpne wystpienie szukanej - frazy tym samym kierunku lub N by szuka w kierunku przeciwnym. - CTRL-O przenosi do starszych pozycji, CTRL-I do nowszych. - - 3. Wpisanie % gdy kursor znajduje si na (,),[,],{, lub } lokalizuje - parujcy znak. - - 4. By zamieni pierwszy stary na nowy w linii wpisz :s/stary/nowy - By zamieni wszystkie stary na nowy w linii wpisz :s/stary/nowy/g - By zamieni frazy pomidzy dwoma liniami # wpisz :#,#s/stary/nowy/g - By zamieni wszystkie wystpienia w pliku wpisz :%s/stary/nowy/g - By Vim prosi Ci o potwierdzenie dodaj 'c' :%s/stary/nowy/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.1.: JAK WYKONA POLECENIA ZEWNTRZNE - - - ** Wpisz :! a nastpnie zewntrzne polecenie by je wykona. ** - - 1. Wpisz znajome polecenie : by ustawi kursor na dole ekranu. To pozwala - na wprowadzenie komendy linii polece. - - 2. Teraz wstaw ! (wykrzyknik). To umoliwi Ci wykonanie dowolnego - zewntrznego polecenia powoki. - - 3. Jako przykad wpisz ls za ! a nastpnie wcinij <ENTER>. To polecenie - pokae spis plikw w Twoim katalogu, tak jakby by przy znaku zachty - powoki. Moesz te uy :!dir jeli ls nie dziaa. - -Uwaga: W ten sposb mona wykona wszystkie polecenia powoki. -Uwaga: Wszystkie polecenia : musz by zakoczone <ENTER>. - Od tego momentu nie zawsze bdziemy o tym wspomina. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.2.: WICEJ O ZAPISYWANIU PLIKW - - - ** By zachowa zmiany w tekci wpisz :w NAZWA_PLIKU . ** - - 1. Wpisz :!dir lub :!ls by zobaczy spis plikw w katalogu. - Ju wiesz, e musisz wcisn <ENTER> po tym. - - 2. Wybierz nazw pliku jaka jeszcze nie istnieje, np. TEST. - - 3. Teraz wpisz: :w TEST (gdzie TEST jest nazw pliku jak wybrae.) - - 4. To polecenie zapamita cay plik (Vim Tutor) pod nazw TEST. - By to sprawdzi wpisz :!dir lub :!ls , eby znowu zobaczy list plikw. - -Uwaga: Zauwa, e gdyby teraz wyszed z Vima, a nastpnie wszed ponownie - poleceniem vim TEST , plik byby dokadn kopi tutoriala kiedy go - zapisywae. - - 5. Teraz usu plik wpisujc (MS-DOS): :!del TEST - lub (Unix): :!rm TEST - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.3.: WYBRANIE TEKSTU DO ZAPISU - - - ** By zachowa cz pliku wpisz v ruch :w NAZWA_PLIKU ** - - 1. Przenie kursor do tego wiersza. - - 2. Wcinij v i przenie kursor do punktu 5. Zauwa, e tekst zosta - podwietlony. - - 3. Wcinij znak : . Na dole ekranu pojawi si :'<,'> . - - 4. Wpisz w TEST , gdzie TEST to nazwa pliku, ktry jeszcze nie istnieje. - Upewnij si, e widzisz :'<,'>w TEST zanim wciniesz Enter. - - 5. Vim zapisze wybrane linie do pliku TEST. Uyj :!dir lub :!ls , eby to - zobaczy. Jeszcze go nie usuwaj! Uyjemy go w nastpnej lekcji. - -UWAGA: Wcinicie v zaczyna tryb Wizualny. Moesz porusza kursorem by - zmieni rozmiary zaznaczenia. Moesz te uy operatora by zrobi co - z tekstem. Na przykad d usuwa tekst. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.4.: WSTAWIANIE I CZENIE PLIKW - - - ** By wstawi zawarto pliku wpisz :r NAZWA_PLIKU ** - - 1. Umie kursor tu powyej tej linii. - -UWAGA: Po wykonaniu kroku 2. zobaczysz tekst z Lekcji 5.3. Potem przejd - do DOU by zobaczy ponownie t lekcj. - - 2. Teraz wczytaj plik TEST uywajc polecenia :r TEST , gdzie TEST - jest nazw pliku. - Wczytany plik jest umieszczony poniej linii z kursorem. - - 3. By sprawdzi czy plik zosta wczytany cofnij kursor i zobacz, e - teraz s dwie kopie Lekcji 5.3., orygina i kopia z pliku. - -UWAGA: Moesz te wczyta wyjcie zewntrznego polecenia. Na przykad - :r !ls wczytuje wyjcie polecenia ls i umieszcza je pod poniej - kursora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 5. PODSUMOWANIE - - - 1. :!polecenie wykonuje polecenie zewntrzne. - - Uytecznymi przykadami s: - - :!dir - pokazuje spis plikw w katalogu. - - :!rm NAZWA_PLIKU - usuwa plik NAZWA_PLIKU. - - 2. :w NAZWA_PLIKU zapisuje obecny plik Vima na dysk z nazw NAZWA_PLIKU. - - 3. v ruch :w NAZWA_PLIKU zapisuje Wizualnie wybrane linie do NAZWA_PLIKU. - - 4. :r NAZWA_PLIKU wczytuje z dysku plik NAZWA_PLIKU i wstawia go do - biecego pliku poniej kursora. - - 5. :r !dir wczytuje wyjcie polecenia dir i umieszcza je poniej kursora. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.1.: POLECENIE OPEN (otwrz) - - - ** Wpisz o by otworzy lini poniej kursora i przenie si do - trybu Insert (wprowadzanie). ** - - 1. Przenie kursor do linii poniej oznaczonej --->. - - 2. Wpisz o (mae) by otworzy lini PONIEJ kursora i przenie si - do trybu Insert (wprowadzanie). - - 3. Wpisz troch tekstu i wcinij <ESC> by wyj z trybu Insert (wprowadzanie). - ----> Po wciniciu o kursor znajdzie si w otwartej linii w trybie Insert. - - 4. By otworzy lini POWYEJ kursora wcinij wielkie O zamiast maego - o . Wyprbuj to na linii poniej. - ----> Otwrz lini powyej wciskajc SHIFT-O gdy kursor bdzie na tej linii. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.2.: POLECENIE APPEND (dodaj) - - - ** Wpisz a by doda tekst ZA kursorem. ** - - 1. Przenie kursor do pocztku pierwszej linii poniej oznaczonej ---> - - 2. Wciskaj e dopki kursor nie bdzie na kocu li . - - 3. Wpisz a (mae) aby doda tekst ZA znakiem pod kursorem. - - 4. Dokocz wyraz tak jak w linii poniej. Wcinij <ESC> aby opuci tryb - Insert. - - 5. Uyj e by przej do kolejnego niedokoczonego wyrazu i powtarzaj kroki - 3. i 4. - ----> Ta li poz Ci wi dodaw teks do ko lin ----> Ta linia pozwoli Ci wiczy dodawanie tekstu do koca linii. - -Uwaga: a , i oraz A prowadz do trybu Insert, jedyn rnic jest miejsce - gdzie nowe znaki bd dodawane. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.3.: INNA WERSJA REPLACE (zamiana) - - - ** Wpisz wielkie R by zamieni wicej ni jeden znak. ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. Przenie - kursor do pierwszego xxx . - - 2. Wcinij R i wpisz numer poniej w drugiej linii, tak, e zastpi on - xxx. - - 3. Wcinij <ESC> by opuci tryb Replace. Zauwa, e reszta linii pozostaje - niezmieniona. - - 5. Powtarzaj kroki by wymieni wszystkie xxx. - ----> Dodanie 123 do xxx daje xxx. ----> Dodanie 123 do 456 daje 579. - -UWAGA: Tryb Replace jest jak tryb Insert, ale kady znak usuwa istniejcy - znak. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.4.: KOPIOWANIE I WKLEJANIE TEKSTU - - - ** uyj operatora y aby skopiowa tekst i p aby go wklei ** - - 1. Przejd do linii oznaczonej ---> i umie kursor za "a)". - - 2. Wejd w tryb Visual v i przenie kursor na pocztek "pierwszy". - - 3. Wcinij y aby yankowa (kopiowa) podwietlony tekst. - - 4. Przenie kursor do koca nastpnej linii: j$ - - 5. Wcinij p aby wpakowa (paste) tekst. Dodaj: a drugi<ESC> . - - 6. Uyj trybu Wizualnego aby wybra " element.", yankuj go y , przejd do - koca nastpnej linii j$ i upakuj tam tekst z p . - ----> a) to jest pierwszy element. - b) -Uwaga: moesz uy y jako operatora; yw kopiuje jeden wyraz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.5.: USTAWIANIE OPCJI - - -** Ustawianie opcji tak by szukaj lub substytucja ignoroway wielko liter ** - - 1. Szukaj 'ignore' wpisujc: /ignore<ENTER> - Powtrz szukanie kilka razy naciskajc klawisz n . - - 2. Ustaw opcj 'ic' (Ignore case -- ignoruj wielko liter) poprzez - wpisanie: :set ic - - 3. Teraz szukaj 'ignore' ponownie wciskajc: n - Zauwa, e Ignore i IGNORE take s teraz znalezione. - - 4. Ustaw opcje 'hlsearch' i 'incsearch': :set hls is - - 5. Teraz wprowad polecenie szukaj ponownie i zobacz co si zdarzy: - /ignore<ENTER> - - 6. Aby wyczy ignorowanie wielkoci liter: :set noic - -Uwaga: Aby usun podwietlanie dopasowa wpisz: :nohlsearch -Uwaga: Aby ignorowa wielko liter dla jednego wyszukiwania: /ignore\c<ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 6. PODSUMOWANIE - - - 1. Wpisanie o otwiera lini PONIEJ kursora. - Wpisanie O otwiera lini POWYEJ kursora. - - 2. Wpisanie a by wstawi tekst ZA znakiem na, ktrym jest kursor. - Wpisanie A dodaje tekst na kocu linii. - - 3. Polecenie e przenosi do koca wyrazu. - 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja, paste) go. - 5. Wpisanie wielkiego R wprowadza w tryb Replace (zamiana) dopki - nie zostanie wcinity <ESC>. - 6. Wpisanie ":set xxx" ustawia opcj "xxx". Nietkre opcje: - 'ic' 'ignorecase' ignoruj wielko znakw - 'is' 'incsearch' poka czciowe dopasowania - 'hls' 'hlsearch' podwietl wszystkie dopasowania - Moesz uy zarwno dugiej jak i krtkiej formy. - 7. Dodaj "no" aby wyczy opcj: :set noic - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 7.1. JAK UZYSKA POMOC - - ** Uycie systemu pomocy on-line ** - - Vim posiada bardzo dobry system pomocy on-line. By zacz sprbuj jednej - z trzech moliwoci: - - wcinij klawisz <HELP> (jeli taki masz) - - wcinij klawisz <F1> (jeli taki masz) - - wpisz :help<ENTER> - - Przeczytaj tekst w oknie pomocy aby dowiedzie si jak dziaa pomoc. - wpisz CTRL-W CTRL-W aby przeskoczy z jednego okna do innego - wpisz :q<ENTER> aby zamkn okno pomocy. - - Moesz te znale pomoc na kady temat podajc argument polecenia ":help". - Sprbuj tych (nie zapomnij wcisn <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 7.2. TWORZENIE SKRYPTU STARTOWEGO - - ** Wcz moliwoci Vima ** - - Vim ma o wiele wicej moliwoci ni Vi, ale wikszo z nich jest domylnie - wyczona. Jeli chcesz wczy te moliwoci na starcie musisz utworzy - plik "vimrc". - - 1. Pocztek edycji pliku "vimrc" zaley od Twojego systemu: - :edit ~/.vimrc dla Uniksa - :edit $VIM/_vimrc dla MS-Windows - 2. Teraz wczytaj przykadowy plik "vimrc": - :read $VIMRUNTIME/vimrc_example.vim - 3. Zapisz plik: - :w - - Nastpnym razem gdy zaczniesz prac w Vimie bdzie on uywa podwietlania - skadni. Moesz doda wszystkie swoje ulubione ustawienia do tego pliku - "vimrc". - Aby uzyska wicej informacji wpisz :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 7.3.: UZUPENIANIE - - - ** Uzupenianie linii polece z CTRL-D i <TAB> ** - - 1. Upewnij si, e Vim nie jest w trybie kompatybilnoci: :set nocp - - 2. Zerknij jakie pliki s w biecm katalogu: :!ls lub :!dir - - 3. Wpisz pocztek polecenia: :e - - 4. Wcinij CTRL-D i Vim pokae list polece jakie zaczynaj si na "e". - - 5. Wcinij <TAB> i Vim uzupeni polecenie do ":edit". - - 6. Dodaj spacj i zacznij wpisywa nazw istniejcego pliku: :edit FIL - - 7. Wcinij <TAB>. Vim uzupeni nazw (jeli jest niepowtarzalna). - -UWAGA: Uzupenianie dziaa dla wielu polece. Sprbuj wcisn CTRL-D i <TAB>. - Uyteczne zwaszcza przy :help . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 7. PODSUMOWANIE - - - 1. Wpisz :help lub wcinij <F1> lub <Help> aby otworzy okno pomocy. - - 2. Wpisz :help cmd aby uzyska pomoc o cmd . - - 3. Wpisz CTRL-W CTRL-W aby przeskoczy do innego okna. - - 4. Wpisz :q aby zamkn okno pomocy. - - 5. Utwrz plik startowy vimrc aby zachowa wybrane ustawienia. - - 6. Po poleceniu : , wcinij CTRL-D aby zobaczy moliwe uzupenienia. - Wcinij <TAB> aby uy jednego z nich. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Tutaj si koczy tutorial Vima. Zosta on pomylany tak aby da krtki - przegld jego moliwoci, wystarczajcy by mg go uywa. Jest on - daleki od kompletnoci poniewa Vim ma o wiele, wiele wicej polece. - - Dla dalszej nauki rekomendujemy ksik: - Vim - Vi Improved - autor Steve Oualline - Wydawca: New Riders - Pierwsza ksizka cakowicie powicona Vimowi. Uyteczna zwaszcza dla - pocztkujcych. Zawiera wiele przykadw i ilustracji. - Zobacz http://iccf-holland.org./click5.html - - Starsza pozycja i bardziej o Vi ni o Vimie, ale take warta - polecenia: - Learning the Vi Editor - autor Linda Lamb - Wydawca: O'Reilly & Associates Inc. - To dobra ksika by dowiedzie si niemal wszystkiego co chciaby zrobi - z Vi. Szsta edycja zawiera te informacje o Vimie. - - Po polsku wydano: - Edytor vi. Leksykon kieszonkowy - autor Arnold Robbins - Wydawca: Helion 2001 (O'Reilly). - ISBN: 83-7197-472-8 - http://helion.pl/ksiazki/vilek.htm - Jest to ksieczka zawierajca spis polece vi i jego najwaniejszych - klonw (midzy innymi Vima). - - Edytor vi - autorzy Linda Lamb i Arnold Robbins - Wydawca: Helion 2001 (O'Reilly) - wg 6. ang. wydania - ISBN: 83-7197-539-2 - http://helion.pl/ksiazki/viedyt.htm - Rozszerzona wersja Learning the Vi Editor w polskim tumaczeniu. - - Ten tutorial zosta napisany przez Michaela C. Pierce'a i Roberta K. Ware'a, - Colorado School of Mines korzystajc z pomocy Charlesa Smitha, - Colorado State University. - E-mail: bware@mines.colorado.edu. - - Zmodyfikowane dla Vima przez Brama Moolenaara. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Przetumaczone przez Mikoaja Machowskiego, - Sierpie 2001, - rev. Marzec 2002 - 2nd rev. Wrzesie 2004 - 3rd rev. Marzec 2006 - Wszelkie uwagi prosz kierowa na: mikmach@wp.pl diff --git a/runtime/tutor/tutor.pl.cp1250 b/runtime/tutor/tutor.pl.cp1250 deleted file mode 100644 index 2c62b75d1..000000000 --- a/runtime/tutor/tutor.pl.cp1250 +++ /dev/null @@ -1,994 +0,0 @@ -=============================================================================== -= W i t a j w t u t o r i a l u V I M - a - Wersja 1.7. = -=============================================================================== - - Vim to potny edytor, ktry posiada wiele polece, zbyt duo by - wyjani je wszystkie w tym tutorialu. Ten przewodnik ma nauczy - Ci posugiwa si wystarczajco wieloma komendami by mg atwo - uywa Vima jako edytora oglnego przeznaczenia. - - Czas potrzebny na ukoczenie tutoriala to 25 do 30 minut i zaley - od tego jak wiele czasu spdzisz na eksperymentowaniu. - - UWAGA: - Polecenia wykonywane w czasie lekcji zmodyfikuj tekst. Zrb - wczeniej kopi tego pliku do wicze (jeli zacze komend - "vimtutor" to ju pracujesz na kopii). - - Pamitaj e przewodnik ten zosta zaprojektowany do nauki poprzez - wiczenia. Oznacza to, e musisz wykonywa polecenia by nauczy si ich - prawidowo. Jeli bdziesz jedynie czyta tekst szybko zapomnisz wiele - polece! - - Teraz upewnij si, e nie masz wcinitego CapsLocka i wciskaj j - tak dugo dopki Lekcja 1.1. nie wypeni cakowicie ekranu. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.1.: PORUSZANIE SI KURSOREM - - ** By wykona ruch kursorem, wcinij h, j, k, l jak pokazano. ** - - ^ - k Wskazwka: h jest po lewej - < h l > l jest po prawej - j j wyglda jak strzaka w d - v - 1. Poruszaj kursorem dopki nie bdziesz pewien, e pamitasz polecenia. - - 2. Trzymaj j tak dugo a bdzie si powtarza. - Teraz wiesz jak doj do nastpnej lekcji. - - 3. Uywajc strzaki w d przejd do nastpnej lekcji. - -Uwaga: Jeli nie jeste pewien czego co wpisae, wcinij <ESC> by wrci do - trybu Normal. Wtedy powtrz polecenie. - -Uwaga: Klawisze kursora take powinny dziaa, ale uywajc hjkl bdziesz - w stanie porusza si o wiele szybciej jak si tylko przyzwyczaisz. - Naprawd! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.2.: WYCHODZENIE Z VIM-a - - !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj ca lekcj.!! - - 1. Wcinij <ESC> (aby upewni si, e jeste w trybie Normal). - 2. Wpisz: :q!<ENTER>. - To spowoduje wyjcie z edytora PORZUCAJC wszelkie zmiany jakie - zdye zrobi. Jeli chcesz zapamita zmiany i wyj - wpisz: :wq<ENTER> - - 3. Kiedy widzisz znak zachty powoki wpisz komend, eby wrci - do tutoriala. Czyli: vimtutor<ENTER> - - 4. Jeli chcesz zapamita polecenia, wykonaj kroki 1. do 3. aby - wyj i wrci do edytora. - -UWAGA: :q!<ENTER> porzuca wszelkie zmiany jakie zrobie. W nastpnych - lekcjach dowiesz si jak je zapamitywa. - - 5. Przenie kursor do lekcji 1.3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.3.: EDYCJA TEKSTU - KASOWANIE - - ** Wcinij x aby usun znak pod kursorem. ** - - 1. Przenie kursor do linii poniej oznaczonej --->. - - 2. By poprawi bdy, naprowad kursor na znak do usunicia. - - 3. Wcinij x aby usun niechciany znak. - - 4. Powtarzaj kroki 2. do 4. dopki zdanie nie jest poprawne. - ----> Kkrowa prrzeskoczya prrzez ksiiycc. - - 5. Teraz kiedy zdanie jest poprawione przejd do Lekcji 1.4. - -UWAGA: Ucz si przez wiczenie, nie wkuwanie. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.4.: EDYCJA TEKSTU - INSERT (wprowadzanie) - - - ** Wcinij i aby wstawi tekst. ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. - - 2. Aby poprawi pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym - gdzie tekst ma by wstawiony. - - 3. Wcinij i a nastpnie wpisz konieczne poprawki. - - 4. Po poprawieniu bdu wcinij <ESC> by wrci do trybu Normal. - Powtarzaj kroki 2. do 4. aby poprawi cae zdanie. - ----> W tej brkje troch . ----> W tej linii brakuje troch tekstu. - - 5. Kiedy czujesz si swobodnie wstawiajc tekst przejd do - podsumowania poniej. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.5.: EDYCJA TEKSTU - APPENDING (dodawanie) - - - ** Wcinij A by doda tekst. ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. - Nie ma znaczenia, ktry to bdzie znak. - - 2. Wcinij A i wpisz odpowiednie dodatki. - - 3. Kiedy tekst zosta dodany, wcinij <ESC> i wr do trybu Normalnego. - - 4. Przenie kursor do drugiej linii oznaczonej ---> i powtrz kroki 2 i 3 - aby poprawi zdanie. - ----> Brakuje tu tro - Brakuje tu troch tekstu. ----> Tu te troch bra - Tu te troch brakuje. - - 5. Kiedy ju utrwalie wiczenie przejd do lekcji 1.6. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.6.: EDYCJA PLIKU - - - ** Uyj :wq aby zapisa plik i wyj. ** - - !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczyaj ca lekcj !! - - 1. Zakocz tutorial tak jak w lekcji 1.2.: :q! - - 2. W powoce wydaj polecenie: vim tutor<ENTER> - "vim" jest poleceniem uruchamiajcym edytor Vim. 'tutor' to nazwa pliku - jaki chcesz edytowa. Uyj pliku jaki moe zosta zmieniony. - - 3. Dodaj i usu tekst tak jak si nauczye w poprzednich lekcjach. - - 4. Zapisz plik ze zmianami i opu Vima: :wq<ENTER> - - 5. Uruchom ponownie vimtutor i przejd do podsumowania lekcji. - - 6. Po przeczytaniu wszystkich krokw i ich zrozumieniu: wykonaj je. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 1. PODSUMOWANIE - - 1. Poruszasz kursorem uywajc "strzaek" i klawiszy hjkl . - h (w lewo) j (w d) k (do gry) l (w prawo) - - 2. By wej do Vima (z powoki) wpisz: - vim NAZWA_PLIKU<ENTER> - - 3. By wyj z Vima wpisz: - <ESC> :q!<ENTER> by usunc wszystkie zmiany. - LUB: <ESC> :wq<ENTER> by zmiany zachowa. - - 4. By usun znak pod kursorem wcinij: x - - 5. By wstawi tekst przed kursorem lub doda: - i wpisz tekst <ESC> wstawi przed kursorem - A wpisz tekst <ESC> doda na kocu linii - -UWAGA: Wcinicie <ESC> przeniesie Ci z powrotem do trybu Normal - lub odwoa niechciane lub czciowo wprowadzone polecenia. - -Teraz moemy kontynuowa i przej do Lekcji 2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.1.: POLECENIE DELETE (usuwanie) - - - ** Wpisz dw by usunc wyraz. ** - - 1. Wcinij <ESC> by upewni si, e jeste w trybie Normal. - - 2. Przenie kursor do linii poniej oznaczonej --->. - - 3. Przesu kursor na pocztek wyrazu, ktre chcesz usun. - - 4. Wpisz dw by usun wyraz. - - UWAGA: Litera d pojawi si na dole ekranu. Vim czeka na wpisanie w . - Jeli zobaczysz inny znak oznacza to, e wpisae co le, wcinij - <ESC> i zacznij od pocztku. - ----> Jest tu par papier wyrazw, ktre kamie nie nale do noyce tego zdania. - - 5. Powtarzaj kroki 3. i 4. dopki zdanie nie bdzie poprawne, potem - przejd do Lekcji 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.2.: WICEJ POLECE USUWAJCYCH - - - ** Wpisz d$ aby usun tekst do koca linii. ** - - 1. Wcinij <ESC> aby si upewni, e jeste w trybie Normal. - - 2. Przenie kursor do linii poniej oznaczonej --->. - - 3. Przenie kursor do koca poprawnego zdania (PO pierwszej . ). - - 4. Wpisz d$ aby usun reszt linii. - ----> Kto wpisa koniec tego zdania dwukrotnie. zdania dwukrotnie. - - - 5. Przejd do Lekcji 2.3. by zrozumie co si stao. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.3.: O OPERATORACH I RUCHACH - - - Wiele polece zmieniajcych tekst s zoone z operatora i ruchu. - Format dla polecenia usuwajcego z operatorem d jest taki: - - d ruch - - Gdzie: - d - operator usuwania. - ruch - na czym polecenie bdzie wykonywane (lista poniej). - - Krtka lista ruchw: - w - do pocztku nastpnego wyrazu WYCZAJC pierwszy znak. - e - do koca biecego wyrazu, WCZAJC ostatni znak. - $ - do koca linii, WCZAJC ostatni znak. - -W ten sposb wpisanie de usunie znaki od kursora do koca wyrazu. - -UWAGA: Wpisanie tylko ruchu w trybie Normal bez operatora przeniesie kursor - tak jak to okrelono. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.4.: UYCIE MNONIKA DLA RUCHU - - - ** Wpisanie liczby przed ruchem powtarza ruch odpowiedni ilo razy. ** - - 1. Przenie kursor na pocztek linii poniej zaznaczonej --->. - - 2. Wpisz 2w aby przenie kursor o dwa wyrazy do przodu. - - 3. Wpisz 3e aby przenie kursor do koca trzeciego wyrazu w przd. - - 4. Wpisz 0 (zero) aby przenie kursor do pocztku linii. - - 5. Powtrz kroki 2. i 3. z innymi liczbami. - - - ---> To jest zwyky wiersz z wyrazami po ktrych moesz si porusza. - - 6. Przejd do lekcji 2.5. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.5.: UYCIE MNONIKA BY WICEJ USUN - - - ** Wpisanie liczby z operatorem powtarza go odpowiedni ilo razy. ** - - W wyej wspomnianej kombinacji operatora usuwania i ruchu podaj mnonik - przed ruchem by wicej usun: - d liczba ruch - - 1. Przenie kursor do pierwszego wyrazu KAPITALIKAMI w linii zaznaczonej --->. - - 2. Wpisz 2dw aby usun dwa wyrazy KAPITALIKAMI. - - 3. Powtarzaj kroki 1. i 2. z innymi mnonikami aby usun kolejne wyrazy - KAPITALIKAMI jednym poleceniem - ----> ta ASD WE linia QWE ASDF ZXCV FG wyrazw zostaa ERT FGH CF oczyszczona. - -UWAGA: Mnonik pomidzy operatorem d i ruchem dziaa podobnie do ruchu bez - operatora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.6.: OPEROWANIE NA LINIACH - - - ** Wpisz dd aby usun ca lini. ** - - Z powodu czstoci usuwania caych linii, projektanci Vi zdecydowali, e - bdzie atwiej wpisa dwa razy d aby usun lini. - - 1. Przenie kursor do drugiego zdania z wierszyka poniej. - 2. Wpisz dd aby usun wiersz. - 3. Teraz przenie si do czwartego wiersza. - 4. Wpisz 2dd aby usunc dwa wiersze. - ----> 1) Re s czerwone, ----> 2) Boto jest fajne, ----> 3) Fioki s niebieskie, ----> 4) Mam samochd, ----> 5) Zegar podaje czas, ----> 6) Cukier jest sodki, ----> 7) I ty te. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.7.: POLECENIE UNDO (cofnij) - - - ** Wcinij u aby cofn skutki ostatniego polecenia. - U za, by cofn skutki dla caej linii. ** - - 1. Przenie kursor do zdania poniej oznaczonego ---> i umie go na - pierwszym bdzie. - 2. Wpisz x aby usun pierwszy niechciany znak. - 3. Teraz wcinij u aby cofn skutki ostatniego polecenia. - 4. Tym razem popraw wszystkie bdy w linii uywajc polecenia x . - 5. Teraz wcinij wielkie U aby przywrci lini do oryginalnego stanu. - 6. Teraz wcinij u kilka razy by cofn U i poprzednie polecenia. - 7. Teraz wpisz CTRL-R (trzymaj rwnoczenie wcinite klawisze CTRL i R) - kilka razy, by cofn cofnicia. - ----> Poopraw bldyyy w teej liniii i zaamiie je prrzez coofnij. - - 8. To s bardzo poyteczne polecenia. - - Przejd teraz do podsumowania Lekcji 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 2. PODSUMOWANIE - - - 1. By usun znaki od kursora do nastpnego wyrazu wpisz: dw - 2. By usun znaki od kursora do koca linii wpisz: d$ - 3. By usun ca lini: dd - 4. By powtrzy ruch poprzed go liczb: 2w - 5. Format polecenia zmiany to: - operator [liczba] ruch - gdzie: - operator - to co trzeba zrobi (np. d dla usuwania) - [liczba] - opcjonalne, ile razy powtrzy ruch - ruch - przenosi nad tekstem do operowania, takim jak w (wyraz), - $ (do koca linii), etc. - - 6. By przej do pocztku linii uyj zera: 0 - 7. By cofn poprzednie polecenie, wpisz: u (mae u) - By cofn wszystkie zmiany w linii wpisz: U (wielkie U) - By cofn cofnicia wpisz: CTRL-R - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.1.: POLECENIE PUT (wstaw) - - - ** Wpisz p by wstawi ostatnie usunicia za kursorem. ** - - 1. Przenie kursor do pierwszej linii ---> poniej. - - 2. Wpisz dd aby usun lini i przechowa j w rejestrze Vima. - - 3. Przenie kursor do linii c), POWYEJ tej gdzie usunita linia powinna - si znajdowa. - - 4. Wcinij p by wstawi lini poniej kursora. - - 5. Powtarzaj kroki 2. do 4. a znajd si w odpowiednim porzdku. - ----> d) Jak dwa anioki. ----> b) Na dole fioki, ----> c) A my si kochamy, ----> a) Na grze re, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.2.: POLECENIE REPLACE (zastp) - - - ** Wpisz rx aby zastpi znak pod kursorem na x . ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej ---> - - 2. Ustaw kursor na pierwszym bdzie. - - 3. Wpisz r a potem znak jaki powinien go zastpi. - - 4. Powtarzaj kroki 2. i 3. dopki pierwsza linia nie bdzie taka jak druga. - ----> Kjedy ten wiersz bi wstkiwany kto wcizn per zych klawirzy! ----> Kiedy ten wiersz by wstukiwany kto wcisn par zych klawiszy! - - 5. Teraz czas na Lekcj 3.3. - - -UWAGA: Pamitaj by uczy si wiczc, a nie pamiciowo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.3.: OPERATOR CHANGE (zmie) - - ** By zmieni do koca wyrazu wpisz ce . ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. - - 2. Umie kursor na u w lunos. - - 3. Wpisz ce i popraw wyraz (w tym wypadku wstaw inia ). - - 4. Wcinij <ESC> i przejd do nastpnej planowanej zmiany. - - 5. Powtarzaj kroki 3. i 4. dopki pierwsze zdanie nie bdzie takie same - jak drugie. - ----> Ta lunos ma pire sw, ktre tina zbnic uifajonc pcmazu zmie. ----> Ta linia ma par sw, ktre trzeba zmieni uywajc polecenia zmie. - - Zauwa, e ce nie tylko zamienia wyraz, ale take zmienia tryb na - Insert (wprowadzanie). - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.4.: WICEJ ZMIAN UYWAJC c - - - ** Polecenie change uywa takich samych ruchw jak delete. ** - - 1. Operator change dziaa tak samo jak delete. Format wyglda tak: - - c [liczba] ruch - - 2. Ruchy s take takie same, np.: w (wyraz), $ (koniec linii), etc. - - 3. Przenie si do pierwszej linii poniej oznaczonej ---> - - 4. Ustaw kursor na pierwszym bdzie. - - 5. Wpisz c$ , popraw koniec wiersza i wcinij <ESC>. - ----> Koniec tego wiersza musi by poprawiony aby wyglda tak jak drugi. ----> Koniec tego wiersza musi by poprawiony uywajc polecenia c$ . - -UWAGA: Moesz uywa <BS> aby poprawia bdy w czasie pisania. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 3. PODSUMOWANIE - - - 1. Aby wstawi tekst, ktry zosta wczeniej usunity wcinij p . To - polecenie wstawia skasowany tekst PO kursorze (jeli caa linia - zostaa usunita, zostanie ona umieszczona w linii poniej kursora). - - 2. By zamieni znak pod kursorem wcinij r a potem znak, ktry ma zastpi - oryginalny. - - 3. Operator change pozwala Ci na zastpienie od kursora do miejsca gdzie - zabraby ci ruch. Np. wpisz ce aby zamieni tekst od kursora do koca - wyrazu, c$ aby zmieni tekst do koca linii. - - 4. Format do polecenia change (zmie): - - c [liczba] obiekt - - Teraz przejd do nastpnej lekcji. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.1.: POOENIE KURSORA ORAZ STATUS PLIKU - - ** Nacinij CTRL-G aby zobaczy swoje pooenie w pliku i status - pliku. Nacinij G aby przej do linii w pliku. ** - - UWAGA: Przeczytaj ca lekcj zanim wykonasz jakie polecenia!!! - - 1. Przytrzymaj klawisz CTRL i wcinij g . Uywamy notacji CTRL-G. - Na dole strony pojawi si pasek statusu z nazw pliku i pozycj w pliku. - Zapamitaj numer linii dla potrzeb kroku 3. - -UWAGA: Moesz te zobaczy pozycj kursora w prawym, dolnym rogu ekranu. - Dzieje si tak kiedy ustawiona jest opcja 'ruler' (wyjanione w lekcji 6.). - - 2. Wcinij G aby przej na koniec pliku. - Wcinij gg aby przej do pocztku pliku. - - 3. Wpisz numer linii, w ktrej bye a potem G . To przeniesie ci - z powrotem do linii, w ktrej bye kiedy wcisne CTRL-G. - - 4. Jeli czujesz si wystarczajco pewnie, wykonaj kroki 1-3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.2.: POLECENIE SZUKAJ - - - ** Wpisz / a nastpnie wyraenie aby je znale. ** - - 1. W trybie Normal wpisz / . Zauwa, e znak ten, oraz kursor pojawi - si na dole ekranu tak samo jak polecenie : . - - 2. Teraz wpisz bond<ENTER> . To jest sowo, ktrego chcesz szuka. - - 3. By szuka tej samej frazy ponownie, po prostu wcinij n . - Aby szuka tej frazy w przeciwnym, kierunku wcinij N . - - 4. Jeli chcesz szuka frazy do tyu, uyj polecenia ? zamiast / . - - 5. Aby wrci gdzie bye wcinij CTRL-O. Powtarzaj by wrci dalej. CTRL-I - idzie do przodu. - -Uwaga: 'bond' to nie jest metoda by przeliterowa bd; 'bond' to bd. -Uwaga: Kiedy szukanie osignie koniec pliku bdzie kontynuowao od pocztku - o ile opcja 'wrapscan' nie zostaa przestawiona. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.3.: W POSZUKIWANIU PARUJCYCH NAWIASW - - - ** Wpisz % by znale parujcy ), ], lub } . ** - - 1. Umie kursor na ktrym z (, [, lub { w linii poniej oznaczonej --->. - - 2. Teraz wpisz znak % . - - 3. Kursor powinien si znale na parujcym nawiasie. - - 4. Wcinij % aby przenie kursor z powrotem do parujcego nawiasu. - - 5. Przenie kursor do innego (,),[,],{ lub } i zobacz co robi % . - ----> To ( jest linia testowa z (, [, ] i {, } . )) - -Uwaga: Ta funkcja jest bardzo uyteczna w debuggowaniu programu - z niesparowanymi nawiasami! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.4.: POLECENIE SUBSTITUTE (zamiana) - - - ** Wpisz :s/stary/nowy/g aby zamieni 'stary' na 'nowy'. ** - - 1. Przenie kursor do linii poniej oznaczonej --->. - - 2. Wpisz :s/czaas/czas<ENTER> . Zauwa, e to polecenie zmienia - tylko pierwsze wystpienie 'czaas' w linii. - - 3. Teraz wpisz :s/czaas/czas/g . Dodane g oznacza zamian (substytucj) - globalnie w caej linii. Zmienia wszystkie wystpienia 'czaas' w linii. - ----> Najlepszy czaas na zobaczenie najadniejszych kwiatw to czaas wiosny. - - 4. Aby zmieni wszystkie wystpienia acucha znakw pomidzy dwoma liniami, - wpisz: :#,#s/stare/nowe/g gdzie #,# s numerami linii ograniczajcych - region gdzie ma nastpi zamiana. - wpisz :%s/stare/nowe/g by zmieni wszystkie wystpienia w caym pliku. - wpisz :%s/stare/nowe/gc by zmieni wszystkie wystpienia w caym - pliku, proszc o potwierdzenie za kadym razem - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 4. PODSUMOWANIE - - 1. CTRL-G pokae Twoj pozycj w pliku i status pliku. SHIFT-G przenosi - ci do koca pliku. - G przenosi do koca pliku. - liczba G przenosi do linii [liczba]. - gg przenosi do pierwszej linii. - - 2. Wpisanie / a nastpnie acucha znakw szuka acucha DO PRZODU. - Wpisanie ? a nastpnie acucha znakw szuka acucha DO TYU. - Po wyszukiwaniu wcinij n by znale nastpne wystpienie szukanej - frazy tym samym kierunku lub N by szuka w kierunku przeciwnym. - CTRL-O przenosi do starszych pozycji, CTRL-I do nowszych. - - 3. Wpisanie % gdy kursor znajduje si na (,),[,],{, lub } lokalizuje - parujcy znak. - - 4. By zamieni pierwszy stary na nowy w linii wpisz :s/stary/nowy - By zamieni wszystkie stary na nowy w linii wpisz :s/stary/nowy/g - By zamieni frazy pomidzy dwoma liniami # wpisz :#,#s/stary/nowy/g - By zamieni wszystkie wystpienia w pliku wpisz :%s/stary/nowy/g - By Vim prosi Ci o potwierdzenie dodaj 'c' :%s/stary/nowy/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.1.: JAK WYKONA POLECENIA ZEWNTRZNE - - - ** Wpisz :! a nastpnie zewntrzne polecenie by je wykona. ** - - 1. Wpisz znajome polecenie : by ustawi kursor na dole ekranu. To pozwala - na wprowadzenie komendy linii polece. - - 2. Teraz wstaw ! (wykrzyknik). To umoliwi Ci wykonanie dowolnego - zewntrznego polecenia powoki. - - 3. Jako przykad wpisz ls za ! a nastpnie wcinij <ENTER>. To polecenie - pokae spis plikw w Twoim katalogu, tak jakby by przy znaku zachty - powoki. Moesz te uy :!dir jeli ls nie dziaa. - -Uwaga: W ten sposb mona wykona wszystkie polecenia powoki. -Uwaga: Wszystkie polecenia : musz by zakoczone <ENTER>. - Od tego momentu nie zawsze bdziemy o tym wspomina. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.2.: WICEJ O ZAPISYWANIU PLIKW - - - ** By zachowa zmiany w tekci wpisz :w NAZWA_PLIKU . ** - - 1. Wpisz :!dir lub :!ls by zobaczy spis plikw w katalogu. - Ju wiesz, e musisz wcisn <ENTER> po tym. - - 2. Wybierz nazw pliku jaka jeszcze nie istnieje, np. TEST. - - 3. Teraz wpisz: :w TEST (gdzie TEST jest nazw pliku jak wybrae.) - - 4. To polecenie zapamita cay plik (Vim Tutor) pod nazw TEST. - By to sprawdzi wpisz :!dir lub :!ls , eby znowu zobaczy list plikw. - -Uwaga: Zauwa, e gdyby teraz wyszed z Vima, a nastpnie wszed ponownie - poleceniem vim TEST , plik byby dokadn kopi tutoriala kiedy go - zapisywae. - - 5. Teraz usu plik wpisujc (MS-DOS): :!del TEST - lub (Unix): :!rm TEST - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.3.: WYBRANIE TEKSTU DO ZAPISU - - - ** By zachowa cz pliku wpisz v ruch :w NAZWA_PLIKU ** - - 1. Przenie kursor do tego wiersza. - - 2. Wcinij v i przenie kursor do punktu 5. Zauwa, e tekst zosta - podwietlony. - - 3. Wcinij znak : . Na dole ekranu pojawi si :'<,'> . - - 4. Wpisz w TEST , gdzie TEST to nazwa pliku, ktry jeszcze nie istnieje. - Upewnij si, e widzisz :'<,'>w TEST zanim wciniesz Enter. - - 5. Vim zapisze wybrane linie do pliku TEST. Uyj :!dir lub :!ls , eby to - zobaczy. Jeszcze go nie usuwaj! Uyjemy go w nastpnej lekcji. - -UWAGA: Wcinicie v zaczyna tryb Wizualny. Moesz porusza kursorem by - zmieni rozmiary zaznaczenia. Moesz te uy operatora by zrobi co - z tekstem. Na przykad d usuwa tekst. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.4.: WSTAWIANIE I CZENIE PLIKW - - - ** By wstawi zawarto pliku wpisz :r NAZWA_PLIKU ** - - 1. Umie kursor tu powyej tej linii. - -UWAGA: Po wykonaniu kroku 2. zobaczysz tekst z Lekcji 5.3. Potem przejd - do DOU by zobaczy ponownie t lekcj. - - 2. Teraz wczytaj plik TEST uywajc polecenia :r TEST , gdzie TEST - jest nazw pliku. - Wczytany plik jest umieszczony poniej linii z kursorem. - - 3. By sprawdzi czy plik zosta wczytany cofnij kursor i zobacz, e - teraz s dwie kopie Lekcji 5.3., orygina i kopia z pliku. - -UWAGA: Moesz te wczyta wyjcie zewntrznego polecenia. Na przykad - :r !ls wczytuje wyjcie polecenia ls i umieszcza je pod poniej - kursora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 5. PODSUMOWANIE - - - 1. :!polecenie wykonuje polecenie zewntrzne. - - Uytecznymi przykadami s: - - :!dir - pokazuje spis plikw w katalogu. - - :!rm NAZWA_PLIKU - usuwa plik NAZWA_PLIKU. - - 2. :w NAZWA_PLIKU zapisuje obecny plik Vima na dysk z nazw NAZWA_PLIKU. - - 3. v ruch :w NAZWA_PLIKU zapisuje Wizualnie wybrane linie do NAZWA_PLIKU. - - 4. :r NAZWA_PLIKU wczytuje z dysku plik NAZWA_PLIKU i wstawia go do - biecego pliku poniej kursora. - - 5. :r !dir wczytuje wyjcie polecenia dir i umieszcza je poniej kursora. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.1.: POLECENIE OPEN (otwrz) - - - ** Wpisz o by otworzy lini poniej kursora i przenie si do - trybu Insert (wprowadzanie). ** - - 1. Przenie kursor do linii poniej oznaczonej --->. - - 2. Wpisz o (mae) by otworzy lini PONIEJ kursora i przenie si - do trybu Insert (wprowadzanie). - - 3. Wpisz troch tekstu i wcinij <ESC> by wyj z trybu Insert (wprowadzanie). - ----> Po wciniciu o kursor znajdzie si w otwartej linii w trybie Insert. - - 4. By otworzy lini POWYEJ kursora wcinij wielkie O zamiast maego - o . Wyprbuj to na linii poniej. - ----> Otwrz lini powyej wciskajc SHIFT-O gdy kursor bdzie na tej linii. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.2.: POLECENIE APPEND (dodaj) - - - ** Wpisz a by doda tekst ZA kursorem. ** - - 1. Przenie kursor do pocztku pierwszej linii poniej oznaczonej ---> - - 2. Wciskaj e dopki kursor nie bdzie na kocu li . - - 3. Wpisz a (mae) aby doda tekst ZA znakiem pod kursorem. - - 4. Dokocz wyraz tak jak w linii poniej. Wcinij <ESC> aby opuci tryb - Insert. - - 5. Uyj e by przej do kolejnego niedokoczonego wyrazu i powtarzaj kroki - 3. i 4. - ----> Ta li poz Ci wi dodaw teks do ko lin ----> Ta linia pozwoli Ci wiczy dodawanie tekstu do koca linii. - -Uwaga: a , i oraz A prowadz do trybu Insert, jedyn rnic jest miejsce - gdzie nowe znaki bd dodawane. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.3.: INNA WERSJA REPLACE (zamiana) - - - ** Wpisz wielkie R by zamieni wicej ni jeden znak. ** - - 1. Przenie kursor do pierwszej linii poniej oznaczonej --->. Przenie - kursor do pierwszego xxx . - - 2. Wcinij R i wpisz numer poniej w drugiej linii, tak, e zastpi on - xxx. - - 3. Wcinij <ESC> by opuci tryb Replace. Zauwa, e reszta linii pozostaje - niezmieniona. - - 5. Powtarzaj kroki by wymieni wszystkie xxx. - ----> Dodanie 123 do xxx daje xxx. ----> Dodanie 123 do 456 daje 579. - -UWAGA: Tryb Replace jest jak tryb Insert, ale kady znak usuwa istniejcy - znak. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.4.: KOPIOWANIE I WKLEJANIE TEKSTU - - - ** uyj operatora y aby skopiowa tekst i p aby go wklei ** - - 1. Przejd do linii oznaczonej ---> i umie kursor za "a)". - - 2. Wejd w tryb Visual v i przenie kursor na pocztek "pierwszy". - - 3. Wcinij y aby yankowa (kopiowa) podwietlony tekst. - - 4. Przenie kursor do koca nastpnej linii: j$ - - 5. Wcinij p aby wpakowa (paste) tekst. Dodaj: a drugi<ESC> . - - 6. Uyj trybu Wizualnego aby wybra " element.", yankuj go y , przejd do - koca nastpnej linii j$ i upakuj tam tekst z p . - ----> a) to jest pierwszy element. - b) -Uwaga: moesz uy y jako operatora; yw kopiuje jeden wyraz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.5.: USTAWIANIE OPCJI - - -** Ustawianie opcji tak by szukaj lub substytucja ignoroway wielko liter ** - - 1. Szukaj 'ignore' wpisujc: /ignore<ENTER> - Powtrz szukanie kilka razy naciskajc klawisz n . - - 2. Ustaw opcj 'ic' (Ignore case -- ignoruj wielko liter) poprzez - wpisanie: :set ic - - 3. Teraz szukaj 'ignore' ponownie wciskajc: n - Zauwa, e Ignore i IGNORE take s teraz znalezione. - - 4. Ustaw opcje 'hlsearch' i 'incsearch': :set hls is - - 5. Teraz wprowad polecenie szukaj ponownie i zobacz co si zdarzy: - /ignore<ENTER> - - 6. Aby wyczy ignorowanie wielkoci liter: :set noic - -Uwaga: Aby usun podwietlanie dopasowa wpisz: :nohlsearch -Uwaga: Aby ignorowa wielko liter dla jednego wyszukiwania: /ignore\c<ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 6. PODSUMOWANIE - - - 1. Wpisanie o otwiera lini PONIEJ kursora. - Wpisanie O otwiera lini POWYEJ kursora. - - 2. Wpisanie a by wstawi tekst ZA znakiem na, ktrym jest kursor. - Wpisanie A dodaje tekst na kocu linii. - - 3. Polecenie e przenosi do koca wyrazu. - 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja, paste) go. - 5. Wpisanie wielkiego R wprowadza w tryb Replace (zamiana) dopki - nie zostanie wcinity <ESC>. - 6. Wpisanie ":set xxx" ustawia opcj "xxx". Nietkre opcje: - 'ic' 'ignorecase' ignoruj wielko znakw - 'is' 'incsearch' poka czciowe dopasowania - 'hls' 'hlsearch' podwietl wszystkie dopasowania - Moesz uy zarwno dugiej jak i krtkiej formy. - 7. Dodaj "no" aby wyczy opcj: :set noic - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 7.1. JAK UZYSKA POMOC - - ** Uycie systemu pomocy on-line ** - - Vim posiada bardzo dobry system pomocy on-line. By zacz sprbuj jednej - z trzech moliwoci: - - wcinij klawisz <HELP> (jeli taki masz) - - wcinij klawisz <F1> (jeli taki masz) - - wpisz :help<ENTER> - - Przeczytaj tekst w oknie pomocy aby dowiedzie si jak dziaa pomoc. - wpisz CTRL-W CTRL-W aby przeskoczy z jednego okna do innego - wpisz :q<ENTER> aby zamkn okno pomocy. - - Moesz te znale pomoc na kady temat podajc argument polecenia ":help". - Sprbuj tych (nie zapomnij wcisn <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 7.2. TWORZENIE SKRYPTU STARTOWEGO - - ** Wcz moliwoci Vima ** - - Vim ma o wiele wicej moliwoci ni Vi, ale wikszo z nich jest domylnie - wyczona. Jeli chcesz wczy te moliwoci na starcie musisz utworzy - plik "vimrc". - - 1. Pocztek edycji pliku "vimrc" zaley od Twojego systemu: - :edit ~/.vimrc dla Uniksa - :edit $VIM/_vimrc dla MS-Windows - 2. Teraz wczytaj przykadowy plik "vimrc": - :read $VIMRUNTIME/vimrc_example.vim - 3. Zapisz plik: - :w - - Nastpnym razem gdy zaczniesz prac w Vimie bdzie on uywa podwietlania - skadni. Moesz doda wszystkie swoje ulubione ustawienia do tego pliku - "vimrc". - Aby uzyska wicej informacji wpisz :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 7.3.: UZUPENIANIE - - - ** Uzupenianie linii polece z CTRL-D i <TAB> ** - - 1. Upewnij si, e Vim nie jest w trybie kompatybilnoci: :set nocp - - 2. Zerknij jakie pliki s w biecm katalogu: :!ls lub :!dir - - 3. Wpisz pocztek polecenia: :e - - 4. Wcinij CTRL-D i Vim pokae list polece jakie zaczynaj si na "e". - - 5. Wcinij <TAB> i Vim uzupeni polecenie do ":edit". - - 6. Dodaj spacj i zacznij wpisywa nazw istniejcego pliku: :edit FIL - - 7. Wcinij <TAB>. Vim uzupeni nazw (jeli jest niepowtarzalna). - -UWAGA: Uzupenianie dziaa dla wielu polece. Sprbuj wcisn CTRL-D i <TAB>. - Uyteczne zwaszcza przy :help . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 7. PODSUMOWANIE - - - 1. Wpisz :help lub wcinij <F1> lub <Help> aby otworzy okno pomocy. - - 2. Wpisz :help cmd aby uzyska pomoc o cmd . - - 3. Wpisz CTRL-W CTRL-W aby przeskoczy do innego okna. - - 4. Wpisz :q aby zamkn okno pomocy. - - 5. Utwrz plik startowy vimrc aby zachowa wybrane ustawienia. - - 6. Po poleceniu : , wcinij CTRL-D aby zobaczy moliwe uzupenienia. - Wcinij <TAB> aby uy jednego z nich. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Tutaj si koczy tutorial Vima. Zosta on pomylany tak aby da krtki - przegld jego moliwoci, wystarczajcy by mg go uywa. Jest on - daleki od kompletnoci poniewa Vim ma o wiele, wiele wicej polece. - - Dla dalszej nauki rekomendujemy ksik: - Vim - Vi Improved - autor Steve Oualline - Wydawca: New Riders - Pierwsza ksizka cakowicie powicona Vimowi. Uyteczna zwaszcza dla - pocztkujcych. Zawiera wiele przykadw i ilustracji. - Zobacz http://iccf-holland.org./click5.html - - Starsza pozycja i bardziej o Vi ni o Vimie, ale take warta - polecenia: - Learning the Vi Editor - autor Linda Lamb - Wydawca: O'Reilly & Associates Inc. - To dobra ksika by dowiedzie si niemal wszystkiego co chciaby zrobi - z Vi. Szsta edycja zawiera te informacje o Vimie. - - Po polsku wydano: - Edytor vi. Leksykon kieszonkowy - autor Arnold Robbins - Wydawca: Helion 2001 (O'Reilly). - ISBN: 83-7197-472-8 - http://helion.pl/ksiazki/vilek.htm - Jest to ksieczka zawierajca spis polece vi i jego najwaniejszych - klonw (midzy innymi Vima). - - Edytor vi - autorzy Linda Lamb i Arnold Robbins - Wydawca: Helion 2001 (O'Reilly) - wg 6. ang. wydania - ISBN: 83-7197-539-2 - http://helion.pl/ksiazki/viedyt.htm - Rozszerzona wersja Learning the Vi Editor w polskim tumaczeniu. - - Ten tutorial zosta napisany przez Michaela C. Pierce'a i Roberta K. Ware'a, - Colorado School of Mines korzystajc z pomocy Charlesa Smitha, - Colorado State University. - E-mail: bware@mines.colorado.edu. - - Zmodyfikowane dla Vima przez Brama Moolenaara. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Przetumaczone przez Mikoaja Machowskiego, - Sierpie 2001, - rev. Marzec 2002 - 2nd rev. Wrzesie 2004 - 3rd rev. Marzec 2006 - Wszelkie uwagi prosz kierowa na: mikmach@wp.pl diff --git a/runtime/tutor/tutor.pl.utf-8 b/runtime/tutor/tutor.pl.utf-8 deleted file mode 100644 index 4590c4551..000000000 --- a/runtime/tutor/tutor.pl.utf-8 +++ /dev/null @@ -1,994 +0,0 @@ -=============================================================================== -= W i t a j w t u t o r i a l u V I M - a - Wersja 1.7. = -=============================================================================== - - Vim to potężny edytor, który posiada wiele poleceń, zbyt dużo by - wyjaśnić je wszystkie w tym tutorialu. Ten przewodnik ma nauczyć - Cię posługiwać się wystarczająco wieloma komendami byś mógł łatwo - używać Vima jako edytora ogólnego przeznaczenia. - - Czas potrzebny na ukończenie tutoriala to 25 do 30 minut i zależy - od tego jak wiele czasu spędzisz na eksperymentowaniu. - - UWAGA: - Polecenia wykonywane w czasie lekcji zmodyfikują tekst. Zrób - wcześniej kopię tego pliku do ćwiczeń (jeśli zacząłeś komendą - "vimtutor" to już pracujesz na kopii). - - Pamiętaj że przewodnik ten został zaprojektowany do nauki poprzez - ćwiczenia. Oznacza to, że musisz wykonywać polecenia by nauczyć się ich - prawidłowo. Jeśli będziesz jedynie czytał tekst szybko zapomnisz wiele - poleceń! - - Teraz upewnij się, że nie masz wciśniętego CapsLocka i wciskaj j - tak długo dopóki Lekcja 1.1. nie wypełni całkowicie ekranu. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.1.: PORUSZANIE SIĘ KURSOREM - - ** By wykonać ruch kursorem, wciśnij h, j, k, l jak pokazano. ** - - ^ - k Wskazówka: h jest po lewej - < h l > l jest po prawej - j j wygląda jak strzałka w dół - v - 1. Poruszaj kursorem dopóki nie będziesz pewien, że pamiętasz polecenia. - - 2. Trzymaj j tak długo aż będzie się powtarzał. - Teraz wiesz jak dojść do następnej lekcji. - - 3. Używając strzałki w dół przejdź do następnej lekcji. - -Uwaga: Jeśli nie jesteś pewien czegoś co wpisałeś, wciśnij <ESC> by wrócić do - trybu Normal. Wtedy powtórz polecenie. - -Uwaga: Klawisze kursora także powinny działać, ale używając hjkl będziesz - w stanie poruszać się o wiele szybciej jak się tylko przyzwyczaisz. - Naprawdę! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.2.: WYCHODZENIE Z VIM-a - - !! UWAGA: Przed wykonaniem jakiegokolwiek polecenia przeczytaj całą lekcję.!! - - 1. Wciśnij <ESC> (aby upewnić się, że jesteś w trybie Normal). - 2. Wpisz: :q!<ENTER>. - To spowoduje wyjście z edytora PORZUCAJĄC wszelkie zmiany jakie - zdążyłeś zrobić. Jeśli chcesz zapamiętać zmiany i wyjść - wpisz: :wq<ENTER> - - 3. Kiedy widzisz znak zachęty powłoki wpisz komendę, żeby wrócić - do tutoriala. Czyli: vimtutor<ENTER> - - 4. Jeśli chcesz zapamiętać polecenia, wykonaj kroki 1. do 3. aby - wyjść i wrócić do edytora. - -UWAGA: :q!<ENTER> porzuca wszelkie zmiany jakie zrobiłeś. W następnych - lekcjach dowiesz się jak je zapamiętywać. - - 5. Przenieś kursor do lekcji 1.3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.3.: EDYCJA TEKSTU - KASOWANIE - - ** Wciśnij x aby usunąć znak pod kursorem. ** - - 1. Przenieś kursor do linii poniżej oznaczonej --->. - - 2. By poprawić błędy, naprowadź kursor na znak do usunięcia. - - 3. Wciśnij x aby usunąć niechciany znak. - - 4. Powtarzaj kroki 2. do 4. dopóki zdanie nie jest poprawne. - ----> Kkrowa prrzeskoczyła prrzez ksiiężycc. - - 5. Teraz kiedy zdanie jest poprawione przejdź do Lekcji 1.4. - -UWAGA: Ucz się przez ćwiczenie, nie wkuwanie. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.4.: EDYCJA TEKSTU - INSERT (wprowadzanie) - - - ** Wciśnij i aby wstawić tekst. ** - - 1. Przenieś kursor do pierwszej linii poniżej oznaczonej --->. - - 2. Aby poprawić pierwszy wiersz, ustaw kursor na pierwszym znaku PO tym - gdzie tekst ma być wstawiony. - - 3. Wciśnij i a następnie wpisz konieczne poprawki. - - 4. Po poprawieniu błędu wciśnij <ESC> by wrócić do trybu Normal. - Powtarzaj kroki 2. do 4. aby poprawić całe zdanie. - ----> W tej brkje trochę . ----> W tej linii brakuje trochę tekstu. - - 5. Kiedy czujesz się swobodnie wstawiając tekst przejdź do - podsumowania poniżej. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.5.: EDYCJA TEKSTU - APPENDING (dodawanie) - - - ** Wciśnij A by dodać tekst. ** - - 1. Przenieś kursor do pierwszej linii poniżej oznaczonej --->. - Nie ma znaczenia, który to będzie znak. - - 2. Wciśnij A i wpisz odpowiednie dodatki. - - 3. Kiedy tekst został dodany, wciśnij <ESC> i wróć do trybu Normalnego. - - 4. Przenieś kursor do drugiej linii oznaczonej ---> i powtórz kroki 2 i 3 - aby poprawić zdanie. - ----> Brakuje tu tro - Brakuje tu trochę tekstu. ----> Tu też trochę bra - Tu też trochę brakuje. - - 5. Kiedy już utrwaliłeś ćwiczenie przejdź do lekcji 1.6. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 1.6.: EDYCJA PLIKU - - - ** Użyj :wq aby zapisać plik i wyjść. ** - - !! UWAGA: zanim wykonasz jakiekolwiek polecenia przeczyaj całą lekcję !! - - 1. Zakończ tutorial tak jak w lekcji 1.2.: :q! - - 2. W powłoce wydaj polecenie: vim tutor<ENTER> - "vim" jest poleceniem uruchamiającym edytor Vim. 'tutor' to nazwa pliku - jaki chcesz edytować. Użyj pliku jaki może zostać zmieniony. - - 3. Dodaj i usuń tekst tak jak się nauczyłeś w poprzednich lekcjach. - - 4. Zapisz plik ze zmianami i opuść Vima: :wq<ENTER> - - 5. Uruchom ponownie vimtutor i przejdź do podsumowania lekcji. - - 6. Po przeczytaniu wszystkich kroków i ich zrozumieniu: wykonaj je. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 1. PODSUMOWANIE - - 1. Poruszasz kursorem używając "strzałek" i klawiszy hjkl . - h (w lewo) j (w dół) k (do góry) l (w prawo) - - 2. By wejść do Vima (z powłoki) wpisz: - vim NAZWA_PLIKU<ENTER> - - 3. By wyjść z Vima wpisz: - <ESC> :q!<ENTER> by usunąc wszystkie zmiany. - LUB: <ESC> :wq<ENTER> by zmiany zachować. - - 4. By usunąć znak pod kursorem wciśnij: x - - 5. By wstawić tekst przed kursorem lub dodać: - i wpisz tekst <ESC> wstawi przed kursorem - A wpisz tekst <ESC> doda na końcu linii - -UWAGA: Wciśnięcie <ESC> przeniesie Cię z powrotem do trybu Normal - lub odwoła niechciane lub częściowo wprowadzone polecenia. - -Teraz możemy kontynuować i przejść do Lekcji 2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.1.: POLECENIE DELETE (usuwanie) - - - ** Wpisz dw by usunąc wyraz. ** - - 1. Wciśnij <ESC> by upewnić się, że jesteś w trybie Normal. - - 2. Przenieś kursor do linii poniżej oznaczonej --->. - - 3. Przesuń kursor na początek wyrazu, które chcesz usunąć. - - 4. Wpisz dw by usunąć wyraz. - - UWAGA: Litera d pojawi się na dole ekranu. Vim czeka na wpisanie w . - Jeśli zobaczysz inny znak oznacza to, że wpisałeś coś źle, wciśnij - <ESC> i zacznij od początku. - ----> Jest tu parę papier wyrazów, które kamień nie należą do nożyce tego zdania. - - 5. Powtarzaj kroki 3. i 4. dopóki zdanie nie będzie poprawne, potem - przejdź do Lekcji 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.2.: WIĘCEJ POLECEŃ USUWAJĄCYCH - - - ** Wpisz d$ aby usunąć tekst do końca linii. ** - - 1. Wciśnij <ESC> aby się upewnić, że jesteś w trybie Normal. - - 2. Przenieś kursor do linii poniżej oznaczonej --->. - - 3. Przenieś kursor do końca poprawnego zdania (PO pierwszej . ). - - 4. Wpisz d$ aby usunąć resztę linii. - ----> Ktoś wpisał koniec tego zdania dwukrotnie. zdania dwukrotnie. - - - 5. Przejdź do Lekcji 2.3. by zrozumieć co się stało. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.3.: O OPERATORACH I RUCHACH - - - Wiele poleceń zmieniających tekst są złożone z operatora i ruchu. - Format dla polecenia usuwającego z operatorem d jest taki: - - d ruch - - Gdzie: - d - operator usuwania. - ruch - na czym polecenie będzie wykonywane (lista poniżej). - - Krótka lista ruchów: - w - do początku następnego wyrazu WYŁĄCZAJĄC pierwszy znak. - e - do końca bieżącego wyrazu, WŁĄCZAJĄC ostatni znak. - $ - do końca linii, WŁĄCZAJĄC ostatni znak. - -W ten sposób wpisanie de usunie znaki od kursora do końca wyrazu. - -UWAGA: Wpisanie tylko ruchu w trybie Normal bez operatora przeniesie kursor - tak jak to określono. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.4.: UŻYCIE MNOŻNIKA DLA RUCHU - - - ** Wpisanie liczby przed ruchem powtarza ruch odpowiednią ilość razy. ** - - 1. Przenieś kursor na początek linii poniżej zaznaczonej --->. - - 2. Wpisz 2w aby przenieść kursor o dwa wyrazy do przodu. - - 3. Wpisz 3e aby przenieść kursor do końca trzeciego wyrazu w przód. - - 4. Wpisz 0 (zero) aby przenieść kursor do początku linii. - - 5. Powtórz kroki 2. i 3. z innymi liczbami. - - - ---> To jest zwykły wiersz z wyrazami po których możesz się poruszać. - - 6. Przejdź do lekcji 2.5. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.5.: UŻYCIE MNOŻNIKA BY WIĘCEJ USUNĄĆ - - - ** Wpisanie liczby z operatorem powtarza go odpowiednią ilość razy. ** - - W wyżej wspomnianej kombinacji operatora usuwania i ruchu podaj mnożnik - przed ruchem by więcej usunąć: - d liczba ruch - - 1. Przenieś kursor do pierwszego wyrazu KAPITALIKAMI w linii zaznaczonej --->. - - 2. Wpisz 2dw aby usunąć dwa wyrazy KAPITALIKAMI. - - 3. Powtarzaj kroki 1. i 2. z innymi mnożnikami aby usunąć kolejne wyrazy - KAPITALIKAMI jednym poleceniem - ----> ta ASD WE linia QWE ASDF ZXCV FG wyrazów została ERT FGH CF oczyszczona. - -UWAGA: Mnożnik pomiędzy operatorem d i ruchem działa podobnie do ruchu bez - operatora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.6.: OPEROWANIE NA LINIACH - - - ** Wpisz dd aby usunąć całą linię. ** - - Z powodu częstości usuwania całych linii, projektanci Vi zdecydowali, że - będzie łatwiej wpisać dwa razy d aby usunąć linię. - - 1. Przenieś kursor do drugiego zdania z wierszyka poniżej. - 2. Wpisz dd aby usunąć wiersz. - 3. Teraz przenieś się do czwartego wiersza. - 4. Wpisz 2dd aby usunąc dwa wiersze. - ----> 1) Róże są czerwone, ----> 2) Błoto jest fajne, ----> 3) Fiołki są niebieskie, ----> 4) Mam samochód, ----> 5) Zegar podaje czas, ----> 6) Cukier jest słodki, ----> 7) I ty też. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 2.7.: POLECENIE UNDO (cofnij) - - - ** Wciśnij u aby cofnąć skutki ostatniego polecenia. - U zaś, by cofnąć skutki dla całej linii. ** - - 1. Przenieś kursor do zdania poniżej oznaczonego ---> i umieść go na - pierwszym błędzie. - 2. Wpisz x aby usunąć pierwszy niechciany znak. - 3. Teraz wciśnij u aby cofnąć skutki ostatniego polecenia. - 4. Tym razem popraw wszystkie błędy w linii używając polecenia x . - 5. Teraz wciśnij wielkie U aby przywrócić linię do oryginalnego stanu. - 6. Teraz wciśnij u kilka razy by cofnąć U i poprzednie polecenia. - 7. Teraz wpisz CTRL-R (trzymaj równocześnie wciśnięte klawisze CTRL i R) - kilka razy, by cofnąć cofnięcia. - ----> Poopraw blędyyy w teej liniii i zaamiień je prrzez coofnij. - - 8. To są bardzo pożyteczne polecenia. - - Przejdź teraz do podsumowania Lekcji 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 2. PODSUMOWANIE - - - 1. By usunąć znaki od kursora do następnego wyrazu wpisz: dw - 2. By usunąć znaki od kursora do końca linii wpisz: d$ - 3. By usunąć całą linię: dd - 4. By powtórzyć ruch poprzedź go liczbą: 2w - 5. Format polecenia zmiany to: - operator [liczba] ruch - gdzie: - operator - to co trzeba zrobić (np. d dla usuwania) - [liczba] - opcjonalne, ile razy powtórzyć ruch - ruch - przenosi nad tekstem do operowania, takim jak w (wyraz), - $ (do końca linii), etc. - - 6. By przejść do początku linii użyj zera: 0 - 7. By cofnąć poprzednie polecenie, wpisz: u (małe u) - By cofnąć wszystkie zmiany w linii wpisz: U (wielkie U) - By cofnąć cofnięcia wpisz: CTRL-R - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.1.: POLECENIE PUT (wstaw) - - - ** Wpisz p by wstawić ostatnie usunięcia za kursorem. ** - - 1. Przenieś kursor do pierwszej linii ---> poniżej. - - 2. Wpisz dd aby usunąć linię i przechować ją w rejestrze Vima. - - 3. Przenieś kursor do linii c), POWYŻEJ tej gdzie usunięta linia powinna - się znajdować. - - 4. Wciśnij p by wstawić linię poniżej kursora. - - 5. Powtarzaj kroki 2. do 4. aż znajdą się w odpowiednim porządku. - ----> d) Jak dwa aniołki. ----> b) Na dole fiołki, ----> c) A my się kochamy, ----> a) Na górze róże, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.2.: POLECENIE REPLACE (zastąp) - - - ** Wpisz rx aby zastąpić znak pod kursorem na x . ** - - 1. Przenieś kursor do pierwszej linii poniżej oznaczonej ---> - - 2. Ustaw kursor na pierwszym błędzie. - - 3. Wpisz r a potem znak jaki powinien go zastąpić. - - 4. Powtarzaj kroki 2. i 3. dopóki pierwsza linia nie będzie taka jak druga. - ----> Kjedy ten wiersz bił wstókiwany ktoś wciznął perę złych klawirzy! ----> Kiedy ten wiersz był wstukiwany ktoś wcisnął parę złych klawiszy! - - 5. Teraz czas na Lekcję 3.3. - - -UWAGA: Pamiętaj by uczyć się ćwicząc, a nie pamięciowo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.3.: OPERATOR CHANGE (zmień) - - ** By zmienić do końca wyrazu wpisz ce . ** - - 1. Przenieś kursor do pierwszej linii poniżej oznaczonej --->. - - 2. Umieść kursor na u w lunos. - - 3. Wpisz ce i popraw wyraz (w tym wypadku wstaw inia ). - - 4. Wciśnij <ESC> i przejdź do następnej planowanej zmiany. - - 5. Powtarzaj kroki 3. i 4. dopóki pierwsze zdanie nie będzie takie same - jak drugie. - ----> Ta lunos ma pire słów, które tżina zbnic użifajonc pcmazu zmień. ----> Ta linia ma parę słów, które trzeba zmienić używając polecenia zmień. - - Zauważ, że ce nie tylko zamienia wyraz, ale także zmienia tryb na - Insert (wprowadzanie). - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 3.4.: WIĘCEJ ZMIAN UŻYWAJĄC c - - - ** Polecenie change używa takich samych ruchów jak delete. ** - - 1. Operator change działa tak samo jak delete. Format wygląda tak: - - c [liczba] ruch - - 2. Ruchy są także takie same, np.: w (wyraz), $ (koniec linii), etc. - - 3. Przenieś się do pierwszej linii poniżej oznaczonej ---> - - 4. Ustaw kursor na pierwszym błędzie. - - 5. Wpisz c$ , popraw koniec wiersza i wciśnij <ESC>. - ----> Koniec tego wiersza musi być poprawiony aby wyglądał tak jak drugi. ----> Koniec tego wiersza musi być poprawiony używając polecenia c$ . - -UWAGA: Możesz używać <BS> aby poprawiać błędy w czasie pisania. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 3. PODSUMOWANIE - - - 1. Aby wstawić tekst, który został wcześniej usunięty wciśnij p . To - polecenie wstawia skasowany tekst PO kursorze (jeśli cała linia - została usunięta, zostanie ona umieszczona w linii poniżej kursora). - - 2. By zamienić znak pod kursorem wciśnij r a potem znak, który ma zastąpić - oryginalny. - - 3. Operator change pozwala Ci na zastąpienie od kursora do miejsca gdzie - zabrałby cię ruch. Np. wpisz ce aby zamienić tekst od kursora do końca - wyrazu, c$ aby zmienić tekst do końca linii. - - 4. Format do polecenia change (zmień): - - c [liczba] obiekt - - Teraz przejdź do następnej lekcji. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.1.: POŁOŻENIE KURSORA ORAZ STATUS PLIKU - - ** Naciśnij CTRL-G aby zobaczyć swoje położenie w pliku i status - pliku. Naciśnij G aby przejść do linii w pliku. ** - - UWAGA: Przeczytaj całą lekcję zanim wykonasz jakieś polecenia!!! - - 1. Przytrzymaj klawisz CTRL i wciśnij g . Używamy notacji CTRL-G. - Na dole strony pojawi się pasek statusu z nazwą pliku i pozycją w pliku. - Zapamiętaj numer linii dla potrzeb kroku 3. - -UWAGA: Możesz też zobaczyć pozycję kursora w prawym, dolnym rogu ekranu. - Dzieje się tak kiedy ustawiona jest opcja 'ruler' (wyjaśnione w lekcji 6.). - - 2. Wciśnij G aby przejść na koniec pliku. - Wciśnij gg aby przejść do początku pliku. - - 3. Wpisz numer linii, w której byłeś a potem G . To przeniesie cię - z powrotem do linii, w której byłeś kiedy wcisnąłeś CTRL-G. - - 4. Jeśli czujesz się wystarczająco pewnie, wykonaj kroki 1-3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.2.: POLECENIE SZUKAJ - - - ** Wpisz / a następnie wyrażenie aby je znaleźć. ** - - 1. W trybie Normal wpisz / . Zauważ, że znak ten, oraz kursor pojawią - się na dole ekranu tak samo jak polecenie : . - - 2. Teraz wpisz błond<ENTER> . To jest słowo, którego chcesz szukać. - - 3. By szukać tej samej frazy ponownie, po prostu wciśnij n . - Aby szukać tej frazy w przeciwnym, kierunku wciśnij N . - - 4. Jeśli chcesz szukać frazy do tyłu, użyj polecenia ? zamiast / . - - 5. Aby wrócić gdzie byłeś wciśnij CTRL-O. Powtarzaj by wrócić dalej. CTRL-I - idzie do przodu. - -Uwaga: 'błond' to nie jest metoda by przeliterować błąd; 'błond' to błąd. -Uwaga: Kiedy szukanie osiągnie koniec pliku będzie kontynuowało od początku - o ile opcja 'wrapscan' nie została przestawiona. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.3.: W POSZUKIWANIU PARUJĄCYCH NAWIASÓW - - - ** Wpisz % by znaleźć parujący ), ], lub } . ** - - 1. Umieść kursor na którymś z (, [, lub { w linii poniżej oznaczonej --->. - - 2. Teraz wpisz znak % . - - 3. Kursor powinien się znaleźć na parującym nawiasie. - - 4. Wciśnij % aby przenieść kursor z powrotem do parującego nawiasu. - - 5. Przenieś kursor do innego (,),[,],{ lub } i zobacz co robi % . - ----> To ( jest linia testowa z (, [, ] i {, } . )) - -Uwaga: Ta funkcja jest bardzo użyteczna w debuggowaniu programu - z niesparowanymi nawiasami! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 4.4.: POLECENIE SUBSTITUTE (zamiana) - - - ** Wpisz :s/stary/nowy/g aby zamienić 'stary' na 'nowy'. ** - - 1. Przenieś kursor do linii poniżej oznaczonej --->. - - 2. Wpisz :s/czaas/czas<ENTER> . Zauważ, że to polecenie zmienia - tylko pierwsze wystąpienie 'czaas' w linii. - - 3. Teraz wpisz :s/czaas/czas/g . Dodane g oznacza zamianę (substytucję) - globalnie w całej linii. Zmienia wszystkie wystąpienia 'czaas' w linii. - ----> Najlepszy czaas na zobaczenie najładniejszych kwiatów to czaas wiosny. - - 4. Aby zmienić wszystkie wystąpienia łańcucha znaków pomiędzy dwoma liniami, - wpisz: :#,#s/stare/nowe/g gdzie #,# są numerami linii ograniczających - region gdzie ma nastąpić zamiana. - wpisz :%s/stare/nowe/g by zmienić wszystkie wystąpienia w całym pliku. - wpisz :%s/stare/nowe/gc by zmienić wszystkie wystąpienia w całym - pliku, prosząc o potwierdzenie za każdym razem - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 4. PODSUMOWANIE - - 1. CTRL-G pokaże Twoją pozycję w pliku i status pliku. SHIFT-G przenosi - cię do końca pliku. - G przenosi do końca pliku. - liczba G przenosi do linii [liczba]. - gg przenosi do pierwszej linii. - - 2. Wpisanie / a następnie łańcucha znaków szuka łańcucha DO PRZODU. - Wpisanie ? a następnie łańcucha znaków szuka łańcucha DO TYŁU. - Po wyszukiwaniu wciśnij n by znaleźć następne wystąpienie szukanej - frazy tym samym kierunku lub N by szukać w kierunku przeciwnym. - CTRL-O przenosi do starszych pozycji, CTRL-I do nowszych. - - 3. Wpisanie % gdy kursor znajduje się na (,),[,],{, lub } lokalizuje - parujący znak. - - 4. By zamienić pierwszy stary na nowy w linii wpisz :s/stary/nowy - By zamienić wszystkie stary na nowy w linii wpisz :s/stary/nowy/g - By zamienić frazy pomiędzy dwoma liniami # wpisz :#,#s/stary/nowy/g - By zamienić wszystkie wystąpienia w pliku wpisz :%s/stary/nowy/g - By Vim prosił Cię o potwierdzenie dodaj 'c' :%s/stary/nowy/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.1.: JAK WYKONAĆ POLECENIA ZEWNĘTRZNE - - - ** Wpisz :! a następnie zewnętrzne polecenie by je wykonać. ** - - 1. Wpisz znajome polecenie : by ustawić kursor na dole ekranu. To pozwala - na wprowadzenie komendy linii poleceń. - - 2. Teraz wstaw ! (wykrzyknik). To umożliwi Ci wykonanie dowolnego - zewnętrznego polecenia powłoki. - - 3. Jako przykład wpisz ls za ! a następnie wciśnij <ENTER>. To polecenie - pokaże spis plików w Twoim katalogu, tak jakbyś był przy znaku zachęty - powłoki. Możesz też użyć :!dir jeśli ls nie działa. - -Uwaga: W ten sposób można wykonać wszystkie polecenia powłoki. -Uwaga: Wszystkie polecenia : muszą być zakończone <ENTER>. - Od tego momentu nie zawsze będziemy o tym wspominać. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.2.: WIĘCEJ O ZAPISYWANIU PLIKÓW - - - ** By zachować zmiany w tekści wpisz :w NAZWA_PLIKU . ** - - 1. Wpisz :!dir lub :!ls by zobaczyć spis plików w katalogu. - Już wiesz, że musisz wcisnąć <ENTER> po tym. - - 2. Wybierz nazwę pliku jaka jeszcze nie istnieje, np. TEST. - - 3. Teraz wpisz: :w TEST (gdzie TEST jest nazwą pliku jaką wybrałeś.) - - 4. To polecenie zapamięta cały plik (Vim Tutor) pod nazwą TEST. - By to sprawdzić wpisz :!dir lub :!ls , żeby znowu zobaczyć listę plików. - -Uwaga: Zauważ, że gdybyś teraz wyszedł z Vima, a następnie wszedł ponownie - poleceniem vim TEST , plik byłby dokładną kopią tutoriala kiedy go - zapisywałeś. - - 5. Teraz usuń plik wpisując (MS-DOS): :!del TEST - lub (Unix): :!rm TEST - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.3.: WYBRANIE TEKSTU DO ZAPISU - - - ** By zachować część pliku wpisz v ruch :w NAZWA_PLIKU ** - - 1. Przenieś kursor do tego wiersza. - - 2. Wciśnij v i przenieś kursor do punktu 5. Zauważ, że tekst został - podświetlony. - - 3. Wciśnij znak : . Na dole ekranu pojawi się :'<,'> . - - 4. Wpisz w TEST , gdzie TEST to nazwa pliku, który jeszcze nie istnieje. - Upewnij się, że widzisz :'<,'>w TEST zanim wciśniesz Enter. - - 5. Vim zapisze wybrane linie do pliku TEST. Użyj :!dir lub :!ls , żeby to - zobaczyć. Jeszcze go nie usuwaj! Użyjemy go w następnej lekcji. - -UWAGA: Wciśnięcie v zaczyna tryb Wizualny. Możesz poruszać kursorem by - zmienić rozmiary zaznaczenia. Możesz też użyć operatora by zrobić coś - z tekstem. Na przykład d usuwa tekst. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 5.4.: WSTAWIANIE I ŁĄCZENIE PLIKÓW - - - ** By wstawić zawartość pliku wpisz :r NAZWA_PLIKU ** - - 1. Umieść kursor tuż powyżej tej linii. - -UWAGA: Po wykonaniu kroku 2. zobaczysz tekst z Lekcji 5.3. Potem przejdź - do DOŁU by zobaczyć ponownie tę lekcję. - - 2. Teraz wczytaj plik TEST używając polecenia :r TEST , gdzie TEST - jest nazwą pliku. - Wczytany plik jest umieszczony poniżej linii z kursorem. - - 3. By sprawdzić czy plik został wczytany cofnij kursor i zobacz, że - teraz są dwie kopie Lekcji 5.3., oryginał i kopia z pliku. - -UWAGA: Możesz też wczytać wyjście zewnętrznego polecenia. Na przykład - :r !ls wczytuje wyjście polecenia ls i umieszcza je pod poniżej - kursora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 5. PODSUMOWANIE - - - 1. :!polecenie wykonuje polecenie zewnętrzne. - - Użytecznymi przykładami są: - - :!dir - pokazuje spis plików w katalogu. - - :!rm NAZWA_PLIKU - usuwa plik NAZWA_PLIKU. - - 2. :w NAZWA_PLIKU zapisuje obecny plik Vima na dysk z nazwą NAZWA_PLIKU. - - 3. v ruch :w NAZWA_PLIKU zapisuje Wizualnie wybrane linie do NAZWA_PLIKU. - - 4. :r NAZWA_PLIKU wczytuje z dysku plik NAZWA_PLIKU i wstawia go do - bieżącego pliku poniżej kursora. - - 5. :r !dir wczytuje wyjście polecenia dir i umieszcza je poniżej kursora. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.1.: POLECENIE OPEN (otwórz) - - - ** Wpisz o by otworzyć linię poniżej kursora i przenieść się do - trybu Insert (wprowadzanie). ** - - 1. Przenieś kursor do linii poniżej oznaczonej --->. - - 2. Wpisz o (małe) by otworzyć linię PONIŻEJ kursora i przenieść się - do trybu Insert (wprowadzanie). - - 3. Wpisz trochę tekstu i wciśnij <ESC> by wyjść z trybu Insert (wprowadzanie). - ----> Po wciśnięciu o kursor znajdzie się w otwartej linii w trybie Insert. - - 4. By otworzyć linię POWYŻEJ kursora wciśnij wielkie O zamiast małego - o . Wypróbuj to na linii poniżej. - ----> Otwórz linię powyżej wciskając SHIFT-O gdy kursor będzie na tej linii. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.2.: POLECENIE APPEND (dodaj) - - - ** Wpisz a by dodać tekst ZA kursorem. ** - - 1. Przenieś kursor do początku pierwszej linii poniżej oznaczonej ---> - - 2. Wciskaj e dopóki kursor nie będzie na końcu li . - - 3. Wpisz a (małe) aby dodać tekst ZA znakiem pod kursorem. - - 4. Dokończ wyraz tak jak w linii poniżej. Wciśnij <ESC> aby opuścić tryb - Insert. - - 5. Użyj e by przejść do kolejnego niedokończonego wyrazu i powtarzaj kroki - 3. i 4. - ----> Ta li poz Ci ćwi dodaw teks do koń lin ----> Ta linia pozwoli Ci ćwiczyć dodawanie tekstu do końca linii. - -Uwaga: a , i oraz A prowadzą do trybu Insert, jedyną różnicą jest miejsce - gdzie nowe znaki będą dodawane. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.3.: INNA WERSJA REPLACE (zamiana) - - - ** Wpisz wielkie R by zamienić więcej niż jeden znak. ** - - 1. Przenieś kursor do pierwszej linii poniżej oznaczonej --->. Przenieś - kursor do pierwszego xxx . - - 2. Wciśnij R i wpisz numer poniżej w drugiej linii, tak, że zastąpi on - xxx. - - 3. Wciśnij <ESC> by opuścić tryb Replace. Zauważ, że reszta linii pozostaje - niezmieniona. - - 5. Powtarzaj kroki by wymienić wszystkie xxx. - ----> Dodanie 123 do xxx daje xxx. ----> Dodanie 123 do 456 daje 579. - -UWAGA: Tryb Replace jest jak tryb Insert, ale każdy znak usuwa istniejący - znak. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.4.: KOPIOWANIE I WKLEJANIE TEKSTU - - - ** użyj operatora y aby skopiować tekst i p aby go wkleić ** - - 1. Przejdź do linii oznaczonej ---> i umieść kursor za "a)". - - 2. Wejdź w tryb Visual v i przenieś kursor na początek "pierwszy". - - 3. Wciśnij y aby yankować (kopiować) podświetlony tekst. - - 4. Przenieś kursor do końca następnej linii: j$ - - 5. Wciśnij p aby wpakować (paste) tekst. Dodaj: a drugi<ESC> . - - 6. Użyj trybu Wizualnego aby wybrać " element.", yankuj go y , przejdź do - końca następnej linii j$ i upakuj tam tekst z p . - ----> a) to jest pierwszy element. - b) -Uwaga: możesz użyć y jako operatora; yw kopiuje jeden wyraz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 6.5.: USTAWIANIE OPCJI - - -** Ustawianie opcji tak by szukaj lub substytucja ignorowały wielkość liter ** - - 1. Szukaj 'ignore' wpisując: /ignore<ENTER> - Powtórz szukanie kilka razy naciskając klawisz n . - - 2. Ustaw opcję 'ic' (Ignore case -- ignoruj wielkość liter) poprzez - wpisanie: :set ic - - 3. Teraz szukaj 'ignore' ponownie wciskając: n - Zauważ, że Ignore i IGNORE także są teraz znalezione. - - 4. Ustaw opcje 'hlsearch' i 'incsearch': :set hls is - - 5. Teraz wprowadź polecenie szukaj ponownie i zobacz co się zdarzy: - /ignore<ENTER> - - 6. Aby wyłączyć ignorowanie wielkości liter: :set noic - -Uwaga: Aby usunąć podświetlanie dopasowań wpisz: :nohlsearch -Uwaga: Aby ignorować wielkość liter dla jednego wyszukiwania: /ignore\c<ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 6. PODSUMOWANIE - - - 1. Wpisanie o otwiera linię PONIŻEJ kursora. - Wpisanie O otwiera linię POWYŻEJ kursora. - - 2. Wpisanie a by wstawić tekst ZA znakiem na, którym jest kursor. - Wpisanie A dodaje tekst na końcu linii. - - 3. Polecenie e przenosi do końca wyrazu. - 4. Operator y yankuje (kopiuje) tekst, p pakuje (wkleja, paste) go. - 5. Wpisanie wielkiego R wprowadza w tryb Replace (zamiana) dopóki - nie zostanie wciśnięty <ESC>. - 6. Wpisanie ":set xxx" ustawia opcję "xxx". Nietkóre opcje: - 'ic' 'ignorecase' ignoruj wielkość znaków - 'is' 'incsearch' pokaż częściowe dopasowania - 'hls' 'hlsearch' podświetl wszystkie dopasowania - Możesz użyć zarówno długiej jak i krótkiej formy. - 7. Dodaj "no" aby wyłączyć opcję: :set noic - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 7.1. JAK UZYSKAĆ POMOC - - ** Użycie systemu pomocy on-line ** - - Vim posiada bardzo dobry system pomocy on-line. By zacząć spróbuj jednej - z trzech możliwości: - - wciśnij klawisz <HELP> (jeśli taki masz) - - wciśnij klawisz <F1> (jeśli taki masz) - - wpisz :help<ENTER> - - Przeczytaj tekst w oknie pomocy aby dowiedzieć się jak działa pomoc. - wpisz CTRL-W CTRL-W aby przeskoczyć z jednego okna do innego - wpisz :q<ENTER> aby zamknąć okno pomocy. - - Możesz też znaleźć pomoc na każdy temat podając argument polecenia ":help". - Spróbuj tych (nie zapomnij wcisnąć <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCJA 7.2. TWORZENIE SKRYPTU STARTOWEGO - - ** Włącz możliwości Vima ** - - Vim ma o wiele więcej możliwości niż Vi, ale większość z nich jest domyślnie - wyłączona. Jeśli chcesz włączyć te możliwości na starcie musisz utworzyć - plik "vimrc". - - 1. Początek edycji pliku "vimrc" zależy od Twojego systemu: - :edit ~/.vimrc dla Uniksa - :edit $VIM/_vimrc dla MS-Windows - 2. Teraz wczytaj przykładowy plik "vimrc": - :read $VIMRUNTIME/vimrc_example.vim - 3. Zapisz plik: - :w - - Następnym razem gdy zaczniesz pracę w Vimie będzie on używać podświetlania - składni. Możesz dodać wszystkie swoje ulubione ustawienia do tego pliku - "vimrc". - Aby uzyskać więcej informacji wpisz :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 7.3.: UZUPEŁNIANIE - - - ** Uzupełnianie linii poleceń z CTRL-D i <TAB> ** - - 1. Upewnij się, że Vim nie jest w trybie kompatybilności: :set nocp - - 2. Zerknij jakie pliki są w bieżącm katalogu: :!ls lub :!dir - - 3. Wpisz początek polecenia: :e - - 4. Wciśnij CTRL-D i Vim pokaże listę poleceń jakie zaczynają się na "e". - - 5. Wciśnij <TAB> i Vim uzupełni polecenie do ":edit". - - 6. Dodaj spację i zacznij wpisywać nazwę istniejącego pliku: :edit FIL - - 7. Wciśnij <TAB>. Vim uzupełni nazwę (jeśli jest niepowtarzalna). - -UWAGA: Uzupełnianie działa dla wielu poleceń. Spróbuj wcisnąć CTRL-D i <TAB>. - Użyteczne zwłaszcza przy :help . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcja 7. PODSUMOWANIE - - - 1. Wpisz :help lub wciśnij <F1> lub <Help> aby otworzyć okno pomocy. - - 2. Wpisz :help cmd aby uzyskać pomoc o cmd . - - 3. Wpisz CTRL-W CTRL-W aby przeskoczyć do innego okna. - - 4. Wpisz :q aby zamknąć okno pomocy. - - 5. Utwórz plik startowy vimrc aby zachować wybrane ustawienia. - - 6. Po poleceniu : , wciśnij CTRL-D aby zobaczyć możliwe uzupełnienia. - Wciśnij <TAB> aby użyć jednego z nich. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Tutaj się kończy tutorial Vima. Został on pomyślany tak aby dać krótki - przegląd jego możliwości, wystarczający byś mógł go używać. Jest on - daleki od kompletności ponieważ Vim ma o wiele, wiele więcej poleceń. - - Dla dalszej nauki rekomendujemy książkę: - Vim - Vi Improved - autor Steve Oualline - Wydawca: New Riders - Pierwsza ksiązka całkowicie poświęcona Vimowi. Użyteczna zwłaszcza dla - początkujących. Zawiera wiele przykładów i ilustracji. - Zobacz http://iccf-holland.org./click5.html - - Starsza pozycja i bardziej o Vi niż o Vimie, ale także warta - polecenia: - Learning the Vi Editor - autor Linda Lamb - Wydawca: O'Reilly & Associates Inc. - To dobra książka by dowiedzieć się niemal wszystkiego co chciałbyś zrobić - z Vi. Szósta edycja zawiera też informacje o Vimie. - - Po polsku wydano: - Edytor vi. Leksykon kieszonkowy - autor Arnold Robbins - Wydawca: Helion 2001 (O'Reilly). - ISBN: 83-7197-472-8 - http://helion.pl/ksiazki/vilek.htm - Jest to książeczka zawierająca spis poleceń vi i jego najważniejszych - klonów (między innymi Vima). - - Edytor vi - autorzy Linda Lamb i Arnold Robbins - Wydawca: Helion 2001 (O'Reilly) - wg 6. ang. wydania - ISBN: 83-7197-539-2 - http://helion.pl/ksiazki/viedyt.htm - Rozszerzona wersja Learning the Vi Editor w polskim tłumaczeniu. - - Ten tutorial został napisany przez Michaela C. Pierce'a i Roberta K. Ware'a, - Colorado School of Mines korzystając z pomocy Charlesa Smitha, - Colorado State University. - E-mail: bware@mines.colorado.edu. - - Zmodyfikowane dla Vima przez Brama Moolenaara. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Przetłumaczone przez Mikołaja Machowskiego, - Sierpień 2001, - rev. Marzec 2002 - 2nd rev. Wrzesień 2004 - 3rd rev. Marzec 2006 - Wszelkie uwagi proszę kierować na: mikmach@wp.pl diff --git a/runtime/tutor/tutor.ru b/runtime/tutor/tutor.ru deleted file mode 100644 index 6fd74cf08..000000000 --- a/runtime/tutor/tutor.ru +++ /dev/null @@ -1,834 +0,0 @@ -=============================================================================== -= VIM - 1.5 = -=============================================================================== - Vim --- , , - , , - . , - Vim - . - - 25-30 - , . - - . , - ( "vimtutor", - ). - - , - . , , - . , - ! - - , CapsLock - j , , 1.1 - . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.1: - -** h,j,k,l , . ** - ^ - k : h . - < h l > l . - j j `'. - v - 1. , . - - 2. `' (j) . ----> , . - - 3. `' 1.2. - -: , , <ESC> - (Normal mode). - . - -: () - . , hjkl - , . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.2: VIM - -!! ! , , - !! - - 1. <ESC> ( , , - (Normal mode)). - - 2. : :q! <ENTER>. - ----> - . : - :wq <ENTER> - - 3. , , - . - vimtutor ru <ENTER> - : vim tutor.ru <ENTER> - ----> 'vim' vim, 'tutor.ru' --- , - . - - 4. , , 1 3 - . - 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.3: - - - -** x, . ** - - 1. , --->. - - 2. , , - . - - 3. x . - - 4. 2--4 . - ----> . - - 5. , , 1.4. - -: , - . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.4: - - - - ** (Normal mode), i . ** - - 1. , --->. - - 2. , , - . - - 3. i . - - 4. <ESC> . - 2--4, . - ----> . ----> . - - 5. , . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1 - - 1. , hjkl. - h () j () k () l () - - 2. Vim ( % ) : - vim _ <ENTER> - - 3. Vim : - <ESC> :q! <ENTER> . - : - <ESC> :wq <ENTER> . - - 4. , : x - - 5. , : - i <ESC> - -: <ESC> (Normal mode) - . - - 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.1: - - - ** dw . ** - - 1. <ESC>, . - - 2. , , --->. - - 3. , . - - 4. dw , . - -: dw . - - , <ESC> . - ----> . - - 5. 3 4, - 2.2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.2: - - - ** d$ . ** - - 1. <ESC>, . - - 2. , , --->. - - 3. ( . ). - - 4. , d$ . - ----> - . . - - - 5. , 2.3. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.3: - - - `' d : - - [] d d [] - : - - (, =1). - d - . - - ( ). - - : - w - , . - e - , . - $ - . - ^ - . - -: (Normal mode) - , - . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.4: `-' - - - ** dd . ** - - , - Vim , d . - - 1. , . - 2. dd . - 3. . - 4. 2dd ( `--'), - . - - 1) , - 2) , ! - 3) ``'', ``'' --- ! - 4) ! - 5) ... - 6) `' - 7) . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.5: `' - - - ** u , U - . ** - - 1. , , ---> - . - 2. x . - 3. u () . - 4. , x . - 5. U , - . - 6. u U . - 7. CTRL-R ( CTRL - R) ( ). - ----> `'. - - 8. . 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2 - - - 1. : dw - - 2. : d$ - - 3. : dd - - 4. : - - [] [] - : - - - - , d - - , w (), - $ ( ), .. - - 5. () : u ( u) - () : U ( U) - : CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.1: - - - ** p . ** - - 1. . - - 2. dd Vim'. - - 3. , - . - - 4. p . - - 5. 2--4, . - - ) . - ) , - ) - ) - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.2: - - - ** r , . ** - - 1. , , --->. - - 2. , . - - 3. r , . - - 4. 2 3, . - ----> 0 ! ----> - ! - - 5. 3.2. - -: , , - . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.3: - - - ** cw . ** - - 1. , , --->. - - 2. `o' `'. - - 3. cw ( , `'.) - - 4. <ESC> ( , - .) - - 5. 3--4 . - ----> . ----> . - - , cw , -. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.4: c - - -** , . ** - - 1. , . - : - - [] c c [] - - 2. : w (), $ ( ) .. - - 3. , , --->. - - 4. . - - 5. c$ , - , <ESC>. - ----> , . ----> c$ . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3 - - - 1. , , p . - ( , - ). - - 2. r . - - 3. - . , cw - , c$ . - - 4. : - - [] c c [] - - . - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.1: - - - ** CTRL-g - . - SHIFT-G . ** - - : !! - - 1. Ctrl g . - , . - , 3. - - 2. shift-G . - - 3. , shift-G. - , , Ctrl-g. - ( , .) - - 4. , 1--3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.2: - - ** / . ** - - 1. (Normal mode) / . , - , - : . - - 2. '' <ENTER>. , - . - - 3. , , n . - , Shift-N . - - 4. , - ? / . - ----> , - . - - "" `'; . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.3: - - - ** % ),] } . ** - - 1. (, [ { , --->. - - 2. % . - - 3. . - - 4. % . - ----> ( , (, [ ] { } . )) - -: ! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.4: - - - ** :s///g '' ''. ** - - 1. , , --->. - - 2. :s// <ENTER> . , - . - - 3. :s///g , - . . - ----> , , - . - - 4. - , - :#,#s///g #,# --- . - :%s///g . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4 - 1. Ctrl-g . - Shift-G . , Shift-G - . - - 2. / - . - ? - . - n - Shift-N - . - - 3. % , (,),[,],{, } - . - - 4. `' `' , - :s/old/new - `' `' , - :s/old/new/g - , - :#,#s/old/new/g - `' `' , - :%s/old/new/g - , 'c' - :%s/old/new/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.1: - - - ** :! , . ** - - 1. : - . . - - 2. ! ( ). - , . - - 3. ls ! <ENTER>. - , , - . :!dir , - . - ----> : . - ----> : , : , - <ENTER>. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.2: - - -** , , :w _. ** - - 1. :!dir :!ls . - , <ENTER> . - - 2. , , TEST. - - 3. :w TEST ( TEST --- , .) - - 4. ( Vim) TEST. - , :!dir . - ----> , Vim - TEST, , - . - - 5. , :!del TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.3: - - - ** , :#,# w _ ** - - 1. :!dir :!ls - , TEST. - - 2. Ctrl-g - to. ! - - 3. Ctrl-g. - ! - - 4. :#,# w TEST , #,# --- - , (, ), TEST --- . - - 5. , :!dir , - . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.4: - - ** , :r FILENAME ** - - 1. :!dir , , TEST - . - - 2. . - -: 3 5.3. - , . - - 3. TEST, :r TEST , - TEST --- . - -: , - . - - 4. , , - [A[B, 5.3, - . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5 - - - 1. :! . - - : - :!dir --- . - :!del FILENAME --- FILENAME. - - 2. :w FILENAME - FILENAME. - - 3. :#,#w FILENAME # # FILENAME. - - 4. :r FILENAME FILENAME - . - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.1: - - - ** o - (Insert mode) ** - - 1. , , --->. - - 2. o ( ) , - (Insert mode). - - 3. ---> <ESC> - . - ----> o . - - 4. , O, - o. . - , Shift-O, . - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.2: - - ** a , . ** - - 1. , , ---> , - $ (Normal mode). - - 2. a ( ) , - . ( A - .) - -: i , , - , <ESC>, -, , , x , , - ! - - 3. . , - , , , - . - ----> ----> - . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.3: - - - ** R , . ** - - 1. , , --->. - - 2. , - , ---> ( ''). - - 3. R , - , . - ----> , . ----> , R . - - 4. , <ESC> , - . - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.4: - - -** , ** - - - 1. '', : - / - , n - - 2. 'ic' ( ), : - :set ic - - 3. '', : n - , n - - 4. 'hlsearch' 'incsearch': - :set hls is - - 5. , : - / - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6 - - - 1. o - . - O , - . - - 2. a , . - A - . - - 3. R , - <ESC> . - - 4. ":set xxx" "xxx" - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 7: - - ** ** - - Vim . - : - - <HELP> ( ) - - <F1> ( ) - - :help <ENTER> - - :q <ENTER> . - - , - ":help". ( - <ENTER>): - - :help w - :help c_<T - :help insert-index - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 8: - - ** Vim ** - - Vim , Vi, - . , - "vimrc". - - 1. "vimrc", - : - - :edit ~/.vimrc Unix - :edit $VIM/_vimrc MS-Windows - - 2. "vimrc": - - :read $VIMRUNTIME/vimrc_example.vim - - 3. : - - :write - - Vim . - , , "vimrc". - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Vim. , - Vim, , - . , Vim - . : ":help user-manual". - - : - Vim - Vi Improved - : Steve Oualline - : New Riders - Vim. . - . - See http://iccf-holland.org/click5.html - - Vi, Vim, - : - Learning the Vi Editor - : Linda Lamb - : O'Reilly & Associates Inc. - , , - Vi. Vim. - - Michael C. Pierce Robert K. Ware, Colorado School - of Mines , Charles Smith, Colorado State - University. E-mail: bware@mines.colorado.edu. - - Vim Bram Moolenaar. - - : <a_kissel@eudoramail.com>, 2002. - Translator: Andrey Kiselev <a_kissel@eudoramail.com>, 2002. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.ru.cp1251 b/runtime/tutor/tutor.ru.cp1251 deleted file mode 100644 index 024ca526b..000000000 --- a/runtime/tutor/tutor.ru.cp1251 +++ /dev/null @@ -1,834 +0,0 @@ -=============================================================================== -= VIM - 1.5 = -=============================================================================== - Vim --- , , - , , - . , - Vim - . - - 25-30 - , . - - . , - ( "vimtutor", - ). - - , - . , , - . , - ! - - , CapsLock - j , , 1.1 - . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.1: - -** h,j,k,l , . ** - ^ - k : h . - < h l > l . - j j `'. - v - 1. , . - - 2. `' (j) . ----> , . - - 3. `' 1.2. - -: , , <ESC> - (Normal mode). - . - -: () - . , hjkl - , . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.2: VIM - -!! ! , , - !! - - 1. <ESC> ( , , - (Normal mode)). - - 2. : :q! <ENTER>. - ----> - . : - :wq <ENTER> - - 3. , , - . - vimtutor ru <ENTER> - : vim tutor.ru <ENTER> - ----> 'vim' vim, 'tutor.ru' --- , - . - - 4. , , 1 3 - . - 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.3: - - - -** x, . ** - - 1. , --->. - - 2. , , - . - - 3. x . - - 4. 2--4 . - ----> . - - 5. , , 1.4. - -: , - . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1.4: - - - - ** (Normal mode), i . ** - - 1. , --->. - - 2. , , - . - - 3. i . - - 4. <ESC> . - 2--4, . - ----> . ----> . - - 5. , . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1 - - 1. , hjkl. - h () j () k () l () - - 2. Vim ( % ) : - vim _ <ENTER> - - 3. Vim : - <ESC> :q! <ENTER> . - : - <ESC> :wq <ENTER> . - - 4. , : x - - 5. , : - i <ESC> - -: <ESC> (Normal mode) - . - - 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.1: - - - ** dw . ** - - 1. <ESC>, . - - 2. , , --->. - - 3. , . - - 4. dw , . - -: dw . - - , <ESC> . - ----> . - - 5. 3 4, - 2.2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.2: - - - ** d$ . ** - - 1. <ESC>, . - - 2. , , --->. - - 3. ( . ). - - 4. , d$ . - ----> - . . - - - 5. , 2.3. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.3: - - - `' d : - - [] d d [] - : - - (, =1). - d - . - - ( ). - - : - w - , . - e - , . - $ - . - ^ - . - -: (Normal mode) - , - . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.4: `-' - - - ** dd . ** - - , - Vim , d . - - 1. , . - 2. dd . - 3. . - 4. 2dd ( `--'), - . - - 1) , - 2) , ! - 3) ``'', ``'' --- ! - 4) ! - 5) ... - 6) `' - 7) . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.5: `' - - - ** u , U - . ** - - 1. , , ---> - . - 2. x . - 3. u () . - 4. , x . - 5. U , - . - 6. u U . - 7. CTRL-R ( CTRL - R) ( ). - ----> `'. - - 8. . 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 2 - - - 1. : dw - - 2. : d$ - - 3. : dd - - 4. : - - [] [] - : - - - - , d - - , w (), - $ ( ), .. - - 5. () : u ( u) - () : U ( U) - : CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.1: - - - ** p . ** - - 1. . - - 2. dd Vim'. - - 3. , - . - - 4. p . - - 5. 2--4, . - - ) . - ) , - ) - ) - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.2: - - - ** r , . ** - - 1. , , --->. - - 2. , . - - 3. r , . - - 4. 2 3, . - ----> 0 ! ----> - ! - - 5. 3.2. - -: , , - . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.3: - - - ** cw . ** - - 1. , , --->. - - 2. `o' `'. - - 3. cw ( , `'.) - - 4. <ESC> ( , - .) - - 5. 3--4 . - ----> . ----> . - - , cw , -. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3.4: c - - -** , . ** - - 1. , . - : - - [] c c [] - - 2. : w (), $ ( ) .. - - 3. , , --->. - - 4. . - - 5. c$ , - , <ESC>. - ----> , . ----> c$ . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 3 - - - 1. , , p . - ( , - ). - - 2. r . - - 3. - . , cw - , c$ . - - 4. : - - [] c c [] - - . - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.1: - - - ** CTRL-g - . - SHIFT-G . ** - - : !! - - 1. Ctrl g . - , . - , 3. - - 2. shift-G . - - 3. , shift-G. - , , Ctrl-g. - ( , .) - - 4. , 1--3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.2: - - ** / . ** - - 1. (Normal mode) / . , - , - : . - - 2. '' <ENTER>. , - . - - 3. , , n . - , Shift-N . - - 4. , - ? / . - ----> , - . - - "" `'; . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.3: - - - ** % ),] } . ** - - 1. (, [ { , --->. - - 2. % . - - 3. . - - 4. % . - ----> ( , (, [ ] { } . )) - -: ! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4.4: - - - ** :s///g '' ''. ** - - 1. , , --->. - - 2. :s// <ENTER> . , - . - - 3. :s///g , - . . - ----> , , - . - - 4. - , - :#,#s///g #,# --- . - :%s///g . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 4 - 1. Ctrl-g . - Shift-G . , Shift-G - . - - 2. / - . - ? - . - n - Shift-N - . - - 3. % , (,),[,],{, } - . - - 4. `' `' , - :s/old/new - `' `' , - :s/old/new/g - , - :#,#s/old/new/g - `' `' , - :%s/old/new/g - , 'c' - :%s/old/new/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.1: - - - ** :! , . ** - - 1. : - . . - - 2. ! ( ). - , . - - 3. ls ! <ENTER>. - , , - . :!dir , - . - ----> : . - ----> : , : , - <ENTER>. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.2: - - -** , , :w _. ** - - 1. :!dir :!ls . - , <ENTER> . - - 2. , , TEST. - - 3. :w TEST ( TEST --- , .) - - 4. ( Vim) TEST. - , :!dir . - ----> , Vim - TEST, , - . - - 5. , :!del TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.3: - - - ** , :#,# w _ ** - - 1. :!dir :!ls - , TEST. - - 2. Ctrl-g - to. ! - - 3. Ctrl-g. - ! - - 4. :#,# w TEST , #,# --- - , (, ), TEST --- . - - 5. , :!dir , - . - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5.4: - - ** , :r FILENAME ** - - 1. :!dir , , TEST - . - - 2. . - -: 3 5.3. - , . - - 3. TEST, :r TEST , - TEST --- . - -: , - . - - 4. , , - [A[B, 5.3, - . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 5 - - - 1. :! . - - : - :!dir --- . - :!del FILENAME --- FILENAME. - - 2. :w FILENAME - FILENAME. - - 3. :#,#w FILENAME # # FILENAME. - - 4. :r FILENAME FILENAME - . - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.1: - - - ** o - (Insert mode) ** - - 1. , , --->. - - 2. o ( ) , - (Insert mode). - - 3. ---> <ESC> - . - ----> o . - - 4. , O, - o. . - , Shift-O, . - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.2: - - ** a , . ** - - 1. , , ---> , - $ (Normal mode). - - 2. a ( ) , - . ( A - .) - -: i , , - , <ESC>, -, , , x , , - ! - - 3. . , - , , , - . - ----> ----> - . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.3: - - - ** R , . ** - - 1. , , --->. - - 2. , - , ---> ( ''). - - 3. R , - , . - ----> , . ----> , R . - - 4. , <ESC> , - . - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6.4: - - -** , ** - - - 1. '', : - / - , n - - 2. 'ic' ( ), : - :set ic - - 3. '', : n - , n - - 4. 'hlsearch' 'incsearch': - :set hls is - - 5. , : - / - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 6 - - - 1. o - . - O , - . - - 2. a , . - A - . - - 3. R , - <ESC> . - - 4. ":set xxx" "xxx" - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 7: - - ** ** - - Vim . - : - - <HELP> ( ) - - <F1> ( ) - - :help <ENTER> - - :q <ENTER> . - - , - ":help". ( - <ENTER>): - - :help w - :help c_<T - :help insert-index - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 8: - - ** Vim ** - - Vim , Vi, - . , - "vimrc". - - 1. "vimrc", - : - - :edit ~/.vimrc Unix - :edit $VIM/_vimrc MS-Windows - - 2. "vimrc": - - :read $VIMRUNTIME/vimrc_example.vim - - 3. : - - :write - - Vim . - , , "vimrc". - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Vim. , - Vim, , - . , Vim - . : ":help user-manual". - - : - Vim - Vi Improved - : Steve Oualline - : New Riders - Vim. . - . - See http://iccf-holland.org/click5.html - - Vi, Vim, - : - Learning the Vi Editor - : Linda Lamb - : O'Reilly & Associates Inc. - , , - Vi. Vim. - - Michael C. Pierce Robert K. Ware, Colorado School - of Mines , Charles Smith, Colorado State - University. E-mail: bware@mines.colorado.edu. - - Vim Bram Moolenaar. - - : <a_kissel@eudoramail.com>, 2002. - Translator: Andrey Kiselev <a_kissel@eudoramail.com>, 2002. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.ru.utf-8 b/runtime/tutor/tutor.ru.utf-8 deleted file mode 100644 index c12de27d8..000000000 --- a/runtime/tutor/tutor.ru.utf-8 +++ /dev/null @@ -1,834 +0,0 @@ -=============================================================================== -= Д о б р о п о ж а л о в а т ь в у ч е б н и к VIM - Версия 1.5 = -=============================================================================== - Vim --- это очень мощный редактор, имеющий множество команд, слишком - много для того, чтобы их все можно было описать в таком учебнике, как - этот. Этот учебник призван объяснить достаточное число команд для того, - чтобы Вы могли с легкостью использовать Vim в качестве редактора общего - назначения. - - Вам потребуется приблизительно 25-30 минут на освоение данного учебника в - зависимости от того, сколько времени Вы потратите на эксперименты. - - Команды в уроках будут модифицировать текст. Создайте копию этого файла, - чтобы попрактиковаться на ней (если Вы запустили "vimtutor", то это уже - копия). - - Важно помнить, что этот учебник предназначен для обучения в процессе - использования. Это означает, что Вы должны запускать команды для того, - чтобы как следует их изучить. Если Вы просто прочитаете текст, то - забудете команды! - - Теперь убедитесь в том, что клавиша CapsLock не включена и нажмите - клавишу j несколько раз, так, чтобы Урок 1.1 полностью поместился на - экране. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 1.1: ПЕРЕМЕЩЕНИЕ КУРСОРА - -** Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже. ** - ^ - k Советы: Клавиша h находится слева и перемещает влево. - < h l > Клавиша l находится справа и перемещает вправо. - j Клавиша j похожа на стрелку `вниз'. - v - 1. Подвигайте курсор по экрану, пока не почувствуете себя уверенно. - - 2. Надавите клавишу `вниз' (j) пока она не начнет повторяться. ----> Теперь Вы знаете, как перейти к следующему уроку. - - 3. Используя клавишу `вниз' перейдите к Уроку 1.2. - -Замечание: Если вы пока не уверены в том, что набираете, нажмите <ESC> для - перехода в обычный режим (Normal mode). После этого перенаберите - требуемую команду. - -Замечание: Обычные клавиши управления курсором (стрелки) также должны - работать. Однако, клавиши hjkl позволят Вам перемещаться - значительно быстрее, как только Вы научитесь ими пользоваться. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 1.2: ЗАПУСК И ЗАВЕРШЕНИЕ РАБОТЫ С VIM - -!! ВНИМАНИЕ! Прежде, чем выполнять любой из описанных ниже шагов, прочтите - урок целиком !! - - 1. Нажмите клавишу <ESC> (для того, чтобы удостовериться, что Вы в обычном - режиме (Normal mode)). - - 2. Наберите: :q! <ENTER>. - ----> Это позволит Вам выйти из редактора БЕЗ СОХРАНЕНИЯ любых сделанных - изменений. Если Вы хотите сохранить изменения и выйти: - :wq <ENTER> - - 3. Когда Вы увидите приглашение командной оболочки, наберите команду, - которая привела Вас в этот учебник. Это может быть - vimtutor ru <ENTER> - Обычно можно использовать: vim tutor.ru <ENTER> - ----> 'vim' позволяет запустить редактор vim, 'tutor.ru' --- это файл, который - Вы будете редактировать. - - 4. Если Вы уверены в том, что запомнили эти шаги, выполните шаги от 1 до 3 - чтобы выйти снова запустить редактор. Затем переместите курсор вниз к - Уроку 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 1.3: РЕДАКТИРОВАНИЕ ТЕКСТА - УДАЛЕНИЕ - - -** Находясь в обычном режиме нажмите x, чтобы удалить символ под курсором. ** - - 1. Переместите курсор к строке внизу, помеченной --->. - - 2. Для исправления ошибок, переместите курсор, пока он не окажется над - удаляемым символом. - - 3. Нажмите клавишу x для удаления требуемого символа. - - 4. Повторите шаги 2--4 пока строка не будет исправлена. - ----> От тттопота копытт пппыль ппо ппполю леттитт. - - 5. Теперь, когда строка откорректирована, переходите к уроку 1.4. - -ЗАМЕЧАНИЕ: В ходе освоения этого учебника не пытайтесь запоминать, учите - в процессе использования. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 1.4: РЕДАКТИРОВАНИЕ ТЕКСТА - ВСТАВКА - - - ** Находясь в обычном режиме (Normal mode), нажмите i для вставки текста. ** - - 1. Переместите курсор к первой строке внизу, помеченной --->. - - 2. Для того, чтобы сделать первую строку идентичной второй, поместите - курсор на символ ПЕРЕД которым следует вставить текст. - - 3. Нажмите i и наберите требуемые добавления. - - 4. После исправления всех ошибок нажмите <ESC> для возврата в обычный режим. - Повторите шаги 2--4, пока фраза не будет исправлена полностью. - ----> Часть текста в строке беследно . ----> Часть текста в этой строке бесследно пропала. - - 5. Когда освоите вставку текста, переходите дальше к Резюме. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - РЕЗЮМЕ УРОКА 1 - - 1. Курсор перемещается либо клавишами со стрелками, либо клавишами hjkl. - h (влево) j (вниз) k (вверх) l (вправо) - - 2. Для запуска Vim (из приглашения % командной оболочки) наберите: - vim ИМЯ_ФАЙЛА <ENTER> - - 3. Для завершения работы с Vim наберите: - <ESC> :q! <ENTER> чтобы отказаться от сохранения изменений. - Или наберите: - <ESC> :wq <ENTER> чтобы сохранить изменения. - - 4. Для удаления символа под курсором в обычном режиме, наберите: x - - 5. Чтобы вставить текст перед курсором в обычном режиме, наберите: - i вводите текст <ESC> - -ЗАМЕЧАНИЕ: Нажатие <ESC> переместит Вас в обычный режим (Normal mode) либо - прервет нежелательную и частично завершенную команду. - -Теперь переходим к Уроку 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.1: КОМАНДЫ УДАЛЕНИЯ - - - ** Наберите dw для удаления участка текста до конца слова. ** - - 1. Нажмите <ESC>, чтобы перейти в обычный режим. - - 2. Переместите курсор вниз, к строке, помеченной --->. - - 3. Переместите курсор в начало слова, которое следует удалить. - - 4. Наберите dw , чтобы удалить это слово. - -ЗАМЕЧАНИЕ: Во время набора буквы dw появятся в последней строке экрана. Если - Вы что-то наберете неправильно, нажмите <ESC> и начните сначала. - ----> Несколько слов рафинад в этом предложении автокран излишни. - - 5. Повторите шаги 3 и 4, пока не исправите все ошибки и переходите к - Уроку 2.2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.2: ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ УДАЛЕНИЯ - - - ** Наберите d$ для удаления текста до конца строки. ** - - 1. Нажмите <ESC>, чтобы перейти в обычный режим. - - 2. Переместите курсор вниз, к строке, помеченной --->. - - 3. Переместите курсор к концу правильной строки (ПОСЛЕ первой . ). - - 4. Чтобы удалить остаток строки, наберите d$ . - ----> Кто-то набрал окончание этой строки дважды. окончание этой строки дважды. - - - 5.Чтобы лучше разобраться в этом, переходите к Уроку 2.3. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.3: КОМАНДЫ И ОБЪЕКТЫ - - - Формат команды `удаление' d таков: - - [число] d объект ИЛИ d [число] объект - Здесь: - число - сколько раз исполнить команду (необязательно, по умолчанию=1). - d - команда удаления. - объект - с чем команда должна быть выполнена (перечислено ниже). - - Краткий список объектов: - w - от курсора до конца слова, включая завершающий пробел. - e - от курсора до конца слова, НЕ включая завершающий пробел. - $ - от курсора до конца строки. - ^ - от курсора до начала строки. - -ЗАМЕЧАНИЕ: Простое нажатие на символ объекта в обычном режиме (Normal mode) - без дополнительных команд передвинет курсор так, как указано в - списке объектов. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.4: ИСКЛЮЧЕНИЕ ИЗ ПРАВИЛА `КОМАНДА-ОБЪЕКТ' - - - ** Наберите dd для удаления всей строки. ** - - Вследствие частого применения операции удаления всей строки, разработчики - Vim решили, что для этого проще всего просто набрать d дважды. - - 1. Переместите курсор вниз, ко второй строке фразы. - 2. Наберите dd для удаления строки. - 3. Теперь переместитесь к четвертой строке. - 4. Наберите 2dd (вспомните правило `число-команда-объект'), чтобы удалить - две строки. - - 1) Летом я хожу на стадион, - 2) О, как внезапно кончился диван! - 3) Я болею за ``Зенит'', ``Зенит'' --- чемпион! - 4) Печально я гляжу на наше поколение! - 5) Его грядущее иль пусто иль темно... - 6) Я сижу на скамейке в ложе `Б' - 7) И играю на большой жестяной трубе. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 2.5: КОМАНДА `ОТКАТ' - - - ** Нажмите u для отмены результата работы предыдущей команды, U для отмены - исправлений во всей строке. ** - - 1. Переместите курсор вниз, к строке, помеченной ---> и установите его на - первую ошибку. - 2. Нажмите x для удаления первого неправильного символа. - 3. Теперь нажмите u для отмены (отката) последней выполненной команды. - 4. Исправьте все ошибки в строке, используя команду x . - 5. Теперь нажмите заглавную U для того, чтобы вернуть всю строку в исходное - состояние. - 6. Нажмите u несколько раз для отмены команды U и предыдущих команд. - 7. Нажмите теперь CTRL-R (удерживайте клавишу CTRL нажатой в момент нажатия - R) несколько раз для возврата команд (откат отката). - ----> Испрравьте оошибки в этойй строке и вернитте их сс помощьью `отката'. - - 8. Это были очень полезные команды. Далее переходите к Резюме Урока 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - РЕЗЮМЕ УРОКА 2 - - - 1. Для удаления текста от курсора до конца слова наберите: dw - - 2. Для удаления текста от курсора до конца строки наберите: d$ - - 3. Для удаления всей строки наберите: dd - - 4. Формат команды в обычном режиме имеет вид: - - [число] команда объект ИЛИ команда [число] объект - где: - число - сколько раз повторить выполнение команды - команда - что выполнить, например d для удаления - объект - на что должна воздействовать команда, например w (слово), - $ (до конца строки), и т.д. - - 5. Для отмены (отката) предшествующих действий наберите: u (строчная u) - Для отмены (отката) всех изменений в строке наберите: U (прописная U) - Для отмены отката наберите: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 3.1: КОМАНДА ВСТАВКИ - - - ** Наберите p для вставки последнего удаленного текста после курсора. ** - - 1. Переместите курсор вниз к последней строке из набора. - - 2. Наберите dd для удаления строки и ее сохранения в буфере Vim'а. - - 3. Переместите курсор к строке НАД тем местом, куда следует вставить - удаленную строку. - - 4. Находясь в обычном режиме наберите p для замены строки. - - 5. Повторите шаги 2--4, пока не расставите все строки в нужном порядке. - - г) И лучше выдумать не мог. - б) Когда не в шутку занемог, - в) Он уважать себя заставил - а) Мой дядя самых честных правил - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 3.2: КОМАНДА ЗАМЕНЫ - - - ** Наберите r и символ, заменяющий символ под курсором. ** - - 1. Переместите курсор вниз, к строке, помеченной --->. - - 2. Установите курсор так, чтобы он находился над первой ошибкой. - - 3. Наберите r и затем символ, исправляющий ошибку. - - 4. Повторите шаги 2 и 3, пока первая строка не будет исправлена. - ----> В момегт набтра этой чтроки кое0кто с трудом попвдал по клваишам! ----> В момент набора этой строки кое-кто с трудом попадал по клавишам! - - 5. Теперь переходите к Уроку 3.2. - -ЗАМЕЧАНИЕ: Помните, что вы должны учиться в процессе работы, а не просто - запоминая. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 3.3: КОМАНДА ИЗМЕНЕНИЯ - - - ** Для изменения части слова наберите cw . ** - - 1. Переместите курсор вниз, к строке, помеченной --->. - - 2. Расположите курсор над буквой `o' в слове `сола'. - - 3. Наберите cw и исправьте слово (в данном случае, наберите `лов'.) - - 4. Нажмите <ESC> и переходите к следующей ошибке (к первому символу, который - надо изменить.) - - 5. Повторите шаги 3--4 пока первое предложение не станет идентичным второму. - ----> Несколько сола в эьгц строке тпгшцбь редалзкуюиесвх. ----> Несколько слов в этой строке требуют редактирования. - -Обратите внимание, что cw не только заменяет слово, но и переводит вас в режим -вставки. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 3.4: ПРОДОЛЖАЕМ ИЗМЕНЯТЬ С КОМАНДОЙ c - - -** Команда замены используется с теми же объектами, что и команда удаления. ** - - 1. Команда изменения применяется таким же образом, как и команда удаления. - Ее формат таков: - - [число] c объект ИЛИ c [число] объект - - 2. Объекты также совпадают: w (слово), $ (конец строки) и т.п. - - 3. Переместите курсор вниз, к строке, помеченной --->. - - 4. Перейдите к первой ошибке. - - 5. Наберите c$ и отредактируйте первую строку так, чтобы она совпадала со - второй, после чего нажмите <ESC>. - ----> Конец этой строки нуждается в помощи, чтобы стать похожим на второй. ----> Конец этой строки нуждается в помощи команды c$ . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - РЕЗЮМЕ УРОКА 3 - - - 1. Для вставки текста, который только что был удален, наберите p . Эта - команда вставит удаленный текст ПОСЛЕ курсора (если была удалена строка, - то она будет помещена в строке под курсором). - - 2. Для замены символа под курсором наберите r и затем заменяющий символ. - - 3. Команда изменения позволяет Вам изменить указанный объект от курсора до - конца этого объекта. Например, наберите cw для замены от курсора до - конца слова, c$ для изменения до конца строки. - - 4. Формат команды изменения таков: - - [число] c объект ИЛИ c [число] объект - -Теперь отправляйтесь к следующему уроку. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 4.1: ИНФОРМАЦИЯ О ФАЙЛЕ И РАСПОЛОЖЕНИЕ В НЕМ - - - ** Наберите CTRL-g чтобы увидеть Ваше месторасположение в файле и информацию - о нем. - Наберите SHIFT-G для перемещения к заданной строке в файле. ** - - Замечание: Прочитайте весь урок прежде чем выполнять любые команды!! - - 1. Удерживая клавишу Ctrl нажмите g . Внизу экрана появится строка статуса с - именем файла и номером строки, в которой Вы находитесь. Запомните номер - строки, он потребуется на Шаге 3. - - 2. Нажмите shift-G для перемещения к концу файла. - - 3. Наберите номер строки, в которой вы находились и затем shift-G. Это - вернет Вас к строке, в которой Вы были, когда в первый раз нажали Ctrl-g. - (Когда Вы будете набирать цифры, они НЕ отобразятся на экране.) - - 4. Если Вы запомнили все вышесказанное, выполните шаги 1--3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 4.2: КОМАНДА ПОИСКА - - ** Наберите / и затем введите искомую фразу. ** - - 1. В обычном режиме (Normal mode) наберите символ / . Обратите внимание, - что он вместе с курсором появится внизу экрана, как это происходит с - командой : . - - 2. Теперь наберите 'ошшшибка' <ENTER>. Это то слово, которое Вы будете - искать. - - 3. Для того, чтобы повторить поиск, просто нажмите n . - Для поиска этой фразы в обратном направлении, нажмите Shift-N . - - 4. Если Вы желаете сразу искать в обратном направлении, используйте - команду ? вместо / . - ----> Когда Вы при поиске достигнете конца файла, поиск будет продолжен с - начала. - - "ошшшибка" это не способ произнесения слова `ошибка'; ошшшибка это ошибка. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 4.3: ПОИСК ПАРНЫХ СКОБОК - - - ** Наберите % для поиска парных ),] или } . ** - - 1. Поместите курсор над любой из (, [ или { в строке внизу, помеченной --->. - - 2. Теперь наберите символ % . - - 3. Курсор должен перескочить на парную скобку. - - 4. Наберите % для возврата курсора назад к первой скобке. - ----> Это ( строка, содержащая такие (, такие [ ] и такие { } скобки. )) - -Замечание: Это очень удобно при отладке программ с пропущенными скобками! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 4.4: СПОСОБ ИСПРАВЛЕНИЯ ОШИБОК - - - ** Наберите :s/было/стало/g для замены 'было' на 'стало'. ** - - 1. Переместите курсор вниз, к строке, помеченной --->. - - 2. Наберите :s/уводю/увожу <ENTER> . Обратите внимание на то, что эта команда - заменит только первое найденное вхождение в строке. - - 3. Теперь наберите :s/уводю/увожу/g , означающее подстановку глобально во - всей строке. Это заменит все найденные в строке вхождения. - ----> Я уводю к отверженным селеньям, я уводю сквозь вековечный стон, я уводю к - забытым поколеньям. - - 4. Для замены всех вхождений последовательности символов между двумя - строками, - наберите :#,#s/было/стало/g где #,# --- номера этих строк. - Наберите :%s/было/стало/g для замены всех вхождений во всем файле. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - РЕЗЮМЕ УРОКА 4 - 1. Ctrl-g показывает ваше положение в файле и информацию о нем. - Shift-G перемещает Вас в конец файла. Номер, за которым следует Shift-G - позволяет перейти к строке с этим номером. - - 2. Нажатие / и затем ввод строки позволяет произвести поиск этой строки - ВПЕРЕД по тексту. - Нажатие ? и затем ввод строки позволяет произвести поиск этой строки - НАЗАД по тексту. - После поиска наберите n для перехода к следующему вхождению искомой - строки в том же направлении или Shift-N для перехода в противоположном - направлении. - - 3. Нажатие % , когда курсор находится на (,),[,],{, или } позволяет найти - парную скобку. - - 4. Для подстановки `стало' вместо первого `было' в строке, наберите - :s/old/new - Для подстановки `стало' вместо всех `было' в строке, наберите - :s/old/new/g - Для замены в интервале между двумя строками, наберите - :#,#s/old/new/g - Для замены всех вхождений `было' на `стало' в файле, наберите - :%s/old/new/g - Чтобы редактор каждый раз запрашивал подтверждение, добавьте 'c' - :%s/old/new/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 5.1: КАК ВЫПОЛНИТЬ ВНЕШНЮЮ КОМАНДУ - - - ** Наберите :! и затем внешнюю команду, которую следует выполнить. ** - - 1. Наберите уже знакомую Вам команду : для установки курсора в командную - строку редактора. Это позволит Вам ввести команду. - - 2. Теперь наберите символ ! (восклицательный знак). Теперь можно исполнить - внешнюю команду, используя командную оболочку. - - 3. Для примера наберите ls после ! и нажмите <ENTER>. Эта команда выведет - список файлов в текущем каталоге, точно также, как если бы Вы ввели эту - команду в приглашении оболочки. Или попробуйте :!dir , если предыдущая - команда не сработала. - ----> Замечание: Таким способом можно выполнить любую внешнюю команду. - ----> Замечание: Все команды, начинающиеся с : , должны завершаться нажатием - <ENTER>. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 5.2: КАК ЗАПИСАТЬ ФАЙЛ - - -** Для сохранения изменений, произведенных в файле, наберите :w ИМЯ_ФАЙЛА. ** - - 1. Наберите :!dir или :!ls для получения списка файлов в текущем каталоге. - Как Вам уже известно, Вы должны нажать <ENTER> после ввода этих команд. - - 2. Придумайте название для файла, которое еще не существует, например TEST. - - 3. Теперь наберите :w TEST (где TEST --- это имя файла, придуманное Вами.) - - 4. Эта команда сохранит весь файл (Учебник по Vim) под именем TEST. Чтобы - удостовериться в этом, снова наберите :!dir и просмотрите каталог. - ----> Заметьте, что если Вы выйдете из Vim и затем запустите его снова с - файлом TEST, этот файл будет точной копией учебника в тот момент, когда - Вы его сохранили. - - 5. Теперь удалите этот файл, набрав :!del TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 5.3: ВЫБОРОЧНОЕ СОХРАНЕНИЕ - - - ** Для сохранения части файла, наберите :#,# w ИМЯ_ФАЙЛА ** - - 1. Еще раз наберите :!dir или :!ls для получения списка файлов в текущем - каталоге и выберите подходящее имя, например TEST. - - 2. Переместите курсор к началу этой страницы и нажмите Ctrl-g для нахождения - номера строкиto. ЗАПОМНИТЕ ЭТОТ НОМЕР! - - 3. Теперь переместитесь в конец страницы и вновь наберите Ctrl-g. ЗАПОМНИТЕ - И ЭТОТ НОМЕР ТОЖЕ! - - 4. Для сохранения ТОЛЬКО ЧАСТИ файла наберите :#,# w TEST , где #,# --- это - номера, которые Вы запомнили (начало, конец), а TEST --- имя вашего файла. - - 5. Как и прежде, убедитесь в наличии этого файла командой :!dir , но НЕ - УДАЛЯЙТЕ его. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 5.4: ЧТЕНИЕ И ОБЪЕДИНЕНИЕ ФАЙЛОВ - - ** Для вставки содержимого файла, наберите :r FILENAME ** - - 1. Наберите :!dir для того, чтобы убедиться в том, что файл TEST все еще - существует. - - 2. Установите курсор в верхней части этой страницы. - -Замечание: После выполнения шага 3 Вы увидите Урок 5.3. После этого - перемещайтесь ВНИЗ, снова к этому уроку. - - 3. Теперь прочитайте Ваш файл TEST, используя команду :r TEST , где - TEST --- это имя файла. - -Замечание: Прочитанный Вами файл будет вставлен в том месте, где находится - курсор. - - 4. Чтобы убедиться в том, что файл прочитан, переместитесь немного назад по - тексту и [A[Bзаметьте, что теперь существуют две копии Урока 5.3, исходная - и полученная из файла. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - РЕЗЮМЕ УРОКА 5 - - - 1. :!команда исполняет внешнюю команду. - - Некоторые полезные примеры: - :!dir --- выводит список файлов в каталоге. - :!del FILENAME --- удаляет файл FILENAME. - - 2. :w FILENAME записывает текущий редактируемый файл на диск - под именем FILENAME. - - 3. :#,#w FILENAME сохраняет строки от # до # в файл FILENAME. - - 4. :r FILENAME считывает с диска файл FILENAME и помещает его в текущий - файл следом за позицией курсора. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 6.1: КОМАНДА СОЗДАНИЯ - - - ** Наберите o чтобы создать пустую строку под курсором и перейти в режим - вставки (Insert mode) ** - - 1. Переместите курсор вниз, к строке, помеченной --->. - - 2. Наберите o (в нижнем регистре) для того, чтобы создать пустую строку - НИЖЕ курсора и перейти в режим вставки (Insert mode). - - 3. Теперь скопируйте помеченную ---> строку и нажмите <ESC> для выхода из - режима вставки. - ----> После нажатия o курсор перейдет на новую пустую строку в режиме вставки. - - 4. Для создания строки ВЫШЕ курсора, просто наберите заглавную O, вместо - строчной o. Попробуйте проделать это с нижеследующей строкой. -Создайте новую строку над этой, нажав Shift-O, поместив курсор на эту строку. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 6.2: КОМАНДА ДОБАВЛЕНИЯ - - ** Наберите a , чтобы вставить текст ПОСЛЕ курсора. ** - - 1. Переместите курсор вниз, в конец первой строки, помеченной ---> , - набрав $ в обычном режиме (Normal mode). - - 2. Наберите a (в нижнем регистре) для добавления текста ПОСЛЕ символа, - находящегося под курсором. (Заглавная A позволяет добавить в конец - строки.) - -Замечание: Это позволяет избежать нажатия i , последнего символа, текста для - вставки, <ESC>, курсор-вправо, и, наконец, x , просто для того, - чтобы добавить тест в конец строки! - - 3. Теперь завершите первую строку. Заметьте также, что добавление это в - точности то же самое, что и режим вставки, за исключением позиции, в - которую будет вставлен текст. - ----> Эта строчка позволит Вам попрактиковаться ----> Эта строчка позволит Вам попрактиковаться в добавлении текста в конец - строки. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 6.3: ЕЩЕ ОДИН СПОСОБ ЗАМЕНЫ - - - ** Наберите заглавную R для замены более, чем одного символа. ** - - 1. Переместите курсор вниз, к строке, помеченной --->. - - 2. Расположите курсор в начале первого слова, отличающегося от - соответствующего в следующей строке, помеченной ---> (слово 'последней'). - - 3. Теперь наберите R и замените остаток текста в первой строке, набрав - поверх старого текста так, чтобы обе строки стали одинаковыми. - ----> Первую строку можно сравнять с последней, используя клавиши. ----> Первую строку можно сравнять с второй, используя R и набрав новый текст. - - 4. Обратите внимание, что при нажатии <ESC> для завершения, любой - не измененный текст сохранится. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 6.4: УСТАНОВКА ПАРАМЕТРОВ - - -** Установим параметры так, чтобы игнорировать регистр при поиске или замене ** - - - 1. Поищите слово 'игнорировать', набрав: - /игнорировать - Повторите поиск несколько раз, нажимая клавишу n - - 2. Включите параметр 'ic' (Игнорировать регистр), набрав: - :set ic - - 3. Теперь снова сделайте поиск слова 'игнорировать', нажав: n - Повторите поиск несколько раз, нажимая клавишу n - - 4. Включите параметры 'hlsearch' и 'incsearch': - :set hls is - - 5. Теперь опять введите команду поиска и посмотрите, что получится: - /игнорировать - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - РЕЗЮМЕ УРОКА 6 - - - 1. Нажатие o создает строку НИЖЕ курсора и перемещает курсор в нее в режиме - вставки. - Нажатие заглавной O создает строку ВЫШЕ строки, в которой находится - курсор. - - 2. Наберите a для вставки текста ПОСЛЕ символа, на котором находится курсор. - Нажатие заглавной A автоматически перемещает Вас для добавления текста - в конец строки. - - 3. Нажатие заглавной R переводит Вас в режим замены до тех пор, пока не - будет нажата клавиша <ESC> для завершения. - - 4. Набрав ":set xxx" вы сможете включить параметр "xxx" - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 7: КОМАНДЫ ПОЛУЧЕНИЯ ВСТРОЕННОЙ СПРАВКИ - - ** Используйте встроенную справочную систему ** - - Vim обладает мощной встроенной справочной системой. Для начала попробуйте - один из трех вариантов: - - нажмите клавишу <HELP> (если таковая имеется на клавиатуре) - - нажмите клавишу <F1> (если таковая имеется на клавиатуре) - - наберите :help <ENTER> - - Наберите :q <ENTER> чтобы закрыть окно справки. - - Вы можете найти справку для любого понятия или команды, просто задав - соответствующий аргумент команде ":help". Попробуйте следующее (не забудьте - нажать <ENTER>): - - :help w - :help c_<T - :help insert-index - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Урок 8: СОЗДАНИЕ СТАРТОВОГО СКРИПТА - - ** Включим возможности Vim ** - - Vim имеет намного больше возможностей, чем Vi, однако большинствао из них - выключены по умолчанию. Для того, чтобы начать использовать новые - возможности Вам следует создать файл "vimrc". - - 1. Отредактируйте файл "vimrc", его расположение зависит от используемой - системы: - - :edit ~/.vimrc для Unix - :edit $VIM/_vimrc для MS-Windows - - 2. Теперь прочитайте пример файла "vimrc": - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Запишите файл: - - :write - - Теперь при следующем запуске Vim будет включена подсветка синтаксиса. Все - настройки, предпочитаемые Вами, могут быть добавлены в файл "vimrc". - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - На этом завершается Учебник Vim. Он был предназначен для того, чтобы дать - общее представление о редакторе Vim, достаточное для того, чтобы с легкостью - использовать его. Учебник далек от полноты, поскольку Vim имеет очень много - команд. Прочитайте теперь руководство пользователя: ":help user-manual". - - Для дальнейшего чтения рекомендуется книга: - Vim - Vi Improved - Автор: Steve Oualline - Издатель: New Riders - Эта книга полностью посвящена Vim. Особенно полезна новичкам. Содержит - множество примеров и иллюстраций. - Взгляните на See http://iccf-holland.org/click5.html - - Следующая книга более почтенного возраста и посвящена больше Vi, чем Vim, - однако также рекомендуется: - Learning the Vi Editor - Автор: Linda Lamb - Издатель: O'Reilly & Associates Inc. - Это хорошая книга для того, чтобы узнать все, что только можно проделывать с - Vi. Шестое издание также включает информацию о Vim. - - Этот учебник был написан Michael C. Pierce и Robert K. Ware, Colorado School - of Mines с использованием идей, предложенных Charles Smith, Colorado State - University. E-mail: bware@mines.colorado.edu. - - Доработано для Vim Bram Moolenaar. - - Перевод: Андрей Киселев <a_kissel@eudoramail.com>, 2002. - Translator: Andrey Kiselev <a_kissel@eudoramail.com>, 2002. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.sk b/runtime/tutor/tutor.sk deleted file mode 100644 index 2291aad61..000000000 --- a/runtime/tutor/tutor.sk +++ /dev/null @@ -1,1008 +0,0 @@ -=============================================================================== -= V i t a j t e v o V I M T u t o r i a l i - Verzia 1.7 = -=============================================================================== - - Vim je vemi vkonn editor, ktor m prli vea prkazov na to aby - mohli byt vetky popsan vo vuke akou je tto. Tto vuka - popisuje dostaton mnostvo prkazov nato aby bolo mon pouva - Vim ako viacelov editor. - - Priblin as potrebn na prebratie tejto vuky je 25-30 mint, - zvis na tom, koko je strvenho asu s preskavanm. - - UPOZORNENIE: - Prkazy v lekcich modifikuj text. Vytvor kpiu tohto sboru aby - sa mohlo precviova na om (pri tarte "vimtutor" je toto kpia). - - Je dleit zapamta si, e tto vuka je vytvoren pre vuku - pouvanm. To znamen, e je potrebn si prkazy vyska, aby bolo - uenie sprvne. Ak len itas text, prkazy zabudne! - - Presved sa, e Shift-Lock NIEJE stlaen a stlat klvesu - j niekoko krt, aby sa kurzor posunul natoko, e lekcia 1.1 - celkom zapln obrazovku. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.1: POHYB KURZOROM - - - ** Pre pohyb kurzorum stla klvesy h,j,k,l ako je znzornen. ** - ^ - k Funkcia: Klvesa h je naavo a vykon pohyb doava. - < h l > Klvesa l je napravo a vykon pohyb doprava. - j Klvesa j vyzer ako pka dole - v - 1. Pohybuj kurzorom po obrazovke, km si na to nezvykne. - - 2. Dr stlaen klvesu pre pohyb dole (j), km sa jej funkcia nezopakuje. ----> Teraz sa u vie pohybova na nasledujcu lekciu. - - 3. Pouitm klvesy pre pohyb dole prejdi na Lekciu 1.2. - -Poznmka: Ak si niesi ist tm o si napsal, stla <ESC> - na prechod do normlneho mdu. - -Poznmka: Kurzorov klvesy s tie funkn. Ale pouvanm hjkl sa bude - schopn pohybova rchlejie, ke si zvykne ich pouva. Naozaj! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 1.2: ZATVRANIE VIMU - - - !! POZNMKA: Pred vykonanm tchto krokov si pretaj cel tto lekciu !! - - 1. Stla klvesu <ESC> (aby si sa uite nachdzal v normlnom mde) - - 2. Nap: :q! <ENTER>. - Tm ukon prcu s editorom BEZ uloenia zmien, ktor si vykonal. - - 3. Ke sa dostane na prkazov riadok, nap prkaz, ktorm sa dostane - spe do tejto vuky. To me by: vimtutor <ENTER> - - 4. Ak si si tieto kroky spoahlivo zapamtal, vykonaj kroky 1 a 3, pre - ukonenie a znovu spustenie editora. - -POZNMKA: :q! <ENTER> neulo zmeny, ktor si vykonal. O niekoko lekci - sa nau ako uloi zmeny do sboru - - 5. presu kurzor dole na lekciu 1.3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.3: EDITCIA TEXTU - MAZANIE - - -** Stlaenie klvesy x v normlnom mde zmae znak na mieste kurzora. ** - - 1. Presu kurzor niie na riadok oznaen znakou --->. - - 2. Aby si mohol odstrni chyby, pohybuj kurzorom km neprejde na znak, - ktor chce zmaza. - - 3. Stla klvesu x aby sa zmazal nechcen znak. - - 4. Zopakuj kroky 2 a 4 a km veta nieje sprvna. - ----> Kraava skooilla ccezz mesiiac. - - 5. Ak je veta sprvna, prejdi na lekciu 1.4. - -POZNMKA: Neskaj si zapamta obsah tejto vuky, ale sa u pouvanm. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.4: EDITCIA TEXTU - VKLADANIE - - - ** Stlaenie klvesy i umouje vkladanie textu. ** - - 1. Presu kurzor niie na prv riadok za znaku --->. - - 2. Pre upravenie prvho riadku do rovnakho tvaru ako je druh riadok, - presu kurzor na prv znak za misto, kde m by text vloen. - - 3. Stla klvesu i a nap potrebn text. - - 4. Po opraven kadej chyby, stla <ESC> pre nvrat do normlneho mdu. - Zopakuj kroky 2 a 4 km nieje veta sprvna. - ----> Tu je text chbajci tejto. ----> Tu je nejak text chbajci od tejto iary. - - 5. Ke sa dostatone nau vklada text, prejdi na nasledujce zhrnutie. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.5: EDITCIA TEXTU - PRIDVANIE - - - ** Stlaenie klvesy A umouje pridva text. ** - - 1. Presu kurozr niie na prv riadok za znakou --->. - Nezle na tom, na ktorom znaku sa kurzor v tom riadku nachdza. - - 2. Stla klvesu A a nap potrebn text. - - 3. Po pridan textu stla klvesu <ESC> pre nvrat do Normlneho mdu. - - 4. Presu kurozr na druh riadok oznaen ---> a zopakuj - kroky 2 a 3 km nieje veta sprvna. - ----> Tu je nejak text chbajci o - Tu je nejak text chbajci od tiato. ----> Tu tie chba nej - Tu tie chba nejak text. - - 5. Ke sa dostatone nau pridva text, prejdi na lekciu 1.6. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.6: EDITCIA SBORU - - - ** Napsanm :wq sa sbor ulo a zavrie ** - -!! POZNMKA: Pred vykonanm tchto krokov si pretaj cel lekciu!! - -1. Opusti tto vuku, ako si to urobil v lekcii 1.2: :q! - -2. Do prkazovho riadku nap prkaz: vim tutor <ENTER> - 'vim' je prkaz, ktor spust editor Vim, 'tutor' je meno sboru, - ktor chce editova. Poui tak sbor, ktor me meni. - -3. Vlo a zma text tak, ako si sa nauil v predolch lekciach. - -4. Ulo sbor so zmenami a opusti Vim prkazom: :wq <ENTER> - -5. Retartuj vimtutor a presu sa dole na nasledujce zhrnutie. - -6. Urob tak po pretan predolch krokov a porozumeniu im. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZHRNUTIE LEKCIE 1 - - - 1. Kurzor sa pohybuje pouitm klves so pkami alebo klvesmi hjkl. - h (do lava) j (dole) k (hore) l (doprava) - - 2. Pre spustenie Vimu (z prkazovho riadku) nap: vim FILENAME <ENTER> - - 3. Na ukonenie Vimu nap: <ESC> :q! <ENTER> pre zruenie vetkch zmien - alebo nap: <ESC> :wq <ENTER> pre uloenie zmien. - - 4. Na zmazanie znaku na mieste kurzora nap: x - - 5. Pre vloenie textu na mieste kurzora v normlnom mde nap: - i nap vkladan text <ESC> vkladanie pred kurzor - A nap pridvan text <EXC> vkladanie za riadok - -POZNMKA: Stlaenie <ESC> a premiestn do normlneho mdu alebo zru - nejak nechcen a iastone dokonen prkaz. - -Teraz pokrauj lekciou 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.1: Mazacie prkazy - - - ** Napsanie prkazu dw zmae znaky do konca slova. ** - -1. Stla <ESC> aby si bol bezpene v normlnom mde. - -2. Presu kurzor niie na riadok oznaen znakou --->. - -3. Presu kurzor na zaiatok slova, ktor je potrebn zmaza. - -4. Nap dw aby slovo zmizlo. - -POZNMKA: Psmeno d sa zobraz na poslednom riadku obrazovky ke ho - nape. Vim na teba pok, aby si mohol napsa - psmeno w. Ak vid nieo in ako d , tak si napsal - nesprvny znak; stla <ESC> a zani znova. - ----> Tu je niekoko slov zbava, ktor nie patria list do tejto vety. - -5. Zopakuj kroky 3 a 4 km veta nieje sprvna a prejdi na lekciu 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.2: VIAC MAZACCH PRKAZOV - - - ** Napsanie prkazu d$ zmae znaky do konca riadku ** - -1. Stla <ESC> aby si bol bezpene v normlnom mde. - -2. Presu kurzor niie na riadok oznaen znakou --->. - -3. Presu kurzor na koniec sprvnej vety (ZA prv bodku). - -4. Nap d$ aby sa zmazali znaky do konca riadku. - ----> Niekto napsal koniec tohto riadku dvakrt. koniec tohot riadku dvakrt. - - -5. Prejdi na lekciu 2.3 pre pochopenie toho o sa stalo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.3: OPERTORY A POHYBY - - Vea prkazov, ktor menia text s odvoden od opertorov a pohybov. - Formt pre prkaz mazania klvesou d je nasledovn: - - d pohyb - - kde: - d - je mazac opertor - pohyb - je to o opertor vykonva (vypsan niie) - - Krtky list pohybov: - w - do zaiatku alieho slova, okrem jeho prvho psmena. - e - do konca terajieho slova, vrtane poslednho znaku. - $ - do konca riadku, vrtane poslednho znaku - - Take napsanm de sa zmae vetko od kurzora do konca slova. - -POZNMKA: Stlaenm iba pohybu v normlnom mde bez opertora - sa presunie kurzor tak ako je to pecivikovan. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.4: Pouitie viacnsobnho pohybu - - - ** Napsanm sla pred pohyb ho zopakuje zadn poet krt ** - - 1. Presu kurozr niie na zaiatok riadku oznaenho --->. - - 2. Nap 2w a kurozr sa presunie o dve slov vpred. - - 3. Nap 3e a kurozr sa presunie vpred na koniec tretieho slova. - - 4. Nap 0 (nula) a kurozr sa presunie na zaiatok riadku. - - 5. Zopakuj kroky 2 a 3 s rznymi slami. - ----> Toto je riadok so slovami po kotrch sa mete pohybova. - - 6. Prejdi na lekciu 2.5. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.5: POUITIE VIACNSOBNHO MAZANIA PRE HROMADN MAZANIE - - - ** Napsanie sla spolu s opertorom ho zopakuje zadan poet krt ** - - V kombincii opertorov mazania a pohybu spomnanho vyie vlo poet - pred pohyb pre docielenie hromadnho mazania: - d slo pohyb - - 1. Presu kurzor na prv slovo psan VEKMI PSMENAMI - v riadku oznaenom --->. - - 2. Nap 2dw a zmae dve slov psan VEKMI PSMENAMI - - 3. Zopakuj kroky 1 a 2 s pouitm rzneho sla tak aby si zmazal slov - psan vekmi psmenami jednm prkazom. - ----> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. - -POZNMKA: slo medzi opertorom d a pohybom funguje podobne ako pri - pouit s pohybom bez opertora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.6: OPERCIE S RIADKAMI - - - ** Napsanie prkazu dd zmae cel riadok. ** - -Vzhadom na frekvenciu mazania celho riadku, sa autori Vimu rozhodli, -e bude jednoduchie maza cel riadok napsanm dvoch psmen d. - -1. Presu kurzor na druh riadok v texte na spodu. -2. Nap dd aby si zmazal riadok. -3. Prejdi na tvrt riadok. -4. Nap 2dd aby si zmazal dva riadky. - - 1) Rue s erven, - 2) Blato je zbavn, - 3) Fialky s modr, - 4) Mm auto, - 5) Hodinky ukazuj as, - 6) Cukor je sladk, - 7) A to si ty. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.7: PRKAZ UNDO - - -** Stla u pre vrtenie poslednho prkazu, U pre pravu celho riadku. ** - -1. Presu kurzor niie na riadok oznaen znakou ---> a premiestni ho na - prv chybu. -2. Nap x pre zmazanie prvho nechcenho riadku. -3. Teraz nap u m vrt sp posledne vykonan prkaz. -4. Teraz oprav vetky chyby na riadku pouitm prkazu x . -5. Teraz nap vek U m vrt riadok do pvodnho stavu. -6. Teraz nap u niekoko krt, m vrt sp prkaz U. -7. Teraz nap CTRL-R (dr klvesu CTRL stlaen km stla R) niekoko - krt, m vrt sp predtm vrten prkazy (undo z undo). - ----> Opprav chybby nna toomto riadku a zmee ich pommocou undo. - - 8. Tieto prkazy s asto pouvan. Teraz prejdi na zhrnutie lekcie 2. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 2 ZHRNUTIE - - - 1. Pre zmazanie znakov od kurzora do konca slova nap: dw - - 2. Pre zmazanie znakov od kurzora do konca riadku nap: d$ - - 3. Pre zmazanie celho riadku nap: dd - - 4. Pre zopakovanie pohybu, nap pred neho slo: 2w - - 5. Formt pre pkaz: - - opertor [slo] pohyb - kde: - opertor - o treba robi, naprklad d pre zmazanie - [slo] - je voliten poet pre opakovanie pohybu - pohyb - pohyb po texte vzhadom na opertor, naprklad w (slovo), - $ (do konca riadku), at. - - 6. Pre pohyb na zaiatok riadku poui nulu: 0 - - 7. Pre vrtenie sp predolej opercie nap: u (mal u) - Pre vrtenie vetkch prav na riadku nap: U (vek U) - Pre vrtenie vrtench prav nap: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.1: PRKAZ VLOI - - - ** Napsanie prkazu p vlo psledn vmaz za kurzor. ** - - 1. Presu kurzor niie na prv riadok textu. - - 2. Nap dd m zmae riadok a ulo ho do buffera editora Vim. - - 3. Presu kurzor vyie tam, kam zmazan riadok patr. - - 4. Ak nape v normlnom mde p zmazan riadk sa vlo. - - 5. Zopakuj kroky 2 a 4, km riadky nies v sprvnom porad. - ----> d) Tie sa doke vzdelva? ----> b) Fialky s modr, ----> c) Inteligencia sa vzdelva, ----> a) Rue s erven, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.2: PRKAZ NAHRADENIA - - - ** Napsanm rx sa nahrad znak na mieste kurzora znakom x . ** - - 1. Presu kurzor niie na prv riadok textu oznaenho znakou --->. - - 2. Presu kurzor na zaiatok prvej chyby. - - 3. nap r a potom znak, ktor tam m by. - - 4. Zopakuj kroky 2 a 3, km prv riadok nieje zhodn s druhm. - ----> Ka bol tento riasok paan, niekro stlail nesprbne klvesy! ----> Ke bol tento riadok psan, niekto stlail nesprvne klvesy! - - 5. Teraz prejdi na lekciu 3.2. - -POZNMKA: Pamtaj si, e naui sa me len pouvanim, nie pamtanm. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.3. PRKAZ PRAVY - - - ** Ak chce zmeni as slova do konca slova, nap ce . ** - - 1. Presu kurzor niie na prv riadok oznaen znakou --->. - - 2. Umiestni kurzor na psmeno o v slove rosfpl. - - 3. Nap ce a oprav slovo (v tomto prpade nap 'iadok'.) - - 4. Stla <ESC> a prejdi na al znak, ktor treba zmeni. - - 5. Zopakuj kroky 3 a 4, km prv veta nieje rovnak ako druh. - ----> Tento rosfpl m niekoko skic, ktor je pirewvb zmeni piyun prkazu. ----> Tento riadok m niekoko slov, ktor je potrebn zmeni pouitm prkazu. - -Poznmka, e ce zmae slovo a nastav vkladac md. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.4: VIAC ZMIEN POUITM c - - - ** Prkaz pre pravy sa pouva s rovnakmi pohybmi ako pre mazanie ** - - 1. Prkaz pre pravy pracuje rovnako ako pre mazanie. Formt je: - - c [slo] pohyb - - 2. Pohyby s rovnak, ako naprklad w (slovo) a $ (koniec riadku). - - 3. Presu kurzor niie na prv riadok oznaen znakou --->. - - 4. Presu kurzor na prv chybu. - - 5. nap c$ aby si mohol upravi zvyok riadku poda druhho - a stla <ESC>. - ----> Koniec tohto riadku potrebuje pomoc, aby bol ako druhy. ----> Koniec tohto riadku potrebuje opravi pouitm prkazu c$ . - -POZNMKA: Me poui klvesu backspace na pravu zmien poas psania. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 3 ZHRNUTIE - - - 1. Na vloenie textu, ktor u bol zmazan, nap p . To vlo zmazan - text ZA kurzor (ak bol riadok zmazan prejde na riadok pod kurzorom). - - 2. Pre naradenie znaku na mieste kurzora, nap r a potom znak, ktor - nahrad pvodn znak. - - 3. Prkaz na upravenie umouje zmeni od kurzora a po miesto, ktor - uruje pohyb. napr. Nap ce m zmn text od pozcie - kurzora do konca slova, c$ zmen text do konca riadku. - - 4. Formt pre nahradenie je: - - c [slo] pohyb - - -Teraz prejdi na nalsedujcu lekciu. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.1: POZCIA A STATUS SBORU - - - ** Stla CTRL-g pre zobrazenie svojej pozcie v sbore a statusu sboru. - Nap G pre presun na riadok v sbore. ** - - Poznmka: Pretaj si cel tto lekciu skr ako zane vykonva kroky!! - - 1. Dr stlaen klvesu Ctrl a stla g . Toto nazvame CTRL-G. - Na spodu obrazovky sa zobraz sprva s nzvom sboru a pozciou - v sbore. Zapamtajsi si slo riadku pre pouitie v kroku 3. - - 2. Stla G m sa dostane na spodok sboru. - Nap gg m sa dostane na zaiatok sboru. - - 3. Nap slo riadku na ktorom si sa nachdzal a stla G. To a - vrti na riadok, na ktorom si prv krt stlail CTRL-G. - - 4. Ak sa ct schopn vykona teto kroky, vykonaj kroky 1 a 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.2: PRKAZ VYHADVANIA - - - ** Nap / nasledovan reazcom pre vyhadanie prslunho reazca. ** - - 1. Nap znak / v normlnom mde. Poznmka, e tento znak sa spolu - s kurzorom zobraz v dolnej asti obrazovky s : prkazom. - - 2. Teraz nap 'errroor' <ENTER>. To je slovo, ktor chce vyhada. - - 3. Pre vyhadanie alieho vskytu rovnakho reazca, stla jednoducho n. - Pre vyhadanie alieho vskytu rovnakho reazca opanm smerom, - N. - - 4. Ak chce vyhada reazec v sptnom smere, pou prkaz ? miesto - prkazu /. - - 5. Pre nvrat na miesto z ktorho si priiel stla CTRL-O (dr stlaen - klvesu Ctrl poas stlaenia klvesy o). Zopakuj pre al nvrat - sp. CTRL-I ide vpred. - -POZNMKA: "errroor" nieje spsob hlskovania error; errroor je error. -POZNMKA: Ke vyhadvanie dosiahne koniec tohto sboru, bude pokraova na - zaiatku, dokia nieje resetovan nastavenie 'wrapscan' . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.3: VYHADVANIE ZODPOVEDAJCICH ZTAVORIEK - - - ** Nap % pre vyhadanie prslunho znaku ),], alebo } . ** - - 1. Premiestni kurzor na hocak zo znakov (, [, alebo { v riadku niie - oznaenho znakou --->. - - 2. Teraz nap znak % . - - 3. Kurzor sa premiestni na zodpovedajcu ztvorku. - - 4. Nap % pre presun kurzoru sp na otvrajcu ztvorku. - - 5. Presu kurzor na in zo znakov (,),[,],{ alebo } a vimni si - o % vykonva. - ----> Toto ( je testovac riadok s ('s, ['s ] a {'s } v riadku. )) - -Poznmka: Toto je vemi vhodn pou pri laden programu s chbajcimi - uzatvrajcimi ztvorkami! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.4: PRKAZ NAHRADENIA - - - ** Nap :s/star/nov/g pre nahradenie slova 'star' za slovo 'nov'. ** - - 1. Presu kurzor niie na riadok oznaen znakou --->. - - 2. Nap :s/thee/the <ENTER> . Poznamka, e tento prkaz zmen len prv - vskyt "thee" v riadku. - - 3. Teraz nap :s/thee/the/g o znamen celkov nahradenie v riadku. - Toto nahrad vetky vskyty v riadku. - ----> Thee best time to see thee flowers in thee spring. - - 4. Pre zmenu vetkch vskytov danho reazca medzi dvomi ridakami, - nap :#,#s/star/nov/g kde #,# s sla dvoch riadkov, v rozsahu - ktorch sa nahradenie vykon. - nap :%s/star/nov/g pre zmenu vetkch vskytov v celom riadku - nap :%s/star/nov/gc njde vetky vskyty v celom sbore, - s otzkou i nahradi alebo nie - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 4 ZHRNUTIE - - - 1. CTRL-g vype tvoju pozciu v sbore a status sboru. - G a premiestni na koniec riadku. - slo G a premiestni na riadok s slom. - gg a presunie na prv riadok - - 2. Napsanie / nasledovan reazcom vyhad reazec smerom DOPREDU. - Napsanie ? nasledovan reazcom vyhada reazec smerom DOZADU. - Napsanie n po vyhadvan, vyhad nasledujci vskyt reazca - v rovnakom smere, priom N vyhad v opanom smere. - CTRL-O a vrti sp na stariu pozciu, CTRL-I na noviu pozciu. - - 3. Napsanie % ke kurzor je na (,),[,],{, alebo } njde zodpovdajcu - prnu ztvorku. - - 4. Pre nahradenie novho za prv star v riadku nap :s/star/nov - Pre nahradenie novho za vetky star v riadku nap :s/star/nov/g - Pre nahradenie reazcov medzi dvoma riadkami 3 nap :#,#/star/nov/g - Pre nahradenie vetkch vskytov v sbore nap :%s/star/nov/g - Pre potvrdenie kadho nahradenia pridaj 'c' :%s/star/nov/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.1 AKO SPUSTI VONKAJ PRKAZ - - - ** Nap prkaz :! nasledovan vonkajm prkazom pre spustenie prkazu ** - - 1. Nap obvykl pkaz : ktor nastav kurzor na spodok obrazovky. - To umon napsa prkaz. - - 2. Teraz nap ! (vkrink). To umon spusti hociak vonkaj prkaz - z prkazovho riadku. - - 3. Ako prklad nap ls za ! a stla <ENTER>. Tento prkaz - zobraz obsah tvojho adresra rovnako ako na prkazovom riadku. - Alebo poui :!dir ak ls nefunguje. - -Poznmka: Takto je mon spusti hociak vonkaj prkaz s argumentami. -Poznmka: Vetky prkazy : musia by dokonen stlaenm <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.2: VIAC O UKLADAN SBOROV - - - ** Pre uloenie zmien v sbore, nap :w FILENAME. ** - - 1. Nap :!dir alebo :!ls pre vpis aktulneho adresra. - U vie, e mus za tmto stlai <ENTER> . - - 2. Vyber nzov sboru, ktor ete neexistuje, ako napr. TEST. - - 3. Teraz nap: :w TEST (kde TEST je nzov vybratho sboru.) - - 4. To ulo cel sbor (Vim Tutor) pod nzovm TEST. - Pre overenie nap :!dir , m zobraz obsah adresra. - -Poznmka: e ak ukon prcu s editorom Vim a znovu ho spust prkazom - vim TEST, sbor bude kpia vuky, ke si ho uloil. - - 5. Teraz odstr sbor napsanm (MS-DOS): :!del TEST - alebo (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.3 VBER TEXTU PRE ULOENIE - - - ** Pre uloenie asti sboru, nap v pohyb :w FILENAME ** - - 1. Presu kurozr na tento riadok. - - 2. Stla v a presu kurozr na piatu poloku dole. Poznmka, e - tento text je vyznaen (highlighted). - - 3. Stla klvesu : . V spodnej asti okna sa objav :'<,'>. - - 4. Nap w TEST , kde TEST je meno sboru, ktor zatial neexistuje. - Skontroluj, e vid :'<,'>w TEST predtm ne stla Enter. - - 5. Vim zape oznaen riadky do sboru TEST. Poui :!dir alebo !ls - pre overenie. Zatial ho ete nema! Pouijeme ho v alej lekcii. - -POZNMKA: Stlaenm klvesy v sa spust vizulne oznaovanie. - Me pohybova kurzorom pre upresnenie vyznaenho textu. - Potom me poui opertor pre vykonanie nejakej akcie - s textom. Naprklad d zmae vyznaen text. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.4: VBER A ZLUOVANIE SBOROV - - - ** Pre vloenie obsahu sboru, nap :r FILENAME ** - - 1. Premiestni kurzor nad tento riadok. - -POZNMKA: Po vykonan kroku 2 uvid text z lekcie 5.3. Potom sa presu - dole, aby si videl tto lekciu. - - 3. Teraz vlo sbor TEST pouitm prkazu :r TEST kde TEST je nzov - sboru. Sbor, ktor si pouil je umiestnen pod riadkom s kurzorom. - -POZNMKA: Me tie nata vstup vonkajieho prkazu. Naprklad :r !ls - nata vstup prkazu ls a umiestni ho za pozciu kurzora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 5 ZHRNUTIE - - - 1. :!prkaz spust vonkaj prkaz. - - Niektor vyuiten prklady s: - (MS_DOS) (UNIX) - :!dir :!ls - zobraz obsah adresra - :!del FILENAME :!rm FILENAME - odstrni sbor FILENAME - - 2. :w FILENAME ulo aktulny sbor na disk pod menom FILENAME. - - 3. v pohyb :w FILENAME ulo vizulne oznaen riadky do - sboru FILENAME. - - 4. :r FILENAME vyberie z disku sbor FILENAME a vlo ho do aktulneho - sboru za pozciou kurzora. - - 5. :r !dir nata vstup z prkazu dir a vlo ho za pozciu kurzora. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.1: PRKAZ OTVORI - - -** Nap o pre vloenie riadku pod kurzor a prepnutie do vkladacieho mdu ** - - 1. Presu kurzor niie na riadok oznaen znakou --->. - - 2. Nap o (mal psmeno) pre vloenie istho riadku pod kurzorm - a prepnutie do vkladacieho mdu. - - 3. Teraz skopruj riadok oznaen ---> a stla <ESC> pre ukonenie - vkladacieho mdu. - ----> Po napsan o sa kurzor premiestn na vloen riadok do vkladacieho - mdu. - - 4. Pre otvorenie riadku nad kurzorom, jednotucho nap vek O , - namiesto malho o. Vyskaj si to na riadku dole. - ----> Vlo riadok nad tmto napsanm O, ke kurzor je na tomto riadku. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.2: PRKAZ PRIDA - - - ** Nap a pre vloenie textu ZA kurzor. ** - - 1. Presu kurzor niie na koniec prvho riadku oznaenho znakou ---> - - 2. Stla klvesu e dokia kurozr nieje na konci riadku. - - 3. Nap a (mal psmeno) pre pridanie textu ZA kurzorom. - - 4. Dokon slovo tak ako je to v druhom riadku. Stla <ESC> pre - opustenie vkladacieho mdu. - - 5. Poui e na presun na alie nedokonen slovo a zopakuj kroky 3 a 4. - ----> Tento ri ti dovouje ncv privan testu na koniec riadku. ----> Tento riadok ti dovouje ncvik pridvania textu na koniec riadku. - -POZNMKA: a, i, A tartuj rovnak vkladac md, jedin rozidel je, kde - sa znaky vkladaj. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.3: IN SPOSOB NAHRADZOVANIA - - - ** Nap vek R pre nahradenie viac ako jednho znaku. ** - - 1. Presu kurzor niie na prv riadok oznaen znakou --->. Premiestni - kurzor na zaiatok prvho vskytu xxx. - - 2. Teraz nap R a nap slo uveden v druhom riadku, take - sa nm nahrad pvodn xxx. - - 3. Stla <ESC> pre opustenie nahradzovacieho mdu. Poznmka, e zvyok - riadku zostane nezmenen. - - 4. Zopakuj tieto kroky pre nahradenie zvynch xxx. - ----> Pridanm 123 ku xxx dostane xxx. ----> Pridanm 123 ku 456 dostane 579. - -POZNMKA: Nahradzovac md je ako vkladac md, ale kad napsan znak - zmae existujci znak. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Lekcia 6.4: Copy Paste textu - - ** pou opertor y pre copy textku a p pre jeho paste ** - - 1. Cho niie na riadok oznaen ---> a umiestni kurozr za "a)". - - 2. Natartuj vizulny md pouitm v a presu kurozr pred "first". - - 3. Nap y pre vystrihnutie (copy) oznaenho textu. - - 4. Presu kurozr na koniec alieho riadku: j$ - - 5. Nap p pre vlonie (paste) textu. Potom nap: a druha <ESC>. - - 6. Poui vizulny md pre oznaenie "poloka.", vystrihni to - pouitm y, presu sa na koniec nasledujceho riadku pouitm j$ - a vlo sem text pouitm p. - ----> a) toto je prv poloka ----> b) - -POZNMKA: Me poui tie y ako opertor; yw vystrihne jedno slovo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.5: NASTAVENIE MONOST - - -** Nastav monosti, take vyhadvanie alebo nahradzovanie ignoruje - rozliovanie ** - - - 1. Vyhadaj reazec 'ignore' napsanm: - /ignore <ENTER> - Zopakuj vyhadvanie niekoko krt stlaenm klvesy n . - - 2. Nastav monos 'ic' (Ignore case) napsanm prkazu: - :set ic - - 3. Teraz vyhadaj reazec 'ingore' znova stlaenm klvesy n - Poznmka, e teraz s vyhadan aj Ignore a IGNORE. - - 4. Nastav monosi 'hlsearch' a 'incsearch': - :set hls is - - 5. Teraz spusti vyhadvac prkaz znovu, a pozri o sa stalo: - /ignore <ENTER> - - 6. Pre opetovn zapnutie rozlyovania vekch a malch psmen - nap: :set noic - -POZNMKA: Na odstrnenie zvraznenia vrazov nap: :nohlsearch -POZNMKA: Ak chce nerozlyova vekos psmen len pre jedno - pouitie vyhadvacieho prkazu, poui \c: /ignore\c <ENTER> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 6 ZHRNUTIE - - - 1. Nap o pre otvorenie riadku pod kurzorom a tart vkladacieho mdu. - Nap O pre otvorenie riadku nad kurzorom. - - 2. Nap a pre vkladanie textu ZA kurzor. - Nap A pre vkladanie textu za koncom riadku. - - 3. Prkaz e presunie kurozr na koniec slova - - 4. Opertor y vystrihne (skopruje) text, p ho vlo. - - 5. Napsanie vekho R prepne do nahradzovacieho mdu, km nieje - stlaen <ESC>. - - 6. Napsanie ":set xxx" nastav monos "xxx". Niektor nastavenia s: - 'ic' 'ignorecase' ignoruje vek a mal psmen poas vyhadvania. - 'is' 'incsearch' zobrazuje iaston reazce vyhadvanho reazca. - 'hls' 'hlsearch' vyzna vetky vyhadvan reazce. - Me poui hociktor z dlhch a krtkych nzvov monost. - - 7. Vlo "no" pred nastavenie pre jeho vypnutie: :set noic - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 7.1: ZSKANIE NPOVEDY - - - ** Pouvaj on-line systm npovedy ** - - Vim m obsiahly on-line systm npovedy. Pre odtartovanie, vyskaj jeden - z tchto troch: - - stla klvesu <HELP> (ak nejak m) - - stla klvesu <F1> (ak nejak m) - - nap :help <ENTER> - - taj text v okne npovedy pre zskanie predstavy ako npoveda funguje. - Nap CTRL-W CTRL-W pre skok z jednho okna do druhho. - Nap :q <ENTER> m zatvor okno npovedy. - - Me njs help ku hociakej tme pridanm argumentu ku prkazu ":help". - Vyskaj tieto (nezabudni stlai <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 7.2: VYTVORENIE TARTOVACIEHO SKRIPTU - - ** Zapni funkcie editora Vim ** - - Vim m omnoho viac funkcii ne Vi, ale veina z nich je implicitne - vypnut. Pre pouvanie viac Vim funkcii vytvor "vimrc" sbor. - - 1. Zani editova "vimrc" sbor, to zvis na pouitom systme: - :e ~/.vimrc pre Unix - :e $VIM/_vimrc pre MS-Windows - - 2. Teraz si pretaj text prkladu "vimrc" sboru: - - :r $VIMRUNTIME/vimrc_example.vim - - 3. Ulo sbor: - :w - - Pri nasledujcom tarte editora Vim sa pouije zvrazovanie syntaxe. - Do "vimrc" sboru me prida vetky svoje uprednostovan nastavenia. - Pre viac informcii nap :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LEKCIA 7.3 DOKONENIE - - ** Dokoni prkaz na prkazovom riadku pouitm CTRL-D a <TAB> ** - - 1. Uisti sa, e Vim nieje v kompatibilnom mde: :set nocp - - 2. Pozri sa ak sbory sa nachdzaj v adresri: :!ls alebo :!dir - - 3. Nap zaiatok prkazu: :e - - 4. Stla CTRL-D a Vim zobraz zoznam prkazov zanajcich "e". - - 5. Stla <TAB> a Vim dokon meno prkazu na ":edit". - - 6. Teraz pridaj medzernk a zaiatok mena existujceho sboru: - :edit FIL - - 7. Stla <TAB>. Vim dokon meno (ak je jedinen). - -POZNMKA: Dokonovanie funguje pre vea prkazov. Vyskaj stlaenie - CTRL-D a <TAB>. pecilne je to uiton pre prkaz :help. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LEKCIA 7 ZHRNUTIE - - 1. Nap :help alebo stla <F1> alebo <Help> pre otvorenie okna npovedy. - - 2. Nap :help prkaz pre vyhadanie npovedy ku prkazu prkaz. - - 3. Nap CTRL-W CTRL-W na preskoenie do inho okna. - - 4. Nap :q pre zatvorenie okna npovedy - - 5. Vytvor tartovac skript vimrc pre udranie uprednostovanch nastaven. - - 6. Poas psania prkazu : stla CTRL-D pre zobrazenie dokonen. - Stla <TAB> pre pouitie jednho z dokonen. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - - Toto vymedzuje vuku Vimu. Toto je uren pre strucn prehad o editore - Vim, plne postaujce pre ahk a obstojn pouvanie tohto editora. - Tto vuka je aleko od kompletnosti, pretoe Vim m omnoho viacej prkazov. - Ako alie si pretaj uvatsk manul: ":help user-manual". - - Pre alie tanie a tdium je odporan kniha: - Vim - Vi Improved - od Steve Oualline - Vydavate: New Riders - Prv kniha uren pre Vim. pecilne vhodn pre zaiatonkov. - Obsahuje mnostvo prkladov a obrzkov. - Pozri na http://iccf-holland.org/click5.html - - Tto kniha je staria a je viac o Vi ako o Vim, ale je tie odporan: - Learning the Vi Editor - od Linda Lamb - Vydavate: O'Reilly & Associates Inc. - Je to dobr kniha pre zskanie vedomost o prci s editorom Vi. - ieste vydanie obsahuje tie informcie o editore Vim. - - Tto vuka bola napsan autormi Michael C. Pierce a Robert K. Ware, - Colorado School of Mines s pouitm mylienok dodanmi od Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Modifikovan pre Vim od Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Preklad do Sloveniny: ubo elko - e-mail: celbos@inmail.sk - Last Change: 2006 Apr 18 - encoding: iso8859-2 diff --git a/runtime/tutor/tutor.sk.cp1250 b/runtime/tutor/tutor.sk.cp1250 deleted file mode 100644 index f32c9b12a..000000000 --- a/runtime/tutor/tutor.sk.cp1250 +++ /dev/null @@ -1,1008 +0,0 @@ -=============================================================================== -= V i t a j t e v o V I M T u t o r i a l i - Verzia 1.7 = -=============================================================================== - - Vim je vemi vkonn editor, ktor m prli vea prkazov na to aby - mohli byt vetky popsan vo vuke akou je tto. Tto vuka - popisuje dostaton mnostvo prkazov nato aby bolo mon pouva - Vim ako viacelov editor. - - Priblin as potrebn na prebratie tejto vuky je 25-30 mint, - zvis na tom, koko je strvenho asu s preskavanm. - - UPOZORNENIE: - Prkazy v lekcich modifikuj text. Vytvor kpiu tohto sboru aby - sa mohlo precviova na om (pri tarte "vimtutor" je toto kpia). - - Je dleit zapamta si, e tto vuka je vytvoren pre vuku - pouvanm. To znamen, e je potrebn si prkazy vyska, aby bolo - uenie sprvne. Ak len itas text, prkazy zabudne! - - Presved sa, e Shift-Lock NIEJE stlaen a stlat klvesu - j niekoko krt, aby sa kurzor posunul natoko, e lekcia 1.1 - celkom zapln obrazovku. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.1: POHYB KURZOROM - - - ** Pre pohyb kurzorum stla klvesy h,j,k,l ako je znzornen. ** - ^ - k Funkcia: Klvesa h je naavo a vykon pohyb doava. - < h l > Klvesa l je napravo a vykon pohyb doprava. - j Klvesa j vyzer ako pka dole - v - 1. Pohybuj kurzorom po obrazovke, km si na to nezvykne. - - 2. Dr stlaen klvesu pre pohyb dole (j), km sa jej funkcia nezopakuje. ----> Teraz sa u vie pohybova na nasledujcu lekciu. - - 3. Pouitm klvesy pre pohyb dole prejdi na Lekciu 1.2. - -Poznmka: Ak si niesi ist tm o si napsal, stla <ESC> - na prechod do normlneho mdu. - -Poznmka: Kurzorov klvesy s tie funkn. Ale pouvanm hjkl sa bude - schopn pohybova rchlejie, ke si zvykne ich pouva. Naozaj! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 1.2: ZATVRANIE VIMU - - - !! POZNMKA: Pred vykonanm tchto krokov si pretaj cel tto lekciu !! - - 1. Stla klvesu <ESC> (aby si sa uite nachdzal v normlnom mde) - - 2. Nap: :q! <ENTER>. - Tm ukon prcu s editorom BEZ uloenia zmien, ktor si vykonal. - - 3. Ke sa dostane na prkazov riadok, nap prkaz, ktorm sa dostane - spe do tejto vuky. To me by: vimtutor <ENTER> - - 4. Ak si si tieto kroky spoahlivo zapamtal, vykonaj kroky 1 a 3, pre - ukonenie a znovu spustenie editora. - -POZNMKA: :q! <ENTER> neulo zmeny, ktor si vykonal. O niekoko lekci - sa nau ako uloi zmeny do sboru - - 5. presu kurzor dole na lekciu 1.3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.3: EDITCIA TEXTU - MAZANIE - - -** Stlaenie klvesy x v normlnom mde zmae znak na mieste kurzora. ** - - 1. Presu kurzor niie na riadok oznaen znakou --->. - - 2. Aby si mohol odstrni chyby, pohybuj kurzorom km neprejde na znak, - ktor chce zmaza. - - 3. Stla klvesu x aby sa zmazal nechcen znak. - - 4. Zopakuj kroky 2 a 4 a km veta nieje sprvna. - ----> Kraava skooilla ccezz mesiiac. - - 5. Ak je veta sprvna, prejdi na lekciu 1.4. - -POZNMKA: Neskaj si zapamta obsah tejto vuky, ale sa u pouvanm. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.4: EDITCIA TEXTU - VKLADANIE - - - ** Stlaenie klvesy i umouje vkladanie textu. ** - - 1. Presu kurzor niie na prv riadok za znaku --->. - - 2. Pre upravenie prvho riadku do rovnakho tvaru ako je druh riadok, - presu kurzor na prv znak za misto, kde m by text vloen. - - 3. Stla klvesu i a nap potrebn text. - - 4. Po opraven kadej chyby, stla <ESC> pre nvrat do normlneho mdu. - Zopakuj kroky 2 a 4 km nieje veta sprvna. - ----> Tu je text chbajci tejto. ----> Tu je nejak text chbajci od tejto iary. - - 5. Ke sa dostatone nau vklada text, prejdi na nasledujce zhrnutie. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.5: EDITCIA TEXTU - PRIDVANIE - - - ** Stlaenie klvesy A umouje pridva text. ** - - 1. Presu kurozr niie na prv riadok za znakou --->. - Nezle na tom, na ktorom znaku sa kurzor v tom riadku nachdza. - - 2. Stla klvesu A a nap potrebn text. - - 3. Po pridan textu stla klvesu <ESC> pre nvrat do Normlneho mdu. - - 4. Presu kurozr na druh riadok oznaen ---> a zopakuj - kroky 2 a 3 km nieje veta sprvna. - ----> Tu je nejak text chbajci o - Tu je nejak text chbajci od tiato. ----> Tu tie chba nej - Tu tie chba nejak text. - - 5. Ke sa dostatone nau pridva text, prejdi na lekciu 1.6. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.6: EDITCIA SBORU - - - ** Napsanm :wq sa sbor ulo a zavrie ** - -!! POZNMKA: Pred vykonanm tchto krokov si pretaj cel lekciu!! - -1. Opusti tto vuku, ako si to urobil v lekcii 1.2: :q! - -2. Do prkazovho riadku nap prkaz: vim tutor <ENTER> - 'vim' je prkaz, ktor spust editor Vim, 'tutor' je meno sboru, - ktor chce editova. Poui tak sbor, ktor me meni. - -3. Vlo a zma text tak, ako si sa nauil v predolch lekciach. - -4. Ulo sbor so zmenami a opusti Vim prkazom: :wq <ENTER> - -5. Retartuj vimtutor a presu sa dole na nasledujce zhrnutie. - -6. Urob tak po pretan predolch krokov a porozumeniu im. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZHRNUTIE LEKCIE 1 - - - 1. Kurzor sa pohybuje pouitm klves so pkami alebo klvesmi hjkl. - h (do lava) j (dole) k (hore) l (doprava) - - 2. Pre spustenie Vimu (z prkazovho riadku) nap: vim FILENAME <ENTER> - - 3. Na ukonenie Vimu nap: <ESC> :q! <ENTER> pre zruenie vetkch zmien - alebo nap: <ESC> :wq <ENTER> pre uloenie zmien. - - 4. Na zmazanie znaku na mieste kurzora nap: x - - 5. Pre vloenie textu na mieste kurzora v normlnom mde nap: - i nap vkladan text <ESC> vkladanie pred kurzor - A nap pridvan text <EXC> vkladanie za riadok - -POZNMKA: Stlaenie <ESC> a premiestn do normlneho mdu alebo zru - nejak nechcen a iastone dokonen prkaz. - -Teraz pokrauj lekciou 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.1: Mazacie prkazy - - - ** Napsanie prkazu dw zmae znaky do konca slova. ** - -1. Stla <ESC> aby si bol bezpene v normlnom mde. - -2. Presu kurzor niie na riadok oznaen znakou --->. - -3. Presu kurzor na zaiatok slova, ktor je potrebn zmaza. - -4. Nap dw aby slovo zmizlo. - -POZNMKA: Psmeno d sa zobraz na poslednom riadku obrazovky ke ho - nape. Vim na teba pok, aby si mohol napsa - psmeno w. Ak vid nieo in ako d , tak si napsal - nesprvny znak; stla <ESC> a zani znova. - ----> Tu je niekoko slov zbava, ktor nie patria list do tejto vety. - -5. Zopakuj kroky 3 a 4 km veta nieje sprvna a prejdi na lekciu 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.2: VIAC MAZACCH PRKAZOV - - - ** Napsanie prkazu d$ zmae znaky do konca riadku ** - -1. Stla <ESC> aby si bol bezpene v normlnom mde. - -2. Presu kurzor niie na riadok oznaen znakou --->. - -3. Presu kurzor na koniec sprvnej vety (ZA prv bodku). - -4. Nap d$ aby sa zmazali znaky do konca riadku. - ----> Niekto napsal koniec tohto riadku dvakrt. koniec tohot riadku dvakrt. - - -5. Prejdi na lekciu 2.3 pre pochopenie toho o sa stalo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.3: OPERTORY A POHYBY - - Vea prkazov, ktor menia text s odvoden od opertorov a pohybov. - Formt pre prkaz mazania klvesou d je nasledovn: - - d pohyb - - kde: - d - je mazac opertor - pohyb - je to o opertor vykonva (vypsan niie) - - Krtky list pohybov: - w - do zaiatku alieho slova, okrem jeho prvho psmena. - e - do konca terajieho slova, vrtane poslednho znaku. - $ - do konca riadku, vrtane poslednho znaku - - Take napsanm de sa zmae vetko od kurzora do konca slova. - -POZNMKA: Stlaenm iba pohybu v normlnom mde bez opertora - sa presunie kurzor tak ako je to pecivikovan. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.4: Pouitie viacnsobnho pohybu - - - ** Napsanm sla pred pohyb ho zopakuje zadn poet krt ** - - 1. Presu kurozr niie na zaiatok riadku oznaenho --->. - - 2. Nap 2w a kurozr sa presunie o dve slov vpred. - - 3. Nap 3e a kurozr sa presunie vpred na koniec tretieho slova. - - 4. Nap 0 (nula) a kurozr sa presunie na zaiatok riadku. - - 5. Zopakuj kroky 2 a 3 s rznymi slami. - ----> Toto je riadok so slovami po kotrch sa mete pohybova. - - 6. Prejdi na lekciu 2.5. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.5: POUITIE VIACNSOBNHO MAZANIA PRE HROMADN MAZANIE - - - ** Napsanie sla spolu s opertorom ho zopakuje zadan poet krt ** - - V kombincii opertorov mazania a pohybu spomnanho vyie vlo poet - pred pohyb pre docielenie hromadnho mazania: - d slo pohyb - - 1. Presu kurzor na prv slovo psan VEKMI PSMENAMI - v riadku oznaenom --->. - - 2. Nap 2dw a zmae dve slov psan VEKMI PSMENAMI - - 3. Zopakuj kroky 1 a 2 s pouitm rzneho sla tak aby si zmazal slov - psan vekmi psmenami jednm prkazom. - ----> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. - -POZNMKA: slo medzi opertorom d a pohybom funguje podobne ako pri - pouit s pohybom bez opertora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.6: OPERCIE S RIADKAMI - - - ** Napsanie prkazu dd zmae cel riadok. ** - -Vzhadom na frekvenciu mazania celho riadku, sa autori Vimu rozhodli, -e bude jednoduchie maza cel riadok napsanm dvoch psmen d. - -1. Presu kurzor na druh riadok v texte na spodu. -2. Nap dd aby si zmazal riadok. -3. Prejdi na tvrt riadok. -4. Nap 2dd aby si zmazal dva riadky. - - 1) Rue s erven, - 2) Blato je zbavn, - 3) Fialky s modr, - 4) Mm auto, - 5) Hodinky ukazuj as, - 6) Cukor je sladk, - 7) A to si ty. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.7: PRKAZ UNDO - - -** Stla u pre vrtenie poslednho prkazu, U pre pravu celho riadku. ** - -1. Presu kurzor niie na riadok oznaen znakou ---> a premiestni ho na - prv chybu. -2. Nap x pre zmazanie prvho nechcenho riadku. -3. Teraz nap u m vrt sp posledne vykonan prkaz. -4. Teraz oprav vetky chyby na riadku pouitm prkazu x . -5. Teraz nap vek U m vrt riadok do pvodnho stavu. -6. Teraz nap u niekoko krt, m vrt sp prkaz U. -7. Teraz nap CTRL-R (dr klvesu CTRL stlaen km stla R) niekoko - krt, m vrt sp predtm vrten prkazy (undo z undo). - ----> Opprav chybby nna toomto riadku a zmee ich pommocou undo. - - 8. Tieto prkazy s asto pouvan. Teraz prejdi na zhrnutie lekcie 2. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 2 ZHRNUTIE - - - 1. Pre zmazanie znakov od kurzora do konca slova nap: dw - - 2. Pre zmazanie znakov od kurzora do konca riadku nap: d$ - - 3. Pre zmazanie celho riadku nap: dd - - 4. Pre zopakovanie pohybu, nap pred neho slo: 2w - - 5. Formt pre pkaz: - - opertor [slo] pohyb - kde: - opertor - o treba robi, naprklad d pre zmazanie - [slo] - je voliten poet pre opakovanie pohybu - pohyb - pohyb po texte vzhadom na opertor, naprklad w (slovo), - $ (do konca riadku), at. - - 6. Pre pohyb na zaiatok riadku poui nulu: 0 - - 7. Pre vrtenie sp predolej opercie nap: u (mal u) - Pre vrtenie vetkch prav na riadku nap: U (vek U) - Pre vrtenie vrtench prav nap: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.1: PRKAZ VLOI - - - ** Napsanie prkazu p vlo psledn vmaz za kurzor. ** - - 1. Presu kurzor niie na prv riadok textu. - - 2. Nap dd m zmae riadok a ulo ho do buffera editora Vim. - - 3. Presu kurzor vyie tam, kam zmazan riadok patr. - - 4. Ak nape v normlnom mde p zmazan riadk sa vlo. - - 5. Zopakuj kroky 2 a 4, km riadky nies v sprvnom porad. - ----> d) Tie sa doke vzdelva? ----> b) Fialky s modr, ----> c) Inteligencia sa vzdelva, ----> a) Rue s erven, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.2: PRKAZ NAHRADENIA - - - ** Napsanm rx sa nahrad znak na mieste kurzora znakom x . ** - - 1. Presu kurzor niie na prv riadok textu oznaenho znakou --->. - - 2. Presu kurzor na zaiatok prvej chyby. - - 3. nap r a potom znak, ktor tam m by. - - 4. Zopakuj kroky 2 a 3, km prv riadok nieje zhodn s druhm. - ----> Ka bol tento riasok paan, niekro stlail nesprbne klvesy! ----> Ke bol tento riadok psan, niekto stlail nesprvne klvesy! - - 5. Teraz prejdi na lekciu 3.2. - -POZNMKA: Pamtaj si, e naui sa me len pouvanim, nie pamtanm. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.3. PRKAZ PRAVY - - - ** Ak chce zmeni as slova do konca slova, nap ce . ** - - 1. Presu kurzor niie na prv riadok oznaen znakou --->. - - 2. Umiestni kurzor na psmeno o v slove rosfpl. - - 3. Nap ce a oprav slovo (v tomto prpade nap 'iadok'.) - - 4. Stla <ESC> a prejdi na al znak, ktor treba zmeni. - - 5. Zopakuj kroky 3 a 4, km prv veta nieje rovnak ako druh. - ----> Tento rosfpl m niekoko skic, ktor je pirewvb zmeni piyun prkazu. ----> Tento riadok m niekoko slov, ktor je potrebn zmeni pouitm prkazu. - -Poznmka, e ce zmae slovo a nastav vkladac md. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.4: VIAC ZMIEN POUITM c - - - ** Prkaz pre pravy sa pouva s rovnakmi pohybmi ako pre mazanie ** - - 1. Prkaz pre pravy pracuje rovnako ako pre mazanie. Formt je: - - c [slo] pohyb - - 2. Pohyby s rovnak, ako naprklad w (slovo) a $ (koniec riadku). - - 3. Presu kurzor niie na prv riadok oznaen znakou --->. - - 4. Presu kurzor na prv chybu. - - 5. nap c$ aby si mohol upravi zvyok riadku poda druhho - a stla <ESC>. - ----> Koniec tohto riadku potrebuje pomoc, aby bol ako druhy. ----> Koniec tohto riadku potrebuje opravi pouitm prkazu c$ . - -POZNMKA: Me poui klvesu backspace na pravu zmien poas psania. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 3 ZHRNUTIE - - - 1. Na vloenie textu, ktor u bol zmazan, nap p . To vlo zmazan - text ZA kurzor (ak bol riadok zmazan prejde na riadok pod kurzorom). - - 2. Pre naradenie znaku na mieste kurzora, nap r a potom znak, ktor - nahrad pvodn znak. - - 3. Prkaz na upravenie umouje zmeni od kurzora a po miesto, ktor - uruje pohyb. napr. Nap ce m zmn text od pozcie - kurzora do konca slova, c$ zmen text do konca riadku. - - 4. Formt pre nahradenie je: - - c [slo] pohyb - - -Teraz prejdi na nalsedujcu lekciu. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.1: POZCIA A STATUS SBORU - - - ** Stla CTRL-g pre zobrazenie svojej pozcie v sbore a statusu sboru. - Nap G pre presun na riadok v sbore. ** - - Poznmka: Pretaj si cel tto lekciu skr ako zane vykonva kroky!! - - 1. Dr stlaen klvesu Ctrl a stla g . Toto nazvame CTRL-G. - Na spodu obrazovky sa zobraz sprva s nzvom sboru a pozciou - v sbore. Zapamtajsi si slo riadku pre pouitie v kroku 3. - - 2. Stla G m sa dostane na spodok sboru. - Nap gg m sa dostane na zaiatok sboru. - - 3. Nap slo riadku na ktorom si sa nachdzal a stla G. To a - vrti na riadok, na ktorom si prv krt stlail CTRL-G. - - 4. Ak sa ct schopn vykona teto kroky, vykonaj kroky 1 a 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.2: PRKAZ VYHADVANIA - - - ** Nap / nasledovan reazcom pre vyhadanie prslunho reazca. ** - - 1. Nap znak / v normlnom mde. Poznmka, e tento znak sa spolu - s kurzorom zobraz v dolnej asti obrazovky s : prkazom. - - 2. Teraz nap 'errroor' <ENTER>. To je slovo, ktor chce vyhada. - - 3. Pre vyhadanie alieho vskytu rovnakho reazca, stla jednoducho n. - Pre vyhadanie alieho vskytu rovnakho reazca opanm smerom, - N. - - 4. Ak chce vyhada reazec v sptnom smere, pou prkaz ? miesto - prkazu /. - - 5. Pre nvrat na miesto z ktorho si priiel stla CTRL-O (dr stlaen - klvesu Ctrl poas stlaenia klvesy o). Zopakuj pre al nvrat - sp. CTRL-I ide vpred. - -POZNMKA: "errroor" nieje spsob hlskovania error; errroor je error. -POZNMKA: Ke vyhadvanie dosiahne koniec tohto sboru, bude pokraova na - zaiatku, dokia nieje resetovan nastavenie 'wrapscan' . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.3: VYHADVANIE ZODPOVEDAJCICH ZTAVORIEK - - - ** Nap % pre vyhadanie prslunho znaku ),], alebo } . ** - - 1. Premiestni kurzor na hocak zo znakov (, [, alebo { v riadku niie - oznaenho znakou --->. - - 2. Teraz nap znak % . - - 3. Kurzor sa premiestni na zodpovedajcu ztvorku. - - 4. Nap % pre presun kurzoru sp na otvrajcu ztvorku. - - 5. Presu kurzor na in zo znakov (,),[,],{ alebo } a vimni si - o % vykonva. - ----> Toto ( je testovac riadok s ('s, ['s ] a {'s } v riadku. )) - -Poznmka: Toto je vemi vhodn pou pri laden programu s chbajcimi - uzatvrajcimi ztvorkami! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.4: PRKAZ NAHRADENIA - - - ** Nap :s/star/nov/g pre nahradenie slova 'star' za slovo 'nov'. ** - - 1. Presu kurzor niie na riadok oznaen znakou --->. - - 2. Nap :s/thee/the <ENTER> . Poznamka, e tento prkaz zmen len prv - vskyt "thee" v riadku. - - 3. Teraz nap :s/thee/the/g o znamen celkov nahradenie v riadku. - Toto nahrad vetky vskyty v riadku. - ----> Thee best time to see thee flowers in thee spring. - - 4. Pre zmenu vetkch vskytov danho reazca medzi dvomi ridakami, - nap :#,#s/star/nov/g kde #,# s sla dvoch riadkov, v rozsahu - ktorch sa nahradenie vykon. - nap :%s/star/nov/g pre zmenu vetkch vskytov v celom riadku - nap :%s/star/nov/gc njde vetky vskyty v celom sbore, - s otzkou i nahradi alebo nie - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 4 ZHRNUTIE - - - 1. CTRL-g vype tvoju pozciu v sbore a status sboru. - G a premiestni na koniec riadku. - slo G a premiestni na riadok s slom. - gg a presunie na prv riadok - - 2. Napsanie / nasledovan reazcom vyhad reazec smerom DOPREDU. - Napsanie ? nasledovan reazcom vyhada reazec smerom DOZADU. - Napsanie n po vyhadvan, vyhad nasledujci vskyt reazca - v rovnakom smere, priom N vyhad v opanom smere. - CTRL-O a vrti sp na stariu pozciu, CTRL-I na noviu pozciu. - - 3. Napsanie % ke kurzor je na (,),[,],{, alebo } njde zodpovdajcu - prnu ztvorku. - - 4. Pre nahradenie novho za prv star v riadku nap :s/star/nov - Pre nahradenie novho za vetky star v riadku nap :s/star/nov/g - Pre nahradenie reazcov medzi dvoma riadkami 3 nap :#,#/star/nov/g - Pre nahradenie vetkch vskytov v sbore nap :%s/star/nov/g - Pre potvrdenie kadho nahradenia pridaj 'c' :%s/star/nov/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.1 AKO SPUSTI VONKAJ PRKAZ - - - ** Nap prkaz :! nasledovan vonkajm prkazom pre spustenie prkazu ** - - 1. Nap obvykl pkaz : ktor nastav kurzor na spodok obrazovky. - To umon napsa prkaz. - - 2. Teraz nap ! (vkrink). To umon spusti hociak vonkaj prkaz - z prkazovho riadku. - - 3. Ako prklad nap ls za ! a stla <ENTER>. Tento prkaz - zobraz obsah tvojho adresra rovnako ako na prkazovom riadku. - Alebo poui :!dir ak ls nefunguje. - -Poznmka: Takto je mon spusti hociak vonkaj prkaz s argumentami. -Poznmka: Vetky prkazy : musia by dokonen stlaenm <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.2: VIAC O UKLADAN SBOROV - - - ** Pre uloenie zmien v sbore, nap :w FILENAME. ** - - 1. Nap :!dir alebo :!ls pre vpis aktulneho adresra. - U vie, e mus za tmto stlai <ENTER> . - - 2. Vyber nzov sboru, ktor ete neexistuje, ako napr. TEST. - - 3. Teraz nap: :w TEST (kde TEST je nzov vybratho sboru.) - - 4. To ulo cel sbor (Vim Tutor) pod nzovm TEST. - Pre overenie nap :!dir , m zobraz obsah adresra. - -Poznmka: e ak ukon prcu s editorom Vim a znovu ho spust prkazom - vim TEST, sbor bude kpia vuky, ke si ho uloil. - - 5. Teraz odstr sbor napsanm (MS-DOS): :!del TEST - alebo (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.3 VBER TEXTU PRE ULOENIE - - - ** Pre uloenie asti sboru, nap v pohyb :w FILENAME ** - - 1. Presu kurozr na tento riadok. - - 2. Stla v a presu kurozr na piatu poloku dole. Poznmka, e - tento text je vyznaen (highlighted). - - 3. Stla klvesu : . V spodnej asti okna sa objav :'<,'>. - - 4. Nap w TEST , kde TEST je meno sboru, ktor zatial neexistuje. - Skontroluj, e vid :'<,'>w TEST predtm ne stla Enter. - - 5. Vim zape oznaen riadky do sboru TEST. Poui :!dir alebo !ls - pre overenie. Zatial ho ete nema! Pouijeme ho v alej lekcii. - -POZNMKA: Stlaenm klvesy v sa spust vizulne oznaovanie. - Me pohybova kurzorom pre upresnenie vyznaenho textu. - Potom me poui opertor pre vykonanie nejakej akcie - s textom. Naprklad d zmae vyznaen text. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.4: VBER A ZLUOVANIE SBOROV - - - ** Pre vloenie obsahu sboru, nap :r FILENAME ** - - 1. Premiestni kurzor nad tento riadok. - -POZNMKA: Po vykonan kroku 2 uvid text z lekcie 5.3. Potom sa presu - dole, aby si videl tto lekciu. - - 3. Teraz vlo sbor TEST pouitm prkazu :r TEST kde TEST je nzov - sboru. Sbor, ktor si pouil je umiestnen pod riadkom s kurzorom. - -POZNMKA: Me tie nata vstup vonkajieho prkazu. Naprklad :r !ls - nata vstup prkazu ls a umiestni ho za pozciu kurzora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 5 ZHRNUTIE - - - 1. :!prkaz spust vonkaj prkaz. - - Niektor vyuiten prklady s: - (MS_DOS) (UNIX) - :!dir :!ls - zobraz obsah adresra - :!del FILENAME :!rm FILENAME - odstrni sbor FILENAME - - 2. :w FILENAME ulo aktulny sbor na disk pod menom FILENAME. - - 3. v pohyb :w FILENAME ulo vizulne oznaen riadky do - sboru FILENAME. - - 4. :r FILENAME vyberie z disku sbor FILENAME a vlo ho do aktulneho - sboru za pozciou kurzora. - - 5. :r !dir nata vstup z prkazu dir a vlo ho za pozciu kurzora. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.1: PRKAZ OTVORI - - -** Nap o pre vloenie riadku pod kurzor a prepnutie do vkladacieho mdu ** - - 1. Presu kurzor niie na riadok oznaen znakou --->. - - 2. Nap o (mal psmeno) pre vloenie istho riadku pod kurzorm - a prepnutie do vkladacieho mdu. - - 3. Teraz skopruj riadok oznaen ---> a stla <ESC> pre ukonenie - vkladacieho mdu. - ----> Po napsan o sa kurzor premiestn na vloen riadok do vkladacieho - mdu. - - 4. Pre otvorenie riadku nad kurzorom, jednotucho nap vek O , - namiesto malho o. Vyskaj si to na riadku dole. - ----> Vlo riadok nad tmto napsanm O, ke kurzor je na tomto riadku. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.2: PRKAZ PRIDA - - - ** Nap a pre vloenie textu ZA kurzor. ** - - 1. Presu kurzor niie na koniec prvho riadku oznaenho znakou ---> - - 2. Stla klvesu e dokia kurozr nieje na konci riadku. - - 3. Nap a (mal psmeno) pre pridanie textu ZA kurzorom. - - 4. Dokon slovo tak ako je to v druhom riadku. Stla <ESC> pre - opustenie vkladacieho mdu. - - 5. Poui e na presun na alie nedokonen slovo a zopakuj kroky 3 a 4. - ----> Tento ri ti dovouje ncv privan testu na koniec riadku. ----> Tento riadok ti dovouje ncvik pridvania textu na koniec riadku. - -POZNMKA: a, i, A tartuj rovnak vkladac md, jedin rozidel je, kde - sa znaky vkladaj. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.3: IN SPOSOB NAHRADZOVANIA - - - ** Nap vek R pre nahradenie viac ako jednho znaku. ** - - 1. Presu kurzor niie na prv riadok oznaen znakou --->. Premiestni - kurzor na zaiatok prvho vskytu xxx. - - 2. Teraz nap R a nap slo uveden v druhom riadku, take - sa nm nahrad pvodn xxx. - - 3. Stla <ESC> pre opustenie nahradzovacieho mdu. Poznmka, e zvyok - riadku zostane nezmenen. - - 4. Zopakuj tieto kroky pre nahradenie zvynch xxx. - ----> Pridanm 123 ku xxx dostane xxx. ----> Pridanm 123 ku 456 dostane 579. - -POZNMKA: Nahradzovac md je ako vkladac md, ale kad napsan znak - zmae existujci znak. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Lekcia 6.4: Copy Paste textu - - ** pou opertor y pre copy textku a p pre jeho paste ** - - 1. Cho niie na riadok oznaen ---> a umiestni kurozr za "a)". - - 2. Natartuj vizulny md pouitm v a presu kurozr pred "first". - - 3. Nap y pre vystrihnutie (copy) oznaenho textu. - - 4. Presu kurozr na koniec alieho riadku: j$ - - 5. Nap p pre vlonie (paste) textu. Potom nap: a druha <ESC>. - - 6. Poui vizulny md pre oznaenie "poloka.", vystrihni to - pouitm y, presu sa na koniec nasledujceho riadku pouitm j$ - a vlo sem text pouitm p. - ----> a) toto je prv poloka ----> b) - -POZNMKA: Me poui tie y ako opertor; yw vystrihne jedno slovo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.5: NASTAVENIE MONOST - - -** Nastav monosti, take vyhadvanie alebo nahradzovanie ignoruje - rozliovanie ** - - - 1. Vyhadaj reazec 'ignore' napsanm: - /ignore <ENTER> - Zopakuj vyhadvanie niekoko krt stlaenm klvesy n . - - 2. Nastav monos 'ic' (Ignore case) napsanm prkazu: - :set ic - - 3. Teraz vyhadaj reazec 'ingore' znova stlaenm klvesy n - Poznmka, e teraz s vyhadan aj Ignore a IGNORE. - - 4. Nastav monosi 'hlsearch' a 'incsearch': - :set hls is - - 5. Teraz spusti vyhadvac prkaz znovu, a pozri o sa stalo: - /ignore <ENTER> - - 6. Pre opetovn zapnutie rozlyovania vekch a malch psmen - nap: :set noic - -POZNMKA: Na odstrnenie zvraznenia vrazov nap: :nohlsearch -POZNMKA: Ak chce nerozlyova vekos psmen len pre jedno - pouitie vyhadvacieho prkazu, poui \c: /ignore\c <ENTER> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 6 ZHRNUTIE - - - 1. Nap o pre otvorenie riadku pod kurzorom a tart vkladacieho mdu. - Nap O pre otvorenie riadku nad kurzorom. - - 2. Nap a pre vkladanie textu ZA kurzor. - Nap A pre vkladanie textu za koncom riadku. - - 3. Prkaz e presunie kurozr na koniec slova - - 4. Opertor y vystrihne (skopruje) text, p ho vlo. - - 5. Napsanie vekho R prepne do nahradzovacieho mdu, km nieje - stlaen <ESC>. - - 6. Napsanie ":set xxx" nastav monos "xxx". Niektor nastavenia s: - 'ic' 'ignorecase' ignoruje vek a mal psmen poas vyhadvania. - 'is' 'incsearch' zobrazuje iaston reazce vyhadvanho reazca. - 'hls' 'hlsearch' vyzna vetky vyhadvan reazce. - Me poui hociktor z dlhch a krtkych nzvov monost. - - 7. Vlo "no" pred nastavenie pre jeho vypnutie: :set noic - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 7.1: ZSKANIE NPOVEDY - - - ** Pouvaj on-line systm npovedy ** - - Vim m obsiahly on-line systm npovedy. Pre odtartovanie, vyskaj jeden - z tchto troch: - - stla klvesu <HELP> (ak nejak m) - - stla klvesu <F1> (ak nejak m) - - nap :help <ENTER> - - taj text v okne npovedy pre zskanie predstavy ako npoveda funguje. - Nap CTRL-W CTRL-W pre skok z jednho okna do druhho. - Nap :q <ENTER> m zatvor okno npovedy. - - Me njs help ku hociakej tme pridanm argumentu ku prkazu ":help". - Vyskaj tieto (nezabudni stlai <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 7.2: VYTVORENIE TARTOVACIEHO SKRIPTU - - ** Zapni funkcie editora Vim ** - - Vim m omnoho viac funkcii ne Vi, ale veina z nich je implicitne - vypnut. Pre pouvanie viac Vim funkcii vytvor "vimrc" sbor. - - 1. Zani editova "vimrc" sbor, to zvis na pouitom systme: - :e ~/.vimrc pre Unix - :e $VIM/_vimrc pre MS-Windows - - 2. Teraz si pretaj text prkladu "vimrc" sboru: - - :r $VIMRUNTIME/vimrc_example.vim - - 3. Ulo sbor: - :w - - Pri nasledujcom tarte editora Vim sa pouije zvrazovanie syntaxe. - Do "vimrc" sboru me prida vetky svoje uprednostovan nastavenia. - Pre viac informcii nap :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LEKCIA 7.3 DOKONENIE - - ** Dokoni prkaz na prkazovom riadku pouitm CTRL-D a <TAB> ** - - 1. Uisti sa, e Vim nieje v kompatibilnom mde: :set nocp - - 2. Pozri sa ak sbory sa nachdzaj v adresri: :!ls alebo :!dir - - 3. Nap zaiatok prkazu: :e - - 4. Stla CTRL-D a Vim zobraz zoznam prkazov zanajcich "e". - - 5. Stla <TAB> a Vim dokon meno prkazu na ":edit". - - 6. Teraz pridaj medzernk a zaiatok mena existujceho sboru: - :edit FIL - - 7. Stla <TAB>. Vim dokon meno (ak je jedinen). - -POZNMKA: Dokonovanie funguje pre vea prkazov. Vyskaj stlaenie - CTRL-D a <TAB>. pecilne je to uiton pre prkaz :help. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LEKCIA 7 ZHRNUTIE - - 1. Nap :help alebo stla <F1> alebo <Help> pre otvorenie okna npovedy. - - 2. Nap :help prkaz pre vyhadanie npovedy ku prkazu prkaz. - - 3. Nap CTRL-W CTRL-W na preskoenie do inho okna. - - 4. Nap :q pre zatvorenie okna npovedy - - 5. Vytvor tartovac skript vimrc pre udranie uprednostovanch nastaven. - - 6. Poas psania prkazu : stla CTRL-D pre zobrazenie dokonen. - Stla <TAB> pre pouitie jednho z dokonen. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - - Toto vymedzuje vuku Vimu. Toto je uren pre strucn prehad o editore - Vim, plne postaujce pre ahk a obstojn pouvanie tohto editora. - Tto vuka je aleko od kompletnosti, pretoe Vim m omnoho viacej prkazov. - Ako alie si pretaj uvatsk manul: ":help user-manual". - - Pre alie tanie a tdium je odporan kniha: - Vim - Vi Improved - od Steve Oualline - Vydavate: New Riders - Prv kniha uren pre Vim. pecilne vhodn pre zaiatonkov. - Obsahuje mnostvo prkladov a obrzkov. - Pozri na http://iccf-holland.org/click5.html - - Tto kniha je staria a je viac o Vi ako o Vim, ale je tie odporan: - Learning the Vi Editor - od Linda Lamb - Vydavate: O'Reilly & Associates Inc. - Je to dobr kniha pre zskanie vedomost o prci s editorom Vi. - ieste vydanie obsahuje tie informcie o editore Vim. - - Tto vuka bola napsan autormi Michael C. Pierce a Robert K. Ware, - Colorado School of Mines s pouitm mylienok dodanmi od Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Modifikovan pre Vim od Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Preklad do Sloveniny: ubo elko - e-mail: celbos@inmail.sk - Last Change: 2006 Apr 18 - encoding: cp1250 diff --git a/runtime/tutor/tutor.sk.utf-8 b/runtime/tutor/tutor.sk.utf-8 deleted file mode 100644 index c4e0c4f5d..000000000 --- a/runtime/tutor/tutor.sk.utf-8 +++ /dev/null @@ -1,1008 +0,0 @@ -=============================================================================== -= V i t a j t e v o V I M T u t o r i a l i - Verzia 1.7 = -=============================================================================== - - Vim je veľmi výkonný editor, ktorý má príliž veľa príkazov na to aby - mohli byt všetky popísané vo výuke akou je táto. Táto výuka - popisuje dostatočné množstvo príkazov nato aby bolo možné používať - Vim ako viacúčelový editor. - - Približný čas potrebný na prebratie tejto výuky je 25-30 minút, - závisí na tom, koľko je stráveného času s preskúšavaním. - - UPOZORNENIE: - Príkazy v lekciách modifikujú text. Vytvor kópiu tohto súboru aby - sa mohlo precvičovať na ňom (pri štarte "vimtutor" je toto kópia). - - Je dôležité zapamätať si, že táto výuka je vytvorená pre výuku - používaním. To znamená, že je potrebné si príkazy vyskúšať, aby bolo - učenie správne. Ak len čitas text, príkazy zabudneš! - - Presvedč sa, že Shift-Lock NIEJE stlačený a stlačt klávesu - j niekoľko krát, aby sa kurzor posunul natoľko, že lekcia 1.1 - celkom zaplní obrazovku. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.1: POHYB KURZOROM - - - ** Pre pohyb kurzorum stlač klávesy h,j,k,l ako je znázornené. ** - ^ - k Funkcia: Klávesa h je naľavo a vykoná pohyb doľava. - < h l > Klávesa l je napravo a vykoná pohyb doprava. - j Klávesa j vyzerá ako šípka dole - v - 1. Pohybuj kurzorom po obrazovke, kým si na to nezvykneš. - - 2. Drž stlačenú klávesu pre pohyb dole (j), kým sa jej funkcia nezopakuje. ----> Teraz sa už vieš pohybovať na nasledujúcu lekciu. - - 3. Použitím klávesy pre pohyb dole prejdi na Lekciu 1.2. - -Poznámka: Ak si niesi istý tým čo si napísal, stlač <ESC> - na prechod do normálneho módu. - -Poznámka: Kurzorové klávesy sú tiež funkčné. Ale používaním hjkl sa budeš - schopný pohybovať rýchlejšie, keď si zvykneš ich používať. Naozaj! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 1.2: ZATVÁRANIE VIMU - - - !! POZNÁMKA: Pred vykonaním týchto krokov si prečítaj celú túto lekciu !! - - 1. Stlač klávesu <ESC> (aby si sa učite nachádzal v normálnom móde) - - 2. Napíš: :q! <ENTER>. - Tým ukončíš prácu s editorom BEZ uloženia zmien, ktoré si vykonal. - - 3. Keď sa dostaneš na príkazový riadok, napíš príkaz, ktorým sa dostaneš - speť do tejto výuky. To môže byť: vimtutor <ENTER> - - 4. Ak si si tieto kroky spoľahlivo zapamätal, vykonaj kroky 1 až 3, pre - ukončenie a znovu spustenie editora. - -POZNÁMKA: :q! <ENTER> neuloží zmeny, ktoré si vykonal. O niekoľko lekcií - sa naučíš ako uložiť zmeny do súboru - - 5. presuň kurzor dole na lekciu 1.3. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.3: EDITÁCIA TEXTU - MAZANIE - - -** Stlačenie klávesy x v normálnom móde zmaže znak na mieste kurzora. ** - - 1. Presuň kurzor nižšie na riadok označený značkou --->. - - 2. Aby si mohol odstrániť chyby, pohybuj kurzorom kým neprejde na znak, - ktorý chceš zmazať. - - 3. Stlač klávesu x aby sa zmazal nechcený znak. - - 4. Zopakuj kroky 2 až 4 až kým veta nieje správna. - ----> Kraava skoočilla ccezz mesiiac. - - 5. Ak je veta správna, prejdi na lekciu 1.4. - -POZNÁMKA: Neskúšaj si zapamätať obsah tejto výuky, ale sa uč používaním. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.4: EDITÁCIA TEXTU - VKLADANIE - - - ** Stlačenie klávesy i umožňuje vkladanie textu. ** - - 1. Presuň kurzor nižšie na prvý riadok za značku --->. - - 2. Pre upravenie prvého riadku do rovnakého tvaru ako je druhý riadok, - presuň kurzor na prvý znak za misto, kde má byť text vložený. - - 3. Stlač klávesu i a napíš potrebný text. - - 4. Po opravení každej chyby, stlač <ESC> pre návrat do normálneho módu. - Zopakuj kroky 2 až 4 kým nieje veta správna. - ----> Tu je text chýbajúci tejto. ----> Tu je nejaký text chýbajúci od tejto čiary. - - 5. Keď sa dostatočne naučíš vkladať text, prejdi na nasledujúce zhrnutie. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.5: EDITÁCIA TEXTU - PRIDÁVANIE - - - ** Stlačenie klávesy A umožňuje pridávať text. ** - - 1. Presuň kurozr nižšie na prvý riadok za značkou --->. - Nezáleží na tom, na ktorom znaku sa kurzor v tom riadku nachádza. - - 2. Stlač klávesu A a napíš potrebný text. - - 3. Po pridaní textu stlač klávesu <ESC> pre návrat do Normálneho módu. - - 4. Presuň kurozr na druhý riadok označený ---> a zopakuj - kroky 2 a 3 kým nieje veta správna. - ----> Tu je nejaký text chýbajúci o - Tu je nejaký text chýbajúci od tiaľto. ----> Tu tiež chýba nej - Tu tiež chýba nejaký text. - - 5. Keď sa dostatočne naučíš pridávať text, prejdi na lekciu 1.6. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 1.6: EDITÁCIA SÚBORU - - - ** Napísaním :wq sa súbor uloží a zavrie ** - -!! POZNÁMKA: Pred vykonaním týchto krokov si prečítaj celú lekciu!! - -1. Opusti túto výuku, ako si to urobil v lekcii 1.2: :q! - -2. Do príkazového riadku napíš príkaz: vim tutor <ENTER> - 'vim' je príkaz, ktorý spustí editor Vim, 'tutor' je meno súboru, - ktorý chceš editovať. Použi taký súbor, ktorý môžeš meniť. - -3. Vlož a zmaž text tak, ako si sa naučil v predošlých lekciach. - -4. Ulož súbor so zmenami a opusti Vim príkazom: :wq <ENTER> - -5. Reštartuj vimtutor a presuň sa dole na nasledujúce zhrnutie. - -6. Urob tak po prečítaní predošlých krokov a porozumeniu im. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZHRNUTIE LEKCIE 1 - - - 1. Kurzor sa pohybuje použitím kláves so šípkami alebo klávesmi hjkl. - h (do lava) j (dole) k (hore) l (doprava) - - 2. Pre spustenie Vimu (z príkazového riadku) napíš: vim FILENAME <ENTER> - - 3. Na ukončenie Vimu napíš: <ESC> :q! <ENTER> pre zrušenie všetkých zmien - alebo napíš: <ESC> :wq <ENTER> pre uloženie zmien. - - 4. Na zmazanie znaku na mieste kurzora napíš: x - - 5. Pre vloženie textu na mieste kurzora v normálnom móde napíš: - i napíš vkladaný text <ESC> vkladanie pred kurzor - A napíš pridávaný text <EXC> vkladanie za riadok - -POZNÁMKA: Stlačenie <ESC> ťa premiestní do normálneho módu alebo zruší - nejaký nechcený a čiastočne dokončený príkaz. - -Teraz pokračuj lekciou 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.1: Mazacie príkazy - - - ** Napísanie príkazu dw zmaže znaky do konca slova. ** - -1. Stlač <ESC> aby si bol bezpečne v normálnom móde. - -2. Presuň kurzor nižšie na riadok označený značkou --->. - -3. Presuň kurzor na začiatok slova, ktoré je potrebné zmazať. - -4. Napíš dw aby slovo zmizlo. - -POZNÁMKA: Písmeno d sa zobrazí na poslednom riadku obrazovky keď ho - napíšeš. Vim na teba počká, aby si mohol napísať - písmeno w. Ak vidíš niečo iné ako d , tak si napísal - nesprávny znak; stlač <ESC> a začni znova. - ----> Tu je niekoľko slov zábava, ktoré nie patria list do tejto vety. - -5. Zopakuj kroky 3 až 4 kým veta nieje správna a prejdi na lekciu 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.2: VIAC MAZACÍCH PRÍKAZOV - - - ** Napísanie príkazu d$ zmaže znaky do konca riadku ** - -1. Stlač <ESC> aby si bol bezpečne v normálnom móde. - -2. Presuň kurzor nižšie na riadok označený značkou --->. - -3. Presuň kurzor na koniec správnej vety (ZA prvú bodku). - -4. Napíš d$ aby sa zmazali znaky do konca riadku. - ----> Niekto napísal koniec tohto riadku dvakrát. koniec tohot riadku dvakrát. - - -5. Prejdi na lekciu 2.3 pre pochopenie toho čo sa stalo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.3: OPERÁTORY A POHYBY - - Veľa príkazov, ktoré menia text sú odvodené od operátorov a pohybov. - Formát pre príkaz mazania klávesou d je nasledovný: - - d pohyb - - kde: - d - je mazací operátor - pohyb - je to čo operátor vykonáva (vypísané nižšie) - - Krátky list pohybov: - w - do začiatku ďalšieho slova, okrem jeho prvého písmena. - e - do konca terajšieho slova, vrátane posledného znaku. - $ - do konca riadku, vrátane posledného znaku - - Takže napísaním de sa zmaže všetko od kurzora do konca slova. - -POZNÁMKA: Stlačením iba pohybu v normálnom móde bez operátora - sa presunie kurzor tak ako je to špecivikované. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.4: Použitie viacnásobného pohybu - - - ** Napísaním čísla pred pohyb ho zopakuje zadný počet krát ** - - 1. Presuň kurozr nižšie na začiatok riadku označeného --->. - - 2. Napíš 2w a kurozr sa presunie o dve slová vpred. - - 3. Napíš 3e a kurozr sa presunie vpred na koniec tretieho slova. - - 4. Napíš 0 (nula) a kurozr sa presunie na začiatok riadku. - - 5. Zopakuj kroky 2 a 3 s rôznymi číslami. - ----> Toto je riadok so slovami po kotrých sa môžete pohybovať. - - 6. Prejdi na lekciu 2.5. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.5: POUŽITIE VIACNÁSOBNÉHO MAZANIA PRE HROMADNÉ MAZANIE - - - ** Napísanie čísla spolu s operátorom ho zopakuje zadaný počet krát ** - - V kombinácii operátorov mazania a pohybu spomínaného vyššie vlož počet - pred pohyb pre docielenie hromadného mazania: - d číslo pohyb - - 1. Presuň kurzor na prvé slovo písané VEĽKÝMI PÍSMENAMI - v riadku označenom --->. - - 2. Napíš 2dw a zmažeš dve slová písané VEĽKÝMI PÍSMENAMI - - 3. Zopakuj kroky 1 a 2 s použitím rôzneho čísla tak aby si zmazal slová - písané veľkými písmenami jedným príkazom. - ----> Tento ABC DE riadok FGHI JK LMN OP so slovamI je Q RS TUV vycisteny. - -POZNÁMKA: Číslo medzi operátorom d a pohybom funguje podobne ako pri - použití s pohybom bez operátora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.6: OPERÁCIE S RIADKAMI - - - ** Napísanie príkazu dd zmaže celý riadok. ** - -Vzhľadom na frekvenciu mazania celého riadku, sa autori Vimu rozhodli, -že bude jednoduchšie mazať celý riadok napísaním dvoch písmen d. - -1. Presuň kurzor na druhý riadok v texte na spodu. -2. Napíš dd aby si zmazal riadok. -3. Prejdi na štvrtý riadok. -4. Napíš 2dd aby si zmazal dva riadky. - - 1) Ruže sú červené, - 2) Blato je zábavné, - 3) Fialky sú modré, - 4) Mám auto, - 5) Hodinky ukazujú čas, - 6) Cukor je sladký, - 7) A to si ty. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 2.7: PRÍKAZ UNDO - - -** Stlač u pre vrátenie posledného príkazu, U pre úpravu celého riadku. ** - -1. Presuň kurzor nižšie na riadok označený značkou ---> a premiestni ho na - prvú chybu. -2. Napíš x pre zmazanie prvého nechceného riadku. -3. Teraz napíš u čím vrátíš späť posledne vykonaný príkaz. -4. Teraz oprav všetky chyby na riadku použitím príkazu x . -5. Teraz napíš veľké U čím vrátíš riadok do pôvodného stavu. -6. Teraz napíš u niekoľko krát, čím vrátíš späť príkaz U. -7. Teraz napíš CTRL-R (drž klávesu CTRL stlačenú kým stláčaš R) niekoľko - krát, čím vrátíš späť predtým vrátené príkazy (undo z undo). - ----> Opprav chybby nna toomto riadku a zmeeň ich pommocou undo. - - 8. Tieto príkazy sú často používané. Teraz prejdi na zhrnutie lekcie 2. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 2 ZHRNUTIE - - - 1. Pre zmazanie znakov od kurzora do konca slova napíš: dw - - 2. Pre zmazanie znakov od kurzora do konca riadku napíš: d$ - - 3. Pre zmazanie celého riadku napíš: dd - - 4. Pre zopakovanie pohybu, napíš pred neho číslo: 2w - - 5. Formát pre píkaz: - - operátor [číslo] pohyb - kde: - operátor - čo treba robiť, napríklad d pre zmazanie - [číslo] - je voliteľný počet pre opakovanie pohybu - pohyb - pohyb po texte vzhľadom na operátor, napríklad w (slovo), - $ (do konca riadku), atď. - - 6. Pre pohyb na začiatok riadku použi nulu: 0 - - 7. Pre vrátenie späť predošlej operácie napíš: u (malé u) - Pre vrátenie všetkých úprav na riadku napíš: U (veľké U) - Pre vrátenie vrátených úprav napíš: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.1: PRÍKAZ VLOŽIŤ - - - ** Napísanie príkazu p vloží psledný výmaz za kurzor. ** - - 1. Presuň kurzor nižšie na prvý riadok textu. - - 2. Napíš dd čím zmažeš riadok a uložíš ho do buffera editora Vim. - - 3. Presuň kurzor vyššie tam, kam zmazaný riadok patrí. - - 4. Ak napíšeš v normálnom móde p zmazaný riadk sa vloží. - - 5. Zopakuj kroky 2 až 4, kým riadky niesú v správnom poradí. - ----> d) Tiež sa dokážeš vzdelávať? ----> b) Fialky sú modré, ----> c) Inteligencia sa vzdeláva, ----> a) Ruže sú červené, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.2: PRÍKAZ NAHRADENIA - - - ** Napísaním rx sa nahradí znak na mieste kurzora znakom x . ** - - 1. Presuň kurzor nižšie na prví riadok textu označeného značkou --->. - - 2. Presuň kurzor na začiatok prvej chyby. - - 3. napíš r a potom znak, ktorý tam má byť. - - 4. Zopakuj kroky 2 a 3, kým prvý riadok nieje zhodný s druhým. - ----> Kaď bol tento riasok píaaný, niekro stlašil nesprábne klávesy! ----> Keď bol tento riadok písaný, niekto stlačil nesprávne klávesy! - - 5. Teraz prejdi na lekciu 3.2. - -POZNÁMKA: Pamätaj si, že naučiť sa môžeš len používanim, nie pamätaním. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.3. PRÍKAZ ÚPRAVY - - - ** Ak chceš zmeniť časť slova do konca slova, napíš ce . ** - - 1. Presuň kurzor nižšie na prvý riadok označený značkou --->. - - 2. Umiestni kurzor na písmeno o v slove rosfpl. - - 3. Napíš ce a oprav slovo (v tomto prípade napíš 'iadok'.) - - 4. Stlač <ESC> a prejdi na ďalší znak, ktorý treba zmeniť. - - 5. Zopakuj kroky 3 a 4, kým prvá veta nieje rovnaká ako druhá. - ----> Tento rosfpl má niekoľko skic, ktoré je pirewvbí zmeniť piyťučán príkazu. ----> Tento riadok má niekoľko slov, ktoré je potrebné zmeniť použitím príkazu. - -Poznámka, že ce zmaže slovo a nastaví vkladací mód. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 3.4: VIAC ZMIEN POUŽITÍM c - - - ** Príkaz pre úpravy sa používa s rovnakými pohybmi ako pre mazanie ** - - 1. Príkaz pre úpravy pracuje rovnako ako pre mazanie. Formát je: - - c [číslo] pohyb - - 2. Pohyby sú rovnaké, ako napríklad w (slovo) a $ (koniec riadku). - - 3. Presuň kurzor nižšie na prvý riadok označený značkou --->. - - 4. Presuň kurzor na prvú chybu. - - 5. napíš c$ aby si mohol upraviť zvyšok riadku podľa druhého - a stlač <ESC>. - ----> Koniec tohto riadku potrebuje pomoc, aby bol ako druhy. ----> Koniec tohto riadku potrebuje opraviť použitím príkazu c$ . - -POZNÁMKA: Môžeš použiť klávesu backspace na úpravu zmien počas písania. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 3 ZHRNUTIE - - - 1. Na vloženie textu, ktorý už bol zmazaný, napíš p . To vloží zmazaný - text ZA kurzor (ak bol riadok zmazaný prejde na riadok pod kurzorom). - - 2. Pre naradenie znaku na mieste kurzora, napíš r a potom znak, ktorý - nahradí pôvodný znak. - - 3. Príkaz na upravenie umožňuje zmeniť od kurzora až po miesto, ktoré - určuje pohyb. napr. Napíš ce čím zmníš text od pozície - kurzora do konca slova, c$ zmení text do konca riadku. - - 4. Formát pre nahradenie je: - - c [číslo] pohyb - - -Teraz prejdi na nalsedujúcu lekciu. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.1: POZÍCIA A STATUS SÚBORU - - - ** Stlač CTRL-g pre zobrazenie svojej pozície v súbore a statusu súboru. - Napíš G pre presun na riadok v súbore. ** - - Poznámka: Prečítaj si celú túto lekciu skôr ako začneš vykonávať kroky!! - - 1. Drž stlačenú klávesu Ctrl a stlač g . Toto nazývame CTRL-G. - Na spodu obrazovky sa zobrazí správa s názvom súboru a pozíciou - v súbore. Zapamätajsi si číslo riadku pre použitie v kroku 3. - - 2. Stlač G čím sa dostaneš na spodok súboru. - Napíš gg čím sa dostaneš na začiatok súboru. - - 3. Napíš číslo riadku na ktorom si sa nachádzal a stlač G. To ťa - vráti na riadok, na ktorom si prvý krát stlačil CTRL-G. - - 4. Ak sa cítíš schopný vykonať teto kroky, vykonaj kroky 1 až 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.2: PRÍKAZ VYHĽADÁVANIA - - - ** Napíš / nasledované reťazcom pre vyhľadanie príslušného reťazca. ** - - 1. Napíš znak / v normálnom móde. Poznámka, že tento znak sa spolu - s kurzorom zobrazí v dolnej časti obrazovky s : príkazom. - - 2. Teraz napíš 'errroor' <ENTER>. To je slovo, ktoré chceš vyhľadať. - - 3. Pre vyhľadanie ďalšieho výskytu rovnakého reťazca, stlač jednoducho n. - Pre vyhľadanie ďalšieho výskytu rovnakého reťazca opačným smerom, - N. - - 4. Ak chceš vyhľadať reťazec v spätnom smere, použí príkaz ? miesto - príkazu /. - - 5. Pre návrat na miesto z ktorého si prišiel stlač CTRL-O (drž stlačenú - klávesu Ctrl počas stlačenia klávesy o). Zopakuj pre ďalší návrat - späť. CTRL-I ide vpred. - -POZNÁMKA: "errroor" nieje spôsob hláskovania error; errroor je error. -POZNÁMKA: Keď vyhľadávanie dosiahne koniec tohto súboru, bude pokračovať na - začiatku, dokiaľ nieje resetované nastavenie 'wrapscan' . - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.3: VYHĽADÁVANIE ZODPOVEDAJÚCICH ZÁTAVORIEK - - - ** Napíš % pre vyhľadanie príslušného znaku ),], alebo } . ** - - 1. Premiestni kurzor na hocaký zo znakov (, [, alebo { v riadku nižšie - označeného značkou --->. - - 2. Teraz napíš znak % . - - 3. Kurzor sa premiestni na zodpovedajúcu zátvorku. - - 4. Napíš % pre presun kurzoru späť na otvárajúcu zátvorku. - - 5. Presuň kurzor na iný zo znakov (,),[,],{ alebo } a všimni si - čo % vykonáva. - ----> Toto ( je testovací riadok s ('s, ['s ] a {'s } v riadku. )) - -Poznámka: Toto je veľmi výhodné použíť pri ladení programu s chýbajúcimi - uzatvárajúcimi zátvorkami! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 4.4: PRÍKAZ NAHRADENIA - - - ** Napíš :s/starý/nový/g pre nahradenie slova 'starý' za slovo 'nový'. ** - - 1. Presuň kurzor nižšie na riadok označený značkou --->. - - 2. Napíš :s/thee/the <ENTER> . Poznamka, že tento príkaz zmení len prvý - výskyt "thee" v riadku. - - 3. Teraz napíš :s/thee/the/g čo znamená celkové nahradenie v riadku. - Toto nahradí všetky výskyty v riadku. - ----> Thee best time to see thee flowers in thee spring. - - 4. Pre zmenu všetkých výskytov daného reťazca medzi dvomi ridakami, - napíš :#,#s/starý/nový/g kde #,# sú čísla dvoch riadkov, v rozsahu - ktorých sa nahradenie vykoná. - napíš :%s/starý/nový/g pre zmenu všetkých výskytov v celom riadku - napíš :%s/starý/nový/gc nájde všetky výskyty v celom súbore, - s otázkou či nahradiť alebo nie - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 4 ZHRNUTIE - - - 1. CTRL-g vypíše tvoju pozíciu v súbore a status súboru. - G ťa premiestni na koniec riadku. - číslo G ťa premiestni na riadok s číslom. - gg ťa presunie na prvý riadok - - 2. Napísanie / nasledované reťazcom vyhľadá reťazec smerom DOPREDU. - Napísanie ? nasledované reťazcom vyhľada reťazec smerom DOZADU. - Napísanie n po vyhľadávaní, vyhľadá nasledujúci výskyt reťazca - v rovnakom smere, pričom N vyhľadá v opačnom smere. - CTRL-O ťa vráti späť na staršiu pozíciu, CTRL-I na novšiu pozíciu. - - 3. Napísanie % keď kurzor je na (,),[,],{, alebo } nájde zodpovdajúcu - párnu zátvorku. - - 4. Pre nahradenie nového za prvý starý v riadku napíš :s/starý/nový - Pre nahradenie nového za všetky staré v riadku napíš :s/starý/nový/g - Pre nahradenie reťazcov medzi dvoma riadkami 3 napíš :#,#/starý/nový/g - Pre nahradenie všetkých výskytov v súbore napíš :%s/starý/nový/g - Pre potvrdenie každého nahradenia pridaj 'c' :%s/starý/nový/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.1 AKO SPUSTIŤ VONKAJŠÍ PRÍKAZ - - - ** Napíš príkaz :! nasledovaný vonkajším príkazom pre spustenie príkazu ** - - 1. Napíš obvyklý píkaz : ktorý nastaví kurzor na spodok obrazovky. - To umožní napísať príkaz. - - 2. Teraz napíš ! (výkričník). To umožní spustiť hociaký vonkajší príkaz - z príkazového riadku. - - 3. Ako príklad napíš ls za ! a stlač <ENTER>. Tento príkaz - zobrazí obsah tvojho adresára rovnako ako na príkazovom riadku. - Alebo použi :!dir ak ls nefunguje. - -Poznámka: Takto je možné spustiť hociaký vonkajší príkaz s argumentami. -Poznámka: Všetky príkazy : musia byť dokončené stlačením <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.2: VIAC O UKLADANÍ SÚBOROV - - - ** Pre uloženie zmien v súbore, napíš :w FILENAME. ** - - 1. Napíš :!dir alebo :!ls pre výpis aktuálneho adresára. - Už vieš, že musíš za týmto stlačiť <ENTER> . - - 2. Vyber názov súboru, ktorý ešte neexistuje, ako napr. TEST. - - 3. Teraz napíš: :w TEST (kde TEST je názov vybratého súboru.) - - 4. To uloží celý súbor (Vim Tutor) pod názovm TEST. - Pre overenie napíš :!dir , čím zobrazíš obsah adresára. - -Poznámka: že ak ukončíš prácu s editorom Vim a znovu ho spustíš príkazom - vim TEST, súbor bude kópia výuky, keď si ho uložil. - - 5. Teraz odstráň súbor napísaním (MS-DOS): :!del TEST - alebo (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.3 VÝBER TEXTU PRE ULOŽENIE - - - ** Pre uloženie časti súboru, napíš v pohyb :w FILENAME ** - - 1. Presuň kurozr na tento riadok. - - 2. Stlač v a presuň kurozr na piatu položku dole. Poznámka, že - tento text je vyznačený (highlighted). - - 3. Stlač klávesu : . V spodnej časti okna sa objaví :'<,'>. - - 4. Napíš w TEST , kde TEST je meno súboru, ktorý zatial neexistuje. - Skontroluj, e vidíš :'<,'>w TEST predtým než stlačíš Enter. - - 5. Vim zapíše označené riadky do súboru TEST. Použi :!dir alebo !ls - pre overenie. Zatial ho ešte nemaž! Použijeme ho v ďalšej lekcii. - -POZNÁMKA: Stlačením klávesy v sa spustí vizuálne označovanie. - Môžeš pohybovať kurzorom pre upresnenie vyznačeného textu. - Potom môžeš použiť operátor pre vykonanie nejakej akcie - s textom. Napríklad d zmaže vyznačený text. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 5.4: VÝBER A ZLUČOVANIE SÚBOROV - - - ** Pre vloženie obsahu súboru, napíš :r FILENAME ** - - 1. Premiestni kurzor nad tento riadok. - -POZNÁMKA: Po vykonaní kroku 2 uvidíš text z lekcie 5.3. Potom sa presuň - dole, aby si videl túto lekciu. - - 3. Teraz vlož súbor TEST použitím príkazu :r TEST kde TEST je názov - súboru. Súbor, ktorý si použil je umiestnený pod riadkom s kurzorom. - -POZNÁMKA: Môžeš tiež načítať výstup vonkajšieho príkazu. Napríklad :r !ls - načíta výstup príkazu ls a umiestni ho za pozíciu kurzora. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 5 ZHRNUTIE - - - 1. :!príkaz spustí vonkajší príkaz. - - Niektoré využiteľné príklady sú: - (MS_DOS) (UNIX) - :!dir :!ls - zobrazí obsah adresára - :!del FILENAME :!rm FILENAME - odstráni súbor FILENAME - - 2. :w FILENAME uloží aktuálny súbor na disk pod menom FILENAME. - - 3. v pohyb :w FILENAME uloží vizuálne označené riadky do - súboru FILENAME. - - 4. :r FILENAME vyberie z disku súbor FILENAME a vloží ho do aktuálneho - súboru za pozíciou kurzora. - - 5. :r !dir načíta výstup z príkazu dir a vloží ho za pozíciu kurzora. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.1: PRÍKAZ OTVORIŤ - - -** Napíš o pre vloženie riadku pod kurzor a prepnutie do vkladacieho módu ** - - 1. Presuň kurzor nižšie na riadok označený značkou --->. - - 2. Napíš o (malé písmeno) pre vloženie čistého riadku pod kurzorm - a prepnutie do vkladacieho módu. - - 3. Teraz skopíruj riadok označený ---> a stlač <ESC> pre ukončenie - vkladacieho módu. - ----> Po napísaní o sa kurzor premiestní na vložený riadok do vkladacieho - módu. - - 4. Pre otvorenie riadku nad kurzorom, jednotucho napíš veľké O , - namiesto malého o. Vyskúšaj si to na riadku dole. - ----> Vlož riadok nad týmto napísaním O, keď kurzor je na tomto riadku. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.2: PRÍKAZ PRIDAŤ - - - ** Napíš a pre vloženie textu ZA kurzor. ** - - 1. Presuň kurzor nižšie na koniec prvého riadku označeného značkou ---> - - 2. Stlač klávesu e dokiaľ kurozr nieje na konci riadku. - - 3. Napíš a (malé písmeno) pre pridanie textu ZA kurzorom. - - 4. Dokončí slovo tak ako je to v druhom riadku. Stlaš <ESC> pre - opustenie vkladacieho módu. - - 5. Použi e na presun na ďalšie nedokončené slovo a zopakuj kroky 3 a 4. - ----> Tento ri ti dovoľuje nácv priávan testu na koniec riadku. ----> Tento riadok ti dovoľuje nácvik pridávania textu na koniec riadku. - -POZNÁMKA: a, i, A štartujú rovnaký vkladací mód, jediný rozidel je, kde - sa znaky vkladajú. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.3: INÝ SPOSOB NAHRADZOVANIA - - - ** Napíš veľké R pre nahradenie viac ako jedného znaku. ** - - 1. Presuň kurzor nižšie na prvý riadok označený značkou --->. Premiestni - kurzor na začiatok prvého výskytu xxx. - - 2. Teraz napíš R a napíš číslo uvedené v druhom riadku, takže - sa ním nahradí pôvodné xxx. - - 3. Stlač <ESC> pre opustenie nahradzovacieho módu. Poznámka, že zvyšok - riadku zostane nezmenený. - - 4. Zopakuj tieto kroky pre nahradenie zvyšných xxx. - ----> Pridaním 123 ku xxx dostaneš xxx. ----> Pridaním 123 ku 456 dostaneš 579. - -POZNÁMKA: Nahradzovací mód je ako vkladací mód, ale každý napísaný znak - zmaže existujúci znak. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Lekcia 6.4: Copy Paste textu - - ** použí operátor y pre copy textku a p pre jeho paste ** - - 1. Choď nižšie na riadok označený ---> a umiestni kurozr za "a)". - - 2. Naštartuj vizuálny mód použitím v a presuň kurozr pred "first". - - 3. Napíš y pre vystrihnutie (copy) označeného textu. - - 4. Presuň kurozr na koniec ďalšieho riadku: j$ - - 5. Napíš p pre vložnie (paste) textu. Potom napíš: a druha <ESC>. - - 6. Použi vizuálny mód pre označenie "položka.", vystrihni to - použitím y, presuň sa na koniec nasledujúceho riadku použitím j$ - a vlož sem text použitím p. - ----> a) toto je prvá položka ----> b) - -POZNÁMKA: Môžeš použiť tiež y ako operátor; yw vystrihne jedno slovo. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lekcia 6.5: NASTAVENIE MOŽNOSTÍ - - -** Nastav možnosti, takže vyhľadávanie alebo nahradzovanie ignoruje - rozlišovanie ** - - - 1. Vyhľadaj reťazec 'ignore' napísaním: - /ignore <ENTER> - Zopakuj vyhľadávanie niekoľko krát stlačením klávesy n . - - 2. Nastav možnosť 'ic' (Ignore case) napísaním príkazu: - :set ic - - 3. Teraz vyhľadaj reťazec 'ingore' znova stlačením klávesy n - Poznámka, že teraz sú vyhľadané aj Ignore a IGNORE. - - 4. Nastav možnosťi 'hlsearch' a 'incsearch': - :set hls is - - 5. Teraz spusti vyhľadávací príkaz znovu, a pozri čo sa stalo: - /ignore <ENTER> - - 6. Pre opetovné zapnutie rozlyšovania veľkých a malých písmen - napíš: :set noic - -POZNÁMKA: Na odstránenie zvýraznenia výrazov napíš: :nohlsearch -POZNÁMKA: Ak chceš nerozlyšovať veľkosť písmen len pre jedno - použitie vyhľadávacieho príkazu, použi \c: /ignore\c <ENTER> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 6 ZHRNUTIE - - - 1. Napíš o pre otvorenie riadku pod kurzorom a štart vkladacieho módu. - Napíš O pre otvorenie riadku nad kurzorom. - - 2. Napíš a pre vkladanie textu ZA kurzor. - Napíš A pre vkladanie textu za koncom riadku. - - 3. Príkaz e presunie kurozr na koniec slova - - 4. Operátor y vystrihne (skopíruje) text, p ho vloží. - - 5. Napísanie veľkého R prepne do nahradzovacieho módu, kým nieje - stlačené <ESC>. - - 6. Napísanie ":set xxx" nastaví možnosť "xxx". Niektoré nastavenia sú: - 'ic' 'ignorecase' ignoruje veľké a malé písmená počas vyhľadávania. - 'is' 'incsearch' zobrazuje čiastočné reťazce vyhľadávaného reťazca. - 'hls' 'hlsearch' vyznačí všetky vyhľadávané reťazce. - Môžeš použiť hociktorý z dlhých a krátkych názvov možností. - - 7. Vlož "no" pred nastavenie pre jeho vypnutie: :set noic - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 7.1: ZÍSKANIE NÁPOVEDY - - - ** Používaj on-line systém nápovedy ** - - Vim má obsiahly on-line systém nápovedy. Pre odštartovanie, vyskúšaj jeden - z týchto troch: - - stlač klávesu <HELP> (ak nejakú máš) - - stlač klávesu <F1> (ak nejakú máš) - - napíš :help <ENTER> - - Čítaj text v okne nápovedy pre získanie predstavy ako nápoveda funguje. - Napíš CTRL-W CTRL-W pre skok z jedného okna do druhého. - Napíš :q <ENTER> čím zatvoríš okno nápovedy. - - Môžeš nájsť help ku hociakej téme pridaním argumentu ku príkazu ":help". - Vyskúšaj tieto (nezabudni stlačiť <ENTER>): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKCIA 7.2: VYTVORENIE ŠTARTOVACIEHO SKRIPTU - - ** Zapni funkcie editora Vim ** - - Vim má omnoho viac funkcii než Vi, ale večšina z nich je implicitne - vypnutá. Pre používanie viac Vim funkcii vytvor "vimrc" súbor. - - 1. Začni editovať "vimrc" súbor, to závisí na použitom systéme: - :e ~/.vimrc pre Unix - :e $VIM/_vimrc pre MS-Windows - - 2. Teraz si prečítaj text príkladu "vimrc" súboru: - - :r $VIMRUNTIME/vimrc_example.vim - - 3. Ulož súbor: - :w - - Pri nasledujúcom štarte editora Vim sa použije zvýrazňovanie syntaxe. - Do "vimrc" súboru môžeš pridať všetky svoje uprednostňované nastavenia. - Pre viac informácii napíš :help vimrc-intro - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LEKCIA 7.3 DOKONČENIE - - ** Dokonči príkaz na príkazovom riadku použitím CTRL-D a <TAB> ** - - 1. Uisti sa, že Vim nieje v kompatibilnom móde: :set nocp - - 2. Pozri sa aké súbory sa nachádzajú v adresári: :!ls alebo :!dir - - 3. Napíš začiatok príkazu: :e - - 4. Stlač CTRL-D a Vim zobrazí zoznam príkazov začínajúcich "e". - - 5. Stlač <TAB> a Vim dokončí meno príkazu na ":edit". - - 6. Teraz pridaj medzerník a začiatok mena existujúceho súboru: - :edit FIL - - 7. Stlač <TAB>. Vim dokončí meno (ak je jedinečné). - -POZNÁMKA: Dokončovanie funguje pre veľa príkazov. Vyskúšaj stlačenie - CTRL-D a <TAB>. Špeciálne je to užitočné pre príkaz :help. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - LEKCIA 7 ZHRNUTIE - - 1. Napíš :help alebo stlač <F1> alebo <Help> pre otvorenie okna nápovedy. - - 2. Napíš :help príkaz pre vyhľadanie nápovedy ku príkazu príkaz. - - 3. Napíš CTRL-W CTRL-W na preskočenie do iného okna. - - 4. Napíš :q pre zatvorenie okna nápovedy - - 5. Vytvor štartovací skript vimrc pre udržanie uprednostňovaných nastavení. - - 6. Počas písania príkazu : stlač CTRL-D pre zobrazenie dokončení. - Stlač <TAB> pre použitie jedného z dokončení. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - - Toto vymedzuje výuku Vimu. Toto je určené pre strucný prehľad o editore - Vim, úplne postačujúce pre ľahké a obstojné používanie tohto editora. - Táto výuka je ďaleko od kompletnosti, pretože Vim má omnoho viacej príkazov. - Ako ďalšie si prečítaj užívatľský manuál: ":help user-manual". - - Pre ďalšie čítanie a štúdium je odporúčaná kniha: - Vim - Vi Improved - od Steve Oualline - Vydavateľ: New Riders - Prvá kniha určená pre Vim. Špeciálne vhodná pre začiatočníkov. - Obsahuje množstvo príkladov a obrázkov. - Pozri na http://iccf-holland.org/click5.html - - Táto kniha je staršia a je viac o Vi ako o Vim, ale je tiež odporúčaná: - Learning the Vi Editor - od Linda Lamb - Vydavateľ: O'Reilly & Associates Inc. - Je to dobrá kniha pre získanie vedomostí o práci s editorom Vi. - Šieste vydanie obsahuje tiež informácie o editore Vim. - - Táto výuka bola napísaná autormi Michael C. Pierce a Robert K. Ware, - Colorado School of Mines s použitím myšlienok dodanými od Charles Smith, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Modifikované pre Vim od Bram Moolenaar. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Preklad do Slovenčiny: Ľuboš Čelko - e-mail: celbos@inmail.sk - Last Change: 2006 Apr 18 - encoding: iso8859-2 diff --git a/runtime/tutor/tutor.sv b/runtime/tutor/tutor.sv deleted file mode 100644 index 59f0f65f9..000000000 --- a/runtime/tutor/tutor.sv +++ /dev/null @@ -1,830 +0,0 @@ -=============================================================================== -= V l k o m m e n t i l l h a n d l e d n i n g e n i V i m - Ver. 1.5 = -=============================================================================== - - Vim r en vldigt kraftfull redigerare som har mnga kommandon, alltfr - mnga att frklara i en handledning som denna. Den hr handledningen r - gjord fr att frklara tillrckligt mnga kommandon s att du enkelt ska - kunna anvnda Vim som en redigerare fr alla ndaml. - - Den berknade tiden fr att slutfra denna handledning r 25-30 minuter, - beroende p hur mycket tid som lggs ned p experimentering. - - Kommandona i lektionerna kommer att modifiera texten. Gr en kopia av den - hr filen att va p (om du startade "vimtutor r det hr redan en kopia). - - Det r viktigt att komma ihg att den hr handledningen r konstruerad - att lra vid anvndning. Det betyder att du mste kra kommandona fr att - lra dig dem ordentligt. Om du bara lser texten s kommer du att glmma - kommandona! - - Frskra dig nu om att din Caps-Lock tangent INTE r aktiv och tryck p - j-tangenten tillrckligt mnga gnger fr att frflytta markren s att - Lektion 1.1 fyller skrmen helt. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.1: FLYTTA MARKREN - - - ** Fr att flytta markren, tryck p tangenterna h,j,k,l som indikerat. ** - ^ - k Tips: - < h l > h-tangenten r till vnster och flyttar till vnster. - j l-tangenten r till hger och flyttar till hger. - v j-tangenten ser ut som en pil ned. - 1. Flytta runt markren p skrmen tills du knner dig bekvm. - - 2. Hll ned tangenten pil ned (j) tills att den repeterar. ----> Nu vet du hur du tar dig till nsta lektion. - - 3. Flytta till Lektion 1.2, med hjlp av ned tangenten. - -Notera: Om du r osker p ngonting du skrev, tryck <ESC> fr att placera dig - dig i Normal-lge. Skriv sedan om kommandot. - -Notera: Piltangenterna borde ocks fungera. Men om du anvnder hjkl s kommer - du att kunna flytta omkring mycket snabbare, nr du vl vant dig vid - det. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.2: STARTA OCH AVSLUTA VIM - - - !! NOTERA: Innan du utfr ngon av punkterna nedan, ls hela lektionen!! - - 1. Tryck <ESC>-tangenten (fr att se till att du r i Normal-lge). - - 2. Skriv: :q! <ENTER>. - ----> Detta avslutar redigeraren UTAN att spara ngra ndringar du gjort. - Om du vill spara ndringarna och avsluta skriv: - :wq <ENTER> - - 3. Nr du ser skal-prompten, skriv kommandot som tog dig in i den hr - handledningen. Det kan vara: vimtutor <ENTER> - Normalt vill du anvnda: vim tutor <ENTER> - ----> 'vim' betyder ppna redigeraren vim, 'tutor' r filen du vill redigera. - - 4. Om du har memorerat dessa steg och knner dig sjlvsker, kr d stegen - 1 till 3 fr att avsluta och starta om redigeraren. Flytta sedan ned - markren till Lektion 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.3: TEXT REDIGERING - BORTTAGNING - - -** Nr du r i Normal-lge tryck x fr att ta bort tecknet under markren. ** - - 1. Flytta markren till raden nedan med markeringen --->. - - 2. Fr att rtta felen, flytta markren tills den str p tecknet som ska - tas bort. fix the errors, move the cursor until it is on top of the - - 3. Tryck p x-tangenten fr att ta bort det felaktiga tecknet. - - 4. Upprepa steg 2 till 4 tills meningen r korrekt. - ----> Kkon hoppadee vverr mnen. - - 5. Nu nr raden r korrekt, g till Lektion 1.4. - -NOTERA: Nr du gr igenom den hr handledningen, frsk inte att memorera, lr - genom anvndning. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.4: TEXT REDIGERING - INFOGNING - - - ** Nr du r i Normal-lge tryck i fr att infoga text. ** - - 1. Flytta markren till den frsta raden nedan med markeringen --->. - - 2. Fr att gra den frsta raden likadan som den andra, flytta markren till - det frsta tecknet EFTER dr text ska infogas. - - 3. Tryck i och skriv in det som saknas. - - 4. Nr du rttat ett fel tryck <ESC> fr att terg till Normal-lge. - Upprepa steg 2 till 4 fr att rtta meningen. - ----> Det sakns hr . ----> Det saknas lite text frn den hr raden. - - 5. Nr du knner dig bekvm med att infoga text, g till sammanfattningen - nedan. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 1 SAMMANFATTNING - - - 1. Markren flyttas genom att anvnda piltangenterna eller hjkl-tangenterna. - h (vnster) j (ned) k (upp) l (hger) - - 2. Fr att starta Vim (frn %-prompten) skriv: vim FILNAMN <ENTER> - - 3. Fr att avsluta Vim skriv: <ESC> :q! <ENTER> fr att kasta ndringar. - ELLER skriv: <ESC> :wq <ENTER> fr att spara ndringar. - - 4. Fr att ta bort tecknet under markren i Normal-lge skriv: x - - 5. Fr att infoga text vid markren i Normal-lge skriv: - i skriv in text <ESC> - -NOTERA: Genom att trycka <ESC> kommer du att placeras i Normal-lge eller - avbryta ett delvis frdigskrivet kommando. - -Fortstt nu med Lektion 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.1: BORTTAGNINGSKOMMANDON - - - ** Skriv dw fr att radera till slutet av ett ord. ** - - 1. Tryck <ESC> fr att frskra dig om att du r i Normal-lge. - - 2. Flytta markren till raden nedan markerad --->. - - 3. Flytta markren till brjan av ett ord som mste raderas. - - 4. Skriv dw fr att radera ordet. - - NOTERA: Bokstverna dw kommer att synas p den sista raden p skrmen nr - du skriver dem. Om du skrev ngot fel, tryck <ESC> och brja om. - ----> Det r ett ngra ord roliga att som inte hr hemma i den hr meningen. - - 5. Upprepa stegen 3 och 4 tills meningen r korrekt och g till Lektion 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.2: FLER BORTTAGNINGSKOMMANDON - - - ** Skriv d$ fr att radera till slutet p raden. ** - - 1. Tryck <ESC> fr att frskra dig om att du r i Normal-lge. - - 2. Flytta markren till raden nedan markerad --->. - - 3. Flytta markren till slutet p den rtta raden (EFTER den frsta . ). - - 4. Skriv d$ fr att radera till slutet p raden. - ----> Ngon skrev slutet p den hr raden tv gnger. den hr raden tv gnger. - - - 5. G vidare till Lektion 2.3 fr att frst vad det r som hnder. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.3: KOMMANDON OCH OBJEKT - - - Syntaxen fr d raderingskommandot r fljande: - - [nummer] d objekt ELLER d [nummer] objekt - Var: - nummer - r antalet upprepningar av kommandot (valfritt, standard=1). - d - r kommandot fr att radera. - objekt - r vad kommandot kommer att operera p (listade nedan). - - En kort lista ver objekt: - w - frn markren till slutet av ordet, inklusive blanksteget. - e - frn markren till slutet av ordet, EJ inklusive blanksteget. - $ - frn markren till slutet p raden. - -NOTERA: Fr den ventyrslystne, genom att bara trycka p objektet i - Normal-lge (utan kommando) s kommer markren att flyttas som - angivet i objektlistan. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.4: ETT UNDANTAG TILL 'KOMMANDO-OBJEKT' - - - ** Skriv dd fr att radera hela raden. ** - - P grund av hur vanligt det r att ta bort hela rader, valde upphovsmannen - till Vi att det skulle vara enklare att bara trycka d tv gnger i rad fr - att ta bort en rad. - - 1. Flytta markren till den andra raden i frasen nedan. - 2. Skriv dd fr att radera raden. - 3. Flytta nu till den fjrde raden. - 4. Skriv 2dd (kom ihg: nummer-kommando-objekt) fr att radera de tv - raderna. - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.5: NGRA-KOMMANDOT - - -** Skriv u fr att ngra det senaste kommandona, U fr att fixa en hel rad. ** - - 1. Flytta markren till slutet av raden nedan markerad ---> och placera den - p det frsta felet. - 2. Skriv x fr att radera den frsta felaktiga tecknet. - 3. Skriv nu u fr att ngra det senaste krda kommandot. - 4. Rtta den hr gngen alla felen p raden med x-kommandot. - 5. Skriv nu U fr att terstlla raden till dess ursprungliga utseende. - 6. Skriv nu u ngra gnger fr att ngra U och tidigare kommandon. - 7. Tryck nu CTRL-R (hll inne CTRL samtidigt som du trycker R) ngra gnger - fr att upprepa kommandona (ngra ngringarna). - ----> Fiixa felen pp deen hr meningen och terskapa dem med ngra. - - 8. Det hr r vldigt anvndbara kommandon. G nu vidare till - Lektion 2 Sammanfattning. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 2 SAMMANFATTNING - - - 1. Fr att radera frn markren till slutet av ett ord skriv: dw - - 2. Fr att radera frn markren till slutet av en rad skriv: d$ - - 3. Fr att radera en hel rad skriv: dd - - 4. Syntaxen fr ett kommando i Normal-lge r: - - [nummer] kommando objekt ELLER kommando [nummer] objekt - dr: - nummer - r hur mnga gnger kommandot kommandot ska repeteras - kommando - r vad som ska gras, t.ex. d fr att radera - objekt - r vad kommandot ska operera p, som t.ex. w (ord), - $ (till slutet av raden), etc. - - 5. Fr att ngra tidigare kommandon, skriv: u (litet u) - Fr att ngra alla tidigare ndringar p en rad skriv: U (stort U) - Fr att ngra ngringar tryck: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.1: KLISTRA IN-KOMMANDOT - - - ** Skriv p fr att klistra in den senaste raderingen efter markren. ** - - 1. Flytta markren till den frsta raden i listan nedan. - - 2. Skriv dd fr att radera raden och lagra den i Vims buffert. - - 3. Flytta markren till raden OVANFR dr den raderade raden borde vara. - - 4. Nr du r i Normal-lge, skriv p fr att byta ut raden. - - 5. Repetera stegen 2 till 4 fr att klistra in alla rader i rtt ordning. - - d) Kan du lra dig ocks? - b) Violetter r bl, - c) Intelligens fs genom lrdom, - a) Rosor r rda, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.2: ERSTT-KOMMANDOT - - - ** Skriv r och ett tecken fr att erstta tecknet under markren. ** - - 1. Flytta markren till den frsta raden nedan markerad --->. - - 2. Flytta markren s att den str p det frsta felet. - - 3. Skriv r och sedan det tecken som borde erstta felet. - - 4. Repetera steg 2 och 3 tills den frsta raden r korrekt. - ----> Nr drn hr ruden skrevs, trickte ngon p fil knappar! ----> Nr den hr raden skrevs, tryckte ngon p fel knappar! - - 5. G nu vidare till Lektion 3.2. - -NOTERA: Kom ihg att du skall lra dig genom anvndning, inte genom memorering. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.3: NDRA-KOMMANDOT - - - ** Fr att ndra en del eller ett helt ord, skriv cw . ** - - 1. Flytta markren till den frsta redan nedan markerad --->. - - 2. Placera markren p d i rdrtn. - - 3. Skriv cw och det rtta ordet (i det hr fallet, skriv "aden".) - - 4. Tryck <ESC> och flytta markren till nsta fel (det frsta tecknet som - ska ndras.) - - 5. Repetera steg 3 och 4 tills den frsta raden r likadan som den andra. - ----> Den hr rdrtn har ngra otf som brhotrt ndras mrf ndra-komjendit. ----> Den hr raden har ngra ord som behver ndras med ndra-kommandot. - -Notera att cw inte bara ndrar ordet, utan ven placerar dig i infogningslge. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.4: FLER NDRINGAR MED c - - - ** ndra-kommandot anvnds p samma objekt som radera. ** - - 1. ndra-kommandot fungerar p samma stt som radera. Syntaxen r: - - [nummer] c objekt ELLER c [nummer] objekt - - 2. Objekten r ocks de samma, som t.ex. w (ord), $ (slutet av raden), etc. - - 3. Flytta till den frsta raden nedan markerad -->. - - 4. Flytta markren till det frsta felet. - - 5. Skriv c$ fr att gra resten av raden likadan som den andra och tryck - <ESC>. - ----> Slutet p den hr raden behver hjlp med att f den att likna den andra. ----> Slutet p den hr raden behver rttas till med c$-kommandot. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 3 SAMMANFATTNING - - - 1. Fr att erstta text som redan har blivit raderad, skriv p . - Detta klistrar in den raderade texten EFTER markren (om en rad raderades - kommer den att hamna p raden under markren. - - 2. Fr att erstta tecknet under markren, skriv r och sedan tecknet som - kommer att erstta orginalet. - - 3. ndra-kommandot lter dig ndra det angivna objektet frn markren till - slutet p objektet. eg. Skriv cw fr att ndra frn markren till slutet - p ordet, c$ fr att ndra till slutet p en rad. - - 4. Syntaxen fr ndra-kommandot r: - - [nummer] c objekt ELLER c [nummer] objekt - -G nu till nsta lektion. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.1: POSITION OCH FILSTATUS - - - ** Tryck CTRL-g fr att visa din position i filen och filstatusen. - Tryck SHIFT-G fr att flytta till en rad i filen. ** - - Notera: Lsa hela den lektion innan du utfr ngot av stegen!! - - 1. Hll ned Ctrl-tangenten och tryck g . En statusrad med filnamn och raden - du befinner dig p kommer att synas. Kom ihg radnummret till Steg 3. - - 2. Tryck shift-G fr att flytta markren till slutet p filen. - - 3. Skriv in nummret p raden du var p och tryck sedan shift-G. Detta kommer - att ta dig tillbaka till raden du var p nr du frst tryckte Ctrl-g. - (Nr du skriver in nummren, kommer de INTE att visas p skrmen.) - - 4. Om du knner dig sker p det hr, utfr steg 1 till 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.2: SK-KOMMANDOT - - - ** Skriv / fljt av en fras fr att ska efter frasen. ** - - 1. I Normal-lge skriv /-tecknet. Notera att det och markren blir synlig - lngst ned p skrmen precis som med :-kommandot. - - 2. Skriv nu "feeel" <ENTER>. Det hr r ordet du vill ska efter. - - 3. Fr att ska efter samma fras igen, tryck helt enkelt n . - Fr att ska efter samma fras igen i motsatt riktning, tryck Shift-N . - - 4. Om du vill ska efter en fras bakt i filen, anvnd kommandot ? istllet - fr /. - ----> "feeel" r inte rtt stt att stava fel: feeel r ett fel. - -Notera: Nr skningen nr slutet p filen kommer den att fortstta vid brjan. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.3: SKNING EFTER MATCHANDE PARENTESER - - - ** Skriv % fr att hitta en matchande ),], or } . ** - - 1. Placera markren p ngon av (, [, or { p raden nedan markerad --->. - - 2. Skriv nu %-tecknet. - - 3. Markren borde vara p den matchande parentesen eller hakparentesen. - - 4. Skriv % fr att flytta markren tillbaka till den frsta hakparentesen - (med matchning). - ----> Det ( hr r en testrad med (, [ ] och { } i den. )) - -Notera: Det hr r vldigt anvndbart vid avlusning av ett program med icke - matchande parenteser! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.4: ETT STT ATT NDRA FEL - - - ** Skriv :s/gammalt/nytt/g fr att erstta "gammalt" med "nytt". ** - - 1. Flytta markren till raden nedan markerad --->. - - 2. Skriv :s/denn/den <ENTER> . Notera att det hr kommandot bara ndrar den - frsta frekomsten p raden. - - 3. Skriv nu :s/denn/den/g vilket betyder erstt globalt p raden. - Det ndrar alla frekomster p raden. - ----> denn bsta tiden att se blommor blomma r denn p vren. - - 4. Fr att ndra alla frekomster av en teckenstrng mellan tv rader, - skriv :#,#s/gammalt/nytt/g dr #,# r de tv radernas radnummer. - Skriv :%s/gammtl/nytt/g fr att ndra varje frekomst i hela filen. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 4 SAMMANFATTNING - - - 1. Ctrl-g visar din position i filen och filstatusen. - Shift-G flyttar till slutet av filen. Ett radnummer fljt Shift-G - flyttar till det radnummret. - - 2. Skriver man / fljt av en fras sks det FRAMMT efter frasen. - Skriver man ? fljt av en fras sks det BAKT efter frasen. - Efter en skning skriv n fr att hitta nsta frekomst i samma riktning - eller Shift-N fr att ska i den motsatta riktningen. - - 3. Skriver man % nr markren r p ett (,),[,],{, eller } hittas dess - matchande par. - - 4. Fr att erstta den frsta gammalt med nytt p en rad skriv :s/gammlt/nytt - Fr att erstta alla gammlt med nytt p en rad skriv :s/gammlt/nytt/g - Fr att erstta fraser mellan rad # och rad # skriv :#,#s/gammlt/nytt/g - Fr att erstta alla frekomster i filen skriv :%s/gammlt/nytt/g - Fr att bekrfta varje gng lgg till "c" :%s/gammlt/nytt/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.1: HUR MAN KR ETT EXTERNT KOMMANDO - - - ** Skriv :! fljt av ett externt kommando fr att kra det kommandot. ** - - 1. Skriv det vlbekanta kommandot : fr att placera markren lngst ned - p skrmen p skrmen. Detta lter dig skriva in ett kommando. - - 2. Skriv nu ! (utropstecken). Detta lter dig kra ett godtyckligt externt - skalkommando. - - 3. Som ett exempel skriv ls efter ! och tryck sedan <ENTER>. Detta kommer - att visa dig en listning av din katalog, precis som om du krt det vid - skalprompten. Anvnd :!dir om ls inte fungerar. - -Notera: Det r mjligt att kra vilket externt kommando som helst p det hr - sttet. - -Notera: Alla :-kommandon mste avslutas med att trycka p <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.2: MER OM ATT SPARA FILER - - - ** Fr att spara ndringar gjorda i en fil, skriv :w FILNAMN. ** - - 1. Skriv :!dir eller :!ls fr att f en listning av din katalog. - Du vet redan att du mste trycka <ENTER> efter det hr. - - 2. Vlj ett filnamn som inte redan existerar, som t.ex. TEST. - - 3. Skriv nu: :w TEST (dr TEST r filnamnet du valt.) - - 4. Det hr sparar hela filen (Vim handledningen) under namnet TEST. - Fr att verifiera detta, skriv :!dir igen fr att se din katalog - -Notera: Om du skulle avsluta Vim och sedan ppna igen med filnamnet TEST s - skulle filen vara en exakt kopia av handledningen nr du sparade den. - - 5. Ta nu bort filen genom att skriva (MS-DOS): :!del TEST - eller (Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.3: ETT SELEKTIVT SPARA-KOMMANDO - - - ** Fr att spara en del av en fil, skriv :#,# w FILNAMN ** - - 1. nnu en gng, skriv :!dir eller :!ls fr att f en listning av din - katalog och vlj ett passande filnamn som t.ex. TEST. - - 2. Flytta markren hgst upp p den hr sidan och tryck Ctrl-g fr att f - reda p radnumret p den raden. KOM IHG DET NUMMRET! - - 3. Flytta nu lngst ned p sidan och skriv Ctrl-g igen. - KOM IHG DET RADNUMMRET OCKS! - - 4. Fr att BARA spara en sektion till en fil, skriv :#,# w TEST - dr #,# r de tv nummren du kom ihg (toppen, botten) och TEST r - ditt filnamn. - - 5. nnu en gng, kolla s att filen r dr med :!dir men radera den INTE. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.4: TA EMOT OCH FRENA FILER - - - ** Fr att infoga innehllet av en fil, skriv :r FILNAMN ** - - 1. Skriv :!dir fr att frskra dig om att TEST-filen frn tidigare - fortfarande r kvar. - - 2. Placera markren hgst upp p den hr sidan. - -NOTERA: Efter att du krt Steg 3 kommer du att se Lektion 5.3. - Flytta d NED till den hr lektionen igen. - - 3. Ta nu emot din TEST-fil med kommandot :r TEST dr TEST r namnet p - filen. - -NOTERA: Filen du tar emot placeras dr markren r placerad. - - 4. Fr att verifiera att filen togs emot, g tillbaka och notera att det nu - finns tv kopior av Lektion 5.3, orginalet och filversionen. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 5 SAMMANFATTNING - - - 1. :!kommando kr ett externt kommando. - - Ngra anvndbara exempel r: - (MS-DOS) (Unix) - :!dir :!ls - visar en kataloglistning. - :!del FILNAMN :!rm FILNAMN - tar bort filen FILNAMN. - - 2. :w FILNAMN sparar den aktuella Vim-filen med namnet FILNAMN. - - 3. :#,#w FILNAMN sparar raderna # till # i filen FILNAMN. - - 4. :r FILNAMN tar emot filen FILNAMN och infogar den i den aktuella filen - efter markren. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.1: PPNA-KOMMANDOT - - - ** Skriv o fr att ppna en rad under markren och placera dig i - Infoga-lge. ** - - 1. Flytta markren till raden nedan markerad --->. - - 2. Skriv o (litet o) fr att ppna upp en rad NEDANFR markren och placera - dig i Infoga-mode. - - 3. Kopiera nu raden markerad ---> och tryck <ESC> fr att avsluta - Infoga-lget. - ----> Efter du skrivit o placerad markren p en ppen rad i Infoga-lge. - - 4. Fr att ppna upp en rad OVANFR markren, skriv ett stort O , istllet - fr ett litet o. Prva detta p raden nedan. -ppna upp en rad ovanfr denna genom att trycka Shift-O nr markren str hr. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.2: LGG TILL-KOMMANDOT - - - ** Skriv a fr att infoga text EFTER markren. ** - - 1. Flytta markren till slutet av den frsta raden nedan markerad ---> genom - att skriv $ i Normal-lge. - - 2. Skriv ett a (litet a) fr att lgga till text EFTER tecknet under - markren. (Stort A lgger till i slutet av raden.) - -Notera: Detta undviker att behva skriva i , det sista tecknet, texten att - infoga, <ESC>, hgerpil, och slutligen, x, bara fr att lgga till i - slutet p en rad! - - 3. Gr nu frdigt den frsta raden. Notera ocks att lgga till r likadant - som Infoga-lge, enda skillnaden r positionen dr texten blir infogad. - ----> Hr kan du trna ----> Hr kan du trna p att lgga till text i slutet p en rad. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.3: EN ANNAN VERSION AV ERSTT - - - ** Skriv ett stort R fr att erstta fler n ett tecken. ** - - 1. Flytta markren till den frsta raden nedan markerad --->. - - 2. Placera markren vid brjan av det frsta ordet som r annorlunda jmfrt - med den andra raden markerad ---> (ordet "sista"). - - 3. Skriv nu R och erstt resten av texten p den frsta raden genom att - skriva ver den gamla texten s att den frsta raden blir likadan som - den andra. - ----> Fr att f den frsta raden lika som den sista, anvnd tangenterna. ----> Fr att f den frsta raden lika som den andra, skriv R och den nya texten. - - 4. Notera att nr du trycker <ESC> fr att avsluta, s blir eventuell - ofrndrad text kvar. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.4: STT FLAGGOR - - ** Stt en flagga s att en skning eller ersttning ignorerar storlek ** - - 1. Sk efter "ignore" genom att skriva: - /ignore - Repetera flera gnger genom att trycka p n-tangenten - - 2. Stt 'ic' (Ignore Case) flaggan genom att skriva: - :set ic - - 3. Sk nu efter "ignore" igen genom att trycka: n - Repeat search several more times by hitting the n key - - 4. Stt 'hlsearch' and 'incsearch' flaggorna: - :set hls is - - 5. Skriv nu in sk-kommandot igen, och se vad som hnder: - /ignore - - 6. Fr att ta bort framhvningen av trffar, skriv - :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 6 SAMMANFATTNING - - - 1. Genom att skriva o pnnas en rad NEDANFR markren och markren placeras - p den ppna raden i Infoga-lge. - Genom att skriva ett stort O ppnas raden OVANFR raden som markren r - p. - - 2. Skriv ett a fr att infoga text EFTER tecknet som markren str p. - Genom att skriva ett stort A lggs text automatiskt till i slutet p - raden. - - 3. Genom att skriva ett stort R hamnar du i Erstt-lge till <ESC> trycks - fr att avsluta. - - 4. Genom att skriva ":set xxx" stts flaggan "xxx" - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 7: ON-LINE HJLP-KOMMANDON - - - ** Anvnd on-line hjlpsystemet ** - - Vim har ett omfattande on-line hjlpsystem. Fr att komma igng prva ett av - dessa tre: - - tryck <HELP> tangenten (om du har ngon) - - tryck <F1> tangenten (om du har ngon) - - skriv :help <ENTER> - - Skriv :q <ENTER> fr att strnga hjlpfnstret. - - Du kan hitta hjlp om nstan allting, genom att ge ett argument till - ":help" kommandot. Prva dessa (glm inte att trycka <ENTER>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 8: SKAPA ETT UPPSTARTSSKRIPT - - ** Aktivera Vim- funktioner ** - - Vim har mnga fler funktioner n Vi, men de flesta av dem r inaktiverade som - standard. Fr att brja anvnda fler funktioner mste du skapa en "vimrc"-fil. - - 1. Brja redigera "vimrc"-filen, detta beror p ditt system: - :edit ~/.vimrc fr Unix - :edit $VIM/_vimrc fr MS-Windows - - 2. Ls nu texten i exempel "vimrc"-filen: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Spara filen med: - - :write - - Nsta gng du startar Vim kommer den att anvnda syntaxframhvning. - Du kan lgga till alla instllningar du fredrar till den hr "vimrc"-filen. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Detta avslutar handledningen i Vim. Den var avsedd att ge en kort versikt av - redigeraren Vim, bara tillrckligt fr att du ska kunna anvnda redigeraren - relativt enkelt. Den r lngt ifrn komplett eftersom Vim har mnga mnga fler - kommandon. Ls anvndarmanualen hrnst: ":help user-manual". - - Fr vidare lsning rekommenderas den hr boken: - Vim - Vi Improved - av Steve Oualline - Frlag: New Riders - Den frsta boken som r endast behandlar Vim. Speciellt anvndbar fr - nybrjare. Det finns mnga exempel och bilder. - Se http://iccf-holland.org/click5.html - - Den hr boken r ldre och behandlar mer Vi n Vim, men rekommenderas ocks: - Learning the Vi Editor - av Linda Lamb - Frlag: O'Reilly & Associates Inc. - Det r en bra bok fr att lra sig nstan allt som du vill kunna gra med Vi. - Den sjtte upplagan inkluderar ocks information om Vim. - - Den hr handledningen r skriven av Michael C. Pierce och Robert K. Ware, - Colorado School of Mines med ider frn Charles Smith, - Colorado State University. E-post: bware@mines.colorado.edu. - - Modifierad fr Vim av Bram Moolenaar. - versatt av Johan Svedberg <johan@svedberg.com> - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.tr.iso9 b/runtime/tutor/tutor.tr.iso9 deleted file mode 100644 index 759e57d3e..000000000 --- a/runtime/tutor/tutor.tr.iso9 +++ /dev/null @@ -1,813 +0,0 @@ -=============================================================================== -= V I M T u t o r'a Ho Geldiniz - Srm 1.5 = -=============================================================================== - - Vim, bu gibi bir eitmen ile aklanmas gereken ok fazla komut barndran, - olduka kuvvetli bir metin dzenleyicidir. Bu eitmen Vim'i ok amal bir - dzenleyici olarak kolaylkla kullanabileceiniz yeterli sayda komutu aklamak - iin tasarlanmtr. - - Eitmeni tamamlama sresi yapacanz denemelere bal olarak 25-30 - dakikadr. - - Derslerdeki komutlar bu metini deitirecektir. zerinde almak iin - bu dosyann bir kopyasn aln (eer "vimtutor" uygulamasn altrdysanz - zaten bir kopyasn alm oldunuz). - - Bu eitmenin, kullanarak retmeye ayarlandn unutmamak nemlidir. Bu u - anlama gelir; komutlar renmek iin doru bir ekilde altrmanz gerekir. - Eer sadece yazlanlar okursanz komutlar unutursunuz. - - imdi Shift-Lock tularnzn basl olmadna emin olun ve Ders 1.1'in - ekran tamamen doldurmas iin j tuuna yeterli miktarda basn. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.1: MLEC HAREKET ETTRMEK - - .N: Tm derslerde <ENTER> grdnz yerde bu tua basmanz gerekir. - - ** mleci hareket ettirmek iin, h,j,k,l tularna gsterildii gibi basn. ** - ^ - k pucu: h tuu soldadr ve sola hareket eder. - < h l > l tuu sadadr ve saa hareket eder. - j j tuu aa ynl bir ok gibidir. - v - 1. Yeterli hissedinceye kadar imleci ekranda hareket ettirin. - - 2. Aa tuunu (j) tekrar edene kadar basl tutun. ----> imdi, bir sonraki derse nasl geeceinizi biliyorsunuz. - - 3. Aa tuunu kullanarak, Ders 1.2'ye gein. - Not: Eer yazdnz bir eyden emin deilseniz, Normal kipe gemek iin <ESC> tuuna basn. - Daha sonra istediiniz komutu yeniden yazn. - Not: mle tular da ayn zamanda ie yararlar ancak hjkl tularn kullanmaya altnzda etrafta daha hzl - hareket edersiniz. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.2: VIM'E GR VE VIM'DEN IKI - - - !! NOT: Aadaki admlar yapmadan nce, bu dersi tamamen okuyun. - - 1. <ESC> tuuna basn (Normal kipte olmay garantilemek iin). - - 2. Yazn: :q! <ENTER>. - ----> Bu dzenleyicinin yaptnz deiiklikleri KAYDETMEDEN kapanmasn salar. - Eer yaptklarnzn kaydedilmesini istiyorsanz unu yazn: - :wq <ENTER> - - 3. Kabuk istemcisini (shell prompt) grdnzde, sizi bu eitmene getiren - komutu yazn. Bu: vimtutor <ENTER> komutudur. - Normalde: vim tutor <ENTER> komutu kullanlr. ----> 'vim' vim dzenleyicisine gir anlamna gelir, 'tutor' ise amak istediiniz dosyadr. - - 4. Eer bu admlar ezberlediyseniz ve kendinizden eminseniz, 1'den 3'e kadar olan admlar, - dzenleyiciden kmak ve yeniden girmek iin uygulayn. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.3: METN DZENLEME - SLME - - -** Normal kipteyken imlecin altndaki karakteri silmek iin x 'e basn.** - - 1. mleci aada iaretlenmi (-->) satra gtrn. - - 2. Hatalar dzeltmek iin, imleci silinmesi gereken karakterin zerine getirin - - 3. stenmeyen karakteri silmek iin x tuuna basn. - - 4. Cmle dzelene kadar 2'den 4'e kadar olan admlar tekrar edin. - ----> inek ayyn zzerinden attlad. - - 5. imdi satr dzeldi, Ders 1.4'e gein. - -NOT: Bu eitmende ilerledike ezberlemeye almayn, kullanarak renin. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.4: METN DZENLEME - EKLEME - - - ** Normal kipteyken metin eklemek iin i 'ye basn. ** - - 1. mleci aadaki iaretlenmi (-->) ilk satra gtrn. - - 2. lk satr ikincisinin ayns gibi yapmak iin, imleci eklenmesi gereken - metinden sonraki ilk karakterin zerine gtrn. - - 3. i 'ye basn ve gerekli eklemeleri yapn. - - 4. Her hata dzeltildiinde <ESC> tuuna basarak Normal kipe dnn. - Cmleyi dzeltmek iin 2'den 4'e kadar olan admlar tekrar edin. - ----> Bu metinde eksk. ----> Bu metinde birey eksik. - - 5. Metin ekleme almalarn yeterli gryorsanz aadaki zete gein. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 1 ZET - - - 1. mle hem ok tular hem de hjkl tular ile hareket ettirilir. - h (sol) j (aa) k (yukar) l (sa) - - 2. (Konsoldan) Vim'e girmek in yazn: vim DOSYASM <ENTER> - - 3. Tm deiiklikleri gz ard edip vimden kmak iin yazn: - <ESC> :q! <ENTER> - veya tm deiiklikleri kaydetmek iin yazn: - <ESC> :wq <ENTER> - - 4. mlecin altndaki bir karakteri silmek iin Normal kipte x yazn. - - 5. mlecin altnda metin eklemek iin Normal kipte yazn: - i yazlacak metin <ESC> - -NOT: <ESC> tuuna basmak sizi Normal kipe gtrr ya da istenmeyen tamamlanmam bir komutu - iptal eder. - -imdi Ders 2 ile devam edin. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.1: SLME KOMUTLARI - - ** Bir kelimeyi silmek iin dw yazn.** - - 1. Normal kipte olmakten emin olmak iin <ESC> tuuna basn. - - 2. mleci aadaki iaretlenmi (-->) satra gtrn. - - 3. mleci silinmesi gereken kelimenin bana gtrn. - - 4. Kelimeyi silmek iin dw yazn. - - NOT: dw harfleri siz yazdka ekrann son satrnda grlecektir. - Eer yanl bir eyler yazarsanz, yeniden balamak iin <ESC> tuuna basn. - ----> Bu satrda erez cmleye ait olmayan leblebi kelimeler var. - - - 5. Cmle dzelene kadar adm 3 ve 4' tekrar edin, daha sonra Ders 2.2'ye gidin. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.2: DAHA FAZLA SLME KOMUTU - - - ** Satr sonuna kadar silmek iin d$ yazn.** - - 1. Normal kipte olmaktan emin olmak iin <ESC> tuuna basn. - - 2. mleci aadaki iaretlenmi (-->) satra gtrn. - - 3. mleci doru olan satrn sonuna gtrn. (Birinciden SONRA. ) - - 4. Satr sonuna kadar silmek iin d$ yazn. - ( d$ yazarken d'den sonra <ALT> ile beraber $ tuuna basn) - ----> Birileri bu satrn sonunu iki defa yazm. Birileri bu satrn sonunu iki defa yazm. - - 5. Neler olduunu anlamak iin Ders 2.3'e gidin. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.3: KOMUTLAR VE NESNELER - - - d silme komutu iin biim aadaki gibidir: - - [say] d nesne VEYA d [say] nesne - Burada: - say - komutun ka defa altrlaca (istee bal, varsaylan=1). - d - silme komutu - nesne - komutun ne ekilde alaca (aada listlendi). - - Nesnelerin ksa bir listesi. - w - Boluu da iererek, imleten itibaren kelimenin sonuna kadar. - e - Boluu ERMEDEN, imleten itibaren kelimenin sonuna kadar. - $ - imleten satrn sonuna kadar. - -NOT: Serven sevenler iin, Normal kipte iken, komut olmadan sadece nesnenin kendisine basmak - imleci yukardaki listede olduu gibi hareket ettirecektir. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.4: 'KOMUT-NESNE'ye BR STSNA - - - ** Btn bir satr silmek iin dd yazn. ** - - Btn bir satr silme sklndan dolay, Vi tasarmclar bir satr - tamamen silmek iin iki d yazmann daha kolay olacana karar verdiler. - - 1. mleci aadaki tmceciin ikinci satrna gtrn. - 2. Satr silmek iin dd yazn. - 3. imdi de drdnc satra gidin. - 4. ki satr birden silmek iin 2dd (say-komut-nesne'yi hatrlayn) yazn. - - 1) Gller krmzdr, - 2) amur elenceli, - 3) Menekeler mavi, - 4) Bir arabam var, - 5) Saat bana syler, - 6) eker tatldr - 7) Ve sen de ylesin - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.5: GER AL KOMUTU - - - ** Son komutu geri almak iin u , btn bir satr dzeltmek iin U yazn.** - - 1. mleci aadaki iaretlenmi (-->) satrdaki ilk hatann zerine gtrn. - 2. lk istenmeyen karakteri silmek iin x yazn. - 3. imdi son altrlan komutu geri almak iin u yazn. - 4. Bu sefer x komutunu kullanarak satrdaki tm hatalar dzeltin. - 5. imdi satr ilk haline evirmek iin byk U yazn. - 6. imdi U ve daha nceki komutlar geri almak iin birka defa u yazn. - 7. imdi birka defa CTRL-R (CTRL'yi basl tutarken R ye basn) yazarak geri almalar da geri aln. - ----> Buu satrdaki hatalar dzeltinn ve sonra koomutu geri allln. - - 8. Bunlar son derece kullanl komutlardr. imdi Ders 2 zete gein. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 2 ZET - - - 1. mleten itibaren bir kelimeyi silmek iin yazn: dw - - 2. mleten itibaren bir satr silmek iin yazn: d$ - - 3. Btn bir satr silmek iin yazn: dd - - 4. Normal kipte bir komut biimi yledir: - - [say] komut nesne VEYA komut [say] nesne - burada: - say - komutun ka kere tekrar edecei - komut - ne yaplaca, silmek iin d olduu gibi - nesne - komutun nasl davranaca, w (kelime), $ (satr sonu), vb gibi. - - 5. nceki hareketleri geri almak iin yazn: u (kk u) - Bir satrdaki tm deiiklikleri geri almak iin yazn: U (byk u) - Geri almalar geri almak iin yazn: CTRL-R - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.1: KOY KOMUTU - - - ** Son yaptnz silme ilemini imleten sona geri yerletirmek iin p yazn.** - - 1. mleci aadaki tmceciin ilk satrna gtrn. - - 2. Satr silip Vim'in tamponuna yerletirmek iin dd yazn. - - 3. mleci, silinmi satr nereye yerletirmek istiyorsanz, o satrn ZERNE gtrn. - - 4. Normal kipteyken, satr yerletirmek iin p yazn. - - 5. Tm satrlar doru sraya koymak iin 2'den 4'e kadar olan admlar tekrar edin. - - d) Sen de rendin mi? - b) Menekeler mavidir, - c) Akl renilir, - a) Gller krmzdr, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.2: YERLETR KOMUTU - - - ** mlecin altnda bir karakter yerletirmek iin r yazn.** - - 1. mleci aadaki iaretlenmi(--->) ilk satra gtrn. - - 2. mleci satrdaki ilk hatann zerine gtrn. - - 3. Hatay dzeltmek iin nce r ardndan da doru karakteri yazn. - - 4. lk satr dzelene kadar adm 2 ve 3' tekrar edin. - ----> Bu satv yazlvken, bivileri yaml tutara basm. ----> Bu satr yazlrken, birileri yanl tulara basm. - - 5. Ders 3.2'ye gein. - -NOT: Unutmayn, ezberleyerek deil kullanarak renin. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.3: DETR KOMUTU - - - ** Bir kelimenin tamamn veya parasn deitirmek iin cw yazn. - - 1. mleci aadaki iaretlenmi(--->) satra gtrn. - - 2. mleci "sutar" daki u'nun zerine yerletirin. - - 3. nce cw ardndan doru kelimeyi girin (bu durumda 'atr'.) - - 4. <ESC> tuuna basn ve bir sonraki hataya gidin (deimesi gereken ilk karakter.) - - 5. lk cmle ikincisiyle ayn olana kadar adm 3 ve 4' tekrar edin. - ----> Bu sutar deitir komutu ile deineli gereken birka petime ieriyor. ----> Bu satr deitir komutu ile deimesi gereken birka kelime ieriyor. - -cw'nin sadece kelimeyi deitirmediini, ayn zamanda sizi insert kipine gtrdne de dikkat edin. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.4: c'Y KULLANARAK DAHA FAZLA DETRME - - - ** Deitir komutu sil komutu ile ayn nesnelerle kullanlr.** - - 1. Deitir komutu sil ile ayn yolla alr. Biim yledir: - - [say] c nesne VEYA c [say] nesne - - 2. Nesneler de ayn zamanda ayndr. rnein w (word), $ (satr sonu), vb. gibi. - - 3. Aadaki iaretlenmi(--->) ilk satra gidin. - - 4. mleci ilk hataya gtrn. - - 5. Satrn geri kalan ksmn ikincisi gibi yapmak iin c$ yazn ve daha sonra <ESC> tuuna basn. - ----> Bu satrn sonu dzeltilmek iin biraz yardma ihtiya duyuyor. ----> Bu satrn sonu dzeltilmek iin c$ komutu kullanlarak yardma ihtiya duyuyor. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 3 ZET - - - 1. Silinmi olan bir metini geri yerletirmek iin p yazn. Bu silinmi metini - imleten hemen SONRA geri yerletirir (eer bir satr silinmise hemen imleten sonra, alta - yerletirilecektir) - - 2. mlecin altndaki karakteri deitirmek iin nce r ardndan da - asl karakteri yazn. - - 3. Deitir komutu belirlenen nesneyi, imleten nesnenin sonuna kadar deitirme imkan verir. - rnein, bir kelimeyi imleten sonuna kadar deitirmek iin cw , bir satrn tamamn - deitirmek iinse c$ yazn. - - 4. Deitir iin biim yledir: - - [say] c nesne VEYA c [say] nesne - -imdi bir sonraki derse gein. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.1: KONUM VE DOSYA DURUMU - - - ** Dosya ierisindeki konumunuzu ve dosyann durumunu grmek iin CTRL-g yazn. ** - ** Dosya ierisindeki bir satra gitmek iin SHIFT-g yazn. ** - - Not: Admlardan herhangi birini yapmadan nce dersin tamamn okuyun!! - - 1. Ctrl tuunu basl tutun ve g'ye basn. Dosyann sonunda dosya ismini ve bulunduunuz konumu - gsteren bir durum satr grnecektir. Adm 3 iin satr numarasn - unutmayn. - - 2. Dosyann sonuna gitmek iin shift-G 'ye basn. - - 3. Daha nce bulunduunuz satr numarasn yazn ve daha sonra shift-G 'ye basn. - Bu sizi daha nce bulunduunuz ve Ctrl-g 'ye bastnz satra geri gtrecektir. - (Saylar yazlrken ekranda GRNMEYECEKLERDR.) - - 4. Yapabileceinizi dndnzde, adm 1'den 3'e kadar yapn. - - .N: Bu ksm orijinal metinde de biraz eksik anlatlm gibi. Bir satr hakknda bilgi almak iin - Ctrl-g'yi kullann. Herhangi bir satra gitmek iinse, nce satr numarasn yazn ve ardnan - shift-g'ye basn. Satr numaras girmeden baslan shift-g sizi satr sonuna gtrr. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.2: ARAMA KOMUTU - - - ** Bir kelime beini aramak iin / ile beraber kelime beini girin. ** - - 1. Normal kipteyken / karakterini yazn. Komut blm yerine / karakterinin ve - imlecin ekrann sonunda grndne dikkat edin. - - 2. imdi, 'hatttaa' yazp <ENTER> 'a basn. Bu sizin aramak istediiniz kelime. - - 3. Ayn kelime beini tekrar aramak iin, basite n yazn. - Ayn kelime beini zt ynde aramak iin, Shift-N yazn. - - 4. Eer zt yne doru bir arama yapmak istiyorsanz, / komutu yerine - ? komutunu kullann. - ----> "hatttaa" hatay yazmann doru yolu deil; hatttaa bir hata. - -Not: Arama dosyann sonuna ulatnda, tekrar batan balayacaktr. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.3: UYAN PARANTEZ ARAMASI - - - ** Uyan bir ),] veya } bulmak iin % yazn. ** - - 1. mleci iaretli (--->) satrdaki herhangi bir (, [ veya { karakterinin - zerine gtrn. - - 2. imdi % karakterini yazn. - - 3. mle uyan parantez veya ayracn zerine gider. - - 4. Uyan ilk parantezin zerine geri dnmek iin yine % yazn. - ----> Bu ( ierisinde ('ler, ['ler ] ve {'ler } bulunan bir satrdr. )) - -Not: Bu ierisinde uymayan parantezler bulunan bir programn yanln ayklamak iin - son derece yararldr. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.4: HATALARI DZELTMEK N BR YOL - - - ** 'eski' yerine 'yeni' yerletirmek iin :s/eski/yeni/g yazn. ** - - 1. mleci aadaki iaretli (--->) satra gtrn. - - 2. :s/buu/bu yazp <ENTER> 'a basn. Bu komutun sadece satrdaki ilk karlamay - dzelttiine dikkat edin. - - 3. imdi genel olarak satrdaki tm deiiklii yapmak iin :s/buu/bu/g yazn. - ----> Buu birinci, buu ikinci, buu nc blm. - - 4. ki satr arasndaki bir karakter katarnn tmn deitirmek iin, - :#,#s/eski/yeni/g yazn, burada #,# iki satrn saylardr. - Tm dosyadaki karlalan kelimeleri deitirmek iin :%s/eski/yeni/g yazn. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 4 ZET - - - 1. Ctrl-g sizin dosyadaki konumunuzu ve dosya durumunu gsterir. - Shift-G dosyann sonuna gider. Shift-G 'den nce bir say yazlrsa, o satra - gidilir. - - 2. Bir szck beinden nce / yazmak, LER ynde o bei aratr. - Bir szck beinden nce ? yazmak, GER ynde o bei aratr. - Bir aramadan sonra, ayn yndeki bir sonraki karlamay bulmak iin n , - veya zt yndekini bulmak iin Shift-N yazn. - - 3. mle bir (,),[,],{,} parantezi zerindeyken % yazmak, uyan dier e parantezi bulur. - - 4. Bir satrdaki ilk 'eski'yi 'yeni' ile deitirmek iin :s/eski/yeni yazn. - Bir satrdaki tm 'eski'leri 'yeni' ile deitirmek iin :s/eski/yeni/g yazn. - ki satr arasndaki bekleri deitirmek iin :#,#s/eski/yeni/g yazn. - (#'lar satr numaralar) - Bir dosyadaki tm karlamalar deitirmek iin :%s/eski/yeni/g yazn. - Her seferinde onay sormas iin 'c' ekleyin. :%s/eski/yeni/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.1: BIR DI KOMUT ALITIRMAK - - - ** Bir d komutu altrmak iin :! ve ardndan istediiniz d komutu yazn. ** - - 1. mleci ekrann altna gtrmek iin alk olduunuz : komutunu yazn. Bu size - bir komut yazma imkan verir. - - 2. imdi ! (nlem) karakterini yazn. Bu size bir d komut altrma - imkan verir. - - 3. rnek olarak ! karakterini takiben ls yazn ve <ENTER>'a basn. Bu size - o anda bulunduunuz dizindeki dosyalar gsterecektir. Veya ls almazsa :!dir - komutunu kullann. - -Not: Herhangi bir d komutu bu yolla altrmak mmkndr. - -Not: Tm : komutlarndan sonra <ENTER> tuuna baslmaldr. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.2: DOSYA YAZMAYA DEVAM - - - ** Dosyaya yaplan deiiklii kaydetmek iin, :w DOSYASM yazn. ** - - 1. Bulunduunuz dizini listelemek iin :!dir veya :!ls yazn. - Komuttan sonra <ENTER> tuuna bascanz zaten biliyorsunuz. - - 2. Mevcut olmayan bir dosya ismi sein, rnein DENEME. - - 3. imdi :w DENEME yazn (DENEME sizin setiiniz dosya ismi). - - 4. Bu tm dosyay (Vim Tutor) DENEME isminde baka bir dosyaya yazar. - Bunu dorulamak iin, :!dir yazn ve yeniden bulunduunuz dizini listeleyin. - -Not: Eer Vim'den kp kaydettiiniz DENEME dosyasn aarsanz, bunun kaydettiiniz - vimtutor'un gerek bir kopyas olduunu grrsnz. - - 5. imdi dosyay u komutlar vererek silin (MS-DOS) :!del DENEME - (veya UNIX) :!rm DENEME - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.3: SEMEL YAZ KOMUTU - - - ** Dosyann bir blmn kaydetmek iin, :#,# w DOSYASM yazn. ** - - 1. Bir kez daha bulunduunuz dizini grmek iin :!dir veya :!ls yazn, - ardndan DENEME gibi uygun bir dosya ismi sein. - - 2. mleci bu sayfann bana gtrn ve ardndan CTRL-g'ye basarak satr numarasn - renin. BU NUMARAYI UNUTMAYIN! - - 3. imdi sayfann sonuna gidib ve yine CTRL-g'ye basarak satr numarasn - renin. BU NUMARAYI DA UNUTMAYIN! - - 4. Bir dosyaya sadece bir blm kaydetmek iin, :#,# w DENEME yazn. #,# sizin - baktnz saylar (st,alt) ve DENEME dosyanzn ismidir. - - - 5. Yine, :!dir yazarak dosyann orada olduuna bakn ama SLMEYN. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.4: DOSYALARI BRLETRMEK-BLM EKLEMEK - - - ** Bir dosyann ieriini eklemek iin :r DOSYASM yazn. ** - - 1. DENEME dosyanzn nceden bulunduundan emin olmak iin :!dir yazn. - - 2. mleci bu sayfann bana yerletirin. - -NOT: Adm 3' uyguladktan sonra Ders 5.3' gryor olacaksnz. Daha sonra bu - derse sayfasna dnn. - - 3. imdi DENEME sayfasn :r DENEME yazarak aktarn. - -NOT: Aktardnz dosya imlecinizin hemen altna eklenecektir. - - 4. Dosyann eklendiini grmek iin, geriye gidin. Ders 5.3'ten iki kopya - olduunu greceksiniz; asl ve kopya olan. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 5 ZET - - - 1. :!komut bir d komut altrr. - - Baz yararl rnekler: - (MS-DOS) (Unix) - :!dir :!ls - bir dizini listeler. - :!del DOSYA :!rm DOSYA - DOSYA'y siler. - - 2. :w DOSYASM o anki Vim dosyasn diske DOSYASM ile kaydeder. - - 3. :#,#w DOSYASM # ile # satr arasn DOSYASM ile kaydeder. - - 4. :r DOSYASM imlecin altndan balayarak DOSYASM isimli dosyann ieriini ekler. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.1: A KOMUTU - - - ** mlecin aasna bir satr amak ve Insert kipine gemek iin o yazn. ** - - 1. mleci aadaki iaretlenmi (--->) satra gtrn. - - 2. mlecin aasna bir satr amak ve Insert kipine gemek iin - o (kk harfle) yazn. - - 3. imdi iaretlenmi satr kopyalayn ve Insert kipinden kmak iin <ESC> - tuuna basn. - ----> o yazdktan sonra imlec alan satra gidicek ve Insert kipine geilecek. - - 4. mlecin zerinde bir satr amak iin, basite byk O yazn. Bunu aadaki - satrda deneyin. -Bu satrn zerine bir satr amak iin imle bu satrdayken Shift-o yazn. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.2: EKLE KOMUTU - - - ** mleten sonra metin eklemek iin a yazn. ** - - 1. mleci aadaki iaretlenmi (--->) satrn sonuna gtrmek iin - Normal Kipteyken $ yazn. - - 2. mlecin altndaki karakterden sonra metin eklemek iin a (kk harfle) yazn. - (Byk A satrn sonuna ekler). - - 3. imdi ilk satr tamamlayn. Ekle komutunun Insert kipiyle ayn ii yaptna - dikkat edin. Tek fark metinin eklendii yer. -.N: Eer a yazarsanz imlecin altndaki karakterden hemen sonra ekleme yapabilirsiniz. - Eer Shift-a yazarsanz imle satr sonuna gidecek ve hemen ardna ekleme yapabileceksiniz. - Doal olarak bizim rneimizde Shift-A'y kullanmak daha gzel olacaktr. nce $ ardnan a - yazmamza gerek kalmaz. - ----> Bu satrda alabilirsiniz ----> Bu satrda alabilirsiniz. alrken metin eklemeyi kullann. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.3: BR BAKA DETR KOMUTU - - - ** Birden fazla karakter deitirmek iin byk R yazn. ** - - 1. mleci aadaki iaretli (--->) satrlarn ilkine gtrn. - - 2. mleci iaretli olan ikinci satrdakinden farkl olan ilk kelimenin - bana gtrn. ( "tular" kelimesi ) - - 3. imdi byk R yazn ve ilk satr ikincisinin ayns yapmak iin - eski metinin zerinden yenisini yazn. Siz yazdka metin deiecektir. - ----> Bu satr ikincisinin ayns yapmak iin tular kullann. ----> Bu satr ikincisinin ayns yapmak iin R yazn ve metini girin. - - 4. kmak iin <ESC> tuuna bastnzda, deimemi metinin aynen - kaldna dikkat edin. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.4: SET SEENE - - ** Bir seenek ayarlayn , bylece bir arama veya deitirme ** - ** durumu grmezden gelsin. ** - - 1. 'ignore' kelimesini aramak iin: - /ignore - yazn. - Bunu n tuuna basarak birka kez tekrar edin - - 2. :set ic yazarak 'ic' (Ignore case) ayarn sein. - - 3. Tekrar n tuuna basarak 'ignore' kelimseini arayn. - n tuuna basarak bu aramay birden ok defa tekrar edin. - - 4. :set hls is yazarak 'hlsearch' ve 'incsearch' ayarlarn sein. - - 5. /ignore yazarak arama komutunu tekrar verin ve ne olacan grn. - - 6. Karlama vurgularn iptal etmek iin, - :nohlsearch yazn. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 6 ZET - - - 1. o yazmak imlecin altnda bir satr aar ve imleci bu alm satra - Insert kipinde yerletirir. - Byk O yazmak imlecin zerinde bir satr aar. - - 2. mlecin zerindeki karakterden hemen sonra metin eklemek iin a yazn. - Byk A yazmak hemen satr sonuna giderek metin eklemeye hazr hale getirir. - - 3. Byk R yazmak Deitir kipine girer ve kmak iin <ESC> tuuna - baslana kadar sizi bu kipte brakr. - - 4. ":set xxx" yazmak "xxx" seeneini ayarlar. - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 7: EVRM (ON-LINE) YARDIM KOMUTLARI - - - ** evirimii yardm sistemini kullann ** - - Vim geni bir evirimii yardm sistemine sahiptir. Balamak iin u n - deneyebilirsiniz. - - (eer sahipseniz) <HELP> tuuna basn - - (eer sahipseniz) <F1> tuuna basn - - :help yazn ve <ENTER> tuuna basn - - Yardm penceresini kapatmak iin :q yazp <ENTER> tuuna basn. - - ":help" komutuna deiken (argman) vererek herhangi bir konu hakknda - yardm alabilirsini. unlar deneyin (<ENTER> tuuna basmay unutmayn) : - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 8: BR BALANGI BET OLUTURUN - - ** Switch on Vim features ** - ** Vim'in zelliklerine bakn ** - - Vim Vi'dan ok daha fazla zellie sahiptir fakat birou ntanml olarak kapaldr. - Daha fazla zellik kullanabilmek iin bir "vimrc" dosyas oluturmalsnz. - - 1. "vimrc" dosyasn dzenlemeye balayn, bu iletim sisteminize gre deiir: - - .N: (Bu komutu verdiinizde eer yoksa home dizininizde .vimrc isimli bir dosya oluacaktr. - Bu dosyaya vimrc rnek dosyasn aktarmak iin 2. admdaki komutu kullanacaksnz. Bu yzden - vimrc dosyanz dzenlemeden nce aadaki admlarn hepsini okuyun ve komutlar hatrlayn.) - - :edit ~/.vimrc Unix iin - :edit $VIM/_vimrc MS-Windows iin - - 2. imdi rnek "vimrc" dosyasn okuyun - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Dosyay kaydedin ve kn - - :write - :q - - Vim'i bir dahaki sefer altrdnzda szdizim (sytax) vurgusu kullanlacaktr. - Tm tercih ettiiniz ayarlar bu "vimrc" dosyasna ekleyebilirsiniz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Burada Vim Eitmeni tamamlanm oldu. Eitmendeki ama Vim dzenleyicisi hakknda - ksa bir bilgi vermek ve onu kolayca kullanmanz salamakt. Vim'in tamamn retmek - ok zordur zira Vim birok komuta sahiptir.Bundan sonra :help user-manual" komutu ile - kullanc klavuzunu okumalsnz. - - Daha fazla okuma ve alma iin u kitab neriyoruz: - Vim - Vi Improved - by Steve Oualline - Publisher: New Riders - Tamamiyle Vim iin hazrlanm ilk kitap. zellikle ilk kullanclar iin uygun. - Kitapta birok rnek ve resim var. - http://iccf-holland.org/click5.html adresine bakabilirsiniz. - - Bu kitap daha eskidir ve Vim'den daha ok Vi iindir ancak tavsiye edilir: - Learning the Vi Editor - by Linda Lamb - Publisher: O'Reilly & Associates Inc. - Vi hakknda bilmek isteyeceiniz neredeyse hereyin bulunduu bir kitap. - 6.Basm ayn zamanda Vim hakknda bilgi de iermekte. - - Bu eitmen Michael C. Pierce ve Robert K. Ware tarafndan yazld, - Charles Smith tarafndan salanan fikirlerle Colorado School Of Mines, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Vim iin deitiren : Bram Moolenaar. - - Trkeye eviren : Serkan "heartsmagic" al Yl 2005 - E-mail : adresimeyaz (at) yahoo com - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.tr.utf-8 b/runtime/tutor/tutor.tr.utf-8 deleted file mode 100644 index 0e6802d40..000000000 --- a/runtime/tutor/tutor.tr.utf-8 +++ /dev/null @@ -1,813 +0,0 @@ -=============================================================================== -= V I M T u t o r'a Hoş Geldiniz - Sürüm 1.5 = -=============================================================================== - - Vim, bu gibi bir eğitmen ile açıklanması gereken çok fazla komut barındıran, - oldukça kuvvetli bir metin düzenleyicidir. Bu eğitmen Vim'i çok amaçlı bir - düzenleyici olarak kolaylıkla kullanabileceğiniz yeterli sayıda komutu açıklamak - için tasarlanmıştır. - - Eğitmeni tamamlama süresi yapacağınız denemelere bağlı olarak 25-30 - dakikadır. - - Derslerdeki komutlar bu metini değiştirecektir. Üzerinde çalışmak için - bu dosyanın bir kopyasını alın (eğer "vimtutor" uygulamasını çalıştırdıysanız - zaten bir kopyasını almış oldunuz). - - Bu eğitmenin, kullanarak öğretmeye ayarlandığını unutmamak önemlidir. Bu şu - anlama gelir; komutları öğrenmek için doğru bir şekilde çalıştırmanız gerekir. - Eğer sadece yazılanları okursanız komutları unutursunuz. - - Şimdi Shift-Lock tuşlarınızın basılı olmadığına emin olun ve Ders 1.1'in - ekranı tamamen doldurması için j tuşuna yeterli miktarda basın. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.1: İMLECİ HAREKET ETTİRMEK - - Ç.N: Tüm derslerde <ENTER> gördüğünüz yerde bu tuşa basmanız gerekir. - - ** İmleci hareket ettirmek için, h,j,k,l tuşlarına gösterildiği gibi basın. ** - ^ - k İpucu: h tuşu soldadır ve sola hareket eder. - < h l > l tuşu sağdadır ve sağa hareket eder. - j j tuşu aşağı yönlü bir ok gibidir. - v - 1. Yeterli hissedinceye kadar imleci ekranda hareket ettirin. - - 2. Aşağı tuşunu (j) tekrar edene kadar basılı tutun. ----> Şimdi, bir sonraki derse nasıl geçeceğinizi biliyorsunuz. - - 3. Aşağı tuşunu kullanarak, Ders 1.2'ye geçin. - Not: Eğer yazdığınız bir şeyden emin değilseniz, Normal kipe geçmek için <ESC> tuşuna basın. - Daha sonra istediğiniz komutu yeniden yazın. - Not: İmleç tuşları da aynı zamanda işe yararlar ancak hjkl tuşlarını kullanmaya alıştığınızda etrafta daha hızlı - hareket edersiniz. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.2: VIM'E GİRİŞ VE VIM'DEN ÇIKIŞ - - - !! NOT: Aşağıdaki adımları yapmadan önce, bu dersi tamamen okuyun. - - 1. <ESC> tuşuna basın (Normal kipte olmayı garantilemek için). - - 2. Yazın: :q! <ENTER>. - ----> Bu düzenleyicinin yaptığınız değişiklikleri KAYDETMEDEN kapanmasını sağlar. - Eğer yaptıklarınızın kaydedilmesini istiyorsanız şunu yazın: - :wq <ENTER> - - 3. Kabuk istemcisini (shell prompt) gördüğünüzde, sizi bu eğitmene getiren - komutu yazın. Bu: vimtutor <ENTER> komutudur. - Normalde: vim tutor <ENTER> komutu kullanılır. ----> 'vim' vim düzenleyicisine gir anlamına gelir, 'tutor' ise açmak istediğiniz dosyadır. - - 4. Eğer bu adımları ezberlediyseniz ve kendinizden eminseniz, 1'den 3'e kadar olan adımları, - düzenleyiciden çıkmak ve yeniden girmek için uygulayın. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.3: METİN DÜZENLEME - SİLME - - -** Normal kipteyken imlecin altındaki karakteri silmek için x 'e basın.** - - 1. İmleci aşağıda işaretlenmiş (-->) satıra götürün. - - 2. Hataları düzeltmek için, imleci silinmesi gereken karakterin üzerine getirin - - 3. İstenmeyen karakteri silmek için x tuşuna basın. - - 4. Cümle düzelene kadar 2'den 4'e kadar olan adımları tekrar edin. - ----> İinek ayyın üzzerinden attladı. - - 5. Şimdi satır düzeldi, Ders 1.4'e geçin. - -NOT: Bu eğitmende ilerledikçe ezberlemeye çalışmayın, kullanarak öğrenin. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 1.4: METİN DÜZENLEME - EKLEME - - - ** Normal kipteyken metin eklemek için i 'ye basın. ** - - 1. İmleci aşağıdaki işaretlenmiş (-->) ilk satıra götürün. - - 2. İlk satırı ikincisinin aynısı gibi yapmak için, imleci eklenmesi gereken - metinden sonraki ilk karakterin üzerine götürün. - - 3. i 'ye basın ve gerekli eklemeleri yapın. - - 4. Her hata düzeltildiğinde <ESC> tuşuna basarak Normal kipe dönün. - Cümleyi düzeltmek için 2'den 4'e kadar olan adımları tekrar edin. - ----> Bu metinde eksk. ----> Bu metinde birşey eksik. - - 5. Metin ekleme çalışmalarını yeterli görüyorsanız aşağıdaki özete geçin. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 1 ÖZET - - - 1. İmleç hem ok tuşları hem de hjkl tuşları ile hareket ettirilir. - h (sol) j (aşağı) k (yukarı) l (sağ) - - 2. (Konsoldan) Vim'e girmek içn yazın: vim DOSYAİSMİ <ENTER> - - 3. Tüm değişiklikleri göz ardı edip vimden çıkmak için yazın: - <ESC> :q! <ENTER> - veya tüm değişiklikleri kaydetmek için yazın: - <ESC> :wq <ENTER> - - 4. İmlecin altındaki bir karakteri silmek için Normal kipte x yazın. - - 5. İmlecin altında metin eklemek için Normal kipte yazın: - i yazılacak metin <ESC> - -NOT: <ESC> tuşuna basmak sizi Normal kipe götürür ya da istenmeyen tamamlanmamış bir komutu - iptal eder. - -Şimdi Ders 2 ile devam edin. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.1: SİLME KOMUTLARI - - ** Bir kelimeyi silmek için dw yazın.** - - 1. Normal kipte olmakten emin olmak için <ESC> tuşuna basın. - - 2. İmleci aşağıdaki işaretlenmiş (-->) satıra götürün. - - 3. İmleci silinmesi gereken kelimenin başına götürün. - - 4. Kelimeyi silmek için dw yazın. - - NOT: dw harfleri siz yazdıkça ekranın son satırında görülecektir. - Eğer yanlış bir şeyler yazarsanız, yeniden başlamak için <ESC> tuşuna basın. - ----> Bu satırda çerez cümleye ait olmayan leblebi kelimeler var. - - - 5. Cümle düzelene kadar adım 3 ve 4'ü tekrar edin, daha sonra Ders 2.2'ye gidin. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.2: DAHA FAZLA SİLME KOMUTU - - - ** Satırı sonuna kadar silmek için d$ yazın.** - - 1. Normal kipte olmaktan emin olmak için <ESC> tuşuna basın. - - 2. İmleci aşağıdaki işaretlenmiş (-->) satıra götürün. - - 3. İmleci doğru olan satırın sonuna götürün. (Birinciden SONRA. ) - - 4. Satırı sonuna kadar silmek için d$ yazın. - ( d$ yazarken d'den sonra <ALT> ile beraber $ tuşuna basın) - ----> Birileri bu satırın sonunu iki defa yazmış. Birileri bu satırın sonunu iki defa yazmış. - - 5. Neler olduğunu anlamak için Ders 2.3'e gidin. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.3: KOMUTLAR VE NESNELER - - - d silme komutu için biçim aşağıdaki gibidir: - - [sayı] d nesne VEYA d [sayı] nesne - Burada: - sayı - komutun kaç defa çalıştırlacağı (isteğe bağlı, varsayılan=1). - d - silme komutu - nesne - komutun ne şekilde çalışacağı (aşağıda listlendi). - - Nesnelerin kısa bir listesi. - w - Boşluğu da içererek, imleçten itibaren kelimenin sonuna kadar. - e - Boşluğu İÇERMEDEN, imleçten itibaren kelimenin sonuna kadar. - $ - imleçten satırın sonuna kadar. - -NOT: Serüven sevenler için, Normal kipte iken, komut olmadan sadece nesnenin kendisine basmak - imleci yukardaki listede olduğu gibi hareket ettirecektir. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.4: 'KOMUT-NESNE'ye BİR İSTİSNA - - - ** Bütün bir satırı silmek için dd yazın. ** - - Bütün bir satır silme sıklığından dolayı, Vi tasarımcıları bir satırı - tamamen silmek için iki d yazmanın daha kolay olacağına karar verdiler. - - 1. İmleci aşağıdaki tümceciğin ikinci satırına götürün. - 2. Satırı silmek için dd yazın. - 3. Şimdi de dördüncü satıra gidin. - 4. İki satırı birden silmek için 2dd (sayı-komut-nesne'yi hatırlayın) yazın. - - 1) Güller kırmızıdır, - 2) Çamur eğlenceli, - 3) Menekşeler mavi, - 4) Bir arabam var, - 5) Saat bana söyler, - 6) Şeker tatlıdır - 7) Ve sen de öylesin - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 2.5: GERİ AL KOMUTU - - - ** Son komutu geri almak için u , bütün bir satırı düzeltmek için U yazın.** - - 1. İmleci aşağıdaki işaretlenmiş (-->) satırdaki ilk hatanın üzerine götürün. - 2. İlk istenmeyen karakteri silmek için x yazın. - 3. Şimdi son çalıştırılan komutu geri almak için u yazın. - 4. Bu sefer x komutunu kullanarak satırdaki tüm hataları düzeltin. - 5. Şimdi satırı ilk haline çevirmek için büyük U yazın. - 6. Şimdi U ve daha önceki komutları geri almak için birkaç defa u yazın. - 7. Şimdi birkaç defa CTRL-R (CTRL'yi basılı tutarken R ye basın) yazarak geri almaları da geri alın. - ----> Buu satıırdaki hataları düüzeltinn ve sonra koomutu geri alllın. - - 8. Bunlar son derece kullanışlı komutlardır. Şimdi Ders 2 Özete geçin. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 2 ÖZET - - - 1. İmleçten itibaren bir kelimeyi silmek için yazın: dw - - 2. İmleçten itibaren bir satırı silmek için yazın: d$ - - 3. Bütün bir satırı silmek için yazın: dd - - 4. Normal kipte bir komut biçimi şöyledir: - - [sayı] komut nesne VEYA komut [sayı] nesne - burada: - sayı - komutun kaç kere tekrar edeceği - komut - ne yapılacağı, silmek için d olduğu gibi - nesne - komutun nasıl davranacağı, w (kelime), $ (satır sonu), vb gibi. - - 5. Önceki hareketleri geri almak için yazın: u (küçük u) - Bir satırdaki tüm değişiklikleri geri almak için yazın: U (büyük u) - Geri almaları geri almak için yazın: CTRL-R - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.1: KOY KOMUTU - - - ** Son yaptığınız silme işlemini imleçten sona geri yerleştirmek için p yazın.** - - 1. İmleci aşağıdaki tümceciğin ilk satırına götürün. - - 2. Satırı silip Vim'in tamponuna yerleştirmek için dd yazın. - - 3. İmleci, silinmiş satırı nereye yerleştirmek istiyorsanız, o satırın ÜZERİNE götürün. - - 4. Normal kipteyken, satırı yerleştirmek için p yazın. - - 5. Tüm satırları doğru sıraya koymak için 2'den 4'e kadar olan adımları tekrar edin. - - d) Sen de öğrendin mi? - b) Menekşeler mavidir, - c) Akıl öğrenilir, - a) Güller kırmızıdır, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.2: YERLEŞTİR KOMUTU - - - ** İmlecin altında bir karakter yerleştirmek için r yazın.** - - 1. İmleci aşağıdaki işaretlenmiş(--->) ilk satıra götürün. - - 2. İmleci satırdaki ilk hatanın üzerine götürün. - - 3. Hatayı düzeltmek için önce r ardından da doğru karakteri yazın. - - 4. İlk satır düzelene kadar adım 2 ve 3'ü tekrar edin. - ----> Bu satıv yazılıvken, bivileri yamlış tuştara basmış. ----> Bu satır yazılırken, birileri yanlış tuşlara basmış. - - 5. Ders 3.2'ye geçin. - -NOT: Unutmayın, ezberleyerek değil kullanarak öğrenin. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.3: DEĞİŞTİR KOMUTU - - - ** Bir kelimenin tamamını veya parçasını değiştirmek için cw yazın. - - 1. İmleci aşağıdaki işaretlenmiş(--->) satıra götürün. - - 2. İmleci "sutar" daki u'nun üzerine yerleştirin. - - 3. Önce cw ardından doğru kelimeyi girin (bu durumda 'atır'.) - - 4. <ESC> tuşuna basın ve bir sonraki hataya gidin (değişmesi gereken ilk karakter.) - - 5. İlk cümle ikincisiyle aynı olana kadar adım 3 ve 4'ü tekrar edin. - ----> Bu sutar değiştir komutu ile değişneli gereken birkaç petime içeriyor. ----> Bu satır değiştir komutu ile değişmesi gereken birkaç kelime içeriyor. - -cw'nin sadece kelimeyi değiştirmediğini, aynı zamanda sizi insert kipine götürdüğüne de dikkat edin. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 3.4: c'Yİ KULLANARAK DAHA FAZLA DEĞİŞTİRME - - - ** Değiştir komutu sil komutu ile aynı nesnelerle kullanılır.** - - 1. Değiştir komutu sil ile aynı yolla çalışır. Biçim şöyledir: - - [sayı] c nesne VEYA c [sayı] nesne - - 2. Nesneler de aynı zamanda aynıdır. Örneğin w (word), $ (satır sonu), vb. gibi. - - 3. Aşağıdaki işaretlenmiş(--->) ilk satıra gidin. - - 4. İmleci ilk hataya götürün. - - 5. Satırın geri kalan kısmını ikincisi gibi yapmak için c$ yazın ve daha sonra <ESC> tuşuna basın. - ----> Bu satırın sonu düzeltilmek için biraz yardıma ihtiyaç duyuyor. ----> Bu satırın sonu düzeltilmek için c$ komutu kullanılarak yardıma ihtiyaç duyuyor. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 3 ÖZET - - - 1. Silinmiş olan bir metini geri yerleştirmek için p yazın. Bu silinmiş metini - imleçten hemen SONRA geri yerleştirir (eğer bir satır silinmişse hemen imleçten sonra, alta - yerleştirilecektir) - - 2. İmlecin altındaki karakteri değiştirmek için önce r ardından da - asıl karakteri yazın. - - 3. Değiştir komutu belirlenen nesneyi, imleçten nesnenin sonuna kadar değiştirme imkanı verir. - Örneğin, bir kelimeyi imleçten sonuna kadar değiştirmek için cw , bir satırın tamamını - değiştirmek içinse c$ yazın. - - 4. Değiştir için biçim şöyledir: - - [sayı] c nesne VEYA c [sayı] nesne - -Şimdi bir sonraki derse geçin. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.1: KONUM VE DOSYA DURUMU - - - ** Dosya içerisindeki konumunuzu ve dosyanın durumunu görmek için CTRL-g yazın. ** - ** Dosya içerisindeki bir satıra gitmek için SHIFT-g yazın. ** - - Not: Adımlardan herhangi birini yapmadan önce dersin tamamını okuyun!! - - 1. Ctrl tuşunu basılı tutun ve g'ye basın. Dosyanın sonunda dosya ismini ve bulunduğunuz konumu - gösteren bir durum satırı görünecektir. Adım 3 için satır numarasını - unutmayın. - - 2. Dosyanın sonuna gitmek için shift-G 'ye basın. - - 3. Daha önce bulunduğunuz satır numarasını yazın ve daha sonra shift-G 'ye basın. - Bu sizi daha önce bulunduğunuz ve Ctrl-g 'ye bastığınız satıra geri götürecektir. - (Sayılar yazılırken ekranda GÖRÜNMEYECEKLERDİR.) - - 4. Yapabileceğinizi düşündüğünüzde, adım 1'den 3'e kadar yapın. - - Ç.N: Bu kısım orijinal metinde de biraz eksik anlatılmış gibi. Bir satır hakkında bilgi almak için - Ctrl-g'yi kullanın. Herhangi bir satıra gitmek içinse, önce satır numarasını yazın ve ardınan - shift-g'ye basın. Satır numarası girmeden basılan shift-g sizi satır sonuna götürür. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.2: ARAMA KOMUTU - - - ** Bir kelime öbeğini aramak için / ile beraber kelime öbeğini girin. ** - - 1. Normal kipteyken / karakterini yazın. Komut bölümü yerine / karakterinin ve - imlecin ekranın sonunda göründüğüne dikkat edin. - - 2. Şimdi, 'hatttaa' yazıp <ENTER> 'a basın. Bu sizin aramak istediğiniz kelime. - - 3. Aynı kelime öbeğini tekrar aramak için, basitçe n yazın. - Aynı kelime öbeğini zıt yönde aramak için, Shift-N yazın. - - 4. Eğer zıt yöne doğru bir arama yapmak istiyorsanız, / komutu yerine - ? komutunu kullanın. - ----> "hatttaa" hatayı yazmanın doğru yolu değil; hatttaa bir hata. - -Not: Arama dosyanın sonuna ulaştığında, tekrar baştan başlayacaktır. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.3: UYAN PARANTEZ ARAMASI - - - ** Uyan bir ),] veya } bulmak için % yazın. ** - - 1. İmleci işaretli (--->) satırdaki herhangi bir (, [ veya { karakterinin - üzerine götürün. - - 2. Şimdi % karakterini yazın. - - 3. İmleç uyan parantez veya ayracın üzerine gider. - - 4. Uyan ilk parantezin üzerine geri dönmek için yine % yazın. - ----> Bu ( içerisinde ('ler, ['ler ] ve {'ler } bulunan bir satırdır. )) - -Not: Bu içerisinde uymayan parantezler bulunan bir programın yanlışını ayıklamak için - son derece yararlıdır. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 4.4: HATALARI DÜZELTMEK İÇİN BİR YOL - - - ** 'eski' yerine 'yeni' yerleştirmek için :s/eski/yeni/g yazın. ** - - 1. İmleci aşağıdaki işaretli (--->) satıra götürün. - - 2. :s/buu/bu yazıp <ENTER> 'a basın. Bu komutun sadece satırdaki ilk karşılaşmayı - düzelttiğine dikkat edin. - - 3. Şimdi genel olarak satırdaki tüm değişikliği yapmak için :s/buu/bu/g yazın. - ----> Buu birinci, buu ikinci, buu üçüncü bölüm. - - 4. İki satır arasındaki bir karakter katarının tümünü değiştirmek için, - :#,#s/eski/yeni/g yazın, burada #,# iki satırın sayılarıdır. - Tüm dosyadaki karşılaşılan kelimeleri değiştirmek için :%s/eski/yeni/g yazın. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 4 ÖZET - - - 1. Ctrl-g sizin dosyadaki konumunuzu ve dosya durumunu gösterir. - Shift-G dosyanın sonuna gider. Shift-G 'den önce bir sayı yazılırsa, o satıra - gidilir. - - 2. Bir sözcük öbeğinden önce / yazmak, İLERİ yönde o öbeği aratır. - Bir sözcük öbeğinden önce ? yazmak, GERİ yönde o öbeği aratır. - Bir aramadan sonra, aynı yöndeki bir sonraki karşılaşmayı bulmak için n , - veya zıt yöndekini bulmak için Shift-N yazın. - - 3. İmleç bir (,),[,],{,} parantezi üzerindeyken % yazmak, uyan diğer eş parantezi bulur. - - 4. Bir satırdaki ilk 'eski'yi 'yeni' ile değiştirmek için :s/eski/yeni yazın. - Bir satırdaki tüm 'eski'leri 'yeni' ile değiştirmek için :s/eski/yeni/g yazın. - İki satır arasındaki öbekleri değiştirmek için :#,#s/eski/yeni/g yazın. - (#'lar satır numaraları) - Bir dosyadaki tüm karşılaşmaları değiştirmek için :%s/eski/yeni/g yazın. - Her seferinde onay sorması için 'c' ekleyin. :%s/eski/yeni/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.1: BIR DIŞ KOMUT ÇALIŞTIRMAK - - - ** Bir dış komutu çalıştırmak için :! ve ardından istediğiniz dış komutu yazın. ** - - 1. İmleci ekranın altına götürmek için alışık olduğunuz : komutunu yazın. Bu size - bir komut yazma imkanı verir. - - 2. Şimdi ! (ünlem) karakterini yazın. Bu size bir dış komut çalıştırma - imkanı verir. - - 3. Örnek olarak ! karakterini takiben ls yazın ve <ENTER>'a basın. Bu size - o anda bulunduğunuz dizindeki dosyaları gösterecektir. Veya ls çalışmazsa :!dir - komutunu kullanın. - -Not: Herhangi bir dış komutu bu yolla çalıştırmak mümkündür. - -Not: Tüm : komutlarından sonra <ENTER> tuşuna basılmalıdır. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.2: DOSYA YAZMAYA DEVAM - - - ** Dosyaya yapılan değişikliği kaydetmek için, :w DOSYAİSMİ yazın. ** - - 1. Bulunduğunuz dizini listelemek için :!dir veya :!ls yazın. - Komuttan sonra <ENTER> tuşuna basıcağınızı zaten biliyorsunuz. - - 2. Mevcut olmayan bir dosya ismi seçin, örneğin DENEME. - - 3. Şimdi :w DENEME yazın (DENEME sizin seçtiğiniz dosya ismi). - - 4. Bu tüm dosyayı (Vim Tutor) DENEME isminde başka bir dosyaya yazar. - Bunu doğrulamak için, :!dir yazın ve yeniden bulunduğunuz dizini listeleyin. - -Not: Eğer Vim'den çıkıp kaydettiğiniz DENEME dosyasını açarsanız, bunun kaydettiğiniz - vimtutor'un gerçek bir kopyası olduğunu görürsünüz. - - 5. Şimdi dosyayı şu komutları vererek silin (MS-DOS) :!del DENEME - (veya UNIX) :!rm DENEME - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.3: SEÇMELİ YAZ KOMUTU - - - ** Dosyanın bir bölümünü kaydetmek için, :#,# w DOSYAİSMİ yazın. ** - - 1. Bir kez daha bulunduğunuz dizini görmek için :!dir veya :!ls yazın, - ardından DENEME gibi uygun bir dosya ismi seçin. - - 2. İmleci bu sayfanın başına götürün ve ardından CTRL-g'ye basarak satır numarasını - öğrenin. BU NUMARAYI UNUTMAYIN! - - 3. Şimdi sayfanın sonuna gidib ve yine CTRL-g'ye basarak satır numarasını - öğrenin. BU NUMARAYI DA UNUTMAYIN! - - 4. Bir dosyaya sadece bir bölümü kaydetmek için, :#,# w DENEME yazın. #,# sizin - baktığınız sayılar (üst,alt) ve DENEME dosyanızın ismidir. - - - 5. Yine, :!dir yazarak dosyanın orada olduğuna bakın ama SİLMEYİN. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 5.4: DOSYALARI BİRLEŞTİRMEK-BÖLÜM EKLEMEK - - - ** Bir dosyanın içeriğini eklemek için :r DOSYAİSMİ yazın. ** - - 1. DENEME dosyanızın önceden bulunduğundan emin olmak için :!dir yazın. - - 2. İmleci bu sayfanın başına yerleştirin. - -NOT: Adım 3'ü uyguladıktan sonra Ders 5.3'ü görüyor olacaksınız. Daha sonra bu - derse sayfasına dönün. - - 3. Şimdi DENEME sayfasını :r DENEME yazarak aktarın. - -NOT: Aktardığınız dosya imlecinizin hemen altına eklenecektir. - - 4. Dosyanın eklendiğini görmek için, geriye gidin. Ders 5.3'ten iki kopya - olduğunu göreceksiniz; asıl ve kopya olanı. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 5 ÖZET - - - 1. :!komut bir dış komut çalıştırır. - - Bazı yararlı örnekler: - (MS-DOS) (Unix) - :!dir :!ls - bir dizini listeler. - :!del DOSYA :!rm DOSYA - DOSYA'yı siler. - - 2. :w DOSYAİSMİ o anki Vim dosyasını diske DOSYAİSMİ ile kaydeder. - - 3. :#,#w DOSYAİSMİ # ile # satır arasını DOSYAİSMİ ile kaydeder. - - 4. :r DOSYAİSMİ imlecin altından başlayarak DOSYAİSMİ isimli dosyanın içeriğini ekler. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.1: AÇ KOMUTU - - - ** İmlecin aşağısına bir satır açmak ve Insert kipine geçmek için o yazın. ** - - 1. İmleci aşağıdaki işaretlenmiş (--->) satıra götürün. - - 2. İmlecin aşağısına bir satır açmak ve Insert kipine geçmek için - o (küçük harfle) yazın. - - 3. Şimdi işaretlenmiş satırı kopyalayın ve Insert kipinden çıkmak için <ESC> - tuşuna basın. - ----> o yazdıktan sonra imlec açılan satıra gidicek ve Insert kipine geçilecek. - - 4. İmlecin üzerinde bir satır açmak için, basitçe büyük O yazın. Bunu aşağıdaki - satırda deneyin. -Bu satırın üzerine bir satır açmak için imleç bu satırdayken Shift-o yazın. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.2: EKLE KOMUTU - - - ** İmleçten sonra metin eklemek için a yazın. ** - - 1. İmleci aşağıdaki işaretlenmiş (--->) satırın sonuna götürmek için - Normal Kipteyken $ yazın. - - 2. İmlecin altındaki karakterden sonra metin eklemek için a (küçük harfle) yazın. - (Büyük A satırın sonuna ekler). - - 3. Şimdi ilk satırı tamamlayın. Ekle komutunun Insert kipiyle aynı işi yaptığına - dikkat edin. Tek fark metinin eklendiği yer. -Ç.N: Eğer a yazarsanız imlecin altındaki karakterden hemen sonra ekleme yapabilirsiniz. - Eğer Shift-a yazarsanız imleç satır sonuna gidecek ve hemen ardına ekleme yapabileceksiniz. - Doğal olarak bizim örneğimizde Shift-A'yı kullanmak daha güzel olacaktır. Önce $ ardınan a - yazmamıza gerek kalmaz. - ----> Bu satırda çalışabilirsiniz ----> Bu satırda çalışabilirsiniz. Çalışırken metin eklemeyi kullanın. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.3: BİR BAŞKA DEĞİŞTİR KOMUTU - - - ** Birden fazla karakter değiştirmek için büyük R yazın. ** - - 1. İmleci aşağıdaki işaretli (--->) satırların ilkine götürün. - - 2. İmleci işaretli olan ikinci satırdakinden farklı olan ilk kelimenin - başına götürün. ( "tuşları" kelimesi ) - - 3. Şimdi büyük R yazın ve ilk satırı ikincisinin aynısı yapmak için - eski metinin üzerinden yenisini yazın. Siz yazdıkça metin değişecektir. - ----> Bu satırı ikincisinin aynısı yapmak için tuşları kullanın. ----> Bu satırı ikincisinin aynısı yapmak için R yazın ve metini girin. - - 4. Çıkmak için <ESC> tuşuna bastığınızda, değişmemiş metinin aynen - kaldığına dikkat edin. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 6.4: SET SEÇENEĞİ - - ** Bir seçenek ayarlayın , böylece bir arama veya değiştirme ** - ** durumu görmezden gelsin. ** - - 1. 'ignore' kelimesini aramak için: - /ignore - yazın. - Bunu n tuşuna basarak birkaç kez tekrar edin - - 2. :set ic yazarak 'ic' (Ignore case) ayarını seçin. - - 3. Tekrar n tuşuna basarak 'ignore' kelimseini arayın. - n tuşuna basarak bu aramayı birden çok defa tekrar edin. - - 4. :set hls is yazarak 'hlsearch' ve 'incsearch' ayarlarını seçin. - - 5. /ignore yazarak arama komutunu tekrar verin ve ne olacağını görün. - - 6. Karşılaşma vurgularını iptal etmek için, - :nohlsearch yazın. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - DERS 6 ÖZET - - - 1. o yazmak imlecin altında bir satır açar ve imleci bu açılmış satıra - Insert kipinde yerleştirir. - Büyük O yazmak imlecin üzerinde bir satır açar. - - 2. İmlecin üzerindeki karakterden hemen sonra metin eklemek için a yazın. - Büyük A yazmak hemen satır sonuna giderek metin eklemeye hazır hale getirir. - - 3. Büyük R yazmak Değiştir kipine girer ve çıkmak için <ESC> tuşuna - basılana kadar sizi bu kipte bırakır. - - 4. ":set xxx" yazmak "xxx" seçeneğini ayarlar. - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 7: ÇEVİRİMİÇİ (ON-LINE) YARDIM KOMUTLARI - - - ** Çevirimiçi yardım sistemini kullanın ** - - Vim geniş bir çevirimiçi yardım sistemine sahiptir. Başlamak için şu üçünü - deneyebilirsiniz. - - (eğer sahipseniz) <HELP> tuşuna basın - - (eğer sahipseniz) <F1> tuşuna basın - - :help yazın ve <ENTER> tuşuna basın - - Yardım penceresini kapatmak için :q yazıp <ENTER> tuşuna basın. - - ":help" komutuna değişken (argüman) vererek herhangi bir konu hakkında - yardım alabilirsini. Şunları deneyin (<ENTER> tuşuna basmayı unutmayın) : - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ders 8: BİR BAŞLANGIÇ BETİĞİ OLUŞTURUN - - ** Switch on Vim features ** - ** Vim'in özelliklerine bakın ** - - Vim Vi'dan çok daha fazla özelliğe sahiptir fakat birçoğu öntanımlı olarak kapalıdır. - Daha fazla özellik kullanabilmek için bir "vimrc" dosyası oluşturmalısınız. - - 1. "vimrc" dosyasını düzenlemeye başlayın, bu işletim sisteminize göre değişir: - - Ç.N: (Bu komutu verdiğinizde eğer yoksa home dizininizde .vimrc isimli bir dosya oluşacaktır. - Bu dosyaya vimrc örnek dosyasını aktarmak için 2. adımdaki komutu kullanacaksınız. Bu yüzden - vimrc dosyanızı düzenlemeden önce aşağıdaki adımların hepsini okuyun ve komutları hatırlayın.) - - :edit ~/.vimrc Unix için - :edit $VIM/_vimrc MS-Windows için - - 2. Şimdi örnek "vimrc" dosyasını okuyun - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Dosyayı kaydedin ve çıkın - - :write - :q - - Vim'i bir dahaki sefer çalıştırdığınızda sözdizim (sytax) vurgusu kullanılacaktır. - Tüm tercih ettiğiniz ayarları bu "vimrc" dosyasına ekleyebilirsiniz. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Burada Vim Eğitmeni tamamlanmış oldu. Eğitmendeki amaç Vim düzenleyicisi hakkında - kısa bir bilgi vermek ve onu kolayca kullanmanızı sağlamaktı. Vim'in tamamını öğretmek - çok zordur zira Vim birçok komuta sahiptir.Bundan sonra :help user-manual" komutu ile - kullanıcı kılavuzunu okumalısınız. - - Daha fazla okuma ve çalışma için şu kitabı öneriyoruz: - Vim - Vi Improved - by Steve Oualline - Publisher: New Riders - Tamamiyle Vim için hazırlanmış ilk kitap. Özellikle ilk kullanıcılar için uygun. - Kitapta birçok örnek ve resim var. - http://iccf-holland.org/click5.html adresine bakabilirsiniz. - - Bu kitap daha eskidir ve Vim'den daha çok Vi içindir ancak tavsiye edilir: - Learning the Vi Editor - by Linda Lamb - Publisher: O'Reilly & Associates Inc. - Vi hakkında bilmek isteyeceğiniz neredeyse herşeyin bulunduğu bir kitap. - 6.Basım aynı zamanda Vim hakkında bilgi de içermekte. - - Bu eğitmen Michael C. Pierce ve Robert K. Ware tarafından yazıldı, - Charles Smith tarafından sağlanan fikirlerle Colorado School Of Mines, - Colorado State University. E-mail: bware@mines.colorado.edu. - - Vim için değiştiren : Bram Moolenaar. - - Türkçeye çeviren : Serkan "heartsmagic" Çalış Yıl 2005 - E-mail : adresimeyaz (at) yahoo com - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.utf-8 b/runtime/tutor/tutor.utf-8 new file mode 100644 index 000000000..31ba71072 --- /dev/null +++ b/runtime/tutor/tutor.utf-8 @@ -0,0 +1,970 @@ +=============================================================================== += W e l c o m e t o t h e V I M T u t o r - Version 1.7 = +=============================================================================== + + Vim is a very powerful editor that has many commands, too many to + explain in a tutor such as this. This tutor is designed to describe + enough of the commands that you will be able to easily use Vim as + an all-purpose editor. + + The approximate time required to complete the tutor is 25-30 minutes, + depending upon how much time is spent with experimentation. + + ATTENTION: + The commands in the lessons will modify the text. Make a copy of this + file to practise on (if you started "vimtutor" this is already a copy). + + It is important to remember that this tutor is set up to teach by + use. That means that you need to execute the commands to learn them + properly. If you only read the text, you will forget the commands! + + Now, make sure that your Shift-Lock key is NOT depressed and press + the j key enough times to move the cursor so that Lesson 1.1 + completely fills the screen. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1.1: MOVING THE CURSOR + + + ** To move the cursor, press the h,j,k,l keys as indicated. ** + ^ + k Hint: The h key is at the left and moves left. + < h l > The l key is at the right and moves right. + j The j key looks like a down arrow. + v + 1. Move the cursor around the screen until you are comfortable. + + 2. Hold down the down key (j) until it repeats. + Now you know how to move to the next lesson. + + 3. Using the down key, move to Lesson 1.2. + +NOTE: If you are ever unsure about something you typed, press <ESC> to place + you in Normal mode. Then retype the command you wanted. + +NOTE: The cursor keys should also work. But using hjkl you will be able to + move around much faster, once you get used to it. Really! + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1.2: EXITING VIM + + + !! NOTE: Before executing any of the steps below, read this entire lesson!! + + 1. Press the <ESC> key (to make sure you are in Normal mode). + + 2. Type: :q! <ENTER>. + This exits the editor, DISCARDING any changes you have made. + + 3. When you see the shell prompt, type the command that got you into this + tutor. That would be: vimtutor <ENTER> + + 4. If you have these steps memorized and are confident, execute steps + 1 through 3 to exit and re-enter the editor. + +NOTE: :q! <ENTER> discards any changes you made. In a few lessons you + will learn how to save the changes to a file. + + 5. Move the cursor down to Lesson 1.3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1.3: TEXT EDITING - DELETION + + + ** Press x to delete the character under the cursor. ** + + 1. Move the cursor to the line below marked --->. + + 2. To fix the errors, move the cursor until it is on top of the + character to be deleted. + + 3. Press the x key to delete the unwanted character. + + 4. Repeat steps 2 through 4 until the sentence is correct. + +---> The ccow jumpedd ovverr thhe mooon. + + 5. Now that the line is correct, go on to Lesson 1.4. + +NOTE: As you go through this tutor, do not try to memorize, learn by usage. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1.4: TEXT EDITING - INSERTION + + + ** Press i to insert text. ** + + 1. Move the cursor to the first line below marked --->. + + 2. To make the first line the same as the second, move the cursor on top + of the first character AFTER where the text is to be inserted. + + 3. Press i and type in the necessary additions. + + 4. As each error is fixed press <ESC> to return to Normal mode. + Repeat steps 2 through 4 to correct the sentence. + +---> There is text misng this . +---> There is some text missing from this line. + + 5. When you are comfortable inserting text move to lesson 1.5. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1.5: TEXT EDITING - APPENDING + + + ** Press A to append text. ** + + 1. Move the cursor to the first line below marked --->. + It does not matter on what character the cursor is in that line. + + 2. Press A and type in the necessary additions. + + 3. As the text has been appended press <ESC> to return to Normal mode. + + 4. Move the cursor to the second line marked ---> and repeat + steps 2 and 3 to correct this sentence. + +---> There is some text missing from th + There is some text missing from this line. +---> There is also some text miss + There is also some text missing here. + + 5. When you are comfortable appending text move to lesson 1.6. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1.6: EDITING A FILE + + ** Use :wq to save a file and exit. ** + + !! NOTE: Before executing any of the steps below, read this entire lesson!! + + 1. Exit this tutor as you did in lesson 1.2: :q! + Or, if you have access to another terminal, do the following there. + + 2. At the shell prompt type this command: vim tutor <ENTER> + 'vim' is the command to start the Vim editor, 'tutor' is the name of the + file you wish to edit. Use a file that may be changed. + + 3. Insert and delete text as you learned in the previous lessons. + + 4. Save the file with changes and exit Vim with: :wq <ENTER> + + 5. If you have quit vimtutor in step 1 restart the vimtutor and move down to + the following summary. + + 6. After reading the above steps and understanding them: do it. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 1 SUMMARY + + + 1. The cursor is moved using either the arrow keys or the hjkl keys. + h (left) j (down) k (up) l (right) + + 2. To start Vim from the shell prompt type: vim FILENAME <ENTER> + + 3. To exit Vim type: <ESC> :q! <ENTER> to trash all changes. + OR type: <ESC> :wq <ENTER> to save the changes. + + 4. To delete the character at the cursor type: x + + 5. To insert or append text type: + i type inserted text <ESC> insert before the cursor + A type appended text <ESC> append after the line + +NOTE: Pressing <ESC> will place you in Normal mode or will cancel + an unwanted and partially completed command. + +Now continue with Lesson 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.1: DELETION COMMANDS + + + ** Type dw to delete a word. ** + + 1. Press <ESC> to make sure you are in Normal mode. + + 2. Move the cursor to the line below marked --->. + + 3. Move the cursor to the beginning of a word that needs to be deleted. + + 4. Type dw to make the word disappear. + + NOTE: The letter d will appear on the last line of the screen as you type + it. Vim is waiting for you to type w . If you see another character + than d you typed something wrong; press <ESC> and start over. + +---> There are a some words fun that don't belong paper in this sentence. + + 5. Repeat steps 3 and 4 until the sentence is correct and go to Lesson 2.2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.2: MORE DELETION COMMANDS + + + ** Type d$ to delete to the end of the line. ** + + 1. Press <ESC> to make sure you are in Normal mode. + + 2. Move the cursor to the line below marked --->. + + 3. Move the cursor to the end of the correct line (AFTER the first . ). + + 4. Type d$ to delete to the end of the line. + +---> Somebody typed the end of this line twice. end of this line twice. + + + 5. Move on to Lesson 2.3 to understand what is happening. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.3: ON OPERATORS AND MOTIONS + + + Many commands that change text are made from an operator and a motion. + The format for a delete command with the d delete operator is as follows: + + d motion + + Where: + d - is the delete operator. + motion - is what the operator will operate on (listed below). + + A short list of motions: + w - until the start of the next word, EXCLUDING its first character. + e - to the end of the current word, INCLUDING the last character. + $ - to the end of the line, INCLUDING the last character. + + Thus typing de will delete from the cursor to the end of the word. + +NOTE: Pressing just the motion while in Normal mode without an operator will + move the cursor as specified. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.4: USING A COUNT FOR A MOTION + + + ** Typing a number before a motion repeats it that many times. ** + + 1. Move the cursor to the start of the line marked ---> below. + + 2. Type 2w to move the cursor two words forward. + + 3. Type 3e to move the cursor to the end of the third word forward. + + 4. Type 0 (zero) to move to the start of the line. + + 5. Repeat steps 2 and 3 with different numbers. + +---> This is just a line with words you can move around in. + + 6. Move on to Lesson 2.5. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.5: USING A COUNT TO DELETE MORE + + + ** Typing a number with an operator repeats it that many times. ** + + In the combination of the delete operator and a motion mentioned above you + insert a count before the motion to delete more: + d number motion + + 1. Move the cursor to the first UPPER CASE word in the line marked --->. + + 2. Type d2w to delete the two UPPER CASE words + + 3. Repeat steps 1 and 2 with a different count to delete the consecutive + UPPER CASE words with one command + +---> this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.6: OPERATING ON LINES + + + ** Type dd to delete a whole line. ** + + Due to the frequency of whole line deletion, the designers of Vi decided + it would be easier to simply type two d's to delete a line. + + 1. Move the cursor to the second line in the phrase below. + 2. Type dd to delete the line. + 3. Now move to the fourth line. + 4. Type 2dd to delete two lines. + +---> 1) Roses are red, +---> 2) Mud is fun, +---> 3) Violets are blue, +---> 4) I have a car, +---> 5) Clocks tell time, +---> 6) Sugar is sweet +---> 7) And so are you. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2.7: THE UNDO COMMAND + + + ** Press u to undo the last commands, U to fix a whole line. ** + + 1. Move the cursor to the line below marked ---> and place it on the + first error. + 2. Type x to delete the first unwanted character. + 3. Now type u to undo the last command executed. + 4. This time fix all the errors on the line using the x command. + 5. Now type a capital U to return the line to its original state. + 6. Now type u a few times to undo the U and preceding commands. + 7. Now type CTRL-R (keeping CTRL key pressed while hitting R) a few times + to redo the commands (undo the undo's). + +---> Fiix the errors oon thhis line and reeplace them witth undo. + + 8. These are very useful commands. Now move on to the Lesson 2 Summary. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 2 SUMMARY + + + 1. To delete from the cursor up to the next word type: dw + 2. To delete from the cursor to the end of a line type: d$ + 3. To delete a whole line type: dd + + 4. To repeat a motion prepend it with a number: 2w + 5. The format for a change command is: + operator [number] motion + where: + operator - is what to do, such as d for delete + [number] - is an optional count to repeat the motion + motion - moves over the text to operate on, such as w (word), + $ (to the end of line), etc. + + 6. To move to the start of the line use a zero: 0 + + 7. To undo previous actions, type: u (lowercase u) + To undo all the changes on a line, type: U (capital U) + To undo the undo's, type: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 3.1: THE PUT COMMAND + + + ** Type p to put previously deleted text after the cursor. ** + + 1. Move the cursor to the first ---> line below. + + 2. Type dd to delete the line and store it in a Vim register. + + 3. Move the cursor to the c) line, ABOVE where the deleted line should go. + + 4. Type p to put the line below the cursor. + + 5. Repeat steps 2 through 4 to put all the lines in correct order. + +---> d) Can you learn too? +---> b) Violets are blue, +---> c) Intelligence is learned, +---> a) Roses are red, + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 3.2: THE REPLACE COMMAND + + + ** Type rx to replace the character at the cursor with x . ** + + 1. Move the cursor to the first line below marked --->. + + 2. Move the cursor so that it is on top of the first error. + + 3. Type r and then the character which should be there. + + 4. Repeat steps 2 and 3 until the first line is equal to the second one. + +---> Whan this lime was tuoed in, someone presswd some wrojg keys! +---> When this line was typed in, someone pressed some wrong keys! + + 5. Now move on to Lesson 3.3. + +NOTE: Remember that you should be learning by doing, not memorization. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 3.3: THE CHANGE OPERATOR + + + ** To change until the end of a word, type ce . ** + + 1. Move the cursor to the first line below marked --->. + + 2. Place the cursor on the u in lubw. + + 3. Type ce and the correct word (in this case, type ine ). + + 4. Press <ESC> and move to the next character that needs to be changed. + + 5. Repeat steps 3 and 4 until the first sentence is the same as the second. + +---> This lubw has a few wptfd that mrrf changing usf the change operator. +---> This line has a few words that need changing using the change operator. + +Notice that ce deletes the word and places you in Insert mode. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 3.4: MORE CHANGES USING c + + + ** The change operator is used with the same motions as delete. ** + + 1. The change operator works in the same way as delete. The format is: + + c [number] motion + + 2. The motions are the same, such as w (word) and $ (end of line). + + 3. Move to the first line below marked --->. + + 4. Move the cursor to the first error. + + 5. Type c$ and type the rest of the line like the second and press <ESC>. + +---> The end of this line needs some help to make it like the second. +---> The end of this line needs to be corrected using the c$ command. + +NOTE: You can use the Backspace key to correct mistakes while typing. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 3 SUMMARY + + + 1. To put back text that has just been deleted, type p . This puts the + deleted text AFTER the cursor (if a line was deleted it will go on the + line below the cursor). + + 2. To replace the character under the cursor, type r and then the + character you want to have there. + + 3. The change operator allows you to change from the cursor to where the + motion takes you. eg. Type ce to change from the cursor to the end of + the word, c$ to change to the end of a line. + + 4. The format for change is: + + c [number] motion + +Now go on to the next lesson. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 4.1: CURSOR LOCATION AND FILE STATUS + + ** Type CTRL-G to show your location in the file and the file status. + Type G to move to a line in the file. ** + + NOTE: Read this entire lesson before executing any of the steps!! + + 1. Hold down the Ctrl key and press g . We call this CTRL-G. + A message will appear at the bottom of the page with the filename and the + position in the file. Remember the line number for Step 3. + +NOTE: You may see the cursor position in the lower right corner of the screen + This happens when the 'ruler' option is set (see :help 'ruler' ) + + 2. Press G to move you to the bottom of the file. + Type gg to move you to the start of the file. + + 3. Type the number of the line you were on and then G . This will + return you to the line you were on when you first pressed CTRL-G. + + 4. If you feel confident to do this, execute steps 1 through 3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 4.2: THE SEARCH COMMAND + + + ** Type / followed by a phrase to search for the phrase. ** + + 1. In Normal mode type the / character. Notice that it and the cursor + appear at the bottom of the screen as with the : command. + + 2. Now type 'errroor' <ENTER>. This is the word you want to search for. + + 3. To search for the same phrase again, simply type n . + To search for the same phrase in the opposite direction, type N . + + 4. To search for a phrase in the backward direction, use ? instead of / . + + 5. To go back to where you came from press CTRL-O (Keep Ctrl down while + pressing the letter o). Repeat to go back further. CTRL-I goes forward. + +---> "errroor" is not the way to spell error; errroor is an error. +NOTE: When the search reaches the end of the file it will continue at the + start, unless the 'wrapscan' option has been reset. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 4.3: MATCHING PARENTHESES SEARCH + + + ** Type % to find a matching ),], or } . ** + + 1. Place the cursor on any (, [, or { in the line below marked --->. + + 2. Now type the % character. + + 3. The cursor will move to the matching parenthesis or bracket. + + 4. Type % to move the cursor to the other matching bracket. + + 5. Move the cursor to another (,),[,],{ or } and see what % does. + +---> This ( is a test line with ('s, ['s ] and {'s } in it. )) + + +NOTE: This is very useful in debugging a program with unmatched parentheses! + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 4.4: THE SUBSTITUTE COMMAND + + + ** Type :s/old/new/g to substitute 'new' for 'old'. ** + + 1. Move the cursor to the line below marked --->. + + 2. Type :s/thee/the <ENTER> . Note that this command only changes the + first occurrence of "thee" in the line. + + 3. Now type :s/thee/the/g . Adding the g flag means to substitute + globally in the line, change all occurrences of "thee" in the line. + +---> thee best time to see thee flowers is in thee spring. + + 4. To change every occurrence of a character string between two lines, + type :#,#s/old/new/g where #,# are the line numbers of the range + of lines where the substitution is to be done. + Type :%s/old/new/g to change every occurrence in the whole file. + Type :%s/old/new/gc to find every occurrence in the whole file, + with a prompt whether to substitute or not. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 4 SUMMARY + + + 1. CTRL-G displays your location in the file and the file status. + G moves to the end of the file. + number G moves to that line number. + gg moves to the first line. + + 2. Typing / followed by a phrase searches FORWARD for the phrase. + Typing ? followed by a phrase searches BACKWARD for the phrase. + After a search type n to find the next occurrence in the same direction + or N to search in the opposite direction. + CTRL-O takes you back to older positions, CTRL-I to newer positions. + + 3. Typing % while the cursor is on a (,),[,],{, or } goes to its match. + + 4. To substitute new for the first old in a line type :s/old/new + To substitute new for all 'old's on a line type :s/old/new/g + To substitute phrases between two line #'s type :#,#s/old/new/g + To substitute all occurrences in the file type :%s/old/new/g + To ask for confirmation each time add 'c' :%s/old/new/gc + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 5.1: HOW TO EXECUTE AN EXTERNAL COMMAND + + + ** Type :! followed by an external command to execute that command. ** + + 1. Type the familiar command : to set the cursor at the bottom of the + screen. This allows you to enter a command-line command. + + 2. Now type the ! (exclamation point) character. This allows you to + execute any external shell command. + + 3. As an example type ls following the ! and then hit <ENTER>. This + will show you a listing of your directory, just as if you were at the + shell prompt. Or use :!dir if ls doesn't work. + +NOTE: It is possible to execute any external command this way, also with + arguments. + +NOTE: All : commands must be finished by hitting <ENTER> + From here on we will not always mention it. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 5.2: MORE ON WRITING FILES + + + ** To save the changes made to the text, type :w FILENAME. ** + + 1. Type :!dir or :!ls to get a listing of your directory. + You already know you must hit <ENTER> after this. + + 2. Choose a filename that does not exist yet, such as TEST. + + 3. Now type: :w TEST (where TEST is the filename you chose.) + + 4. This saves the whole file (the Vim Tutor) under the name TEST. + To verify this, type :!dir or :!ls again to see your directory. + +NOTE: If you were to exit Vim and start it again with vim TEST , the file + would be an exact copy of the tutor when you saved it. + + 5. Now remove the file by typing (MS-DOS): :!del TEST + or (Unix): :!rm TEST + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 5.3: SELECTING TEXT TO WRITE + + + ** To save part of the file, type v motion :w FILENAME ** + + 1. Move the cursor to this line. + + 2. Press v and move the cursor to the fifth item below. Notice that the + text is highlighted. + + 3. Press the : character. At the bottom of the screen :'<,'> will appear. + + 4. Type w TEST , where TEST is a filename that does not exist yet. Verify + that you see :'<,'>w TEST before you press Enter. + + 5. Vim will write the selected lines to the file TEST. Use :!dir or !ls + to see it. Do not remove it yet! We will use it in the next lesson. + +NOTE: Pressing v starts Visual selection. You can move the cursor around + to make the selection bigger or smaller. Then you can use an operator + to do something with the text. For example, d deletes the text. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 5.4: RETRIEVING AND MERGING FILES + + + ** To insert the contents of a file, type :r FILENAME ** + + 1. Place the cursor just above this line. + +NOTE: After executing Step 2 you will see text from Lesson 5.3. Then move + DOWN to see this lesson again. + + 2. Now retrieve your TEST file using the command :r TEST where TEST is + the name of the file you used. + The file you retrieve is placed below the cursor line. + + 3. To verify that a file was retrieved, cursor back and notice that there + are now two copies of Lesson 5.3, the original and the file version. + +NOTE: You can also read the output of an external command. For example, + :r !ls reads the output of the ls command and puts it below the + cursor. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 5 SUMMARY + + + 1. :!command executes an external command. + + Some useful examples are: + (MS-DOS) (Unix) + :!dir :!ls - shows a directory listing. + :!del FILENAME :!rm FILENAME - removes file FILENAME. + + 2. :w FILENAME writes the current Vim file to disk with name FILENAME. + + 3. v motion :w FILENAME saves the Visually selected lines in file + FILENAME. + + 4. :r FILENAME retrieves disk file FILENAME and puts it below the + cursor position. + + 5. :r !dir reads the output of the dir command and puts it below the + cursor position. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 6.1: THE OPEN COMMAND + + + ** Type o to open a line below the cursor and place you in Insert mode. ** + + 1. Move the cursor to the line below marked --->. + + 2. Type the lowercase letter o to open up a line BELOW the cursor and place + you in Insert mode. + + 3. Now type some text and press <ESC> to exit Insert mode. + +---> After typing o the cursor is placed on the open line in Insert mode. + + 4. To open up a line ABOVE the cursor, simply type a capital O , rather + than a lowercase o. Try this on the line below. + +---> Open up a line above this by typing O while the cursor is on this line. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 6.2: THE APPEND COMMAND + + + ** Type a to insert text AFTER the cursor. ** + + 1. Move the cursor to the start of the line below marked --->. + + 2. Press e until the cursor is on the end of li . + + 3. Type an a (lowercase) to append text AFTER the cursor. + + 4. Complete the word like the line below it. Press <ESC> to exit Insert + mode. + + 5. Use e to move to the next incomplete word and repeat steps 3 and 4. + +---> This li will allow you to pract appendi text to a line. +---> This line will allow you to practice appending text to a line. + +NOTE: a, i and A all go to the same Insert mode, the only difference is where + the characters are inserted. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 6.3: ANOTHER WAY TO REPLACE + + + ** Type a capital R to replace more than one character. ** + + 1. Move the cursor to the first line below marked --->. Move the cursor to + the beginning of the first xxx . + + 2. Now press R and type the number below it in the second line, so that it + replaces the xxx . + + 3. Press <ESC> to leave Replace mode. Notice that the rest of the line + remains unmodified. + + 4. Repeat the steps to replace the remaining xxx. + +---> Adding 123 to xxx gives you xxx. +---> Adding 123 to 456 gives you 579. + +NOTE: Replace mode is like Insert mode, but every typed character deletes an + existing character. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 6.4: COPY AND PASTE TEXT + + + ** Use the y operator to copy text and p to paste it ** + + 1. Go to the line marked with ---> below and place the cursor after "a)". + + 2. Start Visual mode with v and move the cursor to just before "first". + + 3. Type y to yank (copy) the highlighted text. + + 4. Move the cursor to the end of the next line: j$ + + 5. Type p to put (paste) the text. Then type: a second <ESC> . + + 6. Use Visual mode to select " item.", yank it with y , move to the end of + the next line with j$ and put the text there with p . + +---> a) this is the first item. + b) + + NOTE: you can also use y as an operator; yw yanks one word. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 6.5: SET OPTION + + + ** Set an option so a search or substitute ignores case ** + + 1. Search for 'ignore' by entering: /ignore <ENTER> + Repeat several times by pressing n . + + 2. Set the 'ic' (Ignore case) option by entering: :set ic + + 3. Now search for 'ignore' again by pressing n + Notice that Ignore and IGNORE are now also found. + + 4. Set the 'hlsearch' and 'incsearch' options: :set hls is + + 5. Now type the search command again and see what happens: /ignore <ENTER> + + 6. To disable ignoring case enter: :set noic + +NOTE: To remove the highlighting of matches enter: :nohlsearch +NOTE: If you want to ignore case for just one search command, use \c + in the phrase: /ignore\c <ENTER> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 6 SUMMARY + + 1. Type o to open a line BELOW the cursor and start Insert mode. + Type O to open a line ABOVE the cursor. + + 2. Type a to insert text AFTER the cursor. + Type A to insert text after the end of the line. + + 3. The e command moves to the end of a word. + + 4. The y operator yanks (copies) text, p puts (pastes) it. + + 5. Typing a capital R enters Replace mode until <ESC> is pressed. + + 6. Typing ":set xxx" sets the option "xxx". Some options are: + 'ic' 'ignorecase' ignore upper/lower case when searching + 'is' 'incsearch' show partial matches for a search phrase + 'hls' 'hlsearch' highlight all matching phrases + You can either use the long or the short option name. + + 7. Prepend "no" to switch an option off: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 7.1: GETTING HELP + + + ** Use the on-line help system ** + + Vim has a comprehensive on-line help system. To get started, try one of + these three: + - press the <HELP> key (if you have one) + - press the <F1> key (if you have one) + - type :help <ENTER> + + Read the text in the help window to find out how the help works. + Type CTRL-W CTRL-W to jump from one window to another. + Type :q <ENTER> to close the help window. + + You can find help on just about any subject, by giving an argument to the + ":help" command. Try these (don't forget pressing <ENTER>): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 7.2: CREATE A STARTUP SCRIPT + + + ** Enable Vim features ** + + Vim has many more features than Vi, but most of them are disabled by + default. To start using more features you have to create a "vimrc" file. + + 1. Start editing the "vimrc" file. This depends on your system: + :e ~/.vimrc for Unix + :e $VIM/_vimrc for MS-Windows + + 2. Now read the example "vimrc" file contents: + :r $VIMRUNTIME/vimrc_example.vim + + 3. Write the file with: + :w + + The next time you start Vim it will use syntax highlighting. + You can add all your preferred settings to this "vimrc" file. + For more information type :help vimrc-intro + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 7.3: COMPLETION + + + ** Command line completion with CTRL-D and <TAB> ** + + 1. Make sure Vim is not in compatible mode: :set nocp + + 2. Look what files exist in the directory: :!ls or :!dir + + 3. Type the start of a command: :e + + 4. Press CTRL-D and Vim will show a list of commands that start with "e". + + 5. Press <TAB> and Vim will complete the command name to ":edit". + + 6. Now add a space and the start of an existing file name: :edit FIL + + 7. Press <TAB>. Vim will complete the name (if it is unique). + +NOTE: Completion works for many commands. Just try pressing CTRL-D and + <TAB>. It is especially useful for :help . + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 7 SUMMARY + + + 1. Type :help or press <F1> or <Help> to open a help window. + + 2. Type :help cmd to find help on cmd . + + 3. Type CTRL-W CTRL-W to jump to another window + + 4. Type :q to close the help window + + 5. Create a vimrc startup script to keep your preferred settings. + + 6. When typing a : command, press CTRL-D to see possible completions. + Press <TAB> to use one completion. + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + This concludes the Vim Tutor. It was intended to give a brief overview of + the Vim editor, just enough to allow you to use the editor fairly easily. + It is far from complete as Vim has many many more commands. Read the user + manual next: ":help user-manual". + + For further reading and studying, this book is recommended: + Vim - Vi Improved - by Steve Oualline + Publisher: New Riders + The first book completely dedicated to Vim. Especially useful for beginners. + There are many examples and pictures. + See http://iccf-holland.org/click5.html + + This book is older and more about Vi than Vim, but also recommended: + Learning the Vi Editor - by Linda Lamb + Publisher: O'Reilly & Associates Inc. + It is a good book to get to know almost anything you want to do with Vi. + The sixth edition also includes information on Vim. + + This tutorial was written by Michael C. Pierce and Robert K. Ware, + Colorado School of Mines using ideas supplied by Charles Smith, + Colorado State University. E-mail: bware@mines.colorado.edu. + + Modified for Vim by Bram Moolenaar. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.zh.big5 b/runtime/tutor/tutor.zh.big5 deleted file mode 100644 index 4daad6470..000000000 --- a/runtime/tutor/tutor.zh.big5 +++ /dev/null @@ -1,852 +0,0 @@ -=============================================================================== -= w \ Ū m V I M { n ww 1.5 = -=============================================================================== - vim O@Ө㦳ܦhRO\D`jjs边C_gTAbе{ - NԲӤФFCе{]pؼЬOz@ǥnROAӴxno - ǩROAzNܮeNvim@@ӳqΪUs边ӨϥΤFC - - е{ejݭn25-30AM_zVmɶC - - C@`ROާ@N|糧C˱z_媺@ӰƥAMbƥW - iVm(pGzOqL"vimtutor"ӱҰʱе{ANwgOƥF)C - - O@IJе{]pObϥΤiDzߪC]NOAzݭnqL - ROӾDzߥ̥TΪkCpGzuO\ŪӤާ@Azi - |ܧֿѳoǩROI - - nFA{bнTwzShift-Lock(jpgw)٨SUAMLW - r j hƨӲʥСAĤ@`eR̹C - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥ@Ĥ@`Jʥ - - - nʥСAШ̷ӻOU hBjBkBl C - - ^ - k ܡJ h _ACUN|VʡC - < h l > l _kACUN|VkʡC - j j ݰ_ӫܶH@yݤV¤UbYC - v - - 1. HNb̹ʥСAܱzıoΪAC - - 2. UU(j)AX{Э_UC - ----> {bzӤwgǷ|pʨU@aC - - 3. {bШϥΤUANвʨĤGC - -ܡJpGzTwzҫUrAЫU<ESC>^쥿`(Normal)ҦC - MAqLJzQnROC - -ܡJ]ॿ`u@COϥhjklAbߺDzNֳt - ab̹|BʥФFC - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥ@ĤG`JVIMiJMhX - - - !! SOܡJqо\Ū㥻@`eAM~HUѪROC - - 1. Ы<ESC>(oOFTOzBb`Ҧ)C - - 2. MJJ :q! <^> - ----> oؤ覡hXs边|OsziJs边HөҰʡC - pGzQOsAhXAпJJ - :wq <^> - - 3. pGzݨFRO洣ܲšAпJaz^쥻е{ROANOJ - - vimtutor <^> - - q`pUz]iHγoؤ覡J - - vim tutor <^> - ----> o̪ 'vim' ܶiJvims边A 'tutor'hOzdzƭns誺C - - 4. pGz۫HwgccOFoǨBJܡAбqBJ1BJ3hXAM - AiJs边C۱NвʨĤ@ĤT`~ڭ̪е{ѡC - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥ@ĤT`J奻s褧R - - - ** b`(Normal)ҦUAiHU x ӧRЩҦbmršC** - - 1. бNвʨ쥻`UаO ---> @C - - 2. FץJ~AбNвܷdzƧRrŪmBC - - 3. MU x N~rŧRC - - 4. _BJ2BJ4AylץC - ----> The ccow jumpedd ovverr thhe mooon. - - 5. nFAӦwgץFAU@`eOĤ@ĥ|`C - -SOܡJbzsе{ɡAnjOСCO@IJbϥΤDzߡC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥ@ĥ|`J奻s褧J - - - ** b`ҦUAiHU i ӴJ奻C** - - 1. бNвʨ쥻`UаO ---> Ĥ@C - - 2. FϱoĤ@椺epP_ĤGAбNвܤ奻Ĥ@ӦrŷdzƴJ - mC - - 3. MU i AۿJn奻ršC - - 4. Ҧ奻ץAЫU <ESC> ^`ҦC - _BJ2ܨBJ4HKץylC - ----> There is text misng this . ----> There is some text missing from this line. - - 5. pGz奻Jާ@wgܺNAб۾\ŪUpC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥ@p - - - 1. Цb̹奻ʬJiHνbYA]iHϥ hjkl rC - h () j (U) k (W) l (k) - - 2. iJvims边(qRO洣ܲ)AпJJvim W <^> - - 3. hXvims边AпJHUROҦקJ - - <ESC> :q! <^> - - Ϊ̿JHUROOsҦקJ - - <ESC> :wq <^> - - 4. b`ҦURЩҦbmršAЫJ x - - 5. b`ҦUnbЩҦbm}lJ奻AЫJ - - i Jn奻 <ESC> - -SOܡJU <ESC> |az^쥿`ҦΪ̨@ӤΪ̳ -ROC - -nFAĤ@즹CUU~ĤGeC - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤGĤ@`JRRO - - - ** J dw iHqгBRܤ@ӳr/C** - - 1. ЫU <ESC> TOzB_`ҦC - - 2. бNвʨ쥻`UаO ---> @C - - 3. бNвܷdzƭnR}lC - - 4. ۿJ dw RӳC - - SOܡJzҿJ dw |bzJPɥX{b̹̫@CpGz - J~AЫU <ESC> AM᭫sAӡC - ----> There are a some words fun that don't belong paper in this sentence. - - 5. _BJ3ܨBJ4AܥylץC~ĤGĤG`eC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤGĤG`JLRRO - - - ** J d$ qeЧR楽C** - - 1. ЫU <ESC> TOzB_`ҦC - - 2. бNвʨ쥻`UаO ---> @C - - 3. бNвʨӦ檺(]NObĤ@I.᭱)C - - 4. MJ d$ qгBRܷeC - ----> Somebody typed the end of this line twice. end of this line twice. - - - 5. ~Dz߲ĤGĤT`NDO^ƤFC - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤGĤT`J_ROMH - - - RRO d 榡pUJ - - [number] d object Ϊ d [number] object - - NpUJ - number - NRO(iﶵAʬٳ]m 1 )C - d - NRC - object - NROҭnާ@H(U)C - - @²uHCJ - w - qeзemr/A]AŮC - e - qeзemr/AO ** ]AŮC - $ - qeзeme楽C - -SOܡJ - _i_̡AЦb`ҦUȫNHӤϥΩROAh - NݨЪʥpWHCҥN@ˡC - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤGĥ|`JHROSp - - - ** J dd iHR@ӷeC ** - - ų_RWסAVIM ]p̨Mwn²ƾRAȻݭnbP@W - ⦸ d NiHRЩҦbFC - - 1. бNвʨ쥻`UuyqĤGC - 2. J dd RӦC - 3. MᲾʨĥ|C - 4. ۿJ 2dd (ٰOoeL number-command-object ܡH) RC - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤGĤ`JMRO - - - ** J u ӺM̫檺ROAJ U ӭץC** - - 1. бNвʨ쥻`UаO ---> @AñNm_Ĥ@ӿ~ - BC - 2. J x RĤ@ӤQOdrC - 3. MJ u M̫檺(@)ROC - 4. onϥ x ץ檺Ҧ~C - 5. {bJ@Ӥjg U A_Ӧ檺lAC - 6. ۦhJ u HM U HΧeROC - 7. MhJ CTRL-R (U CTRL 䤣}AۿJ R ) Ao˴N - iH_ROA]NOMMROC - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. odzOD`ΪROCUOĤGpFC - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤGp - - - 1. qeЧRܳr/AпJJdw - - 2. qeЧRܷe楽AпJJd$ - - 3. RAпJJdd - - 4. b`ҦU@өRO榡OJ - - [number] command object Ϊ command [number] object - NOJ - number - NORO檺 - command - NnƱAp d NR - object - Nnާ@HAp w Nr/A$ N楽C - $ (to the end of line), etc. - - 5. MHeާ@AпJJu (pgu) - Mb@椤ҰʡAпJJU (jgU) - MHeMROA_Heާ@GAпJJCTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤTĤ@`JmJRO - - - ** J p N̫@RemJФ ** - - 1. бNвʨ쥻`UܭSqC - - 2. J dd NӦRAo˷|NӦOsvimwRϤC - - 3. ۱NвʨdzƸmJmWCOJOW@C - - 4. Mb`ҦU(<ESC>iJ)AJ p NӦ߶KmJC - - 5. _BJ2ܨBJ4ANҦ̧ǩm쥿TmWC - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤTĤG`JRO - - - ** J r M@ӦrŴЩҦbmršC** - - 1. бNвʨ쥻`UаO ---> Ĥ@C - - 2. вʥШĤ@ӿ~AmC - - 3. ۿJ r Ao˴NN~FC - - 4. _BJ2MBJ3AĤ@wgק粒C - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. Mڭ~ǮղĤTĤT`C - -SOܡJOznbϥΤDzߡAӤObOФDzߡC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤTĤT`JRO - - - ** nܤ@ӳr/Ϊ̥AпJ cw ** - - 1. бNвʨ쥻`UаO ---> Ĥ@C - - 2. ۧЩb lubw r u m̡C - - 3. MJ cw NiHץӳF(bҳo̬OJ ine C) - - 4. ̫ <ESC> AMЩwU@ӿ~Ĥ@ӷdzƧ諸rBC - - 5. _BJ3MBJ4AĤ@ӥylpPĤGӥylC - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -ܡJЪ`N cw ROȶȬOF@ӳA]ziJ奻JAFC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤTĥ|`JϥcOLRO - - - ** OiHϥΦPRROҨϥΪHѼơC** - - 1. Ou@覡RROO@PCާ@榡OJ - - [number] c object Ϊ c [number] object - - 2. HѼƤ]O@˪Ap w Nr/A$N楽C - - 3. бNвʨ쥻`UаO ---> Ĥ@C - - 4. ۱NвʨĤ@ӿ~BC - - 5. MJ c$ ϱoӦѤUoPĤG@ˡC̫ <ESC> C - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤTp - - - 1. nsmJwgR奻eAпJpgr pCӾާ@iHNwR - 奻em_ФCpG̫@RO@ӾAӦNm - _eЩҦb檺U@C - - 2. nЩҦbmršAпJpg r MnmrŪsr - ŧYiC - - 3. RO\zܫwHAqeЩҦbmHC - pJ cw iHeШeFJ c$ iH - eШ楽eC - - 4. RO榡OJ - - [number] c object Ϊ c [number] object - -Uڭ~DzߤU@C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĥ|Ĥ@`JwΤA - - - ** J CTRL-g ܷeseЩҦbmHΤAHC - J SHIFT-G hY@wC** - - ܡJOnqŪ`eA~iHHUBJ!!! - - 1. U CTRL 䤣}M g CMN|ݨ쭶̩X{@ӪAH - AܪeOes誺WM`ơCаOBJ3渹C - - 2. U SHIFT-G iHϱoeЪ̫@C - - 3. Jzd渹AMU SHIFT-GCo˴NiH^zĤ@U - CTRL-g ɩҦbnFC`NJJ渹ɡA渹O|b̹WܥX - C - - 4. pG@NAziH~BJ1ܨBJTC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĥ|ĤG`JjRO - - - ** J / HΧHrŦiHΥHbedӦrŦC** - - 1. b`ҦUJ / ršCzɷ|`NӦrũMг|X{b̹ - Ao : ROO@˪C - - 2. ۿJ errroor <^>CerrroorNOznd䪺rŦC - - 3. ndPW@rŦAuݭn n CnVۤϤVdPW@r - ŦAпJ Shift-N YiC - - 4. pGzQfVdrŦAШϥ ? N / iC - ----> When the search reaches the end of the file it will continue at the start. - - "errroor" is not the way to spell error; errroor is an error. - - ܡJpGdwgFAd|۰ʱqY~dC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĥ|ĤT`JtAd - - - ** % iHdt諸A )B]B}C** - - 1. Щb`UаO --> @椤@ (B[ { BC - - 2. ۫ % ršC - - 3. ɥЪmObt諸ABC - - 4. A % NiH^t諸Ĥ@ӬABC - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -ܡJb{ǽոծɡAoӥ\ΨӬd䤣t諸AOܦΪC - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĥ|ĥ|`Jץ~k@ - - - ** J :s/old/new/g iH old newC** - - 1. бNвʨ쥻`UаO ---> @C - - 2. J :s/thee/the <^> CЪ`NөROuܥЩҦb檺Ĥ@Ӥǰt - C - - 3. J :s/thee/the/g hO檺ǰtC - ----> the best time to see thee flowers is in thee spring. - - 4. n椧X{CӤǰtAпJ :#,#s/old/new/g (#,#NO - 檺渹)CJ :%s/old/new/g hOӤCӤǰtC - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĥ|p - - - 1. Ctrl-g Τ_ܷeЩҦbmMAHCShift-G Τ_Nи - ܤ̫@CVJ@Ӧ渹M Shift-G hONвʦܸӦ - NC - - 2. J / MH@ӦrŦOhObeҽs誺ɤVdӦrŦC - Jݸ ? MH@ӦrŦOhObeҽs誺ɤVedӦr - ŦC@d䤧 n hO_W@ROAibP@VWd - U@ӦrŦҦbFΪ̫ Shift-N VۤϤVdUӦrŦҦbC - - 3. pGзemOA(B)B[B]B{B}A % iHNвʨt諸 - AWC - - 4. b@椺Y@ӦrŦ old srŦ newAпJ :s/old/new - b@椺ҦrŦ old srŦ newAпJ :s/old/new/g - b椺ҦrŦ old srŦ newAпJ :#,#s/old/new/g - bҦrŦ old srŦ newAпJ :%s/old/new/g - iɸ߰ݥΤT{CӴݲK[ c ﶵAпJ :%s/old/new/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤĤ@`Jb VIM ~ROk - - - ** J :! MHۿJ@ӥ~ROiHӥ~ROC** - - 1. Uڭ̩Ҽx : RO]mШ̹Co˴NiHzJROFC - - 2. ۿJPĸ ! oӦršAo˴N\z~ shell ROFC - - 3. ڭ̥H ls ROҡCJ !ls <^> CөRON|C|Xzeؿ - eANpPzbRO洣ܲŤUJ ls ROG@ˡCpG !ls S_ - @ΡAziHո :!dir ݬݡC - ----> ܡJ Ҧ~ROiHHoؤ覡C - ----> ܡJ Ҧ : ROH <^> iסC - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤĤG`J_OshH - - - ** nNʫOsAпJ :w FILENAME ** - - 1. J :!dir Ϊ :!ls eؿeCzwD̫ٱoV - <^> aC - - 2. ܤ@ө|sbWAp TEST C - - 3. ۿJ :w TEST (B TEST OzҿܪWC) - - 4. өRO|H TEST WOsӤ (VIM е{)CFTOTOsA - ЦAJ :!dir dݱzؿCeC - ----> Ъ`NJpGzhX VIM MbHW TEST ѼƶiJAӤ - eӦPzOsɪeO@˪C - - 5. {bziHqLJ :!rm TEST ӧR TEST FC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤĤT`J@Ө㦳ܩʪOsRO - - - ** nOseAпJ :#,# w FILENAME ** - - 1. AӰ@ :!dir Ϊ :!ls eؿeAMܤ@ӦXA - WWAp TEST C - - 2. ۱Nвʦܥ̳ݡAM CTRL-g Ӧ檺渹COѤF - 渹@C - - 3. ۧвʦܥ̩ݡAA@ CTRL-g C]OѤFoӦn@C - - 4. FuOs峹YӳAпJ :#,# w TEST Co̪ #,# NOW - nDzO渹(ݦ渹,ݦ渹)A TEST NOwWC - - 5. ̫A :!dir T{O_TOsCOoORC - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥĥ|`JMXä - - - ** nVeJt~eAпJ :r FILENAME ** - - 1. J :!dir T{zeЫت TEST ٦bC - - 2. MNвʦܷeݡC - -SOܡJ BJ3zNݨĤĤT`AЩɦAUʦ^ǫӡC - - 3. ۳qL :r TEST NeЫتW TEST iӡC - -SOܡJzҴiӪNqЩҦbmB}lmJC - - 4. FT{wg\AʥЦ^ӪmNiH`N - ĤT`A@O쥻At~@OӦۤƥC - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥp - - - 1. :!command Τ_@ӥ~RO commandC - - Ьݤ@ǹڨҤlJ - :!dir - Τ_ܷeؿeC - :!rm FILENAME - Τ_RW FILENAME C - - 2. :w FILENAME iNe VIM bs誺OsW FILENAME - C - - 3. :#,#w FILENAME iNes # ܲ # 檺eOs - FILENAME C - - 4. :r FILENAME iϽL FILENAME ñN䴡JeЦm - ᭱C - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤĤ@`J}RO - - - ** J o NbЪU襴}s@öiJJҦC** - - 1. бNвʨ쥻`UаO ---> @C - - 2. ۿJpg o b *U* }s@öiJJҦC - - 3. M_аO ---> ë <ESC> hXJҦӶiJ`ҦC - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. Fb *W* }s@AuݭnJjg O ӤOpg o - NiHFCЦbUդ@UaCгBbbӦWɡA Shift-OiH - bӦWs}@C - -Open up a line above this by typing Shift-O while the cursor is on this line. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤĤG`JЫᴡJRO - - - ** J a NibФᴡJ奻C ** - - 1. Цb`ҦUqLJ $ Nвʨ쥻`UаO ---> Ĥ@ - C - - 2. ۿJpg a hibФᴡJ奻FCjg A hiHb - J奻C - -ܡJJjg A ާ@kiHb楽J奻AקKFJ iAЩw - ̫@ӦršAJ奻A<ESC> ^_`ҦAbYk䲾ʥХH - x ReЩҦbmrŵѦhcާ@C - - 3. ާ@Ĥ@NiHɥRFCЪ`NЫᴡJ奻PJҦO - @PAuO奻JmwyP}FC - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤĤT`Jt~@ӸmRO - - - ** Jjg R ishӦršC** - - 1. бNвʨ쥻`UаO ---> Ĥ@C - - 2. ʥШĤ@椤P_Ц ---> ĤG檺Ĥ@ӳ}lAY - last BC - - 3. MJjg R }lĤ@椤P_ĤG檺ѧErųv@JAN - iH즳rŦӨϱoĤ@槹pPĤGFC - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. Ъ`NJpGz <ESC> hXmҦ^_`ҦA|奻N - MO쪬C - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥĥ|`J]mROﶵ - - - ** ]miϬdΪ̴ijpgﶵ ** - - - 1. nd ignore ib`ҦUJ /ignore Cn_dӵAiH - _ n C - - 2. M]m ic ﶵ(icNO^婿jpgIgnore CaserYg)AY - JJ - :set ic - - 3. {biHqLJ n Ad ignoreC_diH_J n C - - 4. M]m hlsearch M incsearch oӿﶵAJHUeJ - :set hls is - - 5. {biHAJdROAݬݷ|ĪGJ - /ignore - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ĥp - - - 1. Jpg o iHbФU襴}s@ñNиm_s}歺AiJ - JҦC - Jjg O iHbФW襴}s@ñNиm_s}歺AiJ - JҦC - - 2. Jpg a iHbЩҦbmᴡJ奻C - Jjg A iHbЩҦb檺楽ᴡJ奻C - - 3. Jjg R NiJҦAܫ <ESC> hXҦӶiJ` - ҦC - - 4. J :set xxx iH]m xxx ﶵC - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤCJbuURO - - ** ϥΦbuUt ** - - Vim ֦@ӲӭPbuUtΡCnҰʸUtΡAпܦpUTؤ - k@J - - U <HELP> (pGLW) - - U <F1> (pGLW) - - J :help <^> - - J :q <^> iHUfC - - Ѥ@ӥTѼƵ":help"ROAziH_ӥDDUCиH - UѼ(iOѤF^@C:)J - - :help w <^> - :help c_<T <^> - :help insert-index <^> - :help user-manual <^> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĤKJЫؤ@ӱҰʸ} - - ** ҥvim\ ** - - Vim\SʭnvihohAj\ೣSʬٿECFҰʧh - \AzoЫؤ@vimrcC - - 1. }lsvimrcAoM_zҨϥΪާ@tΡJ - - :edit ~/.vimrc oOUnixtΩҨϥΪRO - :edit $VIM/_vimrc oOWindowstΩҨϥΪRO - - 2. ۾ɤJvimrcSҤJ - - :read $VIMRUNTIME/vimrc_example.vim - - 3. OsAROJ - - :write - - bUzҰvimɭԡAs边N|FykG\CziH~z - w䥦\]mK[ovimrcC - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - vim е{즹Cе{uOF²aФ@Uvims边AwHz - ܮeǷ|ϥΥs边FCeáAvim٦ܦhܦhROAе{Ҥ - Ъٮto۩OCҥHznqܡAٱ~VO@CU@BziH\Ū - vimUAϥΪROOJ - :help user-manual - - Fi@BѦҩMDzߡAHUoѭȱoˡJ - - Vim - Vi Improved - @̡JSteve Oualline - XJNew Riders - - oOĤ@vimyC_Ǫ̯SOΡC䤤٥]tjq - MϥܡCԱAгX http://iccf-holland.org/click5.html - - HUoѤѤFӥBeDnOviӤOvimAO]ȱoˡJ - - Learning the Vi Editor - @̡JLinda Lamb - XJO'Reilly & Associates Inc. - - oO@ѡAqLzXGFѨvi쪺ƱCѪ - Ӫ]]tF@_vimHC - - е{OѨӦCalorado School of MineseMichael C. PierceBRobert K. - Ware ҽsgA䤤ӦColorado State UniversityCharles SmithѤF - ܦhзNCs̳qHa}OJ - - bware@mines.colorado.edu - - е{wBram MoolenaarMvimiqC - - - - Ķ̪J - =========== - ²餤е{½ĶĶ̬ <beos@turbolinux.com.cn>A٦ - t~@pta}Jlinuxrat@gnuchina.orgC - - c餤е{Oq²餤е{½Ķϥ Debian GNU/Linux 嶵ؤp - ժ_sͽsg~rX autoconvert ഫӦAù - GF@DzӸ`ʡC - - ܧOJ - ========= - 2002~0830 <beos@turbolinux.com.cn> - P RMS@SMTH ANhB~ץC - - 2002~0422 <linuxrat@gnuchina.org> - P xuandong@sh163.net ANBOrץC - - 2002~0318 <linuxrat@gnuchina.org> - ھBram Molenaarͦb2002~0316骺ӫHnDANvimtutor1.4Ķ - ɯŨvimtutor1.5C - - 2001~1115 <linuxrat@gnuchina.org> - Nvimtutor1.4Ķ浹Bram MolenaarMSven GuckesC - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.zh.euc b/runtime/tutor/tutor.zh.euc deleted file mode 100644 index 7f80f690b..000000000 --- a/runtime/tutor/tutor.zh.euc +++ /dev/null @@ -1,851 +0,0 @@ -=============================================================================== -= ӭ V I M 汾 1.5 = -=============================================================================== - vim һкܶĹܷdzǿı༭ƪڱ̵̳ - Ͳϸˡ̵̳ĿǽһЩҪĻպ - Щܹvimһͨõܱ༭ʹˡ - - ɱ̵̳ݴԼҪ25-30ӣȡѵʱ䡣 - - ÿһڵıġƼƱĵһȻڸ - ѵ(ͨ"vimtutor"̵̳ģôľѾǸ) - - мһñ̵̳˼·ʹнѧϰġҲ˵Ҫͨ - ִѧϰDZȷ÷ֻĶô - ܿЩģ - - ˣȷShift-Lock(Сд)ûа£Ȼ - ĸ j 㹻Ĵƶֱ꣬һڵܹȫĻ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һһڡƶ - - - Ҫƶ꣬˵ֱ hjkl - - ^ - k ʾ h ļλߣÿΰ¾ͻƶ - < h l > l ļλұߣÿΰ¾ͻƶ - j j һ֧˷µļͷ - v - - 1. Ļƶֱ꣬Ϊֹ - - 2. м(j)ֱֹظС - ----> ӦѾѧƶһɡ - - 3. ʹмƶڶ - -ʾȷµĸ밴<ESC>ص(Normal)ģʽ - ȻٴδӼҪ - -ʾùӦҲġʹhjklϰܹ֮ - ĻĴƶˡ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һڶڡVIMĽ˳ - - - !! رʾþĶһڵݣȻִ - - 1. 밴<ESC>(Ϊȷģʽ) - - 2. Ȼ :q! <س> - ----> ַʽ˳༭ᱣ༭ĸĶ - 뱣˳ - :wq <س> - - 3. ʾܹص̵̳Ǿǡ - - vimtutor <س> - - ͨҲַʽ - - vim tutor <س> - ----> 'vim' ʾvim༭ 'tutor'Ҫ༭ļ - - 4. ѾμסЩĻӲ1ִе3˳Ȼ - ٴν༭ŽƶһǵĽ̳̽⡣ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һڡı༭֮ɾ - - - ** (Normal)ģʽ£ x ɾλõַ** - - 1. 뽫ƶ ---> һС - - 2. Ϊ뽫ɾַλô - - 3. Ȼ x ַɾ - - 4. ظ24ֱΪֹ - ----> The ccow jumpedd ovverr thhe mooon. - - 5. ˣѾˣһǵһĽڡ - -رʾ̳ʱҪǿм䡣סһʹѧϰ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һĽڡı༭֮ - - - ** ģʽ£ i ı** - - 1. 뽫ƶ ---> ĵһС - - 2. ΪʹõһͬڵڶУ뽫ıһַ - λá - - 3. Ȼ i Ҫıַ - - 4. ıϣ밴 <ESC> ģʽ - ظ24Աӡ - ----> There is text misng this . ----> There is some text missing from this line. - - 5. ıѾ⣬ĶСᡣ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һС - - - 1. ĻıеƶȿüͷҲʹ hjkl ĸ - h () j () k () l () - - 2. vim༭(ʾ)vim ļ <س> - - 3. ˳vim༭ġ - - <ESC> :q! <س> - - ġ - - <ESC> :wq <س> - - 4. ģʽɾλõַ밴 x - - 5. ģʽҪڹλÿʼı밴 - - i Ҫı <ESC> - -رʾð <ESC> صģʽȡһ߲ - - -ˣһ˽ڶݡ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶһڡɾ - - - ** dw Դӹ괦ɾһ/ʵĩβ** - - 1. 밴 <ESC> ȷģʽ - - 2. 뽫ƶ ---> һС - - 3. 뽫ҪɾĵʵĿʼ - - 4. dw ɾõʡ - - رʾ dw ͬʱĻһС - 밴 <ESC> ȡȻ - ----> There are a some words fun that don't belong paper in this sentence. - - 5. ظ34ֱϡżڶڶݡ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶڶڡɾ - - - ** d$ ӵǰɾĩ** - - 1. 밴 <ESC> ȷģʽ - - 2. 뽫ƶ ---> һС - - 3. 뽫ƶеβ(Ҳڵһš.) - - 4. Ȼ d$ ӹ괦ɾǰβ - ----> Somebody typed the end of this line twice. end of this line twice. - - - 5. ѧϰڶھ֪ôˡ - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶڡùͶ - - - ɾ d ĸʽ¡ - - [number] d object d [number] object - - ¡ - number - ִĴ(ѡȱʡΪ 1 ) - d - ɾ - object - ҪĶ(ؽ) - - һ̵Ķб - w - ӵǰ굱ǰλֱ/ĩβո - e - ӵǰ굱ǰλֱ/ĩβ ** ո - $ - ӵǰ굱ǰλֱǰĩ - -رʾ - ̽ߣģʽӦļʹ - ƶĶбһ - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶĽڡö - - - ** dd ɾһǰС ** - - ɾĸƵȣVIM ߾ҪɾҪͬһ - d Ϳɾڵˡ - - 1. 뽫ƶĶ̾еĵڶС - 2. dd ɾС - 3. ȻƶС - 4. 2dd (ǵǰ潲 number-command-object ) ɾС - - 1) Roses are red, - 2) Mud is fun, - 3) Violets are blue, - 4) I have a car, - 5) Clocks tell time, - 6) Sugar is sweet - 7) And so are you. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶڡó - - - ** u ִе U С** - - 1. 뽫ƶ ---> һУڵһ - - 2. x ɾһ뱣ĸ - 3. Ȼ u ִе(һ) - 4. Ҫʹ x ед - 5. һд U ָеԭʼ״̬ - 6. Ŷ u Գ U Լǰ - 7. Ȼ CTRL-R (Ȱ CTRL ſ R ) - ִлָҲdz - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. ЩǷdzõǵڶСˡ - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶС - - - 1. ӵǰɾ/ĩβdw - - 2. ӵǰɾǰĩβd$ - - 3. ɾУdd - - 4. ģʽһĸʽǡ - - [number] command object command [number] object - ǡ - number - ִеĴ - command - Ҫ飬 d ɾ - object - ҪĶ w /ʣ$ ĩȵȡ - $ (to the end of line), etc. - - 5. ǰIJu (Сдu) - һĸĶU (дU) - ǰijָǰIJCTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һڡ - - - ** p һɾ֮ ** - - 1. 뽫ƶʾС - - 2. dd ɾὫб浽vimĻС - - 3. ŽƶλõϷסϷŶ - - 4. Ȼģʽ(<ESC>) p ճ롣 - - 5. ظ24еõȷλϡ - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶڡ滻 - - - ** r һַ滻λõַ** - - 1. 뽫ƶ ---> ĵһС - - 2. ƶ굽һʵλá - - 3. r ܽ滻ˡ - - 4. ظ2Ͳ3ֱһѾϡ - ----> Whan this lime was tuoed in, someone presswd some wrojg keys! ----> When this line was typed in, someone pressed some wrong keys! - - 5. ȻǼѧУڡ - -رʾмҪʹѧϰڼѧϰ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڡø - - - ** Ҫıһ/ʵIJֻȫ cw ** - - 1. 뽫ƶ ---> ĵһС - - 2. Űѹڵ lubw ĸ u λ - - 3. Ȼ cw Ϳõ(ڱ ine ) - - 4. <ESC> Ȼ궨λһһĵĸ - - 5. ظ3Ͳ4ֱһȫͬڶӡ - ----> This lubw has a few wptfd that mrrf changing usf the change command. ----> This line has a few words that need changing using the change command. - -ʾע cw 滻һʣҲı״̬ˡ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ľڡʹcָ - - - ** ָʹͬɾʹõĶ** - - 1. ָĹʽɾһµġʽǡ - - [number] c object c [number] object - - 2. Ҳһģ w /ʣ$ĩȵȡ - - 3. 뽫ƶ ---> ĵһС - - 4. Žƶһ - - 5. Ȼ c$ ʹøʣµIJָͬڶһ <ESC> - ----> The end of this line needs some help to make it like the second. ----> The end of this line needs to be corrected using the c$ command. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - С - - - 1. ҪѾɾıݣСдĸ pòԽɾ - ıڹ֮һɾһУôн - ڵǰеһС - - 2. Ҫ滻λõַСд r Ҫ滻ԭλַ - ɡ - - 3. ıָĶӵǰλֱĩβ - cw 滻ǰ굽ʵĩβݣ c$ 滻 - ǰ굽ĩݡ - - 4. ĸʽǡ - - [number] c object c [number] object - -Ǽѧϰһ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ľһڡöλļ״̬ - - - ** CTRL-g ʾǰ༭ļеǰλԼļ״̬Ϣ - SHIFT-G ֱתļеijһָС** - - ʾмҪͨݣ֮ſִ²!!! - - 1. CTRL ſȻ g Ȼͻῴҳײһ״̬ - ϢУʾǵǰ༭ļļס3кš - - 2. SHIFT-G ʹõǰֱתļһС - - 3. ͣкţȻ SHIFT-GͿԷصһΰ - CTRL-g ʱڵкˡעкʱкDzĻʾ - ġ - - 4. Ը⣬Լִв1 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ľڶڡ - - - ** / ԼβַڵǰļвҸַ** - - 1. ģʽ / ַʱעַ궼Ļ - : һġ - - 2. errroor <س>ǸerrroorҪҵַ - - 3. ҪͬһεַֻҪ n Ҫ෴ͬһε - Shift-N ɡ - - 4. ַʹ ? / С - ----> When the search reaches the end of the file it will continue at the start. - - "errroor" is not the way to spell error; errroor is an error. - - ʾѾļĩβһԶļͷҡ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĽڡŵIJ - - - ** % ԲԵ )]}** - - 1. ѹڱ --> һеκһ ([ { - - 2. Ű % ַ - - 3. ʱλӦԵŴ - - 4. ٴΰ % ͿԵĵһŴ - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -ʾڳʱҲԵǺõġ - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĽĽڡķ֮һ - - - ** :s/old/new/g 滻 old Ϊ new** - - 1. 뽫ƶ ---> һС - - 2. :s/thee/the <س> עֻıеĵһƥ - - - 3. :s/thee/the/g 滻ȫеƥ䴮 - ----> the best time to see thee flowers is in thee spring. - - 4. Ҫ滻ֵ֮ÿƥ䴮 :#,#s/old/new/g (#,# - ек) :%s/old/new/g 滻ļеÿƥ䴮 - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ĽС - - - 1. Ctrl-g ʾǰλúļ״̬ϢShift-G ڽ - תļһСһкȻ Shift-G ǽƶ - ŴС - - 2. / Ȼһַڵǰ༭ĵҸַ - ʺ ? Ȼһַڵǰ༭ĵǰҸ - һβ֮ n ظһεͬһϲ - һַڣ߰ Shift-N ෴¸ַڡ - - 3. 굱ǰλ()[]{} % ԽƶԵ - ϡ - - 4. һ滻ͷһַ old Ϊµַ new :s/old/new - һ滻еַ old Ϊµַ new :s/old/new/g - 滻еַ old Ϊµַ new :#,#s/old/new/g - ļ滻еַ old Ϊµַ new :%s/old/new/g - ȫ滻ʱѯûȷÿ滻 c ѡ :%s/old/new/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 彲һڡ VIM ִⲿķ - - - ** :! Ȼһⲿִиⲿ** - - 1. Ϥ : ù굽ĻײͿˡ - - 2. ̾ ! ִַⲿ shell ˡ - - 3. ls Ϊ !ls <س> ͻоٳǰĿ¼ - ݣͬʾ ls Ľһ !ls û - ã :!dir - ----> ʾ еⲿַʽִС - ----> ʾ е : <س> ա - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 彲ڶڡùڱļĸϢ - - - ** ҪļĸĶ浽ļУ :w FILENAME ** - - 1. :!dir :!ls ֪ǰĿ¼ݡӦ֪ - <س> ɡ - - 2. ѡһδļ TEST - - 3. :w TEST (˴ TEST ѡļ) - - 4. TEST Ϊļļ (VIM ̳)Ϊȷȷ棬 - ٴ :!dir 鿴Ŀ¼бݡ - ----> ע˳ VIM Ȼļ TEST Ϊ룬ôļ - Ӧͬʱļȫһġ - - 5. ͨ :!rm TEST ɾ TEST ļˡ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 彲ڡһѡԵı - - - ** ҪļIJݣ :#,# w FILENAME ** - - 1. ִһ :!dir :!ls ֪ǰĿ¼ݣȻѡһʵ - ļ TEST - - 2. ŽƶҳˣȻ CTRL-g ҵекš - кŶ - - 3. Űѹƶҳˣٰһ CTRL-g ҲкŶ - - 4. Ϊֻµij֣ :#,# w TEST #,# - Ҫסк(к,к) TEST ѡļ - - 5. :!dir ȷļǷȷ档ȱɾ - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 彲Ľڡȡͺϲļ - - - ** Ҫǰļвļݣ :r FILENAME ** - - 1. :!dir ȷǰ洴 TEST ļڡ - - 2. ȻƶǰҳĶˡ - -رʾ ִв3֮彲ڣʱƶص - - 3. ͨ :r TEST ǰ洴Ϊ TEST ļȡ - -رʾȡļӹλôʼ롣 - - 4. ΪȷļѾȡɹƶصԭλþͿעݵ - 彲ڣһԭһļĸ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 彲С - - - 1. :!command ִһⲿ command - - 뿴һЩʵӡ - :!dir - ʾǰĿ¼ݡ - :!rm FILENAME - ɾΪ FILENAME ļ - - 2. :w FILENAME ɽǰ VIM ڱ༭ļ浽Ϊ FILENAME - С - - 3. :#,#w FILENAME ɽǰ༭ļ # # еݱ浽ļ - FILENAME С - - 4. :r FILENAME ȡļ FILENAME 뵽ǰļĹλ - 档 - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - һڡô - - - ** o ڹ·µһвģʽ** - - 1. 뽫ƶ ---> һС - - 2. Сд o ڹ *·* µһвģʽ - - 3. ȻƱ ---> в <ESC> ˳ģʽģʽ - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. Ϊڹ *Ϸ* µһУֻҪд O Сд o - Ϳˡвһ°ɡ괦ڸʱ Shift-O - ڸϷ¿һС - -Open up a line above this by typing Shift-O while the cursor is on this line. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڶڡù - - - ** a ڹ֮ı ** - - 1. ģʽͨ $ ƶ ---> ĵһ - ĩβ - - 2. Сд a ڹ֮ıˡд A ֱ - ĩı - -ʾд A IJĩı i궨λ - һַı<ESC> ظģʽͷҼƶԼ - x ɾǰλַȵӵIJ - - 3. ֮һоͿԲˡעıģʽǻ - ȫһµģֻıλöλвͬˡ - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڡһûİ汾 - - - ** д R 滻ַ** - - 1. 뽫ƶ ---> ĵһС - - 2. ƶ굽һвͬڱ ---> ĵڶеĵһʵĿʼ - last - - 3. Ȼд R ʼѵһеIJͬڵڶеʣַһ룬 - ȫ滻ԭеַʹõһȫͬڶˡ - ----> To make the first line the same as the last on this page use the keys. ----> To make the first line the same as the second, type R and the new text. - - 4. ע <ESC> ˳ûģʽظģʽδ滻ı - Ȼԭ״ - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Ľڡѡ - - - ** ÿʹһ滻ɺԴСдѡ ** - - - 1. Ҫҵ ignore ģʽ /ignore ҪظҸôʣ - ظ n - - 2. Ȼ ic ѡ(icӢĺԴСдIgnore Caseĸд) - - :set ic - - 3. ڿͨ n ٴβҵ ignoreظҿظ n - - 4. Ȼ hlsearch incsearch ѡݡ - :set hls is - - 5. ڿٴʲôЧ - /ignore - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - С - - - 1. Сд o ڹ·µһв¿ף - ģʽ - д O ڹϷµһв¿ף - ģʽ - - 2. Сд a ڹλ֮ı - д A ڹеĩ֮ı - - 3. д R 滻ģʽֱ <ESC> ˳滻ģʽ - ģʽ - - 4. :set xxx xxx ѡ - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ߽߰ - - ** ʹ߰ϵͳ ** - - Vim ӵһϸȫ߰ϵͳҪðϵͳѡַ - ֮һ - - <HELP> (еĻ) - - <F1> (еĻ) - - :help <س> - - :q <س> Թرհڡ - - ṩһȷIJ":help"ҵڸİ - ²(ɱ˰سŶ:) - - :help w <س> - :help c_<T <س> - :help insert-index <س> - :help user-manual <س> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ڰ˽ôһű - - ** vimĹ ** - - VimĹҪviöֹ࣬ܶûȱʡΪ - ܣôһvimrcļ - - 1. ʼ༭vimrcļȡʹõIJϵͳ - - :edit ~/.vimrc Unixϵͳʹõ - :edit $VIM/_vimrc Windowsϵͳʹõ - - 2. ŵvimrcļ - - :read $VIMRUNTIME/vimrc_example.vim - - 3. ļΪ - - :write - - ´vimʱ༭ͻĹܡԼϲ - ӵvimrcļС - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - vim ̵̳˽ֻ̳Ϊ˼ؽһvim༭ - ѧʹñ༭ˡӹɣvimк̳ܶܶ - ܵĻԶءҪͨĻŬŶһĶ - vimֲᣬʹõǡ - :help user-manual - - Ϊ˸һIJοѧϰⱾֵƼ - - Vim - Vi Improved - ߡSteve Oualline - New Riders - - ǵһȫvim鼮ڳѧرáлдʵ - ͼʾ֪飬 http://iccf-holland.org/click5.html - - ⱾȽ˶ҪvivimҲֵƼ - - Learning the Vi Editor - ߡLinda Lamb - O'Reilly & Associates Inc. - - һ飬ܹͨ˽ȫviܹ顣ĵ - 汾ҲһЩvimϢ - - ̳Calorado School of MineseMichael C. PierceRobert K. - Ware дģColorado State UniversityCharles Smithṩ - ܶഴ⡣ͨŵַǡ - - bware@mines.colorado.edu - - ̳Bram MoolenaarרΪvim - - - - ߸ԡ - =========== - Ľ̷̳֮Ϊ̩ <beos@turbolinux.com.cn> - һϵַlinuxrat@gnuchina.org - - Ľ̳ǴӼĽ̷̳ʹ Debian GNU/Linux ĿС - ڹдĺת autoconvert תɵģת - ĽһЩϸڵĸĶ - - ¼ - ========= - 20020830 ̩ <beos@turbolinux.com.cn> - л RMS@SMTH ָദ - - 20020422 ̩ <linuxrat@gnuchina.org> - л xuandong@sh163.net ָ - - 20020318 ̩ <linuxrat@gnuchina.org> - Bram Molenaar20020316յҪvimtutor1.4 - vimtutor1.5 - - 20011115 ̩ <linuxrat@gnuchina.org> - vimtutor1.4ύBram MolenaarSven Guckes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.zh.utf-8 b/runtime/tutor/tutor.zh.utf-8 new file mode 100644 index 000000000..21d702051 --- /dev/null +++ b/runtime/tutor/tutor.zh.utf-8 @@ -0,0 +1,852 @@ +=============================================================================== += 歡 迎 閱 讀 《 V I M 教 程 》 ── 版本 1.5 = +=============================================================================== + vim 是一個具有很多命令的功能非常強大的編輯器。限于篇幅,在本教程當中 + 不就詳細介紹了。本教程的設計目標是講述一些必要的基本命令,而掌握好這 + 些命令,您就能夠很容易將vim當作一個通用的萬能編輯器來使用了。 + + 完成本教程的內容大約需要25-30分鐘,取決于您訓練的時間。 + + 每一節的命令操作將會更改本文。推薦您復制本文的一個副本,然後在副本上 + 進行訓練(如果您是通過"vimtutor"來啟動教程的,那麼本文就已經是副本了)。 + + 切記一點︰本教程的設計思路是在使用中進行學習的。也就是說,您需要通過 + 執行命令來學習它們本身的正確用法。如果您只是閱讀而不操作,那麼您可能 + 會很快遺忘這些命令的! + + 好了,現在請確定您的Shift-Lock(大小寫鎖定鍵)還沒有按下,然後按鍵盤上 + 的字母鍵 j 足夠多的次數來移動光標,直到第一節的內容能夠完全充滿屏幕。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一講第一節︰移動光標 + + + ※※ 要移動光標,請依照說明分別按下 h、j、k、l 鍵。 ※※ + + ^ + k 提示︰ h 的鍵位于左邊,每次按下就會向左移動。 + < h l > l 的鍵位于右邊,每次按下就會向右移動。 + j j 鍵看起來很象一支尖端方向朝下的箭頭。 + v + + 1. 請隨意在屏幕內移動光標,直至您覺得舒服為止。 + + 2. 按下下行鍵(j),直到出現光標重復下行。 + +---> 現在您應該已經學會如何移動到下一講吧。 + + 3. 現在請使用下行鍵,將光標移動到第二講。 + +提示︰如果您不敢確定您所按下的字母,請按下<ESC>鍵回到正常(Normal)模式。 + 然後再次從鍵盤輸入您想要的命令。 + +提示︰光標鍵應當也能正常工作的。但是使用hjkl鍵,在習慣之後您就能夠快速 + 地在屏幕內四處移動光標了。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一講第二節︰VIM的進入和退出 + + + !! 特別提示︰敬請閱讀完整本一節的內容,然後才能執行以下所講解的命令。 + + 1. 請按<ESC>鍵(這是為了確保您處在正常模式)。 + + 2. 然後輸入︰ :q! <回車> + +---> 這種方式的退出編輯器絕不會保存您進入編輯器以來所做的改動。 + 如果您想保存更改再退出,請輸入︰ + :wq <回車> + + 3. 如果您看到了命令行提示符,請輸入能夠帶您回到本教程的命令,那就是︰ + + vimtutor <回車> + + 通常情況下您也可以用這種方式︰ + + vim tutor <回車> + +---> 這裡的 'vim' 表示進入vim編輯器,而 'tutor'則是您準備要編輯的文件。 + + 4. 如果您自信已經牢牢記住了這些步驟的話,請從步驟1執行到步驟3退出,然 + 後再次進入編輯器。接著將光標移動到第一講第三節來繼續我們的教程講解。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一講第三節︰文本編輯之刪除 + + + ** 在正常(Normal)模式下,可以按下 x 鍵來刪除光標所在位置的字符。** + + 1. 請將光標移動到本節中下面標記有 ---> 的那一行。 + + 2. 為了修正輸入錯誤,請將光標移至準備刪除的字符的位置處。 + + 3. 然後按下 x 鍵將錯誤字符刪除掉。 + + 4. 重復步驟2到步驟4,直到句子修正為止。 + +---> The ccow jumpedd ovverr thhe mooon. + + 5. 好了,該行已經修正了,下一節內容是第一講第四節。 + +特別提示︰在您瀏覽本教程時,不要強行記憶。記住一點︰在使用中學習。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一講第四節︰文本編輯之插入 + + + ** 在正常模式下,可以按下 i 鍵來插入文本。** + + 1. 請將光標移動到本節中下面標記有 ---> 的第一行。 + + 2. 為了使得第一行內容雷同于第二行,請將光標移至文本第一個字符準備插入 + 的位置。 + + 3. 然後按下 i 鍵,接著輸入必要的文本字符。 + + 4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。 + 重復步驟2至步驟4以便修正句子。 + +---> There is text misng this . +---> There is some text missing from this line. + + 5. 如果您對文本插入操作已經很滿意,請接著閱讀下面的小結。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一講小結 + + + 1. 光標在屏幕文本中的移動既可以用箭頭鍵,也可以使用 hjkl 字母鍵。 + h (左移) j (下行) k (上行) l (右移) + + 2. 欲進入vim編輯器(從命令行提示符),請輸入︰vim 文件名 <回車> + + 3. 欲退出vim編輯器,請輸入以下命令放棄所有修改︰ + + <ESC> :q! <回車> + + 或者輸入以下命令保存所有修改︰ + + <ESC> :wq <回車> + + 4. 在正常模式下刪除光標所在位置的字符,請按︰ x + + 5. 在正常模式下要在光標所在位置開始插入文本,請按︰ + + i 輸入必要文本 <ESC> + +特別提示︰按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成 +的命令。 + +好了,第一講到此結束。下面接下來繼續第二講的內容。 + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第一節︰刪除類命令 + + + ** 輸入 dw 可以從光標處刪除至一個單字/單詞的末尾。** + + 1. 請按下 <ESC> 鍵確保您處于正常模式。 + + 2. 請將光標移動到本節中下面標記有 ---> 的那一行。 + + 3. 請將光標移至準備要刪除的單詞的開始。 + + 4. 接著輸入 dw 刪除掉該單詞。 + + 特別提示︰您所輸入的 dw 會在您輸入的同時出現在屏幕的最後一行。如果您輸 + 入有誤,請按下 <ESC> 鍵取消,然後重新再來。 + +---> There are a some words fun that don't belong paper in this sentence. + + 5. 重復步驟3至步驟4,直至句子修正完畢。接著繼續第二講第二節內容。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第二節︰其他刪除類命令 + + + ** 輸入 d$ 從當前光標刪除到行末。** + + 1. 請按下 <ESC> 鍵確保您處于正常模式。 + + 2. 請將光標移動到本節中下面標記有 ---> 的那一行。 + + 3. 請將光標移動到該行的尾部(也就是在第一個點號‘.’後面)。 + + 4. 然後輸入 d$ 從光標處刪至當前行尾部。 + +---> Somebody typed the end of this line twice. end of this line twice. + + + 5. 請繼續學習第二講第三節就知道是怎麼回事了。 + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第三節︰關于命令和對象 + + + 刪除命令 d 的格式如下︰ + + [number] d object 或者 d [number] object + + 其意如下︰ + number - 代表執行命令的次數(可選項,缺省設置為 1 )。 + d - 代表刪除。 + object - 代表命令所要操作的對象(下面有相關介紹)。 + + 一個簡短的對象列表︰ + w - 從當前光標當前位置直到單字/單詞末尾,包括空格。 + e - 從當前光標當前位置直到單字/單詞末尾,但是 *不* 包括空格。 + $ - 從當前光標當前位置直到當前行末。 + +特別提示︰ + 對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則 + 將看到光標的移動正如上面的對象列表所代表的一樣。 + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第四節︰對象命令的特殊情況 + + + ** 輸入 dd 可以刪除整一個當前行。 ** + + 鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上 + 擊打兩次 d 就可以刪除掉光標所在的整行了。 + + 1. 請將光標移動到本節中下面的短句段落中的第二行。 + 2. 輸入 dd 刪除該行。 + 3. 然後移動到第四行。 + 4. 接著輸入 2dd (還記得前面講過的 number-command-object 嗎?) 刪除兩行。 + + 1) Roses are red, + 2) Mud is fun, + 3) Violets are blue, + 4) I have a car, + 5) Clocks tell time, + 6) Sugar is sweet + 7) And so are you. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第五節︰撤消類命令 + + + ** 輸入 u 來撤消最後執行的命令,輸入 U 來修正整行。** + + 1. 請將光標移動到本節中下面標記有 ---> 的那一行,並將其置于第一個錯誤 + 處。 + 2. 輸入 x 刪除第一個不想保留的字母。 + 3. 然後輸入 u 撤消最後執行的(一次)命令。 + 4. 這次要使用 x 修正本行的所有錯誤。 + 5. 現在輸入一個大寫的 U ,恢復到該行的原始狀態。 + 6. 接著多次輸入 u 以撤消 U 以及更前的命令。 + 7. 然後多次輸入 CTRL-R (先按下 CTRL 鍵不放開,接著輸入 R 鍵) ,這樣就 + 可以執行恢復命令,也就是撤消掉撤消命令。 + +---> Fiix the errors oon thhis line and reeplace them witth undo. + + 8. 這些都是非常有用的命令。下面是第二講的小結了。 + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講小結 + + + 1. 欲從當前光標刪除至單字/單詞末尾,請輸入︰dw + + 2. 欲從當前光標刪除至當前行末尾,請輸入︰d$ + + 3. 欲刪除整行,請輸入︰dd + + 4. 在正常模式下一個命令的格式是︰ + + [number] command object 或者 command [number] object + 其意是︰ + number - 代表的是命令執行的次數 + command - 代表要做的事情,比如 d 代表刪除 + object - 代表要操作的對象,比如 w 代表單字/單詞,$ 代表到行末等等。 + $ (to the end of line), etc. + + 5. 欲撤消以前的操作,請輸入︰u (小寫的u) + 欲撤消在一行中所做的改動,請輸入︰U (大寫的U) + 欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第三講第一節︰置入類命令 + + + ** 輸入 p 將最後一次刪除的內容置入光標之後 ** + + 1. 請將光標移動到本節中下面示范段落的首行。 + + 2. 輸入 dd 將該行刪除,這樣會將該行保存到vim的緩沖區中。 + + 3. 接著將光標移動到準備置入的位置的上方。記住︰是上方哦。 + + 4. 然後在正常模式下(<ESC>鍵進入),輸入 p 將該行粘貼置入。 + + 5. 重復步驟2至步驟4,將所有的行依序放置到正確的位置上。 + + d) Can you learn too? + b) Violets are blue, + c) Intelligence is learned, + a) Roses are red, + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第三講第二節︰替換類命令 + + + ** 輸入 r 和一個字符替換光標所在位置的字符。** + + 1. 請將光標移動到本節中下面標記有 ---> 的第一行。 + + 2. 請移動光標到第一個錯誤的適當位置。 + + 3. 接著輸入 r ,這樣就能將錯誤替換掉了。 + + 4. 重復步驟2和步驟3,直到第一行已經修改完畢。 + +---> Whan this lime was tuoed in, someone presswd some wrojg keys! +---> When this line was typed in, someone pressed some wrong keys! + + 5. 然後我們繼續學校第三講第三節。 + +特別提示︰切記您要在使用中學習,而不是在記憶中學習。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第三講第三節︰更改類命令 + + + ** 要改變一個單字/單詞的部分或者全部,請輸入 cw ** + + 1. 請將光標移動到本節中下面標記有 ---> 的第一行。 + + 2. 接著把光標放在單詞 lubw 的字母 u 的位置那裡。 + + 3. 然後輸入 cw 就可以修正該單詞了(在本例這裡是輸入 ine 。) + + 4. 最後按 <ESC> 鍵,然後光標定位到下一個錯誤第一個準備更改的字母處。 + + 5. 重復步驟3和步驟4,直到第一個句子完全雷同第二個句子。 + +---> This lubw has a few wptfd that mrrf changing usf the change command. +---> This line has a few words that need changing using the change command. + +提示︰請注意 cw 命令不僅僅是替換了一個單詞,也讓您進入文本插入狀態了。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第三講第四節︰使用c指令的其他更改類命令 + + + ** 更改類指令可以使用同刪除類命令所使用的對象參數。** + + 1. 更改類指令的工作方式跟刪除類命令是一致的。操作格式是︰ + + [number] c object 或者 c [number] object + + 2. 對象參數也是一樣的,比如 w 代表單字/單詞,$代表行末等等。 + + 3. 請將光標移動到本節中下面標記有 ---> 的第一行。 + + 4. 接著將光標移動到第一個錯誤處。 + + 5. 然後輸入 c$ 使得該行剩下的部分更正得同第二行一樣。最後按 <ESC> 鍵。 + +---> The end of this line needs some help to make it like the second. +---> The end of this line needs to be corrected using the c$ command. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第三講小結 + + + 1. 要重新置入已經刪除的文本內容,請輸入小寫字母 p。該操作可以將已刪除 + 的文本內容置于光標之後。如果最後一次刪除的是一個整行,那麼該行將置 + 于當前光標所在行的下一行。 + + 2. 要替換光標所在位置的字符,請輸入小寫的 r 和要替換掉原位置字符的新字 + 符即可。 + + 3. 更改類命令允許您改變指定的對象,從當前光標所在位置直到對象的末尾。 + 比如輸入 cw 可以替換當前光標到單詞的末尾的內容;輸入 c$ 可以替換當 + 前光標到行末的內容。 + + 4. 更改類命令的格式是︰ + + [number] c object 或者 c [number] object + +下面我們繼續學習下一講。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第四講第一節︰定位及文件狀態 + + + ** 輸入 CTRL-g 顯示當前編輯文件中當前光標所在行位置以及文件狀態信息。 + 輸入 SHIFT-G 則直接跳轉到文件中的某一指定行。** + + 提示︰切記要先通讀本節內容,之後才可以執行以下步驟!!! + + 1. 按下 CTRL 鍵不放開然後按 g 鍵。然後就會看到頁面最底部出現一個狀態信 + 息行,顯示的內容是當前編輯的文件名和文件的總行數。請記住步驟3的行號。 + + 2. 按下 SHIFT-G 鍵可以使得當前光標直接跳轉到文件最後一行。 + + 3. 輸入您曾停留的行號,然後按下 SHIFT-G。這樣就可以返回到您第一次按下 + CTRL-g 時所在的行好了。注意︰輸入行號時,行號是不會在屏幕上顯示出來 + 的。 + + 4. 如果願意,您可以繼續執行步驟1至步驟三。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第四講第二節︰搜索類命令 + + + ** 輸入 / 以及尾隨的字符串可以用以在當前文件中查找該字符串。** + + 1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出現在屏幕底 + 部,這跟 : 命令是一樣的。 + + 2. 接著輸入 errroor <回車>。那個errroor就是您要查找的字符串。 + + 3. 要查找同上一次的字符串,只需要按 n 鍵。要向相反方向查找同上一次的字 + 符串,請輸入 Shift-N 即可。 + + 4. 如果您想逆向查找字符串,請使用 ? 代替 / 進行。 + +---> When the search reaches the end of the file it will continue at the start. + + "errroor" is not the way to spell error; errroor is an error. + + 提示︰如果查找已經到達文件末尾,查找會自動從文件頭部繼續查找。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第四講第三節︰配對括號的查找 + + + ** 按 % 可以查找配對的括號 )、]、}。** + + 1. 把光標放在本節下面標記有 --> 那一行中的任何一個 (、[ 或 { 處。 + + 2. 接著按 % 字符。 + + 3. 此時光標的位置應當是在配對的括號處。 + + 4. 再次按 % 就可以跳回配對的第一個括號處。 + +---> This ( is a test line with ('s, ['s ] and {'s } in it. )) + +提示︰在程序調試時,這個功能用來查找不配對的括號是很有用的。 + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第四講第四節︰修正錯誤的方法之一 + + + ** 輸入 :s/old/new/g 可以替換 old 為 new。** + + 1. 請將光標移動到本節中下面標記有 ---> 的那一行。 + + 2. 輸入 :s/thee/the <回車> 。請注意該命令只改變光標所在行的第一個匹配 + 串。 + + 3. 輸入 :s/thee/the/g 則是替換全行的匹配串。 + +---> the best time to see thee flowers is in thee spring. + + 4. 要替換兩行之間出現的每個匹配串,請輸入 :#,#s/old/new/g (#,#代表的是 + 兩行的行號)。輸入 :%s/old/new/g 則是替換整個文件中的每個匹配串。 + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第四講小結 + + + 1. Ctrl-g 用于顯示當前光標所在位置和文件狀態信息。Shift-G 用于將光標跳 + 轉至文件最後一行。先敲入一個行號然後按 Shift-G 則是將光標移動至該行 + 號代表的行。 + + 2. 輸入 / 然後緊隨一個字符串是則是在當前所編輯的文檔中向後查找該字符串。 + 輸入問號 ? 然後緊隨一個字符串是則是在當前所編輯的文檔中向前查找該字 + 符串。完成一次查找之後按 n 鍵則是重復上一次的命令,可在同一方向上查 + 找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。 + + 3. 如果光標當前位置是括號(、)、[、]、{、},按 % 可以將光標移動到配對的 + 括號上。 + + 4. 在一行內替換頭一個字符串 old 為新的字符串 new,請輸入 :s/old/new + 在一行內替換所有的字符串 old 為新的字符串 new,請輸入 :s/old/new/g + 在兩行內替換所有的字符串 old 為新的字符串 new,請輸入 :#,#s/old/new/g + 在文件內替換所有的字符串 old 為新的字符串 new,請輸入 :%s/old/new/g + 進行全文替換時詢問用戶確認每個替換需添加 c 選項,請輸入 :%s/old/new/gc + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第五講第一節︰在 VIM 內執行外部命令的方法 + + + ** 輸入 :! 然後緊隨著輸入一個外部命令可以執行該外部命令。** + + 1. 按下我們所熟悉的 : 命令設置光標到屏幕底部。這樣就可以讓您輸入命令了。 + + 2. 接著輸入感嘆號 ! 這個字符,這樣就允許您執行外部的 shell 命令了。 + + 3. 我們以 ls 命令為例。輸入 !ls <回車> 。該命令就會列舉出您當前目錄的 + 內容,就如同您在命令行提示符下輸入 ls 命令的結果一樣。如果 !ls 沒起 + 作用,您可以試試 :!dir 看看。 + +---> 提示︰ 所有的外部命令都可以以這種方式執行。 + +---> 提示︰ 所有的 : 命令都必須以 <回車> 告終。 + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第五講第二節︰關于保存文件的更多信息 + + + ** 要將對文件的改動保存到文件中,請輸入 :w FILENAME ** + + 1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲 + <回車> 吧。 + + 2. 選擇一個尚未存在文件名,比如 TEST 。 + + 3. 接著輸入 :w TEST (此處 TEST 是您所選擇的文件名。) + + 4. 該命令會以 TEST 為文件名保存整個文件 (VIM 教程)。為了確保正確保存, + 請再次輸入 :!dir 查看您的目錄列表內容。 + +---> 請注意︰如果您退出 VIM 然後在以文件名 TEST 為參數進入,那麼該文件內 + 容應該同您保存時的文件內容是完全一樣的。 + + 5. 現在您可以通過輸入 :!rm TEST 來刪除 TEST 文件了。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第五講第三節︰一個具有選擇性的保存命令 + + + ** 要保存文件的部分內容,請輸入 :#,# w FILENAME ** + + 1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,然後選擇一個合適的 + 不重名的文件名,比如 TEST 。 + + 2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了 + 行號哦。 + + 3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行好哦。 + + 4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面 + 要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。 + + 5. 最後,用 :!dir 確認文件是否正確保存。但是這次先別刪除掉。 + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第五講第四節︰提取和合並文件 + + + ** 要向當前文件中插入另外的文件的內容,請輸入 :r FILENAME ** + + 1. 請鍵入 :!dir 確認您前面創建的 TEST 文件還在。 + + 2. 然後將光標移動至當前頁面的頂端。 + +特別提示︰ 執行步驟3之後您將看到第五講第三節,請屆時再往下移動回到這裡來。 + + 3. 接著通過 :r TEST 將前面創建的名為 TEST 的文件提取進來。 + +特別提示︰您所提取進來的文件將從光標所在位置處開始置入。 + + 4. 為了確認文件已經提取成功,移動光標回到原來的位置就可以注意有兩份第 + 五講第三節,一份是原本,另外一份是來自文件的副本。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第五講小結 + + + 1. :!command 用于執行一個外部命令 command。 + + 請看一些實際例子︰ + :!dir - 用于顯示當前目錄的內容。 + :!rm FILENAME - 用于刪除名為 FILENAME 的文件。 + + 2. :w FILENAME 可將當前 VIM 中正在編輯的文件保存到名為 FILENAME + 的文件中。 + + 3. :#,#w FILENAME 可將當前編輯文件第 # 行至第 # 行的內容保存到文件 + FILENAME 中。 + + 4. :r FILENAME 可提取磁盤文件 FILENAME 並將其插入到當前文件的光標位置 + 後面。 + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第六講第一節︰打開類命令 + + + ** 輸入 o 將在光標的下方打開新的一行並進入插入模式。** + + 1. 請將光標移動到本節中下面標記有 ---> 的那一行。 + + 2. 接著輸入小寫的 o 在光標 *下方* 打開新的一行並進入插入模式。 + + 3. 然後復制標記有 ---> 的行並按 <ESC> 鍵退出插入模式而進入正常模式。 + +---> After typing o the cursor is placed on the open line in Insert mode. + + 4. 為了在光標 *上方* 打開新的一行,只需要輸入大寫的 O 而不是小寫的 o + 就可以了。請在下行測試一下吧。當光標處在在該行上時,按 Shift-O可以 + 在該行上方新開一行。 + +Open up a line above this by typing Shift-O while the cursor is on this line. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第六講第二節︰光標後插入類命令 + + + ** 輸入 a 將可在光標之後插入文本。 ** + + 1. 請在正常模式下通過輸入 $ 將光標移動到本節中下面標記有 ---> 的第一行 + 的末尾。 + + 2. 接著輸入小寫的 a 則可在光標之後插入文本了。大寫的 A 則可以直接在行 + 末插入文本。 + +提示︰輸入大寫 A 的操作方法可以在行末插入文本,避免了輸入 i,光標定位到 + 最後一個字符,輸入的文本,<ESC> 回復正常模式,箭頭右鍵移動光標以及 + x 刪除當前光標所在位置字符等等諸多繁雜的操作。 + + 3. 操作之後第一行就可以補充完整了。請注意光標後插入文本與插入模式是基 + 本完全一致的,只是文本插入的位置定位稍有不同罷了。 + +---> This line will allow you to practice +---> This line will allow you to practice appending text to the end of a line. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第六講第三節︰另外一個置換類命令的版本 + + + ** 輸入大寫的 R 可連續替換多個字符。** + + 1. 請將光標移動到本節中下面標記有 ---> 的第一行。 + + 2. 移動光標到第一行中不同于標有 ---> 的第二行的第一個單詞的開始,即單 + 詞 last 處。 + + 3. 然後輸入大寫的 R 開始把第一行中的不同于第二行的剩余字符逐一輸入,就 + 可以全部替換掉原有的字符而使得第一行完全雷同第二行了。 + +---> To make the first line the same as the last on this page use the keys. +---> To make the first line the same as the second, type R and the new text. + + 4. 請注意︰如果您按 <ESC> 退出置換模式回復正常模式,尚未替換的文本將仍 + 然保持原狀。 + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第六講第四節︰設置類命令的選項 + + + ** 設置可使查找或者替換可忽略大小寫的選項 ** + + + 1. 要查找單詞 ignore 可在正常模式下輸入 /ignore 。要重復查找該詞,可以 + 重復按 n 鍵。 + + 2. 然後設置 ic 選項(ic就是英文忽略大小寫Ignore Case的首字母縮寫詞),即 + 輸入︰ + :set ic + + 3. 現在可以通過鍵入 n 鍵再次查找單詞 ignore。重復查找可以重復鍵入 n 鍵。 + + 4. 然後設置 hlsearch 和 incsearch 這兩個選項,輸入以下內容︰ + :set hls is + + 5. 現在可以再次輸入查找命令,看看會有什麼效果︰ + /ignore + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第六講小結 + + + 1. 輸入小寫的 o 可以在光標下方打開新的一行並將光標置于新開的行首,進入 + 插入模式。 + 輸入大寫的 O 可以在光標上方打開新的一行並將光標置于新開的行首,進入 + 插入模式。 + + 2. 輸入小寫的 a 可以在光標所在位置之後插入文本。 + 輸入大寫的 A 可以在光標所在行的行末之後插入文本。 + + 3. 輸入大寫的 R 將進入替換模式,直至按 <ESC> 鍵退出替換模式而進入正常 + 模式。 + + 4. 輸入 :set xxx 可以設置 xxx 選項。 + + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第七講︰在線幫助命令 + + ** 使用在線幫助系統 ** + + Vim 擁有一個細致全面的在線幫助系統。要啟動該幫助系統,請選擇如下三種方 + 法之一︰ + - 按下 <HELP> 鍵 (如果鍵盤上有的話) + - 按下 <F1> 鍵 (如果鍵盤上有的話) + - 輸入 :help <回車> + + 輸入 :q <回車> 可以關閉幫助窗口。 + + 提供一個正確的參數給":help"命令,您可以找到關于該主題的幫助。請試驗以 + 下參數(可別忘了按回車鍵哦。:)︰ + + :help w <回車> + :help c_<T <回車> + :help insert-index <回車> + :help user-manual <回車> + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第八講︰創建一個啟動腳本 + + ** 啟用vim的功能 ** + + Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的 + 功能,您得創建一個vimrc文件。 + + 1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰ + + :edit ~/.vimrc 這是Unix系統所使用的命令 + :edit $VIM/_vimrc 這是Windows系統所使用的命令 + + 2. 接著導入vimrc范例文件︰ + + :read $VIMRUNTIME/vimrc_example.vim + + 3. 保存文件,命令為︰ + + :write + + 在下次您啟動vim的時候,編輯器就會有了語法高亮的功能。您可以繼續把您喜 + 歡的其它功能設置添加到這個vimrc文件中。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + vim 教程到此結束。本教程只是為了簡明地介紹一下vim編輯器,但已足以讓您 + 很容易學會使用本編輯器了。毋庸質疑,vim還有很多很多的命令,本教程所介 + 紹的還差得遠著呢。所以您要精通的話,還望繼續努力哦。下一步您可以閱讀 + vim手冊,使用的命令是︰ + :help user-manual + + 為了更進一步的參考和學習,以下這本書值得推薦︰ + + Vim - Vi Improved - 作者︰Steve Oualline + 出版社︰New Riders + + 這是第一本完全講解vim的書籍。對于初學者特別有用。其中還包含有大量實例 + 和圖示。欲知詳情,請訪問 http://iccf-holland.org/click5.html + + 以下這本書比較老了而且內容主要是vi而不是vim,但是也值得推薦︰ + + Learning the Vi Editor - 作者︰Linda Lamb + 出版社︰O'Reilly & Associates Inc. + + 這是一本不錯的書,通過它您幾乎能夠了解到全部vi能夠做到的事情。此書的第 + 六個版本也包含了一些關于vim的信息。 + + 本教程是由來自Calorado School of Minese的Michael C. Pierce、Robert K. + Ware 所編寫的,其中來自Colorado State University的Charles Smith提供了 + 很多創意。編者通信地址是︰ + + bware@mines.colorado.edu + + 本教程已由Bram Moolenaar專為vim進行修訂。 + + + + 譯制者附言︰ + =========== + 簡體中文教程翻譯版之譯制者為梁昌泰 <beos@turbolinux.com.cn>,還有 + 另外一個聯系地址︰linuxrat@gnuchina.org。 + + 繁體中文教程是從簡體中文教程翻譯版使用 Debian GNU/Linux 中文項目小 + 組的于廣輝先生編寫的中文漢字轉碼器 autoconvert 轉換而成的,並對轉 + 換的結果做了一些細節的改動。 + + 變更記錄︰ + ========= + 2002年08月30日 梁昌泰 <beos@turbolinux.com.cn> + 感謝 RMS@SMTH 的指正,將多處錯誤修正。 + + 2002年04月22日 梁昌泰 <linuxrat@gnuchina.org> + 感謝 xuandong@sh163.net 的指正,將兩處錯別字修正。 + + 2002年03月18日 梁昌泰 <linuxrat@gnuchina.org> + 根據Bram Molenaar先生在2002年03月16日的來信要求,將vimtutor1.4中譯 + 版升級到vimtutor1.5。 + + 2001年11月15日 梁昌泰 <linuxrat@gnuchina.org> + 將vimtutor1.4中譯版提交給Bram Molenaar和Sven Guckes。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/vimtutor.com b/runtime/tutor/vimtutor.com new file mode 100755 index 000000000..0e6854be6 --- /dev/null +++ b/runtime/tutor/vimtutor.com @@ -0,0 +1,104 @@ +$ ! +$ !===================================================================== +$ ! +$ ! VimTutor.com version 29-Aug-2002 +$ ! +$ ! Author: Tom Wyant <Thomas.R.Wyant-III@usa.dupont.com> +$ ! +$ ! This DCL command procedure executes the vimtutor command +$ ! (suprise, suprise!) which gives you a brief tutorial on the VIM +$ ! editor. Languages other than the default are supported in the +$ ! usual way, as are at least some of the command qualifiers, +$ ! though you'll need to play some fairly serious games with DCL +$ ! to specify ones that need quoting. +$ ! +$ ! Copyright (c) 2002 E. I. DuPont de Nemours and Company, Inc +$ ! +$ ! This program is free software; you can redistribute it and/or +$ ! modify it under the terms of the VIM license as available from +$ ! the vim 6.1 ":help license" command or (at your option) the +$ ! license from any later version of vim. +$ ! +$ ! This program is distributed in the hope that it will be useful, +$ ! but WITHOUT ANY WARRANTY; without even the implied warranty of +$ ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +$ ! +$ !===================================================================== +$ ! +$ ! +$ ! Check for the existence of VIM, and die if it isn't there. +$ ! +$ if f$search ("vim:vim.exe") .eqs. "" +$ then +$ write sys$error "Error - Can't run tutoral. VIM not found." +$ exit +$ endif +$ ! +$ ! +$ ! Pick up the argument, if any. +$ ! +$ inx = 0 +$ arg_loop: +$ inx = inx + 1 +$ if f$type (p'inx') .nes. "" +$ then +$ if p'inx' .nes. "" .and. f$locate ("-", p'inx') .ne. 0 +$ then +$ xx = p'inx' +$ assign/nolog "''xx'" xx +$ p'inx' = "" +$ endif +$ goto arg_loop +$ endif +$ ! +$ ! +$ ! Make sure we clean up our toys when we're through playing. +$ ! +$ on error then goto exit +$ ! +$ ! +$ ! Create the VIM foreign command if needed +$ ! +$ if f$type (vim) .eqs. "" then vim := $vim:vim +$ ! +$ ! +$ ! Build the name for our temp file. +$ ! +$ tutfil = "sys$login:vimtutor_" + - + f$edit (f$getjpi (0, "pid"), "trim") + "." +$ assign/nolog 'tutfil' TUTORCOPY +$ ! +$ ! +$ ! Copy the selected file to the temp file +$ ! +$ assign/nolog/user nla0: sys$error +$ assign/nolog/user nla0: sys$output +$ vim -u "NONE" -c "so $VIMRUNTIME/tutor/tutor.vim" +$ ! +$ ! +$ ! Run the tutorial +$ ! +$ assign/nolog/user sys$command sys$input +$ vim -u "NONE" -c "set nocp" 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' 'tutfil' +$ ! +$ ! +$ ! Ditch the copy. +$ ! +$ exit: +$ if f$type (tutfil) .nes. "" .and. f$search (tutfil) .nes. "" then - +$ delete 'tutfil';* +$ if f$type (xx) .nes. "" then deassign xx +$ deassign TUTORCOPY +$ exit +$ ! +$ !===================================================================== +$ ! +$ ! Modification history +$ ! +$ ! 29-Aug-2002 T. R. Wyant +$ ! Changed license to vim. +$ ! Fix error "input is not from a terminal" +$ ! Juggle documentation (copyright and contact to front, +$ ! modification history to end). +$ ! 25-Jul-2002 T. R. Wyant +$ ! Initial version diff --git a/src/config.mk.in b/src/config.mk.in index 759559a4e..9590d445a 100644 --- a/src/config.mk.in +++ b/src/config.mk.in @@ -109,6 +109,9 @@ exec_prefix = @exec_prefix@ ### Prefix for location of data files BINDIR = @bindir@ +### For autoconf 2.60 and later (avoid a warning) +datarootdir = @datarootdir@ + ### Prefix for location of data files DATADIR = @datadir@ diff --git a/src/digraph.c b/src/digraph.c index 9d04af619..b867598a6 100644 --- a/src/digraph.c +++ b/src/digraph.c @@ -2538,6 +2538,7 @@ keymap_unload() char_u buf[KMAP_MAXLEN + 10]; int i; char_u *save_cpo = p_cpo; + kmap_T *kp; if (!(curbuf->b_kmap_state & KEYMAP_LOADED)) return; @@ -2546,11 +2547,13 @@ keymap_unload() p_cpo = (char_u *)"C"; /* clear the ":lmap"s */ + kp = (kmap_T *)curbuf->b_kmap_ga.ga_data; for (i = 0; i < curbuf->b_kmap_ga.ga_len; ++i) { - vim_snprintf((char *)buf, sizeof(buf), "<buffer> %s", - ((kmap_T *)curbuf->b_kmap_ga.ga_data)[i].from); + vim_snprintf((char *)buf, sizeof(buf), "<buffer> %s", kp[i].from); (void)do_map(1, buf, LANGMAP, FALSE); + vim_free(kp[i].from); + vim_free(kp[i].to); } p_cpo = save_cpo; diff --git a/src/eval.c b/src/eval.c index 54ca054ca..fada51d64 100644 --- a/src/eval.c +++ b/src/eval.c @@ -16,6 +16,8 @@ #include "vim.h" +#if defined(FEAT_EVAL) || defined(PROTO) + #ifdef AMIGA # include <time.h> /* for strftime() */ #endif @@ -24,12 +26,10 @@ # include <time.h> /* for time_t */ #endif -#ifdef HAVE_FCNTL_H -# include <fcntl.h> +#if defined(FEAT_FLOAT) && defined(HAVE_MATH_H) +# include <math.h> #endif -#if defined(FEAT_EVAL) || defined(PROTO) - #define DICT_MAXNEST 100 /* maximum nesting of lists and dicts */ /* @@ -108,6 +108,7 @@ static char *e_dictrange = N_("E719: Cannot use [:] with a Dictionary"); static char *e_letwrong = N_("E734: Wrong variable type for %s="); static char *e_nofunc = N_("E130: Unknown function: %s"); static char *e_illvar = N_("E461: Illegal variable name: %s"); + /* * All user-defined global variables are stored in dictionary "globvardict". * "globvars_var" is the variable that is used for "g:". @@ -164,13 +165,13 @@ struct ufunc int uf_profiling; /* TRUE when func is being profiled */ /* profiling the function as a whole */ int uf_tm_count; /* nr of calls */ - proftime_T uf_tm_total; /* time spend in function + children */ - proftime_T uf_tm_self; /* time spend in function itself */ + proftime_T uf_tm_total; /* time spent in function + children */ + proftime_T uf_tm_self; /* time spent in function itself */ proftime_T uf_tm_children; /* time spent in children this call */ /* profiling the function per line */ int *uf_tml_count; /* nr of times line was executed */ - proftime_T *uf_tml_total; /* time spend in a line + children */ - proftime_T *uf_tml_self; /* time spend in a line itself */ + proftime_T *uf_tml_total; /* time spent in a line + children */ + proftime_T *uf_tml_self; /* time spent in a line itself */ proftime_T uf_tml_start; /* start time for current line */ proftime_T uf_tml_children; /* time spent in children for this line */ proftime_T uf_tml_wait; /* start wait time for current line */ @@ -346,13 +347,15 @@ static struct vimvar {VV_NAME("mouse_lnum", VAR_NUMBER), 0}, {VV_NAME("mouse_col", VAR_NUMBER), 0}, {VV_NAME("operator", VAR_STRING), VV_RO}, + {VV_NAME("searchforward", VAR_NUMBER), 0}, }; /* shorthand */ -#define vv_type vv_di.di_tv.v_type -#define vv_nr vv_di.di_tv.vval.v_number -#define vv_str vv_di.di_tv.vval.v_string -#define vv_tv vv_di.di_tv +#define vv_type vv_di.di_tv.v_type +#define vv_nr vv_di.di_tv.vval.v_number +#define vv_float vv_di.di_tv.vval.v_float +#define vv_str vv_di.di_tv.vval.v_string +#define vv_tv vv_di.di_tv /* * The v: variables are stored in dictionary "vimvardict". @@ -450,6 +453,9 @@ static int get_dict_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); static char_u *echo_string __ARGS((typval_T *tv, char_u **tofree, char_u *numbuf, int copyID)); static char_u *tv2string __ARGS((typval_T *tv, char_u **tofree, char_u *numbuf, int copyID)); static char_u *string_quote __ARGS((char_u *str, int function)); +#ifdef FEAT_FLOAT +static int string2float __ARGS((char_u *text, float_T *value)); +#endif static int get_env_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); static int find_internal_func __ARGS((char_u *name)); static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); @@ -457,11 +463,17 @@ static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u ** static int call_func __ARGS((char_u *name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); static void emsg_funcname __ARGS((char *ermsg, char_u *name)); +#ifdef FEAT_FLOAT +static void f_abs __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_add __ARGS((typval_T *argvars, typval_T *rettv)); static void f_append __ARGS((typval_T *argvars, typval_T *rettv)); static void f_argc __ARGS((typval_T *argvars, typval_T *rettv)); static void f_argidx __ARGS((typval_T *argvars, typval_T *rettv)); static void f_argv __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_atan __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_browse __ARGS((typval_T *argvars, typval_T *rettv)); static void f_browsedir __ARGS((typval_T *argvars, typval_T *rettv)); static void f_bufexists __ARGS((typval_T *argvars, typval_T *rettv)); @@ -473,6 +485,9 @@ static void f_bufwinnr __ARGS((typval_T *argvars, typval_T *rettv)); static void f_byte2line __ARGS((typval_T *argvars, typval_T *rettv)); static void f_byteidx __ARGS((typval_T *argvars, typval_T *rettv)); static void f_call __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_ceil __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_changenr __ARGS((typval_T *argvars, typval_T *rettv)); static void f_char2nr __ARGS((typval_T *argvars, typval_T *rettv)); static void f_cindent __ARGS((typval_T *argvars, typval_T *rettv)); @@ -485,6 +500,9 @@ static void f_complete_check __ARGS((typval_T *argvars, typval_T *rettv)); #endif static void f_confirm __ARGS((typval_T *argvars, typval_T *rettv)); static void f_copy __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_cos __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_count __ARGS((typval_T *argvars, typval_T *rettv)); static void f_cscope_connection __ARGS((typval_T *argvars, typval_T *rettv)); static void f_cursor __ARGS((typval_T *argsvars, typval_T *rettv)); @@ -507,6 +525,10 @@ static void f_filewritable __ARGS((typval_T *argvars, typval_T *rettv)); static void f_filter __ARGS((typval_T *argvars, typval_T *rettv)); static void f_finddir __ARGS((typval_T *argvars, typval_T *rettv)); static void f_findfile __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_float2nr __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_floor __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_fnameescape __ARGS((typval_T *argvars, typval_T *rettv)); static void f_fnamemodify __ARGS((typval_T *argvars, typval_T *rettv)); static void f_foldclosed __ARGS((typval_T *argvars, typval_T *rettv)); @@ -578,6 +600,9 @@ static void f_line __ARGS((typval_T *argvars, typval_T *rettv)); static void f_line2byte __ARGS((typval_T *argvars, typval_T *rettv)); static void f_lispindent __ARGS((typval_T *argvars, typval_T *rettv)); static void f_localtime __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_log10 __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_map __ARGS((typval_T *argvars, typval_T *rettv)); static void f_maparg __ARGS((typval_T *argvars, typval_T *rettv)); static void f_mapcheck __ARGS((typval_T *argvars, typval_T *rettv)); @@ -597,6 +622,9 @@ static void f_mode __ARGS((typval_T *argvars, typval_T *rettv)); static void f_nextnonblank __ARGS((typval_T *argvars, typval_T *rettv)); static void f_nr2char __ARGS((typval_T *argvars, typval_T *rettv)); static void f_pathshorten __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_pow __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv)); static void f_printf __ARGS((typval_T *argvars, typval_T *rettv)); static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv)); @@ -614,6 +642,9 @@ static void f_rename __ARGS((typval_T *argvars, typval_T *rettv)); static void f_repeat __ARGS((typval_T *argvars, typval_T *rettv)); static void f_resolve __ARGS((typval_T *argvars, typval_T *rettv)); static void f_reverse __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_round __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_search __ARGS((typval_T *argvars, typval_T *rettv)); static void f_searchdecl __ARGS((typval_T *argvars, typval_T *rettv)); static void f_searchpair __ARGS((typval_T *argvars, typval_T *rettv)); @@ -633,11 +664,18 @@ static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv)); static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv)); static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_sin __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_sort __ARGS((typval_T *argvars, typval_T *rettv)); static void f_soundfold __ARGS((typval_T *argvars, typval_T *rettv)); static void f_spellbadword __ARGS((typval_T *argvars, typval_T *rettv)); static void f_spellsuggest __ARGS((typval_T *argvars, typval_T *rettv)); static void f_split __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_sqrt __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_str2float __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_str2nr __ARGS((typval_T *argvars, typval_T *rettv)); #ifdef HAVE_STRFTIME static void f_strftime __ARGS((typval_T *argvars, typval_T *rettv)); @@ -665,6 +703,9 @@ static void f_test __ARGS((typval_T *argvars, typval_T *rettv)); static void f_tolower __ARGS((typval_T *argvars, typval_T *rettv)); static void f_toupper __ARGS((typval_T *argvars, typval_T *rettv)); static void f_tr __ARGS((typval_T *argvars, typval_T *rettv)); +#ifdef FEAT_FLOAT +static void f_trunc __ARGS((typval_T *argvars, typval_T *rettv)); +#endif static void f_type __ARGS((typval_T *argvars, typval_T *rettv)); static void f_values __ARGS((typval_T *argvars, typval_T *rettv)); static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv)); @@ -788,6 +829,7 @@ eval_init() /* add to compat scope dict */ hash_add(&compat_hashtab, p->vv_di.di_key); } + set_vim_var_nr(VV_SEARCHFORWARD, 1L); } #if defined(EXITFREE) || defined(PROTO) @@ -818,15 +860,15 @@ eval_clear() /* global variables */ vars_clear(&globvarht); - /* functions */ - free_all_functions(); - hash_clear(&func_hashtab); - /* autoloaded script names */ ga_clear_strings(&ga_loaded); /* unreferenced lists and dicts */ (void)garbage_collect(); + + /* functions */ + free_all_functions(); + hash_clear(&func_hashtab); } #endif @@ -1422,7 +1464,8 @@ eval_expr(arg, nextcmd) || defined(FEAT_COMPL_FUNC) || defined(PROTO) /* * Call some vimL function and return the result in "*rettv". - * Uses argv[argc] for the function arguments. + * Uses argv[argc] for the function arguments. Only Number and String + * arguments are currently supported. * Returns OK or FAIL. */ static int @@ -2849,16 +2892,36 @@ tv_op(tv1, tv2, op) { /* nr += nr or nr -= nr*/ n = get_tv_number(tv1); - if (*op == '+') - n += get_tv_number(tv2); +#ifdef FEAT_FLOAT + if (tv2->v_type == VAR_FLOAT) + { + float_T f = n; + + if (*op == '+') + f += tv2->vval.v_float; + else + f -= tv2->vval.v_float; + clear_tv(tv1); + tv1->v_type = VAR_FLOAT; + tv1->vval.v_float = f; + } else - n -= get_tv_number(tv2); - clear_tv(tv1); - tv1->v_type = VAR_NUMBER; - tv1->vval.v_number = n; +#endif + { + if (*op == '+') + n += get_tv_number(tv2); + else + n -= get_tv_number(tv2); + clear_tv(tv1); + tv1->v_type = VAR_NUMBER; + tv1->vval.v_number = n; + } } else { + if (tv2->v_type == VAR_FLOAT) + break; + /* str .= str */ s = get_tv_string(tv1); s = concat_str(s, get_tv_string_buf(tv2, numbuf)); @@ -2867,6 +2930,27 @@ tv_op(tv1, tv2, op) tv1->vval.v_string = s; } return OK; + +#ifdef FEAT_FLOAT + case VAR_FLOAT: + { + float_T f; + + if (*op == '.' || (tv2->v_type != VAR_FLOAT + && tv2->v_type != VAR_NUMBER + && tv2->v_type != VAR_STRING)) + break; + if (tv2->v_type == VAR_FLOAT) + f = tv2->vval.v_float; + else + f = get_tv_number(tv2); + if (*op == '+') + tv1->vval.v_float += f; + else + tv1->vval.v_float -= f; + } + return OK; +#endif } } @@ -4115,7 +4199,7 @@ eval4(arg, rettv, evaluate) } /* - * If there is a comparitive operator, use it. + * If there is a comparative operator, use it. */ if (type != TYPE_UNKNOWN) { @@ -4131,7 +4215,7 @@ eval4(arg, rettv, evaluate) ic = FALSE; ++len; } - /* nothing appened: use 'ignorecase' */ + /* nothing appended: use 'ignorecase' */ else ic = p_ic; @@ -4238,6 +4322,40 @@ eval4(arg, rettv, evaluate) } } +#ifdef FEAT_FLOAT + /* + * If one of the two variables is a float, compare as a float. + * When using "=~" or "!~", always compare as string. + */ + else if ((rettv->v_type == VAR_FLOAT || var2.v_type == VAR_FLOAT) + && type != TYPE_MATCH && type != TYPE_NOMATCH) + { + float_T f1, f2; + + if (rettv->v_type == VAR_FLOAT) + f1 = rettv->vval.v_float; + else + f1 = get_tv_number(rettv); + if (var2.v_type == VAR_FLOAT) + f2 = var2.vval.v_float; + else + f2 = get_tv_number(&var2); + n1 = FALSE; + switch (type) + { + case TYPE_EQUAL: n1 = (f1 == f2); break; + case TYPE_NEQUAL: n1 = (f1 != f2); break; + case TYPE_GREATER: n1 = (f1 > f2); break; + case TYPE_GEQUAL: n1 = (f1 >= f2); break; + case TYPE_SMALLER: n1 = (f1 < f2); break; + case TYPE_SEQUAL: n1 = (f1 <= f2); break; + case TYPE_UNKNOWN: + case TYPE_MATCH: + case TYPE_NOMATCH: break; /* avoid gcc warning */ + } + } +#endif + /* * If one of the two variables is a number, compare as a number. * When using "=~" or "!~", always compare as string. @@ -4330,6 +4448,9 @@ eval5(arg, rettv, evaluate) typval_T var3; int op; long n1, n2; +#ifdef FEAT_FLOAT + float_T f1 = 0, f2 = 0; +#endif char_u *s1, *s2; char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN]; char_u *p; @@ -4349,7 +4470,11 @@ eval5(arg, rettv, evaluate) if (op != '+' && op != '-' && op != '.') break; - if (op != '+' || rettv->v_type != VAR_LIST) + if ((op != '+' || rettv->v_type != VAR_LIST) +#ifdef FEAT_FLOAT + && (op == '.' || rettv->v_type != VAR_FLOAT) +#endif + ) { /* For "list + ...", an illegal use of the first operand as * a number cannot be determined before evaluating the 2nd @@ -4413,29 +4538,73 @@ eval5(arg, rettv, evaluate) { int error = FALSE; - n1 = get_tv_number_chk(rettv, &error); - if (error) +#ifdef FEAT_FLOAT + if (rettv->v_type == VAR_FLOAT) { - /* This can only happen for "list + non-list". - * For "non-list + ..." or "something - ...", we returned - * before evaluating the 2nd operand. */ - clear_tv(rettv); - return FAIL; + f1 = rettv->vval.v_float; + n1 = 0; } - n2 = get_tv_number_chk(&var2, &error); - if (error) + else +#endif { - clear_tv(rettv); - clear_tv(&var2); - return FAIL; + n1 = get_tv_number_chk(rettv, &error); + if (error) + { + /* This can only happen for "list + non-list". For + * "non-list + ..." or "something - ...", we returned + * before evaluating the 2nd operand. */ + clear_tv(rettv); + return FAIL; + } +#ifdef FEAT_FLOAT + if (var2.v_type == VAR_FLOAT) + f1 = n1; +#endif + } +#ifdef FEAT_FLOAT + if (var2.v_type == VAR_FLOAT) + { + f2 = var2.vval.v_float; + n2 = 0; + } + else +#endif + { + n2 = get_tv_number_chk(&var2, &error); + if (error) + { + clear_tv(rettv); + clear_tv(&var2); + return FAIL; + } +#ifdef FEAT_FLOAT + if (rettv->v_type == VAR_FLOAT) + f2 = n2; +#endif } clear_tv(rettv); - if (op == '+') - n1 = n1 + n2; + +#ifdef FEAT_FLOAT + /* If there is a float on either side the result is a float. */ + if (rettv->v_type == VAR_FLOAT || var2.v_type == VAR_FLOAT) + { + if (op == '+') + f1 = f1 + f2; + else + f1 = f1 - f2; + rettv->v_type = VAR_FLOAT; + rettv->vval.v_float = f1; + } else - n1 = n1 - n2; - rettv->v_type = VAR_NUMBER; - rettv->vval.v_number = n1; +#endif + { + if (op == '+') + n1 = n1 + n2; + else + n1 = n1 - n2; + rettv->v_type = VAR_NUMBER; + rettv->vval.v_number = n1; + } } clear_tv(&var2); } @@ -4463,6 +4632,10 @@ eval6(arg, rettv, evaluate) typval_T var2; int op; long n1, n2; +#ifdef FEAT_FLOAT + int use_float = FALSE; + float_T f1 = 0, f2; +#endif int error = FALSE; /* @@ -4482,7 +4655,16 @@ eval6(arg, rettv, evaluate) if (evaluate) { - n1 = get_tv_number_chk(rettv, &error); +#ifdef FEAT_FLOAT + if (rettv->v_type == VAR_FLOAT) + { + f1 = rettv->vval.v_float; + use_float = TRUE; + n1 = 0; + } + else +#endif + n1 = get_tv_number_chk(rettv, &error); clear_tv(rettv); if (error) return FAIL; @@ -4499,32 +4681,82 @@ eval6(arg, rettv, evaluate) if (evaluate) { - n2 = get_tv_number_chk(&var2, &error); - clear_tv(&var2); - if (error) - return FAIL; +#ifdef FEAT_FLOAT + if (var2.v_type == VAR_FLOAT) + { + if (!use_float) + { + f1 = n1; + use_float = TRUE; + } + f2 = var2.vval.v_float; + n2 = 0; + } + else +#endif + { + n2 = get_tv_number_chk(&var2, &error); + clear_tv(&var2); + if (error) + return FAIL; +#ifdef FEAT_FLOAT + if (use_float) + f2 = n2; +#endif + } /* * Compute the result. + * When either side is a float the result is a float. */ - if (op == '*') - n1 = n1 * n2; - else if (op == '/') +#ifdef FEAT_FLOAT + if (use_float) { - if (n2 == 0) /* give an error message? */ - n1 = 0x7fffffffL; + if (op == '*') + f1 = f1 * f2; + else if (op == '/') + { + /* We rely on the floating point library to handle divide + * by zero to result in "inf" and not a crash. */ + f1 = f1 / f2; + } else - n1 = n1 / n2; + { + EMSG(_("E804: Cannot use % with float")); + return FAIL; + } + rettv->v_type = VAR_FLOAT; + rettv->vval.v_float = f1; } else +#endif { - if (n2 == 0) /* give an error message? */ - n1 = 0; + if (op == '*') + n1 = n1 * n2; + else if (op == '/') + { + if (n2 == 0) /* give an error message? */ + { + if (n1 == 0) + n1 = -0x7fffffffL - 1L; /* similar to NaN */ + else if (n1 < 0) + n1 = -0x7fffffffL; + else + n1 = 0x7fffffffL; + } + else + n1 = n1 / n2; + } else - n1 = n1 % n2; + { + if (n2 == 0) /* give an error message? */ + n1 = 0; + else + n1 = n1 % n2; + } + rettv->v_type = VAR_NUMBER; + rettv->vval.v_number = n1; } - rettv->v_type = VAR_NUMBER; - rettv->vval.v_number = n1; } } @@ -4566,7 +4798,6 @@ eval7(arg, rettv, evaluate) long n; int len; char_u *s; - int val; char_u *start_leader, *end_leader; int ret = OK; char_u *alias; @@ -4600,14 +4831,55 @@ eval7(arg, rettv, evaluate) case '7': case '8': case '9': - vim_str2nr(*arg, NULL, &len, TRUE, TRUE, &n, NULL); - *arg += len; - if (evaluate) + { +#ifdef FEAT_FLOAT + char_u *p = skipdigits(*arg + 1); + int get_float = FALSE; + + /* We accept a float when the format matches + * "[0-9]\+\.[0-9]\+\([eE][+-]\?[0-9]\+\)\?". This is very + * strict to avoid backwards compatibility problems. */ + if (p[0] == '.' && vim_isdigit(p[1])) { - rettv->v_type = VAR_NUMBER; - rettv->vval.v_number = n; + get_float = TRUE; + p = skipdigits(p + 2); + if (*p == 'e' || *p == 'E') + { + ++p; + if (*p == '-' || *p == '+') + ++p; + if (!vim_isdigit(*p)) + get_float = FALSE; + else + p = skipdigits(p + 1); + } + if (ASCII_ISALPHA(*p) || *p == '.') + get_float = FALSE; + } + if (get_float) + { + float_T f; + + *arg += string2float(*arg, &f); + if (evaluate) + { + rettv->v_type = VAR_FLOAT; + rettv->vval.v_float = f; + } + } + else +#endif + { + vim_str2nr(*arg, NULL, &len, TRUE, TRUE, &n, NULL); + *arg += len; + if (evaluate) + { + rettv->v_type = VAR_NUMBER; + rettv->vval.v_number = n; + } } break; + } /* * String constant: "string". @@ -4735,8 +5007,15 @@ eval7(arg, rettv, evaluate) if (ret == OK && evaluate && end_leader > start_leader) { int error = FALSE; + int val = 0; +#ifdef FEAT_FLOAT + float_T f = 0.0; - val = get_tv_number_chk(rettv, &error); + if (rettv->v_type == VAR_FLOAT) + f = rettv->vval.v_float; + else +#endif + val = get_tv_number_chk(rettv, &error); if (error) { clear_tv(rettv); @@ -4748,13 +5027,37 @@ eval7(arg, rettv, evaluate) { --end_leader; if (*end_leader == '!') - val = !val; + { +#ifdef FEAT_FLOAT + if (rettv->v_type == VAR_FLOAT) + f = !f; + else +#endif + val = !val; + } else if (*end_leader == '-') - val = -val; + { +#ifdef FEAT_FLOAT + if (rettv->v_type == VAR_FLOAT) + f = -f; + else +#endif + val = -val; + } + } +#ifdef FEAT_FLOAT + if (rettv->v_type == VAR_FLOAT) + { + clear_tv(rettv); + rettv->vval.v_float = f; + } + else +#endif + { + clear_tv(rettv); + rettv->v_type = VAR_NUMBER; + rettv->vval.v_number = val; } - clear_tv(rettv); - rettv->v_type = VAR_NUMBER; - rettv->vval.v_number = val; } } @@ -4781,7 +5084,11 @@ eval_index(arg, rettv, evaluate, verbose) char_u *s; char_u *key = NULL; - if (rettv->v_type == VAR_FUNC) + if (rettv->v_type == VAR_FUNC +#ifdef FEAT_FLOAT + || rettv->v_type == VAR_FLOAT +#endif + ) { if (verbose) EMSG(_("E695: Cannot index a Funcref")); @@ -5567,7 +5874,7 @@ dict_equal(d1, d2, ic) /* * Return TRUE if "tv1" and "tv2" have the same value. * Compares the items just like "==" would compare them, but strings and - * numbers are different. + * numbers are different. Floats and numbers are also different. */ static int tv_equal(tv1, tv2, ic) @@ -5609,6 +5916,11 @@ tv_equal(tv1, tv2, ic) case VAR_NUMBER: return tv1->vval.v_number == tv2->vval.v_number; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + return tv1->vval.v_float == tv2->vval.v_float; +#endif + case VAR_STRING: s1 = get_tv_string_buf(tv1, buf1); s2 = get_tv_string_buf(tv2, buf2); @@ -6898,6 +7210,14 @@ echo_string(tv, tofree, numbuf, copyID) r = get_tv_string_buf(tv, numbuf); break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + *tofree = NULL; + vim_snprintf((char *)numbuf, NUMBUFLEN, "%g", tv->vval.v_float); + r = numbuf; + break; +#endif + default: EMSG2(_(e_intern2), "echo_string()"); *tofree = NULL; @@ -6929,6 +7249,12 @@ tv2string(tv, tofree, numbuf, copyID) case VAR_STRING: *tofree = string_quote(tv->vval.v_string, FALSE); return *tofree; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + *tofree = NULL; + vim_snprintf((char *)numbuf, NUMBUFLEN - 1, "%g", tv->vval.v_float); + return numbuf; +#endif case VAR_NUMBER: case VAR_LIST: case VAR_DICT: @@ -6985,6 +7311,27 @@ string_quote(str, function) return s; } +#ifdef FEAT_FLOAT +/* + * Convert the string "text" to a floating point number. + * This uses strtod(). setlocale(LC_NUMERIC, "C") has been used to make sure + * this always uses a decimal point. + * Returns the length of the text that was consumed. + */ + static int +string2float(text, value) + char_u *text; + float_T *value; /* result stored here */ +{ + char *s = (char *)text; + float_T f; + + f = strtod(s, &s); + *value = f; + return (int)((char_u *)s - text); +} +#endif + /* * Get the value of an environment variable. * "arg" is pointing to the '$'. It is advanced to after the name. @@ -7054,11 +7401,17 @@ static struct fst /* implementation of function */ } functions[] = { +#ifdef FEAT_FLOAT + {"abs", 1, 1, f_abs}, +#endif {"add", 2, 2, f_add}, {"append", 2, 2, f_append}, {"argc", 0, 0, f_argc}, {"argidx", 0, 0, f_argidx}, {"argv", 0, 1, f_argv}, +#ifdef FEAT_FLOAT + {"atan", 1, 1, f_atan}, +#endif {"browse", 4, 4, f_browse}, {"browsedir", 2, 2, f_browsedir}, {"bufexists", 1, 1, f_bufexists}, @@ -7073,6 +7426,9 @@ static struct fst {"byte2line", 1, 1, f_byte2line}, {"byteidx", 2, 2, f_byteidx}, {"call", 2, 3, f_call}, +#ifdef FEAT_FLOAT + {"ceil", 1, 1, f_ceil}, +#endif {"changenr", 0, 0, f_changenr}, {"char2nr", 1, 1, f_char2nr}, {"cindent", 1, 1, f_cindent}, @@ -7085,6 +7441,9 @@ static struct fst #endif {"confirm", 1, 4, f_confirm}, {"copy", 1, 1, f_copy}, +#ifdef FEAT_FLOAT + {"cos", 1, 1, f_cos}, +#endif {"count", 2, 4, f_count}, {"cscope_connection",0,3, f_cscope_connection}, {"cursor", 1, 3, f_cursor}, @@ -7108,6 +7467,10 @@ static struct fst {"filter", 2, 2, f_filter}, {"finddir", 1, 3, f_finddir}, {"findfile", 1, 3, f_findfile}, +#ifdef FEAT_FLOAT + {"float2nr", 1, 1, f_float2nr}, + {"floor", 1, 1, f_floor}, +#endif {"fnameescape", 1, 1, f_fnameescape}, {"fnamemodify", 2, 2, f_fnamemodify}, {"foldclosed", 1, 1, f_foldclosed}, @@ -7182,6 +7545,9 @@ static struct fst {"line2byte", 1, 1, f_line2byte}, {"lispindent", 1, 1, f_lispindent}, {"localtime", 0, 0, f_localtime}, +#ifdef FEAT_FLOAT + {"log10", 1, 1, f_log10}, +#endif {"map", 2, 2, f_map}, {"maparg", 1, 3, f_maparg}, {"mapcheck", 1, 3, f_mapcheck}, @@ -7197,10 +7563,13 @@ static struct fst #ifdef vim_mkdir {"mkdir", 1, 3, f_mkdir}, #endif - {"mode", 0, 0, f_mode}, + {"mode", 0, 1, f_mode}, {"nextnonblank", 1, 1, f_nextnonblank}, {"nr2char", 1, 1, f_nr2char}, {"pathshorten", 1, 1, f_pathshorten}, +#ifdef FEAT_FLOAT + {"pow", 2, 2, f_pow}, +#endif {"prevnonblank", 1, 1, f_prevnonblank}, {"printf", 2, 19, f_printf}, {"pumvisible", 0, 0, f_pumvisible}, @@ -7218,6 +7587,9 @@ static struct fst {"repeat", 2, 2, f_repeat}, {"resolve", 1, 1, f_resolve}, {"reverse", 1, 1, f_reverse}, +#ifdef FEAT_FLOAT + {"round", 1, 1, f_round}, +#endif {"search", 1, 4, f_search}, {"searchdecl", 1, 3, f_searchdecl}, {"searchpair", 3, 7, f_searchpair}, @@ -7237,11 +7609,18 @@ static struct fst {"setwinvar", 3, 3, f_setwinvar}, {"shellescape", 1, 1, f_shellescape}, {"simplify", 1, 1, f_simplify}, +#ifdef FEAT_FLOAT + {"sin", 1, 1, f_sin}, +#endif {"sort", 1, 2, f_sort}, {"soundfold", 1, 1, f_soundfold}, {"spellbadword", 0, 1, f_spellbadword}, {"spellsuggest", 1, 3, f_spellsuggest}, {"split", 1, 3, f_split}, +#ifdef FEAT_FLOAT + {"sqrt", 1, 1, f_sqrt}, + {"str2float", 1, 1, f_str2float}, +#endif {"str2nr", 1, 2, f_str2nr}, #ifdef HAVE_STRFTIME {"strftime", 1, 2, f_strftime}, @@ -7269,6 +7648,9 @@ static struct fst {"tolower", 1, 1, f_tolower}, {"toupper", 1, 1, f_toupper}, {"tr", 3, 3, f_tr}, +#ifdef FEAT_FLOAT + {"trunc", 1, 1, f_trunc}, +#endif {"type", 1, 1, f_type}, {"values", 1, 1, f_values}, {"virtcol", 1, 1, f_virtcol}, @@ -7712,6 +8094,36 @@ emsg_funcname(ermsg, name) * Implementation of the built-in functions */ +#ifdef FEAT_FLOAT +/* + * "abs(expr)" function + */ + static void +f_abs(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + if (argvars[0].v_type == VAR_FLOAT) + { + rettv->v_type = VAR_FLOAT; + rettv->vval.v_float = fabs(argvars[0].vval.v_float); + } + else + { + varnumber_T n; + int error = FALSE; + + n = get_tv_number_chk(&argvars[0], &error); + if (error) + rettv->vval.v_number = -1; + else if (n > 0) + rettv->vval.v_number = n; + else + rettv->vval.v_number = -n; + } +} +#endif + /* * "add(list, item)" function */ @@ -7840,6 +8252,50 @@ f_argv(argvars, rettv) alist_name(&ARGLIST[idx]), -1); } +#ifdef FEAT_FLOAT +static int get_float_arg __ARGS((typval_T *argvars, float_T *f)); + +/* + * Get the float value of "argvars[0]" into "f". + * Returns FAIL when the argument is not a Number or Float. + */ + static int +get_float_arg(argvars, f) + typval_T *argvars; + float_T *f; +{ + if (argvars[0].v_type == VAR_FLOAT) + { + *f = argvars[0].vval.v_float; + return OK; + } + if (argvars[0].v_type == VAR_NUMBER) + { + *f = (float_T)argvars[0].vval.v_number; + return OK; + } + EMSG(_("E808: Number or Float required")); + return FAIL; +} + +/* + * "atan()" function + */ + static void +f_atan(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = atan(f); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "browse(save, title, initdir, default)" function */ @@ -8157,7 +8613,7 @@ f_byteidx(argvars, rettv) } rettv->vval.v_number = (varnumber_T)(t - str); #else - if (idx <= STRLEN(str)) + if ((size_t)idx <= STRLEN(str)) rettv->vval.v_number = idx; #endif } @@ -8227,6 +8683,25 @@ f_call(argvars, rettv) clear_tv(&argv[--argc]); } +#ifdef FEAT_FLOAT +/* + * "ceil({float})" function + */ + static void +f_ceil(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = ceil(f); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "changenr()" function */ @@ -8487,6 +8962,25 @@ f_copy(argvars, rettv) item_copy(&argvars[0], rettv, FALSE, 0); } +#ifdef FEAT_FLOAT +/* + * "cos()" function + */ + static void +f_cos(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = cos(f); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "count()" function */ @@ -8802,6 +9296,11 @@ f_empty(argvars, rettv) case VAR_NUMBER: n = argvars[0].vval.v_number == 0; break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + n = argvars[0].vval.v_float == 0.0; + break; +#endif case VAR_LIST: n = argvars[0].vval.v_list == NULL || argvars[0].vval.v_list->lv_first == NULL; @@ -9466,6 +9965,48 @@ f_findfile(argvars, rettv) findfilendir(argvars, rettv, FINDFILE_FILE); } +#ifdef FEAT_FLOAT +/* + * "float2nr({float})" function + */ + static void +f_float2nr(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + if (get_float_arg(argvars, &f) == OK) + { + if (f < -0x7fffffff) + rettv->vval.v_number = -0x7fffffff; + else if (f > 0x7fffffff) + rettv->vval.v_number = 0x7fffffff; + else + rettv->vval.v_number = (varnumber_T)f; + } + else + rettv->vval.v_number = 0; +} + +/* + * "floor({float})" function + */ + static void +f_floor(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = floor(f); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "fnameescape({string})" function */ @@ -10600,7 +11141,7 @@ f_getwinposy(argvars, rettv) } /* - * Find window specifed by "vp" in tabpage "tp". + * Find window specified by "vp" in tabpage "tp". */ static win_T * find_win_by_nr(vp, tp) @@ -10892,6 +11433,9 @@ f_has(argvars, rettv) #ifdef FEAT_FIND_ID "find_in_path", #endif +#ifdef FEAT_FLOAT + "float", +#endif #ifdef FEAT_FOLDING "folding", #endif @@ -11002,6 +11546,9 @@ f_has(argvars, rettv) # ifdef FEAT_MOUSE_PTERM "mouse_pterm", # endif +# ifdef FEAT_SYSMOUSE + "mouse_sysmouse", +# endif # ifdef FEAT_MOUSE_XTERM "mouse_xterm", # endif @@ -11813,7 +12360,7 @@ f_inputsave(argvars, rettv) typval_T *argvars; typval_T *rettv; { - /* Add an entry to the stack of typehead storage. */ + /* Add an entry to the stack of typeahead storage. */ if (ga_grow(&ga_userinput, 1) == OK) { save_typeahead((tasave_T *)(ga_userinput.ga_data) @@ -12345,6 +12892,25 @@ get_maparg(argvars, rettv, exact) } } +#ifdef FEAT_FLOAT +/* + * "log10()" function + */ + static void +f_log10(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = log10(f); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "map()" function */ @@ -12853,7 +13419,10 @@ f_mode(argvars, rettv) typval_T *argvars; typval_T *rettv; { - char_u buf[2]; + char_u buf[3]; + + buf[1] = NUL; + buf[2] = NUL; #ifdef FEAT_VISUAL if (VIsual_active) @@ -12865,21 +13434,56 @@ f_mode(argvars, rettv) } else #endif - if (State == HITRETURN || State == ASKMORE || State == SETWSIZE) + if (State == HITRETURN || State == ASKMORE || State == SETWSIZE + || State == CONFIRM) + { buf[0] = 'r'; + if (State == ASKMORE) + buf[1] = 'm'; + else if (State == CONFIRM) + buf[1] = '?'; + } + else if (State == EXTERNCMD) + buf[0] = '!'; else if (State & INSERT) { +#ifdef FEAT_VREPLACE + if (State & VREPLACE_FLAG) + { + buf[0] = 'R'; + buf[1] = 'v'; + } + else +#endif if (State & REPLACE_FLAG) buf[0] = 'R'; else buf[0] = 'i'; } else if (State & CMDLINE) + { buf[0] = 'c'; + if (exmode_active) + buf[1] = 'v'; + } + else if (exmode_active) + { + buf[0] = 'c'; + buf[1] = 'e'; + } else + { buf[0] = 'n'; + if (finish_op) + buf[1] = 'o'; + } + + /* A zero number or empty string argument: return only major mode. */ + if (!(argvars[0].v_type == VAR_NUMBER && argvars[0].vval.v_number != 0) + && !(argvars[0].v_type == VAR_STRING + && *get_tv_string(&argvars[0]) != NUL)) + buf[1] = NUL; - buf[1] = NUL; rettv->vval.v_string = vim_strsave(buf); rettv->v_type = VAR_STRING; } @@ -12953,6 +13557,26 @@ f_pathshorten(argvars, rettv) } } +#ifdef FEAT_FLOAT +/* + * "pow()" function + */ + static void +f_pow(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T fx, fy; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &fx) == OK + && get_float_arg(&argvars[1], &fy) == OK) + rettv->vval.v_float = pow(fx, fy); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "prevnonblank()" function */ @@ -13876,7 +14500,7 @@ f_resolve(argvars, rettv) } /* Shorten "remain". */ if (*q != NUL) - mch_memmove(remain, q - 1, STRLEN(q - 1) + 1); + STRMOVE(remain, q - 1); else { vim_free(remain); @@ -13912,7 +14536,7 @@ f_resolve(argvars, rettv) while (q[0] == '.' && vim_ispathsep(q[1])) q += 2; if (q > p) - mch_memmove(p, p + 2, STRLEN(p + 2) + (size_t)1); + STRMOVE(p, p + 2); } } @@ -14140,6 +14764,26 @@ theend: return retval; } +#ifdef FEAT_FLOAT +/* + * "round({float})" function + */ + static void +f_round(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + /* round() is not in C90, use ceil() or floor() instead. */ + rettv->vval.v_float = f > 0 ? floor(f + 0.5) : ceil(f - 0.5); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "search()" function */ @@ -15058,6 +15702,25 @@ f_simplify(argvars, rettv) rettv->v_type = VAR_STRING; } +#ifdef FEAT_FLOAT +/* + * "sin()" function + */ + static void +f_sin(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = sin(f); + else + rettv->vval.v_float = 0.0; +} +#endif + static int #ifdef __BORLANDC__ _RTLENTRYF @@ -15447,6 +16110,41 @@ f_split(argvars, rettv) p_cpo = save_cpo; } +#ifdef FEAT_FLOAT +/* + * "sqrt()" function + */ + static void +f_sqrt(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + rettv->vval.v_float = sqrt(f); + else + rettv->vval.v_float = 0.0; +} + +/* + * "str2float()" function + */ + static void +f_str2float(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + char_u *p = skipwhite(get_tv_string(&argvars[0])); + + if (*p == '+') + p = skipwhite(p + 1); + (void)string2float(p, &rettv->vval.v_float); + rettv->v_type = VAR_FLOAT; +} +#endif + /* * "str2nr()" function */ @@ -15470,6 +16168,8 @@ f_str2nr(argvars, rettv) } p = skipwhite(get_tv_string(&argvars[0])); + if (*p == '+') + p = skipwhite(p + 1); vim_str2nr(p, NULL, NULL, base == 8 ? 2 : 0, base == 16 ? 2 : 0, &n, NULL); rettv->vval.v_number = n; } @@ -15586,7 +16286,7 @@ f_string(argvars, rettv) rettv->v_type = VAR_STRING; rettv->vval.v_string = tv2string(&argvars[0], &tofree, numbuf, 0); - /* Make a copy if we have a value but it's not in allocate memory. */ + /* Make a copy if we have a value but it's not in allocated memory. */ if (rettv->vval.v_string != NULL && tofree == NULL) rettv->vval.v_string = vim_strsave(rettv->vval.v_string); } @@ -16474,6 +17174,26 @@ error: rettv->vval.v_string = ga.ga_data; } +#ifdef FEAT_FLOAT +/* + * "trunc({float})" function + */ + static void +f_trunc(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + float_T f; + + rettv->v_type = VAR_FLOAT; + if (get_float_arg(argvars, &f) == OK) + /* trunc() is not in C90, use floor() or ceil() instead. */ + rettv->vval.v_float = f > 0 ? floor(f) : ceil(f); + else + rettv->vval.v_float = 0.0; +} +#endif + /* * "type(expr)" function */ @@ -16491,6 +17211,9 @@ f_type(argvars, rettv) case VAR_FUNC: n = 2; break; case VAR_LIST: n = 3; break; case VAR_DICT: n = 4; break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: n = 5; break; +#endif default: EMSG2(_(e_intern2), "f_type()"); n = 0; break; } rettv->vval.v_number = n; @@ -16548,10 +17271,9 @@ f_visualmode(argvars, rettv) rettv->vval.v_string = vim_strsave(str); /* A non-zero number or non-empty string argument: reset mode. */ - if ((argvars[0].v_type == VAR_NUMBER - && argvars[0].vval.v_number != 0) + if ((argvars[0].v_type == VAR_NUMBER && argvars[0].vval.v_number != 0) || (argvars[0].v_type == VAR_STRING - && *get_tv_string(&argvars[0]) != NUL)) + && *get_tv_string(&argvars[0]) != NUL)) curbuf->b_visual_mode_eval = NUL; #else rettv->vval.v_number = 0; /* return anything, it won't work anyway */ @@ -17630,7 +18352,7 @@ handle_subscript(arg, rettv, evaluate, verbose) } /* - * Allocate memory for a variable type-value, and make it emtpy (0 or NULL + * Allocate memory for a variable type-value, and make it empty (0 or NULL * value). */ static typval_T * @@ -17685,6 +18407,9 @@ free_tv(varp) dict_unref(varp->vval.v_dict); break; case VAR_NUMBER: +#ifdef FEAT_FLOAT + case VAR_FLOAT: +#endif case VAR_UNKNOWN: break; default: @@ -17724,6 +18449,11 @@ clear_tv(varp) case VAR_NUMBER: varp->vval.v_number = 0; break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + varp->vval.v_float = 0.0; + break; +#endif case VAR_UNKNOWN: break; default: @@ -17772,6 +18502,11 @@ get_tv_number_chk(varp, denote) { case VAR_NUMBER: return (long)(varp->vval.v_number); +#ifdef FEAT_FLOAT + case VAR_FLOAT: + EMSG(_("E805: Using a Float as a number")); + break; +#endif case VAR_FUNC: EMSG(_("E703: Using a Funcref as a number")); break; @@ -17895,6 +18630,11 @@ get_tv_string_buf_chk(varp, buf) case VAR_DICT: EMSG(_("E731: using Dictionary as a String")); break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + EMSG(_("E806: using Float as a String")); + break; +#endif case VAR_STRING: if (varp->vval.v_string != NULL) return varp->vval.v_string; @@ -18279,7 +19019,14 @@ set_var(name, tv, copy) && !((v->di_tv.v_type == VAR_STRING || v->di_tv.v_type == VAR_NUMBER) && (tv->v_type == VAR_STRING - || tv->v_type == VAR_NUMBER))) + || tv->v_type == VAR_NUMBER)) +#ifdef FEAT_FLOAT + && !((v->di_tv.v_type == VAR_NUMBER + || v->di_tv.v_type == VAR_FLOAT) + && (tv->v_type == VAR_NUMBER + || tv->v_type == VAR_FLOAT)) +#endif + ) { EMSG2(_("E706: Variable type mismatch for: %s"), name); return; @@ -18306,7 +19053,11 @@ set_var(name, tv, copy) else if (v->di_tv.v_type != VAR_NUMBER) EMSG2(_(e_intern2), "set_var()"); else + { v->di_tv.vval.v_number = get_tv_number(tv); + if (STRCMP(varname, "searchforward") == 0) + set_search_direction(v->di_tv.vval.v_number ? '/' : '?'); + } return; } @@ -18343,7 +19094,7 @@ set_var(name, tv, copy) v->di_flags = 0; } - if (copy || tv->v_type == VAR_NUMBER) + if (copy || tv->v_type == VAR_NUMBER || tv->v_type == VAR_FLOAT) copy_tv(tv, &v->di_tv); else { @@ -18433,6 +19184,11 @@ copy_tv(from, to) case VAR_NUMBER: to->vval.v_number = from->vval.v_number; break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: + to->vval.v_float = from->vval.v_float; + break; +#endif case VAR_STRING: case VAR_FUNC: if (from->vval.v_string == NULL) @@ -18495,6 +19251,9 @@ item_copy(from, to, deep, copyID) switch (from->v_type) { case VAR_NUMBER: +#ifdef FEAT_FLOAT + case VAR_FLOAT: +#endif case VAR_STRING: case VAR_FUNC: copy_tv(from, to); @@ -18560,6 +19319,10 @@ ex_echo(eap) ++emsg_skip; while (*arg != NUL && *arg != '|' && *arg != '\n' && !got_int) { + /* If eval1() causes an error message the text from the command may + * still need to be cleared. E.g., "echo 22,44". */ + need_clr_eos = needclr; + p = arg; if (eval1(&arg, &rettv, !eap->skip) == FAIL) { @@ -18570,8 +19333,11 @@ ex_echo(eap) */ if (!aborting()) EMSG2(_(e_invexpr2), p); + need_clr_eos = FALSE; break; } + need_clr_eos = FALSE; + if (!eap->skip) { if (atstart) @@ -20508,7 +21274,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict) did_emsg |= save_did_emsg; current_funccal = fc.caller; - /* The a: variables typevals were not alloced, only free the allocated + /* The a: variables typevals were not allocated, only free the allocated * variables. */ vars_clear_ext(&fc.l_avars.dv_hashtab, FALSE); @@ -20842,7 +21608,7 @@ func_line_end(cookie) /* * Return TRUE if the currently active function should be ended, because a - * return was encountered or an error occured. Used inside a ":while". + * return was encountered or an error occurred. Used inside a ":while". */ int func_has_ended(cookie) @@ -20869,9 +21635,9 @@ func_has_abort(cookie) #if defined(FEAT_VIMINFO) || defined(FEAT_SESSION) typedef enum { - VAR_FLAVOUR_DEFAULT, - VAR_FLAVOUR_SESSION, - VAR_FLAVOUR_VIMINFO + VAR_FLAVOUR_DEFAULT, /* doesn't start with uppercase */ + VAR_FLAVOUR_SESSION, /* starts with uppercase, some lower */ + VAR_FLAVOUR_VIMINFO /* all uppercase */ } var_flavour_T; static var_flavour_T var_flavour __ARGS((char_u *varname)); @@ -20904,7 +21670,7 @@ read_viminfo_varlist(virp, writing) int writing; { char_u *tab; - int is_string = FALSE; + int type = VAR_NUMBER; typval_T tv; if (!writing && (find_viminfo_parameter('!') != NULL)) @@ -20914,24 +21680,27 @@ read_viminfo_varlist(virp, writing) { *tab++ = '\0'; /* isolate the variable name */ if (*tab == 'S') /* string var */ - is_string = TRUE; + type = VAR_STRING; +#ifdef FEAT_FLOAT + else if (*tab == 'F') + type = VAR_FLOAT; +#endif tab = vim_strchr(tab, '\t'); if (tab != NULL) { - if (is_string) - { - tv.v_type = VAR_STRING; + tv.v_type = type; + if (type == VAR_STRING) tv.vval.v_string = viminfo_readstring(virp, (int)(tab - virp->vir_line + 1), TRUE); - } +#ifdef FEAT_FLOAT + else if (type == VAR_FLOAT) + (void)string2float(tab + 1, &tv.vval.v_float); +#endif else - { - tv.v_type = VAR_NUMBER; tv.vval.v_number = atol((char *)tab + 1); - } set_var(virp->vir_line + 1, &tv, FALSE); - if (is_string) + if (type == VAR_STRING) vim_free(tv.vval.v_string); } } @@ -20973,6 +21742,9 @@ write_viminfo_varlist(fp) { case VAR_STRING: s = "STR"; break; case VAR_NUMBER: s = "NUM"; break; +#ifdef FEAT_FLOAT + case VAR_FLOAT: s = "FLO"; break; +#endif default: continue; } fprintf(fp, "!%s\t%s\t", this_var->di_key, s); @@ -21032,6 +21804,24 @@ store_session_globals(fd) } vim_free(p); } +#ifdef FEAT_FLOAT + else if (this_var->di_tv.v_type == VAR_FLOAT + && var_flavour(this_var->di_key) == VAR_FLAVOUR_SESSION) + { + float_T f = this_var->di_tv.vval.v_float; + int sign = ' '; + + if (f < 0) + { + f = -f; + sign = '-'; + } + if ((fprintf(fd, "let %s = %c&%f", + this_var->di_key, sign, f) < 0) + || put_eol(fd) == FAIL) + return FAIL; + } +#endif } } return OK; @@ -21064,8 +21854,8 @@ last_set_msg(scriptID) #endif /* FEAT_EVAL */ -#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) || defined(PROTO) +#if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) || defined(PROTO) #ifdef WIN3264 /* @@ -21246,9 +22036,8 @@ shortpath_for_partial(fnamep, bufp, fnamelen) char_u *pbuf, *tfname; int hasTilde; - /* Count up the path seperators from the RHS.. so we know which part - * of the path to return. - */ + /* Count up the path separators from the RHS.. so we know which part + * of the path to return. */ sepcount = 0; for (p = *fnamep; p < *fnamep + *fnamelen; mb_ptr_adv(p)) if (vim_ispathsep(*p)) diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 218ced0f7..6425ac043 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -11,10 +11,11 @@ * ex_cmds.c: some functions for command line commands */ -#include "vim.h" -#ifdef HAVE_FCNTL_H -# include <fcntl.h> +#if defined(MSDOS) || defined(MSWIN) +# include "vimio.h" /* for mch_open(), must be before vim.h */ #endif + +#include "vim.h" #include "version.h" #ifdef FEAT_EX_EXTRA @@ -977,7 +978,7 @@ do_bang(addr_count, eap, forceit, do_in, do_out) ) { if (p > newcmd && p[-1] == '\\') - mch_memmove(p - 1, p, (size_t)(STRLEN(p) + 1)); + STRMOVE(p - 1, p); else { trailarg = p; @@ -4895,7 +4896,7 @@ do_sub(eap) for (p1 = new_end; *p1; ++p1) { if (p1[0] == '\\' && p1[1] != NUL) /* remove backslash */ - mch_memmove(p1, p1 + 1, STRLEN(p1)); + STRMOVE(p1, p1 + 1); else if (*p1 == CAR) { if (u_inssub(lnum) == OK) /* prepare for undo */ @@ -4919,7 +4920,7 @@ do_sub(eap) /* move the cursor to the new line, like Vi */ ++curwin->w_cursor.lnum; /* copy the rest */ - mch_memmove(new_start, p1 + 1, STRLEN(p1 + 1) + 1); + STRMOVE(new_start, p1 + 1); p1 = new_start - 1; } } diff --git a/src/ex_cmds.h b/src/ex_cmds.h index b9c79fce4..2e8374a00 100644 --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -190,7 +190,7 @@ EX(CMD_cabclear, "cabclear", ex_abclear, EX(CMD_caddbuffer, "caddbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_caddexpr, "caddexpr", ex_cexpr, - NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), + NEEDARG|WORD1|NOTRLCOM|TRLBAR), EX(CMD_caddfile, "caddfile", ex_cfile, TRLBAR|FILE1), EX(CMD_call, "call", ex_call, @@ -214,11 +214,11 @@ EX(CMD_cfile, "cfile", ex_cfile, EX(CMD_cfirst, "cfirst", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_cgetfile, "cgetfile", ex_cfile, - TRLBAR|FILE1|BANG), + TRLBAR|FILE1), EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_cgetexpr, "cgetexpr", ex_cexpr, - NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), + NEEDARG|WORD1|NOTRLCOM|TRLBAR), EX(CMD_chdir, "chdir", ex_cd, BANG|FILE1|TRLBAR|CMDWIN), EX(CMD_changes, "changes", ex_changes, @@ -490,7 +490,7 @@ EX(CMD_last, "last", ex_last, EX(CMD_language, "language", ex_language, EXTRA|TRLBAR|CMDWIN), EX(CMD_laddexpr, "laddexpr", ex_cexpr, - NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), + NEEDARG|WORD1|NOTRLCOM|TRLBAR), EX(CMD_laddbuffer, "laddbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_laddfile, "laddfile", ex_cfile, @@ -520,11 +520,11 @@ EX(CMD_lfile, "lfile", ex_cfile, EX(CMD_lfirst, "lfirst", ex_cc, RANGE|NOTADR|COUNT|TRLBAR|BANG), EX(CMD_lgetfile, "lgetfile", ex_cfile, - TRLBAR|FILE1|BANG), + TRLBAR|FILE1), EX(CMD_lgetbuffer, "lgetbuffer", ex_cbuffer, RANGE|NOTADR|WORD1|TRLBAR), EX(CMD_lgetexpr, "lgetexpr", ex_cexpr, - NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG), + NEEDARG|WORD1|NOTRLCOM|TRLBAR), EX(CMD_lgrep, "lgrep", ex_make, RANGE|NOTADR|BANG|NEEDARG|EXTRA|NOTRLCOM|TRLBAR|XFILE), EX(CMD_lgrepadd, "lgrepadd", ex_make, diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 7071794c9..582613e12 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -12,15 +12,10 @@ */ #if defined(WIN32) && defined(FEAT_CSCOPE) -# include "vimio.h" +# include "vimio.h" /* for mch_open(), must be before vim.h */ #endif #include "vim.h" - -#if defined(WIN32) && defined(FEAT_CSCOPE) -# include <fcntl.h> -#endif - #include "version.h" static void cmd_source __ARGS((char_u *fname, exarg_T *eap)); @@ -43,8 +38,8 @@ typedef struct scriptitem_S int sn_pr_nest; /* nesting for sn_pr_child */ /* profiling the script as a whole */ int sn_pr_count; /* nr of times sourced */ - proftime_T sn_pr_total; /* time spend in script + children */ - proftime_T sn_pr_self; /* time spend in script itself */ + proftime_T sn_pr_total; /* time spent in script + children */ + proftime_T sn_pr_self; /* time spent in script itself */ proftime_T sn_pr_start; /* time at script start */ proftime_T sn_pr_children; /* time in children after script start */ /* profiling the script per line */ @@ -65,8 +60,8 @@ static garray_T script_items = {0, 0, sizeof(scriptitem_T), 4, NULL}; typedef struct sn_prl_S { int snp_count; /* nr of times line was executed */ - proftime_T sn_prl_total; /* time spend in a line + children */ - proftime_T sn_prl_self; /* time spend in a line itself */ + proftime_T sn_prl_total; /* time spent in a line + children */ + proftime_T sn_prl_self; /* time spent in a line itself */ } sn_prl_T; # define PRL_ITEM(si, idx) (((sn_prl_T *)(si)->sn_prl_ga.ga_data)[(idx)]) @@ -3579,7 +3574,7 @@ script_line_start() si = &SCRIPT_ITEM(current_SID); if (si->sn_prof_on && sourcing_lnum >= 1) { - /* Grow the array before starting the timer, so that the time spend + /* Grow the array before starting the timer, so that the time spent * here isn't counted. */ ga_grow(&si->sn_prl_ga, (int)(sourcing_lnum - si->sn_prl_ga.ga_len)); si->sn_prl_idx = sourcing_lnum - 1; @@ -4024,7 +4019,13 @@ ex_language(eap) loc = ""; else #endif + { loc = setlocale(what, (char *)name); +#if defined(FEAT_FLOAT) && defined(LC_NUMERIC) + /* Make sure strtod() uses a decimal point, not a comma. */ + setlocale(LC_NUMERIC, "C"); +#endif + } if (loc == NULL) EMSG2(_("E197: Cannot set language to \"%s\""), name); else diff --git a/src/farsi.c b/src/farsi.c index 8728e8582..7fee615f9 100644 --- a/src/farsi.c +++ b/src/farsi.c @@ -1939,7 +1939,9 @@ lrFswap(cmdbuf, len) } /* - * Reverse the characters in the search path and substitute section accordingly + * Reverse the characters in the search path and substitute section + * accordingly. + * TODO: handle different separator characters. Use skip_regexp(). */ char_u * lrF_sub(ibuf) diff --git a/src/fold.c b/src/fold.c index 4daaf70ed..41cdd1a68 100644 --- a/src/fold.c +++ b/src/fold.c @@ -2076,7 +2076,7 @@ foldtext_cleanup(str) { while (vim_iswhite(s[len])) ++len; - mch_memmove(s, s + len, STRLEN(s + len) + 1); + STRMOVE(s, s + len); } else { diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 207e33eb3..d01a831b5 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -6476,6 +6476,11 @@ gui_mch_wait_for_chars(long wtime) focus = gui.in_focus; } +#if defined(FEAT_NETBEANS_INTG) + /* Process the queued netbeans messages. */ + netbeans_parse_messages(); +#endif + /* * Loop in GTK+ processing until a timeout or input occurs. * Skip this if input is available anyway (can happen in rare diff --git a/src/main.c b/src/main.c index 2a02615f4..31c11c784 100644 --- a/src/main.c +++ b/src/main.c @@ -18,10 +18,6 @@ # include <spawno.h> /* special MS-DOS swapping library */ #endif -#ifdef HAVE_FCNTL_H -# include <fcntl.h> -#endif - #ifdef __CYGWIN__ # ifndef WIN32 # include <sys/cygwin.h> /* for cygwin_conv_to_posix_path() */ @@ -1368,6 +1364,12 @@ get_number_arg(p, idx, def) init_locale() { setlocale(LC_ALL, ""); + +# if defined(FEAT_FLOAT) && defined(LC_NUMERIC) + /* Make sure strtod() uses a decimal point, not a comma. */ + setlocale(LC_NUMERIC, "C"); +# endif + # ifdef WIN32 /* Apparently MS-Windows printf() may cause a crash when we give it 8-bit * text while it's expecting text in the current locale. This call avoids diff --git a/src/memfile.c b/src/memfile.c index f1ce68143..dd8dc13d4 100644 --- a/src/memfile.c +++ b/src/memfile.c @@ -38,10 +38,6 @@ #include "vim.h" -#ifdef HAVE_FCNTL_H -# include <fcntl.h> -#endif - /* * Some systems have the page size in statfs.f_bsize, some in stat.st_blksize */ diff --git a/src/memline.c b/src/memline.c index 55d0a3273..99293803a 100644 --- a/src/memline.c +++ b/src/memline.c @@ -43,14 +43,11 @@ */ #if defined(MSDOS) || defined(WIN32) || defined(_WIN64) -# include "vimio.h" +# include "vimio.h" /* for mch_open(), must be before vim.h */ #endif #include "vim.h" -#ifdef HAVE_FCNTL_H -# include <fcntl.h> -#endif #ifndef UNIX /* it's in os_unix.h for Unix */ # include <time.h> #endif @@ -3435,7 +3432,8 @@ ml_add_stack(buf) (buf->b_ml.ml_stack_size + STACK_INCR)); if (newstack == NULL) return -1; - mch_memmove(newstack, buf->b_ml.ml_stack, (size_t)top * sizeof(infoptr_T)); + mch_memmove(newstack, buf->b_ml.ml_stack, + (size_t)top * sizeof(infoptr_T)); vim_free(buf->b_ml.ml_stack); buf->b_ml.ml_stack = newstack; buf->b_ml.ml_stack_size += STACK_INCR; diff --git a/src/menu.c b/src/menu.c index f0683512e..94e5938d7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -152,7 +152,7 @@ ex_menu(eap) while (*arg != NUL && *arg != ' ') { if (*arg == '\\') - mch_memmove(arg, arg + 1, STRLEN(arg)); + STRMOVE(arg, arg + 1); mb_ptr_adv(arg); } if (*arg != NUL) @@ -300,7 +300,7 @@ ex_menu(eap) else if (STRNICMP(arg, "<TAB>", 5) == 0) { *arg = TAB; - mch_memmove(arg + 1, arg + 5, STRLEN(arg + 4)); + STRMOVE(arg + 1, arg + 5); } arg++; } @@ -1442,7 +1442,7 @@ menu_name_skip(name) { if (*p == '\\' || *p == Ctrl_V) { - mch_memmove(p, p + 1, STRLEN(p)); + STRMOVE(p, p + 1); if (*p == NUL) break; } @@ -1659,7 +1659,7 @@ menu_text(str, mnemonic, actext) *mnemonic = c; } #endif - mch_memmove(p, p + 1, STRLEN(p)); + STRMOVE(p, p + 1); p = p + 1; } } diff --git a/src/misc1.c b/src/misc1.c index 1992cf997..a626182ac 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -14,10 +14,6 @@ #include "vim.h" #include "version.h" -#ifdef HAVE_FCNTL_H -# include <fcntl.h> /* for chdir() */ -#endif - static char_u *vim_version_dir __ARGS((char_u *vimdir)); static char_u *remove_tail __ARGS((char_u *p, char_u *pend, char_u *name)); static int copy_indent __ARGS((int size, char_u *src)); @@ -8680,7 +8676,7 @@ dos_expandpath( for (p = buf + wildoff; p < s; ++p) if (rem_backslash(p)) { - mch_memmove(p, p + 1, STRLEN(p)); + STRMOVE(p, p + 1); --e; --s; } @@ -8981,7 +8977,7 @@ unix_expandpath(gap, path, wildoff, flags, didstar) for (p = buf + wildoff; p < s; ++p) if (rem_backslash(p)) { - mch_memmove(p, p + 1, STRLEN(p)); + STRMOVE(p, p + 1); --e; --s; } diff --git a/src/nbdebug.h b/src/nbdebug.h index 3baeca4dd..65bb940b5 100644 --- a/src/nbdebug.h +++ b/src/nbdebug.h @@ -23,7 +23,7 @@ } #endif -#define nbdebug(a) nbdbg##a +#define nbdebug(a) nbdbg a #define NB_TRACE 0x00000001 #define NB_TRACE_VERBOSE 0x00000002 diff --git a/src/os_amiga.c b/src/os_amiga.c index f05410341..3c96e64fd 100644 --- a/src/os_amiga.c +++ b/src/os_amiga.c @@ -19,10 +19,6 @@ # undef Window /* Amiga has its own Window definition */ #endif -#ifdef HAVE_FCNTL_H -# include <fcntl.h> -#endif - #undef TRUE /* will be redefined by exec/types.h */ #undef FALSE diff --git a/src/os_win16.c b/src/os_win16.c index e92034cc5..2afaddcba 100644 --- a/src/os_win16.c +++ b/src/os_win16.c @@ -23,7 +23,6 @@ #include "vimio.h" #include "vim.h" -#include <fcntl.h> #include <dos.h> #include <string.h> #include <sys/types.h> diff --git a/src/os_win16.h b/src/os_win16.h index 7dd3b9fd0..17f876c7c 100644 --- a/src/os_win16.h +++ b/src/os_win16.h @@ -27,6 +27,7 @@ #define HAVE_FCNTL_H #define HAVE_QSORT #define HAVE_ST_MODE /* have stat.st_mode */ +#define HAVE_MATH_H //#define USE_FNAME_CASE /* adjust case of file names */ #ifndef FEAT_CLIPBOARD # define FEAT_CLIPBOARD /* include clipboard support */ diff --git a/src/po/ca.po b/src/po/ca.po index b7088e058..54623b2e5 100644 --- a/src/po/ca.po +++ b/src/po/ca.po @@ -1,17 +1,20 @@ # Catalan messages for vim. -# Copyright (C) 2003, 2004, Ernest Adrogu <eadrogue@gmx.net>. +# Copyright (C) 2003-2008 Ernest Adrogu <eadrogue@gmx.net>. # This file is distributed under the GNU General Public License. # msgid "" msgstr "" -"Project-Id-Version: vim 6.2\n" -"POT-Creation-Date: 2003-11-01 20:10+0100\n" -"PO-Revision-Date: 2004-01-19 13:57+0100\n" +"Project-Id-Version: vim 7.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-05-24 14:27+0200\n" +"PO-Revision-Date: 2008-06-06 14:40+0100\n" "Last-Translator: Ernest Adrogu <eadrogue@gmx.net>\n" "Language-Team: Catalan <ca@dodds.net>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Catalan\n" +"X-Poedit-Country: SPAIN\n" msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: No s'ha pogut assignar memria per cap buffer, sortint..." @@ -22,7 +25,6 @@ msgstr "E83: No s'ha pogut assignar memria pel buffer, usant-ne un altre..." # unload: Treu el buffer de la memria per el deixa a la llista # delete: Treu el buffer de la memria i de la llista de buffers # wipe out: Elimina el buffer amb totes les opcions, marques, etc. -# msgid "E515: No buffers were unloaded" msgstr "E515: No s'ha alliberat cap buffer" @@ -61,8 +63,8 @@ msgid "E85: There is no listed buffer" msgstr "E85: No hi ha cap buffer a la llista" #, c-format -msgid "E86: Cannot go to buffer %ld" -msgstr "E86: No s'ha pogut anar al buffer %ld" +msgid "E86: Buffer %ld does not exist" +msgstr "E86: El buffer %ld no existeix" msgid "E87: Cannot go beyond last buffer" msgstr "E87: No es pot anar ms enll de l'ltim buffer" @@ -86,11 +88,11 @@ msgstr "E92: No s'ha trobat el buffer %ld" #, c-format msgid "E93: More than one match for %s" -msgstr "E93: Hi ha ms d'una coincidncia per %s" +msgstr "E93: Hi ha ms d'una coincidncia per a %s" #, c-format msgid "E94: No matching buffer for %s" -msgstr "E94: No hi ha cap coincidncia per %s" +msgstr "E94: No hi ha cap coincidncia per a %s" #, c-format msgid "line %ld" @@ -109,7 +111,7 @@ msgid "[New file]" msgstr "[Fitxer nou]" msgid "[Read errors]" -msgstr "[Lectura errnia]" +msgstr "[Errors de lectura]" msgid "[readonly]" msgstr "[noms lectura]" @@ -126,15 +128,15 @@ msgstr "%ld lnies --%d%%--" msgid "line %ld of %ld --%d%%-- col " msgstr "lnia %ld de %ld --%d%%-- col " -msgid "[No file]" -msgstr "[Cap fitxer]" +msgid "[No Name]" +msgstr "[Sense nom]" #. must be a help buffer msgid "help" msgstr "ajuda" -msgid "[help]" -msgstr "[ajuda]" +msgid "[Help]" +msgstr "[Ajuda]" msgid "[Preview]" msgstr "[Vista prvia]" @@ -148,25 +150,30 @@ msgstr "Baix" msgid "Top" msgstr "Dalt" +#, c-format msgid "" "\n" "# Buffer list:\n" -msgstr "\n# Llista de buffers:\n" +msgstr "" +"\n" +"# Llista de buffers:\n" -msgid "[Error List]" -msgstr "[Llista d'errors]" +msgid "[Location List]" +msgstr "[Llista de posicions]" -msgid "[No File]" -msgstr "[Cap fitxer]" +msgid "[Quickfix List]" +msgstr "[Llista Quickfix]" msgid "" "\n" "--- Signs ---" -msgstr "\n--- Senyals ---" +msgstr "" +"\n" +"--- Senyals ---" #, c-format msgid "Signs for %s:" -msgstr "Senyals per %s:" +msgstr "Senyals per a %s:" #, c-format msgid " line=%ld id=%d name=%s" @@ -189,6 +196,9 @@ msgstr "E98: No s'ha pogut llegir la sortida de diff" msgid "E99: Current buffer is not in diff mode" msgstr "E99: El buffer actual no es troba en mode diff" +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: No hi ha cap altre buffer en mode diff que sigui modificable" + msgid "E100: No other buffer in diff mode" msgstr "E100: No hi ha cap altre buffer en mode diff" @@ -203,6 +213,9 @@ msgstr "E102: No s'ha trobat el buffer \"%s\"" msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: El buffer \"%s\" no es troba en mode diff" +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: El buffer ha canviat inesperadament" + msgid "E104: Escape not allowed in digraph" msgstr "E104: No es permeten carcters d'escapada en un dgraf" @@ -213,61 +226,73 @@ msgstr "E544: No s'ha trobat el fitxer de mapa de tecles" msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: L'ordre :loadkeymap noms es pot usar en fitxers" +msgid "E791: Empty keymap entry" +msgstr "E791: Entrada al mapa de tecles no cont res" + # buscar un nom, en lloc del verb completar. eac -msgid " Keyword completion (^N/^P)" -msgstr " Completar paraules clau (^N/^P)" +msgid " Keyword completion (^N^P)" +msgstr " Compleci de paraules clau (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -msgid " ^X mode (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)" -msgstr " Mode ^X (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)" +msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" +msgstr " Mode ^X (^]^D^E^F^|^K^L^N^O^Ps^U^V^Y)" # buscar un nom, en lloc del verb completar. eac -#. Scroll has it's own msgs, in it's place there is the msg for local -#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo -msgid " Keyword Local completion (^N/^P)" -msgstr " Completar paraules clau locals (^N/^P)" +msgid " Whole line completion (^L^N^P)" +msgstr " Compleci de lnies senceres (^L^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Whole line completion (^L/^N/^P)" -msgstr " Completar lnies senceres (^L/^N/^P)" +msgid " File name completion (^F^N^P)" +msgstr " Compleci de noms de fitxer (^F^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " File name completion (^F/^N/^P)" -msgstr " Completar noms de fitxer (^F/^N/^P)" +msgid " Tag completion (^]^N^P)" +msgstr " Compleci d'etiquetes (^]^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Tag completion (^]/^N/^P)" -msgstr " Completar etiquetes (^]/^N/^P)" +msgid " Path pattern completion (^N^P)" +msgstr " Compleci d'ubicacions (^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Path pattern completion (^N/^P)" -msgstr " Completar ubicacions (^N/^P)" +msgid " Definition completion (^D^N^P)" +msgstr " Compleci de definicions (^D^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Definition completion (^D/^N/^P)" -msgstr " Completar definicions (^D/^N/^P)" +msgid " Dictionary completion (^K^N^P)" +msgstr " Compleci de paraules de diccionari (^K^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Dictionary completion (^K/^N/^P)" -msgstr " Completar paraules de diccionari (^K/^N/^P)" +msgid " Thesaurus completion (^T^N^P)" +msgstr " Compleci de sinnims (^T^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Thesaurus completion (^T/^N/^P)" -msgstr " Completar sinnims (^T/^N/^P)" +msgid " Command-line completion (^V^N^P)" +msgstr " Compleci d'ordres (^V^N^P)" # buscar un nom, en lloc del verb completar. eac -msgid " Command-line completion (^V/^N/^P)" -msgstr " Completar ordres (^V/^N/^P)" +msgid " User defined completion (^U^N^P)" +msgstr " Compleci definida per l'usuari (^U^N^P)" + +# buscar un nom, en lloc del verb completar. eac +msgid " Omni completion (^O^N^P)" +msgstr " Omni-compleci (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr "Suggeriment ortogrfic (s^N^P)" + +# buscar un nom, en lloc del verb completar. eac +msgid " Keyword Local completion (^N^P)" +msgstr " Compleci de paraules clau locals (^N^P)" msgid "Hit end of paragraph" msgstr "S'ha arribat al final del pargraf" -msgid "'thesaurus' option is empty" -msgstr "L'opci 'thesaurus' no est definida" - msgid "'dictionary' option is empty" msgstr "L'opci 'dictionary' no est definida" +msgid "'thesaurus' option is empty" +msgstr "L'opci 'thesaurus' no est definida" + #, c-format msgid "Scanning dictionary: %s" msgstr "S'est examinant el diccionari: %s" @@ -282,8 +307,9 @@ msgstr " (substituir) Desplaar (^E/^Y)" msgid "Scanning: %s" msgstr "Examinant: %s" +#, c-format msgid "Scanning tags." -msgstr "S'estan examinant les etiquetes." +msgstr "Examinant les etiquetes." msgid " Adding" msgstr " Afegint" @@ -302,7 +328,7 @@ msgid "Word from other line" msgstr "Paraula d'una altra lnia" msgid "The only match" -msgstr "nica coincidncia" +msgstr "L'nica coincidncia" #, c-format msgid "match %d of %d" @@ -312,28 +338,138 @@ msgstr "coincidncia %d de %d" msgid "match %d" msgstr "coincidncia %d" -#. Skip further arguments but do continue to -#. * search for a trailing command. +msgid "E18: Unexpected characters in :let" +msgstr "E18: Carcters inesperats :let" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: ndex de llista fora d'abast: %ld" + +#, c-format +msgid "E121: Undefined variable: %s" +msgstr "E121: Variable no definida: %s" + +msgid "E111: Missing ']'" +msgstr "E111: Falta un ']'" + #, c-format -msgid "E106: Unknown variable: \"%s\"" -msgstr "E106: La variable s desconeguda: \"%s\"" +msgid "E686: Argument of %s must be a List" +msgstr "E686: L'argument de %s ha de ser una llista" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: L'argument de %s ha de ser una llista o un diccionari" + +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Els diccionaris no admeten claus buides" + +msgid "E714: List required" +msgstr "E714: Es requereix una llista" + +msgid "E715: Dictionary required" +msgstr "E715: Es requereix un diccionari" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Massa arguments per a la funci: %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: La clau no existeix al diccionari: %s" + +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: La funci %s ja existeix, afegiu ! per substituir-la" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Ja existeix l'entrada al diccionari" + +msgid "E718: Funcref required" +msgstr "E718: Es requereix una referncia de funci" + +msgid "E719: Cannot use [:] with a Dictionary" +msgstr "E719: No es pot usar [:] amb un diccionari" + +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Tipus de variable incorrecte per a %s=" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Funci desconeguda: %s" + +#, c-format +msgid "E461: Illegal variable name: %s" +msgstr "E461: El nom de la variable s illegal: %s" + +msgid "E687: Less targets than List items" +msgstr "E687: Hi ha menys valors objectiu que elements a la llista" + +msgid "E688: More targets than List items" +msgstr "E688: Hi ha ms valors objectiu que elements a la llista" + +msgid "Double ; in list of variables" +msgstr "Doble ; a la llista de variables" + +#, c-format +msgid "E738: Can't list variables for %s" +msgstr "E738: No es poden llistar les variables per a %s" + +msgid "E689: Can only index a List or Dictionary" +msgstr "E689: Noms admeten ndexs les llistes i els diccionaris" + +msgid "E708: [:] must come last" +msgstr "E708: [:] ha d'anar al final" + +msgid "E709: [:] requires a List value" +msgstr "E709: [:] requereix un valor tipus llista" + +msgid "E710: List value has more items than target" +msgstr "E710: La llista t ms elements que valors objectiu" + +msgid "E711: List value has not enough items" +msgstr "E711: La llista no t prou elements" + +msgid "E690: Missing \"in\" after :for" +msgstr "E690: Falta un \"in\" desprs de :for" #, c-format msgid "E107: Missing braces: %s" -msgstr "E107: Falten parntesis: %s" +msgstr "E107: Falten claus '{}': %s" #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: No existeix tal variable: \"%s\"" +msgid "E743: variable nested too deep for (un)lock" +msgstr "E743: variable est massa imbricada per a (des)bloquejar-la" + msgid "E109: Missing ':' after '?'" msgstr "E109: Falta un ':' desprs de '?'" +msgid "E691: Can only compare List with List" +msgstr "E691: Una llista noms es pot comparar amb una llista" + +msgid "E692: Invalid operation for Lists" +msgstr "E692: Operaci no vlida en llistes" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Un diccionari noms es pot comparar amb un diccionari" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Operaci no vlida en diccionaris" + +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Una referncia de funci noms es pot comparar amb una referncia de funci" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Operaci no vlida per a referncies de funcions" + msgid "E110: Missing ')'" msgstr "E110: Falta un ')'" -msgid "E111: Missing ']'" -msgstr "E111: Falta un ']'" +msgid "E695: Cannot index a Funcref" +msgstr "E695: No es pot indexar una referncia de funci" #, c-format msgid "E112: Option name missing: %s" @@ -341,7 +477,7 @@ msgstr "E112: Falta el nom de l'opci: %s" #, c-format msgid "E113: Unknown option: %s" -msgstr "E113: L'opci s desconeguda: %s" +msgstr "E113: Opci desconeguda: %s" #, c-format msgid "E114: Missing quote: %s" @@ -352,25 +488,53 @@ msgid "E115: Missing quote: %s" msgstr "E115: Falten cometes: %s" #, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Arguments no vlids per la funci %s" +msgid "E696: Missing comma in List: %s" +msgstr "E696: Falta una coma a la llista: %s" #, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: La funci s desconeguda: %s" +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Falta un final de llista ']': %s" #, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Massa arguments per la funci: %s" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Falta un carcter de dos punts al diccionari: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Clau duplicada al diccionari: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Falta una coma al diccionari: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Falta un final de diccionari '}': %s" + +msgid "E724: variable nested too deep for displaying" +msgstr "E724: variable imbricada massa profundament per a mostrar-la" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Funci desconeguda: %s" #, c-format msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Falten arguments per la funci: %s" +msgstr "E119: Falten arguments per a la funci: %s" -# traducci "lliure". eac #, c-format msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: Heu usat <SID> en un context no vlid: %s" +msgstr "E120: s de <SID> en un context no vlid: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Crida a una funci dict sense diccionari: %s" + +msgid "E699: Too many arguments" +msgstr "E699: Sobren arguments" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() noms es pot utilitzar en el mode d'inserci" #. #. * Yes this is ugly, I don't particularly like it either. But doing it @@ -381,9 +545,17 @@ msgid "&Ok" msgstr "&D'acord" #, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: La clau ja existeix: %s" + +#, c-format msgid "+-%s%3ld lines: " msgstr "+-%s%3ld lnies: " +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Funci desconeguda: %s" + msgid "" "&OK\n" "&Cancel" @@ -394,39 +566,95 @@ msgstr "" msgid "called inputrestore() more often than inputsave()" msgstr "s'ha cridat inputrestore() ms sovint que inputsave()" +msgid "E786: Range not allowed" +msgstr "E786: Interval no perms" + +msgid "E701: Invalid type for len()" +msgstr "E701: El tipus per a len() no s vlid" + +msgid "E726: Stride is zero" +msgstr "E726: L'increment entre passos s zero" + +msgid "E727: Start past end" +msgstr "E727: Inici ms enll del final" + +msgid "<empty>" +msgstr "<buit>" + msgid "E240: No connection to Vim server" msgstr "E240: No hi ha connexi amb el servidor Vim" +# res ? eac +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: No s'ha pogut enviar a %s" + msgid "E277: Unable to read a server reply" msgstr "E277: No s'ha pogut llegir la resposta del servidor" +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Massa enllaos simblics (circulars?)" + # res ? eac msgid "E258: Unable to send to client" -msgstr "E258: No s'ha pogut enviar res al client" +msgstr "E258: No s'ha pogut enviar al client" -# res ? eac -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: No s'ha pogut enviar res a %s" +msgid "E702: Sort compare function failed" +msgstr "E702: La funci ordena-compara ha fallat" msgid "(Invalid)" msgstr "(No vlid)" +msgid "E677: Error writing temp file" +msgstr "E677: Error en escriure el fitxer temporal" + +msgid "E703: Using a Funcref as a number" +msgstr "E703: s d'una referncia de funci com a nmero" + +msgid "E745: Using a List as a number" +msgstr "E745: s d'una llista com a nmero" + +msgid "E728: Using a Dictionary as a number" +msgstr "E728: s d'un diccionari com a nmero" + +msgid "E729: using Funcref as a String" +msgstr "E729: s d'una referncia de funci com a cadena" + +msgid "E730: using List as a String" +msgstr "E730: s d'una llista com a cadena" + +msgid "E731: using Dictionary as a String" +msgstr "E731: s d'un diccionari com a cadena" + #, c-format -msgid "E121: Undefined variable: %s" -msgstr "E121: La variable no est definida: %s" +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: El nom d'una variable Funcref ha de comenar en majscula: %s" #, c-format -msgid "E461: Illegal variable name: %s" -msgstr "E461: El nom de la variable s illegal: %s" +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: El nom de la variable entra en conflicte amb una funci existent: %s" #, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: La funci %s ja existeix, afegiu ! per substituir-la" +msgid "E706: Variable type mismatch for: %s" +msgstr "E706: Tipus de variables no coincidents: %s" + +#, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: No s'ha pogut eliminar la variable %s" + +#, c-format +msgid "E741: Value is locked: %s" +msgstr "E741: El valor est bloquejat: %s" + +msgid "Unknown" +msgstr "Desconegut" #, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: La funci no est definida: %s" +msgid "E742: Cannot change value of %s" +msgstr "E742: No s'ha pogut canviar el valor de %s" + +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: la variable est massa imbricada per fer-ne una cpia" #, c-format msgid "E124: Missing '(': %s" @@ -434,37 +662,32 @@ msgstr "E124: Falta un '(': %s" #, c-format msgid "E125: Illegal argument: %s" -msgstr "E125: L'argument s illegal: %s" +msgstr "E125: Argument illegal: %s" msgid "E126: Missing :endfunction" -msgstr "E126: Falta una declaraci :endfunction" +msgstr "E126: Falta un :endfunction" #, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: No s'ha pogut redefinir la funci %s: s'est utilitzant" +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: El nom de la funci no coincideix amb el nom de l'script: %s" msgid "E129: Function name required" -msgstr "E129: Es requereix un nom de funci" +msgstr "E129: Es necessita un nom de funci" #, c-format -msgid "E128: Function name must start with a capital: %s" -msgstr "E128: El nom de la funci ha de comenar en majscula: %s" - -#, c-format -msgid "E130: Undefined function: %s" -msgstr "E130: La funci no est definida: %s" +msgid "E128: Function name must start with a capital or contain a colon: %s" +msgstr "E128: El nom de la funci ha de comenar en majscula o contenir dos punts: %s" #, c-format msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: No s'ha pogut eliminar la funci %s: s'est utilitzant" +msgstr "E131: No s'ha pogut eliminar la funci %s: S'est utilitzant" msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: La profunditat de crides a funcions s superior a 'maxfuncdeptg'" +msgstr "E132: Profunditat de crides a funcions superior a 'maxfuncdeptg'" -#. always scroll up, don't overwrite #, c-format msgid "calling %s" -msgstr "cridant a %s" +msgstr "cridant %s" #, c-format msgid "%s aborted" @@ -475,24 +698,33 @@ msgid "%s returning #%ld" msgstr "%s ha retornat #%ld" #, c-format -msgid "%s returning \"%s\"" +msgid "%s returning %s" msgstr "%s ha retornat \"%s\"" -#. always scroll up, don't overwrite #, c-format msgid "continuing in %s" msgstr "continuant a %s" msgid "E133: :return not inside a function" -msgstr "E133: L'ordre :return no es troba dins d'una funci" +msgstr "E133: :return fora d'una funci" +#, c-format msgid "" "\n" "# global variables:\n" -msgstr "\n# variables globals:\n" +msgstr "" +"\n" +"# variables globals:\n" + +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tDefinit per ltim cop a " msgid "Entering Debug mode. Type \"cont\" to continue." -msgstr "Mode de depuraci. Escriviu \"cont\" per continuar." +msgstr "Entrant en mode de depuraci. Escriviu \"cont\" per a continuar." #, c-format msgid "line %ld: %s" @@ -508,7 +740,7 @@ msgstr "Punt de ruptura a \"%s%s\" lnia %ld" #, c-format msgid "E161: Breakpoint not found: %s" -msgstr "E161: No s'ha trobat el punt de ruptura: %s" +msgstr "E161: Punt de ruptura no trobat: %s" msgid "No breakpoints defined" msgstr "No s'han definit punts de ruptura" @@ -517,13 +749,16 @@ msgstr "No s'han definit punts de ruptura" msgid "%3d %s %s line %ld" msgstr "%3d %s %s lnia %ld" +msgid "E750: First use :profile start <fname>" +msgstr "E750: Primer useu :profile start <nomfitxer>" + # Ttol d'un dileg [:browse w]. eac msgid "Save As" msgstr "Anomena i desa" #, c-format -msgid "Save changes to \"%.*s\"?" -msgstr "Voleu desar els canvis a \"%.*s\"?" +msgid "Save changes to \"%s\"?" +msgstr "Voleu desar els canvis a \"%s\"?" msgid "Untitled" msgstr "Sense-nom" @@ -545,6 +780,10 @@ msgid "E165: Cannot go beyond last file" msgstr "E165: No es pot anar ms enll de l'ltim fitxer" #, c-format +msgid "E666: compiler not supported: %s" +msgstr "E666: el compilador no est suportat: %s" + +#, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "Cercant \"%s\" a \"%s\"" @@ -559,31 +798,46 @@ msgstr "no s'ha trobat en el 'runtimepath': \"%s\"" # Ttol d'un dileg [:browse source]. eac msgid "Source Vim script" -msgstr "Executa un script Vim" +msgstr "Interpreta un script Vim" #, c-format msgid "Cannot source a directory: \"%s\"" -msgstr "No es pot executar un directori: \"%s\"" +msgstr "No es pot interpretar un directori: \"%s\"" #, c-format msgid "could not source \"%s\"" -msgstr "no s'ha pogut executar \"%s\"" +msgstr "no s'ha pogut interpretar \"%s\"" #, c-format msgid "line %ld: could not source \"%s\"" -msgstr "lnia %ld: no s'ha pogut executar \"%s\"" +msgstr "lnia %ld: no s'ha pogut interpretar \"%s\"" #, c-format msgid "sourcing \"%s\"" -msgstr "executant \"%s\"" +msgstr "interpretant \"%s\"" #, c-format msgid "line %ld: sourcing \"%s\"" -msgstr "lnia %ld: executant \"%s\"" +msgstr "lnia %ld: interpretant \"%s\"" #, c-format msgid "finished sourcing %s" -msgstr "ha finalitzat l'execuci de %s" +msgstr "ha finalitzat l'interpretaci de %s" + +msgid "modeline" +msgstr "modeline" + +msgid "--cmd argument" +msgstr "--cmd argument" + +msgid "-c argument" +msgstr "-c argument" + +msgid "environment variable" +msgstr "variable d'entorn" + +msgid "error handler" +msgstr "gestor d'errors" msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "W15: Atenci: El separador de lnia no s vlid, potser falta un ^M" @@ -596,78 +850,6 @@ msgstr "E167: L'ordre :scriptencoding noms es pot utilitzar en scripts" msgid "E168: :finish used outside of a sourced file" msgstr "E168: L'ordre :finish noms es pot utilitzar en scripts" -#, c-format -msgid "Page %d" -msgstr "Pgina %d" - -msgid "No text to be printed" -msgstr "No hi ha text per imprimir" - -#, c-format -msgid "Printing page %d (%d%%)" -msgstr "S'est imprimint la pgina %d (%d%%)" - -#, c-format -msgid " Copy %d of %d" -msgstr " Cpia %d de %d" - -#, c-format -msgid "Printed: %s" -msgstr "S'ha imprs: %s" - -msgid "Printing aborted" -msgstr "S'ha avortat l'impressi" - -msgid "E455: Error writing to PostScript output file" -msgstr "E455: Error en escriure el fitxer PostScript" - -#, c-format -msgid "E624: Can't open file \"%s\"" -msgstr "E624: No s'ha pogut obrir el fitxer \"%s\"" - -#, c-format -msgid "E457: Can't read PostScript resource file \"%s\"" -msgstr "E457: No s'ha pogut llegir el fitxer de recursos PostScript \"%s\"" - -#, c-format -msgid "E618: file \"%s\" is not a PostScript resource file" -msgstr "E618: El fitxer \"%s\" no s un fitxer de recursos PostScript" - -#, c-format -msgid "E619: file \"%s\" is not a supported PostScript resource file" -msgstr "E619: El fitxer de recursos PostScript \"%s\" no est suportat" - -#, c-format -msgid "E621: \"%s\" resource file has wrong version" -msgstr "E621: La versi del fitxer de recursos \"%s\" no s vlida" - -msgid "E324: Can't open PostScript output file" -msgstr "E324: No s'ha pogut obrir el fitxer PostScript generat" - -#, c-format -msgid "E456: Can't open file \"%s\"" -msgstr "E456: No s'ha pogut obrir el fitxer \"%s\"" - -msgid "E456: Can't find PostScript resource file \"prolog.ps\"" -msgstr "E456: No s'ha trobat el fitxer de recursos PostScript \"prolog.ps\"" - -#, c-format -msgid "E456: Can't find PostScript resource file \"%s.ps\"" -msgstr "E456: No s'ha trobat el fitxer de recursos PostScript \"%s.ps\"" - -#, c-format -msgid "E620: Unable to convert from multi-byte to \"%s\" encoding" -msgstr "E620: No s'ha pogut convertir la codificaci multi-octet a \"%s\"" - -msgid "Sending to printer..." -msgstr "S'est enviant a la impressora..." - -msgid "E365: Failed to print PostScript file" -msgstr "E365: Error en imprimir el fitxer PostScript" - -msgid "Print job sent." -msgstr "S'ha enviat la tasca d'impressi." - # les cadenes substitudes no es poden tradur. eac #, c-format msgid "Current %slanguage: \"%s\"" @@ -682,6 +864,16 @@ msgstr "E197: No s'ha pogut canviar l'idioma a \"%s\"" msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, Hex %02x, Octal %03o" +# E.G: :ascii +#, c-format +msgid "> %d, Hex %04x, Octal %o" +msgstr "> %d, Hex %04x, Octal %o" + +# E.G: :ascii +#, c-format +msgid "> %d, Hex %08x, Octal %o" +msgstr "> %d, Hex %08x, Octal %o" + msgid "E134: Move lines into themselves" msgstr "E134: No es poden moure lnies cap a elles mateixes" @@ -707,7 +899,7 @@ msgid "%sviminfo: %s in line: " msgstr "%sviminfo: %s a la lnia: " msgid "E136: viminfo: Too many errors, skipping rest of file" -msgstr "E136: viminfo: Hi han massa errors, s'omet la resta del fitxer" +msgstr "E136: viminfo: Hi ha massa errors, s'omet la resta del fitxer" # les tres segents van juntes. eac #, c-format @@ -723,9 +915,10 @@ msgstr " per marques" msgid " FAILED" msgstr " ERROR" +#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" -msgstr "E137: El fitxer viminfo no es pot escriure: %s" +msgstr "E137: El fitxer viminfo no s modificable: %s" #, c-format msgid "E138: Can't write viminfo file %s!" @@ -740,22 +933,21 @@ msgstr "Escrivint el fitxer viminfo \"%s\"" msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Aquest fitxer viminfo ha estat generat pel Vim %s.\n" +#, c-format msgid "" "# You may edit it if you're careful!\n" "\n" -msgstr "# El podeu editar, si aneu amb compte!\n\n" +msgstr "" +"# El podeu editar si aneu amb compte!\n" +"\n" +#, c-format msgid "# Value of 'encoding' when this file was written\n" msgstr "# Valor de 'encoding' en el moment d'escriure aquest fitxer\n" msgid "Illegal starting char" msgstr "Carcter inicial illegal" -#. Overwriting a file that is loaded in another buffer is not a -#. * good idea. -msgid "E139: File is loaded in another buffer" -msgstr "E139: El fitxer est carregat en un altre buffer" - msgid "Write partial file?" msgstr "Voleu escriure un fitxer parcial?" @@ -763,23 +955,31 @@ msgid "E140: Use ! to write partial buffer" msgstr "E140: Useu ! per desar una part del buffer" #, c-format -msgid "Overwrite existing file \"%.*s\"?" -msgstr "Voleu sobrescriure el fitxer existent \"%.*s\"?" +msgid "Overwrite existing file \"%s\"?" +msgstr "Voleu sobrescriure el fitxer existent \"%s\"?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "El fitxer d'intercanvi \"%s\" existeix, sobreescriure igualment?" + +#, c-format +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: El fitxer d'intercanvi existeix: %s (:silent! per a confirmar)" #, c-format msgid "E141: No file name for buffer %ld" -msgstr "E141: No hi ha nom de fitxer pel buffer %ld" +msgstr "E141: No hi ha nom de fitxer per al buffer %ld" msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: No s'ha escrit el fitxer: L'opci 'write' ho impedeix" #, c-format msgid "" -"'readonly' option is set for \"%.*s\".\n" +"'readonly' option is set for \"%s\".\n" "Do you wish to write anyway?" msgstr "" -"L'opci 'readonly' est activa per \"%.*s\",\n" -"Voleu escriure'l de totes maneres?" +"L'opci 'readonly' est definida per a \"%s\".\n" +"Voleu escriure de totes maneres?" # s un ttol de dileg [:browse edit]. eac msgid "Edit File" @@ -790,10 +990,10 @@ msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: Una auto-ordre ha eliminat el buffer nou %s inesperadament" msgid "E144: non-numeric argument to :z" -msgstr "E144: Argument no numric per :z" +msgstr "E144: Argument no numric per a :z" msgid "E145: Shell commands not allowed in rvim" -msgstr "E145: Les ordres shell no estan permeses en rvim" +msgstr "E145: Les ordres shell no estan permeses en l'rvim" msgid "E146: Regular expressions can't be delimited by letters" msgstr "E146: Les expressions regulars no poden estar delimitades per lletres" @@ -806,10 +1006,17 @@ msgstr "substituir amb %s (y/n/a/q/l/^E/^Y)?" msgid "(Interrupted) " msgstr "(Interromput) " +msgid "1 match" +msgstr "1 coincidncia " + msgid "1 substitution" msgstr "1 substituci" #, c-format +msgid "%ld matches" +msgstr "%ld coincidncies" + +#, c-format msgid "%ld substitutions" msgstr "%ld substitucions" @@ -830,6 +1037,7 @@ msgstr "E148: Les ordres globals requereixen una expressi regular" msgid "Pattern found in every line: %s" msgstr "S'ha trobat el patr a cada lnia: %s" +#, c-format msgid "" "\n" "# Last Substitute String:\n" @@ -839,6 +1047,13 @@ msgstr "" "# ltima cadena substituda:\n" "$" +msgid "E478: Don't panic!" +msgstr "E478: Calma!" + +#, c-format +msgid "E661: Sorry, no '%s' help for %s" +msgstr "E661: No hi ha ajuda en '%s' per a %s" + #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: No hi ha ajuda per %s" @@ -860,8 +1075,12 @@ msgid "E153: Unable to open %s for reading" msgstr "E153: No s'ha pogut obrir %s amb perms de lectura" #, c-format -msgid "E154: Duplicate tag \"%s\" in file %s" -msgstr "E154: L'etiqueta \"%s\" est duplicada en el fitxer %s" +msgid "E670: Mix of help file encodings within a language: %s" +msgstr "E670: Conjunts de carcters diferents dins del mateix idioma: %s" + +#, c-format +msgid "E154: Duplicate tag \"%s\" in file %s/%s" +msgstr "E154: L'etiqueta \"%s\" est duplicada en el fitxer %s/%s" #, c-format msgid "E160: Unknown sign command: %s" @@ -871,7 +1090,7 @@ msgid "E156: Missing sign name" msgstr "E156: Falta el nom del senyal" msgid "E612: Too many signs defined" -msgstr "E612: Hi han massa senyals definits" +msgstr "E612: S'han definit massa senyals" #, c-format msgid "E239: Invalid sign text: %s" @@ -892,13 +1111,18 @@ msgstr "E158: El nom del buffer no s vlid: %s" msgid "E157: Invalid sign ID: %ld" msgstr "E157: L'ID del senyal no s vlida: %ld" +msgid " (NOT FOUND)" +msgstr " (NO TROBAT)" + +msgid " (not supported)" +msgstr " (no suportat)" + msgid "[Deleted]" msgstr "[Eliminat]" msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Mode Ex. Escriviu \"visual\" per tornar al mode Normal." -#. must be at EOF msgid "E501: At end-of-file" msgstr "E501: Final del fitxer" @@ -910,7 +1134,7 @@ msgid "E605: Exception not caught: %s" msgstr "E605: No s'ha interceptat l'excepci: %s" msgid "End of sourced file" -msgstr "Final del fitxer executat" +msgstr "Final del fitxer interpretat" msgid "End of function" msgstr "Final de la funci" @@ -921,9 +1145,6 @@ msgstr "E464: s ambigu d'una ordre definida per l'usuari" msgid "E492: Not an editor command" msgstr "E492: No s una ordre d'edici" -msgid "E478: Don't panic!" -msgstr "E478: Calma!" - msgid "E493: Backwards range given" msgstr "E493: Heu especificat un interval decreixent" @@ -960,7 +1181,9 @@ msgstr "E174: L'ordre ja existeix: afegiu ! per substituir-la" msgid "" "\n" " Name Args Range Complete Definition" -msgstr "\n Nom Args Abast Completar Definici" +msgstr "" +"\n" +" Nom Args Abast Completar Definici" msgid "No user-defined commands found" msgstr "No s'han trobat ordres definides per l'usuari" @@ -978,21 +1201,8 @@ msgid "E178: Invalid default value for count" msgstr "E178: El valor per omissi del comptador no s vlid" # completar eac -msgid "E179: argument required for complete" -msgstr "E179: La funci completar requereix un argument" - -# completar eac -#, c-format -msgid "E180: Invalid complete value: %s" -msgstr "E180: El valor per la funci completar no s vlid: %s" - -# completar eac -msgid "E467: Custom completion requires a function argument" -msgstr "E467: Els esquemes de completar requereixen una funci com a argument" - -# completar eac -msgid "E468: Completion argument only allowed for custom completion" -msgstr "E468: L'argument de completar noms est perms en esquemes personalitzats" +msgid "E179: argument required for -complete" +msgstr "E179: -complete requereix un argument" #, c-format msgid "E181: Invalid attribute: %s" @@ -1008,6 +1218,19 @@ msgstr "E183: Les ordres definides per l'usuari han de comenar en majscula" msgid "E184: No such user-defined command: %s" msgstr "E184: No existeix tal ordre definida per l'usuari: %s" +# completar eac +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: El valor per la funci completar no s vlid: %s" + +# completar eac +msgid "E468: Completion argument only allowed for custom completion" +msgstr "E468: L'argument de completar noms est perms en esquemes personalitzats" + +# completar eac +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Els esquemes de completar requereixen una funci com a argument" + #, c-format msgid "E185: Cannot find color scheme %s" msgstr "E185: No s'ha trobat l'esquema de colors %s" @@ -1015,10 +1238,20 @@ msgstr "E185: No s'ha trobat l'esquema de colors %s" msgid "Greetings, Vim user!" msgstr "Salutacions, usuari de Vim!" +msgid "E784: Cannot close last tab page" +msgstr "E784: No es pot tancar l'ltima pestanya" + +msgid "Already only one tab page" +msgstr "Noms hi ha una pestanya" + # Ttol d'un dileg [:browse split] eac msgid "Edit File in new window" msgstr "Edita un fitxer en una finestra nova" +#, c-format +msgid "Tab page %d" +msgstr "Pestanya %d" + msgid "No swap file" msgstr "No hi ha fitxer d'intercanvi" @@ -1026,6 +1259,9 @@ msgstr "No hi ha fitxer d'intercanvi" msgid "Append File" msgstr "Afegeix un fitxer" +msgid "E747: Cannot change directory, buffer is modifed (add ! to override)" +msgstr "E747: No es pot canviar de directori, el buffer ha estat modificat (afegiu ! per confirmar)" + msgid "E186: No previous directory" msgstr "E186: No hi ha cap directori anterior" @@ -1062,6 +1298,10 @@ msgid "Save Setup" msgstr "Desa la configuraci" #, c-format +msgid "E739: Cannot create directory: %s" +msgstr "E739: No s'ha pogut crear el directori: %s" + +#, c-format msgid "E189: \"%s\" exists (add ! to override)" msgstr "E189: \"%s\" existeix (afegiu ! per confirmar)" @@ -1172,14 +1412,20 @@ msgstr "E583: Mltiples :else" msgid "E584: :elseif after :else" msgstr "E584: Declaraci :elseif desprs de :else" -msgid "E585: :while nesting too deep" -msgstr "E585: Imbricaci de :while massa profunda" +msgid "E585: :while/:for nesting too deep" +msgstr "E585: Imbricaci de :while/:for massa profunda" + +msgid "E586: :continue without :while or :for" +msgstr "E586: :continue sense :while o :for" + +msgid "E587: :break without :while or :for" +msgstr "E587: :break sense :while" -msgid "E586: :continue without :while" -msgstr "E586: Declaraci :continue sense :while" +msgid "E732: Using :endfor with :while" +msgstr "E732: s incorrecte de :endfor amb :while" -msgid "E587: :break without :while" -msgstr "E587: Declaraci :break sense :while" +msgid "E733: Using :endwhile with :for" +msgstr "E733: s incorrecte de :endwhile amb :for" msgid "E601: :try nesting too deep" msgstr "E601: Imbricaci de :try massa profunda" @@ -1205,6 +1451,9 @@ msgstr "E602: Declaraci :endtry sense :try" msgid "E193: :endfunction not inside a function" msgstr "E193: Declaraci :endfunction fora d'una funci" +msgid "E788: Not allowed to edit another buffer now" +msgstr "E788: No podeu editar un altre buffer ara" + # context? eac msgid "tagname" msgstr "nom de l'etiqueta" @@ -1220,7 +1469,9 @@ msgstr "l'opci 'history' s zero" msgid "" "\n" "# %s History (newest to oldest):\n" -msgstr "\n# Historial %s (de ms a menys recent):\n" +msgstr "" +"\n" +"# Historial %s (de ms a menys recent):\n" msgid "Command Line" msgstr "d'ordres" @@ -1249,9 +1500,18 @@ msgstr "s un directori" msgid "is not a file" msgstr "no s un fitxer" +msgid "is a device (disabled with 'opendevice' option" +msgstr "s un dispositiu (deshabilitat amb l'opci 'opendevice'" + msgid "[New File]" msgstr "[Fitxer nou]" +msgid "[New DIRECTORY]" +msgstr "[Nou DIRECTORI]" + +msgid "[File too big]" +msgstr "[Fitxer massa gran]" + msgid "[Permission Denied]" msgstr "[Perms denegat]" @@ -1303,8 +1563,9 @@ msgstr "[convertit]" msgid "[crypted]" msgstr "[xifrat]" -msgid "[CONVERSION ERROR]" -msgstr "[ERROR DE CONVERSI]" +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ERROR DE CONVERSI a la lnia %ld]" #, c-format msgid "[ILLEGAL BYTE in line %ld]" @@ -1322,15 +1583,27 @@ msgstr "La conversi amb 'charconvert' ha fallat" msgid "can't read output of 'charconvert'" msgstr "No s'ha pogut llegir la sortida de 'charconvert'" +msgid "E676: No matching autocommands for acwrite buffer" +msgstr "E676: No hi ha cap auto-ordre coincident per al buffer acwrite" + msgid "E203: Autocommands deleted or unloaded buffer to be written" msgstr "E203: Auto-ordres han eliminat o alliberat el buffer a escriure" msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "E204: Una auto-ordre ha canviat el nombre de lnies de forma inesperada" +msgid "NetBeans dissallows writes of unmodified buffers" +msgstr "NetBeans no permet escriure buffers no modificats" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "L'escriptura parcial no est permesa en buffers NetBeans" + msgid "is not a file or writable device" msgstr "no s un fitxer o dispositiu que es pugui escriure" +msgid "writing to device disabled with 'opendevice' option" +msgstr "escriptura a un dispositiu deshabilitat amb l'opci 'opendevice'" + msgid "is read-only (add ! to override)" msgstr "s un fitxer de noms lectura (afegiu ! per confirmar)" @@ -1365,11 +1638,14 @@ msgstr "E166: No s'ha pogut obrir el fitxer enllaat per escriure-hi" msgid "E212: Can't open file for writing" msgstr "E212: No s'ha pogut obrir el fitxer amb perms d'escriptura" +msgid "E667: Fsync failed" +msgstr "E667: Fsync ha fallat" + msgid "E512: Close failed" msgstr "E512: Error en tancar" -msgid "E513: write error, conversion failed" -msgstr "E512: Error d'escriptura, ha fallat la conversi" +msgid "E513: write error, conversion failed (make 'fenc' empty to override)" +msgstr "E513: error d'escriptura, conversi fallida (anulleu 'fenc' per a ometre)" msgid "E514: write error (file system full?)" msgstr "E514: Error d'escriptura (sistema de fitxers ple?)" @@ -1407,7 +1683,9 @@ msgstr "E207: No s'ha pogut eliminar la cpia de seguretat" msgid "" "\n" "WARNING: Original file may be lost or damaged\n" -msgstr "\nATENCI: El fitxer original es pot haver fet malb\n" +msgstr "" +"\n" +"ATENCI: El fitxer original es pot haver fet malb\n" msgid "don't quit the editor until the file is successfully written!" msgstr "no sortiu de l'editor fins que s'hagi desat el fitxer amb xit!" @@ -1477,25 +1755,32 @@ msgid "E246: FileChangedShell autocommand deleted buffer" msgstr "E246: L'auto-ordre FileChangedShell ha eliminat el buffer" #, c-format -msgid "E211: Warning: File \"%s\" no longer available" -msgstr "E211: Atenci: El fitxer \"%s\" ha deixat d'estar disponible" +msgid "E211: File \"%s\" no longer available" +msgstr "E211: El fitxer \"%s\" ha deixat d'estar disponible" #, c-format -msgid "" -"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " -"well" +msgid "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as well" msgstr "W12: Atenci: Tant el fitxer \"%s\" com el buffer del Vim han canviat" +msgid "See \":help W12\" for more info." +msgstr "Vegeu \":help W12\" per a ms info." + # massa llarg? eac #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: Atenci: El fitxer \"%s\" ha canviat des de que s'ha comenat a editar" +msgid "See \":help W11\" for more info." +msgstr "Vegeu \":help W11\" per a ms info." + # massa llarg? eac #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "W16: Atenci: Els permisos de \"%s\" han canviat des que s'ha comenat a editar" +msgid "See \":help W16\" for more info." +msgstr "Vegeu \":help W16\" per a ms info." + # massa llarg? eac #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" @@ -1522,6 +1807,10 @@ msgstr "E321: No s'ha pogut rellegir \"%s\"" msgid "--Deleted--" msgstr "--Eliminat--" +#, c-format +msgid "auto-removing autocommand: %s <buffer=%d>" +msgstr "auto-eliminant auto-ordre: %s <buffer=%d>" + #. the group doesn't exist #, c-format msgid "E367: No such group: \"%s\"" @@ -1535,11 +1824,21 @@ msgstr "E215: Carcter illegal desprs de *: %s" msgid "E216: No such event: %s" msgstr "E216: No existeix tal esdeveniment: %s" +#, c-format +msgid "E216: No such group or event: %s" +msgstr "E216: No existeix tal grup o esdeveniment: %s" + #. Highlight title msgid "" "\n" "--- Auto-Commands ---" -msgstr "\n--- Auto-ordres ---" +msgstr "" +"\n" +"--- Auto-ordres ---" + +#, c-format +msgid "E680: <buffer=%d>: invalid buffer number " +msgstr "E680: <buffer=%d>: nmero de buffer no vlid" msgid "E217: Can't execute autocommands for ALL events" msgstr "E217: No es poden executar auto-ordres per TOTS els esdeveniments" @@ -1558,7 +1857,6 @@ msgstr "auto-ordres %s per \"%s\"" msgid "Executing %s" msgstr "Executant %s" -#. always scroll up, don't overwrite #, c-format msgid "autocommand %s" msgstr "auto-ordre %s" @@ -1578,6 +1876,10 @@ msgstr "E350: No es pot crear cap plec amb el 'foldmethod' actual" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: No pot eliminar el plec amb el 'foldmethod' actual" +#, c-format +msgid "+--%3ld lines folded " +msgstr "+--%3ld lnies plegades " + msgid "E222: Add to read buffer" msgstr "E222: No es pot modificar un buffer de lectura" @@ -1614,7 +1916,7 @@ msgstr "<no es pot obrir> " #, c-format msgid "E616: vim_SelFile: can't get font %s" -msgstr "E616: vim_SelFile: no s'ha pogut obtenir la font %s" +msgstr "E616: vim_SelFile: no s'ha pogut obtenir la fosa %s" msgid "E614: vim_SelFile: can't return to current directory" msgstr "E614: vim_SelFile: no s'ha pogut tornar al directori actual" @@ -1637,8 +1939,8 @@ msgstr "Dileg del Vim" msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." msgstr "Barra de desplaament: No s'ha pogut obtenir la mida del mapa de bits." -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "" +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: No es pot crear un BalloonEval amb missatge i callback alhora" msgid "E229: Cannot start the GUI" msgstr "E229: No s'ha pogut iniciar l'interfcie grfica" @@ -1647,13 +1949,22 @@ msgstr "E229: No s'ha pogut iniciar l'interfcie grfica" msgid "E230: Cannot read from \"%s\"" msgstr "E230: No s'ha pogut llegir \"%s\"" +msgid "E665: Cannot start GUI, no valid font found" +msgstr "E665: No es pot iniciar l'IUG, no s'ha trobat cap fosa vlida" + msgid "E231: 'guifontwide' invalid" msgstr "E231: El valor de 'guifontwide' no s vlid" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: El valor de 'imactivatekey' no s vlid" + #, c-format msgid "E254: Cannot allocate color %s" msgstr "E254: No s'ha pogut assignar memria pel color %s" +msgid "No match at cursor, finding next" +msgstr "Cap coincidncia al cursor, cercant la segent" + msgid "Vim dialog..." msgstr "Dileg del Vim..." @@ -1711,56 +2022,106 @@ msgstr "Substitueix-les totes" msgid "Vim: Received \"die\" request from session manager\n" msgstr "Vim: S'ha rebut una petici \"die\" del gestor de sessions\n" +msgid "Close" +msgstr "Tanca" + +msgid "New tab" +msgstr "Nova pestanya" + +msgid "Open Tab..." +msgstr "Obre una pestanya..." + msgid "Vim: Main window unexpectedly destroyed\n" msgstr "Vim: La finestra principal ha estat destruda inesperadament\n" msgid "Font Selection" -msgstr "Selecci de tipus de lletra" +msgstr "Selecci de fosa" msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "S'ha usat CUT_BUFFER0 en lloc d'una selecci buida" -msgid "Filter" -msgstr "Filtre" +msgid "&Filter" +msgstr "&Filtre" + +msgid "&Cancel" +msgstr "&Cancella" msgid "Directories" msgstr "Directoris" -msgid "Help" -msgstr "Ajuda" +msgid "Filter" +msgstr "Filtre" + +msgid "&Help" +msgstr "&Ajuda" msgid "Files" msgstr "Fitxers" +msgid "&OK" +msgstr "&D'acord" + msgid "Selection" msgstr "Selecci" -msgid "Undo" -msgstr "Desfs" +msgid "Find &Next" +msgstr "Cerca el &segent" + +msgid "&Replace" +msgstr "&Substitueix" + +msgid "Replace &All" +msgstr "Substitueix-les &totes" + +msgid "&Undo" +msgstr "&Desfs" #, c-format msgid "E610: Can't load Zap font '%s'" -msgstr "E610: No s'ha pogut carregar el tipus Zap '%s'" +msgstr "E610: No s'ha pogut carregar la fosa Zap '%s'" #, c-format msgid "E611: Can't use font %s" -msgstr "E611: No es pot utilitzar el tipus %s" +msgstr "E611: No es pot utilitzar la fosa %s" msgid "" "\n" "Sending message to terminate child process.\n" -msgstr "\nEnviant un missatge per finalitzar el procs fill.\n" +msgstr "" +"\n" +"Enviant un missatge per finalitzar el procs fill.\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: No s'ha trobat el ttol de finestra \"%s\"" #, c-format msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." msgstr "E243: Argument no suportat: \"-%s\"; Useu la versi OLE." +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: No s'ha pogut obrir una finestra dins l'aplicaci MDI" + +msgid "Close tab" +msgstr "Tanca la pestanya" + +msgid "Open tab..." +msgstr "Obre una pestanya..." + msgid "Find string (use '\\\\' to find a '\\')" msgstr "Cerca una cadena (useu '\\\\' per cercar '\\')" msgid "Find & Replace (use '\\\\' to find a '\\')" msgstr "Cerca i substitueix (useu '\\\\' per cercar '\\')" +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "No Usat" + +msgid "Directory\t*.nothing\n" +msgstr "Directori\t*.res\n" + msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" msgstr "Vim E458: No s'ha pogut assignar memria per colors, poden ser incorrectes" @@ -1774,7 +2135,7 @@ msgstr "E252: Nom del conjunt de tipus: %s" #, c-format msgid "Font '%s' is not fixed-width" -msgstr "El tipus '%s' no s d'amplada fixa" +msgstr "La fosa '%s' no s d'amplada fixa" #, c-format msgid "E253: Fontset name: %s\n" @@ -1782,29 +2143,155 @@ msgstr "E253: Nom del conjunt de tipus: %s\n" #, c-format msgid "Font0: %s\n" -msgstr "Tipus0: %s\n" +msgstr "Fosa0: %s\n" #, c-format msgid "Font1: %s\n" -msgstr "Tipus1: %s\n" +msgstr "Fosa1: %s\n" #, c-format -msgid "Font%d width is not twice that of font0\n" -msgstr "L'amplada del tipus%d no s el doble que la del tipus0\n" +msgid "Font%ld width is not twice that of font0\n" +msgstr "L'amplada de la fosa%ld no s el doble que la de la fosa0\n" #, c-format msgid "Font0 width: %ld\n" -msgstr "Amplada del tipus0: %ld\n" +msgstr "Amplada de de la Fosa0: %ld\n" #, c-format msgid "" "Font1 width: %ld\n" "\n" -msgstr "Amplada del tipus1: %ld\n\n" +msgstr "" +"Amplada de la Fosa1: %ld\n" +"\n" + +msgid "Invalid font specification" +msgstr "Especificaci de fosa no vlida" + +msgid "&Dismiss" +msgstr "&Ignora" + +msgid "no specific match" +msgstr "cap coincidncia especfica" + +msgid "Vim - Font Selector" +msgstr "Vim - Selector de fosa" + +msgid "Name:" +msgstr "Nom:" + +#. create toggle button +msgid "Show size in Points" +msgstr "Mostra la mida en punts" + +msgid "Encoding:" +msgstr "Codificaci:" + +msgid "Font:" +msgstr "Fosa:" + +msgid "Style:" +msgstr "Estil:" + +msgid "Size:" +msgstr "Mida:" msgid "E256: Hangul automata ERROR" msgstr "E256: ERROR de l'autmata hangul" +msgid "E550: Missing colon" +msgstr "E550: Falta un carcter \":\"" + +msgid "E551: Illegal component" +msgstr "E551: Component illegal" + +msgid "E552: digit expected" +msgstr "E552: S'esperava un dgit" + +#, c-format +msgid "Page %d" +msgstr "Pgina %d" + +msgid "No text to be printed" +msgstr "No hi ha text per imprimir" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "S'est imprimint la pgina %d (%d%%)" + +#, c-format +msgid " Copy %d of %d" +msgstr " Cpia %d de %d" + +#, c-format +msgid "Printed: %s" +msgstr "S'ha imprs: %s" + +msgid "Printing aborted" +msgstr "S'ha avortat l'impressi" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Error en escriure el fitxer PostScript" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: No s'ha pogut obrir el fitxer \"%s\"" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: No s'ha pogut llegir el fitxer de recursos PostScript \"%s\"" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: El fitxer \"%s\" no s un fitxer de recursos PostScript" + +#, c-format +msgid "E619: file \"%s\" is not a supported PostScript resource file" +msgstr "E619: El fitxer de recursos PostScript \"%s\" no est suportat" + +#, c-format +msgid "E621: \"%s\" resource file has wrong version" +msgstr "E621: La versi del fitxer de recursos \"%s\" no s vlida" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Joc de carcters i codificaci multi-octet no compatibles." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "E674: printmbcharset no pot estar buit si la codificaci s multi-octet" + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: No heu especificat cap fosa per defecte per a la impressi multi-octet." + +msgid "E324: Can't open PostScript output file" +msgstr "E324: No s'ha pogut obrir el fitxer PostScript generat" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: No s'ha pogut obrir el fitxer \"%s\"" + +msgid "E456: Can't find PostScript resource file \"prolog.ps\"" +msgstr "E456: No s'ha trobat el fitxer de recursos PostScript \"prolog.ps\"" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: No s'ha trobat el fitxer de recursos PostScript \"cidfont.ps\"" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: No s'ha trobat el fitxer de recursos PostScript \"%s.ps\"" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: No s'ha pogut convertir a la codificaci d'impressi \"%s\"" + +msgid "Sending to printer..." +msgstr "S'est enviant a la impressora..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: Error en imprimir el fitxer PostScript" + +msgid "Print job sent." +msgstr "S'ha enviat la tasca d'impressi." + msgid "Add a new database" msgstr "Afegeix una base de dades nova" @@ -1926,7 +2413,9 @@ msgstr "Etiqueta cscope: %s" msgid "" "\n" " # line" -msgstr "\n # lnia" +msgstr "" +"\n" +" # lnia" msgid "filename / context / line\n" msgstr "fitxer / context / lnia\n" @@ -1944,11 +2433,66 @@ msgstr "no hi ha connexions cscope\n" msgid " # pid database name prepend path\n" msgstr " # pid base de dades prefix d'ubicaci\n" -msgid "" -"E263: Sorry, this command is disabled, the Python library could not be " -"loaded." +msgid "???: Sorry, this command is disabled, the MzScheme library could not be loaded." +msgstr "???: Aquesta ordre no est habilitada, la biblioteca MzScheme no s'ha pogut carregar." + +msgid "invalid expression" +msgstr "l'expressi no s vlida" + +msgid "expressions disabled at compile time" +msgstr "no s'ha compilat suport per expressions" + +msgid "hidden option" +msgstr "opci amagada" + +msgid "unknown option" +msgstr "opci desconeguda" + +msgid "window index is out of range" +msgstr "ndex de finestra fora d'abast" + +msgid "couldn't open buffer" +msgstr "no s'ha pogut obrir el buffer" + +msgid "cannot save undo information" +msgstr "no s'ha pogut desar l'informaci de desfer" + +msgid "cannot delete line" +msgstr "no s'ha pogut esborrar la lnia" + +msgid "cannot replace line" +msgstr "no s'ha pogut substituir la lnia" + +msgid "cannot insert line" +msgstr "no s'ha pogut inserir la lnia" + +msgid "string cannot contain newlines" +msgstr "la cadena no pot contenir salts de lnia" + +msgid "Vim error: ~a" +msgstr "Error del Vim: ~a" + +msgid "Vim error" +msgstr "Error del Vim" + +msgid "buffer is invalid" +msgstr "el buffer no s vlid" + +msgid "window is invalid" +msgstr "la finestra no s vlida" + +msgid "linenr out of range" +msgstr "nombre de lnia fora d'abast" + +msgid "not allowed in the Vim sandbox" +msgstr "no perms a la gbia del Vim" + +msgid "E263: Sorry, this command is disabled, the Python library could not be loaded." msgstr "E263: Aquesta ordre est deshabilitada, no s'ha pogut carregar Python." +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: No es pot invocar Python de forma recursiva" + msgid "can't delete OutputObject attributes" msgstr "no s'han pogut eliminar els atributs de l'OutputObject" @@ -1964,12 +2508,6 @@ msgstr "la funci writelines() requereix una llista de cadenes" msgid "E264: Python: Error initialising I/O objects" msgstr "E264: Python: Error en inicialitzar els objectes d'E/S" -msgid "invalid expression" -msgstr "l'expressi no s vlida" - -msgid "expressions disabled at compile time" -msgstr "no s'ha compilat suport per expressions" - msgid "attempt to refer to deleted buffer" msgstr "intent de referncia a un buffer eliminat" @@ -2010,24 +2548,29 @@ msgstr "<finestra %d>" msgid "no such window" msgstr "no existeix tal finestra" -msgid "cannot save undo information" -msgstr "no s'ha pogut desar l'informaci de desfer" +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ ha de ser una instncia d'una cadena" -msgid "cannot delete line" -msgstr "no s'ha pogut esborrar la lnia" +msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "E266: Ordre deshabilitada, no s'ha pogut carregar la biblioteca Ruby." -msgid "cannot replace line" -msgstr "no s'ha pogut substituir la lnia" +msgid "E267: unexpected return" +msgstr "E267: retorn inesperat" -msgid "cannot insert line" -msgstr "no s'ha pogut inserir la lnia" +msgid "E268: unexpected next" +msgstr "E268: 'next' inesperat" -msgid "string cannot contain newlines" -msgstr "la cadena no pot contenir salts de lnia" +msgid "E269: unexpected break" +msgstr "E269: tall inesperat" -msgid "" -"E266: Sorry, this command is disabled, the Ruby library could not be loaded." -msgstr "E266: Ordre deshabilitada, no s'ha pogut carregar la biblioteca Ruby." +msgid "E270: unexpected redo" +msgstr "E270: 'redo' inesperat" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: 'retry' fora d'una clusula de rescat" + +msgid "E272: unhandled exception" +msgstr "E272: excepci no manejada" #, c-format msgid "E273: unknown longjmp status %d" @@ -2087,9 +2630,7 @@ msgstr "Mostra docu de" msgid "Generate docu for" msgstr "Genera docu per" -msgid "" -"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -"$PATH).\n" +msgid "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in $PATH).\n" msgstr "No s'ha pogut connectar amb SNiFF+. Reviseu l'entorn (sniffemacs ha d'estar en el $PATH).\n" msgid "E274: Sniff: Error during read. Disconnected" @@ -2126,9 +2667,6 @@ msgstr "nombre de buffer no vlid" msgid "not implemented yet" msgstr "no implementat (encara)" -msgid "unknown option" -msgstr "opci desconeguda" - #. ??? msgid "cannot set line(s)" msgstr "no s'ha pogut establir el nombre de lnies" @@ -2158,27 +2696,26 @@ msgstr "error de vim" msgid "cannot create buffer/window command: object is being deleted" msgstr "no s'ha pogut crear l'ordre de buffer/finestra: l'objecte est siguent eliminat" -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" +msgid "cannot register callback command: buffer/window is already being deleted" +msgstr "no s'ha pogut registrar l'ordre callback: el bfer/finestra ja est sent eliminat" #. This should never happen. Famous last word? -msgid "" -"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." -"org" +msgid "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim.org" msgstr "E280: ERROR FATAL DE TCL: llista de referncies corrupta!? Comuniqueu-ho a vim-dev@vim.org." -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" +msgid "cannot register callback command: buffer/window reference not found" +msgstr "no s'ha pogut registrar l'ordre callback: referncia del bfer/finestra no trobada" -msgid "" -"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded." msgstr "E571: Aquesta ordre est deshabilitada: No s'ha pogut carregar la llibreria Tcl." -msgid "" -"E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" +msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" msgstr "E281: ERROR DE TCL: el codi de retorn no s un enter!? Comuniqueu-ho a vim-dev@vim.org." +#, c-format +msgid "E572: exit code %d" +msgstr "E572: codi de sortida %d" + msgid "cannot get line" msgstr "no s'ha pogut obtenir la lnia" @@ -2195,8 +2732,8 @@ msgstr "E573: S'ha usat una ID de servidor no vlida: %s" msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: El registre de l'instncia de VIM est mal format. S'ha esborrat!" -msgid "Unknown option" -msgstr "L'opci s desconeguda" +msgid "Unknown option argument" +msgstr "Argument d'opci desconegut" msgid "Too many edit arguments" msgstr "Massa arguments d'edici" @@ -2204,8 +2741,8 @@ msgstr "Massa arguments d'edici" msgid "Argument missing after" msgstr "Falta un argument desprs de" -msgid "Garbage after option" -msgstr "Porqueria desprs de l'opci" +msgid "Garbage after option argument" +msgstr "Porqueria desprs de l'argument d'opci" msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "Massa arguments \"+ordre\", \"-c ordre\" o \"--cmd ordre\"" @@ -2213,24 +2750,24 @@ msgstr "Massa arguments \"+ordre\", \"-c ordre\" o \"--cmd ordre\"" msgid "Invalid argument for" msgstr "Argument no vlid per" +#, c-format +msgid "%d files to edit\n" +msgstr "%d fitxers per editar\n" + msgid "This Vim was not compiled with the diff feature." msgstr "Aquest Vim no ha estat compilat amb suport per diff." msgid "Attempt to open script file again: \"" msgstr "Reintent d'obrir l'script: \"" -msgid "\"\n" -msgstr "\"\n" - msgid "Cannot open for reading: \"" msgstr "No s'ha pogut obrir amb perms de lectura: \"" msgid "Cannot open for script output: \"" msgstr "No s'ha pogut obrir per desar-hi l'exida de l'script: \"" -#, c-format -msgid "%d files to edit\n" -msgstr "%d fitxers per editar\n" +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Error: Ha fallat l'arrencada del gvim des de NetBeans\n" msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Atenci: La sortida no est connectada a un terminal\n" @@ -2249,7 +2786,9 @@ msgstr "E282: No s'ha pogut llegir \"%s\"" msgid "" "\n" "More info with: \"vim -h\"\n" -msgstr "\nMs informaci amb: \"vim -h\"\n" +msgstr "" +"\n" +"Ms informaci amb: \"vim -h\"\n" msgid "[file ..] edit specified file(s)" msgstr "[fitxer ...] edita el(s) fitxer(s) especificat(s)" @@ -2267,7 +2806,10 @@ msgid "" "\n" "\n" "usage:" -msgstr "\n\n s:" +msgstr "" +"\n" +"\n" +" s:" msgid " vim [arguments] " msgstr " vim [arguments] " @@ -2275,13 +2817,25 @@ msgstr " vim [arguments] " msgid "" "\n" " or:" -msgstr "\no b:" +msgstr "" +"\n" +"o b:" msgid "" "\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"On s'ignora la capitalizaci, afegiu el prefix / per a indicar majscules" + +msgid "" +"\n" +"\n" +"Arguments:\n" +msgstr "" +"\n" "\n" "Arguments:\n" -msgstr "\n\nArguments:\n" msgid "--\t\t\tOnly file names after this" msgstr "--\t\t\tDesprs d'aix noms noms de fitxers" @@ -2340,8 +2894,8 @@ msgstr "-C\t\t\tCompatible amb Vi" msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tNo del tot compatible amb Vi" -msgid "-V[N]\t\tVerbose level" -msgstr "-V[N]\t\tNivell de loquacitat" +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "-V[N][nomf]\t\tLoquacitat [nivell N] [desa els missatges a nomf]" msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tMode de depuraci" @@ -2385,6 +2939,9 @@ msgstr "-U <gvimrc>\t\tUsa <gvimrc> en lloc de qualsevol altre .gvimrc" msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tNo carrega cap plugin" +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tObre N pestanyes (per omissi: una per fitxer)" + msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tObre N finestres (per omissi: una per fitxer)" @@ -2430,14 +2987,15 @@ msgstr "--remote <fitxers>\tEdita <fitxers> en un servidor Vim, si s possible" msgid "--remote-silent <files> Same, don't complain if there is no server" msgstr "--remote-silent <fitxers> Igual, no es queixa si no hi ha servidor" -msgid "" -"--remote-wait <files> As --remote but wait for files to have been edited" +msgid "--remote-wait <files> As --remote but wait for files to have been edited" msgstr "--remote-wait <fitxers> Com --remote, per espera que s'editin els fitxers" -msgid "" -"--remote-wait-silent <files> Same, don't complain if there is no server" +msgid "--remote-wait-silent <files> Same, don't complain if there is no server" msgstr "--remote-wait-silent <fitxers> Igual, no es queixa si no hi ha servidor" +msgid "--remote-tab <files> As --remote but open tab page for each file" +msgstr "--remote-tab <fitxers> Com --remote, per obre una pestanya per fitxer" + msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" msgstr "--remote-send <tecles> Envia <tecles> a un servidor Vim i surt" @@ -2462,17 +3020,23 @@ msgstr "--version\t\tMostra informaci sobre la versi i surt" msgid "" "\n" "Arguments recognised by gvim (Motif version):\n" -msgstr "\nArguments reconeguts pel gvim (versi Motif):\n" +msgstr "" +"\n" +"Arguments reconeguts pel gvim (versi Motif):\n" msgid "" "\n" "Arguments recognised by gvim (neXtaw version):\n" -msgstr "\nArguments reconeguts pel gvim (versi neXtaw>:\n" +msgstr "" +"\n" +"Arguments reconeguts pel gvim (versi neXtaw>:\n" msgid "" "\n" "Arguments recognised by gvim (Athena version):\n" -msgstr "\nArguments reconeguts pel gvim (versi Athena):\n" +msgstr "" +"\n" +"Arguments reconeguts pel gvim (versi Athena):\n" msgid "-display <display>\tRun vim on <display>" msgstr "-display <pantalla>\tExecuta vim a <pantalla>" @@ -2493,13 +3057,13 @@ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" msgstr "-foreground <color>\tUsa <color> pel text normal (tamb: -fg)" msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -msgstr "-font <tipus>\tUsa <tipus> pel text normal (tamb: -fn)" +msgstr "-font <fosa>\tUsa <fosa> pel text normal (tamb: -fn)" msgid "-boldfont <font>\tUse <font> for bold text" -msgstr "-boldfont <tipus>\tUsa <tipus> pel text en negreta" +msgstr "-boldfont <fosa>\tUsa <fosa> pel text en negreta" msgid "-italicfont <font>\tUse <font> for italic text" -msgstr "-italicfont <tipus>\tUsa <tipus> pel text en cursiva" +msgstr "-italicfont <fosa>\tUsa <fosa> pel text en cursiva" msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" msgstr "-geometry <geom>\tUsa <geom> com a geometria inicial (tamb: -geom)" @@ -2525,7 +3089,9 @@ msgstr "-xrm <recurs>\tEstableix el recurs especificat" msgid "" "\n" "Arguments recognised by gvim (RISC OS version):\n" -msgstr "\nArguments reconeguts pel gvim (versi RISC OS):\n" +msgstr "" +"\n" +"Arguments reconeguts pel gvim (versi RISC OS):\n" msgid "--columns <number>\tInitial width of window in columns" msgstr "--columns <nombre>\tAmplada inicial de la finestra en columnes" @@ -2536,7 +3102,9 @@ msgstr "--rows <nombre>\tAlada inicial de la finestra en files" msgid "" "\n" "Arguments recognised by gvim (GTK+ version):\n" -msgstr "\nArguments reconeguts pel gvim (versi GTK+):\n" +msgstr "" +"\n" +"Arguments reconeguts pel gvim (versi GTK+):\n" msgid "-display <display>\tRun vim on <display> (also: --display)" msgstr "-display <pantalla>\tExecuta vim a <pantalla> (tamb: --display)" @@ -2547,8 +3115,8 @@ msgstr "--role <rol>\t\tUsa un nic rol per identificar la finestra principal" msgid "--socketid <xid>\tOpen Vim inside another GTK widget" msgstr "--socketid <xid>\tObre el vim dins d'una altra aplicaci GTK" -msgid "--help\t\tShow Gnome arguments" -msgstr "--help\t\tMostra els arguments per Gnome" +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <ttol pare>\tObre el Vim en una aplicaci pare" msgid "No display" msgstr "No hi ha cap pantalla" @@ -2582,29 +3150,50 @@ msgstr "E283: Cap marca coincideix amb \"%s\"" msgid "" "\n" "mark line col file/text" -msgstr "\nmarca ln col fitxer/text" +msgstr "" +"\n" +"marca ln col fitxer/text" #. Highlight title msgid "" "\n" " jump line col file/text" -msgstr "\n salt ln col fitxer/text" +msgstr "" +"\n" +" salt ln col fitxer/text" + +#. Highlight title +msgid "" +"\n" +"change line col text" +msgstr "" +"\n" +"canvi lnia col text" +#, c-format msgid "" "\n" "# File marks:\n" -msgstr "\n# Marques de fitxer:\n" +msgstr "" +"\n" +"# Marques de fitxer:\n" #. Write the jumplist with -' +#, c-format msgid "" "\n" "# Jumplist (newest first):\n" -msgstr "\n# Llista de salts (de ms a menys recent):\n" +msgstr "" +"\n" +"# Llista de salts (de ms a menys recent):\n" +#, c-format msgid "" "\n" "# History of marks within files (newest to oldest):\n" -msgstr "\n# Historial de marques en fitxers (de ms a menys recent):\n" +msgstr "" +"\n" +"# Historial de marques en fitxers (de ms a menys recent):\n" msgid "Missing '>'" msgstr "Falta un '>'" @@ -2621,8 +3210,8 @@ msgstr "E285: Error en crear el context d'entrada" msgid "E286: Failed to open input method" msgstr "E286: Error en obrir el mtode d'entrada" -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "" +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "E287: Atenci: No s'ha pogut establir el callback de destrucci a IM" msgid "E288: input method doesn't support any style" msgstr "E288: el mtode d'entrada no suporta cap estil" @@ -2677,8 +3266,8 @@ msgstr "E302: No s'ha pogut reanomenar el fitxer d'intercanvi" msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "E303: Error en obrir el fitxer d'intercanvi de \"%s\", no es podr recuperar" -msgid "E304: ml_timestamp: Didn't get block 0??" -msgstr "E304: ml_timestamp: No s'ha pogut obtenir el bloc 0??" +msgid "E304: ml_upd_block0(): Didn't get block 0??" +msgstr "E304: ml_upd_block0(): No s'ha obtingut el bloc 0??" #, c-format msgid "E305: No swap file found for %s" @@ -2697,7 +3286,9 @@ msgstr "No s'ha pogut llegir el bloc 0 de " msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." -msgstr "\nO b no s'han fet canvis, o el Vim no ha actualitzat el fitxer d'intercanvi." +msgstr "" +"\n" +"O b no s'han fet canvis, o el Vim no ha actualitzat el fitxer d'intercanvi." msgid " cannot be used with this version of Vim.\n" msgstr " no es pot utilitzar amb aquesta versi de Vim.\n" @@ -2722,6 +3313,9 @@ msgstr "" ",\n" "o el fitxer est fet malb." +msgid " has been damaged (page size is smaller than minimum value).\n" +msgstr " ha estat danyat (la mida de pgina s inferior al valor mnim).\n" + #, c-format msgid "Using swap file \"%s\"" msgstr "S'est utilitzant el fitxer d'intercanvi \"%s\"" @@ -2741,7 +3335,7 @@ msgid "???MANY LINES MISSING" msgstr "???FALTEN MOLTES LNIES" msgid "???LINE COUNT WRONG" -msgstr "???COMPTADOR DE LNIA INCORRECTE" +msgstr "???RECOMPTE DE LNIES INCORRECTE" msgid "???EMPTY BLOCK" msgstr "???BLOC BUIT" @@ -2768,17 +3362,21 @@ msgstr "???FINAL" msgid "E311: Recovery Interrupted" msgstr "E311: S'ha interromput la recuperaci" -msgid "" -"E312: Errors detected while recovering; look for lines starting with ???" +msgid "E312: Errors detected while recovering; look for lines starting with ???" msgstr "E312: S'han detectat errors en la recuperaci; busqueu lnies amb ???" +msgid "See \":help E312\" for more information." +msgstr "Vegeu \":help E312\" per a ms informaci." + msgid "Recovery completed. You should check if everything is OK." msgstr "S'ha completat la recuperaci. Haurieu de revisar que tot sigui correcte." msgid "" "\n" "(You might want to write out this file under another name\n" -msgstr "\n(Potser voleu desar aquest fitxer amb un altre nom\n" +msgstr "" +"\n" +"(Potser voleu desar aquest fitxer amb un altre nom\n" msgid "and run diff with the original file to check for changes)\n" msgstr "i fer un diff amb el fitxer original per veure els canvis)\n" @@ -2786,7 +3384,9 @@ msgstr "i fer un diff amb el fitxer original per veure els canvis)\n" msgid "" "Delete the .swp file afterwards.\n" "\n" -msgstr "Elimina el fitxer .swp tot seguit.\n\n" +msgstr "" +"Elimina el fitxer .swp tot seguit.\n" +"\n" #. use msg() to start the scrolling properly msgid "Swap files found:" @@ -2825,7 +3425,9 @@ msgstr " nom del fitxer: " msgid "" "\n" " modified: " -msgstr "\n modificat: " +msgstr "" +"\n" +" modificat: " msgid "YES" msgstr "S" @@ -2836,7 +3438,9 @@ msgstr "no" msgid "" "\n" " user name: " -msgstr "\n nom de l'usuari: " +msgstr "" +"\n" +" nom de l'usuari: " msgid " host name: " msgstr " mquina: " @@ -2844,12 +3448,16 @@ msgstr " mquina: " msgid "" "\n" " host name: " -msgstr "\n mquina: " +msgstr "" +"\n" +" mquina: " msgid "" "\n" " process ID: " -msgstr "\n ID del procs: " +msgstr "" +"\n" +" ID del procs: " msgid " (still running)" msgstr " (encara funcionant)" @@ -2857,12 +3465,16 @@ msgstr " (encara funcionant)" msgid "" "\n" " [not usable with this version of Vim]" -msgstr "\n [no usable amb aquesta versi de Vim]" +msgstr "" +"\n" +" [no usable amb aquesta versi de Vim]" msgid "" "\n" " [not usable on this computer]" -msgstr "\n [no usable en aquesta computadora]" +msgstr "" +"\n" +" [no usable en aquesta computadora]" msgid " [cannot be read]" msgstr " [no es pot llegir]" @@ -2926,13 +3538,19 @@ msgstr "La mida de la pila s'incrementa" msgid "E317: pointer block id wrong 2" msgstr "E317: Punter a la id d'un bloc incorrecte 2" +#, c-format +msgid "E773: Symlink loop for \"%s\"" +msgstr "E773: Bucle d'enllaos simblics per a \"%s\"" + msgid "E325: ATTENTION" msgstr "E325: ATENCI" msgid "" "\n" "Found a swap file by the name \"" -msgstr "\nS'ha trobat un fitxer d'intercanvi de nom \"" +msgstr "" +"\n" +"S'ha trobat un fitxer d'intercanvi de nom \"" msgid "While opening file \"" msgstr "Mentre s'obria el fitxer \"" @@ -2959,7 +3577,9 @@ msgstr " Sortiu, o continueu amb precauci.\n" msgid "" "\n" "(2) An edit session for this file crashed.\n" -msgstr "\n(2) El Vim s'ha estrellat mentre s'editava aquest fitxer.\n" +msgstr "" +"\n" +"(2) El Vim s'ha estrellat mentre s'editava aquest fitxer.\n" msgid " If this is the case, use \":recover\" or \"vim -r " msgstr " En aquest cas, useu \":recover\" o b \"vim -r " @@ -2997,25 +3617,29 @@ msgid "" "&Open Read-Only\n" "&Edit anyway\n" "&Recover\n" -"&Quit" +"&Quit\n" +"&Abort" msgstr "" -"&Obre en mode noms lectura\n" -"&Edita\n" -"&Recupera\n" -"&Surt" +"&Obrir noms-lectura\n" +"&Editar igualment\n" +"&Recuperar\n" +"&Sortir\n" +"&Avortar" msgid "" "&Open Read-Only\n" "&Edit anyway\n" "&Recover\n" +"&Delete it\n" "&Quit\n" -"&Delete it" +"&Abort" msgstr "" -"&Obre en mode noms lectura\n" -"&Edita\n" -"&Recupera\n" -"&Surt\n" -"E&limina'l" +"&Obrir noms-lectura\n" +"&Editar igualment\n" +"&Recuperar\n" +"E&liminar-lo\n" +"&Sortir\n" +"&Avortar" msgid "E326: Too many swap files found" msgstr "E326: S'han trobat massa fitxers d'intercanvi" @@ -3026,8 +3650,13 @@ msgstr "E327: Part de l'ubicaci del men no s submen" msgid "E328: Menu only exists in another mode" msgstr "E328: El men noms existeix en un altre mode" -msgid "E329: No menu of that name" -msgstr "E329: No hi ha cap men amb aquest nom" +#, c-format +msgid "E329: No menu \"%s\"" +msgstr "E329: No hi ha cap men \"%s\"" + +#. Only a mnemonic or accelerator is not valid. +msgid "E792: Empty menu name" +msgstr "E792: Nom de men buit" msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: L'ubicaci del men no pot portar a un submen" @@ -3043,7 +3672,9 @@ msgstr "E332: Un separador no pot formar part de l'ubicaci de men" msgid "" "\n" "--- Menus ---" -msgstr "\n--- Mens ---" +msgstr "" +"\n" +"--- Mens ---" msgid "Tear off this menu" msgstr "Estripa aquest men" @@ -3073,8 +3704,9 @@ msgstr "S'ha detectat un error en processar %s:" msgid "line %4ld:" msgstr "lnia %4ld:" -msgid "[string too long]" -msgstr "[cadena massa llarga]" +#, c-format +msgid "E354: Invalid register name: '%s'" +msgstr "E354: El nom de registre no s vlid: '%s'" msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" msgstr "Traducci dels missatges: Ernest Adrogu <eadrogue@gmx.net>" @@ -3082,20 +3714,18 @@ msgstr "Traducci dels missatges: Ernest Adrogu <eadrogue@gmx.net>" msgid "Interrupt: " msgstr "Interrupci: " -msgid "Hit ENTER to continue" -msgstr "Premeu ENTRAR per continuar" +msgid "Press ENTER or type command to continue" +msgstr "Premeu ENTRAR o introduu una ordre per a continuar" -msgid "Hit ENTER or type command to continue" -msgstr "Premeu ENTRAR o introduu una ordre per continuar" +#, c-format +msgid "%s line %ld" +msgstr "%s lnia %ld" msgid "-- More --" msgstr "-- Ms --" -msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" -msgstr " (ENTRAR/RETROCS: lnia, ESPAI/b; pgina, d/u; mitja pgina, q: surt)" - -msgid " (RET: line, SPACE: page, d: half page, q: quit)" -msgstr " (ENTRAR: lnia, ESPAI: pgina, d: mitja pgina, q: surt)" +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " ESPAI/d/j: pantalla/pgina/lnia avall, b/u/k: amunt, q: sortir" msgid "Question" msgstr "Pregunta" @@ -3120,6 +3750,9 @@ msgstr "" "&Descarta-ho tot\n" "&Cancella" +msgid "Select Directory dialog" +msgstr "Dileg de selecci de directori" + msgid "Save File dialog" msgstr "Dileg de desar fitxer" @@ -3130,9 +3763,21 @@ msgstr "Dileg d'obrir fitxer" msgid "E338: Sorry, no file browser in console mode" msgstr "E338: No hi ha un explorador de fitxers en mode consola" +msgid "E766: Insufficient arguments for printf()" +msgstr "E766: Falten arguments per a printf()" + +msgid "E767: Too many arguments to printf()" +msgstr "E767: Sobren arguments per a printf()" + msgid "W10: Warning: Changing a readonly file" msgstr "W10: Atenci: S'est canviant un fitxer de noms lectura" +msgid "Type number or click with mouse (<Enter> cancels): " +msgstr "Introduu un nmero o feu clic amb el ratol (<Entrar> per a cancellar): " + +msgid "Choice number (<Enter> cancels): " +msgstr "Trieu un nmero (<Entrar> per a cancellar): " + msgid "1 more line" msgstr "1 lnia ms" @@ -3150,6 +3795,9 @@ msgstr "%ld lnies menys" msgid " (Interrupted)" msgstr " (Interromput)" +msgid "Beep!" +msgstr "Bip!" + msgid "Vim: preserving files...\n" msgstr "Vim: preservant els fitxers...\n" @@ -3157,6 +3805,7 @@ msgstr "Vim: preservant els fitxers...\n" msgid "Vim: Finished.\n" msgstr "Vim: Finalitzat.\n" +#, c-format msgid "ERROR: " msgstr "ERROR: " @@ -3164,13 +3813,17 @@ msgstr "ERROR: " msgid "" "\n" "[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" -msgstr "\n[octets] total assignat-alliberat %lu-%lu, en s %lu, mxim s %lu\n" +msgstr "" +"\n" +"[octets] total assignat-alliberat %lu-%lu, en s %lu, mxim s %lu\n" #, c-format msgid "" "[calls] total re/malloc()'s %lu, total free()'s %lu\n" "\n" -msgstr "[crides] total re/malloc() %lu, total free() %lu\n\n" +msgstr "" +"[crides] total re/malloc() %lu, total free() %lu\n" +"\n" msgid "E340: Line is becoming too long" msgstr "E340: La lnia s'est tornant massa llarga" @@ -3212,9 +3865,7 @@ msgid "Keys don't match!" msgstr "La claus no coincideixen!" #, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." +msgid "E343: Invalid path: '**[number]' must be at the end of the path or be followed by '%s'." msgstr "E343: Path no vlid: '**[nm]' ha d'estar al final del path, o seguit de '%s'" #, c-format @@ -3233,15 +3884,6 @@ msgstr "E346: No s'ha trobat cap ms directori \"%s\" en el cdpath" msgid "E347: No more file \"%s\" found in path" msgstr "E347: No s'ha trobat cap ms fitxer \"%s\" en el path" -msgid "E550: Missing colon" -msgstr "E550: Falta un carcter \":\"" - -msgid "E551: Illegal component" -msgstr "E551: Component illegal" - -msgid "E552: digit expected" -msgstr "E552: S'esperava un dgit" - #. Get here when the server can't be found. msgid "Cannot connect to Netbeans #2" msgstr "No s'ha pogut connectar amb Netbeans #2" @@ -3249,9 +3891,26 @@ msgstr "No s'ha pogut connectar amb Netbeans #2" msgid "Cannot connect to Netbeans" msgstr "No s'ha pogut connectar amb Netbeans" +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "E668: Mode d'accs incorrecte per al fitxer d'info de la connexi NetBeans: \"%s\"" + msgid "read from Netbeans socket" msgstr "lectura d'un socket Netbeans" +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: S'ha perdut la connexi NetBeans per al buffer %ld" + +msgid "E505: " +msgstr "E505:" + +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: 'operatorfunc' no cont res" + +msgid "E775: Eval feature not available" +msgstr "E775: La funci eval no est disponible" + msgid "Warning: terminal cannot highlight" msgstr "Atenci: el terminal no suporta ressalt" @@ -3264,6 +3923,19 @@ msgstr "E349: No hi ha cap identificador sota el cursor" msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: No es poden eliminar plecs amb el 'foldmethod' actual" +msgid "E664: changelist is empty" +msgstr "E664: La llista de canvis no cont res" + +msgid "E662: At start of changelist" +msgstr "E662: A l'inici de la llista de canvis" + +msgid "E663: At end of changelist" +msgstr "E663: A l'inici de la llista de canvis" + +# amplada 53 carcters +msgid "Type :quit<Enter> to exit Vim" +msgstr "Feu :quit<Entrar> per sortir" + #, c-format msgid "1 line %sed 1 time" msgstr "1 lnia %sada 1 vegada" @@ -3291,6 +3963,9 @@ msgstr "1 lnia sagnada " msgid "%ld lines indented " msgstr "%ld lnies sagnades " +msgid "E748: No previously used register" +msgstr "E748: No hi ha cap registre usat amb anterioritat" + #. must display the prompt msgid "cannot yank; delete anyway" msgstr "no s'ha pogut copiar; voleu elimiar el text de totes maneres" @@ -3306,10 +3981,17 @@ msgstr "%ld lnies canviades" msgid "freeing %ld lines" msgstr "alliberant %ld lnies" +msgid "block of 1 line yanked" +msgstr "bloc d'1 lnia copiat" + msgid "1 line yanked" msgstr "1 lnia copiada" #, c-format +msgid "block of %ld lines yanked" +msgstr "bloc de %ld lnies copiat" + +#, c-format msgid "%ld lines yanked" msgstr "%ld lnies copiades" @@ -3321,37 +4003,46 @@ msgstr "E353: No hi ha res en el registre %s" msgid "" "\n" "--- Registers ---" -msgstr "\n--- Registres ---" +msgstr "" +"\n" +"--- Registres ---" msgid "Illegal register name" msgstr "El nom de registre s illegal" +#, c-format msgid "" "\n" "# Registers:\n" -msgstr "\n# Registres:\n" +msgstr "" +"\n" +"# Registres:\n" #, c-format msgid "E574: Unknown register type %d" msgstr "E574: El tipus de registre %d s desconegut" #, c-format -msgid "E354: Invalid register name: '%s'" -msgstr "E354: El nom de registre no s vlid: '%s'" - -#, c-format msgid "%ld Cols; " msgstr "%ld Cols; " #, c-format msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" -msgstr "%s%ld de %ld Lnies seleccionades; %ld de %ld Paraules; %ld de %ld Octets" +msgstr "Selecci %s%ld de %ld Lnies; %ld de %ld Paraules; %ld de %ld Octets" + +#, c-format +msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld Bytes" +msgstr "Selecci %s%ld de %ld Lnies; %ld de %ld Paraules; %ld de %ld Carcters; %ld de %ld Octets" #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" msgstr "Col %s de %s; Lnia %ld de %ld; Paraula %ld de %ld; Octet %ld de %ld" #, c-format +msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of %ld" +msgstr "Col %s de %s; Lnia %ld de %ld; Paraula %ld de %ld; Carcter %ld de %ld; Octet %ld de %ld" + +#, c-format msgid "(+%ld for BOM)" msgstr "(+%ld per la BOM)" @@ -3370,11 +4061,6 @@ msgstr "E519: L'opci no est suportada" msgid "E520: Not allowed in a modeline" msgstr "E520: No est perms en una lnia de mode" -msgid "" -"\n" -"\tLast set from " -msgstr "\n Definit per ltim cop a " - msgid "E521: Number required after =" msgstr "E521: Es requereix un nmero desprs de =" @@ -3420,7 +4106,7 @@ msgid "E595: contains unprintable or wide character" msgstr "E595: Cont un carcter no imprimible o ample" msgid "E596: Invalid font(s)" -msgstr "E596: El tipus de lletra no s vlid" +msgstr "E596: Fosa no vlida" msgid "E597: can't select fontset" msgstr "E597: No s'ha pogut seleccionar el conjunt de tipus" @@ -3429,10 +4115,10 @@ msgid "E598: Invalid fontset" msgstr "E598: El conjunt de tipus de lletra no s vlid" msgid "E533: can't select wide font" -msgstr "E533: No s'ha pogut seleccionar el tipus de lletra ample" +msgstr "E533: No s'ha pogut seleccionar una fosa ampla" msgid "E534: Invalid wide font" -msgstr "E534: El tipus de lletra ample no s vlid" +msgstr "E534: Fosa ampla no vlida" #, c-format msgid "E535: Illegal character after <%c>" @@ -3478,22 +4164,30 @@ msgstr "E355: L'opci s desconeguda: %s" msgid "" "\n" "--- Terminal codes ---" -msgstr "\n--- Codis de terminal ---" +msgstr "" +"\n" +"--- Codis de terminal ---" msgid "" "\n" "--- Global option values ---" -msgstr "\n--- Valors de les opcions globals ---" +msgstr "" +"\n" +"--- Valors de les opcions globals ---" msgid "" "\n" "--- Local option values ---" -msgstr "\n--- Valors de les opcions locals ---" +msgstr "" +"\n" +"--- Valors de les opcions locals ---" msgid "" "\n" "--- Options ---" -msgstr "\n--- Opcions ---" +msgstr "" +"\n" +"--- Opcions ---" msgid "E356: get_varp ERROR" msgstr "E356: Error en get_varp()" @@ -3554,8 +4248,8 @@ msgstr "un valor ANCHOR_BUF_SIZE massa petit." msgid "I/O ERROR" msgstr "ERROR d'E/S" -msgid "...(truncated)" -msgstr "...(truncat)" +msgid "Message" +msgstr "Missatge" msgid "'columns' is not 80, cannot execute external commands" msgstr "L'opci 'columns' no s 80, no es poden executar ordres externes" @@ -3570,15 +4264,12 @@ msgstr "a %s a %s" #, c-format msgid "E613: Unknown printer font: %s" -msgstr "E613: Tipus de lletra d'impressi desconegut: %s" +msgstr "E613: Fosa d'impressi desconeguda: %s" #, c-format msgid "E238: Print error: %s" msgstr "E238: Error d'impressi: %s" -msgid "Unknown" -msgstr "Desconegut" - #, c-format msgid "Printing '%s'" msgstr "S'est imprimint '%s'" @@ -3601,6 +4292,7 @@ msgstr "Vim: S'ha rebut un doble senyal, sortint\n" msgid "Vim: Caught deadly signal %s\n" msgstr "Vim: S'ha rebut un senyal letal %s\n" +#, c-format msgid "Vim: Caught deadly signal\n" msgstr "Vim: S'ha rebut un senyal letal\n" @@ -3612,7 +4304,9 @@ msgstr "S'ha trigat %ld mseg en obrir el display X" msgid "" "\n" "Vim: Got X error\n" -msgstr "\nVim: Error de X\n" +msgstr "" +"\n" +"Vim: Error de X\n" # display msgid "Testing the X display failed" @@ -3625,36 +4319,52 @@ msgstr "S'ha esgotat el temps mentre es tractava d'obrir el display X" msgid "" "\n" "Cannot execute shell " -msgstr "\nNo s'ha pogut executar la shell " +msgstr "" +"\n" +"No s'ha pogut executar la shell " msgid "" "\n" "Cannot execute shell sh\n" -msgstr "\nNo s'ha pogut executar la shell sh\n" +msgstr "" +"\n" +"No s'ha pogut executar la shell sh\n" msgid "" "\n" "shell returned " -msgstr "\nla shell ha retornat " +msgstr "" +"\n" +"la shell ha retornat " msgid "" "\n" "Cannot create pipes\n" -msgstr "\nNo s'han pogut crear canonades\n" +msgstr "" +"\n" +"No s'han pogut crear canonades\n" msgid "" "\n" "Cannot fork\n" -msgstr "\nNo s'ha pogut bifurcar\n" +msgstr "" +"\n" +"No s'ha pogut bifurcar\n" msgid "" "\n" "Command terminated\n" -msgstr "\nL'ordre ha finalitzat\n" +msgstr "" +"\n" +"L'ordre ha finalitzat\n" msgid "XSMP lost ICE connection" msgstr "XSMP: s'ha perdut la connexi ICE" +#, c-format +msgid "dlerror = \"%s\"" +msgstr "dlerror = \"%s\"" + # display msgid "Opening the X display failed" msgstr "Ha fallat l'obertura del display X" @@ -3675,15 +4385,12 @@ msgstr "XSMP: Ha fallat la rutina SmcOpenConnection: %s" msgid "At line" msgstr "A la lnia" -msgid "Could not allocate memory for command line." -msgstr "No s'ha pogut assignar memria per la lnia d'ordres." +msgid "Could not load vim32.dll!" +msgstr "No s'ha pogut carregar vim32.dll!" msgid "VIM Error" msgstr "Error del VIM" -msgid "Could not load vim32.dll!" -msgstr "No s'ha pogut carregar vim32.dll!" - msgid "Could not fix up function pointers to the DLL!" msgstr "No s'han pogut reassignar els punters de funcions a la DLL!" @@ -3728,7 +4435,7 @@ msgid "E373: Unexpected %%%c in format string" msgstr "E373: %%%c inesperat a la cadena de format" msgid "E374: Missing ] in format string" -msgstr "E364: Falta un ] a la cadena de format" +msgstr "E374: Falta un ] a la cadena de format" #, c-format msgid "E375: Unsupported %%%c in format string" @@ -3771,6 +4478,19 @@ msgstr "llista d'errors %d de %d; %d errors" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: No s'ha pogut escriure, l'opci 'buftype' no est definida" +msgid "E683: File name missing or invalid pattern" +msgstr "E683: Falta el nom de fitxer o el patr no s vlid" + +#, c-format +msgid "Cannot open file \"%s\"" +msgstr "No s'ha pogut obrir el fitxer \"%s\"" + +msgid "E681: Buffer is not loaded" +msgstr "E681: El buffer no est carregat" + +msgid "E777: String or List expected" +msgstr "E777: S'esperava una cadena o una llista" + #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: tem no vlid a %s%%[]" @@ -3801,22 +4521,10 @@ msgid "E55: Unmatched %s)" msgstr "E55: %s) desequilibrat" #, c-format -msgid "E56: %s* operand could be empty" -msgstr "E56: L'operand %s* podria estar buit" - -#, c-format -msgid "E57: %s+ operand could be empty" -msgstr "E57: L'operand %s+ podria estar buit" - -#, c-format msgid "E59: invalid character after %s@" msgstr "E59: Hi ha un carcter no vlid desprs de %s@" #, c-format -msgid "E58: %s{ operand could be empty" -msgstr "E58: L'operand %s{ podria estar buit" - -#, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: La construcci %s{...} s massa complexa" @@ -3833,7 +4541,7 @@ msgstr "E63: s no vlid de \\_" #, c-format msgid "E64: %s%c follows nothing" -msgstr "E46: No ha ha res abans de %s%c" +msgstr "E64: No ha ha res abans de %s%c" msgid "E65: Illegal back reference" msgstr "E65: Referncia illegal a l'element anterior" @@ -3856,26 +4564,24 @@ msgid "E70: Empty %s%%[]" msgstr "E70: Element %s%%[] buit" #, c-format +msgid "E678: Invalid character after %s%%[dxouU]" +msgstr "E678: Carcter invlid desprs de %s%%[dxouU]" + +#, c-format msgid "E71: Invalid character after %s%%" msgstr "E71: Hi ha un carcter invlid desprs de %s%%" #, c-format +msgid "E769: Missing ] after %s[" +msgstr "E769: Falta un ] desprs de %s[" + +#, c-format msgid "E554: Syntax error in %s{...}" msgstr "E554: Error de sintaxi a %s{...}" -msgid "E361: Crash intercepted; regexp too complex?" -msgstr "E361: Programa inestable; expressi regular massa complexa?" - -msgid "E363: pattern caused out-of-stack error" -msgstr "E363: El patr ha provocat un error de desbordament de pila" - msgid "External submatches:\n" msgstr "Subcoincidncies externes:\n" -#, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld lnies plegades " - msgid " VREPLACE" msgstr " SUBSTITUIRV" @@ -3911,26 +4617,26 @@ msgstr " (lang)" msgid " (paste)" msgstr " (enganxar)" -msgid " SELECT" -msgstr " SELECCIONAR" - msgid " VISUAL" msgstr " VISUAL" -msgid " BLOCK" -msgstr " BLOC" +msgid " VISUAL LINE" +msgstr " VISUAL LNIA" -msgid " LINE" -msgstr " LNIA" +msgid " VISUAL BLOCK" +msgstr " VISUAL BLOC" -msgid "recording" -msgstr "enregistrant" +msgid " SELECT" +msgstr " SELECCIONAR" -msgid "search hit TOP, continuing at BOTTOM" -msgstr "la cerca ha arribat a DALT, es continua a BAIX" +msgid " SELECT LINE" +msgstr " SELECCI LNIA" -msgid "search hit BOTTOM, continuing at TOP" -msgstr "la cerca ha arribat a BAIX, es continua a DALT" +msgid " SELECT BLOCK" +msgstr " SELECCI BLOC" + +msgid "recording" +msgstr "enregistrant" #, c-format msgid "E383: Invalid search string: %s" @@ -3970,6 +4676,10 @@ msgstr " NO TROBAT" msgid "Scanning included file: %s" msgstr "Examinant el fitxer incls: %s" +#, c-format +msgid "Searching included file %s" +msgstr "Cercant al fitxer incls %s" + msgid "E387: Match is on current line" msgstr "E387: El resultat es troba a la lnia actual" @@ -3986,6 +4696,364 @@ msgid "E389: Couldn't find pattern" msgstr "E389: No s'ha trobat el patr" #, c-format +msgid "" +"\n" +"# Last %sSearch Pattern:\n" +"~" +msgstr "" +"\n" +"# ltim %sPatr de Cerca:\n" +"~" + +msgid "E759: Format error in spell file" +msgstr "E759: Error de format en el fitxer d'ortografia" + +msgid "E758: Truncated spell file" +msgstr "E758: Fitxer d'ortografia truncat" + +#, c-format +msgid "Trailing text in %s line %d: %s" +msgstr "Text sobrant a %s lnia %d: %s" + +#, c-format +msgid "Affix name too long in %s line %d: %s" +msgstr "El nom de l'afix s massa llarg a %s lnia %d: %s" + +msgid "E761: Format error in affix file FOL, LOW or UPP" +msgstr "E761: Error de format en el fitxer d'afixos FOL, LOW o UPP" + +msgid "E762: Character in FOL, LOW or UPP is out of range" +msgstr "E762: Carcter a FOL, LOW o UPP fora d'abast" + +msgid "Compressing word tree..." +msgstr "Comprimint l'arbre de paraules..." + +msgid "E756: Spell checking is not enabled" +msgstr "E756: La correcci ortogrfica no est activada" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Atenci: No s'ha trobat la llista de paraules \"%s.%s.spl\" o \"%s.ascii.spl\"" + +#, c-format +msgid "Reading spell file \"%s\"" +msgstr "Llegint el fitxer d'ortografia \"%s\"" + +msgid "E757: This does not look like a spell file" +msgstr "E757: Aix no t pinta de ser un fitxer d'ortografia" + +msgid "E771: Old spell file, needs to be updated" +msgstr "E771: Fitxer d'ortografia vell, ha de ser actualitzat" + +msgid "E772: Spell file is for newer version of Vim" +msgstr "E772: El fitxer d'ortografia s per a una versi ms recent del Vim" + +msgid "E770: Unsupported section in spell file" +msgstr "E770: Secci en el fitxer d'ortografia no suportada" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Atenci: la regi %s no est suportada" + +#, c-format +msgid "Reading affix file %s ..." +msgstr "Llegint el fitxer d'afixos %s ..." + +#, c-format +msgid "Conversion failure for word in %s line %d: %s" +msgstr "No s'ha pogut convertir una paraula a %s lnia %d: %s" + +#, c-format +msgid "Conversion in %s not supported: from %s to %s" +msgstr "La conversi a %s no est suportada: de %s a %s" + +#, c-format +msgid "Conversion in %s not supported" +msgstr "Conversi a %s no suportada" + +#, c-format +msgid "Invalid value for FLAG in %s line %d: %s" +msgstr "Valor de marca no vlid a %s lnia %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG desprs d'usar marques a %s lnia %d: %s" + +#, c-format +msgid "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d" +msgstr "Definir COMPOUNDFORBIDFLAG desprs de l'element PFX pot tenir resultats inesperats a %s lnia %d" + +#, c-format +msgid "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d" +msgstr "Definir COMPOUNDPERMITFLAG desprs de l'element PFX pot tenir resultats inesperats a %s lnia %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Valor de COMPOUNDWORDMAX incorrecte a %s lnia %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Valor de COMPOUNDMIN incorrecte a %s lnia %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Valor de COMPOUNDSYLMAX incorrecte a %s lnia %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Valor de CHECKCOMPOUNDPATTERN incorrecte a %s lnia %d: %s" + +#, c-format +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "Marca de combinaci diferent en bloc continuat d'afixos a %s lnia %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Afix duplicat a %s lnia %d: %s" + +#, c-format +msgid "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s line %d: %s" +msgstr "Afix tamb utilitzat per a BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST a %s lnia %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "S'esperava Y o N a %s lnia %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Condici errnia a %s lnia %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "S'esperava recompte REP(SAL) a %s lnia %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "S'esperava un recompte MAP a %s lnia %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Carcter duplicat en un element MAP a %s lnia %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Element duplicat o no reconegut a %s lnia %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Falta una lnia FOL/LOW/UPP a %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "Element COMPOUNDSYLMAX sense sllaba" + +msgid "Too many postponed prefixes" +msgstr "Sobren prefixes posposats" + +msgid "Too many compound flags" +msgstr "Sobren marques de composici" + +msgid "Too many posponed prefixes and/or compound flags" +msgstr "Massa prefixes posposats i/o marques de composici" + +#, c-format +msgid "Missing SOFO%s line in %s" +msgstr "Falta una lnia SOFO%s a %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "Lnies SAL i SOFO a %s" + +#, c-format +msgid "Flag is not a number in %s line %d: %s" +msgstr "La marca no s un nmero a %s lnia %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Marca illegal a %s lnia %d: %s" + +#, c-format +msgid "%s value differs from what is used in another .aff file" +msgstr "el valor %s difereix de l'usat en un altre fitxer .aff" + +#, c-format +msgid "Reading dictionary file %s ..." +msgstr "Llefint el fitxer de diccionari %s ..." + +#, c-format +msgid "E760: No word count in %s" +msgstr "E760: No hi ha recompte de paraules a %s" + +#, c-format +msgid "line %6d, word %6d - %s" +msgstr "lnia %6d, paraula %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Paraula duplicada a %s lnia %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "Primera paraula duplicada a %s lnia %d: %s" + +#, c-format +msgid "%d duplicate word(s) in %s" +msgstr "%d paraula/es duplada/es a %s" + +#, c-format +msgid "Ignored %d word(s) with non-ASCII characters in %s" +msgstr "%d paraula/es ignorada/es amb carcters no-ASCII a %s" + +#, c-format +msgid "Reading word file %s ..." +msgstr "Llegint el fitxer de paraules %s ..." + +#, c-format +msgid "Duplicate /encoding= line ignored in %s line %d: %s" +msgstr "S'ignora la lnia /encoding= duplicada a %s lnia %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "S'ignora una lnia /encoding= desprs d'una paraula a %s lnia %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "S'ignora la lnia /regions= duplicada a %s lnia %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "Massa regions a %s lnia %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "Lnia / ignorada a %s lnia %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Nmero de regi no vlid a %s lnia %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Marques no reconegudes a %s lnia %d: %s" + +#, c-format +msgid "Ignored %d words with non-ASCII characters" +msgstr "S'ignoren %d paraules amb carcters no-ASCII" + +#, c-format +msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +msgstr "Comprimits %d de %d nodes; %d (%d%%) pendents" + +msgid "Reading back spell file..." +msgstr "Tornant a llegir el fitxer d'ortografia..." + +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. +msgid "Performing soundfolding..." +msgstr "Efectuant expansi per similitud fontica..." + +#, c-format +msgid "Number of words after soundfolding: %ld" +msgstr "Nombre de paraules desprs de l'expansi per similitud fontica: %ld" + +#, c-format +msgid "Total number of words: %d" +msgstr "Nombre total de paraules: %d" + +#, c-format +msgid "Writing suggestion file %s ..." +msgstr "Escrivint el fitxer de suggeriments %s ..." + +#, c-format +msgid "Estimated runtime memory use: %d bytes" +msgstr "s estimat de memria en funcionament: %d octets" + +msgid "E751: Output file name must not have region name" +msgstr "E751: El fitxer de sortida no pot tenir un nom de regi" + +msgid "E754: Only up to 8 regions supported" +msgstr "E754: Noms es suporten fins a 8 regions" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Regi no vlida a %s" + +msgid "Warning: both compounding and NOBREAK specified" +msgstr "Atenci: heu especificat composici i NOBREAK alhora" + +#, c-format +msgid "Writing spell file %s ..." +msgstr "Escrivint el fitxer d'ortografia %s ..." + +msgid "Done!" +msgstr "Fet!" + +#, c-format +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' no t %ld entrades" + +#, c-format +msgid "Word removed from %s" +msgstr "Paraula eliminada de %s" + +#, c-format +msgid "Word added to %s" +msgstr "Paraula afegida a %s" + +msgid "E763: Word characters differ between spell files" +msgstr "E763: Els carcters de paraula difereixen entre fitxers d'ortografia" + +msgid "Sorry, no suggestions" +msgstr "Cap suggeriment" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Llstima, noms %ld suggeriments" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Canviar \"%.*s\" per:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: No hi ha cap correcci ortogrfica anterior" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: No trobat: %s" + +#, c-format +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: No sembla pas un fitxer .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Fitxer .sug antic, ha de ser actualitzat: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: El fitxer .sug s per a una versi ms nova del Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: El fitxer .sug no coincideix amb el fitxer .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: error en llegir el fitxer .sug: %s" + +#. This should have been checked when generating the .spl +#. * file. +msgid "E783: duplicate char in MAP entry" +msgstr "E783: Carcter duplicat a l'entrada MAP" + +#, c-format msgid "E390: Illegal argument: %s" msgstr "E390: L'argument s illegal: %s" @@ -4013,17 +5081,23 @@ msgstr " lnies abans de la lnia superior" msgid "" "\n" "--- Syntax sync items ---" -msgstr "\n--- tems de sincronitzaci de sintaxi ---" +msgstr "" +"\n" +"--- tems de sincronitzaci de sintaxi ---" msgid "" "\n" "syncing on items" -msgstr "\ns'est sincronitzant a partir d'tems" +msgstr "" +"\n" +"s'est sincronitzant a partir d'tems" msgid "" "\n" "--- Syntax items ---" -msgstr "\n--- tems de sintaxi ---" +msgstr "" +"\n" +"--- tems de sintaxi ---" #, c-format msgid "E392: No such syntax cluster: %s" @@ -4041,6 +5115,12 @@ msgstr "; coincidncia " msgid " line breaks" msgstr " salts de lnia" +msgid "E395: contains argument not accepted here" +msgstr "E395: Cont un argument que no s'accepta aqu" + +msgid "E396: containedin argument not accepted here" +msgstr "E396: L'argument 'containedin' no s'accepta aqu" + msgid "E393: group[t]here not accepted here" msgstr "E393: L'opci group[t]here no s'accepta aqu" @@ -4048,16 +5128,14 @@ msgstr "E393: L'opci group[t]here no s'accepta aqu" msgid "E394: Didn't find region item for %s" msgstr "E394: No s'ha trobat cap regi d'tems per %s" -msgid "E395: contains argument not accepted here" -msgstr "E395: Cont un argument que no s'accepta aqu" - -msgid "E396: containedin argument not accepted here" -msgstr "E396: L'argument 'containedin' no s'accepta aqu" - msgid "E397: Filename required" msgstr "E397: Es requereix un nom de fitxer" #, c-format +msgid "E789: Missing ']': %s" +msgstr "E789: Falta un ']': %s" + +#, c-format msgid "E398: Missing '=': %s" msgstr "E398: Falta un '=': %s" @@ -4094,7 +5172,7 @@ msgstr "E406: Argument buit: %s" #, c-format msgid "E407: %s not allowed here" -msgstr "E402: %s no est perms aqu" +msgstr "E407: %s no est perms aqu" #, c-format msgid "E408: %s must be first in contains list" @@ -4108,6 +5186,9 @@ msgstr "E409: El nom del grup s desconegut: %s" msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: Sub-ordre de sintaxi no vlida: %s" +msgid "E679: recursive loop loading syncolor.vim" +msgstr "E679: Iteraci recursiva en carregar syncolor.vim" + #, c-format msgid "E411: highlight group not found: %s" msgstr "E411: No s'ha trobat el grup de ressalt: %s" @@ -4160,6 +5241,12 @@ msgstr "E423: L'argument s illegal: %s" msgid "E424: Too many different highlighting attributes in use" msgstr "E424: Hi ha massa atributs de ressalt diferents en s" +msgid "E669: Unprintable character in group name" +msgstr "E669: Carcter no imprimible en el nom del grup" + +msgid "W18: Invalid character in group name" +msgstr "W18: Hi ha un carcter no vlid en el nom del grup" + msgid "E555: at bottom of tag stack" msgstr "E555: Baix de la pila d'etiquetes" @@ -4179,13 +5266,6 @@ msgstr " # pri tip etiqueta" msgid "file\n" msgstr "fitxer\n" -#. -#. * Ask to select a tag from the list. -#. * When using ":silent" assume that <CR> was entered. -#. -msgid "Enter nr of choice (<CR> to abort): " -msgstr "Entreu un nmero (<Entrar> per avortar): " - msgid "E427: There is only one matching tag" msgstr "E427: Noms hi ha una sola etiqueta que coincideixi" @@ -4215,7 +5295,9 @@ msgstr "E429: El fitxer \"%s\" no existeix" msgid "" "\n" " # TO tag FROM line in file/text" -msgstr "\n # A etiq DES DE lnia en fitxer/text" +msgstr "" +"\n" +" # A etiq DES DE lnia en fitxer/text" #, c-format msgid "Searching tags file %s" @@ -4274,7 +5356,9 @@ msgstr "E437: Es requereix la capacitat \"cm\" per part del terminal" msgid "" "\n" "--- Terminal keys ---" -msgstr "\n--- Tecles del terminal ---" +msgstr "" +"\n" +"--- Tecles del terminal ---" msgid "new shell started\n" msgstr "s'ha iniciat una nova shell\n" @@ -4286,15 +5370,59 @@ msgstr "Vim: Error en llegir l'entrada, sortint...\n" msgid "No undo possible; continue anyway" msgstr "No es pot desfer res; voleu continuar" +msgid "Already at oldest change" +msgstr "Ja sou en el canvi ms vell" + +msgid "Already at newest change" +msgstr "Ja sou en el canvi ms recent" + +#, c-format +msgid "Undo number %ld not found" +msgstr "Lnia de desfer nmero %ld no trobada" + msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: els nombres de lnia no sn correctes" -msgid "1 change" -msgstr "1 canvi" +msgid "more line" +msgstr "lnia ms" + +msgid "more lines" +msgstr "lnies ms" + +msgid "line less" +msgstr "lnia menys" + +msgid "fewer lines" +msgstr "lnies menys" + +msgid "change" +msgstr "canvi" + +msgid "changes" +msgstr "canvis" + +#, c-format +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" + +msgid "before" +msgstr "abans" + +msgid "after" +msgstr "desprs" + +msgid "Nothing to undo" +msgstr "No hi ha res per desfer" + +msgid "number changes time" +msgstr "nmero canvis hora" #, c-format -msgid "%ld changes" -msgstr "%ld canvis" +msgid "%ld seconds ago" +msgstr "fa %ld segons" + +msgid "E790: undojoin is not allowed after undo" +msgstr "E790: undojoin no est perms desprs de undo" msgid "E439: undo list corrupt" msgstr "E439: La llista de desfer est corrompuda" @@ -4306,12 +5434,23 @@ msgstr "E440: Falta una lnia de desfer" msgid "" "\n" "MS-Windows 16/32 bit GUI version" -msgstr "\nVersi GUI per MS-Windows 16/32 bits" +msgstr "" +"\n" +"Versi GUI per MS-Windows 16/32 bits" + +msgid "" +"\n" +"MS-Windows 64 bit GUI version" +msgstr "" +"\n" +"Versi GUI per a MS-Windows 64 bits" msgid "" "\n" "MS-Windows 32 bit GUI version" -msgstr "\nVersi GUI per MS-Windows 32 bits" +msgstr "" +"\n" +"Versi GUI per MS-Windows 32 bits" msgid " in Win32s mode" msgstr " en mode Win32s" @@ -4322,47 +5461,65 @@ msgstr " amb suport per OLE" msgid "" "\n" "MS-Windows 32 bit console version" -msgstr "\nVersi consola per MS-Windows 32 bits" +msgstr "" +"\n" +"Versi consola per MS-Windows 32 bits" msgid "" "\n" "MS-Windows 16 bit version" -msgstr "\nVersi per MS-Windows 16 bits" +msgstr "" +"\n" +"Versi per MS-Windows 16 bits" msgid "" "\n" "32 bit MS-DOS version" -msgstr "\nVersi per MS-DOS 32 bits" +msgstr "" +"\n" +"Versi per MS-DOS 32 bits" msgid "" "\n" "16 bit MS-DOS version" -msgstr "\nVersi per MS-DOS 16 bits" +msgstr "" +"\n" +"Versi per MS-DOS 16 bits" msgid "" "\n" "MacOS X (unix) version" -msgstr "\nVersi per MacOS X (Unix)" +msgstr "" +"\n" +"Versi per MacOS X (Unix)" msgid "" "\n" "MacOS X version" -msgstr "\nVersi per MacOS X" +msgstr "" +"\n" +"Versi per MacOS X" msgid "" "\n" "MacOS version" -msgstr "\nVersi per MacOS" +msgstr "" +"\n" +"Versi per MacOS" msgid "" "\n" "RISC OS version" -msgstr "\nVersi per RISC OS" +msgstr "" +"\n" +"Versi per RISC OS" msgid "" "\n" "Included patches: " -msgstr "\nModificacions incloses: " +msgstr "" +"\n" +"Modificacions incloses: " msgid "Modified by " msgstr "Modificat per " @@ -4370,7 +5527,9 @@ msgstr "Modificat per " msgid "" "\n" "Compiled " -msgstr "\nCompilat " +msgstr "" +"\n" +"Compilat " msgid "by " msgstr "per " @@ -4378,27 +5537,37 @@ msgstr "per " msgid "" "\n" "Huge version " -msgstr "\nVersi enorme " +msgstr "" +"\n" +"Versi enorme " msgid "" "\n" "Big version " -msgstr "\nVersi gran " +msgstr "" +"\n" +"Versi gran " msgid "" "\n" "Normal version " -msgstr "\nVersi normal " +msgstr "" +"\n" +"Versi normal " msgid "" "\n" "Small version " -msgstr "\nVersi reduda " +msgstr "" +"\n" +"Versi reduda " msgid "" "\n" "Tiny version " -msgstr "\nVersi mnima " +msgstr "" +"\n" +"Versi mnima " msgid "without GUI." msgstr "sense GUI." @@ -4424,9 +5593,6 @@ msgstr "amb GUI X11-neXtaw." msgid "with X11-Athena GUI." msgstr "amb GUI X11-Athena." -msgid "with BeOS GUI." -msgstr "amb GUI BeOS." - msgid "with Photon GUI." msgstr "amb GUI Photon." @@ -4519,41 +5685,41 @@ msgid "by Bram Moolenaar et al." msgstr "per Bram Moolenaar et al." msgid "Vim is open source and freely distributable" -msgstr "Vim s un programa de codi obert i lliure distribuci" +msgstr "Vim s un programa obert i lliure distribuci" msgid "Help poor children in Uganda!" msgstr "Ajudeu els nens pobres d'Uganda!" # amplada 53 carcters msgid "type :help iccf<Enter> for information " -msgstr "feu :help iccf<Entrar> per ms informaci " +msgstr "feu :help iccf<Entrar> per a ms informaci " # amplada 53 carcters msgid "type :q<Enter> to exit " -msgstr "feu :q<Entrar> per sortir " +msgstr "feu :q<Entrar> per a sortir " # amplada 53 carcters msgid "type :help<Enter> or <F1> for on-line help" -msgstr "feu :help<Entrar> o <F1> per obtenir ajuda " +msgstr "feu :help<Entrar> o <F1> per a obtenir ajuda " # amplada 53 carcters -msgid "type :help version6<Enter> for version info" -msgstr "feu :help version6<Entrar> per info de la versi " +msgid "type :help version7<Enter> for version info" +msgstr "feu :help version7<Entrar> per a info de la versi " msgid "Running in Vi compatible mode" msgstr "Funcionant en mode compatible amb Vi" # amplada 53 carcters msgid "type :set nocp<Enter> for Vim defaults" -msgstr "feu :set nocp<Entrar> pels valors per omissi" +msgstr "feu :set nocp<Entrar> per al mode no compatible" # amplada 53 carcters msgid "type :help cp-default<Enter> for info on this" -msgstr "feu :help cp-default<Entrar> per info sobre el tema " +msgstr "feu :help cp-default<Entrar> per a info sobre el tema " # amplada 53 carcters msgid "menu Help->Orphans for information " -msgstr "men Ajuda->Orfes per informaci" +msgstr "men Ajuda->Orfes per a informaci " msgid "Running modeless, typed text is inserted" msgstr "Funcionant sense modes, el text escrit s'insereix" @@ -4561,27 +5727,48 @@ msgstr "Funcionant sense modes, el text escrit s'insereix" # Aix ha de lligar amb la traducci del men # amplada 53 carcters msgid "menu Edit->Global Settings->Toggle Insert Mode " -msgstr "men Edita->Opcions globals->Mode d'inserci " +msgstr "men Edita->Opcions globals->Mode d'inserci " # amplada 53 carcters msgid " for two modes " -msgstr " per dos modes" +msgstr " per a dos modes " # Aix ha de lligar amb la traducci del men # amplada 53 carcters msgid "menu Edit->Global Settings->Toggle Vi Compatible" -msgstr "men Edita->Opcions globals->Compatible amb Vi " +msgstr "men Edita->Opcions globals->Compatible amb Vi " # amplada 53 carcters msgid " for Vim defaults " -msgstr " pels valors per omissi" +msgstr " per al mode compatible" + +msgid "Sponsor Vim development!" +msgstr "Patrocineu el desenvolupament del Vim!" + +msgid "Become a registered Vim user!" +msgstr "Feu-vos usuari de Vim registrat!" + +# amplada 53 carcters +msgid "type :help sponsor<Enter> for information " +msgstr "feu :help sponsor<Entrar> per a informaci " + +# amplada 53 carcters +msgid "type :help register<Enter> for information " +msgstr "feu :help register<Entrar> per a informaci " + +# amplada 53 carcters +msgid "menu Help->Sponsor/Register for information " +msgstr "men Ajuda->Patrocini/Registre per a informaci " msgid "WARNING: Windows 95/98/ME detected" msgstr "ATENCI: S'ha detectat Windows 95/98/ME" # amplada 53 carcters msgid "type :help windows95<Enter> for info on this" -msgstr "feu :help windows95<Entrar> per info sobre el tema " +msgstr "feu :help windows95<Entrar> per a info sobre el tema " + +msgid "Already only one window" +msgstr "Noms hi ha una finestra" msgid "E441: There is no preview window" msgstr "E441: No hi ha cap finestra de previsualitzaci" @@ -4590,14 +5777,11 @@ msgid "E442: Can't split topleft and botright at the same time" msgstr "E442: No es pot dividir horitzontal i verticalment al mateix temps" msgid "E443: Cannot rotate when another window is split" -msgstr "E442: No hi pot haver rotaci quan hi ha finestres dividides" +msgstr "E443: No hi pot haver rotaci quan hi ha finestres dividides" msgid "E444: Cannot close last window" msgstr "E444: No es pot tancar l'ltima finestra" -msgid "Already only one window" -msgstr "Noms hi ha una finestra" - msgid "E445: Other window contains changes" msgstr "E445: Hi han altres finestres que contenen canvis" @@ -4615,8 +5799,8 @@ msgstr "E370: No s'ha pogut carregar la biblioteca %s" msgid "Sorry, this command is disabled: the Perl library could not be loaded." msgstr "Aquesta ordre no est habilitada: no s'ha pogut carregar la biblioteca Perl." -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "E299: Avaluaci Perl en una gbia no permesa sense el mdul Safe" msgid "Edit with &multiple Vims" msgstr "Edita en &mltiples Vims" @@ -4624,15 +5808,15 @@ msgstr "Edita en &mltiples Vims" msgid "Edit with single &Vim" msgstr "Edita en un sol &Vim" -msgid "&Diff with Vim" -msgstr "Mostra les &diferncies amb Vim" +msgid "Diff with Vim" +msgstr "Mostra les diferncies amb Vim" msgid "Edit with &Vim" msgstr "Edita amb el &Vim" #. Now concatenate -msgid "Edit with existing Vim - &" -msgstr "Edita amb el Vim existent - &" +msgid "Edit with existing Vim - " +msgstr "Edita amb un Vim existent - " msgid "Edits the selected file(s) with Vim" msgstr "Edita el(s) fitxer(s) seleccionat(s) amb el Vim" @@ -4677,9 +5861,15 @@ msgstr "E600: Falta una declaraci :endtry" msgid "E170: Missing :endwhile" msgstr "E170: Falta una declaraci :endwhile" +msgid "E170: Missing :endfor" +msgstr "E170: Falta un :endfor" + msgid "E588: :endwhile without :while" msgstr "E588: Declaraci :endwhile sense :while" +msgid "E588: :endfor without :for" +msgstr "E588: :endfor sense :for" + msgid "E13: File exists (add ! to override)" msgstr "E13: El fitxer existeix (afegiu ! per confirmar)" @@ -4692,11 +5882,11 @@ msgstr "E234: Conjunt de tipus desconegut: %s" #, c-format msgid "E235: Unknown font: %s" -msgstr "E235: Tipus de lletra desconegut: %s" +msgstr "E235: Fosa desconeguda: %s" #, c-format msgid "E236: Font \"%s\" is not fixed-width" -msgstr "E236: El tipus de lletra \"%s\" no s d'amplada fixa" +msgstr "E236: La fosa \"%s\" no s d'amplada fixa" msgid "E473: Internal error" msgstr "E473: Error intern" @@ -4728,9 +5918,6 @@ msgstr "E476: L'ordre no s vlida" msgid "E17: \"%s\" is a directory" msgstr "E17: \"%s\" s un directori" -msgid "E18: Unexpected characters before '='" -msgstr "E18: Carcters inesperats abans de '='" - #, c-format msgid "E364: Library call failed for \"%s()\"" msgstr "E364: La crida a la biblioteca a fallat per \"%s()\"" @@ -4864,6 +6051,9 @@ msgstr "E459: No es pot tornar al directori anterior" msgid "E42: No Errors" msgstr "E42: No hi han errors" +msgid "E776: No location list" +msgstr "E776: No hi ha cap llista de posicions" + msgid "E43: Damaged match string" msgstr "E43: S'ha corromput la cadena amb l'expressi regular" @@ -4874,14 +6064,18 @@ msgid "E45: 'readonly' option is set (add ! to override)" msgstr "E45: L'opci 'readonly' est definida (afegiu ! per confirmar)" #, c-format -msgid "E46: Cannot set read-only variable \"%s\"" -msgstr "E46: No s'ha pogut definir la variable de noms lectura \"%s\"" +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: No s'ha pogut canviar la variable de noms lectura \"%s\"" + +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: No s'ha pogut definir la variable dins la gbia: \"%s\"" msgid "E47: Error while reading errorfile" msgstr "E47: Error en llegir el fitxer d'errors" -#~ msgid "E48: Not allowed in sandbox" -#~ msgstr "" +msgid "E48: Not allowed in sandbox" +msgstr "E48: No est perms dins d'una gbia" msgid "E523: Not allowed here" msgstr "E523: No est perms aqu" @@ -4945,3 +6139,83 @@ msgstr "E449: S'ha rebut una expressi no vlida" msgid "E463: Region is guarded, cannot modify" msgstr "E463: La regi est protegida, no es pot modificar" + +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans no permet canvis a fitxers de noms-lectura" + +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Error intern: %s" + +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: el patr usa ms memria que 'maxmempattern'" + +msgid "E749: empty buffer" +msgstr "E749: buffer buit" + +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Patr de cerca o delimitador no vlid" + +msgid "E139: File is loaded in another buffer" +msgstr "E139: El fitxer est carregat en un altre buffer" + +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: L'opci '%s' no est definida" + +msgid "search hit TOP, continuing at BOTTOM" +msgstr "la cerca ha arribat a DALT, es continua a BAIX" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "la cerca ha arribat a BAIX, es continua a DALT" + +#~ msgid "[Error List]" +#~ msgstr "[Llista d'errors]" +#~ msgid "[No File]" +#~ msgstr "[Cap fitxer]" +#~ msgid "E106: Unknown variable: \"%s\"" +#~ msgstr "E106: La variable s desconeguda: \"%s\"" +#~ msgid "E123: Undefined function: %s" +#~ msgstr "E123: La funci no est definida: %s" +#~ msgid "E127: Cannot redefine function %s: It is in use" +#~ msgstr "E127: No s'ha pogut redefinir la funci %s: s'est utilitzant" +#~ msgid "E130: Undefined function: %s" +#~ msgstr "E130: La funci no est definida: %s" +#~ msgid "\"\n" +#~ msgstr "\"\n" +#~ msgid "-V[N]\t\tVerbose level" +#~ msgstr "-V[N]\t\tNivell de loquacitat" +#~ msgid "--help\t\tShow Gnome arguments" +#~ msgstr "--help\t\tMostra els arguments per Gnome" +#~ msgid "[string too long]" +#~ msgstr "[cadena massa llarga]" +#~ msgid "Hit ENTER to continue" +#~ msgstr "Premeu ENTRAR per continuar" +#~ msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" +#~ msgstr "" +#~ " (ENTRAR/RETROCS: lnia, ESPAI/b; pgina, d/u; mitja pgina, q: surt)" +#~ msgid " (RET: line, SPACE: page, d: half page, q: quit)" +#~ msgstr " (ENTRAR: lnia, ESPAI: pgina, d: mitja pgina, q: surt)" +#~ msgid "...(truncated)" +#~ msgstr "...(truncat)" +#~ msgid "Could not allocate memory for command line." +#~ msgstr "No s'ha pogut assignar memria per la lnia d'ordres." +#~ msgid "E56: %s* operand could be empty" +#~ msgstr "E56: L'operand %s* podria estar buit" +#~ msgid "E57: %s+ operand could be empty" +#~ msgstr "E57: L'operand %s+ podria estar buit" +#~ msgid "E58: %s{ operand could be empty" +#~ msgstr "E58: L'operand %s{ podria estar buit" +#~ msgid "E361: Crash intercepted; regexp too complex?" +#~ msgstr "E361: Programa inestable; expressi regular massa complexa?" +#~ msgid "E363: pattern caused out-of-stack error" +#~ msgstr "E363: El patr ha provocat un error de desbordament de pila" +#~ msgid " BLOCK" +#~ msgstr " BLOC" +#~ msgid " LINE" +#~ msgstr " LNIA" +#~ msgid "Enter nr of choice (<CR> to abort): " +#~ msgstr "Entreu un nmero (<Entrar> per avortar): " +#~ msgid "with BeOS GUI." +#~ msgstr "amb GUI BeOS." + diff --git a/src/po/fi.po b/src/po/fi.po new file mode 100644 index 000000000..ef167246f --- /dev/null +++ b/src/po/fi.po @@ -0,0 +1,6216 @@ +# Finnish translation for Vim. +# Copyright (C) 2003-2006 Free Software Foundation, Inc. +# 2007, Flammie Pirinen <flammie@iki.fi> +# +# Vimin kyttjt on nrttej. Sanasto on jargonia :-p +# +# Lhinn latin-1:t, sill vim pit portata ilmeisen obskuureille +# alustoille. Mys: pluralit puuttuu, ohjelman kyttliittymn fontti +# tasavlinen, tila rajattu, jne. jne., luovia ratkaisuja edess. +# +# Sanastosta: +# Fold on sellainen moderneissa ohjelmointi-IDE:iss oleva toiminto, jolla +# lohko koodia esim. funktio piilotetaan nkymst: suom. taitos alkup. +# analogian mukaan +# source v. lataa tiedoston, kuten bash-komento source (tai .) +# +# Kntmtt: +# if_sniff.c, tags.c, spell.c, regexp.c +msgid "" +msgstr "" +"Project-Id-Version: Vim 7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-09-04 01:30+0300\n" +"PO-Revision-Date: 2007-09-04 01:44+0300\n" +"Last-Translator: Flammie Pirinen <flammie@iki.fi>\n" +"Language-Team: Finnish <laatu@lokalisointi.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "E82: Cannot allocate any buffer, exiting..." +msgstr "E82: Mitn puskuria ei voitu varata, lopetetaan..." + +msgid "E83: Cannot allocate buffer, using other one..." +msgstr "E83: Puskuria ei voitu varata, kytetn toista..." + +msgid "E515: No buffers were unloaded" +msgstr "E515: Puskureita ei vapautettu" + +msgid "E516: No buffers were deleted" +msgstr "E516: Puskureita ei poistettu" + +msgid "E517: No buffers were wiped out" +msgstr "E517: Puskureita ei pyyhitty" + +msgid "1 buffer unloaded" +msgstr "1 puskuri vapautettiin" + +#, c-format +msgid "%d buffers unloaded" +msgstr "%d puskuria vapautettiin" + +msgid "1 buffer deleted" +msgstr "1 puskuri poistettu" + +#, c-format +msgid "%d buffers deleted" +msgstr "%d puskuria poistettu" + +msgid "1 buffer wiped out" +msgstr "1 puskuri pyyhitty" + +#, c-format +msgid "%d buffers wiped out" +msgstr "%d puskuria pyyhitty" + +msgid "E84: No modified buffer found" +msgstr "E84: Ei muokattuja puskureita" + +#. back where we started, didn't find anything. +msgid "E85: There is no listed buffer" +msgstr "E85: Luetteloitua puskuria ei ole" + +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Puskuria %ld ei ole" + +msgid "E87: Cannot go beyond last buffer" +msgstr "E87: Viimeisen puskurin ohi ei voi edet" + +msgid "E88: Cannot go before first buffer" +msgstr "E88: Ensimmisen puskurin ohi ei voi edet" + +#, c-format +msgid "E89: No write since last change for buffer %ld (add ! to override)" +msgstr "" +"E89: Puskurin %ld muutoksia ei ole tallennettu (lis komentoon ! " +"ohittaaksesi)" + +msgid "E90: Cannot unload last buffer" +msgstr "E90: Ei voi vapauttaa viimeist puskuria" + +msgid "W14: Warning: List of file names overflow" +msgstr "W14: Varoitus: Tiedostonimiluettelon ylivuoto" + +#, c-format +msgid "E92: Buffer %ld not found" +msgstr "E92: Puskuria %ld ei lydy" + +#, c-format +msgid "E93: More than one match for %s" +msgstr "E93: %s tsm useampaan kuin yhteen puskuriin" + +#, c-format +msgid "E94: No matching buffer for %s" +msgstr "E94: %s ei tsm yhteenkn puskuriin" + +#, c-format +msgid "line %ld" +msgstr "rivi %ld" + +msgid "E95: Buffer with this name already exists" +msgstr "E95: Samanniminen puskuri on jo olemassa" + +msgid " [Modified]" +msgstr " [Muokattu]" + +msgid "[Not edited]" +msgstr "[Muokkaamaton]" + +msgid "[New file]" +msgstr "[Uusi tiedosto]" + +msgid "[Read errors]" +msgstr "[Lukuvirheit]" + +msgid "[readonly]" +msgstr "[kirjoitussuojattu]" + +#, c-format +msgid "1 line --%d%%--" +msgstr "1 rivi --%d %%--" + +#, c-format +msgid "%ld lines --%d%%--" +msgstr "%ld rivi --%d %%--" + +#, c-format +msgid "line %ld of %ld --%d%%-- col " +msgstr "rivi %ld/%ld --%d %%-- sarake " + +msgid "[No Name]" +msgstr "[Nimetn]" + +#. must be a help buffer +msgid "help" +msgstr "ohje" + +msgid "[Help]" +msgstr "[Ohje]" + +msgid "[Preview]" +msgstr "[Esikatselu]" + +# sijainti tiedostossa -indikaattoreja: +# 4 merkki sais riitt +msgid "All" +msgstr "Kaik" + +msgid "Bot" +msgstr "Loppu" + +msgid "Top" +msgstr "Alku" + +#, c-format +msgid "" +"\n" +"# Buffer list:\n" +msgstr "" +"\n" +"# Puskuriluettelo:\n" + +msgid "[Location List]" +msgstr "[Sijaintiluettelo]" + +msgid "[Quickfix List]" +msgstr "[Pikakorjausluettelo]" + +msgid "" +"\n" +"--- Signs ---" +msgstr "" +"\n" +"--- Merkit ---" + +#, c-format +msgid "Signs for %s:" +msgstr "Merkit kohteelle %s:" + +#, c-format +msgid " line=%ld id=%d name=%s" +msgstr " rivi=%ld id=%d nimi=%s" + +#, c-format +msgid "E96: Can not diff more than %ld buffers" +msgstr "E96: Ei voi diffata enemp kuin %ld puskuria" + +msgid "E97: Cannot create diffs" +msgstr "E97: Ei voi luoda diffej" + +msgid "Patch file" +msgstr "Patch-tiedosto" + +msgid "E98: Cannot read diff output" +msgstr "E98: Ei voi lukea diffin tulostetta" + +msgid "E99: Current buffer is not in diff mode" +msgstr "E99: Tm puskuri ei ole diff-tilassa" + +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: Yksikn muu diff-tilan puskurit ei ole muokattavissa" + +msgid "E100: No other buffer in diff mode" +msgstr "E100: Yksikn muu puskuri ei ole diff-tilassa" + +msgid "E101: More than two buffers in diff mode, don't know which one to use" +msgstr "E101: Monta puskuria on diff-tilassa, kytettvn valinta ei onnistu" + +#, c-format +msgid "E102: Can't find buffer \"%s\"" +msgstr "E102: Puskuria %s ei lydy" + +#, c-format +msgid "E103: Buffer \"%s\" is not in diff mode" +msgstr "E103: Puskuri %s ei ole diff-tilassa" + +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: Puskuri vaihtui odottamatta" + +msgid "E104: Escape not allowed in digraph" +msgstr "E104: Escapea ei voi kytt digraafissa" + +msgid "E544: Keymap file not found" +msgstr "E544: Nppinkarttaa ei lydy" + +msgid "E105: Using :loadkeymap not in a sourced file" +msgstr "E105: Kytetn :loadkeymapia ladatun tiedoston ulkopuolella" + +msgid "E791: Empty keymap entry" +msgstr "E791: Tyhj keymap-kentt" + +msgid " Keyword completion (^N^P)" +msgstr " Avainsanatydennys (^N^P)" + +#. ctrl_x_mode == 0, ^P/^N compl. +msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" +msgstr " ^X-tila (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" + +msgid " Whole line completion (^L^N^P)" +msgstr " Tysrivitydennys (^L^N^P)" + +msgid " File name completion (^F^N^P)" +msgstr " Tiedostonimitydennys (^F^N^P)" + +msgid " Tag completion (^]^N^P)" +msgstr " Tgitydennys (^]^N^P)" + +msgid " Path pattern completion (^N^P)" +msgstr " Polkukuviotydennys (^N^P)" + +msgid " Definition completion (^D^N^P)" +msgstr " Mritelmtydennys (^D^N^P)" + +msgid " Dictionary completion (^K^N^P)" +msgstr " Sanakirjatydennys (^K^N^P)" + +msgid " Thesaurus completion (^T^N^P)" +msgstr " Thesaurus-tydennys (^T^N^P)" + +msgid " Command-line completion (^V^N^P)" +msgstr " Komentorivitydennys (^V^N^P)" + +msgid " User defined completion (^U^N^P)" +msgstr " Kyttjn mrittelem tydennys (^U^N^P)" + +msgid " Omni completion (^O^N^P)" +msgstr " Omnitydennys (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr " Oikaisulukuehdotus (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Avainsanan paikallinen tydennys (^N^P)" + +msgid "Hit end of paragraph" +msgstr "Kappaleen loppu tuli vastaan" + +msgid "'dictionary' option is empty" +msgstr "dictionary-asetus on tyhj" + +msgid "'thesaurus' option is empty" +msgstr "thesaurus-asetus on tyhj" + +#, c-format +msgid "Scanning dictionary: %s" +msgstr "Luetaan sanakirjaa: %s" + +msgid " (insert) Scroll (^E/^Y)" +msgstr " (sytt) Vieritys (^E/^Y)" + +msgid " (replace) Scroll (^E/^Y)" +msgstr " (korvaus) Vieritys (^E/^Y)" + +#, c-format +msgid "Scanning: %s" +msgstr "Luetaan: %s" + +#, c-format +msgid "Scanning tags." +msgstr "Luetaan tgej." + +msgid " Adding" +msgstr " Listn" + +#. showmode might reset the internal line pointers, so it must +#. * be called before line = ml_get(), or when this address is no +#. * longer needed. -- Acevedo. +#. +msgid "-- Searching..." +msgstr "-- Haetaan..." + +msgid "Back at original" +msgstr "Takaisin lhtpisteess" + +msgid "Word from other line" +msgstr "Sana toisella rivill" + +msgid "The only match" +msgstr "Ainoa tsmys" + +#, c-format +msgid "match %d of %d" +msgstr "tsmys %d/%d" + +#, c-format +msgid "match %d" +msgstr "tsmys %d" + +msgid "E18: Unexpected characters in :let" +msgstr "E18: Odottamattomia merkkej komennossa :let" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: Indeksi %ld luettelon rajojen ulkopuolella" + +#, c-format +msgid "E121: Undefined variable: %s" +msgstr "E121: Mrittelemtn muuttuja %s" + +msgid "E111: Missing ']'" +msgstr "E111: ] puuttuu" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Argumentin %s pit olla lista" + +# datarakenteita +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Argumentin %s pit olla lista tai sanakirja" + +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Sanakirjassa ei voi olla tyhji avaimia" + +msgid "E714: List required" +msgstr "E714: Lista tarvitaan" + +msgid "E715: Dictionary required" +msgstr "E715: Sanakirja tarvitaan" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Liikaa argumentteja funktiolle %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Avainta %s ei ole sanakirjassa" + +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Funktio %s on jo olemassa, lis ! korvataksesi" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Sanakirja-alkio on jo olemassa" + +msgid "E718: Funcref required" +msgstr "E718: Funcref tarvitaan" + +msgid "E719: Cannot use [:] with a Dictionary" +msgstr "E719: Sanakirjassa ei voi kytt merkint [:]" + +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Vr muuttujatyyppi muuttujalle %s=" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Tuntematon funktio: %s" + +#, c-format +msgid "E461: Illegal variable name: %s" +msgstr "E461: Virheellinen muuttujanimi: %s" + +msgid "E687: Less targets than List items" +msgstr "E687: Kohteita on vhemmn kuin listan alkioita" + +msgid "E688: More targets than List items" +msgstr "E688: Kohteita on enemmn kuin listan alkioita" + +msgid "Double ; in list of variables" +msgstr "Kaksi ;:tt listan muuttujissa" + +#, c-format +msgid "E738: Can't list variables for %s" +msgstr "E738: Kohteen %s muuttujia ei voi listata" + +msgid "E689: Can only index a List or Dictionary" +msgstr "E689: Vain listalla ja sanakirjalla voi olla indeksej" + +msgid "E708: [:] must come last" +msgstr "E708: [:]:n pit olla viimeisen" + +msgid "E709: [:] requires a List value" +msgstr "E709: [:] toimii vain listalla" + +msgid "E710: List value has more items than target" +msgstr "E710: Listalla on enemmn alkioita kuin kohteella" + +msgid "E711: List value has not enough items" +msgstr "E711: Listalla ei ole tarpeeksi alkioita" + +msgid "E690: Missing \"in\" after :for" +msgstr "E690: :for-kommenolta puuttuu in" + +#, c-format +msgid "E107: Missing braces: %s" +msgstr "E107: Sulkeita puuttuu: %s" + +#, c-format +msgid "E108: No such variable: \"%s\"" +msgstr "E108: Muuttujaa %s ei ole" + +msgid "E743: variable nested too deep for (un)lock" +msgstr "E743: muuttujassa liian monta tasoa lukituksen ksittelyyn" + +msgid "E109: Missing ':' after '?'" +msgstr "E109: ?:n jlkeen puuttuu :" + +msgid "E691: Can only compare List with List" +msgstr "E691: Listaa voi verrata vain listaan" + +msgid "E692: Invalid operation for Lists" +msgstr "E692: Virheellinen toiminto listalle" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Sanakirjaa voi verrata vain sanakirjaan" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Virheellinen toiminto sanakirjalle" + +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Funcrefi voi verrata vain funcrefiin" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Virheellinen toiminto funcrefille" + +msgid "E110: Missing ')'" +msgstr "E110: ) puuttuu" + +msgid "E695: Cannot index a Funcref" +msgstr "E695: Funcrefi ei voi indeksoida" + +#, c-format +msgid "E112: Option name missing: %s" +msgstr "E112: Asetuksen nimi puuttuu: %s" + +#, c-format +msgid "E113: Unknown option: %s" +msgstr "E113: Tuntematon asetus: %s" + +#, c-format +msgid "E114: Missing quote: %s" +msgstr "E114: Puuttuva lainausmerkki: %s" + +#, c-format +msgid "E115: Missing quote: %s" +msgstr "E115: Puuttuva lainausmerkki: %s" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Listasta puuttuu pilkku: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Listan lopusta puuttuu ]: %s" + +#, c-format +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Sanakirjasta puuttuu kaksoispiste: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Kaksi samaa avainta sanakirjassa: %s" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Sanakirjasta puuttuu pilkku: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Sanakirjan lopusta puuttuu }: %s" + +msgid "E724: variable nested too deep for displaying" +msgstr "E724: muuttuja on upotettu liian syvlle nytettvksi" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Tuntematon funktio: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Liikaa argumentteja funktiolle %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: <SID> skriptin ulkopuolella: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: dict-funktio ilman sanakirjaa: %s" + +msgid "E699: Too many arguments" +msgstr "E699: Liikaa argumentteja" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() toimii vain sytttilassa" + +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. +msgid "&Ok" +msgstr "&Ok" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Avain on jo olemassa: %s" + +#, c-format +msgid "+-%s%3ld lines: " +msgstr "+-%s%3ld rivi: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Tuntematon funktio: %s" + +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&OK\n" +"&Peru" + +msgid "called inputrestore() more often than inputsave()" +msgstr "inputrestore() suoritettu useammin kuin inputsave()" + +msgid "E786: Range not allowed" +msgstr "E786: Aluetta ei voi kytt" + +msgid "E701: Invalid type for len()" +msgstr "E701: Virheellinen tyyppi funktiolle len()" + +msgid "E726: Stride is zero" +msgstr "E726: Stride on nolla" + +msgid "E727: Start past end" +msgstr "E727: Alku on lopun jlkeen" + +msgid "<empty>" +msgstr "<tyhj>" + +msgid "E240: No connection to Vim server" +msgstr "E240: Ei yhteytt vim-palvelimeen" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Kohteeseen %s lhettminen ei onnistunut" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Palvelimen vastauksen lukeminen ei onnistunut" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Liikaa symbolisia linkkej (sykli)" + +msgid "E258: Unable to send to client" +msgstr "E258: Asiakkaalle lhetys ei onnistunut" + +msgid "E702: Sort compare function failed" +msgstr "E702: Lajittelun vertausfunktio ei onnistunut" + +msgid "(Invalid)" +msgstr "(Virheellinen)" + +msgid "E677: Error writing temp file" +msgstr "E677: Vliaikaistiedostoon kirjoittaminen ei onnistunut" + +msgid "E703: Using a Funcref as a number" +msgstr "E703: Funcref ei ky numerosta" + +msgid "E745: Using a List as a number" +msgstr "E745: Lista ei ky numerosta" + +msgid "E728: Using a Dictionary as a number" +msgstr "E728: Sanakirja ei ky numerosta" + +msgid "E729: using Funcref as a String" +msgstr "E729: Funcref ei ky merkkijonosta" + +msgid "E730: using List as a String" +msgstr "E730: Lista ei ky merkkijonosta" + +msgid "E731: using Dictionary as a String" +msgstr "E731: Sanakirja ei ky merkkijonosta" + +#, c-format +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: Funcrefin muuttujanimen pit alkaa suuraakkosella: %s" + +#, c-format +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Muuttujanimi on sama kuin olemassaolevan funktion: %s" + +#, c-format +msgid "E706: Variable type mismatch for: %s" +msgstr "E706: Muuttujatyyppi ei tsm: %s" + +#, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: Muuttujaa %s ei voi poistaa" + +#, c-format +msgid "E741: Value is locked: %s" +msgstr "E741: Arvo on lukittu: %s" + +msgid "Unknown" +msgstr "Tuntematon" + +#, c-format +msgid "E742: Cannot change value of %s" +msgstr "E742: Ei voi muuttaa muuttujan %s arvoa" + +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: muuttuja on upotettu liian syvlle kopioitavaksi" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: ( puuttuu: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Virheellinen argumentti: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: :endfunction puuttuu" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Funktion nimi ei ole sama kuin skriptin tiedostonnimi: %s" + +msgid "E129: Function name required" +msgstr "E129: Funktion nimi puuttuu" + +#, c-format +msgid "E128: Function name must start with a capital or contain a colon: %s" +msgstr "" +"E128: Funktion nimen pit alkaa suuraakkosella tai sislt kaksoispisteen: " +"%s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Funktiota %s ei voi poistaa" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Funktiokutsujen syvyys on enemmn kuin maxfuncdepth" + +#, c-format +msgid "calling %s" +msgstr "kutsutaan funktiota %s" + +#, c-format +msgid "%s aborted" +msgstr "%s keskeytettiin" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s palaa kohdassa #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s palaa kohdassa %s" + +#, c-format +msgid "continuing in %s" +msgstr "jatkaa kohdassa %s" + +msgid "E133: :return not inside a function" +msgstr "E133: :return ei ole funktion sisll" + +#, c-format +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# globaalit muuttujat:\n" + +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tViimeksi asetettu kohteesta " + +# puhutaan merkin ulkoasusta snprintf(..., c, c, c, c) +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, heksana %02x, oktaalina %03o" + +#, c-format +msgid "> %d, Hex %04x, Octal %o" +msgstr "> %d, heksana %04x, oktaalina %o" + +#, c-format +msgid "> %d, Hex %08x, Octal %o" +msgstr "> %d, hekdana %08x, oktaalina %o" + +msgid "E134: Move lines into themselves" +msgstr "E134: Rivien siirto itsejens plle" + +msgid "1 line moved" +msgstr "1 rivi siirretty" + +#, c-format +msgid "%ld lines moved" +msgstr "%ld rivi siirretty" + +#, c-format +msgid "%ld lines filtered" +msgstr "%ld rivi suodatettu" + +msgid "E135: *Filter* Autocommands must not change current buffer" +msgstr "E135: Suodatin-autocommand ei voi vaihtaa puskuria" + +msgid "[No write since last change]\n" +msgstr "[Viimeisint muutosta ei ole kirjoitettu]\n" + +#, c-format +msgid "%sviminfo: %s in line: " +msgstr "%sviminfo: %s rivill: " + +msgid "E136: viminfo: Too many errors, skipping rest of file" +msgstr "E136: viminfo: liikaa virheit, ohitetaan lopputiedosto" + +#, c-format +msgid "Reading viminfo file \"%s\"%s%s%s" +msgstr "Luetaan viminfo-tiedostoa \"%s\"%s%s%s" + +msgid " info" +msgstr " info" + +msgid " marks" +msgstr " merkit" + +msgid " FAILED" +msgstr " EPONNISTUI" + +#. avoid a wait_return for this message, it's annoying +#, c-format +msgid "E137: Viminfo file is not writable: %s" +msgstr "E137: Viminfo-tiedostoon ei voitu kirjoittaa: %s" + +#, c-format +msgid "E138: Can't write viminfo file %s!" +msgstr "E138: Viminfo-tiedoston kirjoittaminen ei onnistu %s" + +#, c-format +msgid "Writing viminfo file \"%s\"" +msgstr "Kirjoitetaan viminfo-tiedostoa %s" + +#. Write the info: +#, c-format +msgid "# This viminfo file was generated by Vim %s.\n" +msgstr "# Vimin %s generoima viminfo-tiedosto.\n" + +#, c-format +msgid "" +"# You may edit it if you're careful!\n" +"\n" +msgstr "" +"# Muokkaa varovasti!\n" +"\n" + +#, c-format +msgid "# Value of 'encoding' when this file was written\n" +msgstr "# encoding-muuttujan arvo tiedostoa kirjoitettaessa\n" + +msgid "Illegal starting char" +msgstr "Virheellinen aloitusmerkki" + +msgid "Save As" +msgstr "Tallenna nimell" + +msgid "Write partial file?" +msgstr "Kirjoita osittainen tiedosto" + +msgid "E140: Use ! to write partial buffer" +msgstr "E140: Kyt !-komentoa osittaisen puskurin kirjoittamiseen" + +#, c-format +msgid "Overwrite existing file \"%s\"?" +msgstr "Ylikirjoitetaanko olemassaoleva tiedosto %s?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "Swap-tiedosto %s on olemassa, ylikirjoitetaanko?" + +#, c-format +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: Swap-tiedosto on jo olemassa: %s (komento :silent! ohittaa)" + +#, c-format +msgid "E141: No file name for buffer %ld" +msgstr "E141: Ei tiedostonime puskurille %ld" + +msgid "E142: File not written: Writing is disabled by 'write' option" +msgstr "" +"E142: Tiedostoa ei kirjoitettu; write-asetus poistaa kirjoituksen kytst" + +#, c-format +msgid "" +"'readonly' option is set for \"%s\".\n" +"Do you wish to write anyway?" +msgstr "" +"readonly asetettu tiedostolle \"%s\".\n" +"Kirjoitetaanko?" + +#, c-format +msgid "" +"File permissions of \"%s\" are read-only.\n" +"It may still be possible to write it.\n" +"Do you wish to try?" +msgstr "" +"Tiedosto %s on kirjoitussuojattu.\n" +"Siihen saattaa voida silti kirjoittaa.\n" +"Yritetnk?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: %s on kirjoitussuojattu (lis komentoon ! ohittaaksesi)" + +msgid "Edit File" +msgstr "Muokkaa tiedostoa" + +#, c-format +msgid "E143: Autocommands unexpectedly deleted new buffer %s" +msgstr "E143: Autocommand poisti uuden puskurin odotuksen vastaisesti %s" + +msgid "E144: non-numeric argument to :z" +msgstr "E144: :z:n argumentti ei ole numero" + +msgid "E145: Shell commands not allowed in rvim" +msgstr "E145: Kuoren komennot eivt toimi rvimiss" + +msgid "E146: Regular expressions can't be delimited by letters" +msgstr "E146: Snnllist ilmausta ei voi rajata kirjaimilla" + +#, c-format +msgid "replace with %s (y/n/a/q/l/^E/^Y)?" +msgstr "korvaa kohteella %s (y/n/a/q/l/^E/^Y)?" + +msgid "(Interrupted) " +msgstr "(Keskeytetty)" + +msgid "1 match" +msgstr "1 tsmys" + +msgid "1 substitution" +msgstr "1 korvaus" + +#, c-format +msgid "%ld matches" +msgstr "%ld tsmyst" + +#, c-format +msgid "%ld substitutions" +msgstr "%ld korvausta" + +msgid " on 1 line" +msgstr " 1 rivill" + +#, c-format +msgid " on %ld lines" +msgstr " %ld rivill" + +msgid "E147: Cannot do :global recursive" +msgstr "E147: :globalia ei voi suorittaa rekursiivisesti" + +msgid "E148: Regular expression missing from global" +msgstr "E148: Snnllinen ilmaus puuttuu globaalista" + +#, c-format +msgid "Pattern found in every line: %s" +msgstr "Kuvio lytyi joka rivilt: %s" + +#, c-format +msgid "" +"\n" +"# Last Substitute String:\n" +"$" +msgstr "" +"\n" +"# Viimeisin korvausmerkkijono:\n" +"$" + +msgid "E478: Don't panic!" +msgstr "E478: l panikoi." + +#, c-format +msgid "E661: Sorry, no '%s' help for %s" +msgstr "E661: Sori, ei lydy %s-ohjetta kohteelle %s" + +#, c-format +msgid "E149: Sorry, no help for %s" +msgstr "E149: Sori, ei lydy ohjetta kohteelle %s" + +#, c-format +msgid "Sorry, help file \"%s\" not found" +msgstr "Sori, ohjetiedostoa %s ei lydy" + +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: Ei ole hakemisto: %s" + +#, c-format +msgid "E152: Cannot open %s for writing" +msgstr "E152: Ei voi avata tiedostoa %s kirjoittamista varten" + +#, c-format +msgid "E153: Unable to open %s for reading" +msgstr "E153: Ei voi avata tiedostoa %s lukemista varten" + +#, c-format +msgid "E670: Mix of help file encodings within a language: %s" +msgstr "E670: Monia ohjetiedostokoodauksia kieless: %s" + +#, c-format +msgid "E154: Duplicate tag \"%s\" in file %s/%s" +msgstr "E154: Kaksoiskappale tgist %s tiedostossa %s/%s" + +#, c-format +msgid "E160: Unknown sign command: %s" +msgstr "E160: Tuntematon merkkikomento: %s" + +msgid "E156: Missing sign name" +msgstr "E156: Merkki puuttuu" + +msgid "E612: Too many signs defined" +msgstr "E612: Liikaa merkkej mritelty" + +#, c-format +msgid "E239: Invalid sign text: %s" +msgstr "E239: Virheellinen merkkiteksti: %s" + +#, c-format +msgid "E155: Unknown sign: %s" +msgstr "E155: Tuntematon merkki: %s" + +msgid "E159: Missing sign number" +msgstr "E159: Merkin numero puuttuu" + +#, c-format +msgid "E158: Invalid buffer name: %s" +msgstr "E158: Virheellinen puskurin nimi: %s" + +#, c-format +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: Virheellinen merkin tunnus: %ld" + +msgid " (NOT FOUND)" +msgstr " (EI LYTYNYT)" + +msgid " (not supported)" +msgstr " (ei tuettu)" + +msgid "[Deleted]" +msgstr "[Poistettu]" + +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Siirrytn vianetsinttilaan, kirjoita cont jatkaaksesi." + +#, c-format +msgid "line %ld: %s" +msgstr "rivi %ld: %s" + +#, c-format +msgid "cmd: %s" +msgstr "kmnt: %s" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Katkaisukohta %s%s rivill %ld" + +#, c-format +msgid "E161: Breakpoint not found: %s" +msgstr "E161: Katkaisukohta puuttuu: %s" + +msgid "No breakpoints defined" +msgstr "Ei katkaisukohtia" + +#, c-format +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s rivi %ld" + +msgid "E750: First use :profile start <fname>" +msgstr "E750: Aloita kskyll :profile start <fname>" + +#, c-format +msgid "Save changes to \"%s\"?" +msgstr "Tallennetaanko muutokset tiedostoon %s?" + +msgid "Untitled" +msgstr "Nimetn" + +#, c-format +msgid "E162: No write since last change for buffer \"%s\"" +msgstr "E162: Muutoksia ei ole kirjoitettu puskurin %s viime muutoksen jlkeen" + +msgid "Warning: Entered other buffer unexpectedly (check autocommands)" +msgstr "Varoitus: Puskuri vaihtui odottamatta (tarkista autocommands)" + +msgid "E163: There is only one file to edit" +msgstr "E163: Vain yksi tiedosto muokattavana" + +msgid "E164: Cannot go before first file" +msgstr "E164: Ensimmisen tiedoston ohi ei voi menn" + +msgid "E165: Cannot go beyond last file" +msgstr "E165: Viimeisen tiedoston ohi ei voi menn" + +#, c-format +msgid "E666: compiler not supported: %s" +msgstr "E666: kntj ei tueta: %s" + +#, c-format +msgid "Searching for \"%s\" in \"%s\"" +msgstr "Etsitn ilmausta %s kohteesta %s" + +#, c-format +msgid "Searching for \"%s\"" +msgstr "Etsitn ilmausta %s" + +#, c-format +msgid "not found in 'runtimepath': \"%s\"" +msgstr "ei lydy runtimepathista: %s" + +msgid "Source Vim script" +msgstr "Lataa vim-skripti" + +#, c-format +msgid "Cannot source a directory: \"%s\"" +msgstr "Hakemistoa ei voi ladata: %s" + +#, c-format +msgid "could not source \"%s\"" +msgstr "ei voitu ladata %s" + +#, c-format +msgid "line %ld: could not source \"%s\"" +msgstr "rivi %ld: ei voitu ladata %s" + +#, c-format +msgid "sourcing \"%s\"" +msgstr "ladataan %s" + +#, c-format +msgid "line %ld: sourcing \"%s\"" +msgstr "rivi %ld: ladataan %s" + +#, c-format +msgid "finished sourcing %s" +msgstr "ladattu %s" + +msgid "modeline" +msgstr "mode-rivi" + +msgid "--cmd argument" +msgstr "--cmd-argumentti" + +msgid "-c argument" +msgstr "-c-argumentti" + +msgid "environment variable" +msgstr "ympristmuuttuja" + +msgid "error handler" +msgstr "virheksittelin" + +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "W15: Varoitus: Vr rivierotin, ^M saattaa puuttua" + +msgid "E167: :scriptencoding used outside of a sourced file" +msgstr "E167: :scriptencoding ladatun tiedoston ulkopuolella" + +msgid "E168: :finish used outside of a sourced file" +msgstr "E168: :finish ladatun tiedoston ulkopuolella" + +#, c-format +msgid "Current %slanguage: \"%s\"" +msgstr "Kytss oleva %skieli: %s" + +#, c-format +msgid "E197: Cannot set language to \"%s\"" +msgstr "E197: Kieleksi ei voitu asettaa kielt %s" + +msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." +msgstr "Siirrytn Ex-tilaan, kirjoita visual palataksesi normaaliin tilaan." + +msgid "E501: At end-of-file" +msgstr "E501: Tiedoston lopussa" + +msgid "E169: Command too recursive" +msgstr "E169: Liian rekursiivinen komento" + +#, c-format +msgid "E605: Exception not caught: %s" +msgstr "E605: Kiinniottamaton poikkeus: %s" + +msgid "End of sourced file" +msgstr "Ladatun tiedoston loppu" + +msgid "End of function" +msgstr "Funktion loppu" + +msgid "E464: Ambiguous use of user-defined command" +msgstr "E464: Kyttjn mrittelemn komennon monimerkityksinen kytt" + +msgid "E492: Not an editor command" +msgstr "E492: Ei ole editorikomento" + +msgid "E493: Backwards range given" +msgstr "E493: Takaperoinen arvoalue annettu" + +msgid "Backwards range given, OK to swap" +msgstr "Takaperoinen arvoalue annettu, OK knt" + +msgid "E494: Use w or w>>" +msgstr "E494: Kyt w:t tai w>>:aa" + +msgid "E319: Sorry, the command is not available in this version" +msgstr "E319: Komento ei ole kytettviss tss versiossa" + +msgid "E172: Only one file name allowed" +msgstr "E172: Vain yksi tiedostonimi sallitaan" + +msgid "1 more file to edit. Quit anyway?" +msgstr "viel 1 tiedosto muokattavana, lopetaanko silti?" + +#, c-format +msgid "%d more files to edit. Quit anyway?" +msgstr "viel %d tiedostoa muokattavana, lopetetaanko silti?" + +msgid "E173: 1 more file to edit" +msgstr "E173: viel 1 tiedosto muokattavana" + +#, c-format +msgid "E173: %ld more files to edit" +msgstr "E173: viel %ld tiedostoa muokattavana" + +msgid "E174: Command already exists: add ! to replace it" +msgstr "E174: Komento on jo olemassa, kyt !: korvataksesi" + +msgid "" +"\n" +" Name Args Range Complete Definition" +msgstr "" +"\n" +" Nimi Arg Arvot Valmis Mritelm" + +msgid "No user-defined commands found" +msgstr "Ei kyttjn mrittelemi komentoja" + +msgid "E175: No attribute specified" +msgstr "E175: Ei attribuutteja mriteltyn" + +msgid "E176: Invalid number of arguments" +msgstr "E176: Vr mr attribuutteja" + +msgid "E177: Count cannot be specified twice" +msgstr "E177: Lukumr ei voi mritell kahdesti" + +msgid "E178: Invalid default value for count" +msgstr "E178: Lukumrn oletusarvo on vr" + +msgid "E179: argument required for -complete" +msgstr "E179: -complete vaatii argumentin" + +#, c-format +msgid "E181: Invalid attribute: %s" +msgstr "E181: Virheellinen attribuutti %s" + +msgid "E182: Invalid command name" +msgstr "E182: Virheellinen komennon nimi" + +msgid "E183: User defined commands must start with an uppercase letter" +msgstr "E183: Kyttjn mrittelemn komennon pit alkaa suuraakkosella" + +#, c-format +msgid "E184: No such user-defined command: %s" +msgstr "E184: Kyttjn komentoa ei ole olemassa: %s" + +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Virheellinen tydennysarvo: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "E468: Tydennysargumentti sopii vain itse mriteltyyn tydennykseen" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Itse mritelty tydennys vaatii funktioargumentin" + +#, c-format +msgid "E185: Cannot find color scheme %s" +msgstr "E185: Vriteemaa %s ei lydy" + +msgid "Greetings, Vim user!" +msgstr "Tervehdys, Vimin kyttj." + +msgid "E784: Cannot close last tab page" +msgstr "E784: Viimeist vlilehte ei voi sulkea" + +msgid "Already only one tab page" +msgstr "Vain yksi vlilehti jljell en" + +msgid "Edit File in new window" +msgstr "Muokkaa uudessa ikkunassa" + +#, c-format +msgid "Tab page %d" +msgstr "Tabisivu %d" + +msgid "No swap file" +msgstr "Ei swap-tiedostoa" + +msgid "Append File" +msgstr "Lis tiedostoon" + +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" +msgstr "" +"E747: Hakemistoa ei voida muuttaa, puskuria on muokattu (lis komentoon ! " +"ohittaaksesi" + +msgid "E186: No previous directory" +msgstr "E186: Ei edellist hakemistoa" + +msgid "E187: Unknown" +msgstr "E187: Tuntematon" + +msgid "E465: :winsize requires two number arguments" +msgstr "E465: :winsize vaatii kaksi numeroargumenttia" + +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "Ikkunan sijainti: X %d, Y %d" + +msgid "E188: Obtaining window position not implemented for this platform" +msgstr "E188: Ikkunan sijainnin selvitys ei toimi tll alustalla" + +msgid "E466: :winpos requires two number arguments" +msgstr "E466: :winpos vaatii kaksi lukuargumenttia" + +msgid "Save Redirection" +msgstr "Tallenna uudelleenosoitus" + +msgid "Save View" +msgstr "Tallenna nkym" + +msgid "Save Session" +msgstr "Tallenna sessio" + +msgid "Save Setup" +msgstr "Tallenna asetukset" + +#, c-format +msgid "E739: Cannot create directory: %s" +msgstr "E739: hakemistoa ei voi luoda: %s" + +#, c-format +msgid "E189: \"%s\" exists (add ! to override)" +msgstr "E189: %s on jo olemassa (lis komentoon ! ohittaaksesi)" + +#, c-format +msgid "E190: Cannot open \"%s\" for writing" +msgstr "E190: Tiedostoa %s ei voitu avata kirjoittamista varten" + +#. set mark +msgid "E191: Argument must be a letter or forward/backward quote" +msgstr "E191: Argumentin eteen- tai taaksepin lainaukseen pit olla kirjain" + +msgid "E192: Recursive use of :normal too deep" +msgstr "E192: :normalin liian syv rekursio" + +msgid "E194: No alternate file name to substitute for '#'" +msgstr "E194: Ei vaihtoehtoista tiedostonime #:lle" + +msgid "E495: no autocommand file name to substitute for \"<afile>\"" +msgstr "E495: ei autocommand-tiedostoa kohteelle <afile>" + +msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" +msgstr "E496: ei autocommand-puskurinumeroa kohteelle <abuf>" + +msgid "E497: no autocommand match name to substitute for \"<amatch>\"" +msgstr "E497: ei autocommand-tsmysnime kohteella <amatch>" + +msgid "E498: no :source file name to substitute for \"<sfile>\"" +msgstr "E498: ei :source-tiedostonime kohteelle <sfile>" + +#, no-c-format +msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" +msgstr "E499: Tyhj tiedostonimi kohteissa % tai # toimii vain :p:h" + +msgid "E500: Evaluates to an empty string" +msgstr "E500: Loppuarvo on tyhj merkkijono" + +msgid "E195: Cannot open viminfo file for reading" +msgstr "E195: Viminfoa ei voi avata lukemista varten" + +msgid "E196: No digraphs in this version" +msgstr "E196: Digraafeja ei ole tss versiossa" + +msgid "E608: Cannot :throw exceptions with 'Vim' prefix" +msgstr "E608: Vim-alkuisia poikkeuksia ei voi heitt :throw-komennolla" + +#. always scroll up, don't overwrite +#, c-format +msgid "Exception thrown: %s" +msgstr "Poikkeus heitetty: %s" + +#, c-format +msgid "Exception finished: %s" +msgstr "Poikkeus lopeteltu: %s" + +#, c-format +msgid "Exception discarded: %s" +msgstr "Poikkeus poistettu: %s" + +#, c-format +msgid "%s, line %ld" +msgstr "%s, rivi %ld" + +#. always scroll up, don't overwrite +#, c-format +msgid "Exception caught: %s" +msgstr "Poikkeus otettu kiinni: %s" + +#, c-format +msgid "%s made pending" +msgstr "%s odotutettu" + +#, c-format +msgid "%s resumed" +msgstr "%s palautettu" + +#, c-format +msgid "%s discarded" +msgstr "%s poistettu" + +msgid "Exception" +msgstr "Poikkeus" + +msgid "Error and interrupt" +msgstr "Virhe ja keskeytys" + +msgid "Error" +msgstr "Virhe" + +#. if (pending & CSTP_INTERRUPT) +msgid "Interrupt" +msgstr "Keskeytys" + +msgid "E579: :if nesting too deep" +msgstr "E579: liian monta kerrosta :if-komennossa" + +msgid "E580: :endif without :if" +msgstr "E580: :endif ilman komentoa :if" + +msgid "E581: :else without :if" +msgstr "E581: :else ilman komentoa :if" + +msgid "E582: :elseif without :if" +msgstr "E582: :elseif ilman komentoa :if" + +msgid "E583: multiple :else" +msgstr "E583: :else monta kertaa" + +msgid "E584: :elseif after :else" +msgstr "E584: :elseif komennon :else jlkeen" + +msgid "E585: :while/:for nesting too deep" +msgstr "E585: liian monta tasoa :while- tai :for-komennoissa" + +msgid "E586: :continue without :while or :for" +msgstr "E586: :continue ilman komentoa :while tai :for" + +msgid "E587: :break without :while or :for" +msgstr "E587: :break ilman komentoa :while tai :for" + +msgid "E732: Using :endfor with :while" +msgstr "E732: :endfor ilman komentoa :while" + +msgid "E733: Using :endwhile with :for" +msgstr "E733: :endwhile ilman komentoa :for" + +msgid "E601: :try nesting too deep" +msgstr "E601: liian monta tasoa :try-komennossa" + +msgid "E603: :catch without :try" +msgstr "E603: :catch ilman komentoa :try" + +#. Give up for a ":catch" after ":finally" and ignore it. +#. * Just parse. +msgid "E604: :catch after :finally" +msgstr "E604: :catch ilman komentoa :finally" + +msgid "E606: :finally without :try" +msgstr "E606: :finally ilman komentoa :try" + +#. Give up for a multiple ":finally" and ignore it. +msgid "E607: multiple :finally" +msgstr "E607: :finally monta kertaa" + +msgid "E602: :endtry without :try" +msgstr "E602: :endtry ilman komentoa :try" + +msgid "E193: :endfunction not inside a function" +msgstr "E193: :endfunction funktion ulkopuolella" + +msgid "E788: Not allowed to edit another buffer now" +msgstr "E788: Puskuria ei voi muokata nyt" + +msgid "tagname" +msgstr "tginimi" + +msgid " kind file\n" +msgstr " -tiedostotyyppi\n" + +msgid "'history' option is zero" +msgstr "history-asetus on nolla" + +#, c-format +msgid "" +"\n" +"# %s History (newest to oldest):\n" +msgstr "" +"\n" +"# %s Historia (uusimmasta alkaen):\n" + +msgid "Command Line" +msgstr "Komentorivi" + +msgid "Search String" +msgstr "Hakujono" + +msgid "Expression" +msgstr "Ilmaus" + +msgid "Input Line" +msgstr "Syterivi" + +msgid "E198: cmd_pchar beyond the command length" +msgstr "E198: cmd_pchar komennon pituuden ulkopuolella" + +msgid "E199: Active window or buffer deleted" +msgstr "E199: Aktiivinen ikkuna tai puskuri poistettu" + +msgid "Illegal file name" +msgstr "Virheellinen tiedostonimi" + +msgid "is a directory" +msgstr "on hakemisto" + +msgid "is not a file" +msgstr "ei ole tiedosto" + +msgid "is a device (disabled with 'opendevice' option)" +msgstr "on laite (ei kytss opendevice-asetuksen takia)" + +msgid "[New File]" +msgstr "[Uusi tiedosto]" + +msgid "[New DIRECTORY]" +msgstr "[uusi HAKEMISTO]" + +msgid "[File too big]" +msgstr "[Liian iso tiedosto]" + +msgid "[Permission Denied]" +msgstr "[Lupa kielletty]" + +msgid "E200: *ReadPre autocommands made the file unreadable" +msgstr "" +"E200: *ReadPre-autocommand-komennot tekivt tiedostosta lukukelvottoman" + +msgid "E201: *ReadPre autocommands must not change current buffer" +msgstr "E201: *ReadPre-autocommand-komennot eivt saa muuttaa puskuria" + +msgid "Vim: Reading from stdin...\n" +msgstr "Vim: Luetaan vakiosytteest...\n" + +msgid "Reading from stdin..." +msgstr "Luetaan vakiosytteest" + +#. Re-opening the original file failed! +msgid "E202: Conversion made file unreadable!" +msgstr "E202: Muunnos teki tiedostosta lukukelvottoman." + +msgid "[fifo/socket]" +msgstr "[fifo t. soketti]" + +msgid "[fifo]" +msgstr "[fifo]" + +msgid "[socket]" +msgstr "[soketti]" + +msgid "[character special]" +msgstr "[merkki erikoinen]" + +msgid "[RO]" +msgstr "[Luku]" + +# Carriage Return elikk rivinvaihtomerkin ers muoto/osa (vrt. LF) +msgid "[CR missing]" +msgstr "[CR puuttuu]" + +# New Line eli uusi rivinvaihtomerkki (ei CR, LF tai CR LF) +msgid "[NL found]" +msgstr "[NL puuttuu]" + +msgid "[long lines split]" +msgstr "[pitkt rivit hajotettu]" + +msgid "[NOT converted]" +msgstr "[EI muunnettu]" + +msgid "[converted]" +msgstr "[muunnettu]" + +msgid "[crypted]" +msgstr "[salattu]" + +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[MUUNNOSVIRHE rivill %ld]" + +#, c-format +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[VIRHEELLINEN OKTETTI rivill %ld]" + +msgid "[READ ERRORS]" +msgstr "[LUKUVIRHEIT]" + +msgid "Can't find temp file for conversion" +msgstr "Ei voi lyt vliaikaistiedstoa muuntamiseksi" + +msgid "Conversion with 'charconvert' failed" +msgstr "Muunnos charconvert eponnistui" + +msgid "can't read output of 'charconvert'" +msgstr "charconvertin tulostetta ei voida lukea" + +msgid "E676: No matching autocommands for acwrite buffer" +msgstr "E676: Ei autocommand-komentoa acwrite-puskurille" + +msgid "E203: Autocommands deleted or unloaded buffer to be written" +msgstr "" +"E203: Autocommand-komennot poistivat tai vapauttivat puskurin, johon piti " +"kirjoittaa" + +msgid "E204: Autocommand changed number of lines in unexpected way" +msgstr "E204: Autocommand-komento muutti rivien mr odottamatta" + +msgid "NetBeans dissallows writes of unmodified buffers" +msgstr "NetBeans ei salli kirjoittaa muokkaamattomiin puskureihin" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Osittaiset kirjoitukset kielletty NetBeans-puskureissa" + +msgid "is not a file or writable device" +msgstr "ei ole tiedosto tai kirjoitettava laite" + +msgid "writing to device disabled with 'opendevice' option" +msgstr "laitteeseen kirjoittaminen pois kytst opendevice-asetuksella" + +msgid "is read-only (add ! to override)" +msgstr "on kirjoitussuojattu (lis komentoon ! ohittaaksesi)" + +msgid "E506: Can't write to backup file (add ! to override)" +msgstr "" +"E506: Ei voi kirjoittaa varmuuskopiotiedostoon (lis komentoon ! " +"ohittaaksesi)" + +msgid "E507: Close error for backup file (add ! to override)" +msgstr "" +"E507: Varmuuskopiotiedoston sulkeminen ei onnistu (lis komentoon ! " +"ohittaaksesi)" + +msgid "E508: Can't read file for backup (add ! to override)" +msgstr "" +"E508: Varmuuskopiotiedostoa ei voi lukea (lis komentoon ! ohittaaksesi)" + +msgid "E509: Cannot create backup file (add ! to override)" +msgstr "" +"E509: Ei voi luoda varmuuskopiotiedostoa (lis komentoon ! ohittaaksesi)" + +msgid "E510: Can't make backup file (add ! to override)" +msgstr "" +"E510: Ei voi tehd varmuuskopiotiedostoa (lis komentoon ! ohittaaksesi)" + +# tietkseni resurssiforkki on applen tiedostojrjestelmn tunnistejuttujuttu +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: resurssiosa hviisi (lis komentoon ! ohittaaksesi)" + +msgid "E214: Can't find temp file for writing" +msgstr "E214: Ei voi lyt vliaikaistiedostoa kirjoitettavaksi" + +msgid "E213: Cannot convert (add ! to write without conversion)" +msgstr "" +"E213: Muunnos ei onnistu (lis komentoon ! kirjoittaaksesi muuntamatta)" + +msgid "E166: Can't open linked file for writing" +msgstr "E166: Linkitetyn tiedoston avaus kirjoittamista varten ei onnistu" + +msgid "E212: Can't open file for writing" +msgstr "E212: Tiedoston avaus kirjoittamista varten ei onnistu" + +msgid "E667: Fsync failed" +msgstr "E667: Fsync ei onnistunut" + +msgid "E512: Close failed" +msgstr "E512: Sulkeminen ei onnistunut" + +msgid "E513: write error, conversion failed (make 'fenc' empty to override)" +msgstr "E513: kirjoitusvirhe, muunnos eponnistui (tyhj fenc ohittaaksesi)" + +msgid "E514: write error (file system full?)" +msgstr "E514: kirjoitusvirhe (tiedostojrjestelm tysi)" + +msgid " CONVERSION ERROR" +msgstr " MUUNNOSVIRHE" + +msgid "[Device]" +msgstr "[Laite]" + +msgid "[New]" +msgstr "[Uusi]" + +msgid " [a]" +msgstr " [a]" + +msgid " appended" +msgstr " listty" + +msgid " [w]" +msgstr " [w]" + +msgid " written" +msgstr " kirjoitettu" + +msgid "E205: Patchmode: can't save original file" +msgstr "E205: Patch-tilassa ei voi tallentaa alkuperistiedostoa" + +msgid "E206: patchmode: can't touch empty original file" +msgstr "E206: patch-tilassa ei voi muuttaa tyhj alkuperistiedostoa" + +msgid "E207: Can't delete backup file" +msgstr "E207: Ei voi poistaa varmuuskopiota" + +msgid "" +"\n" +"WARNING: Original file may be lost or damaged\n" +msgstr "" +"\n" +"VAROITUS: Alkuperistiedosto voi hvit tai vahingoittua\n" + +msgid "don't quit the editor until the file is successfully written!" +msgstr "l lopeta editoria kesken tallentamisen." + +msgid "[dos]" +msgstr "[dos]" + +msgid "[dos format]" +msgstr "[dos-muoto]" + +msgid "[mac]" +msgstr "[mac]" + +msgid "[mac format]" +msgstr "[mac-muoto]" + +msgid "[unix]" +msgstr "[unix]" + +msgid "[unix format]" +msgstr "[unix-muoto]" + +msgid "1 line, " +msgstr "1 rivi, " + +#, c-format +msgid "%ld lines, " +msgstr "%ld rivi, " + +msgid "1 character" +msgstr "1 merkki" + +#, c-format +msgid "%ld characters" +msgstr "%ld merkki" + +# ei rivinvaihtoja +msgid "[noeol]" +msgstr "[eiriviv.]" + +msgid "[Incomplete last line]" +msgstr "[Vajaa viimeinen rivi]" + +# Jos aukiolevaa tiedostoa srkkii toisella ohjelmalla +#. don't overwrite messages here +#. must give this prompt +#. don't use emsg() here, don't want to flush the buffers +msgid "WARNING: The file has been changed since reading it!!!" +msgstr "VAROITUS: tiedosto on muuttunut viime lukukerran jlkeen!" + +msgid "Do you really want to write to it" +msgstr "Kirjoitetaanko" + +#, c-format +msgid "E208: Error writing to \"%s\"" +msgstr "E208: Virhe kirjoitettaessa tiedostoon %s" + +#, c-format +msgid "E209: Error closing \"%s\"" +msgstr "E209: Virhe suljettaessa tiedostoa %s" + +#, c-format +msgid "E210: Error reading \"%s\"" +msgstr "E210: Virhe luettaessa tiedostoa %s" + +msgid "E246: FileChangedShell autocommand deleted buffer" +msgstr "E246: FileChangedShell-autocommand poisti puskurin" + +#, c-format +msgid "E211: File \"%s\" no longer available" +msgstr "E211: Tiedostoa %s ei ole en" + +#, c-format +msgid "" +"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " +"well" +msgstr "" +"W12: Varoitus: Tiedostoa %s on muutettu ja Vimin puskurissa on muutoksia " +"tiedostoon" + +msgid "See \":help W12\" for more info." +msgstr ":help W12 kertoo listietoja." + +#, c-format +msgid "W11: Warning: File \"%s\" has changed since editing started" +msgstr "W11: Varoitus: Tiedostoa %s on muutettu muokkauksen aloituksen jlkeen" + +msgid "See \":help W11\" for more info." +msgstr ":help W11 kertoo listietoja." + +#, c-format +msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" +msgstr "" +"W16: Varoitus: Tiedoston %s oikeuksia on muutettu muokkauksen aloituksen " +"jlkeen" + +msgid "See \":help W16\" for more info." +msgstr ":help W16 kertoo listietoja." + +#, c-format +msgid "W13: Warning: File \"%s\" has been created after editing started" +msgstr "W13: Varoitus: Tiedosto %s on luotu muokkauksen aloituksen jlkeen" + +msgid "Warning" +msgstr "Varoitus" + +# yll olevien varoitusten ratkaisut +msgid "" +"&OK\n" +"&Load File" +msgstr "" +"&OK\n" +"&Avaa tiedosto uudelleen" + +#, c-format +msgid "E462: Could not prepare for reloading \"%s\"" +msgstr "E462: Ei voitu valmistella uudelleen avausta %s" + +#, c-format +msgid "E321: Could not reload \"%s\"" +msgstr "E321: Ei voitu uudelleenavata %s" + +msgid "--Deleted--" +msgstr "--Poistettu--" + +#, c-format +msgid "auto-removing autocommand: %s <buffer=%d>" +msgstr "poistetaan autocommand automaattisesti: %s <puskuri=%d>" + +#. the group doesn't exist +#, c-format +msgid "E367: No such group: \"%s\"" +msgstr "E367: Ryhm ei ole: %s" + +#, c-format +msgid "E215: Illegal character after *: %s" +msgstr "E215: Virheellinen merkki *:n jlkeen: %s" + +#, c-format +msgid "E216: No such event: %s" +msgstr "E216: Eventti ei ole: %s" + +#, c-format +msgid "E216: No such group or event: %s" +msgstr "E216: Ryhm tai eventti ei ole: %s" + +#. Highlight title +msgid "" +"\n" +"--- Auto-Commands ---" +msgstr "" +"\n" +"--- Autocommands ---" + +#, c-format +msgid "E680: <buffer=%d>: invalid buffer number " +msgstr "E680: <puskuri=%d>: virheellinen puskurinumero" + +msgid "E217: Can't execute autocommands for ALL events" +msgstr "E217: Ei voi suorittaa autocommandsia kaikille eventeille" + +msgid "No matching autocommands" +msgstr "Ei tsmvi autocommandsia" + +msgid "E218: autocommand nesting too deep" +msgstr "E218: liian monta tasoa autocommandissa" + +#, c-format +msgid "%s Auto commands for \"%s\"" +msgstr "%s Autocommands kohteelle %s" + +#, c-format +msgid "Executing %s" +msgstr "Suoritetaan %s" + +#, c-format +msgid "autocommand %s" +msgstr "autocommand %s" + +msgid "E219: Missing {." +msgstr "E219: { puuttuu." + +msgid "E220: Missing }." +msgstr "E220: } puuttuu." + +msgid "E490: No fold found" +msgstr "E490: taitos puuttuu" + +msgid "E350: Cannot create fold with current 'foldmethod'" +msgstr "E350: Taitoksia ei voi tehd tll foldmethodilla" + +msgid "E351: Cannot delete fold with current 'foldmethod'" +msgstr "E351: Taitosta ei voi poistaa tll foldmethodilla" + +#, c-format +msgid "+--%3ld lines folded " +msgstr "+--%3ld rivi taitettu pois " + +msgid "E222: Add to read buffer" +msgstr "E222: Lis lukupuskuriin" + +msgid "E223: recursive mapping" +msgstr "E223: rekursiivinen kuvaus" + +#, c-format +msgid "E224: global abbreviation already exists for %s" +msgstr "E224: globaali lyhenne merkinnlle %s on jo olemassa" + +#, c-format +msgid "E225: global mapping already exists for %s" +msgstr "E225: globaali kuvaus merkinnlle %s on jo olemassa" + +#, c-format +msgid "E226: abbreviation already exists for %s" +msgstr "E226: lyhenne on jo olemassa %s" + +#, c-format +msgid "E227: mapping already exists for %s" +msgstr "E227: kuvaus on jo olemassa %s" + +msgid "No abbreviation found" +msgstr "Lyhennett ei lydy" + +msgid "No mapping found" +msgstr "Kuvausta ei lydy" + +msgid "E228: makemap: Illegal mode" +msgstr "E228: makemap: Virheellinen tila" + +msgid "<cannot open> " +msgstr "<ei voi avata> " + +#, c-format +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: ei saada fonttia %s" + +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: nykyiseen hakemistoon ei voi palata" + +msgid "Pathname:" +msgstr "Polku:" + +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: nykyist hakemistoa ei saada selville" + +msgid "OK" +msgstr "OK" + +msgid "Cancel" +msgstr "Peru" + +msgid "Vim dialog" +msgstr "Vim-ikkuna" + +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "Vierityspalkki: Pixmapin geometria ei selvi" + +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: Ei voi luoda BalloonEvalia viestille ja callbackille" + +msgid "E229: Cannot start the GUI" +msgstr "E229: GUIn kynnistys ei onnistu" + +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Ei voi lukea kohteesta %s" + +msgid "E665: Cannot start GUI, no valid font found" +msgstr "E665: Ei voi avata GUIta, sopivaa fonttia ei lydy" + +msgid "E231: 'guifontwide' invalid" +msgstr "E231: guifontwide virheellinen" + +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: imactivatekeyn arvo on virheellinen" + +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: Vri %s ei voi mritell" + +msgid "No match at cursor, finding next" +msgstr "Ei tsmyst kursorin alla, etsitn seuraava" + +msgid "Vim dialog..." +msgstr "Vim-ikkuna..." + +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Kyll\n" +"&Ei\n" +"&Peru" + +msgid "Input _Methods" +msgstr "Syte_menetelmt" + +msgid "VIM - Search and Replace..." +msgstr "VIM - Etsi ja korvaa..." + +msgid "VIM - Search..." +msgstr "VIM - Etsi..." + +msgid "Find what:" +msgstr "Etsi:" + +msgid "Replace with:" +msgstr "Korvaa:" + +#. whole word only button +msgid "Match whole word only" +msgstr "Korvaa kokonaisia sanoja" + +#. match case button +msgid "Match case" +msgstr "Kirjaintaso" + +msgid "Direction" +msgstr "Suunta" + +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "Yls" + +msgid "Down" +msgstr "Alas" + +msgid "Find Next" +msgstr "Etsi seuraava" + +msgid "Replace" +msgstr "Korvaa" + +msgid "Replace All" +msgstr "Korvaa kaikki" + +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: sessiomanageri lhetti die-pyynnn\n" + +msgid "Close" +msgstr "Sulje" + +msgid "New tab" +msgstr "Uusi vlilehti" + +msgid "Open Tab..." +msgstr "Avaa vlilehti..." + +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Pikkuna tuhoutui odottamatta\n" + +msgid "Font Selection" +msgstr "Fontin valinta" + +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Kytettiin CUT_BUFFER0:aa tyhjn valinnan sijaan" + +msgid "&Filter" +msgstr "&Suodata" + +msgid "&Cancel" +msgstr "&Peru" + +msgid "Directories" +msgstr "Hakemistot" + +msgid "Filter" +msgstr "Suodatus" + +msgid "&Help" +msgstr "O&hje" + +msgid "Files" +msgstr "Tiedostot" + +msgid "&OK" +msgstr "&Ok" + +msgid "Selection" +msgstr "Valinta" + +msgid "Find &Next" +msgstr "Hae &seuraava" + +msgid "&Replace" +msgstr "Ko&rvaa" + +msgid "Replace &All" +msgstr "Korvaa k&aikki" + +msgid "&Undo" +msgstr "&Kumoa" + +#, c-format +msgid "E610: Can't load Zap font '%s'" +msgstr "E610: Zap-fontin latause ei onnistu %s" + +#, c-format +msgid "E611: Can't use font %s" +msgstr "E611: Ei voi kytt fonttia %s" + +# varmaan SIGTERM, ei SIGKILL tms. +msgid "" +"\n" +"Sending message to terminate child process.\n" +msgstr "" +"\n" +"Lhetetn viesti lapsiprosessien terminoimiseksi.\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Ikkunan otsikkoa ei lydy %s" + +# OLE on object linking and embedding p windowska +#, c-format +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: Argumenttia ei tueta: -%s, kyt OLE-versiota" + +# MDI eli windowsin moni-ikkunasovellus +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Ikkunaa ei voitu avata MDI-sovellukseen" + +msgid "Close tab" +msgstr "Sulje vlilehti" + +msgid "Open tab..." +msgstr "Avaa vlilehti..." + +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Etsi merkkijonoa (\\\\:ll lyt \\:t)" + +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Etsi ja korvaa (\\\\:ll lyt \\:t)" + +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "Ei kytss" + +msgid "Directory\t*.nothing\n" +msgstr "Hakemisto\t*.nothing\n" + +msgid "Invalid font specification" +msgstr "Virheellinen fonttimritys" + +msgid "&Dismiss" +msgstr "&Ohita" + +msgid "no specific match" +msgstr "ei tarkkaa tsmyst" + +msgid "Vim - Font Selector" +msgstr "Vim - fonttivalitsin" + +msgid "Name:" +msgstr "Nimi:" + +#. create toggle button +msgid "Show size in Points" +msgstr "Nyt koko pistein" + +msgid "Encoding:" +msgstr "Koodaus:" + +msgid "Font:" +msgstr "Fontti:" + +msgid "Style:" +msgstr "Tyyli:" + +msgid "Size:" +msgstr "Koko:" + +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "Vim E458: Ei voi varata vrikartan alkiota, vrit voivat menn vrin" + +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: Seuraavien merkistjoukkojen fontit puuttuvat fontsetist %s:" + +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: Fontsetin nimi: %s" + +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "Fontti %s ei ole tasavlinen" + +#, c-format +msgid "E253: Fontset name: %s\n" +msgstr "E253: Fontsetin nimi: %s\n" + +#, c-format +msgid "Font0: %s\n" +msgstr "Fontti0. %s\n" + +#, c-format +msgid "Font1: %s\n" +msgstr "Fontti1: %s\n" + +#, c-format +msgid "Font%ld width is not twice that of font0\n" +msgstr "Fontti%ld:n leveys ei ole kaksi kertaa fontti0:n\n" + +#, c-format +msgid "Font0 width: %ld\n" +msgstr "Fontti0:n leveys: %ld\n" + +#, c-format +msgid "" +"Font1 width: %ld\n" +"\n" +msgstr "" +"Fontti1:n leveys: %ld\n" +"\n" + +msgid "E256: Hangul automata ERROR" +msgstr "E256: Hangu-automaattivirhe" + +msgid "E550: Missing colon" +msgstr "E550: kaksoispiste puuttuu" + +msgid "E551: Illegal component" +msgstr "E551: Virheellinen komponentti" + +msgid "E552: digit expected" +msgstr "E552: pitisi olla numero" + +#, c-format +msgid "Page %d" +msgstr "Sivu %d" + +msgid "No text to be printed" +msgstr "Ei teksti tulostettavaksi" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "Tulostetaan sivua %d (%d %%)" + +#, c-format +msgid " Copy %d of %d" +msgstr " Kopio %d/%d" + +#, c-format +msgid "Printed: %s" +msgstr "Tulostettu: %s" + +msgid "Printing aborted" +msgstr "Tulostus peruttu" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Virhe kirjoitettaessa PostScripti tiedostoon" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: Ei voi avata tiedostoa %s" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: Ei voi lukea PostScript-resurssitiedostoa %s" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: tiedosto %s ei ole PostScript-resurssitiedosto" + +#, c-format +msgid "E619: file \"%s\" is not a supported PostScript resource file" +msgstr "E619: tiedosto %s ei ole tuettu PostScript-resurssitiedosto" + +#, c-format +msgid "E621: \"%s\" resource file has wrong version" +msgstr "E621: resurssitiedoston %s versio on vr" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Tukematon monitvauinen merkistkoodaus ja merkist." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "E674: printmbcharset ei voi olla tyhj monitavuiselle koodaukselle." + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Ei oletusfonttia monitavuiseen tulostukseen" + +msgid "E324: Can't open PostScript output file" +msgstr "E324: PostScript-tulostetiedoston avaus ei onnistu" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: Tiedoston %s avaus ei onnistu" + +msgid "E456: Can't find PostScript resource file \"prolog.ps\"" +msgstr "E456: PostScript-resurssitiedostoa prolog.ps ei lydy" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: PostScript-resurssitiedostoa cidfont.ps ei lydy" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: Postscript-resurssitiedosta %s.ps ei lydy" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: Tulostuskoodaukseen %s muunto ei onnistu" + +msgid "Sending to printer..." +msgstr "Lhetetn tulostimelle..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: PostScript-tiedoston tulostus eponnistui" + +msgid "Print job sent." +msgstr "Tulostusty lhetetty." + +msgid "Add a new database" +msgstr "Lis uusi tietokanta" + +msgid "Query for a pattern" +msgstr "Hae kuviota" + +msgid "Show this message" +msgstr "Nyt tm viesti" + +msgid "Kill a connection" +msgstr "Tapa yhteys" + +msgid "Reinit all connections" +msgstr "Alusta uudelleen yhteydet" + +msgid "Show connections" +msgstr "Nyt yhteydet" + +#, c-format +msgid "E560: Usage: cs[cope] %s" +msgstr "E560: Kytt: cs[cope] %s" + +msgid "This cscope command does not support splitting the window.\n" +msgstr "Tm cscope-komento ei tue ikkunan jakamista.\n" + +msgid "E562: Usage: cstag <ident>" +msgstr "E562: Kytt: cstag <ident>" + +msgid "E257: cstag: tag not found" +msgstr "E257: cstag: tgia ei lydy" + +#, c-format +msgid "E563: stat(%s) error: %d" +msgstr "E563: stat(%s)-virhe: %d" + +msgid "E563: stat error" +msgstr "E563: stat-virhe" + +#, c-format +msgid "E564: %s is not a directory or a valid cscope database" +msgstr "E564: %s ei ole hakemisto eik cscope-tietokanta" + +#, c-format +msgid "Added cscope database %s" +msgstr "Listty cscope-tietokanta %s" + +#, c-format +msgid "E262: error reading cscope connection %ld" +msgstr "E262: Virhe luettaessa cscope-yhteytt %ld" + +msgid "E561: unknown cscope search type" +msgstr "E561: tuntematon cscope-hakutyyppi" + +msgid "E566: Could not create cscope pipes" +msgstr "E566: Ei voitu luoda cscope-putkia" + +msgid "E622: Could not fork for cscope" +msgstr "E622: Ei voitu haarauttaa cscopea" + +msgid "cs_create_connection exec failed" +msgstr "cs_create_connection eponnistui" + +msgid "E623: Could not spawn cscope process" +msgstr "E623: Cscope-prosessin luonti eponnistui" + +msgid "cs_create_connection: fdopen for to_fp failed" +msgstr "cs_create_connection: fdopen to_fp eponnistui" + +msgid "cs_create_connection: fdopen for fr_fp failed" +msgstr "cs_create_connection: fdopen fr_fp eponnistui" + +msgid "E567: no cscope connections" +msgstr "E567: ei cscope-yhteyksi" + +#, c-format +msgid "E259: no matches found for cscope query %s of %s" +msgstr "E259: ei tsmyksi cscope-hakuun %s/%s" + +#, c-format +msgid "E469: invalid cscopequickfix flag %c for %c" +msgstr "E469: virheellinen cscopequickfix-asetus %c kohteelle %c" + +msgid "cscope commands:\n" +msgstr "cscope-komennot:\n" + +#, c-format +msgid "%-5s: %-30s (Usage: %s)" +msgstr "%-5s: %-30s (Kytt: %s)" + +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: ei voi avata csope-tietokantaa %s" + +msgid "E626: cannot get cscope database information" +msgstr "E626: ei voi hakea cscope-tietokannan tietoja" + +msgid "E568: duplicate cscope database not added" +msgstr "E568: kaksoiskappaletta cscope-tietokannasta ei listty" + +msgid "E569: maximum number of cscope connections reached" +msgstr "E569: enimmismr cscope-yhteyksi otettu" + +#, c-format +msgid "E261: cscope connection %s not found" +msgstr "E261: cscope-yhteys %s puuttuu" + +#, c-format +msgid "cscope connection %s closed" +msgstr "cscope-yhteys %s on katkaistu" + +#. should not reach here +msgid "E570: fatal error in cs_manage_matches" +msgstr "E570: kriittinen virhe cs_manage_matches-funktiossa" + +#, c-format +msgid "Cscope tag: %s" +msgstr "Cscope-tgi: %s" + +msgid "" +"\n" +" # line" +msgstr "" +"\n" +" # rivi" + +msgid "filename / context / line\n" +msgstr "tiedosto / konteksti / rivi\n" + +#, c-format +msgid "E609: Cscope error: %s" +msgstr "E609: Cscope-virhe: %s" + +msgid "All cscope databases reset" +msgstr "Kaikki cscope-tietokannat nollattu" + +msgid "no cscope connections\n" +msgstr "ei cscope-yhteyksi\n" + +msgid " # pid database name prepend path\n" +msgstr " # pid tietokanta lisyspolku\n" + +msgid "" +"???: Sorry, this command is disabled, the MzScheme library could not be " +"loaded." +msgstr "???: Sori, komento ei toimi, MzScheme-kirjastoa ei voitu ladata." + +msgid "invalid expression" +msgstr "virheellinen ilmaus" + +msgid "expressions disabled at compile time" +msgstr "ilmaukset poistettu kytst knnsaikana" + +msgid "hidden option" +msgstr "piilotettu asetus" + +msgid "unknown option" +msgstr "tuntematon asetus" + +msgid "window index is out of range" +msgstr "ikkunan indeksi alueen ulkopuolella" + +msgid "couldn't open buffer" +msgstr "ei voitu avata puskuria" + +msgid "cannot save undo information" +msgstr "ei voitu tallentaa kumoustietoja" + +msgid "cannot delete line" +msgstr "ei voitu poistaa rivi" + +msgid "cannot replace line" +msgstr "ei voitu korvata rivi" + +msgid "cannot insert line" +msgstr "ei voitu list rivi" + +msgid "string cannot contain newlines" +msgstr "merkkijono ei saa sislt rivinvaihtoja" + +msgid "Vim error: ~a" +msgstr "Vim-virhe: ~a" + +msgid "Vim error" +msgstr "Vim-virhe" + +msgid "buffer is invalid" +msgstr "puskuri on virheellinen" + +msgid "window is invalid" +msgstr "ikkuna on virheellinen" + +msgid "linenr out of range" +msgstr "rivinumero arvoalueen ulkopuolelta" + +msgid "not allowed in the Vim sandbox" +msgstr "ei sallittu Vimin hiekkalaatikossa" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: Sori, komento ei toimi, Python-kirjaston lataaminen ei onnistunut." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Pythonia ei voi kutsua rekursiivisesti" + +msgid "can't delete OutputObject attributes" +msgstr "ei voi poistaa OutputObject-attribuutteja" + +msgid "softspace must be an integer" +msgstr "softspacen pit olla kokonaisluku" + +msgid "invalid attribute" +msgstr "virheellinen attribuutti" + +msgid "writelines() requires list of strings" +msgstr "writelines()-komennolle pit antaa merkkijonolista" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Virhe IO-olioiden alustuksessa" + +msgid "attempt to refer to deleted buffer" +msgstr "yritettiin viitata poistettuun puskuriin" + +msgid "line number out of range" +msgstr "rivinumero arvoalueen ulkopuolella" + +#, c-format +msgid "<buffer object (deleted) at %8lX>" +msgstr "<puskuriolio (poistettu) kohdassa %8lX>" + +msgid "invalid mark name" +msgstr "virheellinen merkin nimi" + +msgid "no such buffer" +msgstr "puskuria ei ole" + +msgid "attempt to refer to deleted window" +msgstr "yritettiin viitata poistettuun ikkunaan" + +msgid "readonly attribute" +msgstr "kirjoitussuojattu attribuutti" + +msgid "cursor position outside buffer" +msgstr "kursorin sijainti puskurin ulkopuolella" + +#, c-format +msgid "<window object (deleted) at %.8lX>" +msgstr "<ikkunaolio (poistettu) kohdassa %.8lX>" + +#, c-format +msgid "<window object (unknown) at %.8lX>" +msgstr "<ikkunaolio (tuntematon) kohdassa %.8lX>" + +#, c-format +msgid "<window %d>" +msgstr "<ikkuna %d>" + +msgid "no such window" +msgstr "ikkunaa ei ole" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: muuttujan $_ pit olla Stringin instanssi" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "E266: Sori, komento ei toimi, Ruby-kirjastoa ei voitu ladata." + +msgid "E267: unexpected return" +msgstr "E267: odotuksenvastainen return" + +msgid "E268: unexpected next" +msgstr "E268: Odotuksenvastainen next" + +msgid "E269: unexpected break" +msgstr "E269: Odotuksenvastainen break" + +msgid "E270: unexpected redo" +msgstr "E270: odotuksenvastainen redo" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: retry rescuen ulkopuolella" + +msgid "E272: unhandled exception" +msgstr "E272: ksittelemtn poikkeus" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: tuntematon longjmp-tila %d" + +msgid "Toggle implementation/definition" +msgstr "Vaihda toteutuksen ja mritelmn vlill" + +msgid "Show base class of" +msgstr "Nyt kantaluokka kohteelle" + +msgid "Show overridden member function" +msgstr "Nyt korvattu jsenfunktio" + +msgid "Retrieve from file" +msgstr "Jljit tiedostosta" + +msgid "Retrieve from project" +msgstr "Jljit projektista" + +msgid "Retrieve from all projects" +msgstr "Jljit kaikista projekteista" + +msgid "Retrieve" +msgstr "Jljit" + +msgid "Show source of" +msgstr "Nyt lhdekoodi kohteelle" + +msgid "Find symbol" +msgstr "Etsi symboli" + +msgid "Browse class" +msgstr "Selaa luokkaa" + +msgid "Show class in hierarchy" +msgstr "Nyt luokka hierarkiassa" + +msgid "Show class in restricted hierarchy" +msgstr "Nyt luokka rajoitetussa hierarkiassa" + +msgid "Xref refers to" +msgstr "Xref viittaa kohteeseen" + +#~ msgid "Xref referred by" +#~ msgstr "" + +#~ msgid "Xref has a" +#~ msgstr "" + +#~ msgid "Xref used by" +#~ msgstr "" + +msgid "Show docu of" +msgstr "Nyt dokumentti kohteelle" + +msgid "Generate docu for" +msgstr "Luo dokumentti kohteelle" + +#~ msgid "" +#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " +#~ "$PATH).\n" +#~ msgstr "" + +#~ msgid "E274: Sniff: Error during read. Disconnected" +#~ msgstr "" + +#~ msgid "SNiFF+ is currently " +#~ msgstr "" + +#~ msgid "not " +#~ msgstr "" + +#~ msgid "connected" +#~ msgstr "" + +#, c-format +#~ msgid "E275: Unknown SNiFF+ request: %s" +#~ msgstr "" + +#~ msgid "E276: Error connecting to SNiFF+" +#~ msgstr "" + +#~ msgid "E278: SNiFF+ not connected" +#~ msgstr "" + +#~ msgid "E279: Not a SNiFF+ buffer" +#~ msgstr "" + +#~ msgid "Sniff: Error during write. Disconnected" +#~ msgstr "" + +msgid "invalid buffer number" +msgstr "virheellinen puskurinumero" + +msgid "not implemented yet" +msgstr "ei toteutettu" + +#. ??? +msgid "cannot set line(s)" +msgstr "ei voi asettaa rivej" + +msgid "mark not set" +msgstr "merkko ei ole asetettu" + +#, c-format +msgid "row %d column %d" +msgstr "rivi %d sarake %d" + +msgid "cannot insert/append line" +msgstr "rivin lisys ei onnistu" + +msgid "unknown flag: " +msgstr "tuntematon asetus: " + +msgid "unknown vimOption" +msgstr "tuntematon vimOption" + +msgid "keyboard interrupt" +msgstr "nppimistkeskeytys" + +msgid "vim error" +msgstr "vim-virhe" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "ei voi luoda puskuri- tai ikkunakomentoa, olio on poistumassa" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "callbackia ei voi rekisterid: puskuri tai ikkuna on poistettu" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: kriittinen TCL-virhe: reflist hajalla? Ilmoita asiasta " +"postituslistalle vim-dev@vim.org" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "callbackia ei voi rekisterid: puskurin tai ikkunan viitett ei lydy" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "E571: Sori, komento ei toimi, Tcl-kirjastoa ei voitu ladata." + +msgid "" +"E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" +msgstr "" +"E281: TCL-virhe: lopetuskoodi ei ole kokonaisluku? Ilmoita asiasta " +"postituslistalle vim-dev@vim.org" + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: palautusarvo %d" + +msgid "cannot get line" +msgstr "ei voida hakea rivi" + +msgid "Unable to register a command server name" +msgstr "Komentopalvelimen nimen rekisterinti ei onnistu" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Komennon lhetys kohdeohjelmalle ei onnistu" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: Virheellinen palvelimen tunniste: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "E251: VIMin instanssin rekisteriarvo on virheellinen, poistettiin." + +msgid "Unknown option argument" +msgstr "Tuntematon asetusargumentti" + +msgid "Too many edit arguments" +msgstr "Liikaa muokkausargumentteja" + +msgid "Argument missing after" +msgstr "Argumentti puuttuu kohdasta" + +msgid "Garbage after option argument" +msgstr "Roskaa argumentin perss" + +msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" +msgstr "Liikaa +komentoja, -c komentoja tai --cmd komentoja" + +msgid "Invalid argument for" +msgstr "Vr argumentti valitsimelle" + +#, c-format +msgid "%d files to edit\n" +msgstr "%d tiedostoa muokattavana\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "Thn Vimiin ei ole knnetty diff-toimintoja mukaan." + +msgid "Attempt to open script file again: \"" +msgstr "Yritettiin avata skriptitiedostoa uudestaan:" + +msgid "Cannot open for reading: \"" +msgstr "Ei voi avata luettavaksi: " + +msgid "Cannot open for script output: \"" +msgstr "Ei voi avata skriptin tulostetta varten: " + +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Virhe: Gvimin kynnistys NetBeansist ei onnistu\n" + +msgid "Vim: Warning: Output is not to a terminal\n" +msgstr "Vim: Varoitus: Tuloste ei mene terminaalille\n" + +msgid "Vim: Warning: Input is not from a terminal\n" +msgstr "Vim: Varoitus: Syte ei tule terminaalilta\n" + +#. just in case.. +msgid "pre-vimrc command line" +msgstr "esi-vimrc-komentorivi" + +#, c-format +msgid "E282: Cannot read from \"%s\"" +msgstr "E282: Ei voida lukea kohteesta %s" + +msgid "" +"\n" +"More info with: \"vim -h\"\n" +msgstr "" +"\n" +"Listietoja: \"vim -h\"\n" + +msgid "[file ..] edit specified file(s)" +msgstr "[tiedosto ..] muokkaa tiedostoja" + +msgid "- read text from stdin" +msgstr "- lue vakiosytteest" + +msgid "-t tag edit file where tag is defined" +msgstr "-t tgi muokkaa tiedostoa tgist" + +msgid "-q [errorfile] edit file with first error" +msgstr "-q [virhetiedosto] muokkaa tiedostoa ensimmisest virheest" + +msgid "" +"\n" +"\n" +"usage:" +msgstr "" +"\n" +"\n" +"kytt:" + +msgid " vim [arguments] " +msgstr " vim [argumentit] " + +msgid "" +"\n" +" or:" +msgstr "" +"\n" +" tai:" + +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Jos aakkoslaji on ohitettu, lis alkuun / tehdksesi asetuksesta " +"suuraakkosia" + +msgid "" +"\n" +"\n" +"Arguments:\n" +msgstr "" +"\n" +"\n" +"Argumentit:\n" + +msgid "--\t\t\tOnly file names after this" +msgstr "--\t\t\tvain tiedostonimi tmn jlkeen" + +msgid "--literal\t\tDon't expand wildcards" +msgstr "--literal\t\tl ksittele jokerimerkkej " + +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\trekisteri gvim OLEa varten" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tPoista gvim OLE-rekisterist" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tAvaa GUI (kuten gvimill)" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f tai --nofork\tEdustalle: l haarauta GUIn kynnistyksess" + +msgid "-v\t\t\tVi mode (like \"vi\")" +msgstr "-v\t\t\tVi-tila (kuten vill)" + +msgid "-e\t\t\tEx mode (like \"ex\")" +msgstr "-e\t\t\tEx-tila (kute exill)" + +msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" +msgstr "-s\t\t\tHiljainen (erajo)tila (vain exill)" + +msgid "-d\t\t\tDiff mode (like \"vimdiff\")" +msgstr "-d\t\t\tDiff-tila (kuten vimdiffill)" + +msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" +msgstr "-y\t\t\tHelppokytttila (kuten evimiss, ilman tiloja)" + +msgid "-R\t\t\tReadonly mode (like \"view\")" +msgstr "-R\t\t\tKirjoitussuojattu tila (kuten view'lla)" + +msgid "-Z\t\t\tRestricted mode (like \"rvim\")" +msgstr "-Z\t\t\tRajoitettu tila (kuten rvimill)" + +msgid "-m\t\t\tModifications (writing files) not allowed" +msgstr "-m\t\t\tMuokkaukset (kirjoittaminen tiedostoon) pois kytst" + +msgid "-M\t\t\tModifications in text not allowed" +msgstr "-M\t\t\tTekstin muokkaus pois kytst" + +msgid "-b\t\t\tBinary mode" +msgstr "-b\t\t\tBinritila" + +msgid "-l\t\t\tLisp mode" +msgstr "-l\t\t\tLisp-tila" + +msgid "-C\t\t\tCompatible with Vi: 'compatible'" +msgstr "-C\t\t\tVi-yhteensopivuustila: compatible" + +msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" +msgstr "-N\t\t\tEi Vi-yhteensopivuutta: nocompatible" + +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "" +"-V[N][tnimi]\t\tMonisanainen tuloste [Taso N] [kirjoita tuloste tnimeen] " + +msgid "-D\t\t\tDebugging mode" +msgstr "-D\t\t\tVianetsinttila" + +msgid "-n\t\t\tNo swap file, use memory only" +msgstr "-n\t\t\tEi swap-tiedostoja, kyt muistia" + +msgid "-r\t\t\tList swap files and exit" +msgstr "-r\t\t\tLuetteloi swap-tiedostot ja poistu" + +msgid "-r (with file name)\tRecover crashed session" +msgstr "-r (tiedostonimi)\tPalauta kaatunut sessio" + +msgid "-L\t\t\tSame as -r" +msgstr "-L\t\t\tkuten -r" + +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\tl kyt newcli:t ikkunan avaamiseen" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <laite>\t\tKyt <laitetta> IO:hon" + +msgid "-A\t\t\tstart in Arabic mode" +msgstr "-A\t\t\tkynnist arabia-tilassa" + +msgid "-H\t\t\tStart in Hebrew mode" +msgstr "-H\t\t\tkynnist heprea-tilassa" + +msgid "-F\t\t\tStart in Farsi mode" +msgstr "-F\t\t\tkynnist farsi-tilassa" + +msgid "-T <terminal>\tSet terminal type to <terminal>" +msgstr "-T <terminaali>\tAseta terminaalin tyypiksi <terminaali>" + +msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" +msgstr "-u <vimrc>\t\tKyt <vimrc>-tiedostoa .vimrc:iden sijasta" + +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\t\tKyt <gvimrc>-tiedostoa .gvimrc:iden sijasta" + +msgid "--noplugin\t\tDon't load plugin scripts" +msgstr "--noplugin\t\tl lataa liitnnisi" + +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tAvaa N vlilehte (oletus: yksi per tiedosto)" + +msgid "-o[N]\t\tOpen N windows (default: one for each file)" +msgstr "-o[N]\t\tAvaa N ikkunaa (oletus: yksi per tiedosto)" + +msgid "-O[N]\t\tLike -o but split vertically" +msgstr "-O[N]\t\tKuten -o, mutta jaa pystysuunnassa" + +msgid "+\t\t\tStart at end of file" +msgstr "+\t\t\tAloita tiedoston lopusta" + +msgid "+<lnum>\t\tStart at line <lnum>" +msgstr "+<rivi>\t\t\tAloita rivilt <rivi>" + +msgid "--cmd <command>\tExecute <command> before loading any vimrc file" +msgstr "--cmd <komento>\tSuorita <komento> ennen vimrc:iden latausta" + +msgid "-c <command>\t\tExecute <command> after loading the first file" +msgstr "-c <komento>\t\tSuorita <komento> ensimmisen tiedoston latauduttua" + +msgid "-S <session>\t\tSource file <session> after loading the first file" +msgstr "-S <sessio>\t\tLataa <sessio> ensimmisen tiedoston latauduttua" + +msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" +msgstr "-s <skripti>\tLue normaalitilan komentoja <skripti>-tiedostosta" + +msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" +msgstr "-w <skripti>\tLis kirjoitetut komennot <skripti>-tiedostoon" + +msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" +msgstr "-W <skripti>\tKirjoita komennot <skripti>-tiedostoon" + +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tMuokkaa salattua tiedostoa" + +msgid "-display <display>\tConnect vim to this particular X-server" +msgstr "-display <nytt>\tYhdist vim tiettyyn X-palvelimeen" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tl yhdist X-palvelimeen" + +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "" +"--remote <tiedostoja>\tMuokkaa <tiedostoja> Vim-palvelimessa, jos mahdollista" + +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-silent <tiedostoja>\tSama, mutta l ilmoita puuttuvasta " +"palvelimesta" + +msgid "" +"--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "" +"--remote-wait <tiedostoja> kuten --remote, mutta odota tiedostojen " +"muokkaamista" + +msgid "" +"--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent <tiedostoja> sama, mutta l ilmoita puuttuvasta " +"palvelimesta" + +msgid "--remote-tab <files> As --remote but open tab page for each file" +msgstr "" +"--remote-tab <tiedostoja> kuten --remote, mutta avaa vlilehti joka " +"tiedostolle" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "" +"--remote-send <nppimi>\tLhet <nppimi> painalluksina Vimille ja lopeta" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "" +"--remote-expr <ilmaus>\tKsittele <ilmaus> Vim-palvelimella ja tulosta tulos" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "--serverlist\t\tLuettele Vim-palvelinten nimet ja lopeta" + +msgid "--servername <name>\tSend to/become the Vim server <name>" +msgstr "--servername <nimi>\tLhet Vim-palvelimelle <nimi> tai luo se" + +msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" +msgstr "-i <viminfo>\t\tKyt <viminfo>-tiedostoa .viminfon sijaan" + +msgid "-h or --help\tPrint Help (this message) and exit" +msgstr "-h tai --help\tTulosta ohje (tm viesti) ja lopeta" + +msgid "--version\t\tPrint version information and exit" +msgstr "--version\t\t\tTulosta versiotiedot ja lopeta" + +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"Gvimin (Motif-version) tuntemat argumentit:\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"Gvimin (neXtaw-version) tuntemat argumentit:\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"Gvimin (Athena-version) tuntemat argumentit:\n" + +msgid "-display <display>\tRun vim on <display>" +msgstr "-display <nytt>\tSuorita vim <nytss>" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tKynnist pienennettyn" + +msgid "-name <name>\t\tUse resource as if vim was <name>" +msgstr "-name <nimi>\t\tKyt resurssia vim <nimen>" + +msgid "\t\t\t (Unimplemented)\n" +msgstr "\t\t\t (toteuttamatta)\n" + +msgid "-background <color>\tUse <color> for the background (also: -bg)" +msgstr "-background <vri>\tKyt <vri> taustavrin (mys: -bg)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "-foreground <vri>\tKyt <vri> tekstin vrin (mys: -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <fontti>\t\tKyt <fonttia> tekstiss (mys: -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <fontti>\tKyt <fonttia> lihavoidussa tekstiss" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <fontti>\tKyt <fonttia> kursivoidussa tekstiss" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "" +"-geometry <geom>\tKyt mittoja <geom> ikkunan asetteluun (mys: -geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "-borderwidt <leveys>\tKyt <leveytt> reunuksissa (mys: -bw) " + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <leveys> Kyt <leveytt> vierityspalkissa (mys: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "-menuheight <korkeus>\tKyt <korkeutta> valikossa (mys: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tKyt knteisvrej (mys: -rv) " + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tl kyt knteisvrej (mys: +rv)" + +msgid "-xrm <resource>\tSet the specified resource" +msgstr "-xrm <resurssi>\tAseta resurssi" + +msgid "" +"\n" +"Arguments recognised by gvim (RISC OS version):\n" +msgstr "" +"\n" +"Gvimin (RISC OS -version) tuntemat argumentit:\n" + +msgid "--columns <number>\tInitial width of window in columns" +msgstr "--columns <luku>\tIkkunan alkuleveys sarakkeina" + +msgid "--rows <number>\tInitial height of window in rows" +msgstr "--rows <luku>\tIkkunan alkukorkeus rivein" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"Gvimin (GTK+-version) tuntemat argumentit:\n" + +msgid "-display <display>\tRun vim on <display> (also: --display)" +msgstr "-display <nytt>\tSuorita vim nytll <nytt> (mys: --display)" + +# X-ikkunointijrjestelmss saman sovelluksen saman luokan ikkunat +# tunnistetaan rooliresursseista +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <rooli>\tAseta pikkunalle ainutlaatuinen rooli tunnisteeksi" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\tAvaa Vim annettuun GTK-olioon " + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <otsikko>\tAvaa Vim isntohjelman sisn" + +#, fuzzy +#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +#~ msgstr "--socketid <xid>\tAvaa Vim annettuun GTK-olioon " + +msgid "No display" +msgstr "Ei nytt" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": Lhetys eponnistui.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Lhetys eponnistui. Yritetn suorittaa paikallisena\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d/%d muokattu" + +msgid "No display: Send expression failed.\n" +msgstr "Ei nytt: Ilmauksen lhetys eponnistui.\n" + +msgid ": Send expression failed.\n" +msgstr ": Ilmauksen lhetys eponnistui.\n" + +msgid "No marks set" +msgstr "Ei asetettuja merkkej" + +#, c-format +msgid "E283: No marks matching \"%s\"" +msgstr "E283: Mikn merkki ei tsm ilmaukseen \"%s\"" + +#. Highlight title +msgid "" +"\n" +"mark line col file/text" +msgstr "" +"\n" +"merkki rivi sarake tiedosto/teksti" + +#. Highlight title +msgid "" +"\n" +" jump line col file/text" +msgstr "" +"\n" +"hyppy rivi sarake tiedosto/teksti" + +#. Highlight title +msgid "" +"\n" +"change line col text" +msgstr "" +"\n" +"muutos rivi sarake teksti" + +#, c-format +msgid "" +"\n" +"# File marks:\n" +msgstr "" +"\n" +"# Tiedoston merkit:\n" + +#. Write the jumplist with -' +#, c-format +msgid "" +"\n" +"# Jumplist (newest first):\n" +msgstr "" +"\n" +"# Hyppylista (uusin ensiksi):\n" + +#, c-format +msgid "" +"\n" +"# History of marks within files (newest to oldest):\n" +msgstr "" +"\n" +"# Tiedostojen merkkien historia (uusimmasta vanhimpaan):\n" + +msgid "Missing '>'" +msgstr "> puuttuu" + +msgid "E543: Not a valid codepage" +msgstr "E543: Koodisivu ei ole kyp" + +msgid "E284: Cannot set IC values" +msgstr "E284: Ei voi asettaa IC-arvoja" + +msgid "E285: Failed to create input context" +msgstr "E285: Sytekontekstin luonti ei onnistu" + +msgid "E286: Failed to open input method" +msgstr "E286: Sytemetodin avaus ei onnistu" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "" +"E287: Varoitus: Ei voitu asettaa destroy-kutsua sytemetodipalvelimelle" + +msgid "E288: input method doesn't support any style" +msgstr "E288: sytemetodi ei tue tyylej" + +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: sytemetodi ei tue tt preedit-tyyppi" + +#~ msgid "E290: over-the-spot style requires fontset" +#~ msgstr "" + +msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" +msgstr "E291: GTK+-versio vanhempi kuin 1.2.3: Tila-alue poistettu kytst" + +msgid "E292: Input Method Server is not running" +msgstr "E292: Sytemetodipalvelin ei ole kynniss" + +msgid "E293: block was not locked" +msgstr "E293: lohkoa ei ole lukittu" + +msgid "E294: Seek error in swap file read" +msgstr "E294: Hakuvirhe swap-tiedostoa luettaessa" + +msgid "E295: Read error in swap file" +msgstr "E295: Lukuvirhe swap-tiedostossa" + +msgid "E296: Seek error in swap file write" +msgstr "E296: Hakuvirhe swap-tiedostoa kirjoitettaessa" + +msgid "E297: Write error in swap file" +msgstr "E297: Kirjoitusvirhe swap-tiedostossa" + +msgid "E300: Swap file already exists (symlink attack?)" +msgstr "E300: Swaptiedosto on jo olemassa (symlink-hykkys?)" + +msgid "E298: Didn't get block nr 0?" +msgstr "E298: Lohko 0:aa ei saatu?" + +msgid "E298: Didn't get block nr 1?" +msgstr "E298: Lohko 1:t ei saatu?" + +msgid "E298: Didn't get block nr 2?" +msgstr "E298: Lohko 2:ta ei saatu?" + +#. could not (re)open the swap file, what can we do???? +msgid "E301: Oops, lost the swap file!!!" +msgstr "E301: Hups, swap-tiedosto hvisi!" + +msgid "E302: Could not rename swap file" +msgstr "E302: Swap-tiedoston uudellennimeys ei onnistu" + +#, c-format +msgid "E303: Unable to open swap file for \"%s\", recovery impossible" +msgstr "E303: Swap-tiedostoa %s ei voi avata, palautus ei onnistu" + +msgid "E304: ml_upd_block0(): Didn't get block 0??" +msgstr "E304: ml_upd_block0(): Lohko 0:aa ei saatu?" + +#, c-format +msgid "E305: No swap file found for %s" +msgstr "E305: Ei swap-tiedostoa tiedostolle %s" + +msgid "Enter number of swap file to use (0 to quit): " +msgstr "Anna swap-tiedoston numero tai 0 lopettaaksesi: " + +#, c-format +msgid "E306: Cannot open %s" +msgstr "E306: Ei voi avata tiedostoa %s" + +msgid "Unable to read block 0 from " +msgstr "Ei voi lukea lohkoa 0 kohteesta " + +msgid "" +"\n" +"Maybe no changes were made or Vim did not update the swap file." +msgstr "" +"\n" +"Muutoksia ei tehty, tai Vim ei pivittnyt swap-tiedostoa." + +msgid " cannot be used with this version of Vim.\n" +msgstr " ei toimi tmn version Vimin kanssa.\n" + +msgid "Use Vim version 3.0.\n" +msgstr "Kyt Vimin versiota 3.0\n" + +#, c-format +msgid "E307: %s does not look like a Vim swap file" +msgstr "E307: %s ei ole Vimin swap-tiedosto" + +msgid " cannot be used on this computer.\n" +msgstr " ei toimi tll koneella.\n" + +msgid "The file was created on " +msgstr "Tiedosto luotiin " + +msgid "" +",\n" +"or the file has been damaged." +msgstr "" +",\n" +"tai tiedosto on vahingoittunut." + +msgid " has been damaged (page size is smaller than minimum value).\n" +msgstr " on vioittunut (sivun koko on vhimmisarvoa pienempi).\n" + +#, c-format +msgid "Using swap file \"%s\"" +msgstr "Kytetn swap-tiedostoa %s" + +#, c-format +msgid "Original file \"%s\"" +msgstr "Alkuperinen tiedosto %s" + +msgid "E308: Warning: Original file may have been changed" +msgstr "E308: Varoitus: Alkuperist tiedostoa saattaa olla muutettu" + +#, c-format +msgid "E309: Unable to read block 1 from %s" +msgstr "E309: Ei voitu lukea lohkoa 1 tiedostosta %s" + +msgid "???MANY LINES MISSING" +msgstr "???PALJON RIVEJ PUUTTUU" + +msgid "???LINE COUNT WRONG" +msgstr "???RIVIMR PIELESS" + +msgid "???EMPTY BLOCK" +msgstr "???TYHJ LOHKO" + +msgid "???LINES MISSING" +msgstr "???RIVEJ PUUTTUU" + +#, c-format +msgid "E310: Block 1 ID wrong (%s not a .swp file?)" +msgstr "E310: Lohon 1 tunniste vr (%s ei ole .swp-tiedosto?)" + +msgid "???BLOCK MISSING" +msgstr "???LOHKO PUUTTUU" + +msgid "??? from here until ???END lines may be messed up" +msgstr "??? tst kohtaan ???LOPPU rivej sekaisin" + +msgid "??? from here until ???END lines may have been inserted/deleted" +msgstr "??? tst kohtaan ???LOPPU rivej saattaa olla listty tai poistettu" + +msgid "???END" +msgstr "???LOPPU" + +msgid "E311: Recovery Interrupted" +msgstr "E311: Palautus keskeytetty" + +msgid "" +"E312: Errors detected while recovering; look for lines starting with ???" +msgstr "E312: Palautuksessa oli virheit, etsi rivej, jotka alkavat ???" + +msgid "See \":help E312\" for more information." +msgstr ":help E312 kertoo listietoja" + +msgid "Recovery completed. You should check if everything is OK." +msgstr "Palautus onnistui. Tarkista, ett kaikki on kunnossa." + +msgid "" +"\n" +"(You might want to write out this file under another name\n" +msgstr "" +"\n" +"(Saattaa kannattaa kirjoittaa tm tiedosto toisella nimell\n" + +msgid "and run diff with the original file to check for changes)\n" +msgstr "ja katsoa diffill muutoksia)\n" + +msgid "" +"Delete the .swp file afterwards.\n" +"\n" +msgstr "" +"Poista .swp-tiedosto jlkikteen.\n" +"\n" + +#. use msg() to start the scrolling properly +msgid "Swap files found:" +msgstr "Swap-tiedostoja lytyi:" + +msgid " In current directory:\n" +msgstr " Tss hakemistossa:\n" + +msgid " Using specified name:\n" +msgstr " Mritellyll nimell:\n" + +msgid " In directory " +msgstr " Hakemistossa " + +msgid " -- none --\n" +msgstr " -- ei mitn --\n" + +msgid " owned by: " +msgstr " omistaja: " + +msgid " dated: " +msgstr " ajalta: " + +msgid " dated: " +msgstr " ajalta:" + +msgid " [from Vim version 3.0]" +msgstr " [Vimin 3.0-versiosta]" + +msgid " [does not look like a Vim swap file]" +msgstr " [ei nyt Vimin swap-tiedostolta]" + +msgid " file name: " +msgstr " tiedostonimi: " + +msgid "" +"\n" +" modified: " +msgstr "" +"\n" +" muokattu: " + +msgid "YES" +msgstr "KYLL" + +msgid "no" +msgstr "ei" + +msgid "" +"\n" +" user name: " +msgstr "" +"\n" +" kyttjnimi: " + +msgid " host name: " +msgstr " laitenimi: " + +msgid "" +"\n" +" host name: " +msgstr "" +"\n" +" laitenimi: " + +msgid "" +"\n" +" process ID: " +msgstr "" +"\n" +" prosessin tunniste: " + +msgid " (still running)" +msgstr " (kynniss)" + +msgid "" +"\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [ei toimi tmn Vim-version kanssa]" + +msgid "" +"\n" +" [not usable on this computer]" +msgstr "" +"\n" +" [ei toimi tll koneella]" + +msgid " [cannot be read]" +msgstr " [ei voi lukea]" + +msgid " [cannot be opened]" +msgstr " [ei voi avata]" + +msgid "E313: Cannot preserve, there is no swap file" +msgstr "E313: Ei voi silytt, swap-tiedostoa ei ole" + +msgid "File preserved" +msgstr "Tiedosto silytetty" + +msgid "E314: Preserve failed" +msgstr "E314: Silyttminen eponnistui" + +#, c-format +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get: virheellinen lnum: %ld" + +#, c-format +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get: rivi %ld ei lydy" + +msgid "E317: pointer block id wrong 3" +msgstr "E317: osoitinlohkon tunnus vr 3" + +msgid "stack_idx should be 0" +msgstr "stack_idx pit olla 0" + +msgid "E318: Updated too many blocks?" +msgstr "E318: Pivitetty liikaa lohkoja" + +msgid "E317: pointer block id wrong 4" +msgstr "E317: osoitinlohkon tunnus vr 4" + +msgid "deleted block 1?" +msgstr "poistettu lohko 1?" + +#, c-format +msgid "E320: Cannot find line %ld" +msgstr "E320: Rivi %ld ei lydy" + +msgid "E317: pointer block id wrong" +msgstr "E317: osoitinlohkon tunnus vr" + +msgid "pe_line_count is zero" +msgstr "pe_line_count on nolla" + +#, c-format +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: rivinumero arvoalueen ulkopuoleta: %ld on loppua suurempi" + +#, c-format +msgid "E323: line count wrong in block %ld" +msgstr "E323: rivimr vrin lohkossa %ld" + +msgid "Stack size increases" +msgstr "Pinon koko kasvaa" + +msgid "E317: pointer block id wrong 2" +msgstr "E317: osoitinlohon tunnus vr 2" + +#, c-format +msgid "E773: Symlink loop for \"%s\"" +msgstr "E773: Symlinkkisilmukka kohteelle %s" + +msgid "E325: ATTENTION" +msgstr "E325: HUOMAA" + +msgid "" +"\n" +"Found a swap file by the name \"" +msgstr "" +"\n" +"Swap-tiedosto lytyi: \"" + +msgid "While opening file \"" +msgstr "Avattaessa tiedostoa " + +msgid " NEWER than swap file!\n" +msgstr " joka on UUDEMPI kuin swap-tiedosto!\n" + +#. Some of these messages are long to allow translation to +#. * other languages. +msgid "" +"\n" +"(1) Another program may be editing the same file.\n" +" If this is the case, be careful not to end up with two\n" +" different instances of the same file when making changes.\n" +msgstr "" +"\n" +"(1) Toinen ohjelma saattaa kytt samaa tiedostoa.\n" +" Jos nin on, varo, ettet muokkaa saman tiedoston\n" +" kahta instanssia yht aikaa.\n" + +msgid " Quit, or continue with caution.\n" +msgstr " Lopeta, tai jatka.\n" + +msgid "" +"\n" +"(2) An edit session for this file crashed.\n" +msgstr "" +"\n" +"(2) Ohjelma on kaatunut muokatessa tiedostoa.\n" + +msgid " If this is the case, use \":recover\" or \"vim -r " +msgstr " Jos nin on, kyt komentoa :recover tai vim -r " + +msgid "" +"\"\n" +" to recover the changes (see \":help recovery\").\n" +msgstr "" +"\"\n" +" palauttaaksesi muutokset (listietoja: \":help recovery\").\n" + +msgid " If you did this already, delete the swap file \"" +msgstr " Jos teit jo nin, poista swap-tiedosto " + +msgid "" +"\"\n" +" to avoid this message.\n" +msgstr "" +"\"\n" +" vlttksesi tmn viestin.\n" + +msgid "Swap file \"" +msgstr "Swap-tiedosto " + +msgid "\" already exists!" +msgstr " on jo olemassa" + +msgid "VIM - ATTENTION" +msgstr "VIM - HUOMAUTUS" + +msgid "Swap file already exists!" +msgstr "Swap-tiedosto on jo olemassa" + +msgid "" +"&Open Read-Only\n" +"&Edit anyway\n" +"&Recover\n" +"&Quit\n" +"&Abort" +msgstr "" +"&Avaa kirjoitussuojattuna\n" +"&Muokkaa\n" +"&Palauta\n" +"&Lopeta\n" +"P&eru" + +msgid "" +"&Open Read-Only\n" +"&Edit anyway\n" +"&Recover\n" +"&Delete it\n" +"&Quit\n" +"&Abort" +msgstr "" +"&Avaa kirjoitussuojattuna\n" +"&Muokkaa\n" +"&Palauta\n" +"P&oista\n" +"&Lopeta\n" +"P&eru" + +msgid "E326: Too many swap files found" +msgstr "E326: Liian monta swap-tiedostoa" + +msgid "E327: Part of menu-item path is not sub-menu" +msgstr "E327: Valikkokohtapolun osa ei ole alivalikko" + +msgid "E328: Menu only exists in another mode" +msgstr "E328: Valikko on olemassa vain toisessa tilassa" + +#, c-format +msgid "E329: No menu \"%s\"" +msgstr "E329: Ei valikkoa %s" + +#. Only a mnemonic or accelerator is not valid. +msgid "E792: Empty menu name" +msgstr "E792: tyhj valikkonimi" + +msgid "E330: Menu path must not lead to a sub-menu" +msgstr "E330: Valikkopolku ei saa johtaa alivalikkoon" + +msgid "E331: Must not add menu items directly to menu bar" +msgstr "E331: Valikkokohtia ei saa list suoraan valikkopalkkiin" + +msgid "E332: Separator cannot be part of a menu path" +msgstr "E332: Erotin ei voi olla valikkopolun osa" + +#. Now we have found the matching menu, and we list the mappings +#. Highlight title +msgid "" +"\n" +"--- Menus ---" +msgstr "" +"\n" +"--- Valikot ---" + +msgid "Tear off this menu" +msgstr "Repise valikko irti" + +msgid "E333: Menu path must lead to a menu item" +msgstr "E333: Valikkopolun on johdettava valikkokohtaan" + +#, c-format +msgid "E334: Menu not found: %s" +msgstr "E334: Valikkoa ei lydy: %s" + +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Valikkoa ei ole mritelty %s-tilassa" + +msgid "E336: Menu path must lead to a sub-menu" +msgstr "E336: Valikkopolun pit johtaa alivalikkoon" + +msgid "E337: Menu not found - check menu names" +msgstr "E337: Valikkoa ei lytynyt - tarkista valikkojen nimet" + +#, c-format +msgid "Error detected while processing %s:" +msgstr "Virhe suoritettaessa komentoja %s:" + +#, c-format +msgid "line %4ld:" +msgstr "rivi %4ld:" + +#, c-format +msgid "E354: Invalid register name: '%s'" +msgstr "E354: Virheellinen rekisterin nimi: %s" + +msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" +msgstr "Knnksen yllpitj: Flammie Pirinen <flammie@iki.fi>" + +msgid "Interrupt: " +msgstr "Keskeytys: " + +msgid "Press ENTER or type command to continue" +msgstr "Paina enteri tai kirjoita komento aloittaaksesi " + +#, c-format +msgid "%s line %ld" +msgstr "%s rivi %ld" + +msgid "-- More --" +msgstr "-- Lis --" + +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " SPACE/d/j: ruutu/sivu/rivi alas, b/u/k: yls, q: lopeta" + +msgid "Question" +msgstr "Kysymys" + +msgid "" +"&Yes\n" +"&No" +msgstr "" +"&Kyll\n" +"&Ei" + +msgid "" +"&Yes\n" +"&No\n" +"Save &All\n" +"&Discard All\n" +"&Cancel" +msgstr "" +"&Kyll\n" +"&Ei\n" +"&Tallenna kaikki\n" +"T&uhoa kaikki\n" +"&Peru" + +msgid "Select Directory dialog" +msgstr "Hakemiston valintaikkuna" + +msgid "Save File dialog" +msgstr "Tallennusikkuna" + +msgid "Open File dialog" +msgstr "Avausikkuna" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: Sori, tiedostonselain puuttuu konsolitilasta" + +msgid "E766: Insufficient arguments for printf()" +msgstr "E766: printf():lle ei annettu tarpeeksi argumentteja" + +msgid "E767: Too many arguments to printf()" +msgstr "E767: printf():lle annettiin liikaa argumentteja" + +msgid "W10: Warning: Changing a readonly file" +msgstr "W10: Varoitus: Muutetaan kirjoitussuojattua tiedostoa" + +msgid "Type number or click with mouse (<Enter> cancels): " +msgstr "Kirjoita numero tai valitse hiirell (<Enter> peruu): " + +msgid "Choice number (<Enter> cancels): " +msgstr "Valitse numero (<Enter> peruu): " + +msgid "1 more line" +msgstr "1 rivi lis" + +msgid "1 line less" +msgstr "1 rivi vhemmn" + +#, c-format +msgid "%ld more lines" +msgstr "%ld rivi lis" + +#, c-format +msgid "%ld fewer lines" +msgstr "%ld rivi vhemmn" + +msgid " (Interrupted)" +msgstr " (Keskeytetty)" + +msgid "Beep!" +msgstr "Piip!" + +msgid "Vim: preserving files...\n" +msgstr "Vim: sstetn tiedostoja...\n" + +#. close all memfiles, without deleting +msgid "Vim: Finished.\n" +msgstr "Vim: Valmis.\n" + +#, c-format +msgid "ERROR: " +msgstr "VIRHE: " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[tavua] yht. alloc-free %lu-%lu, kytss %lu, kytthuippu %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[kutsut] yht. re/malloc() %lu, yht. free() %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: Rivist tulee liian pitk" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: Sisinen virhe: lalloc(%ld, )" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: Muisti loppui! (varattaessa %lu tavua)" + +#, c-format +msgid "Calling shell to execute: \"%s\"" +msgstr "Kutsutaan kuorta suorittamaan: %s" + +msgid "E545: Missing colon" +msgstr "E545: Kaksoispiste puuttuu" + +msgid "E546: Illegal mode" +msgstr "E546: Virheellinen tila" + +msgid "E547: Illegal mouseshape" +msgstr "E547: Virheellinen hiiren muoto" + +msgid "E548: digit expected" +msgstr "E548: pit olla numero" + +msgid "E549: Illegal percentage" +msgstr "E549: Virheellinen prosenttiluku" + +msgid "Enter encryption key: " +msgstr "Anna salausavain: " + +msgid "Enter same key again: " +msgstr "Anna sama avain uudestaan: " + +msgid "Keys don't match!" +msgstr "Avaimet eivt tsm!" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: Virheellinen polku: '**[numero]' kuuluu polun loppuun tai ennen kohtaa " +"%s." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: Hakemistoa %s ei lydy cdpathista" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: Tiedostoa %s ei lydy polulta" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: Hakemisto %s ei ole en cdpathissa" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: Tiedosto %s ei ole en polulla" + +#. Get here when the server can't be found. +msgid "Cannot connect to Netbeans #2" +msgstr "Ei voi yhdist Netbeans #2:een" + +msgid "Cannot connect to Netbeans" +msgstr "Ei voi yhdist Netbeansiin" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "E668: Vr avaustila NetBeans-yhteyden infotiedostolle: %s" + +msgid "read from Netbeans socket" +msgstr "luettu Netbeans-soketista" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: NetBeans-yhteys katkesi puskurille %ld" + +msgid "E505: " +msgstr "E505: " + +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: operatorfunc on tyhj" + +msgid "E775: Eval feature not available" +msgstr "E775: Eval ei ole kytettviss" + +msgid "Warning: terminal cannot highlight" +msgstr "Varoitus: terminaalista puuttuu korostus" + +msgid "E348: No string under cursor" +msgstr "E348: Ei merkkijonoa kursorin alla" + +msgid "E349: No identifier under cursor" +msgstr "E349: Ei tunnistetta osoittimen alla" + +msgid "E352: Cannot erase folds with current 'foldmethod'" +msgstr "E352: taitoksia ei voi poistaa tll foldmethodilla" + +msgid "E664: changelist is empty" +msgstr "E664: muutoslista on tyhj" + +msgid "E662: At start of changelist" +msgstr "E662: Muutoslistan alussa" + +msgid "E663: At end of changelist" +msgstr "E663: Muutoslistan lopussa" + +msgid "Type :quit<Enter> to exit Vim" +msgstr "Komento :quit<Enter> lopettaa Vimin" + +#, c-format +msgid "1 line %sed 1 time" +msgstr "1 rivi %s kerran" + +#, c-format +msgid "1 line %sed %d times" +msgstr "1 rivi %s %d kertaa" + +#, c-format +msgid "%ld lines %sed 1 time" +msgstr "%ld rivi %s kerran" + +#, c-format +msgid "%ld lines %sed %d times" +msgstr "%ld rivi %s %d kertaa" + +#, c-format +msgid "%ld lines to indent... " +msgstr "%ld rivi sisennettvn..." + +msgid "1 line indented " +msgstr "1 rivi sisennetty " + +#, c-format +msgid "%ld lines indented " +msgstr "%ld rivi sisennetty " + +msgid "E748: No previously used register" +msgstr "E748: Ei aiemmin kytettyj rekisterej" + +#. must display the prompt +msgid "cannot yank; delete anyway" +msgstr "Ei voi kopioida; poista joka tapauksessa" + +msgid "1 line changed" +msgstr "1 rivi muuttui" + +#, c-format +msgid "%ld lines changed" +msgstr "%ld rivi muuttui" + +#, c-format +msgid "freeing %ld lines" +msgstr "vapautetaan %ld rivi" + +msgid "block of 1 line yanked" +msgstr "1 rivin lohko kopioitu" + +msgid "1 line yanked" +msgstr "1 rivi kopioitu" + +#, c-format +msgid "block of %ld lines yanked" +msgstr "lohko %ld rivilt kopioitu" + +#, c-format +msgid "%ld lines yanked" +msgstr "%ld rivi kopioitu" + +#, c-format +msgid "E353: Nothing in register %s" +msgstr "E353: Rekisteriss %s ei ole mitn" + +#. Highlight title +msgid "" +"\n" +"--- Registers ---" +msgstr "" +"\n" +"--- Rekisterit ---" + +msgid "Illegal register name" +msgstr "Virheellinen rekisterin nimi" + +#, c-format +msgid "" +"\n" +"# Registers:\n" +msgstr "" +"\n" +"# Rekisterit:\n" + +#, c-format +msgid "E574: Unknown register type %d" +msgstr "E574: Tuntematon rekisterityyppi %d" + +#, c-format +msgid "%ld Cols; " +msgstr "%ld saraketta, " + +#, c-format +msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" +msgstr "Valittu %s%ld/%ld rivi, %ld/%ld sanaa, %ld/%ld tavua" + +#, c-format +msgid "" +"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld " +"Bytes" +msgstr "Valittu %s%ld/%ld rivi, %ld/%ld sanaa, %ld/%ld merkki, %ld/%ld tavua" + +#, c-format +msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" +msgstr "Sarake %s/%s, Rivi %ld/%ld, sana %ld/%ld, tavu %ld/%ld" + +#, c-format +msgid "" +"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of " +"%ld" +msgstr "Sarake %s/%s, rivi %ld/%ld, sana %ld/%ld, merkki %ld/%ld, tavu %ld/%ld" + +# Unicode Byte Order Mark +#, c-format +msgid "(+%ld for BOM)" +msgstr "(+%ld BOMista)" + +msgid "%<%f%h%m%=Page %N" +msgstr "%<%f%h%m%=Sivu %N" + +msgid "Thanks for flying Vim" +msgstr "Kiitos ett ajoit Vimi" + +msgid "E518: Unknown option" +msgstr "E518: Tuntematon asetus" + +msgid "E519: Option not supported" +msgstr "E519: Asetusta ei tueta" + +msgid "E520: Not allowed in a modeline" +msgstr "E520: Ei sallitu modeline-rivill" + +msgid "E521: Number required after =" +msgstr "E521: =:n jlkeen tarvitaan luku" + +msgid "E522: Not found in termcap" +msgstr "E522: Puuttuu termcapista" + +#, c-format +msgid "E539: Illegal character <%s>" +msgstr "E539: Virheellinen merkki <%s>" + +msgid "E529: Cannot set 'term' to empty string" +msgstr "E529: Termi ei voi asettaa tyhjksi merkkijonoksi" + +msgid "E530: Cannot change term in GUI" +msgstr "E530: Ei voi vaihtaa termi GUIssa" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: Kyt komentoa :gui GUIn kynnistmiseen" + +msgid "E589: 'backupext' and 'patchmode' are equal" +msgstr "E589: backupext ja patchmod ovat samat" + +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: Ei voi muuttaa GTK+2-GUIssa" + +msgid "E524: Missing colon" +msgstr "E524: Kaksoispiste puuttuu" + +msgid "E525: Zero length string" +msgstr "E525: Nollan pituinen merkkijono" + +#, c-format +msgid "E526: Missing number after <%s>" +msgstr "E526: Lukuarvo puuttuu merkkijonon <%s> jlkeen" + +msgid "E527: Missing comma" +msgstr "E527: Pilkku puuttuu" + +msgid "E528: Must specify a ' value" +msgstr "E528: '-arvo pit antaa" + +msgid "E595: contains unprintable or wide character" +msgstr "E595: Sislt tulostumattomia tai leveit merkkej" + +msgid "E596: Invalid font(s)" +msgstr "E596: Viallisia fontteja" + +msgid "E597: can't select fontset" +msgstr "E597: Fontsetin valinta ei onnistu" + +msgid "E598: Invalid fontset" +msgstr "E598: Viallinen fontset" + +msgid "E533: can't select wide font" +msgstr "E533: Leven fontin valinta ei onnistu" + +msgid "E534: Invalid wide font" +msgstr "E534: Viallinen leve fontti" + +#, c-format +msgid "E535: Illegal character after <%c>" +msgstr "E535: Virheellinen merkki merkin <%c> jlkeen" + +msgid "E536: comma required" +msgstr "E536: pilkku puuttuu" + +#, c-format +msgid "E537: 'commentstring' must be empty or contain %s" +msgstr "E537: commentstringin pit olla tyhj tai sislt %s" + +msgid "E538: No mouse support" +msgstr "E538: Hiirt ei tueta" + +msgid "E540: Unclosed expression sequence" +msgstr "E540: Sulkematon lausekesarja" + +msgid "E541: too many items" +msgstr "E541: liikaa kohteita" + +msgid "E542: unbalanced groups" +msgstr "E542: eptasapainoisia ryhmi" + +msgid "E590: A preview window already exists" +msgstr "E590: Esikatseluikkuna on jo olemassa" + +msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" +msgstr "W17: Arabialle pit olla UTF-8:aa, aseta :set encoding=utf-8" + +#, c-format +msgid "E593: Need at least %d lines" +msgstr "E593: Tarvitaan ainakin %d rivi" + +#, c-format +msgid "E594: Need at least %d columns" +msgstr "E594: Tarvitaan ainakin %d saraketta" + +#, c-format +msgid "E355: Unknown option: %s" +msgstr "E355: Tuntematon asetus: %s" + +#. There's another character after zeros or the string +#. * is empty. In both cases, we are trying to set a +#. * num option using a string. +#, c-format +msgid "E521: Number required: &%s = '%s'" +msgstr "E521: tarvitaan luku: &%s = '%s'" + +msgid "" +"\n" +"--- Terminal codes ---" +msgstr "" +"\n" +"--- Terminaalikoodit ---" + +msgid "" +"\n" +"--- Global option values ---" +msgstr "" +"\n" +"--- Globaalit asetukset ---" + +msgid "" +"\n" +"--- Local option values ---" +msgstr "" +"\n" +"--- Paikalliset asetukset ---" + +msgid "" +"\n" +"--- Options ---" +msgstr "" +"\n" +"--- Asetukset ---" + +msgid "E356: get_varp ERROR" +msgstr "E356: get_varp-virhe" + +#, c-format +msgid "E357: 'langmap': Matching character missing for %s" +msgstr "E357: langmap: Merkkiin %s tsmv merkki puuttuu" + +#, c-format +msgid "E358: 'langmap': Extra characters after semicolon: %s" +msgstr "E358: langmap: ylimrisi merkkej puolipisteen jlkeen: %s" + +msgid "cannot open " +msgstr "ei voi avata " + +msgid "VIM: Can't open window!\n" +msgstr "VIM: Ei voi avata ikkunaa\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Amigados 2.04 tai uudempi tarvitaan\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "Tarvitaan %s versio %ld\n" + +msgid "Cannot open NIL:\n" +msgstr "Ei voi avata NILi:\n" + +msgid "Cannot create " +msgstr "Ei voi luoda " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim sulkeutuu koodilla %d\n" + +msgid "cannot change console mode ?!\n" +msgstr "ei voi vaihtaa konsolitilaa?\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize: ei ole konsoli?\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: Kuorta ei voi avata asetuksella -f" + +msgid "Cannot execute " +msgstr "Ei voi suorittaa " + +msgid "shell " +msgstr "kuori " + +msgid " returned\n" +msgstr " palautti\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE liian pieni." + +msgid "I/O ERROR" +msgstr "IO-virhe" + +msgid "Message" +msgstr "Viesti" + +msgid "'columns' is not 80, cannot execute external commands" +msgstr "columns ei ole 80, ei voi suorittaa ulkoista komentoa" + +msgid "E237: Printer selection failed" +msgstr "E237: Tulostimen valinta eponnistui" + +#, c-format +msgid "to %s on %s" +msgstr "tulostimelle %s kohteessa %s" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: Tuntematon tulostimen fontti: %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: Tulostinvirhe: %s" + +#, c-format +msgid "Printing '%s'" +msgstr "Tulostetaan %s" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "E244: Virheellinen merkistn nimi %s fontin nimess %s" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: Virheellinen merkki %c fontin nimess %s" + +msgid "E366: Invalid 'osfiletype' option - using Text" +msgstr "E366: Virheellinen osfiletype - kytetn Texti" + +msgid "Vim: Double signal, exiting\n" +msgstr "Vim: Kaksoissignaali, lopetetaan\n" + +#, c-format +msgid "Vim: Caught deadly signal %s\n" +msgstr "Vim: Tappava signaali %s\n" + +#, c-format +msgid "Vim: Caught deadly signal\n" +msgstr "Vim: Tappava signaali\n" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "X-nytn avaus vei %ld millisekuntia" + +msgid "" +"\n" +"Vim: Got X error\n" +msgstr "" +"\n" +"Vim: X-virhe\n" + +msgid "Testing the X display failed" +msgstr "X-nytn testaus eponnistui" + +msgid "Opening the X display timed out" +msgstr "X-nytn avaus aikakatkaistiin" + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Kuoren suoritus ei onnistu " + +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"Kuoren sh suoritus ei onnistu\n" + +msgid "" +"\n" +"shell returned " +msgstr "" +"\n" +"kuoren palautusarvo " + +msgid "" +"\n" +"Cannot create pipes\n" +msgstr "" +"\n" +"Putkia ei voi tehd\n" + +msgid "" +"\n" +"Cannot fork\n" +msgstr "" +"\n" +"Ei voi haarauttaa\n" + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"Komento loppui\n" + +#~ msgid "XSMP lost ICE connection" +#~ msgstr "" + +#, c-format +msgid "dlerror = \"%s\"" +msgstr "dlerror = %s" + +msgid "Opening the X display failed" +msgstr "X-nytn avaus eponnistui" + +#~ msgid "XSMP handling save-yourself request" +#~ msgstr "" + +#~ msgid "XSMP opening connection" +#~ msgstr "" + +#~ msgid "XSMP ICE connection watch failed" +#~ msgstr "" + +#, c-format +#~ msgid "XSMP SmcOpenConnection failed: %s" +#~ msgstr "" + +msgid "At line" +msgstr "Rivill" + +#, c-format +msgid "shell returned %d" +msgstr "kuori palautti arvon %d" + +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim: Napattiin %s\n" + +msgid "close" +msgstr "sulkeminen" + +msgid "logoff" +msgstr "uloskirjautuminen" + +msgid "shutdown" +msgstr "sammutus" + +msgid "E371: Command not found" +msgstr "E371: Komentoa ei lydy" + +msgid "" +"VIMRUN.EXE not found in your $PATH.\n" +"External commands will not pause after completion.\n" +"See :help win32-vimrun for more information." +msgstr "" +"VIMRUN.EXE ei lydy muuttujasta $PATH.\n" +"Ulkoiset komennot eivt pyshdy suorituksen lopussa.\n" +"Listietoja komennolla :help win32-vimrun" + +msgid "Vim Warning" +msgstr "Vim-varoitus" + +msgid "Could not load vim32.dll!" +msgstr "Vim32.dll: ei voitu ladata" + +msgid "VIM Error" +msgstr "VIM-virhe" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "Ei voitu korjata funktio-osoittimia DLL:ss" + +#, c-format +msgid "E372: Too many %%%c in format string" +msgstr "E372: Liikaa %%%c-juttuja muotoilumerkkijonossa" + +#, c-format +msgid "E373: Unexpected %%%c in format string" +msgstr "E373: Odottamaton %%%c muotoilumerkkijonossa" + +msgid "E374: Missing ] in format string" +msgstr "E374: ] puuttuu muotoilemerkkijonosta" + +#, c-format +msgid "E375: Unsupported %%%c in format string" +msgstr "E375: Tukematon %%%c muotoilumerkkijonossa" + +#, c-format +msgid "E376: Invalid %%%c in format string prefix" +msgstr "E376: Virheellinen %%%c muotoilumerkkijonon alussa" + +#, c-format +msgid "E377: Invalid %%%c in format string" +msgstr "E377: Virheellinen %%%c muotoilumerkkijonossa" + +msgid "E378: 'errorformat' contains no pattern" +msgstr "E378: errorformatissa ei ole kuvioita" + +msgid "E379: Missing or empty directory name" +msgstr "E379: Puuttuva tai tyhj hakemiston nimi" + +msgid "E553: No more items" +msgstr "E553: Ei en kohteita" + +#, c-format +msgid "(%d of %d)%s%s: " +msgstr "(%d/%d)%s%s: " + +msgid " (line deleted)" +msgstr " (rivi poistettu)" + +msgid "E380: At bottom of quickfix stack" +msgstr "E380: quickfix-pinon pohjalla" + +msgid "E381: At top of quickfix stack" +msgstr "E381: quickfix-pinon huipulla" + +#, c-format +msgid "error list %d of %d; %d errors" +msgstr "virhelista %d/%d, %d virhett" + +msgid "E382: Cannot write, 'buftype' option is set" +msgstr "E382: Ei voi kirjoittaa, buftype asetettu" + +msgid "E683: File name missing or invalid pattern" +msgstr "E683: Tiedostonimi puuttuu tai kuvio on viallinen" + +#, c-format +msgid "Cannot open file \"%s\"" +msgstr "Tiedostoa %s ei voi avata" + +msgid "E681: Buffer is not loaded" +msgstr "E681: Puskuria ei ole ladattu" + +msgid "E777: String or List expected" +msgstr "E777: Pit olla merkkijono tai lista" + +#, c-format +msgid "E369: invalid item in %s%%[]" +msgstr "E369: virheellinen olio kohdassa %s%%[]" + +msgid "E339: Pattern too long" +msgstr "E339: Liian pitk kuvio" + +msgid "E50: Too many \\z(" +msgstr "E50: Liikaa merkkej \\z(" + +#, c-format +msgid "E51: Too many %s(" +msgstr "E51: Liikaa merkkej %s(" + +msgid "E52: Unmatched \\z(" +msgstr "E52: Pariton \\z(" + +#, c-format +msgid "E53: Unmatched %s%%(" +msgstr "E53: Pariton %s%%(" + +#, c-format +msgid "E54: Unmatched %s(" +msgstr "E54: Pariton %s(" + +#, c-format +msgid "E55: Unmatched %s)" +msgstr "E55: Pariton %s)" + +#, c-format +msgid "E59: invalid character after %s@" +msgstr "E59: virheellinen merkki kohdan %s@ jlkeen" + +#, c-format +msgid "E60: Too many complex %s{...}s" +msgstr "E60: Liikaa monimutkaisia ilmauksia %s{...}s" + +#, c-format +msgid "E61: Nested %s*" +msgstr "E61: Siskkistetty %s*" + +#, c-format +msgid "E62: Nested %s%c" +msgstr "E62: Siskkistetty %s%c" + +msgid "E63: invalid use of \\_" +msgstr "E63: vrinkytetty \\_" + +#, c-format +msgid "E64: %s%c follows nothing" +msgstr "E64: %s%c jlkeen ei minkn" + +msgid "E65: Illegal back reference" +msgstr "E65: Virheellinen tsmysviittaus" + +msgid "E66: \\z( not allowed here" +msgstr "E66: \\z( ei ole sallittu tss" + +msgid "E67: \\z1 et al. not allowed here" +msgstr "E67: \\z1 jne. ei ole sallittu tss" + +msgid "E68: Invalid character after \\z" +msgstr "E68: Virheellinen merkki ilmauksen \\z jlkeen" + +#, c-format +msgid "E69: Missing ] after %s%%[" +msgstr "E69: ] puuttuu merkinnn %s%%[ jljest" + +#, c-format +msgid "E70: Empty %s%%[]" +msgstr "E70: Tyhj %s%%[]" + +#, c-format +msgid "E678: Invalid character after %s%%[dxouU]" +msgstr "E678: Virheellinen merkki merkinnn %s%%[dxouU] jljess" + +#, c-format +msgid "E71: Invalid character after %s%%" +msgstr "E71: Virheellinen merkki merkinnn %s%% jljess" + +#, c-format +msgid "E769: Missing ] after %s[" +msgstr "E769: ] puuttuu merkinnn %s[ jljest" + +#, c-format +msgid "E554: Syntax error in %s{...}" +msgstr "E554: Syntaksivirhe ilmauksessa %s{...}" + +msgid "External submatches:\n" +msgstr "Ulkoisia alitsmyksi:\n" + +# tiloja +msgid " VREPLACE" +msgstr " VKORVAUS" + +msgid " REPLACE" +msgstr " KORVAUS" + +msgid " REVERSE" +msgstr " KNTEIS" + +msgid " INSERT" +msgstr " SYTT" + +msgid " (insert)" +msgstr " (sytt)" + +msgid " (replace)" +msgstr " (korvaus)" + +msgid " (vreplace)" +msgstr " (vkorvaus)" + +msgid " Hebrew" +msgstr " Heprea" + +msgid " Arabic" +msgstr " Arabia" + +msgid " (lang)" +msgstr " (kieli)" + +msgid " (paste)" +msgstr " (liitos)" + +msgid " VISUAL" +msgstr " VALINTA" + +msgid " VISUAL LINE" +msgstr " VALINTARIVI" + +msgid " VISUAL BLOCK" +msgstr " VALINTALOHKO" + +msgid " SELECT" +msgstr " WALINTA" + +msgid " SELECT LINE" +msgstr " WALINTARIVI" + +msgid " SELECT BLOCK" +msgstr " WALINTALOHKO" + +msgid "recording" +msgstr "tallennetaan" + +#, c-format +msgid "E383: Invalid search string: %s" +msgstr "E383: Viallinen hakujono: %s" + +#, c-format +msgid "E384: search hit TOP without match for: %s" +msgstr "E384: Haku psi alkuun lytmtt jonoa: %s" + +#, c-format +msgid "E385: search hit BOTTOM without match for: %s" +msgstr "E385: Haku psi loppuun lytmtt jonoa: %s" + +msgid "E386: Expected '?' or '/' after ';'" +msgstr "E386: ;:n jlkeen pit olla ? tai /" + +msgid " (includes previously listed match)" +msgstr " (sislt viimeksi luetellun tsmyksen)" + +#. cursor at status line +msgid "--- Included files " +msgstr "--- Sisllytetyt tiedostot " + +msgid "not found " +msgstr "ei lytynyt " + +msgid "in path ---\n" +msgstr "polusta ---\n" + +msgid " (Already listed)" +msgstr " (Jo lueteltu)" + +msgid " NOT FOUND" +msgstr " EI LYTYNYT" + +#, c-format +msgid "Scanning included file: %s" +msgstr "Haku sislsi tiedoston: %s" + +#, c-format +msgid "Searching included file %s" +msgstr "Haku sislsi tiedoston %s" + +msgid "E387: Match is on current line" +msgstr "E387: Tsmys tll rivill" + +msgid "All included files were found" +msgstr "Kaikki sisllytetyt rivit lytyivt" + +msgid "No included files" +msgstr "Ei sisllytettyj tiedostoja" + +msgid "E388: Couldn't find definition" +msgstr "E388: Mritelm ei lydy" + +msgid "E389: Couldn't find pattern" +msgstr "E389: kuvio ei lydy" + +#, c-format +#~ msgid "" +#~ "\n" +#~ "# Last %sSearch Pattern:\n" +#~ "~" +#~ msgstr "" + + +msgid "E759: Format error in spell file" +msgstr "E759: Muotoiluvirhe oikolukutiedostossa" + +msgid "E758: Truncated spell file" +msgstr "E758: Oikolukutiedosto katkaistu" + +#, c-format +msgid "Trailing text in %s line %d: %s" +msgstr "Teksti rivin perss tiedostossa %s rivill %d: %s" + +#, c-format +msgid "Affix name too long in %s line %d: %s" +msgstr "Affiksin nimi on liian pitk tiedostossa %s rivill %d: %s" + +#~ msgid "E761: Format error in affix file FOL, LOW or UPP" +#~ msgstr "" + +#~ msgid "E762: Character in FOL, LOW or UPP is out of range" +#~ msgstr "" + +#~ msgid "Compressing word tree..." +#~ msgstr "" + +#~ msgid "E756: Spell checking is not enabled" +#~ msgstr "" + +#, c-format +#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +#~ msgstr "" + +#, c-format +#~ msgid "Reading spell file \"%s\"" +#~ msgstr "" + +#~ msgid "E757: This does not look like a spell file" +#~ msgstr "" + +#~ msgid "E771: Old spell file, needs to be updated" +#~ msgstr "" + +#~ msgid "E772: Spell file is for newer version of Vim" +#~ msgstr "" + +#~ msgid "E770: Unsupported section in spell file" +#~ msgstr "" + +#, c-format +#~ msgid "Warning: region %s not supported" +#~ msgstr "" + +#, c-format +#~ msgid "Reading affix file %s ..." +#~ msgstr "" + +#, c-format +#~ msgid "Conversion failure for word in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Conversion in %s not supported: from %s to %s" +#~ msgstr "" + +#, c-format +#~ msgid "Conversion in %s not supported" +#~ msgstr "" + +#, c-format +#~ msgid "Invalid value for FLAG in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "FLAG after using flags in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "" +#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " +#~ "%d" +#~ msgstr "" + +#, c-format +#~ msgid "" +#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " +#~ "%d" +#~ msgstr "" + +#, c-format +#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Different combining flag in continued affix block in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Duplicate affix in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "" +#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " +#~ "line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Expected Y or N in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Broken condition in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Expected REP(SAL) count in %s line %d" +#~ msgstr "" + +#, c-format +#~ msgid "Expected MAP count in %s line %d" +#~ msgstr "" + +#, c-format +#~ msgid "Duplicate character in MAP in %s line %d" +#~ msgstr "" + +#, c-format +#~ msgid "Unrecognized or duplicate item in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Missing FOL/LOW/UPP line in %s" +#~ msgstr "" + +#~ msgid "COMPOUNDSYLMAX used without SYLLABLE" +#~ msgstr "" + +#~ msgid "Too many postponed prefixes" +#~ msgstr "" + +#~ msgid "Too many compound flags" +#~ msgstr "" + +#~ msgid "Too many posponed prefixes and/or compound flags" +#~ msgstr "" + +#, c-format +#~ msgid "Missing SOFO%s line in %s" +#~ msgstr "" + +#, c-format +#~ msgid "Both SAL and SOFO lines in %s" +#~ msgstr "" + +#, c-format +#~ msgid "Flag is not a number in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Illegal flag in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "%s value differs from what is used in another .aff file" +#~ msgstr "" + +#, c-format +#~ msgid "Reading dictionary file %s ..." +#~ msgstr "" + +#, c-format +#~ msgid "E760: No word count in %s" +#~ msgstr "" + +#, c-format +#~ msgid "line %6d, word %6d - %s" +#~ msgstr "" + +#, c-format +#~ msgid "Duplicate word in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "First duplicate word in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "%d duplicate word(s) in %s" +#~ msgstr "" + +#, c-format +#~ msgid "Ignored %d word(s) with non-ASCII characters in %s" +#~ msgstr "" + +#, c-format +#~ msgid "Reading word file %s ..." +#~ msgstr "" + +#, c-format +#~ msgid "Duplicate /encoding= line ignored in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "/encoding= line after word ignored in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Duplicate /regions= line ignored in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Too many regions in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "/ line ignored in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Invalid region nr in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Unrecognized flags in %s line %d: %s" +#~ msgstr "" + +#, c-format +#~ msgid "Ignored %d words with non-ASCII characters" +#~ msgstr "" + +#, c-format +#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +#~ msgstr "" + +#~ msgid "Reading back spell file..." +#~ msgstr "" + +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. +#~ msgid "Performing soundfolding..." +#~ msgstr "" + +#, c-format +#~ msgid "Number of words after soundfolding: %ld" +#~ msgstr "" + +#, c-format +#~ msgid "Total number of words: %d" +#~ msgstr "" + +#, c-format +#~ msgid "Writing suggestion file %s ..." +#~ msgstr "" + +#, c-format +#~ msgid "Estimated runtime memory use: %d bytes" +#~ msgstr "" + +#~ msgid "E751: Output file name must not have region name" +#~ msgstr "" + +#~ msgid "E754: Only up to 8 regions supported" +#~ msgstr "" + +#, c-format +#~ msgid "E755: Invalid region in %s" +#~ msgstr "" + +#~ msgid "Warning: both compounding and NOBREAK specified" +#~ msgstr "" + +#, c-format +#~ msgid "Writing spell file %s ..." +#~ msgstr "" + +#~ msgid "Done!" +#~ msgstr "" + +#, c-format +#~ msgid "E765: 'spellfile' does not have %ld entries" +#~ msgstr "" + +#, c-format +#~ msgid "Word removed from %s" +#~ msgstr "" + +#, c-format +#~ msgid "Word added to %s" +#~ msgstr "" + +#~ msgid "E763: Word characters differ between spell files" +#~ msgstr "" + +#~ msgid "Sorry, no suggestions" +#~ msgstr "" + +#, c-format +#~ msgid "Sorry, only %ld suggestions" +#~ msgstr "" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +#~ msgid "Change \"%.*s\" to:" +#~ msgstr "" + +#, c-format +#~ msgid " < \"%.*s\"" +#~ msgstr "" + +#~ msgid "E752: No previous spell replacement" +#~ msgstr "" + +#, c-format +#~ msgid "E753: Not found: %s" +#~ msgstr "" + +#, c-format +#~ msgid "E778: This does not look like a .sug file: %s" +#~ msgstr "" + +#, c-format +#~ msgid "E779: Old .sug file, needs to be updated: %s" +#~ msgstr "" + +#, c-format +#~ msgid "E780: .sug file is for newer version of Vim: %s" +#~ msgstr "" + +#, c-format +#~ msgid "E781: .sug file doesn't match .spl file: %s" +#~ msgstr "" + +#, c-format +#~ msgid "E782: error while reading .sug file: %s" +#~ msgstr "" + +#. This should have been checked when generating the .spl +#. * file. +#~ msgid "E783: duplicate char in MAP entry" +#~ msgstr "" + +#, c-format +msgid "E390: Illegal argument: %s" +msgstr "E390: Virheellinen argumentti: %s" + +#, c-format +msgid "E391: No such syntax cluster: %s" +msgstr "E391: Syntaksiklusteri puuttuu: %s" + +msgid "No Syntax items defined for this buffer" +msgstr "Ei syntaksikohteita tlle puskurille" + +msgid "syncing on C-style comments" +msgstr "synkkaa C-tyylin kommentteihin" + +msgid "no syncing" +msgstr "ei synkkausta" + +msgid "syncing starts " +msgstr "synkkaus aloitettu " + +msgid " lines before top line" +msgstr " rivi ennen alkua" + +msgid "" +"\n" +"--- Syntax sync items ---" +msgstr "" +"\n" +"--- Syntax sync -kohteet ---" + +msgid "" +"\n" +"syncing on items" +msgstr "" +"\n" +"synkataan kohteisiin" + +msgid "" +"\n" +"--- Syntax items ---" +msgstr "" +"\n" +"--- Syntax-kohteet ---" + +#, c-format +msgid "E392: No such syntax cluster: %s" +msgstr "E392: syntaksiklusteria ei ole: %s" + +msgid "minimal " +msgstr "vhintn " + +msgid "maximal " +msgstr "enitntn " + +msgid "; match " +msgstr "; tsm " + +msgid " line breaks" +msgstr " rivinvaihdot" + +msgid "E395: contains argument not accepted here" +msgstr "E395: contains ei sovi thn" + +msgid "E396: containedin argument not accepted here" +msgstr "E396: containedin ei sovi thn" + +msgid "E393: group[t]here not accepted here" +msgstr "E393: group[t]here ei sovi thn" + +#, c-format +msgid "E394: Didn't find region item for %s" +msgstr "E394: Aluetta nimelle %s ei lydy" + +msgid "E397: Filename required" +msgstr "E397: Tiedostonimi puuttuu" + +#, c-format +msgid "E789: Missing ']': %s" +msgstr "E789: ] puuttuu; %s" + +#, c-format +msgid "E398: Missing '=': %s" +msgstr "E398: = puuttuu: %s" + +#, c-format +msgid "E399: Not enough arguments: syntax region %s" +msgstr "E399: Argumentteja puuttuu: syntaksialue %s" + +msgid "E400: No cluster specified" +msgstr "E400: klusteri mrittelemtt" + +#, c-format +msgid "E401: Pattern delimiter not found: %s" +msgstr "E401: Kuvoin erotin puuttuu: %s" + +#, c-format +msgid "E402: Garbage after pattern: %s" +msgstr "E402: Roskia kuvion jljess: %s" + +msgid "E403: syntax sync: line continuations pattern specified twice" +msgstr "E403: syntax sync: rivinjatkamiskuvio mritelty kahdesti" + +#, c-format +msgid "E404: Illegal arguments: %s" +msgstr "E404: Virheelliset argumentit: %s" + +#, c-format +msgid "E405: Missing equal sign: %s" +msgstr "E405: = puuttuu: %s" + +#, c-format +msgid "E406: Empty argument: %s" +msgstr "E406: Tyhj argumentti: %s" + +#, c-format +msgid "E407: %s not allowed here" +msgstr "E407: %s ei sovi thn" + +#, c-format +msgid "E408: %s must be first in contains list" +msgstr "E408: %s kuuluu contains-listan alkuun" + +#, c-format +msgid "E409: Unknown group name: %s" +msgstr "E409: Tuntematon ryhmn nimi: %s" + +#, c-format +msgid "E410: Invalid :syntax subcommand: %s" +msgstr "E410: Virheelluinen :syntax-osakomento: %s" + +msgid "E679: recursive loop loading syncolor.vim" +msgstr "E679: rekursiivinen silmukka syncolor.vimiss" + +#, c-format +msgid "E411: highlight group not found: %s" +msgstr "E411: korostusryhm ei lytynyt: %s" + +#, c-format +msgid "E412: Not enough arguments: \":highlight link %s\"" +msgstr "E412: Argumentteja puuttuu: :highlight link %s" + +#, c-format +msgid "E413: Too many arguments: \":highlight link %s\"" +msgstr "E413: Liikaa argumentteja: :highlight link %s" + +msgid "E414: group has settings, highlight link ignored" +msgstr "E414: ryhmll on asetuksia, highlight link -komento ohitetaan" + +#, c-format +msgid "E415: unexpected equal sign: %s" +msgstr "E415: odotuksenvastainen =-merkki: %s" + +#, c-format +msgid "E416: missing equal sign: %s" +msgstr "E416: puuttuva =-merkki: %s" + +#, c-format +msgid "E417: missing argument: %s" +msgstr "E417: puuttuva argumentti: %s" + +#, c-format +msgid "E418: Illegal value: %s" +msgstr "E418: Viallinen arvo: %s" + +msgid "E419: FG color unknown" +msgstr "E419: edustavri tuntematon" + +msgid "E420: BG color unknown" +msgstr "E420: taustavri tuntematon" + +#, c-format +msgid "E421: Color name or number not recognized: %s" +msgstr "E421: Vrin nimi tai numero tuntematon: %s" + +#, c-format +msgid "E422: terminal code too long: %s" +msgstr "E422: terminaalikoodi liian pitk: %s" + +#, c-format +msgid "E423: Illegal argument: %s" +msgstr "E423: Virheellinen argumentti: %s" + +msgid "E424: Too many different highlighting attributes in use" +msgstr "E424: Liikaa eri korostusattribuutteja" + +msgid "E669: Unprintable character in group name" +msgstr "E669: Tulostuskelvoton merkki ryhmn nimess" + +msgid "W18: Invalid character in group name" +msgstr "W18: Virheellinen merkki ryhmn nimess" + +msgid "E555: at bottom of tag stack" +msgstr "E555: tgipinon pohja" + +msgid "E556: at top of tag stack" +msgstr "E556: tgipinon huippu" + +msgid "E425: Cannot go before first matching tag" +msgstr "E425: Ei voida menn ensimmist tsmv tgi alummaksi" + +#, c-format +msgid "E426: tag not found: %s" +msgstr "E426: tgi puuttuu: %s" + +#~ msgid " # pri kind tag" +#~ msgstr "" + +msgid "file\n" +msgstr "tiedosto\n" + +msgid "E427: There is only one matching tag" +msgstr "E427: Vain yksi tgi tsm" + +msgid "E428: Cannot go beyond last matching tag" +msgstr "E428: Ei voida edet viimeisen tsmvn tgin ohi" + +#, c-format +msgid "File \"%s\" does not exist" +msgstr "Tiedostoa %s ei ole" + +#. Give an indication of the number of matching tags +#, c-format +msgid "tag %d of %d%s" +msgstr "tgi %d/%d%s" + +msgid " or more" +msgstr " tai useammasta" + +#~ msgid " Using tag with different case!" +#~ msgstr "" + +#, c-format +msgid "E429: File \"%s\" does not exist" +msgstr "E429: Tiedostoa %s ei ole" + +#. Highlight title +msgid "" +"\n" +" # TO tag FROM line in file/text" +msgstr "" +"\n" +" # TILL tagg FRN LINJE i fil/text" + +#, c-format +msgid "Searching tags file %s" +msgstr "Etsitn tgitiedostoa %s" + +#, c-format +#~ msgid "E430: Tag file path truncated for %s\n" +#~ msgstr "" + +#, c-format +msgid "E431: Format error in tags file \"%s\"" +msgstr "E431: Muotovirh tgitiedostossa %s" + +#, c-format +msgid "Before byte %ld" +msgstr "Ennen tavua %ld" + +#, c-format +msgid "E432: Tags file not sorted: %s" +msgstr "E432: Tgitiedosto ei ole jrjestetty: %s" + +#. never opened any tags file +msgid "E433: No tags file" +msgstr "E433: Ei tgitiedostoja" + +msgid "E434: Can't find tag pattern" +msgstr "E434: Tgikuviota ei lydy" + +msgid "E435: Couldn't find tag, just guessing!" +msgstr "E435: Tgi ei lydy, arvataan." + +msgid "' not known. Available builtin terminals are:" +msgstr " ei tunnettu. Tuetut terminaalit:" + +msgid "defaulting to '" +msgstr "oletusarvona " + +msgid "E557: Cannot open termcap file" +msgstr "E557: Ei voi avata termcap-tiedostoa" + +msgid "E558: Terminal entry not found in terminfo" +msgstr "E558: Terminaalia ei lytynyt terminfosta" + +msgid "E559: Terminal entry not found in termcap" +msgstr "E559: Terminaalia ei lytynyt termcapista" + +#, c-format +msgid "E436: No \"%s\" entry in termcap" +msgstr "E436: %s ei lytynyt termcapista" + +msgid "E437: terminal capability \"cm\" required" +msgstr "E437: terminaalilla pit olla cm kyvyissn" + +#. Highlight title +msgid "" +"\n" +"--- Terminal keys ---" +msgstr "" +"\n" +"--- Terminaalinppimet ---" + +msgid "new shell started\n" +msgstr "uusi kuori avattu\n" + +msgid "Vim: Error reading input, exiting...\n" +msgstr "Vim: Virhe luettaessa sytett, poistutaan...\n" + +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "Ei voi kumota, jatketaan silti" + +msgid "Already at oldest change" +msgstr "Vanhimmassa muutoksessa" + +msgid "Already at newest change" +msgstr "Nuorimmassa muutoksessa" + +#, c-format +msgid "Undo number %ld not found" +msgstr "Kumouslukua %ld ei lydy" + +msgid "E438: u_undo: line numbers wrong" +msgstr "E438: u_undo: vrt rivinumerot" + +msgid "more line" +msgstr "rivi lis" + +msgid "more lines" +msgstr "rivi lis" + +msgid "line less" +msgstr "rivi vhemmn" + +msgid "fewer lines" +msgstr "rivi vhemmn" + +msgid "change" +msgstr "muutos" + +msgid "changes" +msgstr "muutosta" + +# eka %s ylpuolelta, toka %s alapuolelta, kolmas %s aika +#, c-format +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s, %s #%ld %s" + +msgid "before" +msgstr "ennen muutosta" + +msgid "after" +msgstr "jlkeen muutoksen" + +msgid "Nothing to undo" +msgstr "Ei kumottavaa" + +msgid "number changes time" +msgstr "muutoksia aika" + +#, c-format +msgid "%ld seconds ago" +msgstr "%ld sekuntia sitten" + +msgid "E790: undojoin is not allowed after undo" +msgstr "E790: undojoin ei toimi undon jlkeen" + +msgid "E439: undo list corrupt" +msgstr "E439: kumouslista rikki" + +msgid "E440: undo line missing" +msgstr "E440: kumousrivi puuttuu" + +#. Only MS VC 4.1 and earlier can do Win32s +msgid "" +"\n" +"MS-Windows 16/32 bit GUI version" +msgstr "" +"\n" +"MS-Windows 16- t. 32-bittinen GUI-versio" + +msgid "" +"\n" +"MS-Windows 64 bit GUI version" +msgstr "" +"\n" +"MS-Windows 64-bittinen GUI-versio" + +msgid "" +"\n" +"MS-Windows 32 bit GUI version" +msgstr "" +"\n" +"MS-Windows 32-bitars GUI-version" + +msgid " in Win32s mode" +msgstr " Win32s-tilassa" + +msgid " with OLE support" +msgstr " OLE-tuella" + +msgid "" +"\n" +"MS-Windows 32 bit console version" +msgstr "" +"\n" +"MS-Windows 32-bitars konsollversion" + +msgid "" +"\n" +"MS-Windows 16 bit version" +msgstr "" +"\n" +"MS-Windows 16-bitars version" + +msgid "" +"\n" +"32 bit MS-DOS version" +msgstr "" +"\n" +"32-bitars MS-DOS-version" + +msgid "" +"\n" +"16 bit MS-DOS version" +msgstr "" +"\n" +"16-bitars MS-DOS-version" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"MacOS X-version (unix)" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"MacOS X-version" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"MacOS-version" + +msgid "" +"\n" +"RISC OS version" +msgstr "" +"\n" +"RISC OS-version" + +msgid "" +"\n" +"Included patches: " +msgstr "" +"\n" +"Inkluderade patchar: " + +msgid "Modified by " +msgstr "Muokannut " + +msgid "" +"\n" +"Compiled " +msgstr "" +"\n" +"Kntnyt " + +msgid "by " +msgstr ": " + +msgid "" +"\n" +"Huge version " +msgstr "" +"\n" +"Enorm version " + +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Stor version " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Normal version " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Liten version " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Jtteliten version " + +msgid "without GUI." +msgstr "ilman GUIta." + +msgid "with GTK2-GNOME GUI." +msgstr "GTK2-Gnome-GUIlla." + +msgid "with GTK-GNOME GUI." +msgstr "GTK-Gnome-GUIlla." + +msgid "with GTK2 GUI." +msgstr "GTK2-GUIlla." + +msgid "with GTK GUI." +msgstr "GTK-GUIlla." + +msgid "with X11-Motif GUI." +msgstr "X11-Motif-GUIlla." + +msgid "with X11-neXtaw GUI." +msgstr "X11-neXtaw-GUIlla." + +msgid "with X11-Athena GUI." +msgstr "X11-Athena-GUIlla." + +msgid "with Photon GUI." +msgstr "Photon-GUIlla." + +msgid "with GUI." +msgstr "GUIlla." + +msgid "with Carbon GUI." +msgstr "Carbon-GUIlla." + +msgid "with Cocoa GUI." +msgstr "Cocoa-GUIlla." + +msgid "with (classic) GUI." +msgstr "perinteisell GUIlla." + +msgid " Features included (+) or not (-):\n" +msgstr " Ominaisuudet mukana (+) ja poissa (-):\n" + +msgid " system vimrc file: \"" +msgstr " jrjestelmn vimrc: \"" + +msgid " user vimrc file: \"" +msgstr " kyttjn vimrc: \"" + +msgid " 2nd user vimrc file: \"" +msgstr " 2. kyttjn vimrc: \"" + +msgid " 3rd user vimrc file: \"" +msgstr " 3. kyttjn vimrc: \"" + +msgid " user exrc file: \"" +msgstr " kyttjn exrc: \"" + +msgid " 2nd user exrc file: \"" +msgstr " 2. kyttjn exrc: \"" + +msgid " system gvimrc file: \"" +msgstr " jrjestelmn gvimrc: \"" + +msgid " user gvimrc file: \"" +msgstr " kyttjn gvimrc: \"" + +msgid "2nd user gvimrc file: \"" +msgstr "2. kyttjn gvimrc: \"" + +msgid "3rd user gvimrc file: \"" +msgstr "3. kyttjn gvimrc: \"" + +msgid " system menu file: \"" +msgstr " jrjestelmvalikko: \"" + +msgid " fall-back for $VIM: \"" +msgstr " $VIMin fallback: \"" + +msgid " f-b for $VIMRUNTIME: \"" +msgstr " $VIMRUNTIMEn f-b: \"" + +msgid "Compilation: " +msgstr "Knns: " + +msgid "Compiler: " +msgstr "Knnin: " + +msgid "Linking: " +msgstr "Linkitys: " + +msgid " DEBUG BUILD" +msgstr " DEBUG-versio" + +msgid "VIM - Vi IMproved" +msgstr "VIM - Vi IMproved" + +msgid "version " +msgstr "versio " + +msgid "by Bram Moolenaar et al." +msgstr "tekijt Bram Molenaar et al." + +msgid "Vim is open source and freely distributable" +msgstr "Vim on avointa lhdekoodia ja vapaasti jaossa" + +msgid "Help poor children in Uganda!" +msgstr "Auta Ugandan kyhi lapsia" + +msgid "type :help iccf<Enter> for information " +msgstr "kirjoita :help iccf<Enter> listietoa varten" + +msgid "type :q<Enter> to exit " +msgstr "kirjoita :q<Enter> lopettaaksesi" + +msgid "type :help<Enter> or <F1> for on-line help" +msgstr "kirjoita :help<Enter> tai <F1> ohjetta varten" + +msgid "type :help version7<Enter> for version info" +msgstr "kirjoita :help version7<Enter> versiotietoja varten" + +msgid "Running in Vi compatible mode" +msgstr "Suoritetaan Vi-yhteensopivuustilaa" + +msgid "type :set nocp<Enter> for Vim defaults" +msgstr "kirjoita :set nocp<Enter> Vimin oletuksiin" + +msgid "type :help cp-default<Enter> for info on this" +msgstr "kirjoita :help cp-default<Enter> ohjetta oletuksista varten" + +msgid "menu Help->Orphans for information " +msgstr "valikko Ohje->Orvot listietoja varten" + +msgid "Running modeless, typed text is inserted" +msgstr "Suoritetaan tilattomana, kirjoitettu teksti sytetn" + +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "valikko Muokkaa->Yleiset asetukset->Vaihda sytetilaa" + +msgid " for two modes " +msgstr " kahta tilaa varten " + +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "valikko Muokkaa->Yleiset asetukset->Vaihda Vi-yhteensopivuutta" + +msgid " for Vim defaults " +msgstr " Vim-oletuksia varten" + +msgid "Sponsor Vim development!" +msgstr "Tue Vimin kehityst" + +msgid "Become a registered Vim user!" +msgstr "Rekisteridy Vim-kyttjksi." + +msgid "type :help sponsor<Enter> for information " +msgstr "kirjoita :help sponsor<Enter> listietoja varten" + +msgid "type :help register<Enter> for information " +msgstr "kirjoita :help register<Enter> listietoja varten" + +msgid "menu Help->Sponsor/Register for information " +msgstr "valikko Ohje->Sponsoroi/Rekisteri listietoja varten" + +msgid "WARNING: Windows 95/98/ME detected" +msgstr "VAROITUS: Window 95/98/ME havaittu" + +msgid "type :help windows95<Enter> for info on this" +msgstr "kirjoita :help windows95<Enter> listietoja varten" + +msgid "Already only one window" +msgstr "En yksi ikkuna jljell" + +msgid "E441: There is no preview window" +msgstr "E441: Ei esikatseluikkunaa" + +msgid "E442: Can't split topleft and botright at the same time" +msgstr "E442: Ei voi jakaa vasenta ylnurkkaa ja oikeaa alanurkkaa yhtaikaa" + +msgid "E443: Cannot rotate when another window is split" +msgstr "E443: Ei voi kiert kun toinen ikkuna on jaettu" + +msgid "E444: Cannot close last window" +msgstr "E444: Ei voi sulkea viimeist ikkunaa" + +msgid "E445: Other window contains changes" +msgstr "E445: Toinen ikkuna sislt muutoksia" + +msgid "E446: No file name under cursor" +msgstr "E446: Ei tiedostonime kursorin alla" + +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: Tiedosto %s ei lydy polulta" + +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Kirjaston %s lataaminen ei onnistu" + +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "Sori, komento ei toimi, Perl kirjastoa ei voinut ladata." + +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "E299: Perl-suoritus kielletty hiekkalaatikossa ilman Safe-moduulia" + +msgid "Edit with &multiple Vims" +msgstr "&Muokkaa usealla Vimill" + +msgid "Edit with single &Vim" +msgstr "Muokkaa yhdell &Vimill" + +msgid "Diff with Vim" +msgstr "Diffi Vimill" + +msgid "Edit with &Vim" +msgstr "Muokkaa &Vimill" + +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "Muokkaa olemassaolevalla Vimill - " + +msgid "Edits the selected file(s) with Vim" +msgstr "Muokkaa valittuja tiedostoja Vimill" + +msgid "Error creating process: Check if gvim is in your path!" +msgstr "Virhe prosessin kynnistmisess, varmista ett gvim on polulla" + +msgid "gvimext.dll error" +msgstr "gvimext.dll-virhe" + +msgid "Path length too long!" +msgstr "Liian pitk polku" + +msgid "--No lines in buffer--" +msgstr "--Ei rivej puskurissa--" + +#. +#. * The error messages that can be shared are included here. +#. * Excluded are errors that are only used once and debugging messages. +#. +msgid "E470: Command aborted" +msgstr "E470: Komento peruttu" + +msgid "E471: Argument required" +msgstr "E471: Argumentti puuttuu" + +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: \\:n jlkeen pit tulla /, ? tai &" + +msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgstr "E11: Virheellinen komentorivi-ikkuna, <CR> suorittaa, Ctrl C lopettaa" + +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: Kommando inte tilltet frn exrc/vimrc i aktuell katalog eller " +"taggskning" + +msgid "E171: Missing :endif" +msgstr "E171: :endif puuttuu" + +msgid "E600: Missing :endtry" +msgstr "E600: :endtry puuttuu" + +msgid "E170: Missing :endwhile" +msgstr "E170: :endwhile puuttuu" + +msgid "E170: Missing :endfor" +msgstr "E170: :endfor puuttuu" + +msgid "E588: :endwhile without :while" +msgstr "E588: :endwhile ilman komentoa :while" + +msgid "E588: :endfor without :for" +msgstr "E588: :endfor ilman komentoa :for" + +msgid "E13: File exists (add ! to override)" +msgstr "E13: Tiedosto on jo olemassa (lis ! ohittaaksesi)" + +msgid "E472: Command failed" +msgstr "E472: Komento eponnistui" + +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: Tuntematon fontset: %s" + +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: Tuntematon fontti: %s" + +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: Fontti %s ei ole tasavlinen" + +msgid "E473: Internal error" +msgstr "E473: Sisinen virhe" + +msgid "Interrupted" +msgstr "Keskeytetty" + +msgid "E14: Invalid address" +msgstr "E14: Virheellinen osoite" + +msgid "E474: Invalid argument" +msgstr "E474: Virheellinen argumentti" + +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: Virheellinen argumentti %s" + +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: Virheellinen ilmaus %s" + +msgid "E16: Invalid range" +msgstr "E16: Virheellinen arvoalue" + +msgid "E476: Invalid command" +msgstr "E476: Virheellinen komento" + +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: %s on hakemisto" + +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: Kirjastukutsu %s() eponnistui" + +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: Ei voitu ladta kirjastofunktiota %s" + +msgid "E19: Mark has invalid line number" +msgstr "E19: Merkill on virheellinen rivinumero" + +msgid "E20: Mark not set" +msgstr "E20: Merkki ei asetettu" + +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "E21: Ei voi tehd muutoksia, modifiable on pois plt" + +msgid "E22: Scripts nested too deep" +msgstr "E22: Liian monta tasoa skripteiss" + +msgid "E23: No alternate file" +msgstr "E23: Eo vaihtoehtoista tiedostoa" + +msgid "E24: No such abbreviation" +msgstr "E24: Lyhennett ei ole" + +msgid "E477: No ! allowed" +msgstr "E477: ! ei sallittu" + +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: GUIta ei voi kytt, koska sit ei knnetty mukaan" + +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: Hepreaa ei voi kytt, koska sit ei knnetty mukaan\n" + +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: Farsia ei voi kytt, koska sit ei knnetty mukaan\n" + +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: Arabiaa ei voi kytt, koska sit ei knnetty mukaan\n" + +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: Korostusryhm ei ole nimell: %s" + +msgid "E29: No inserted text yet" +msgstr "E29: Teksti ei ole sytetty viel" + +msgid "E30: No previous command line" +msgstr "E30: Ei edellist komentorivi" + +msgid "E31: No such mapping" +msgstr "E31: Kuvausta ei ole" + +msgid "E479: No match" +msgstr "E479: Ei tsm" + +#, c-format +msgid "E480: No match: %s" +msgstr "E480: Ei tsm: %s" + +msgid "E32: No file name" +msgstr "E32: Ei tiedostonime" + +msgid "E33: No previous substitute regular expression" +msgstr "E33: Ei edellist korvausta snnlliselle ilmaukselle" + +msgid "E34: No previous command" +msgstr "E34: Ei edellist komentoa" + +msgid "E35: No previous regular expression" +msgstr "E35: Ei edellist snnllist ilmausta" + +msgid "E481: No range allowed" +msgstr "E481: Arvoalue ei sallittu" + +msgid "E36: Not enough room" +msgstr "E36: Tila ei riit" + +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: palvelinta %s ei ole rekisterityn" + +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: Tiedostoa %s ei voi luoda" + +msgid "E483: Can't get temp file name" +msgstr "E483: vliaikaistiedoston nime ei saada selville" + +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: Ei voi avata tiedostoa %s" + +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: Ei voi lukea tiedostoa %s" + +msgid "E37: No write since last change (add ! to override)" +msgstr "" +"E37: Viimeisen muutoksen jlkeen ei ole kirjoitettu (lis ! ohittaaksesi)" + +msgid "E38: Null argument" +msgstr "E38: Null-argumentti" + +msgid "E39: Number expected" +msgstr "E39: Pit olla numero" + +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: virhetiedostoa %s ei voi avata" + +msgid "E233: cannot open display" +msgstr "E233: nytt ei voi avata" + +msgid "E41: Out of memory!" +msgstr "E41: Muisti loppui" + +msgid "Pattern not found" +msgstr "Kuviota ei lydy" + +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: Kuviota ei lydy: %s" + +msgid "E487: Argument must be positive" +msgstr "E487: Argumentin pit olla positiivinen" + +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Ei voi siirty edelliseen hakemistoon" + +# ;-) +msgid "E42: No Errors" +msgstr "E42: Ei virheit" + +msgid "E776: No location list" +msgstr "E776: Ei sijaintilistaa" + +msgid "E43: Damaged match string" +msgstr "E43: Viallinen tsmysmerkkijono" + +msgid "E44: Corrupted regexp program" +msgstr "E44: Viallinen regexp-ohjelma" + +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: readonly asetettu (lis ! ohittaaksesi)" + +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: Kirjoitussuojattua muuttujaa %s ei voi muuttaa" + +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: Muuttujaa ei voi asettaa hiekkalaatikossa: %s" + +msgid "E47: Error while reading errorfile" +msgstr "E47: Virhe virhetiedostoa luettaessa" + +msgid "E48: Not allowed in sandbox" +msgstr "E48: Ei sallittu hiekkalaatikossa" + +msgid "E523: Not allowed here" +msgstr "E523: Ei sallittu tll" + +msgid "E359: Screen mode setting not supported" +msgstr "E359: Nytttila-asetus ei tuettu" + +msgid "E49: Invalid scroll size" +msgstr "E49: Virheellinen vierityskoko" + +msgid "E91: 'shell' option is empty" +msgstr "E91: shell-asetus on tyhj" + +msgid "E255: Couldn't read in sign data!" +msgstr "E255: Merkkidatan luku ei onnistu" + +msgid "E72: Close error on swap file" +msgstr "E72: Swap-tiedoston sulkemisvirhe" + +msgid "E73: tag stack empty" +msgstr "E73: tgipino tyhj" + +msgid "E74: Command too complex" +msgstr "E74: Liian monimutkainen komento" + +msgid "E75: Name too long" +msgstr "E75: Liian pitk nimi" + +msgid "E76: Too many [" +msgstr "E76: Liian monta [:a" + +msgid "E77: Too many file names" +msgstr "E77: Liikaa tiedostonimi" + +msgid "E488: Trailing characters" +msgstr "E488: Ylimrisi merkkej perss" + +msgid "E78: Unknown mark" +msgstr "E78: Tuntematon merkki" + +msgid "E79: Cannot expand wildcards" +msgstr "E79: Jokerimerkkien avaus ei onnistu" + +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: winheight ei voi olla pienempi kuin winminheight" + +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: winwidth ei voi olla pienempi kuin winminwidth" + +msgid "E80: Error while writing" +msgstr "E80: Kirjoitusvirhe" + +msgid "Zero count" +msgstr "Nollalaskuri" + +msgid "E81: Using <SID> not in a script context" +msgstr "E81: <SID> skriptin ulkopuolella" + +msgid "E449: Invalid expression received" +msgstr "E449: Virheellinen ilmaus saatu" + +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Alue on suojattu, muuttaminen ei onnistu" + +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans ei tue muutoksia kirjoitussuojattuihin tiedostoihin" + +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Sisinen virhe: %s" + +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: kuvio kytt enemmn muistia kuin maxmempattern on" + +msgid "E749: empty buffer" +msgstr "E749: tyhj puskuri" + +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Virheellinen hakulauseke tai erotin" + +msgid "E139: File is loaded in another buffer" +msgstr "E139: Tiedosto on ladattu toiseen puskuriin" + +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: Asetus %s on asettamatta" + +msgid "search hit TOP, continuing at BOTTOM" +msgstr "haku psi ALKUUN, jatketaan LOPUSTA" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "haku psi LOPPUUN, jatketaan ALUSTA" + +#~ msgid "-V[N]\t\tVerbose level" +#~ msgstr "-V[N]\t\tMonisanaisuustaso" + +#~ msgid "...(truncated)" +#~ msgstr "...(katkaistu)" diff --git a/src/po/ga.po b/src/po/ga.po index b53864396..62ae76f95 100644 --- a/src/po/ga.po +++ b/src/po/ga.po @@ -1,34 +1,31 @@ # Irish translations for vim. # This file is distributed under the same license as the vim package. -# Kevin Patrick Scannell <scannell@SLU.EDU>, 2005. +# Kevin Patrick Scannell <scannell@SLU.EDU>, 2005, 2006, 2008. # msgid "" msgstr "" "Project-Id-Version: vim 7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-02-13 21:51-0600\n" -"PO-Revision-Date: 2005-02-14 10:35-0600\n" -"Last-Translator: Kevin Patrick Scannell <scannell@SLU.EDU>\n" -"Language-Team: Irish <ga@li.org>\n" +"POT-Creation-Date: 2008-05-24 12:31-0500\n" +"PO-Revision-Date: 2008-05-24 12:49-0500\n" +"Last-Translator: Kevin Patrick Scannell <kscanne@gmail.com>\n" +"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" msgid "E82: Cannot allocate any buffer, exiting..." -msgstr "E82: N fidir maoln a riar, ag scor..." +msgstr "E82: N fidir maoln a dhileadh, ag scor..." msgid "E83: Cannot allocate buffer, using other one..." -msgstr "E83: N fidir maoln a riar, ag sid cinn eile..." +msgstr "E83: N fidir maoln a dhileadh, ag sid cinn eile..." -#, c-format msgid "E515: No buffers were unloaded" msgstr "E515: N raibh aon mhaoln dluchtaithe" -#, c-format msgid "E516: No buffers were deleted" msgstr "E516: N raibh aon mhaoln scriosta" -#, c-format msgid "E517: No buffers were wiped out" msgstr "E517: N raibh aon mhaoln bnaithe" @@ -54,7 +51,7 @@ msgid "%d buffers wiped out" msgstr "%d maoln bnaithe" msgid "E84: No modified buffer found" -msgstr "E84: Nor aimsodh maoln athraithe" +msgstr "E84: Nor aimsodh maoln mionathraithe" #. back where we started, didn't find anything. msgid "E85: There is no listed buffer" @@ -73,14 +70,14 @@ msgstr "E88: N fidir a dhul roimh an chad mhaoln" #, c-format msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" -"E89: T maoln %ld athraithe ach nach bhfuil sbhilte shin (cuir ! leis " +"E89: Athraodh maoln %ld ach nach bhfuil s sbhilte shin (cuir ! leis " "an ord chun sr)" msgid "E90: Cannot unload last buffer" msgstr "E90: N fidir an maoln deireanach a dhlucht" msgid "W14: Warning: List of file names overflow" -msgstr "W14: Rabhadh: Rshreabhadh liosta ainmneacha comhaid" +msgstr "W14: Rabhadh: Liosta ainmneacha comhaid thar maoil" #, c-format msgid "E92: Buffer %ld not found" @@ -102,7 +99,7 @@ msgid "E95: Buffer with this name already exists" msgstr "E95: T maoln ann leis an ainm seo cheana" msgid " [Modified]" -msgstr " [Athraithe]" +msgstr " [Mionathraithe]" msgid "[Not edited]" msgstr "[Gan eagr]" @@ -114,7 +111,7 @@ msgid "[Read errors]" msgstr "[Earrid limh]" msgid "[readonly]" -msgstr "[lamh amhin]" +msgstr "[inlite amhin]" #, c-format msgid "1 line --%d%%--" @@ -135,8 +132,8 @@ msgstr "[Gan Ainm]" msgid "help" msgstr "cabhair" -msgid "[help]" -msgstr "[cabhair]" +msgid "[Help]" +msgstr "[Cabhair]" msgid "[Preview]" msgstr "[Ramhamharc]" @@ -158,8 +155,11 @@ msgstr "" "\n" "# Liosta maolin:\n" -msgid "[Error List]" -msgstr "[Liosta Earrid]" +msgid "[Location List]" +msgstr "[Liosta Suomh]" + +msgid "[Quickfix List]" +msgstr "[Liosta Ceartchn Tapa]" msgid "" "\n" @@ -192,6 +192,9 @@ msgstr "E98: N fidir an t-aschur diff a lamh" msgid "E99: Current buffer is not in diff mode" msgstr "E99: Nl an maoln reatha sa mhd diff" +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: N fidir aon mhaoln eile a athr sa mhd diff" + msgid "E100: No other buffer in diff mode" msgstr "E100: Nl aon mhaoln eile sa mhd diff" @@ -208,6 +211,9 @@ msgstr "E102: T maoln \"%s\" gan aimsi" msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: Nl maoln \"%s\" i md diff" +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: Athraodh an maoln gan choinne" + msgid "E104: Escape not allowed in digraph" msgstr "E104: N cheadatear carachtair alchin i ndghraf" @@ -217,17 +223,15 @@ msgstr "E544: Comhad eochairmhapla gan aimsi" msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: Ag sid :loadkeymap ach n comhad foinsithe seo" +msgid "E791: Empty keymap entry" +msgstr "E791: Iontril fholamh eochairmhapla" + msgid " Keyword completion (^N^P)" -msgstr " Comhln d'eochairfhocail (^N^P)" +msgstr " Comhln lorgfhocal (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -msgid " ^X mode (^E^Y^L^]^F^I^K^D^U^V^N^P)" -msgstr " md ^X (^E^Y^L^]^F^I^K^D^U^V^N^P)" - -#. Scroll has it's own msgs, in it's place there is the msg for local -#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo -msgid " Keyword Local completion (^N^P)" -msgstr " Comhln eochairfhocail lognta (^N^P)" +msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" +msgstr " md ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgid " Whole line completion (^L^N^P)" msgstr " Comhln Lnte Ina Iomln (^L^N^P)" @@ -256,15 +260,24 @@ msgstr " Comhln den lne ordaithe (^V^N^P)" msgid " User defined completion (^U^N^P)" msgstr " Comhln saincheaptha (^U^N^P)" +msgid " Omni completion (^O^N^P)" +msgstr " Comhln Omni (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr " Moladh litrithe (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Comhln lognta lorgfhocal (^N^P)" + msgid "Hit end of paragraph" msgstr "Sroicheadh croch an pharagraif" -msgid "'thesaurus' option is empty" -msgstr "t an rogha 'thesaurus' folamh" - msgid "'dictionary' option is empty" msgstr "t an rogha 'dictionary' folamh" +msgid "'thesaurus' option is empty" +msgstr "t an rogha 'thesaurus' folamh" + #, c-format msgid "Scanning dictionary: %s" msgstr "Foclir scanadh: %s" @@ -289,6 +302,7 @@ msgstr " Mad" #. showmode might reset the internal line pointers, so it must #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. +#. msgid "-- Searching..." msgstr "-- Ag Cuardach..." @@ -325,11 +339,11 @@ msgstr "E111: `]' ar iarraidh" #, c-format msgid "E686: Argument of %s must be a List" -msgstr "E686: N folir argint de %s a bheith Liosta" +msgstr "E686: Caithfidh argint de %s a bheith ina Liosta" #, c-format -msgid "E712: Argument of %s must be a List or Dictionaary" -msgstr "E712: N folir argint de %s a bheith Liosta n Foclir" +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Caithfidh argint de %s a bheith ina Liosta n Foclir" msgid "E713: Cannot use empty key for Dictionary" msgstr "E713: N fidir eochair fholamh a sid le Foclir" @@ -342,7 +356,7 @@ msgstr "E715: T g le foclir" #, c-format msgid "E118: Too many arguments for function: %s" -msgstr "E118: An iomarca argint d'fheidhm %s" +msgstr "E118: An iomarca argint d'fheidhm: %s" #, c-format msgid "E716: Key not present in Dictionary: %s" @@ -365,6 +379,14 @@ msgstr "E719: N fidir [:] a sid le foclir" msgid "E734: Wrong variable type for %s=" msgstr "E734: Cinel mcheart athrige le haghaidh %s=" +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Feidhm anaithnid: %s" + +#, c-format +msgid "E461: Illegal variable name: %s" +msgstr "E461: Ainm athrige neamhcheadaithe: %s" + msgid "E687: Less targets than List items" msgstr "E687: Nos l spriocanna n mreanna Liosta" @@ -462,8 +484,9 @@ msgstr "E697: ']' ar iarraidh ag deireadh liosta: %s" msgid "E720: Missing colon in Dictionary: %s" msgstr "E720: Idirstad ar iarraidh i bhFoclir: %s" -msgid "E721: Duplicate key in Dictionary" -msgstr "E721: Eochair dhblach i bhFoclir" +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Eochair dhblach i bhFoclir: \"%s\"" #, c-format msgid "E722: Missing comma in Dictionary: %s" @@ -476,12 +499,33 @@ msgstr "E723: '}' ar iarraidh ag deireadh foclra: %s" msgid "E724: variable nested too deep for displaying" msgstr "E724: athrg neadaithe rdhomhain chun a thaispeint" +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Feidhm anaithnid: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Nl go leor feidhmeanna d'fheidhm: %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: <SID> sid ach gan a bheith i gcomhthacs scripte: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Feidhm 'dict' ghlao gan Foclir: %s" + msgid "E699: Too many arguments" msgstr "E699: An iomarca argint" +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: is fidir complete() a sid sa mhd Ionsite amhin" + +#. #. * Yes this is ugly, I don't particularly like it either. But doing it #. * this way has the compelling advantage that translations need not to #. * be touched at all. See below what 'ok' and 'ync' are used for. +#. msgid "&Ok" msgstr "&Ok" @@ -507,8 +551,8 @@ msgstr "" msgid "called inputrestore() more often than inputsave()" msgstr "Glaodh inputrestore() nos minice n inputsave()" -msgid "E745: Range not allowed" -msgstr "E745: N cheadatear raon" +msgid "E786: Range not allowed" +msgstr "E786: N cheadatear an raon" msgid "E701: Invalid type for len()" msgstr "E701: Cinel neamhbhail le haghaidh len()" @@ -533,7 +577,7 @@ msgid "E277: Unable to read a server reply" msgstr "E277: N fidir freagra n fhreastala a lamh" msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: An iomarca naisc shiombalacha (timthriall?)" +msgstr "E655: An iomarca naisc shiombalacha (ciogal?)" msgid "E258: Unable to send to client" msgstr "E258: N fidir aon rud a sheoladh chuig an chliant" @@ -567,21 +611,21 @@ msgstr "E731: Foclir sid mar Theaghrn" #, c-format msgid "E704: Funcref variable name must start with a capital: %s" -msgstr "E704: N folir ceannlitir a bheith ar dts ainm Funcref: %s" +msgstr "E704: Caithfidh ceannlitir a bheith ar dts ainm Funcref: %s" #, c-format -msgid "705: Variable name conflicts with existing function: %s" -msgstr "705: Tagann ainm athrige salach ar fheidhm at ann cheana: %s" - -#, c-format -msgid "E461: Illegal variable name: %s" -msgstr "E461: Ainm athrige neamhcheadaithe: %s" +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Tagann ainm athrige salach ar fheidhm at ann cheana: %s" #, c-format msgid "E706: Variable type mismatch for: %s" msgstr "E706: Mmheaitseil idir cinelacha athrige: %s" #, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: N fidir athrg %s a scriosadh" + +#, c-format msgid "E741: Value is locked: %s" msgstr "E741: T an luach faoi ghlas: %s" @@ -606,27 +650,27 @@ msgstr "E125: Argint neamhcheadaithe: %s" msgid "E126: Missing :endfunction" msgstr "E126: :endfunction ar iarraidh" +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "" +"E746: Nl ainm na feidhme comhoirinach le hainm comhaid na scripte: %s" + msgid "E129: Function name required" -msgstr "E129: T ainm feidhme riachtanach" +msgstr "E129: T g le hainm feidhme" #, c-format msgid "E128: Function name must start with a capital or contain a colon: %s" msgstr "" -"E128: N folir ceannlitir a bheith ar dts ainm feidhme, n idirstad a " +"E128: Caithfidh ceannlitir a bheith ar dts ainm feidhme, n idirstad a " "bheith ann: %s" #, c-format -msgid "E130: Undefined function: %s" -msgstr "E130: Feidhm gan sainmhni: %s" - -#, c-format msgid "E131: Cannot delete function %s: It is in use" msgstr "E131: N fidir feidhm %s a scriosadh: T s in sid faoi lthair" msgid "E132: Function call depth is higher than 'maxfuncdepth'" msgstr "E132: Doimhneacht na nglaonna nos m n 'maxfuncdepth'" -#. always scroll up, don't overwrite #, c-format msgid "calling %s" msgstr "%s glao" @@ -643,13 +687,12 @@ msgstr "%s ag aisfhilleadh #%ld" msgid "%s returning %s" msgstr "%s ag aisfhilleadh %s" -#. always scroll up, don't overwrite #, c-format msgid "continuing in %s" msgstr "ag leanint i %s" msgid "E133: :return not inside a function" -msgstr "E133: N folir do :return a bheith isteach i bhfeidhm" +msgstr "E133: Caithfidh :return a bheith isteach i bhfeidhm" #, c-format msgid "" @@ -659,204 +702,12 @@ msgstr "" "\n" "# athrga comhchoiteanna:\n" -msgid "Entering Debug mode. Type \"cont\" to continue." -msgstr "Md dfhabhtaithe thos. Clscrobh \"cont\" chun leanint." - -#, c-format -msgid "line %ld: %s" -msgstr "lne %ld: %s" - -#, c-format -msgid "cmd: %s" -msgstr "ord: %s" - -#, c-format -msgid "Breakpoint in \"%s%s\" line %ld" -msgstr "Brisphointe i \"%s%s\" lne %ld" - -#, c-format -msgid "E161: Breakpoint not found: %s" -msgstr "E161: Brisphointe gan aimsi: %s" - -msgid "No breakpoints defined" -msgstr "Nl aon bhrisphointe socraithe" - -#, c-format -msgid "%3d %s %s line %ld" -msgstr "%3d %s %s lne %ld" - -msgid "Save As" -msgstr "Sbhil Mar" - -#, c-format -msgid "Save changes to \"%.*s\"?" -msgstr "Sbhil athruithe ar \"%.*s\"?" - -msgid "Untitled" -msgstr "Gan Teideal" - -#, c-format -msgid "E162: No write since last change for buffer \"%s\"" -msgstr "E162: T maoln \"%s\" athraithe ach nach bhfuil sbhilte shin" - -msgid "Warning: Entered other buffer unexpectedly (check autocommands)" -msgstr "Rabhadh: Chuathas i maoln eile go tobann (seiceil na huathorduithe)" - -msgid "E163: There is only one file to edit" -msgstr "E163: Nl ach aon chomhad amhin le cur in eagar" - -msgid "E164: Cannot go before first file" -msgstr "E164: N fidir a dhul roimh an chad chomhad" - -msgid "E165: Cannot go beyond last file" -msgstr "E165: N fidir a dhul thar an gcomhad deireanach" - -#, c-format -msgid "E666: compiler not supported: %s" -msgstr "E666: n ghlactar leis an tiomsaitheoir: %s" - -#, c-format -msgid "Searching for \"%s\" in \"%s\"" -msgstr "Ag danamh cuardach ar \"%s\" i \"%s\"" - -#, c-format -msgid "Searching for \"%s\"" -msgstr "Ag danamh cuardach ar \"%s\"" - -#, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "gan aimsi i 'runtimepath': \"%s\"" - -msgid "Source Vim script" -msgstr "Foinsigh script Vim" - -#, c-format -msgid "Cannot source a directory: \"%s\"" -msgstr "N fidir an chomhadlann \"%s\" a lamh" - -#, c-format -msgid "could not source \"%s\"" -msgstr "norbh fhidir \"%s\" a lamh" - -#, c-format -msgid "line %ld: could not source \"%s\"" -msgstr "lne %ld: norbh fhidir \"%s\" a fhoinsi" - -#, c-format -msgid "sourcing \"%s\"" -msgstr "\"%s\" fhoinsi" - -#, c-format -msgid "line %ld: sourcing \"%s\"" -msgstr "lne %ld: \"%s\" fhoinsi" - -#, c-format -msgid "finished sourcing %s" -msgstr "deireadh ag foinsi %s" - -msgid "W15: Warning: Wrong line separator, ^M may be missing" -msgstr "" -"W15: Rabhadh: Deighilteoir lnte mcheart, is fidir go bhfuil ^M ar iarraidh" - -msgid "E167: :scriptencoding used outside of a sourced file" -msgstr "E167: n sidtear :scriptencoding ach i gcomhad foinsithe" - -msgid "E168: :finish used outside of a sourced file" -msgstr "E168: n sidtear :finish ach i gcomhaid foinsithe" - -#, c-format -msgid "Page %d" -msgstr "Leathanach %d" - -msgid "No text to be printed" -msgstr "Nl aon tacs le priontil" - -#, c-format -msgid "Printing page %d (%d%%)" -msgstr "Leathanach %d (%d%%) phriontil" - -#, c-format -msgid " Copy %d of %d" -msgstr " Cip %d de %d" - -#, c-format -msgid "Printed: %s" -msgstr "Priontilte: %s" - -#, c-format -msgid "Printing aborted" -msgstr "Priontil tobscortha" - -msgid "E455: Error writing to PostScript output file" -msgstr "E455: Earrid le linn scrobh chuig aschomhad PostScript" - -#, c-format -msgid "E624: Can't open file \"%s\"" -msgstr "E624: N fidir an comhad \"%s\" a oscailt" - -#, c-format -msgid "E457: Can't read PostScript resource file \"%s\"" -msgstr "E457: N fidir comhad acmhainne PostScript \"%s\" a lamh" - -#, c-format -msgid "E618: file \"%s\" is not a PostScript resource file" -msgstr "E618: Nl comhad \"%s\" ina chomhad acmhainne PostScript" - -#, c-format -msgid "E619: file \"%s\" is not a supported PostScript resource file" -msgstr "E619: T \"%s\" ina chomhad acmhainne PostScript gan tac" - -#, c-format -msgid "E621: \"%s\" resource file has wrong version" -msgstr "E621: T an leagan mcheart ar an gcomhad acmhainne \"%s\"" - -msgid "E673: Incompatible multi-byte encoding and character set." -msgstr "E673: Ionchd agus tacar carachtar ilbhirt neamh-chomhoirinach." - -msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgid "" +"\n" +"\tLast set from " msgstr "" -"E674: n cheadatear printmbcharset a bheith folamh le hionchd ilbhirt." - -msgid "E675: No default font specfifed for multi-byte printing." -msgstr "E675: Nor ramhshocraodh cl le haghaidh priontla ilbhirt." - -msgid "E324: Can't open PostScript output file" -msgstr "E324: N fidir aschomhad PostScript a oscailt" - -#, c-format -msgid "E456: Can't open file \"%s\"" -msgstr "E456: N fidir an comhad \"%s\" a oscailt" - -msgid "E456: Can't find PostScript resource file \"prolog.ps\"" -msgstr "E456: Comhad acmhainne PostScript \"prolog.ps\" gan aimsi" - -msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" -msgstr "E456: Comhad acmhainne PostScript \"cidfont.ps\" gan aimsi" - -#, c-format -msgid "E456: Can't find PostScript resource file \"%s.ps\"" -msgstr "E456: Comhad acmhainne PostScript \"%s.ps\" gan aimsi" - -#, c-format -msgid "E620: Unable to convert to print encoding \"%s\"" -msgstr "E620: N fidir an t-ionchd priontla \"%s\" a thiont" - -msgid "Sending to printer..." -msgstr "Ag seoladh chuig an phrintir..." - -msgid "E365: Failed to print PostScript file" -msgstr "E365: Theip ar phriontil comhaid PostScript" - -msgid "Print job sent." -msgstr "Seoladh jab priontla." - -#, c-format -msgid "Current %slanguage: \"%s\"" -msgstr "%sTeanga faoi lthair: \"%s\"" - -#, c-format -msgid "E197: Cannot set language to \"%s\"" -msgstr "E197: N fidir an teanga a shocr mar \"%s\"" +"\n" +"\tSocraithe is dana " #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -886,7 +737,7 @@ msgstr "Scagadh %ld lne" msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "" -"E135: N cheadatear uathorduithe scagaire chun an maoln reatha a athr" +"E135: N cheadatear d'uathorduithe *scagaire* an maoln reatha a athr" msgid "[No write since last change]\n" msgstr "[Athraithe agus nach sbhilte shin]\n" @@ -912,6 +763,7 @@ msgstr " marcanna" msgid " FAILED" msgstr " TEIPTHE" +#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Nl an comhad Viminfo inscrofa: %s" @@ -944,10 +796,8 @@ msgstr "# Luach 'encoding' agus an comhad seo scrobh\n" msgid "Illegal starting char" msgstr "Carachtar neamhcheadaithe tosaigh" -#. Overwriting a file that is loaded in another buffer is not a -#. * good idea. -msgid "E139: File is loaded in another buffer" -msgstr "E139: T an comhad luchtaithe i maoln eile" +msgid "Save As" +msgstr "Sbhil Mar" msgid "Write partial file?" msgstr "Scrobh comhad neamhiomln?" @@ -956,8 +806,16 @@ msgid "E140: Use ! to write partial buffer" msgstr "E140: Bain sid as ! chun maoln neamhiomln a scrobh" #, c-format -msgid "Overwrite existing file \"%.*s\"?" -msgstr "Forscrobh comhad \"%.*s\" at ann cheana?" +msgid "Overwrite existing file \"%s\"?" +msgstr "Forscrobh comhad \"%s\" at ann cheana?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "T comhad babhtla \"%s\" ann cheana; forscrobh mar sin fin?" + +#, c-format +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: T comhad babhtla ann cheana: %s (sid :silent! chun sr)" #, c-format msgid "E141: No file name for buffer %ld" @@ -968,12 +826,26 @@ msgstr "E142: Nor scrobhadh an comhad: dchumasaithe leis an rogha 'write'" #, c-format msgid "" -"'readonly' option is set for \"%.*s\".\n" +"'readonly' option is set for \"%s\".\n" "Do you wish to write anyway?" msgstr "" -"t an rogha 'readonly' socraithe do \"%.*s\".\n" +"t an rogha 'readonly' socraithe do \"%s\".\n" "Ar mhaith leat a scrobh mar sin fin?" +#, c-format +msgid "" +"File permissions of \"%s\" are read-only.\n" +"It may still be possible to write it.\n" +"Do you wish to try?" +msgstr "" +"T comhad \"%s\" inlite amhin.\n" +"Seans gurbh fhidir scrobh ann mar sin fin.\n" +"An bhfuil fonn ort triail a bhaint as?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: is inlite amhin \"%s\" (cuir ! leis an ord chun sr)" + msgid "Edit File" msgstr "Cuir Comhad in Eagar" @@ -998,10 +870,17 @@ msgstr "cuir %s ina ionad (y/n/a/q/l/^E/^Y)?" msgid "(Interrupted) " msgstr "(Idirbhriste) " +msgid "1 match" +msgstr "1 rud comhoirinach" + msgid "1 substitution" msgstr "1 ionadaocht" #, c-format +msgid "%ld matches" +msgstr "%ld rud comhoirinach" + +#, c-format msgid "%ld substitutions" msgstr "%ld ionadaocht" @@ -1015,8 +894,9 @@ msgstr " ar %ld lne" msgid "E147: Cannot do :global recursive" msgstr "E147: N cheadatear :global go hathchrsach" +# should have ":" msgid "E148: Regular expression missing from global" -msgstr "E148: Slonn ionadaochta ar iarraidh n domhain" +msgstr "E148: Slonn ionadaochta ar iarraidh :global" #, c-format msgid "Pattern found in every line: %s" @@ -1105,11 +985,138 @@ msgstr " (nl an rogha seo ar fil)" msgid "[Deleted]" msgstr "[Scriosta]" +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Md dfhabhtaithe thos. Clscrobh \"cont\" chun leanint." + +#, c-format +msgid "line %ld: %s" +msgstr "lne %ld: %s" + +#, c-format +msgid "cmd: %s" +msgstr "ord: %s" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Brisphointe i \"%s%s\" lne %ld" + +#, c-format +msgid "E161: Breakpoint not found: %s" +msgstr "E161: Brisphointe gan aimsi: %s" + +msgid "No breakpoints defined" +msgstr "Nl aon bhrisphointe socraithe" + +#, c-format +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s lne %ld" + +msgid "E750: First use :profile start <fname>" +msgstr "E750: sid :profile start <ainm> ar dts" + +#, c-format +msgid "Save changes to \"%s\"?" +msgstr "Sbhil athruithe ar \"%s\"?" + +msgid "Untitled" +msgstr "Gan Teideal" + +#, c-format +msgid "E162: No write since last change for buffer \"%s\"" +msgstr "E162: Athraodh maoln \"%s\" ach nach bhfuil s sbhilte shin" + +msgid "Warning: Entered other buffer unexpectedly (check autocommands)" +msgstr "Rabhadh: Chuathas i maoln eile go tobann (seiceil na huathorduithe)" + +msgid "E163: There is only one file to edit" +msgstr "E163: Nl ach aon chomhad amhin le cur in eagar" + +msgid "E164: Cannot go before first file" +msgstr "E164: N fidir a dhul roimh an chad chomhad" + +msgid "E165: Cannot go beyond last file" +msgstr "E165: N fidir a dhul thar an gcomhad deireanach" + +#, c-format +msgid "E666: compiler not supported: %s" +msgstr "E666: n ghlactar leis an tiomsaitheoir: %s" + +#, c-format +msgid "Searching for \"%s\" in \"%s\"" +msgstr "Ag danamh cuardach ar \"%s\" i \"%s\"" + +#, c-format +msgid "Searching for \"%s\"" +msgstr "Ag danamh cuardach ar \"%s\"" + +#, c-format +msgid "not found in 'runtimepath': \"%s\"" +msgstr "gan aimsi i 'runtimepath': \"%s\"" + +msgid "Source Vim script" +msgstr "Foinsigh script Vim" + +#, c-format +msgid "Cannot source a directory: \"%s\"" +msgstr "N fidir comhadlann a lamh: \"%s\"" + +#, c-format +msgid "could not source \"%s\"" +msgstr "norbh fhidir \"%s\" a lamh" + +#, c-format +msgid "line %ld: could not source \"%s\"" +msgstr "lne %ld: norbh fhidir \"%s\" a fhoinsi" + +#, c-format +msgid "sourcing \"%s\"" +msgstr "\"%s\" fhoinsi" + +#, c-format +msgid "line %ld: sourcing \"%s\"" +msgstr "lne %ld: \"%s\" fhoinsi" + +#, c-format +msgid "finished sourcing %s" +msgstr "deireadh ag foinsi %s" + +msgid "modeline" +msgstr "mdlne" + +msgid "--cmd argument" +msgstr "argint --cmd" + +msgid "-c argument" +msgstr "argint -c" + +msgid "environment variable" +msgstr "athrg thimpeallachta" + +msgid "error handler" +msgstr "limhsela earrid" + +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "" +"W15: Rabhadh: Deighilteoir lnte mcheart, is fidir go bhfuil ^M ar iarraidh" + +msgid "E167: :scriptencoding used outside of a sourced file" +msgstr "E167: n sidtear :scriptencoding ach i gcomhad foinsithe" + +msgid "E168: :finish used outside of a sourced file" +msgstr "E168: n sidtear :finish ach i gcomhaid foinsithe" + +#, c-format +msgid "Current %slanguage: \"%s\"" +msgstr "%sTeanga faoi lthair: \"%s\"" + +#, c-format +msgid "E197: Cannot set language to \"%s\"" +msgstr "E197: N fidir an teanga a shocr mar \"%s\"" + msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Md Ex thos. Clscrobh \"visual\" le haghaidh an ghnthmhd." # in FARF -KPS -#. must be at EOF msgid "E501: At end-of-file" msgstr "E501: Ag an chomhadchroch" @@ -1186,19 +1193,8 @@ msgstr "E177: N cheadatear an t-ireamh a bheith tugtha faoi dh" msgid "E178: Invalid default value for count" msgstr "E178: Luach ramhshocraithe neamhbhail ar ireamh" -msgid "E179: argument required for complete" -msgstr "E179: n folir argint le haghaidh comhlnaithe" - -#, c-format -msgid "E180: Invalid complete value: %s" -msgstr "E180: Luach iomln neamhbhail: %s" - -msgid "E468: Completion argument only allowed for custom completion" -msgstr "" -"E468: N cheadatear argint chomhlnaithe ach le comhln saincheaptha" - -msgid "E467: Custom completion requires a function argument" -msgstr "E467: T g le hargint fheidhme le comhln saincheaptha" +msgid "E179: argument required for -complete" +msgstr "E179: t g le hargint i ndiaidh -complete" #, c-format msgid "E181: Invalid attribute: %s" @@ -1209,7 +1205,7 @@ msgstr "E182: Ainm neamhbhail ordaithe" msgid "E183: User defined commands must start with an uppercase letter" msgstr "" -"E183: N folir ceannlitir a bheith ar dts orduithe at sainithe ag an " +"E183: Caithfidh ceannlitir a bheith ar dts orduithe at sainithe ag an " "sideoir" #, c-format @@ -1217,21 +1213,47 @@ msgid "E184: No such user-defined command: %s" msgstr "E184: Nl a leithid d'ord saincheaptha: %s" #, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Luach iomln neamhbhail: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "" +"E468: N cheadatear argint chomhlnaithe ach le comhln saincheaptha" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: T g le hargint fheidhme le comhln saincheaptha" + +#, c-format msgid "E185: Cannot find color scheme %s" msgstr "E185: Scim dathanna %s gan aimsi" msgid "Greetings, Vim user!" msgstr "Dia duit, a sideoir Vim!" +msgid "E784: Cannot close last tab page" +msgstr "E784: N fidir an leathanach cluaisn deiridh a dhnadh" + +msgid "Already only one tab page" +msgstr "Nl ach leathanach cluaisn amhin cheana fin" + msgid "Edit File in new window" msgstr "Cuir comhad in eagar i bhfuinneog nua" +#, c-format +msgid "Tab page %d" +msgstr "Leathanach cluaisn %d" + msgid "No swap file" msgstr "Nl aon chomhad babhtla ann" msgid "Append File" msgstr "Cuir Comhad i nDeireadh" +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" +msgstr "" +"E747: N fidir an chomhadlann a athr, mionathraodh an maoln (cuir ! leis " +"an ord chun sr)" + msgid "E186: No previous directory" msgstr "E186: Nl aon chomhadlann roimhe seo" @@ -1239,17 +1261,17 @@ msgid "E187: Unknown" msgstr "E187: Anaithnid" msgid "E465: :winsize requires two number arguments" -msgstr "E465: n folir dh argint uimhriil le :winsize" +msgstr "E465: n folir dh argint uimhrila le :winsize" #, c-format msgid "Window position: X %d, Y %d" -msgstr "Suomh fuinneoige: X %d, Y %d" +msgstr "Ionad na fuinneoige: X %d, Y %d" msgid "E188: Obtaining window position not implemented for this platform" -msgstr "E188: N fidir suomh fuinneoige a fhil amach ar an chras seo" +msgstr "E188: N fidir ionad na fuinneoige a fhil amach ar an chras seo" msgid "E466: :winpos requires two number arguments" -msgstr "E466: n folir dh argint uimhriil le :winpos" +msgstr "E466: n folir dh argint uimhrila le :winpos" msgid "Save Redirection" msgstr "Sbhil Atreor" @@ -1305,7 +1327,7 @@ msgstr "" "amhin" msgid "E500: Evaluates to an empty string" -msgstr "E500: Meastar seo mar theaghrn folamh" +msgstr "E500: Luachiltear seo mar theaghrn folamh" msgid "E195: Cannot open viminfo file for reading" msgstr "E195: N fidir an comhad viminfo a oscailt chun lamh" @@ -1319,7 +1341,7 @@ msgstr "E608: N fidir eisceachta a :throw le rimr 'Vim'" #. always scroll up, don't overwrite #, c-format msgid "Exception thrown: %s" -msgstr "Eisceacht ginte: %s" +msgstr "Gineadh eisceacht: %s" #, c-format msgid "Exception finished: %s" @@ -1418,7 +1440,10 @@ msgid "E602: :endtry without :try" msgstr "E602: :endtry gan :try" msgid "E193: :endfunction not inside a function" -msgstr "E193: N folir do :endfunction a bheith isteach i bhfeidhm" +msgstr "E193: Caithfidh :endfunction a bheith isteach i bhfeidhm" + +msgid "E788: Not allowed to edit another buffer now" +msgstr "E788: Nl cead agat maoln eile a chur in eagar anois" msgid "tagname" msgstr "clibainm" @@ -1437,17 +1462,19 @@ msgstr "" "\n" "# %s Stair (is nua go dt is sine):\n" +# this gets plugged into the %s in the previous string, +# hence the colon msgid "Command Line" -msgstr "Ainm Orduithe" +msgstr "Lne na nOrduithe:" msgid "Search String" msgstr "Teaghrn Cuardaigh" msgid "Expression" -msgstr "Slonn" +msgstr "Sloinn:" msgid "Input Line" -msgstr "Lne an Ionchuir" +msgstr "Lne an Ionchuir:" msgid "E198: cmd_pchar beyond the command length" msgstr "E198: cmd_pchar os cionn fad an ordaithe" @@ -1464,9 +1491,18 @@ msgstr "is comhadlann " msgid "is not a file" msgstr "n comhad " +msgid "is a device (disabled with 'opendevice' option)" +msgstr "is glas seo (dchumasaithe le rogha 'opendevice')" + msgid "[New File]" msgstr "[Comhad Nua]" +msgid "[New DIRECTORY]" +msgstr "[COMHADLANN nua]" + +msgid "[File too big]" +msgstr "[Comhad rmhr]" + msgid "[Permission Denied]" msgstr "[Cead Diltaithe]" @@ -1474,8 +1510,7 @@ msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: Rinne uathorduithe *ReadPre praiseach as an chomhad" msgid "E201: *ReadPre autocommands must not change current buffer" -msgstr "" -"E201: N cheadatear uathorduithe *ReadPre chun an maoln reatha a athr" +msgstr "E201: N cheadatear d'uathorduithe *ReadPre an maoln reatha a athr" msgid "Vim: Reading from stdin...\n" msgstr "Vim: Ag lamh n ionchur caighdenach...\n" @@ -1497,6 +1532,9 @@ msgstr "[fifo]" msgid "[socket]" msgstr "[soicad]" +msgid "[character special]" +msgstr "[comhad speisialta den chinel carachtar]" + msgid "[RO]" msgstr "[L-A]" @@ -1518,8 +1556,9 @@ msgstr "[tiontaithe]" msgid "[crypted]" msgstr "[criptithe]" -msgid "[CONVERSION ERROR]" -msgstr "[EARRID TIONTAITHE]" +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[EARRID TIONTAITHE i lne %ld]" #, c-format msgid "[ILLEGAL BYTE in line %ld]" @@ -1555,8 +1594,11 @@ msgstr "N cheadatear maolin NetBeans a bheith scrofa go neamhiomln" msgid "is not a file or writable device" msgstr "n comhad n glas inscrofa " +msgid "writing to device disabled with 'opendevice' option" +msgstr "dchumasaodh scrobh chuig glas le rogha 'opendevice'" + msgid "is read-only (add ! to override)" -msgstr "is limh-amhin (cuir ! leis an ord chun sr)" +msgstr "is inlite amhin (cuir ! leis an ord chun sr)" msgid "E506: Can't write to backup file (add ! to override)" msgstr "" @@ -1620,7 +1662,7 @@ msgid " [a]" msgstr " [a]" msgid " appended" -msgstr " curtha leis" +msgstr " iarcheangailte" msgid " [w]" msgstr " [w]" @@ -1710,8 +1752,8 @@ msgid "E246: FileChangedShell autocommand deleted buffer" msgstr "E246: Scrios uathord FileChangedShell an maoln" #, c-format -msgid "E211: Warning: File \"%s\" no longer available" -msgstr "E211: Rabhadh: Nl comhad \"%s\" ar fil feasta" +msgid "E211: File \"%s\" no longer available" +msgstr "E211: Nl comhad \"%s\" ar fil feasta" #, c-format msgid "" @@ -1720,22 +1762,28 @@ msgid "" msgstr "" "W12: Rabhadh: Athraodh comhad \"%s\" agus athraodh an maoln i Vim fosta" +msgid "See \":help W12\" for more info." +msgstr "Bain triail as \":help W12\" chun tuilleadh eolais a fhil." + #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: Rabhadh: Athraodh comhad \"%s\" tosaodh a chur in eagar" +msgid "See \":help W11\" for more info." +msgstr "Bain triail as \":help W11\" chun tuilleadh eolais a fhil." + #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "" "W16: Rabhadh: Athraodh md an chomhaid \"%s\" tosaodh a chur in eagar" +msgid "See \":help W16\" for more info." +msgstr "Bain triail as \":help W16\" chun tuilleadh eolais a fhil." + #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "W13: Rabhadh: Cruthaodh comhad \"%s\" tosaodh a chur in eagar" -msgid "See \":help W11\" for more info." -msgstr "Bain triail as \":help W11\" chun tuilleadh eolais a fhil." - msgid "Warning" msgstr "Rabhadh" @@ -1759,7 +1807,7 @@ msgstr "--Scriosta--" #, c-format msgid "auto-removing autocommand: %s <buffer=%d>" -msgstr "ag baint uathord go huathoibroch: %s <maoln=%d>" +msgstr "uathord bhaint go huathoibroch: %s <maoln=%d>" #. the group doesn't exist #, c-format @@ -1807,7 +1855,6 @@ msgstr "%s Uathorduithe do \"%s\"" msgid "Executing %s" msgstr "%s rith" -#. always scroll up, don't overwrite #, c-format msgid "autocommand %s" msgstr "uathord %s" @@ -1862,6 +1909,30 @@ msgstr "Nor aimsodh aon mhapil" msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: Md neamhcheadaithe" +msgid "E229: Cannot start the GUI" +msgstr "E229: N fidir an GUI a chur ag obair" + +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: N fidir lamh \"%s\"" + +msgid "E665: Cannot start GUI, no valid font found" +msgstr "" +"E665: N fidir an GUI a chur ag obair, nl aon chlfhoireann bhail ann" + +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' neamhbhail" + +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Luach neamhbhail ar 'imactivatekey'" + +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: N fidir dath %s a dhileadh" + +msgid "No match at cursor, finding next" +msgstr "Nl a leithid ag an chrsir, ag cuardach ar an chad cheann eile" + msgid "<cannot open> " msgstr "<n fidir a oscailt> " @@ -1884,41 +1955,17 @@ msgstr "OK" msgid "Cancel" msgstr "Cealaigh" -msgid "Vim dialog" -msgstr "Dialg Vim" - msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." msgstr "" "Giuirlid Scrollbharra: N fidir cimseata an mhapa picteiln a fhil." +msgid "Vim dialog" +msgstr "Dialg Vim" + msgid "E232: Cannot create BalloonEval with both message and callback" msgstr "" "E232: N fidir BalloonEval a chruth le teachtaireacht agus aisghlaoch araon" -msgid "E229: Cannot start the GUI" -msgstr "E229: N fidir an GUI a chur ag obair" - -#, c-format -msgid "E230: Cannot read from \"%s\"" -msgstr "E230: N fidir lamh \"%s\"" - -msgid "E665: Cannot start GUI, no valid font found" -msgstr "" -"E665: N fidir an GUI a chur ag obair, nl aon chlfhoireann bhail ann" - -msgid "E231: 'guifontwide' invalid" -msgstr "E231: 'guifontwide' neamhbhail" - -msgid "E599: Value of 'imactivatekey' is invalid" -msgstr "E599: Luach neamhbhail ar 'imactivatekey'" - -#, c-format -msgid "E254: Cannot allocate color %s" -msgstr "E254: N fidir dath %s a riar" - -msgid "No match at cursor, finding next" -msgstr "Nl a leithid ag an chrsir, ag cuardach ar an chad cheann eile" - msgid "Vim dialog..." msgstr "Dialg Vim..." @@ -1977,6 +2024,15 @@ msgstr "Ionadaigh Uile" msgid "Vim: Received \"die\" request from session manager\n" msgstr "Vim: Fuarthas iarratas \"die\" bhainisteoir an tseisiin\n" +msgid "Close" +msgstr "Dn" + +msgid "New tab" +msgstr "Cluaisn nua" + +msgid "Open Tab..." +msgstr "Oscail Cluaisn..." + msgid "Vim: Main window unexpectedly destroyed\n" msgstr "Vim: Milleadh an promhfhuinneog gan choinne\n" @@ -2048,6 +2104,12 @@ msgstr "E243: Argint gan tacaocht: \"-%s\"; Bain sid as an leagan OLE." msgid "E672: Unable to open window inside MDI application" msgstr "E672: N fidir fuinneog a oscailt isteach i bhfeidhmchlr MDI" +msgid "Close tab" +msgstr "Dn cluaisn" + +msgid "Open tab..." +msgstr "Oscail cluaisn..." + msgid "Find string (use '\\\\' to find a '\\')" msgstr "Aimsigh teaghrn (bain sid as '\\\\' chun '\\' a aimsi)" @@ -2142,6 +2204,100 @@ msgstr "Mid:" msgid "E256: Hangul automata ERROR" msgstr "E256: EARRID leis na huathoibrein Hangul" +msgid "E550: Missing colon" +msgstr "E550: Idirstad ar iarraidh" + +msgid "E551: Illegal component" +msgstr "E551: Comhphirt neamhcheadaithe" + +msgid "E552: digit expected" +msgstr "E552: ag sil le digit" + +#, c-format +msgid "Page %d" +msgstr "Leathanach %d" + +msgid "No text to be printed" +msgstr "Nl aon tacs le priontil" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "Leathanach %d (%d%%) phriontil" + +#, c-format +msgid " Copy %d of %d" +msgstr " Cip %d de %d" + +#, c-format +msgid "Printed: %s" +msgstr "Priontilte: %s" + +msgid "Printing aborted" +msgstr "Priontil tobscortha" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Earrid le linn scrobh chuig aschomhad PostScript" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: N fidir an comhad \"%s\" a oscailt" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: N fidir comhad acmhainne PostScript \"%s\" a lamh" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: Nl comhad \"%s\" ina chomhad acmhainne PostScript" + +#, c-format +msgid "E619: file \"%s\" is not a supported PostScript resource file" +msgstr "E619: T \"%s\" ina chomhad acmhainne PostScript gan tac" + +#, c-format +msgid "E621: \"%s\" resource file has wrong version" +msgstr "E621: T an leagan mcheart ar an gcomhad acmhainne \"%s\"" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Ionchd agus tacar carachtar ilbhirt neamh-chomhoirinach." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "" +"E674: n cheadatear printmbcharset a bheith folamh le hionchd ilbhirt." + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Nor ramhshocraodh cl le haghaidh priontla ilbhirt." + +msgid "E324: Can't open PostScript output file" +msgstr "E324: N fidir aschomhad PostScript a oscailt" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: N fidir an comhad \"%s\" a oscailt" + +msgid "E456: Can't find PostScript resource file \"prolog.ps\"" +msgstr "E456: Comhad acmhainne PostScript \"prolog.ps\" gan aimsi" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: Comhad acmhainne PostScript \"cidfont.ps\" gan aimsi" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: Comhad acmhainne PostScript \"%s.ps\" gan aimsi" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: N fidir an t-ionchd priontla \"%s\" a thiont" + +msgid "Sending to printer..." +msgstr " sheoladh chuig an phrintir..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: Theip ar phriontil comhaid PostScript" + +msgid "Print job sent." +msgstr "Seoladh jab priontla." + msgid "Add a new database" msgstr "Bunachar sonra nua" @@ -2204,15 +2360,15 @@ msgstr "E622: Norbh fhidir forc a dhanamh le haghaidh cscope" msgid "cs_create_connection exec failed" msgstr "theip ar rith cs_create_connection" -msgid "E623: Could not spawn cscope process" -msgstr "E623: Norbh fhidir priseas cscope a sceitheadh" - msgid "cs_create_connection: fdopen for to_fp failed" msgstr "cs_create_connection: theip ar fdopen le haghaidh to_fp" msgid "cs_create_connection: fdopen for fr_fp failed" msgstr "cs_create_connection: theip ar fdopen le haghaidh fr_fp" +msgid "E623: Could not spawn cscope process" +msgstr "E623: Norbh fhidir priseas cscope a sceitheadh" + msgid "E567: no cscope connections" msgstr "E567: nl aon nasc cscope ann" @@ -2223,7 +2379,7 @@ msgstr "" #, c-format msgid "E469: invalid cscopequickfix flag %c for %c" -msgstr "E469: brat neamhbhail cscopequickfix %c le haghaidh %c" +msgstr "E469: bratach neamhbhail cscopequickfix %c le haghaidh %c" msgid "cscope commands:\n" msgstr "Orduithe cscope:\n" @@ -2243,7 +2399,7 @@ msgid "E568: duplicate cscope database not added" msgstr "E568: nor cuireadh bunachar sonra dblach cscope leis" msgid "E569: maximum number of cscope connections reached" -msgstr "E569: n cheadatear nos m n uasmhid na nasc cscope" +msgstr "E569: n cheadatear nos m n an lon uasta nasc cscope" #, c-format msgid "E261: cscope connection %s not found" @@ -2339,6 +2495,9 @@ msgstr "fuinneog neamhbhail" msgid "linenr out of range" msgstr "lne-uimhir as raon" +msgid "not allowed in the Vim sandbox" +msgstr "n cheadatear seo i mbosca gainimh Vim" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2353,7 +2512,7 @@ msgid "can't delete OutputObject attributes" msgstr "n fidir trithe OutputObject a scriosadh" msgid "softspace must be an integer" -msgstr "n folir softspace a bheith ina shlnuimhir" +msgstr "caithfidh softspace a bheith ina shlnuimhir" msgid "invalid attribute" msgstr "aitreabid neamhbhail" @@ -2384,7 +2543,7 @@ msgid "attempt to refer to deleted window" msgstr "rinneadh iarracht ar fhuinneog scriosta a rochtain" msgid "readonly attribute" -msgstr "trith limh-amhin" +msgstr "trith inlite amhin" msgid "cursor position outside buffer" msgstr "crsir taobh amuigh den mhaoln" @@ -2404,12 +2563,33 @@ msgstr "<fuinneog %d>" msgid "no such window" msgstr "nl a leithid d'fhuinneog ann" +msgid "E265: $_ must be an instance of String" +msgstr "E265: caithfidh $_ a bheith cinel Teaghrin" + msgid "" "E266: Sorry, this command is disabled, the Ruby library could not be loaded." msgstr "" "E266: T brn orm, nl an t-ord seo le fil, norbh fhidir an leabharlann " "Ruby a lucht." +msgid "E267: unexpected return" +msgstr "E267: \"return\" gan choinne" + +msgid "E268: unexpected next" +msgstr "E268: \"next\" gan choinne" + +msgid "E269: unexpected break" +msgstr "E269: \"break\" gan choinne" + +msgid "E270: unexpected redo" +msgstr "E270: \"redo\" gan choinne" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: \"retry\" taobh amuigh de chlsal tarrthla" + +msgid "E272: unhandled exception" +msgstr "E272: eisceacht gan limhseil" + #, c-format msgid "E273: unknown longjmp status %d" msgstr "E273: stdas anaithnid longjmp %d" @@ -2473,7 +2653,7 @@ msgid "" "$PATH).\n" msgstr "" "N fidir nasc a dhanamh le SNiFF+. Seiceil do chuid athrga " -"thimpeallachta (n folir sniffemacs a chur i $PATH).\n" +"thimpeallachta (caithfidh t sniffemacs a chur i do $PATH).\n" msgid "E274: Sniff: Error during read. Disconnected" msgstr "E274: Sniff: Earrid sa lamh. Dnasctha" @@ -2504,7 +2684,7 @@ msgid "Sniff: Error during write. Disconnected" msgstr "Sniff: Earrid sa scrobh. Dnasctha" msgid "invalid buffer number" -msgstr "uimhir mhaolin neamhbhail" +msgstr "uimhir neamhbhail mhaolin" msgid "not implemented yet" msgstr "nl ar fil" @@ -2521,7 +2701,7 @@ msgid "row %d column %d" msgstr "lne %d coln %d" msgid "cannot insert/append line" -msgstr "n fidir lne a chur ann/leis" +msgstr "n fidir lne a ions/iarcheangal" msgid "unknown flag: " msgstr "bratach anaithnid: " @@ -2557,7 +2737,7 @@ msgstr "" msgid "" "E571: Sorry, this command is disabled: the Tcl library could not be loaded." msgstr "" -"E571: T brn orm, nl an t-ord seo le fil, norbh fhidir an leabharlann " +"E571: T brn orm, nl an t-ord seo le fil: norbh fhidir an leabharlann " "Tcl a lucht." msgid "" @@ -2566,6 +2746,10 @@ msgstr "" "E281: EARRID TCL: nl an cd scortha ina shlnuimhir!? Seol tuairisc fhabht " "chuig <vim-dev@vim.org> le do thoil" +#, c-format +msgid "E572: exit code %d" +msgstr "E572: cd scortha %d" + msgid "cannot get line" msgstr "n fidir an lne a fhil" @@ -2582,17 +2766,17 @@ msgstr "E573: Aitheantas neamhbhail freastala in sid: %s" msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: Air mchumtha sa chlrlann isc VIM. Scriosta!" -msgid "Unknown option" -msgstr "Rogha anaithnid" +msgid "Unknown option argument" +msgstr "Argint anaithnid rogha" msgid "Too many edit arguments" -msgstr "An iomarca argint eagraithe" +msgstr "An iomarca argint eagarthireachta" msgid "Argument missing after" msgstr "Argint ar iarraidh i ndiaidh" -msgid "Garbage after option" -msgstr "Dramhal i ndiaidh rogha" +msgid "Garbage after option argument" +msgstr "Dramhal i ndiaidh arginte rogha" msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "" @@ -2601,6 +2785,10 @@ msgstr "" msgid "Invalid argument for" msgstr "Argint neamhbhail do" +#, c-format +msgid "%d files to edit\n" +msgstr "%d comhad le heagr\n" + msgid "This Vim was not compiled with the diff feature." msgstr "Nor tiomsaodh an leagan Vim seo le `diff' ar fil." @@ -2613,10 +2801,6 @@ msgstr "N fidir a oscailt chun lamh: \"" msgid "Cannot open for script output: \"" msgstr "N fidir a oscailt le haghaidh an aschuir scripte: \"" -#, c-format -msgid "%d files to edit\n" -msgstr "%d comhad le heagr\n" - msgid "Vim: Error: Failure to start gvim from NetBeans\n" msgstr "Vim: Earrid: Theip ar thos gvim NetBeans\n" @@ -2672,9 +2856,13 @@ msgstr "" "\n" " n:" -msgid "where case is ignored prepend / to make flag upper case" +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" msgstr "" -"nuair nach csogair , cuir / ar tosach brait chun cs uachtair a sid" +"\n" +"Nuair nach csogair , cuir '/' ag tosach na brata chun a chur sa chs " +"uachtair" msgid "" "\n" @@ -2719,7 +2907,7 @@ msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" msgstr "-y\t\t\tMd asca (mar \"evim\", gan mhid)" msgid "-R\t\t\tReadonly mode (like \"view\")" -msgstr "-R\t\t\tMd limh amhin (mar \"view\")" +msgstr "-R\t\t\tMd inlite amhin (mar \"view\")" msgid "-Z\t\t\tRestricted mode (like \"rvim\")" msgstr "-Z\t\t\tMd srianta (mar \"rvim\")" @@ -2742,8 +2930,9 @@ msgstr "-C\t\t\tComhoirinach le Vi: 'compatible'" msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tN comhoirinaithe le Vi go hiomln: 'nocompatible'" -msgid "-V[N]\t\tVerbose level" -msgstr "-V[N]\t\tFoclachas" +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "" +"-V[N][fname]\t\tB foclach [leibhal N] [logil teachtaireachta i fname]" msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tMd dfhabhtaithe" @@ -2787,6 +2976,9 @@ msgstr "-U <gvimrc>\t\tBain sid as <gvimrc> in ionad aon .gvimrc" msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tN luchtaigh breisein" +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tOscail N leathanach cluaisn (default: ceann do gach comhad)" + msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tOscail N fuinneog (ramhshocr: ceann do gach comhad)" @@ -2810,10 +3002,11 @@ msgstr "" "-S <seisin>\t\tLigh comhad <seisin> i ndiaidh an chad chomhad lamh" msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" -msgstr "-s <script>\tLig orduithe gnthmhid n chomhad <script>" +msgstr "-s <script>\tLigh orduithe gnthmhid n chomhad <script>" msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" -msgstr "-w <script>\tCuir gach ord iontrilte leis an gcomhad <script>" +msgstr "" +"-w <script>\tIarcheangail gach ord iontrilte leis an gcomhad <script>" msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "-W <aschur>\tScrobh gach ord clscrofa sa chomhad <aschur>" @@ -2822,7 +3015,7 @@ msgid "-x\t\t\tEdit encrypted files" msgstr "-x\t\t\tCuir comhaid chriptithe in eagar" msgid "-display <display>\tConnect vim to this particular X-server" -msgstr "-display <freastala>\tCeangail vim leis an bhfreastala-X seo" +msgstr "-display <freastala>\tNasc vim leis an bhfreastala-X seo" msgid "-X\t\t\tDo not connect to X server" msgstr "-X\t\t\tN naisc leis an bhfreastala X" @@ -2848,17 +3041,23 @@ msgstr "" "--remote-wait-silent <comhaid> Mar an gcanna, n dan gearn mura bhfuil " "freastala ann" +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <comhaid> Cosil le --remote ach oscail " +"cluaisn do gach comhad" + msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" msgstr "" "--remote-send <eochracha>\tSeol <eochracha> chuig freastala Vim agus scoir" msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" msgstr "" -"--remote-expr <slonn>\tMeas <slonn> le freastala Vim agus taispein an " +"--remote-expr <slonn>\tLuachil <slonn> le freastala Vim agus taispein an " "toradh" msgid "--serverlist\t\tList available Vim server names and exit" -msgstr "--serverlist\t\tTaispein freastalaithe le fil agus scoir" +msgstr "--serverlist\t\tTaispein freastalaithe Vim at ar fil agus scoir" msgid "--servername <name>\tSend to/become the Vim server <name>" msgstr "--servername <ainm>\tSeol chuig/Tigh i do fhreastala Vim <ainm>" @@ -2909,10 +3108,10 @@ msgid "-background <color>\tUse <color> for the background (also: -bg)" msgstr "-background <dath>\tBain sid as <dath> don chlra (-bg fosta)" msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -msgstr "-foreground <dath>\tsid <dath> le haghaidh gnththacs (fosta: -fg)" +msgstr "-foreground <dath>\tsid <dath> le haghaidh gnth-thacs (fosta: -fg)" msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -msgstr "-font <cl>\t\tsid <cl> le haghaidh gnththacs (fosta: -fn)" +msgstr "-font <cl>\t\tsid <cl> le haghaidh gnth-thacs (fosta: -fn)" msgid "-boldfont <font>\tUse <font> for bold text" msgstr "-boldfont <cl>\tBain sid as <cl> do chl trom" @@ -2974,30 +3173,14 @@ msgid "--role <role>\tSet a unique role to identify the main window" msgstr "--role <rl>\tSocraigh rl sainiil chun an phromhfhuinneog a aithint" msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -msgstr "--socketid <xid>\tOscail Vim isteach i nguirlid GTK eile" - -msgid "" -"\n" -"Arguments recognised by kvim (KDE version):\n" -msgstr "" -"\n" -"Argint ar eolas do kvim (leagan KDE):\n" - -msgid "-black\t\tUse reverse video" -msgstr "-black\t\tsid fs aisiompaithe" - -msgid "-tip\t\t\tDisplay the tip dialog on startup" -msgstr "-tip\t\t\tTaispein an dialg leide ar tosach" - -msgid "-notip\t\tDisable the tip dialog" -msgstr "-notip\t\tDchumasaigh an dialg leide" - -msgid "--display <display>\tRun vim on <display>" -msgstr "--display <scilen>\tRith vim ar <scilen>" +msgstr "--socketid <xid>\tOscail Vim isteach i ngiuirlid GTK eile" msgid "-P <parent title>\tOpen Vim inside parent application" msgstr "-P <mthairchlr>\tOscail Vim isteach sa mhthairchlr" +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tOscail Vim isteach i ngiuirlid win32 eile" + msgid "No display" msgstr "Gan taispeint" @@ -3091,7 +3274,7 @@ msgid "E286: Failed to open input method" msgstr "E286: Theip ar oscailt mhodh ionchuir" msgid "E287: Warning: Could not set destroy callback to IM" -msgstr "E287: Rabhadh: Norbh fhidir aisghlaoch scriosta a shocr le IM" +msgstr "E287: Rabhadh: Norbh fhidir aisghlaoch lirscriosta a shocr le IM" msgid "E288: input method doesn't support any style" msgstr "E288: N thacaonn an modh ionchuir aon stl" @@ -3196,7 +3379,10 @@ msgid "" "or the file has been damaged." msgstr "" ",\n" -"is sin n rinneadh damiste don chomhad." +"is sin n rinneadh dochar don chomhad." + +msgid " has been damaged (page size is smaller than minimum value).\n" +msgstr " rinneadh dochar d (mid an leathanaigh nos l n an osmhid).\n" #, c-format msgid "Using swap file \"%s\"" @@ -3265,7 +3451,7 @@ msgstr "" msgid "and run diff with the original file to check for changes)\n" msgstr "" -"agus dan comparid leis an chomhad bunsach (m.sh. le `diff') chun " +"agus dan comparid leis an chomhad bhunsach (m.sh. le `diff') chun " "athruithe a scrd)\n" msgid "" @@ -3314,7 +3500,7 @@ msgid "" " modified: " msgstr "" "\n" -" modhnaithe: " +" mionathraithe: " msgid "YES" msgstr "IS SEA" @@ -3425,6 +3611,10 @@ msgstr "Madaonn an chruach" msgid "E317: pointer block id wrong 2" msgstr "E317: aitheantas mcheart ar an mbloc pointeora 2" +#, c-format +msgid "E773: Symlink loop for \"%s\"" +msgstr "E773: Ciogal i naisc shiombalacha le haghaidh \"%s\"" + msgid "E325: ATTENTION" msgstr "E325: AIRE" @@ -3504,7 +3694,7 @@ msgid "" "&Quit\n" "&Abort" msgstr "" -"&Oscail Limh-Amhin\n" +"&Oscail Inlite Amhin\n" "&Eagraigh mar sin fin\n" "&Athshlnaigh\n" "&Scoir\n" @@ -3514,16 +3704,16 @@ msgid "" "&Open Read-Only\n" "&Edit anyway\n" "&Recover\n" +"&Delete it\n" "&Quit\n" -"&Abort\n" -"&Delete it" +"&Abort" msgstr "" -"&Oscail Limh-Amhin\n" +"&Oscail Inlite Amhin\n" "&Eagraigh mar sin fin\n" "&Athshlnaigh\n" -"S&coir\n" -"&Tobscoir\n" -"&Scrios " +"S&crios \n" +"&Scoir\n" +"&Tobscoir" msgid "E326: Too many swap files found" msgstr "E326: Aimsodh an iomarca comhaid bhabhtla" @@ -3534,8 +3724,13 @@ msgstr "E327: N fo-roghchlr pirt de chonair roghchlir" msgid "E328: Menu only exists in another mode" msgstr "E328: Nl an roghchlr ar fil sa mhd seo" -msgid "E329: No menu of that name" -msgstr "E329: Nl aon roghchlr ann leis an ainm sin" +#, c-format +msgid "E329: No menu \"%s\"" +msgstr "E329: Nl aon roghchlr darbh ainm \"%s\"" + +#. Only a mnemonic or accelerator is not valid. +msgid "E792: Empty menu name" +msgstr "E792: Ainm folamh ar an roghchlr" msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: N cheadatear conair roghchlir a threoraonn go fo-roghchlr" @@ -3585,8 +3780,9 @@ msgstr "Earrid agus %s phriseil:" msgid "line %4ld:" msgstr "lne %4ld:" -msgid "[string too long]" -msgstr "[teaghrn rfhada]" +#, c-format +msgid "E354: Invalid register name: '%s'" +msgstr "E354: Ainm neamhbhail tabhaill: '%s'" msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" msgstr "" @@ -3595,20 +3791,18 @@ msgstr "" msgid "Interrupt: " msgstr "Idirbhriseadh: " -msgid "Hit ENTER to continue" -msgstr "Brigh ENTER le leanint" - -msgid "Hit ENTER or type command to continue" +msgid "Press ENTER or type command to continue" msgstr "Brigh ENTER n iontril ord le leanint" +#, c-format +msgid "%s line %ld" +msgstr "%s lne %ld" + msgid "-- More --" msgstr "-- Tuilleadh --" -msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" -msgstr " (RET/BS: lne, SPS/b: lch, d/u: leathlch, q: scoir)" - -msgid " (RET: line, SPACE: page, d: half page, q: quit)" -msgstr " (RET: lne, SPS: lch, d: leathlch, q: scoir)" +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " SPS/d/j: scilen/leathanach/lne sos, b/u/k: suas, q: scoir " msgid "Question" msgstr "Ceist" @@ -3646,8 +3840,20 @@ msgstr "Dialg `Oscail Comhad'" msgid "E338: Sorry, no file browser in console mode" msgstr "E338: Nl brabhsla comhaid ar fil sa mhd consil" +msgid "E766: Insufficient arguments for printf()" +msgstr "E766: Easpa argint d'fheidhm printf()" + +msgid "E767: Too many arguments to printf()" +msgstr "E767: An iomarca argint d'fheidhm printf()" + msgid "W10: Warning: Changing a readonly file" -msgstr "W10: Rabhadh: Comhad limh-amhin athr" +msgstr "W10: Rabhadh: Comhad inlite amhin athr" + +msgid "Type number or click with mouse (<Enter> cancels): " +msgstr "Clscrobh uimhir n cliceil le do luch (<Enter> = ceal): " + +msgid "Choice number (<Enter> cancels): " +msgstr "Uimhir do rogha (<Enter> = ceal): " msgid "1 more line" msgstr "1 lne eile" @@ -3666,6 +3872,9 @@ msgstr "%ld lne nos l" msgid " (Interrupted)" msgstr " (Idirbhriste)" +msgid "Beep!" +msgstr "Bp!" + msgid "Vim: preserving files...\n" msgstr "Vim: comhaid gcaomhn...\n" @@ -3756,15 +3965,6 @@ msgstr "E346: Nl comhadlann \"%s\" sa cdpath a thuilleadh" msgid "E347: No more file \"%s\" found in path" msgstr "E347: Nl comhad \"%s\" sa chonair a thuilleadh" -msgid "E550: Missing colon" -msgstr "E550: Idirstad ar iarraidh" - -msgid "E551: Illegal component" -msgstr "E551: Comhphirt neamhcheadaithe" - -msgid "E552: digit expected" -msgstr "E552: ag sil le digit" - #. Get here when the server can't be found. msgid "Cannot connect to Netbeans #2" msgstr "N fidir nascadh le Netbeans #2" @@ -3786,6 +3986,12 @@ msgstr "E658: Cailleadh nasc NetBeans le haghaidh maolin %ld" msgid "E505: " msgstr "E505: " +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: 'operatorfunc' folamh" + +msgid "E775: Eval feature not available" +msgstr "E775: Nl an ghn Eval le fil" + msgid "Warning: terminal cannot highlight" msgstr "Rabhadh: n fidir leis an teirminal aibhsi" @@ -3810,18 +4016,22 @@ msgstr "E663: Ag deireadh liosta na n-athruithe" msgid "Type :quit<Enter> to exit Vim" msgstr "Clscrobh :quit<Enter> chun Vim a scor" +# ouch - English -ed ? #, c-format msgid "1 line %sed 1 time" msgstr "1 lne %s uair amhin" +# ouch - English -ed ? #, c-format msgid "1 line %sed %d times" msgstr "1 lne %s %d uair" +# ouch - English -ed ? #, c-format msgid "%ld lines %sed 1 time" msgstr "%ld lne %sed uair amhin" +# ouch - English -ed ? #, c-format msgid "%ld lines %sed %d times" msgstr "%ld lne %sed %d uair" @@ -3837,6 +4047,9 @@ msgstr "eangaodh 1 lne " msgid "%ld lines indented " msgstr "%ld lne eangaithe " +msgid "E748: No previously used register" +msgstr "E748: Nl aon tabhall sidte roimhe seo" + #. must display the prompt msgid "cannot yank; delete anyway" msgstr "n fidir a sracadh; scrios mar sin fin" @@ -3846,16 +4059,23 @@ msgstr "athraodh 1 lne" #, c-format msgid "%ld lines changed" -msgstr "%ld lne athraithe" +msgstr "athraodh %ld lne" #, c-format msgid "freeing %ld lines" msgstr "%ld lne saoradh" +msgid "block of 1 line yanked" +msgstr "sracadh bloc de 1 lne" + msgid "1 line yanked" msgstr "sracadh 1 lne" #, c-format +msgid "block of %ld lines yanked" +msgstr "sracadh bloc de %ld lne" + +#, c-format msgid "%ld lines yanked" msgstr "%ld lne sractha" @@ -3887,10 +4107,6 @@ msgid "E574: Unknown register type %d" msgstr "E574: Cinel anaithnid tabhaill %d" #, c-format -msgid "E354: Invalid register name: '%s'" -msgstr "E354: Ainm neamhbhail tabhaill: '%s'" - -#, c-format msgid "%ld Cols; " msgstr "%ld Coln; " @@ -3937,15 +4153,8 @@ msgstr "E519: Nl an rogha seo ar fil" msgid "E520: Not allowed in a modeline" msgstr "E520: N cheadaithe i mdlne" -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tSocraithe is dana " - msgid "E521: Number required after =" -msgstr "E521: N folir uimhir i ndiaidh =" +msgstr "E521: T g le huimhir i ndiaidh =" msgid "E522: Not found in termcap" msgstr "E522: Gan aimsi sa termcap" @@ -4008,11 +4217,13 @@ msgid "E535: Illegal character after <%c>" msgstr "E535: Carachtar neamhbhail i ndiaidh <%c>" msgid "E536: comma required" -msgstr "E536: n folir camg" +msgstr "E536: t g le camg" #, c-format msgid "E537: 'commentstring' must be empty or contain %s" -msgstr "E537: N cheadatear i 'commentstring' teaghrn neamhfholamh gan %s" +msgstr "" +"E537: n mr %s a bheith i 'commentstring', is sin n n mr d a bheith " +"folamh" msgid "E538: No mouse support" msgstr "E538: Gan tacaocht luiche" @@ -4046,6 +4257,13 @@ msgstr "E594: T g le %d coln ar a laghad" msgid "E355: Unknown option: %s" msgstr "E355: Rogha anaithnid: %s" +#. There's another character after zeros or the string +#. * is empty. In both cases, we are trying to set a +#. * num option using a string. +#, c-format +msgid "E521: Number required: &%s = '%s'" +msgstr "E521: Uimhir de dhth: &%s = '%s'" + msgid "" "\n" "--- Terminal codes ---" @@ -4133,8 +4351,8 @@ msgstr "ANCHOR_BUF_SIZE rbheag." msgid "I/O ERROR" msgstr "EARRID I/A" -msgid "...(truncated)" -msgstr "...(teasctha)" +msgid "Message" +msgstr "Teachtaireacht" msgid "'columns' is not 80, cannot execute external commands" msgstr "n 80 'columns', n fidir orduithe seachtracha a rith" @@ -4186,14 +4404,6 @@ msgstr "Vim: Fuarthas comhartha marfach\n" msgid "Opening the X display took %ld msec" msgstr "Thg %ld ms chun an scilen X a oscailt" -#. KDE sometimes produces X error that we want to ignore -msgid "" -"\n" -"Vim: Got X error but we continue...\n" -msgstr "" -"\n" -"Vim: Fuarthas earrid X ach ar aghaidh linn...\n" - msgid "" "\n" "Vim: Got X error\n" @@ -4209,6 +4419,20 @@ msgstr "Oscailt an scilein X thar am" msgid "" "\n" +"Could not get security context for " +msgstr "" +"\n" +"Norbh fhidir comhthacs slndla a fhil le haghaidh " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Norbh fhidir comhthacs slndla a shocr le haghaidh " + +msgid "" +"\n" "Cannot execute shell " msgstr "" "\n" @@ -4369,9 +4593,6 @@ msgstr "liosta earrid %d as %d; %d earrid" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: N fidir scrobh, rogha 'buftype' socraithe" -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: Patrn n teormharcir neamhbhail cuardaigh" - msgid "E683: File name missing or invalid pattern" msgstr "E683: Ainm comhaid ar iarraidh, n patrn neamhbhail" @@ -4382,6 +4603,9 @@ msgstr "N fidir comhad \"%s\" a oscailt" msgid "E681: Buffer is not loaded" msgstr "E681: Nl an maoln luchtaithe" +msgid "E777: String or List expected" +msgstr "E777: Bhothas ag sil le Teaghrn n Liosta" + #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: mr neamhbhail i %s%%[]" @@ -4412,22 +4636,10 @@ msgid "E55: Unmatched %s)" msgstr "E55: %s) corr" #, c-format -msgid "E56: %s* operand could be empty" -msgstr "E56: is fidir go bhfuil an t-oibreann %s* folamh" - -#, c-format -msgid "E57: %s+ operand could be empty" -msgstr "E57: is fidir go bhfuil an t-oibreann %s+ folamh" - -#, c-format msgid "E59: invalid character after %s@" msgstr "E59: carachtar neamhbhail i ndiaidh %s@" #, c-format -msgid "E58: %s{ operand could be empty" -msgstr "E58: is fidir go bhfuil an t-oibreann %s( folamh" - -#, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: An iomarca %s{...} coimplascach" @@ -4475,6 +4687,10 @@ msgid "E71: Invalid character after %s%%" msgstr "E71: Carachtar neamhbhail i ndiaidh %s%%" #, c-format +msgid "E769: Missing ] after %s[" +msgstr "E769: ] ar iarraidh i ndiaidh %s[" + +#, c-format msgid "E554: Syntax error in %s{...}" msgstr "E554: Earrid chomhrire i %s{...}" @@ -4533,13 +4749,7 @@ msgid " SELECT BLOCK" msgstr " SELECT BLOCK" msgid "recording" -msgstr "ag taifeadadh" - -msgid "search hit TOP, continuing at BOTTOM" -msgstr "Buaileadh an BARR le linn an chuardaigh, ag leanint ag an CHROCH" - -msgid "search hit BOTTOM, continuing at TOP" -msgstr "Buaileadh an BUN le linn an chuardaigh, ag leanint ag an BHARR" +msgstr " thaifeadadh" #, c-format msgid "E383: Invalid search string: %s" @@ -4579,6 +4789,10 @@ msgstr " AR IARRAIDH" msgid "Scanning included file: %s" msgstr "Comhad ceanntisc scanadh: %s" +#, c-format +msgid "Searching included file %s" +msgstr "Comhad ceanntisc %s chuardach" + msgid "E387: Match is on current line" msgstr "E387: T an teaghrn comhoirinaithe ar an lne reatha" @@ -4594,6 +4808,379 @@ msgstr "E388: Sainmhni gan aimsi" msgid "E389: Couldn't find pattern" msgstr "E389: Patrn gan aimsi" +# in .viminfo +#, c-format +msgid "" +"\n" +"# Last %sSearch Pattern:\n" +"~" +msgstr "" +"\n" +"# %sPatrn Cuardaigh Is Dana:\n" +"~" + +msgid "E759: Format error in spell file" +msgstr "E759: Earrid fhormide i gcomhad litrithe" + +msgid "E758: Truncated spell file" +msgstr "E758: Comhad teasctha litrithe" + +#, c-format +msgid "Trailing text in %s line %d: %s" +msgstr "Tacs chun deiridh i %s lne %d: %s" + +#, c-format +msgid "Affix name too long in %s line %d: %s" +msgstr "Ainm foircinn rfhada i %s lne %d: %s" + +msgid "E761: Format error in affix file FOL, LOW or UPP" +msgstr "E761: Earrid fhormide i gcomhad foircinn FOL, LOW, n UPP" + +msgid "E762: Character in FOL, LOW or UPP is out of range" +msgstr "E762: Carachtar i FOL, LOW n UPP as raon" + +msgid "Compressing word tree..." +msgstr "Crann focal chomhbhr..." + +msgid "E756: Spell checking is not enabled" +msgstr "E756: Nl seiceil litrithe cumasaithe" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"Rabhadh: N fidir liosta focal \"%s.%s.spl\" n \"%s.ascii.spl\" a aimsi" + +#, c-format +msgid "Reading spell file \"%s\"" +msgstr "Comhad litrithe \"%s\" lamh" + +msgid "E757: This does not look like a spell file" +msgstr "E757: Nl s cosil le comhad litrithe" + +msgid "E771: Old spell file, needs to be updated" +msgstr "E771: Seanchomhad litrithe, t g lena nuashonr" + +msgid "E772: Spell file is for newer version of Vim" +msgstr "E772: Oibronn an comhad litrithe le leagan nos nua de Vim" + +msgid "E770: Unsupported section in spell file" +msgstr "E770: Rannn gan tacaocht i gcomhad litrithe" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Rabhadh: rigin %s gan tacaocht" + +#, c-format +msgid "Reading affix file %s ..." +msgstr "Comhad foircinn %s lamh..." + +#, c-format +msgid "Conversion failure for word in %s line %d: %s" +msgstr "Theip ar thiont focail i %s lne %d: %s" + +#, c-format +msgid "Conversion in %s not supported: from %s to %s" +msgstr "Tiont i %s gan tacaocht: %s go %s" + +#, c-format +msgid "Conversion in %s not supported" +msgstr "Tiont i %s gan tacaocht" + +#, c-format +msgid "Invalid value for FLAG in %s line %d: %s" +msgstr "Luach neamhbhail ar FLAG i %s lne %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG i ndiaidh bratacha in sid i %s lne %d: %s" + +#, c-format +msgid "" +"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"Seans go bhfaighfidh t tortha mchearta m chuireann t COMPOUNDFORBIDFLAG " +"tar is mre PFX i %s lne %d" + +#, c-format +msgid "" +"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"Seans go bhfaighfidh t tortha mchearta m chuireann t COMPOUNDPERMITFLAG " +"tar is mre PFX i %s lne %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Luach mcheart ar COMPOUNDWORDMAX i %s lne %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Luach mcheart ar COMPOUNDMIN i %s lne %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Luach mcheart ar COMPOUNDSYLMAX i %s lne %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Luach mcheart ar CHECKCOMPOUNDPATTERN i %s lne %d: %s" + +#, c-format +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "Bratach dhifriil cheangail i mbloc leanta foircinn i %s lne %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Clib dhblach i %s lne %d: %s" + +#, c-format +msgid "" +"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " +"line %d: %s" +msgstr "" +"Foirceann in sid le haghaidh BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/" +"NOSUGGEST freisin i %s lne %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "Bhothas ag sil le `Y' n `N' i %s lne %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Coinnoll briste i %s lne %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "Bhothas ag sil le lon na REP(SAL) i %s lne %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "Bhothas ag sil le lon na MAP i %s lne %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Carachtar dblach i MAP i %s lne %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Mr anaithnid n dhblach i %s lne %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Lne FOL/LOW/UPP ar iarraidh i %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "COMPOUNDSYLMAX in sid gan SYLLABLE" + +msgid "Too many postponed prefixes" +msgstr "An iomarca rimreanna curtha siar" + +msgid "Too many compound flags" +msgstr "An iomarca bratach comhfhocail" + +msgid "Too many posponed prefixes and/or compound flags" +msgstr "An iomarca rimreanna curtha siar agus/n bratacha comhfhocal" + +#, c-format +msgid "Missing SOFO%s line in %s" +msgstr "Lne SOFO%s ar iarraidh i %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "Lnte SAL agus SOFO araon i %s" + +#, c-format +msgid "Flag is not a number in %s line %d: %s" +msgstr "N uimhir an bhratach i %s lne %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Bratach neamhcheadaithe i %s lne %d: %s" + +#, c-format +msgid "%s value differs from what is used in another .aff file" +msgstr "T difear idir luach %s agus an luach i gcomhad .aff eile" + +#, c-format +msgid "Reading dictionary file %s ..." +msgstr "Foclir %s lamh ..." + +#, c-format +msgid "E760: No word count in %s" +msgstr "E760: Lon na bhfocal ar iarraidh i %s" + +#, c-format +msgid "line %6d, word %6d - %s" +msgstr "lne %6d, focal %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Focal dblach i %s lne %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "An chad fhocal dblach i %s lne %d: %s" + +#, c-format +msgid "%d duplicate word(s) in %s" +msgstr "%d focal dblach i %s" + +#, c-format +msgid "Ignored %d word(s) with non-ASCII characters in %s" +msgstr "Rinneadh neamhshuim ar %d focal le carachtair neamh-ASCII i %s" + +#, c-format +msgid "Reading word file %s ..." +msgstr "Comhad focail %s lamh ..." + +#, c-format +msgid "Duplicate /encoding= line ignored in %s line %d: %s" +msgstr "Rinneadh neamhshuim ar lne dhblach `/encoding=' i %s lne %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "" +"Rinneadh neamhshuim ar lne `/encoding=' i ndiaidh focail i %s lne %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "Rinneadh neamhshuim ar lne `/regions=' i %s lne %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "An iomarca rigin i %s lne %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "Rinneadh neamhshuim ar lne `/' i %s lne %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Uimhir neamhbhail rigiin i %s lne %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Bratacha anaithnide i %s lne %d: %s" + +#, c-format +msgid "Ignored %d words with non-ASCII characters" +msgstr "Rinneadh neamhshuim ar %d focal le carachtair neamh-ASCII" + +#, c-format +msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +msgstr "Comhbhrdh %d as %d nd; %d (%d%%) fgtha" + +msgid "Reading back spell file..." +msgstr "Comhad litrithe lamh ars..." + +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. +msgid "Performing soundfolding..." +msgstr "Fuaimfhilleadh..." + +#, c-format +msgid "Number of words after soundfolding: %ld" +msgstr "Lon na bhfocal tar is fuaimfhillte: %ld" + +#, c-format +msgid "Total number of words: %d" +msgstr "Lon iomln na bhfocal: %d" + +#, c-format +msgid "Writing suggestion file %s ..." +msgstr "Comhad molta %s scrobh ..." + +#, c-format +msgid "Estimated runtime memory use: %d bytes" +msgstr "Cuimhne measta a bheith in sid le linn rite: %d beart" + +msgid "E751: Output file name must not have region name" +msgstr "E751: N cheadatear ainm rigiin in ainm an aschomhaid" + +msgid "E754: Only up to 8 regions supported" +msgstr "E754: N thacatear le nos m n 8 rigin" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Rigin neamhbhail i %s" + +msgid "Warning: both compounding and NOBREAK specified" +msgstr "Rabhadh: sonraodh comhfhocail agus NOBREAK araon" + +#, c-format +msgid "Writing spell file %s ..." +msgstr "Comhad litrithe %s scrobh ..." + +msgid "Done!" +msgstr "Crochnaithe!" + +#, c-format +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: nl %ld iontril i 'spellfile'" + +#, c-format +msgid "Word removed from %s" +msgstr "Baineadh focal %s" + +#, c-format +msgid "Word added to %s" +msgstr "Cuireadh focal le %s" + +msgid "E763: Word characters differ between spell files" +msgstr "E763: T carachtair dhifrila fhocail sna comhaid litrithe" + +msgid "Sorry, no suggestions" +msgstr "T brn orm, nl aon mholadh ann" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "T brn orm, nl ach %ld moladh ann" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Athraigh \"%.*s\" go:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Nl aon ionada litrithe roimhe seo" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Gan aimsi: %s" + +#, c-format +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Nl s cosil le comhad .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Seanchomhad .sug, t g lena nuashonr: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Oibronn an comhad .sug le leagan nos nua de Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Nl an comhad .sug comhoirinach leis an gcomhad .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: earrid agus comhad .sug lamh: %s" + +#. This should have been checked when generating the .spl +#. * file. +msgid "E783: duplicate char in MAP entry" +msgstr "E783: carachtar dblach in iontril MAP" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Argint neamhcheadaithe: %s" @@ -4652,7 +5239,7 @@ msgid "; match " msgstr "; meaitseil " msgid " line breaks" -msgstr " scoilt idir lnte" +msgstr " bristeacha lne" msgid "E395: contains argument not accepted here" msgstr "E395: t argint ann nach nglactar leis anseo" @@ -4668,7 +5255,11 @@ msgid "E394: Didn't find region item for %s" msgstr "E394: Nor aimsodh mr rigiin le haghaidh %s" msgid "E397: Filename required" -msgstr "E397: N folir ainm comhaid a thabhairt" +msgstr "E397: T g le hainm comhaid" + +#, c-format +msgid "E789: Missing ']': %s" +msgstr "E789: ']' ar iarraidh: %s" #, c-format msgid "E398: Missing '=': %s" @@ -4694,7 +5285,7 @@ msgstr "E403: comhrir sionc: tugadh patrn leanint lne faoi dh" #, c-format msgid "E404: Illegal arguments: %s" -msgstr "Argint neamhcheadaithe: %s" +msgstr "E404: Argint neamhcheadaithe: %s" #, c-format msgid "E405: Missing equal sign: %s" @@ -4801,11 +5392,6 @@ msgstr " # tos cin clib" msgid "file\n" msgstr "comhad\n" -#. * Ask to select a tag from the list. -#. * When using ":silent" assume that <CR> was entered. -msgid "Enter nr of choice (<CR> to abort): " -msgstr "Iontril uimhir do rogha (<Enter>=tobscor): " - msgid "E427: There is only one matching tag" msgstr "E427: T aon chlib chomhoirinach amhin" @@ -4909,15 +5495,60 @@ msgstr "Vim: Earrid agus an t-inchomhad lamh; ag scor...\n" msgid "No undo possible; continue anyway" msgstr "N fidir a cheal; lean ar aghaidh mar sin fin" +msgid "Already at oldest change" +msgstr "Ag an athr is sine cheana" + +msgid "Already at newest change" +msgstr "Ag an athr is nua cheana" + +#, c-format +msgid "Undo number %ld not found" +msgstr "Nor aimsodh ceal uimhir a %ld" + msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: lne-uimhreacha mchearta" -msgid "1 change" -msgstr "1 athr" +msgid "more line" +msgstr "lne eile" + +msgid "more lines" +msgstr "lne eile" + +msgid "line less" +msgstr "lne nos l" + +msgid "fewer lines" +msgstr "lne nos l" + +msgid "change" +msgstr "athr" + +msgid "changes" +msgstr "athr" #, c-format -msgid "%ld changes" -msgstr "%ld athr" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" + +msgid "before" +msgstr "roimh" + +msgid "after" +msgstr "tar is" + +msgid "Nothing to undo" +msgstr "Nl faic le ceal" + +# columns? +msgid "number changes time" +msgstr "uimhir athruithe am" + +#, c-format +msgid "%ld seconds ago" +msgstr "%ld soicind shin" + +msgid "E790: undojoin is not allowed after undo" +msgstr "E790: n cheadatear \"undojoin\" tar is \"undo\"" msgid "E439: undo list corrupt" msgstr "E439: t an liosta cealaithe truaillithe" @@ -4931,14 +5562,21 @@ msgid "" "MS-Windows 16/32 bit GUI version" msgstr "" "\n" -"Leagan GUI 16/32 giotn MS-Fuinneoga" +"Leagan GUI 16/32 giotn MS-Windows" + +msgid "" +"\n" +"MS-Windows 64 bit GUI version" +msgstr "" +"\n" +"Leagan GUI 64 giotn MS-Windows" msgid "" "\n" "MS-Windows 32 bit GUI version" msgstr "" "\n" -"Leagan GUI 32 giotn MS-Fuinneoga" +"Leagan GUI 32 giotn MS-Windows" msgid " in Win32s mode" msgstr " i md Win32s" @@ -4951,14 +5589,14 @@ msgid "" "MS-Windows 32 bit console version" msgstr "" "\n" -"Leagan consil 32 giotn MS-Fuinneoga" +"Leagan consil 32 giotn MS-Windows" msgid "" "\n" "MS-Windows 16 bit version" msgstr "" "\n" -"Leagan 16 giotn MS-Fuinneoga" +"Leagan 16 giotn MS-Windows" msgid "" "\n" @@ -5010,7 +5648,7 @@ msgstr "" "Paist san ireamh: " msgid "Modified by " -msgstr "Athraithe ag " +msgstr "Mionathraithe ag " msgid "" "\n" @@ -5019,8 +5657,9 @@ msgstr "" "\n" "Tiomsaithe " +# with "Tiomsaithe" msgid "by " -msgstr "le " +msgstr "ag " msgid "" "\n" @@ -5096,9 +5735,6 @@ msgstr "le GUI Cocoa." msgid "with (classic) GUI." msgstr "le GUI (clasaiceach)." -msgid "with KDE GUI." -msgstr "le GUI KDE." - msgid " Features included (+) or not (-):\n" msgstr " Gnithe san ireamh (+) n nach bhfuil (-):\n" @@ -5196,7 +5832,7 @@ msgid "menu Help->Orphans for information " msgstr "roghchlr Help->Orphans chun eolas a fhil " msgid "Running modeless, typed text is inserted" -msgstr "Ag rith gan mhid, ag ions an tacs at iontrilte" +msgstr " rith gan mhid, ag ions an tacs at iontrilte" # same problem --kps msgid "menu Edit->Global Settings->Toggle Insert Mode " @@ -5233,6 +5869,9 @@ msgstr "RABHADH: Braitheadh Windows 95/98/ME" msgid "type :help windows95<Enter> for info on this" msgstr "clscrobh :help windows95<Enter> chun eolas a fhil " +msgid "Already only one window" +msgstr "Nl ach aon fhuinneog amhin ann cheana" + msgid "E441: There is no preview window" msgstr "E441: Nl aon fhuinneog ramhamhairc ann" @@ -5245,9 +5884,6 @@ msgstr "E443: N fidir rothl nuair at fuinneog eile scoilte" msgid "E444: Cannot close last window" msgstr "E444: N fidir an fhuinneog dheiridh a dhnadh" -msgid "Already only one window" -msgstr "Nl ach aon fhuinneog amhin ann cheana" - msgid "E445: Other window contains changes" msgstr "E445: T athruithe ann san fhuinneog eile" @@ -5264,11 +5900,11 @@ msgstr "E370: Norbh fhidir an leabharlann %s a oscailt" msgid "Sorry, this command is disabled: the Perl library could not be loaded." msgstr "" -"T brn orm, nl an t-ord seo le fil, norbh fhidir an leabharlann Perl a " +"T brn orm, nl an t-ord seo le fil: norbh fhidir an leabharlann Perl a " "lucht." msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -msgstr "E299: N cheadatear meas Perl i mbosca gainimh gan an modl Safe" +msgstr "E299: N cheadatear luachil Perl i mbosca gainimh gan an modl Safe" msgid "Edit with &multiple Vims" msgstr "Cuir in eagar le Vimeanna io&madla" @@ -5302,13 +5938,15 @@ msgstr "Conair rfhada!" msgid "--No lines in buffer--" msgstr "--T an maoln folamh--" +#. #. * The error messages that can be shared are included here. #. * Excluded are errors that are only used once and debugging messages. +#. msgid "E470: Command aborted" msgstr "E470: Ord tobscortha" msgid "E471: Argument required" -msgstr "E471: N folir argint" +msgstr "E471: T g le hargint" msgid "E10: \\ should be followed by /, ? or &" msgstr "E10: Ba chir /, ? n & a chur i ndiaidh \\" @@ -5404,7 +6042,7 @@ msgstr "E20: Marc gan socr" msgid "E21: Cannot make changes, 'modifiable' is off" msgstr "" -"E21: N fidir athruithe a chur i bhfeidhm, nl an brat 'modifiable' " +"E21: N fidir athruithe a chur i bhfeidhm, nl an bhratach 'modifiable' " "socraithe" msgid "E22: Scripts nested too deep" @@ -5526,6 +6164,9 @@ msgstr "E459: N fidir a fhilleadh ar an chomhadlann roimhe seo" msgid "E42: No Errors" msgstr "E42: Nl Aon Earrid Ann" +msgid "E776: No location list" +msgstr "E776: Gan liosta suomh" + msgid "E43: Damaged match string" msgstr "E43: Teaghrn cuardaigh loite" @@ -5537,11 +6178,11 @@ msgstr "E45: t an rogha 'readonly' socraithe (cuir ! leis an ord chun sr)" #, c-format msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: N fidir athrg limh-amhin \"%s\" a athr" +msgstr "E46: N fidir athrg inlite amhin \"%s\" a athr" #, c-format -msgid "E46: Cannot set variable in the sandbox: \"%s\"" -msgstr "E46: N fidir athrg a shocr sa bhosca gainimh: \"%s\"" +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: N fidir athrg a shocr sa bhosca gainimh: \"%s\"" msgid "E47: Error while reading errorfile" msgstr "E47: Earrid agus comhad earride lamh" @@ -5613,14 +6254,135 @@ msgid "E463: Region is guarded, cannot modify" msgstr "E463: Rigin cosanta, n fidir a athr" msgid "E744: NetBeans does not allow changes in read-only files" -msgstr "E744: N cheadaonn NetBeans aon athr i gcomhaid limh-amhin" +msgstr "E744: N cheadaonn NetBeans aon athr i gcomhaid inlite amhin" #, c-format msgid "E685: Internal error: %s" msgstr "E685: Earrid inmhenach: %s" -msgid "E361: Crash intercepted; regexp too complex?" -msgstr "E361: Ceapadh tuairt; slonn ionadaochta rchasta?" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: sideann an patrn nos m cuimhne n 'maxmempattern'" + +msgid "E749: empty buffer" +msgstr "E749: maoln folamh" + +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Patrn n teormharcir neamhbhail cuardaigh" + +msgid "E139: File is loaded in another buffer" +msgstr "E139: T an comhad luchtaithe i maoln eile" + +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: Rogha '%s' gan socr" + +msgid "search hit TOP, continuing at BOTTOM" +msgstr "Buaileadh an BARR le linn an chuardaigh, ag leanint ag an CHROCH" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "Buaileadh an BUN le linn an chuardaigh, ag leanint ag an BHARR" + +#~ msgid "-V[N]\t\tVerbose level" +#~ msgstr "-V[N]\t\tFoclachas" + +#~ msgid "[Error List]" +#~ msgstr "[Liosta Earrid]" + +#~ msgid "" +#~ "\n" +#~ "Arguments recognised by kvim (KDE version):\n" +#~ msgstr "" +#~ "\n" +#~ "Argint ar eolas do kvim (leagan KDE):\n" + +#~ msgid "-black\t\tUse reverse video" +#~ msgstr "-black\t\tsid fs aisiompaithe" + +#~ msgid "-tip\t\t\tDisplay the tip dialog on startup" +#~ msgstr "-tip\t\t\tTaispein an dialg leide ar tosach" + +#~ msgid "-notip\t\tDisable the tip dialog" +#~ msgstr "-notip\t\tDchumasaigh an dialg leide" + +#~ msgid "--display <display>\tRun vim on <display>" +#~ msgstr "--display <scilen>\tRith vim ar <scilen>" + +#~ msgid "" +#~ "&Open Read-Only\n" +#~ "&Edit anyway\n" +#~ "&Recover\n" +#~ "&Quit\n" +#~ "&Abort\n" +#~ "&Delete it" +#~ msgstr "" +#~ "&Oscail Inlite Amhin\n" +#~ "&Eagraigh mar sin fin\n" +#~ "&Athshlnaigh\n" +#~ "S&coir\n" +#~ "&Tobscoir\n" +#~ "&Scrios " + +#~ msgid "...(truncated)" +#~ msgstr "...(teasctha)" + +#~ msgid "" +#~ "\n" +#~ "Vim: Got X error but we continue...\n" +#~ msgstr "" +#~ "\n" +#~ "Vim: Fuarthas earrid X ach ar aghaidh linn...\n" + +#~ msgid "Character used for SLASH must be ASCII; in %s line %d: %s" +#~ msgstr "" +#~ "N mr do charachtar a sidtear ar SLASH a bheith ASCII; i %s lne %d: %s" + +#~ msgid "%ld changes" +#~ msgstr "%ld athr" + +#~ msgid "with KDE GUI." +#~ msgstr "le GUI KDE." + +#~ msgid "E757: Wrong file ID in spell file" +#~ msgstr "E757: Aitheantas mcheart comhaid i gcomhad litrithe" + +#~ msgid "Duplicate FOL in %s line %d" +#~ msgstr "FOL dblach i %s lne %d" + +#~ msgid "Duplicate LOW in %s line %d" +#~ msgstr "LOW dblach i %s lne %d" + +#~ msgid "Duplicate UPP in %s line %d" +#~ msgstr "UPP dblach i %s lne %d" + +#~ msgid "E130: Undefined function: %s" +#~ msgstr "E130: Feidhm gan sainmhni: %s" + +#~ msgid "[string too long]" +#~ msgstr "[teaghrn rfhada]" + +#~ msgid "Hit ENTER to continue" +#~ msgstr "Brigh ENTER le leanint" + +#~ msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" +#~ msgstr " (RET/BS: lne, SPS/b: lch, d/u: leathlch, q: scoir)" + +#~ msgid " (RET: line, SPACE: page, d: half page, q: quit)" +#~ msgstr " (RET: lne, SPS: lch, d: leathlch, q: scoir)" + +#~ msgid "E56: %s* operand could be empty" +#~ msgstr "E56: is fidir go bhfuil an t-oibreann %s* folamh" + +#~ msgid "E57: %s+ operand could be empty" +#~ msgstr "E57: is fidir go bhfuil an t-oibreann %s+ folamh" + +#~ msgid "E58: %s{ operand could be empty" +#~ msgstr "E58: is fidir go bhfuil an t-oibreann %s( folamh" + +#~ msgid "Enter nr of choice (<CR> to abort): " +#~ msgstr "Iontril uimhir do rogha (<Enter>=tobscor): " + +#~ msgid "E361: Crash intercepted; regexp too complex?" +#~ msgstr "E361: Ceapadh tuairt; slonn ionadaochta rchasta?" -msgid "E363: pattern caused out-of-stack error" -msgstr "E363: ghin an patrn earrid as-an-chruach" +#~ msgid "E363: pattern caused out-of-stack error" +#~ msgstr "E363: ghin an patrn earrid as-an-chruach" diff --git a/src/po/it.po b/src/po/it.po index 04ea6571d..c04383c1f 100644 --- a/src/po/it.po +++ b/src/po/it.po @@ -11,9 +11,9 @@ # msgid "" msgstr "" -"Project-Id-Version: vim 7.0\n" -"POT-Creation-Date: 2007-04-29 13:02+0200\n" -"PO-Revision-Date: 2007-04-29 18:02+0200\n" +"Project-Id-Version: vim 7.1\n" +"POT-Creation-Date: 2008-06-20 23:58+0200\n" +"PO-Revision-Date: 2008-06-21 06:00+0200\n" "Last-Translator: Vlad Sandrini <vlad.gently@gmail.com>\n" "Language-Team: Italian" " Antonio Colombo <azc100@gmail.com>" @@ -323,7 +323,7 @@ msgstr "corrispondenza %d di %d" #, c-format msgid "match %d" -msgstr "corripondenza %d" +msgstr "corrispondenza %d" msgid "E18: Unexpected characters in :let" msgstr "E18: Caratteri non previsti in :let" @@ -351,10 +351,10 @@ msgid "E713: Cannot use empty key for Dictionary" msgstr "E713: Non posso usare una chiave nulla per il Dizionario" msgid "E714: List required" -msgstr "E714: E' necessaria una Lista" +msgstr "E714: necessaria una Lista" msgid "E715: Dictionary required" -msgstr "E715: E' necessario un Dizionario" +msgstr "E715: necessario un Dizionario" #, c-format msgid "E118: Too many arguments for function: %s" @@ -418,7 +418,7 @@ msgid "E711: List value has not enough items" msgstr "E711: Il valore Lista non ha elementi sufficienti" msgid "E690: Missing \"in\" after :for" -msgstr "E69: Manca \"in\" dopo :for" +msgstr "E690: Manca \"in\" dopo :for" #, c-format msgid "E107: Missing braces: %s" @@ -667,7 +667,7 @@ msgstr "" #, c-format msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Non posso eliminare la funzione %s: E' in uso" +msgstr "E131: Non posso eliminare la funzione %s: in uso" msgid "E132: Function call depth is higher than 'maxfuncdepth'" msgstr "" @@ -829,6 +829,20 @@ msgstr "" "opzione 'readonly' attiva per \"%s\".\n" "Vuoi scrivere comunque?" +#, c-format +msgid "" +"File permissions of \"%s\" are read-only.\n" +"It may still be possible to write it.\n" +"Do you wish to try?" +msgstr "" +"I permessi di \"%s\" sono di sola lettura.\n" +"Questo potrebbe non impedire la scrittura.\n" +"Vuoi provare?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: \"%s\" in sola lettura (aggiungi ! per eseguire comunque)" + msgid "Edit File" msgstr "Elabora File" @@ -926,7 +940,7 @@ msgstr "E670: Codifiche diverse fra file di aiuto nella stessa lingua: %s" #, c-format msgid "E154: Duplicate tag \"%s\" in file %s/%s" -msgstr "E154: Tag duplicata \"%s\" nel file %s/%s" +msgstr "E154: Tag duplicato \"%s\" nel file %s/%s" #, c-format msgid "E160: Unknown sign command: %s" @@ -1231,7 +1245,7 @@ msgstr "Non posso creare un file di swap" msgid "Append File" msgstr "In aggiunta al File" -msgid "E747: Cannot change directory, buffer is modifed (add ! to override)" +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: Non posso cambiare directory, buffer modificato (aggiungi ! per " "eseguire comunque)" @@ -1473,8 +1487,8 @@ msgstr " una directory" msgid "is not a file" msgstr "non un file" -msgid "is a device (disabled with 'opendevice' option" -msgstr " una periferica (disabilitata con l'opzione 'opendevice'" +msgid "is a device (disabled with 'opendevice' option)" +msgstr " una periferica (disabilitata con l'opzione 'opendevice')" msgid "[New File]" msgstr "[File nuovo]" @@ -1489,7 +1503,7 @@ msgid "[Permission Denied]" msgstr "[Tipo di accesso non consentito]" msgid "E200: *ReadPre autocommands made the file unreadable" -msgstr "E200: Gli autocomand *ReadPre hanno reso il file illeggibile" +msgstr "E200: Gli autocomandi *ReadPre hanno reso il file illeggibile" msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: Gli autocomandi *ReadPre non devono modificare il buffer in uso" @@ -1513,6 +1527,9 @@ msgstr "[fifo]" msgid "[socket]" msgstr "[socket]" +msgid "[character special]" +msgstr "[character special]" + msgid "[RO]" msgstr "[Sola Lettura]" @@ -1576,7 +1593,7 @@ msgid "writing to device disabled with 'opendevice' option" msgstr "scrittura su periferica disabilitata con l'opzione 'opendevice'" msgid "is read-only (add ! to override)" -msgstr " in sola letture (aggiungi ! per eseguire comunque)" +msgstr " in sola lettura (aggiungi ! per eseguire comunque)" msgid "E506: Can't write to backup file (add ! to override)" msgstr "" @@ -1661,7 +1678,7 @@ msgid "E206: patchmode: can't touch empty original file" msgstr "E206: patchmode: non posso alterare il file vuoto originale" msgid "E207: Can't delete backup file" -msgstr "E193: Non riesco a cancellare il file di backup" +msgstr "E207: Non riesco a cancellare il file di backup" msgid "" "\n" @@ -1733,7 +1750,7 @@ msgid "E210: Error reading \"%s\"" msgstr "E210: Errore in lettura di \"%s\"" msgid "E246: FileChangedShell autocommand deleted buffer" -msgstr "E246: L'autocomando 'FileChnagedShell' ha cancellato il buffer" +msgstr "E246: L'autocomando 'FileChangedShell' ha cancellato il buffer" #, c-format msgid "E211: File \"%s\" no longer available" @@ -1790,7 +1807,7 @@ msgstr "--Cancellato--" #, c-format msgid "auto-removing autocommand: %s <buffer=%d>" -msgstr "auto-rimozione dell'autocommand: %s <buffer=%d>" +msgstr "auto-rimozione dell'autocomando: %s <buffer=%d>" #. the group doesn't exist #, c-format @@ -2287,7 +2304,7 @@ msgid "Kill a connection" msgstr "Termina una connessione" msgid "Reinit all connections" -msgstr "Rinizializza tutte le connessioni" +msgstr "Reinizializza tutte le connessioni" msgid "Show connections" msgstr "Visualizza connessioni" @@ -2303,7 +2320,7 @@ msgid "E562: Usage: cstag <ident>" msgstr "E562: Uso: cstag <ident>" msgid "E257: cstag: tag not found" -msgstr "E257: cstag: tag non trovata" +msgstr "E257: cstag: tag non trovato" #, c-format msgid "E563: stat(%s) error: %d" @@ -2336,15 +2353,15 @@ msgstr "E622: Non riesco a fare fork per cscope" msgid "cs_create_connection exec failed" msgstr "cs_create_connection exec fallita" -msgid "E623: Could not spawn cscope process" -msgstr "E623: Non riesco a generare processo cscope" - msgid "cs_create_connection: fdopen for to_fp failed" msgstr "cs_create_connection: fdopen di to_fp fallita" msgid "cs_create_connection: fdopen for fr_fp failed" msgstr "cs_create_connection: fdopen di fr_fp fallita" +msgid "E623: Could not spawn cscope process" +msgstr "E623: Non riesco a generare processo cscope" + msgid "E567: no cscope connections" msgstr "E567: nessuna connessione cscope" @@ -2407,7 +2424,7 @@ msgid "E609: Cscope error: %s" msgstr "E609: Errore cscope: %s" msgid "All cscope databases reset" -msgstr "Tutti i databese cscope annullati" +msgstr "Tutti i database cscope annullati" msgid "no cscope connections\n" msgstr "nessuna connessione cscope\n" @@ -2473,6 +2490,19 @@ msgstr "numero linea non nell'intervallo" msgid "not allowed in the Vim sandbox" msgstr "non ammesso in ambiente protetto" +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Non posso caricare la libreria %s" + +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"Spiacente, comando non disponibile, non riesco a caricare libreria programmi " +"Perl." + +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "" +"E299: Valorizzazione Perl vietata in ambiente protetto senza il modulo Safe" + msgid "" "E263: Sorry, this command is disabled, the Python library could not be " "loaded." @@ -2505,8 +2535,8 @@ msgid "line number out of range" msgstr "numero linea non nell'intervallo" #, c-format -msgid "<buffer object (deleted) at %8lX>" -msgstr "<buffer oggetto (cancellato) a %8lX>" +msgid "<buffer object (deleted) at %p>" +msgstr "<buffer oggetto (cancellato) a %p>" msgid "invalid mark name" msgstr "nome di mark non valido" @@ -2524,12 +2554,12 @@ msgid "cursor position outside buffer" msgstr "posizione cursore fuori dal buffer" #, c-format -msgid "<window object (deleted) at %.8lX>" -msgstr "<finestra oggetto (cancellata) a %.8lX>" +msgid "<window object (deleted) at %p>" +msgstr "<finestra oggetto (cancellata) a %p>" #, c-format -msgid "<window object (unknown) at %.8lX>" -msgstr "<finestra oggetto (sconosciuta) a %.8lX>" +msgid "<window object (unknown) at %p>" +msgstr "<finestra oggetto (sconosciuta) a %p>" #, c-format msgid "<window %d>" @@ -2809,7 +2839,7 @@ msgid "- read text from stdin" msgstr "- leggi testo da 'stdin'" msgid "-t tag edit file where tag is defined" -msgstr "-t tag apri file in cui definita la tag" +msgstr "-t tag apri file in cui definito il tag" msgid "-q [errorfile] edit file with first error" msgstr "-q [errorfile] apri file col primo errore" @@ -2833,9 +2863,12 @@ msgstr "" "\n" " o:" -msgid "where case is ignored prepend / to make flag upper case" +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" msgstr "" -"quando si ignorano maiusc./minusc. preporre / per rendere il flag maiusc." +"\n" +"Quando si ignorano maiusc./minusc. preporre / per rendere il flag maiusc." msgid "" "\n" @@ -2903,8 +2936,8 @@ msgstr "-C\t\t\tCompatibile con Vi: 'compatible'" msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tNon interamente compatibile con Vi: 'nocompatible'" -msgid "-V[N]\t\tVerbose level" -msgstr "-V[N]\t\tLivello Verbosit" +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "-V[N][fname]\t\tVerbosit [livello N] [log su file fname]" msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tModalit Debug" @@ -3008,8 +3041,11 @@ msgid "" msgstr "" "--remote-wait-silent <file> Stessa cosa, ignora se non esiste un server" -msgid "--remote-tab <files> As --remote but open tab page for each file" -msgstr "--remote-tab <file> Come --remote ma apre una linguetta per ogni file" +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <file> Come --remote ma apre una linguetta per " +"file" msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" msgstr "--remote-send <tasti>\tInvia <tasti> a un server Vim ed esci" @@ -3132,11 +3168,14 @@ msgstr "" "principale" msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -msgstr "--socketid <xid>\tApri Vim dentro un altro 'widget' GTK" +msgstr "--socketid <xid>\tApri Vim dentro un altro widget GTK" msgid "-P <parent title>\tOpen Vim inside parent application" msgstr "-P <titolo padre>\tApri Vim in un'applicazione padre" +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tApri Vim dentro un altro widget win32" + msgid "No display" msgstr "Manca display" @@ -3282,7 +3321,7 @@ msgstr "E302: Non riesco a rinominare lo swap file" #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "" -"E303: Non riesco ad aprile lo swap file per \"%s\", recupero impossible" +"E303: Non riesco ad aprile lo swap file per \"%s\", recupero impossibile" msgid "E304: ml_upd_block0(): Didn't get block 0??" msgstr "E304: ml_upd_block0(): Non riesco a leggere blocco 0??" @@ -3555,7 +3594,7 @@ msgid "E323: line count wrong in block %ld" msgstr "E323: contatore linee errato nel blocco %ld" msgid "Stack size increases" -msgstr "Dimensione 'stack' aumentata" +msgstr "Dimensione stack aumentata" msgid "E317: pointer block id wrong 2" msgstr "E317: ID blocco puntatori errato 2" @@ -4054,15 +4093,15 @@ msgstr "%ld Col.; " #, c-format msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" -msgstr "Selezionate %s%ld di %ld linee; %ld di %ld parole; %ld di %ld caratt." +msgstr "Selezionate %s%ld di %ld Linee; %ld di %ld Parole; %ld di %ld Caratt." #, c-format msgid "" "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld " "Bytes" msgstr "" -"Selezionate %s%ld di %ld linee; %ld di %ld parole; %ld di %ld caratt.; %ld " -"di %ld bytes" +"Selezionate %s%ld di %ld Linee; %ld di %ld Parole; %ld di %ld Caratt.; %ld " +"di %ld Bytes" #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" @@ -4195,6 +4234,13 @@ msgstr "E594: Servono almeno %d colonne" msgid "E355: Unknown option: %s" msgstr "E355: Opzione inesistente: %s" +#. There's another character after zeros or the string +#. * is empty. In both cases, we are trying to set a +#. * num option using a string. +#, c-format +msgid "E521: Number required: &%s = '%s'" +msgstr "E521: Ci vuole un numero: &%s = '%s'" + msgid "" "\n" "--- Terminal codes ---" @@ -4347,6 +4393,20 @@ msgstr "Apertura visualizzazione X: tempo scaduto" msgid "" "\n" +"Could not get security context for " +msgstr "" +"\n" +"Non posso ottenere il contesto di sicurezza per " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Non posso impostare il contesto di sicurezza per " + +msgid "" +"\n" "Cannot execute shell " msgstr "" "\n" @@ -4448,7 +4508,7 @@ msgid "" "See :help win32-vimrun for more information." msgstr "" "VIMRUN.EXE non trovato nel tuo $PATH.\n" -"I comandi esterni non farano una pausa dopo aver finito l'esecuzione.\n" +"I comandi esterni non faranno una pausa dopo aver finito l'esecuzione.\n" "Vedi :help win32-vimrun per ulteriori informazioni." msgid "Vim Warning" @@ -4489,10 +4549,10 @@ msgid " (line deleted)" msgstr " (linea cancellata)" msgid "E380: At bottom of quickfix stack" -msgstr "E380: Al fondo della 'stack' di quickfix" +msgstr "E380: Al fondo dello stack di quickfix" msgid "E381: At top of quickfix stack" -msgstr "E381: In cima alla 'stack' di quickfix" +msgstr "E381: In cima allo stack di quickfix" #, c-format msgid "error list %d of %d; %d errors" @@ -5092,7 +5152,7 @@ msgid "syncing on C-style comments" msgstr "sincronizzo i commenti nello stile C" msgid "no syncing" -msgstr "nessuna ssincronizzazione" +msgstr "nessuna sincronizzazione" msgid "syncing starts " msgstr "la sincronizzazione inizia " @@ -5270,17 +5330,17 @@ msgid "W18: Invalid character in group name" msgstr "W18: Carattere non ammesso in un nome di gruppo" msgid "E555: at bottom of tag stack" -msgstr "E555: al fondo della 'stack' delle tag" +msgstr "E555: al fondo dello stack dei tag" msgid "E556: at top of tag stack" -msgstr "E556: in cima alla 'stack' delle tag" +msgstr "E556: in cima allo stack dei tag" msgid "E425: Cannot go before first matching tag" -msgstr "E425: Non posso andare prima della prima tag corrispondente" +msgstr "E425: Non posso andare prima del primo tag corrispondente" #, c-format msgid "E426: tag not found: %s" -msgstr "E426: tag non trovata: %s" +msgstr "E426: tag non trovato: %s" msgid " # pri kind tag" msgstr " # pri tipo tag" @@ -5289,10 +5349,10 @@ msgid "file\n" msgstr "file\n" msgid "E427: There is only one matching tag" -msgstr "E427: C' solo una tag corrispondente" +msgstr "E427: C' solo un tag corrispondente" msgid "E428: Cannot go beyond last matching tag" -msgstr "E428: Non posso andare oltre l'ultima tag corrispondente" +msgstr "E428: Non posso andare oltre l'ultimo tag corrispondente" #, c-format msgid "File \"%s\" does not exist" @@ -5454,24 +5514,24 @@ msgstr "E440: linea di 'undo' mancante" #. Only MS VC 4.1 and earlier can do Win32s msgid "" "\n" -"MS-Windows 16/32 bit GUI version" +"MS-Windows 16/32-bit GUI version" msgstr "" "\n" -"versione MS-Windows 16/32 bit GUI" +"versione MS-Windows 16/32-bit GUI" msgid "" "\n" -"MS-Windows 64 bit GUI version" +"MS-Windows 64-bit GUI version" msgstr "" "\n" -"Versione MS-Windows 64 bit GUI" +"Versione MS-Windows 64-bit GUI" msgid "" "\n" -"MS-Windows 32 bit GUI version" +"MS-Windows 32-bit GUI version" msgstr "" "\n" -"Versione MS-Windows 32 bit GUI" +"Versione MS-Windows 32-bit GUI" msgid " in Win32s mode" msgstr " in modalit Win32s" @@ -5481,31 +5541,38 @@ msgstr " con supporto OLE" msgid "" "\n" -"MS-Windows 32 bit console version" +"MS-Windows 64-bit console version" msgstr "" "\n" -"Versione MS-Windows 32 bit console" +"Versione MS-Windows 64-bit console" msgid "" "\n" -"MS-Windows 16 bit version" +"MS-Windows 32-bit console version" msgstr "" "\n" -"Versione MS-Windows 16 bit" +"Versione MS-Windows 32-bit console" msgid "" "\n" -"32 bit MS-DOS version" +"MS-Windows 16-bit version" msgstr "" "\n" -"Version MS-DOS 32 bit" +"Versione MS-Windows 16-bit" msgid "" "\n" -"16 bit MS-DOS version" +"32-bit MS-DOS version" msgstr "" "\n" -"Versione MS-DOS 16 bit" +"Version MS-DOS 32-bit" + +msgid "" +"\n" +"16-bit MS-DOS version" +msgstr "" +"\n" +"Versione MS-DOS 16-bit" msgid "" "\n" @@ -5783,19 +5850,6 @@ msgstr "E446: Nessun nome file sotto il cursore" msgid "E447: Can't find file \"%s\" in path" msgstr "E447: Non riesco a trovare il file \"%s\" nel percorso" -#, c-format -msgid "E370: Could not load library %s" -msgstr "E370: Non posso caricare la libreria %s" - -msgid "Sorry, this command is disabled: the Perl library could not be loaded." -msgstr "" -"Spiacente, comando non disponibile, non riesco a caricare libreria programmi " -"Perl." - -msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -msgstr "" -"E299: Valorizzazione Perl vietata in ambiente protetto senza il modulo Safe" - msgid "Edit with &multiple Vims" msgstr "Apri con &molti Vim" diff --git a/src/po/ru.cp1251.po b/src/po/ru.cp1251.po index 2f9b96a7f..3415cad8f 100644 --- a/src/po/ru.cp1251.po +++ b/src/po/ru.cp1251.po @@ -393,13 +393,13 @@ msgid "called inputrestore() more often than inputsave()" msgstr " inputrestore() , inputsave()" msgid "E655: Too many symbolic links (cycle?)" -msgstr "E656: (?)" +msgstr "E655: (?)" msgid "E240: No connection to Vim server" msgstr "E240: Vim" msgid "E277: Unable to read a server reply" -msgstr "E227: " +msgstr "E277: " msgid "E258: Unable to send to client" msgstr "E258: " @@ -1867,7 +1867,7 @@ msgstr "" "\n" msgid "E256: Hangul automata ERROR" -msgstr "256 " +msgstr "E256: " msgid "Add a new database" msgstr " " @@ -1902,7 +1902,7 @@ msgstr "E257: cstag: " #, c-format msgid "E563: stat(%s) error: %d" -msgstr " stat(%s): %d" +msgstr "E563: stat(%s): %d" msgid "E563: stat error" msgstr "E563: stat" @@ -3054,7 +3054,7 @@ msgid "E316: ml_get: cannot find line %ld" msgstr "E316: ml_get: %ld" msgid "E317: pointer block id wrong 3" -msgstr " 3" +msgstr "E317: 3" msgid "stack_idx should be 0" msgstr " stack_idx 0" @@ -3467,7 +3467,7 @@ msgid "E662: At start of changelist" msgstr "E662: " msgid "E663: At end of changelist" -msgstr "E662: " +msgstr "E663: " msgid "Type :quit<Enter> to exit Vim" msgstr " :quit<Enter> Vim" @@ -3787,7 +3787,7 @@ msgid "'columns' is not 80, cannot execute external commands" msgstr " 'columns' 80, " msgid "E237: Printer selection failed" -msgstr "E327: " +msgstr "E237: " #, c-format msgid "to %s on %s" @@ -5027,7 +5027,7 @@ msgid "E19: Mark has invalid line number" msgstr "E19: " msgid "E20: Mark not set" -msgstr " " +msgstr "E20: " msgid "E21: Cannot make changes, 'modifiable' is off" msgstr "E21: , 'modifiable'" diff --git a/src/po/ru.po b/src/po/ru.po index d3eee7ebd..9a6310750 100644 --- a/src/po/ru.po +++ b/src/po/ru.po @@ -393,13 +393,13 @@ msgid "called inputrestore() more often than inputsave()" msgstr "Функция inputrestore() вызывается чаще, чем функция inputsave()" msgid "E655: Too many symbolic links (cycle?)" -msgstr "E656: Слишком много символических ссылок (цикл?)" +msgstr "E655: Слишком много символических ссылок (цикл?)" msgid "E240: No connection to Vim server" msgstr "E240: Нет связи с сервером Vim" msgid "E277: Unable to read a server reply" -msgstr "E227: Сервер не отвечает" +msgstr "E277: Сервер не отвечает" msgid "E258: Unable to send to client" msgstr "E258: Не могу ответить клиенту" @@ -1867,7 +1867,7 @@ msgstr "" "\n" msgid "E256: Hangul automata ERROR" -msgstr "У256Ж ОШИБКА автоматики Хангыл" +msgstr "E256: ОШИБКА автоматики Хангыл" msgid "Add a new database" msgstr "Добавить новую базу данных" @@ -1902,7 +1902,7 @@ msgstr "E257: cstag: метка не найдена" #, c-format msgid "E563: stat(%s) error: %d" -msgstr "ошибка stat(%s): %d" +msgstr "E563: ошибка stat(%s): %d" msgid "E563: stat error" msgstr "E563: ошибка stat" @@ -3054,7 +3054,7 @@ msgid "E316: ml_get: cannot find line %ld" msgstr "E316: ml_get: невозможно найти строку %ld" msgid "E317: pointer block id wrong 3" -msgstr "неправильное значение указателя блока 3" +msgstr "E317: неправильное значение указателя блока 3" msgid "stack_idx should be 0" msgstr "значение stack_idx должно быть равно 0" @@ -3467,7 +3467,7 @@ msgid "E662: At start of changelist" msgstr "E662: В начале списка изменений" msgid "E663: At end of changelist" -msgstr "E662: В конце списка изменений" +msgstr "E663: В конце списка изменений" msgid "Type :quit<Enter> to exit Vim" msgstr "Введите :quit<Enter> для выхода из Vim" @@ -3787,7 +3787,7 @@ msgid "'columns' is not 80, cannot execute external commands" msgstr "Значение опции 'columns' не равно 80, внешние программы не выполняются" msgid "E237: Printer selection failed" -msgstr "E327: Неудачное завершение выбора принтера" +msgstr "E237: Неудачное завершение выбора принтера" #, c-format msgid "to %s on %s" @@ -5027,7 +5027,7 @@ msgid "E19: Mark has invalid line number" msgstr "E19: Отметка указывает на неправильный номер строки" msgid "E20: Mark not set" -msgstr "Отметка не определена" +msgstr "E20: Отметка не определена" msgid "E21: Cannot make changes, 'modifiable' is off" msgstr "E21: Изменения невозможны, так как отключена опция 'modifiable'" diff --git a/src/po/sv.po b/src/po/sv.po index 6e44881ec..7a61e402d 100644 --- a/src/po/sv.po +++ b/src/po/sv.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Vim 7.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-05-09 14:27+0200\n" -"PO-Revision-Date: 2007-05-09 14:52%z\n" +"PO-Revision-Date: 2007-05-09 14:52\n" "Last-Translator: Johan Svedberg <johan@svedberg.com>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "MIME-Version: 1.0\n" @@ -1222,7 +1222,7 @@ msgstr "Ingen vxlingsfil" msgid "Append File" msgstr "Lgg till fil" -msgid "E747: Cannot change directory, buffer is modifed (add ! to override)" +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: Kan inte ndra katalog, buffert r ndrad (lgg till ! fr att tvinga)" @@ -1460,8 +1460,8 @@ msgstr "r en katalog" msgid "is not a file" msgstr "r inte en fil" -msgid "is a device (disabled with 'opendevice' option" -msgstr "r en enhet (inaktiverad med 'opendevice'-flagga" +msgid "is a device (disabled with 'opendevice' option)" +msgstr "r en enhet (inaktiverad med 'opendevice'-flagga)" msgid "[New File]" msgstr "[Ny fil]" diff --git a/src/po/uk.po b/src/po/uk.po index 70f881bd1..d369c8e65 100644 --- a/src/po/uk.po +++ b/src/po/uk.po @@ -5,1074 +5,1478 @@ # # Thanks to: # Dmytro Kovalov <dmytro.kovalov@nssmb.com> for useful suggestions -# Dmytro O. Redchuk <dor@kiev-online.net> for viminfo bug +# Dmytro O. Redchuk <dor@kiev-online.net> for viminfo bug # # Please, see readme at htpp://www.vstu.edu.ua/~bohdan/vim before any # complains, and even if you won't complain, read it anyway. # msgid "" msgstr "" -"Project-Id-Version: vim 6.0\n" -"POT-Creation-Date: 2002-01-10 09:03+0200\n" -"PO-Revision-Date: 2001-10-16 13:34+0300\n" -"Last-Translator: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n" +"Project-Id-Version: vim 7.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-03-01 10:47+0200\n" +"PO-Revision-Date: 2008-03-07 13:57+0300\n" +"Last-Translator: Анатолій Сахнік <sakhnik@gmail.com>\n" "Language-Team: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=koi8-u\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "E82: Cannot allocate any buffer, exiting..." -msgstr "E82: Ԧ ͦ , ..." +msgstr "E82: Немає можливості розмістити хоч один буфер, завершення роботи..." msgid "E83: Cannot allocate buffer, using other one..." -msgstr "E83: Ԧ ͦ , ..." +msgstr "E83: Немає можливості розмістити буфер, буде використано інший..." -msgid "No buffers were unloaded" -msgstr " Ҧ " +msgid "E515: No buffers were unloaded" +msgstr "E515: Жоден з буферів не був вивантажений" -msgid "No buffers were deleted" -msgstr " Ҧ " +msgid "E516: No buffers were deleted" +msgstr "E516: Жоден з буферів не знищено" -msgid "No buffers were wiped out" -msgstr " Ҧ " +msgid "E517: No buffers were wiped out" +msgstr "E517: Жоден з буферів не витерто" msgid "1 buffer unloaded" -msgstr " " +msgstr "Вивантажено один буфер" #, c-format msgid "%d buffers unloaded" -msgstr " Ҧ -- %d" +msgstr "Вивантажено буферів -- %d" msgid "1 buffer deleted" -msgstr " " +msgstr "Знищено один буфер" #, c-format msgid "%d buffers deleted" -msgstr " Ҧ -- %d" +msgstr "Знищено %d буфери(ів)" msgid "1 buffer wiped out" -msgstr " " +msgstr "Витерто один буфер" #, c-format msgid "%d buffers wiped out" -msgstr " Ҧ -- %d" +msgstr "Витерто %d буфер(и)ів" msgid "E84: No modified buffer found" -msgstr "E84: ͦ" +msgstr "E84: Жоден буфер не змінено" #. back where we started, didn't find anything. msgid "E85: There is no listed buffer" -msgstr "E85: Ҧ" +msgstr "E85: У списку немає буферів" #, c-format -msgid "E86: Cannot go to buffer %ld" -msgstr "E86: %ld" +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Буферу %ld немає" msgid "E87: Cannot go beyond last buffer" -msgstr "E87: " +msgstr "E87: Це вже останній буфер" msgid "E88: Cannot go before first buffer" -msgstr "E88: Φ " +msgstr "E88: Це вже найперший буфер" #, c-format -msgid "E89: No write since last change for buffer %ld (use ! to override)" -msgstr "" -"E89: %ld Ц ϧ ͦ ( ! " -")" +msgid "E89: No write since last change for buffer %ld (add ! to override)" +msgstr "E89: Буфер %ld має зміни (! щоб не зважати)" msgid "E90: Cannot unload last buffer" -msgstr "E90: Φ " +msgstr "E90: Не можу вивантажити останній буфер" msgid "W14: Warning: List of file names overflow" -msgstr "W14: : ̦ " +msgstr "W14: Обережно: Список назв файлів переповнено" #, c-format msgid "E92: Buffer %ld not found" -msgstr "E92: %ld " +msgstr "E92: Буфер %ld не знайдено" #, c-format msgid "E93: More than one match for %s" -msgstr "E93: ¦ Φ Ҧ %s" +msgstr "E93: Знайдено кілька збігів з %s" #, c-format msgid "E94: No matching buffer for %s" -msgstr "E94: ҦԦ %s" +msgstr "E94: Не знайдено буфер, схожий на %s" #, c-format msgid "line %ld" -msgstr " %ld" +msgstr "рядок %ld" msgid "E95: Buffer with this name already exists" -msgstr "E95: դ" +msgstr "E95: Буфер з такою назвою вже існує" msgid " [Modified]" -msgstr "[ͦ]" +msgstr " [Змінено]" msgid "[Not edited]" -msgstr "[ ]" +msgstr "[Не редаговано]" msgid "[New file]" -msgstr "[ ]" +msgstr "[Новий файл]" msgid "[Read errors]" -msgstr "[ ]" +msgstr "[Помилка зчитування]" msgid "[readonly]" -msgstr "[ ]" +msgstr "[лише читати]" +#, c-format msgid "1 line --%d%%--" -msgstr " --%d%%--" +msgstr "один рядок --%d%%--" +#, c-format msgid "%ld lines --%d%%--" -msgstr "(˦: %ld) --%d%%--" +msgstr "%ld рядки(ів) --%d%%--" +#, c-format msgid "line %ld of %ld --%d%%-- col " -msgstr " %ld %ld --%d%%-- " +msgstr "рядок %ld з %ld --%d%%-- колонка " -msgid "[No file]" -msgstr "[ ]" +msgid "[No Name]" +msgstr "[Без назви]" #. must be a help buffer msgid "help" -msgstr "" +msgstr "допомога" -msgid "[help]" -msgstr "[]" +msgid "[Help]" +msgstr "[Допомога]" msgid "[Preview]" -msgstr "[]" +msgstr "[Перегляд]" msgid "All" -msgstr "" +msgstr "Усе" msgid "Bot" -msgstr "" +msgstr "Знизу" msgid "Top" -msgstr "Ҧ" +msgstr "Вгорі" +#, c-format msgid "" "\n" "# Buffer list:\n" msgstr "" "\n" -"# Ҧ:\n" +"# Список буферів:\n" -msgid "[Error List]" -msgstr "[ ]" +msgid "[Location List]" +msgstr "[Список місць]" -msgid "[No File]" -msgstr "[ ]" +msgid "[Quickfix List]" +msgstr "[Список виправлень]" msgid "" "\n" "--- Signs ---" msgstr "" "\n" -"--- ---" +"--- Позначки ---" #, c-format msgid "Signs for %s:" -msgstr " %s:" +msgstr "Позначки для %s:" #, c-format msgid " line=%ld id=%d name=%s" -msgstr " =%ld id=%d '=%s" +msgstr " рядок=%ld id=%d назва=%s" #, c-format msgid "E96: Can not diff more than %ld buffers" -msgstr "E96: Ҧ %ld Ҧ " +msgstr "E96: Не зміг порівняти понад %ld буфери(ів) " msgid "E97: Cannot create diffs" -msgstr "E97: diff'" +msgstr "E97: Не зміг створити порівняння" msgid "Patch file" -msgstr "patch-" +msgstr "Латка" msgid "E98: Cannot read diff output" -msgstr "E98: diff'" +msgstr "E98: Не зміг прочитати результат diff" msgid "E99: Current buffer is not in diff mode" -msgstr "E99: ͦ diff" +msgstr "E99: Цей буфер не в режимі порівняння" + +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: Немає більше модифіковних буферів в режимі порівняння" msgid "E100: No other buffer in diff mode" -msgstr "E100: Ҧ ͦ diff" +msgstr "E100: Немає інших буферів в режимі порівняння" msgid "E101: More than two buffers in diff mode, don't know which one to use" -msgstr "" -"E101: ͦ diff, ͦ " -"" +msgstr "E101: Понад два буфери у режимі порівняння, не зрозуміло, котрий із них використати" #, c-format msgid "E102: Can't find buffer \"%s\"" -msgstr "E102: \"%s\" " +msgstr "E102: Не зміг знайти буфер \"%s\"" #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" -msgstr "E103: \"%s\" ͦ diff" +msgstr "E103: Буфер \"%s\" не в режимі порівняння" + +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: Буфер несподівано змінився" msgid "E104: Escape not allowed in digraph" -msgstr "E104: ͦ Escape" +msgstr "E104: У диграфах не може міститися escape" -msgid "Keymap file not found" -msgstr " צ " +msgid "E544: Keymap file not found" +msgstr "E544: Не знайдено файлу розкладки" msgid "E105: Using :loadkeymap not in a sourced file" -msgstr "E105: :loadkeymap ̦ " +msgstr "E105: :loadkeymap використано не у файлі команд" -msgid " Keyword completion (^N/^P)" -msgstr " ̦ (^N/^P)" +msgid "E791: Empty keymap entry" +msgstr "E791: Елемент розкладки порожній" + +msgid " Keyword completion (^N^P)" +msgstr " Доповнення ключових слів (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -msgid " ^X mode (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)" -msgstr " ^X (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)" +msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" +msgstr " Режим ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" -#. Scroll has it's own msgs, in it's place there is the msg for local -#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL) -- Acevedo -msgid " Keyword Local completion (^N/^P)" -msgstr " ͦ ̦ (^N/^P)" +msgid " Whole line completion (^L^N^P)" +msgstr " Доповнення усього рядка (^L^N^P)" -msgid " Whole line completion (^L/^N/^P)" -msgstr " (^L/^N/^P)" +msgid " File name completion (^F^N^P)" +msgstr " Доповнення назви файлу (^F^N^P)" -msgid " File name completion (^F/^N/^P)" -msgstr " Φ (^F/^N/^P)" +msgid " Tag completion (^]^N^P)" +msgstr " Доповнення теґів (^]^N^P)" -msgid " Tag completion (^]/^N/^P)" -msgstr " ͦ (^]/^N/^P)" +msgid " Path pattern completion (^N^P)" +msgstr " Доповнення шляху за зразком (^N^P)" -msgid " Path pattern completion (^N/^P)" -msgstr " (^N/^P)" +msgid " Definition completion (^D^N^P)" +msgstr " Доповнення визначення (^D^N^P)" -msgid " Definition completion (^D/^N/^P)" -msgstr " (^D/^N/^P)" +msgid " Dictionary completion (^K^N^P)" +msgstr " Доповнення зі словника (^K^N^P)" -msgid " Dictionary completion (^K/^N/^P)" -msgstr " (^K/^N/^P)" +msgid " Thesaurus completion (^T^N^P)" +msgstr " Доповнення з тезаурусу (^T^N^P)" -msgid " Thesaurus completion (^T/^N/^P)" -msgstr " (^T/^N/^P)" +msgid " Command-line completion (^V^N^P)" +msgstr " Доповнення команд (^V^N^P)" -msgid " Command-line completion (^V/^N/^P)" -msgstr " (^V/^N/^P)" +msgid " User defined completion (^U^N^P)" +msgstr " Користувацьке доповнення (^U^N^P)" -msgid "Hit end of paragraph" -msgstr " ˦ " +msgid " Omni completion (^O^N^P)" +msgstr " Кмітливе доповнення (^O^N^P)" -msgid "'thesaurus' option is empty" -msgstr "æ 'thesaurus' " +msgid " Spelling suggestion (s^N^P)" +msgstr " Орфографічна підказка (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Доповнення місцевих ключових слів (^N^P)" + +msgid "Hit end of paragraph" +msgstr "Трапився кінець параграфа" msgid "'dictionary' option is empty" -msgstr "æ 'dictionary' " +msgstr "Опція 'dictionary' порожня" + +msgid "'thesaurus' option is empty" +msgstr "Опція 'thesaurus' порожня" #, c-format msgid "Scanning dictionary: %s" -msgstr " Ҧ: %s" +msgstr "Скануємо словник: %s" msgid " (insert) Scroll (^E/^Y)" -msgstr " () (^E/^Y)" +msgstr " (вставка) Прогорнути (^E/^Y)" msgid " (replace) Scroll (^E/^Y)" -msgstr " (ͦ) (^E/^Y)" +msgstr " (заміна) Прогорнути (^E/^Y)" #, c-format msgid "Scanning: %s" -msgstr " : %s" +msgstr "Пошук у: %s" +#, c-format msgid "Scanning tags." -msgstr " ͦ." +msgstr "Пошук серед теґів." msgid " Adding" -msgstr " " +msgstr " Додаємо" #. showmode might reset the internal line pointers, so it must #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. msgid "-- Searching..." -msgstr "-- ..." +msgstr "-- Пошук..." msgid "Back at original" -msgstr " Ҧ" +msgstr "Початковий варіант" msgid "Word from other line" -msgstr " " +msgstr "Слово з іншого рядка" msgid "The only match" -msgstr " Ҧ" +msgstr "Єдиний збіг" #, c-format msgid "match %d of %d" -msgstr " Ҧ %d %d" +msgstr "збіг %d з %d" #, c-format msgid "match %d" -msgstr "Ҧ %d" +msgstr "збіг %d" + +# msgstr "E17: " +msgid "E18: Unexpected characters in :let" +msgstr "E18: Неочікувані символи у :let" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: Індекс списку поза межами: %ld" + +#, c-format +msgid "E121: Undefined variable: %s" +msgstr "E121: Невизначена змінна: %s" + +msgid "E111: Missing ']'" +msgstr "E111: Бракує ']'" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Аргумент у %s має бути списком" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Аргумент у %s має бути списком чи словником" + +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Ключ словника не може бути порожнім" + +# msgstr "E396: " +msgid "E714: List required" +msgstr "E714: Потрібен список" + +msgid "E715: Dictionary required" +msgstr "E715: Потрібен словник" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Забагато аргументів для функції: %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Немає такого ключа у словнику: %s" + +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Функція %s уже існує, ! щоб замінити" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Запис у словнику вже існує" + +msgid "E718: Funcref required" +msgstr "E718: Треба посилання на функцію" + +msgid "E719: Cannot use [:] with a Dictionary" +msgstr "E719: Не можна використати [:] зі словником" + +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Неправильний тип змінної для %s=" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Невідома функція: %s" #, c-format -msgid "E106: Unknown variable: \"%s\"" -msgstr "E106: צ ͦ: \"%s\"" +msgid "E461: Illegal variable name: %s" +msgstr "E461: Неприпустима назва змінної: %s" + +msgid "E687: Less targets than List items" +msgstr "E687: Цілей менше, ніж елементів списку" + +msgid "E688: More targets than List items" +msgstr "E688: Цілей більше, ніж елементів списку" + +msgid "Double ; in list of variables" +msgstr "Друга ; у списку змінних" + +# msgstr "E235: " +#, c-format +msgid "E738: Can't list variables for %s" +msgstr "E738: Не можна перелічити змінні у %s" + +msgid "E689: Can only index a List or Dictionary" +msgstr "E689: Індексний доступ може бути тільки до списку чи словника" + +msgid "E708: [:] must come last" +msgstr "E708: [:] має бути останньою" + +msgid "E709: [:] requires a List value" +msgstr "E709: [:] вимагає список" + +msgid "E710: List value has more items than target" +msgstr "E710: Список має більше елементів, ніж ціль" + +msgid "E711: List value has not enough items" +msgstr "E711: Список має недостатньо елементів" + +msgid "E690: Missing \"in\" after :for" +msgstr "E690: Відсутнє \"in\" після :for" #, c-format msgid "E107: Missing braces: %s" -msgstr "E107: : %s" +msgstr "E107: Пропущено дужки: %s" #, c-format msgid "E108: No such variable: \"%s\"" -msgstr "E108: ͦ դ: \"%s\"" +msgstr "E108: Змінної немає: \"%s\"" + +msgid "E743: variable nested too deep for (un)lock" +msgstr "E743: Змінна має забагато вкладень, щоб бути за-/відкритою." msgid "E109: Missing ':' after '?'" -msgstr "E109: ':' Ц '?'" +msgstr "E109: Бракує ':' після '?'" + +msgid "E691: Can only compare List with List" +msgstr "E691: Список можна порівняти тільки зі списком" + +msgid "E692: Invalid operation for Lists" +msgstr "E692: Некоректна операція над списком" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Словник можна порівняти тільки із словником" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Некоректна операція над словником" + +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Функцію можна порівняти тільки із функцією" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Некоректна операція над функцією" msgid "E110: Missing ')'" -msgstr "E110: ')'" +msgstr "E110: Пропущено ')'" -msgid "E111: Missing ']'" -msgstr "E111: ']'" +msgid "E695: Cannot index a Funcref" +msgstr "E695: Функція не має індексації" #, c-format msgid "E112: Option name missing: %s" -msgstr "E112: æ: %s" +msgstr "E112: Бракує назви опції: %s" #, c-format msgid "E113: Unknown option: %s" -msgstr "E113: צ æ: %s" +msgstr "E113: Невідома опція: %s" #, c-format msgid "E114: Missing quote: %s" -msgstr "E114: : %s" +msgstr "E114: Бракує '\"': %s" #, c-format msgid "E115: Missing quote: %s" -msgstr "E115: '\"': %s" +msgstr "E115: Бракує \"'\": %s" +# msgstr "E404: " #, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: צΦ æ %s" +msgid "E696: Missing comma in List: %s" +msgstr "E696: Бракує коми у списку: %s" #, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: צ æ: %s" +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Немає кінцівки списку ']': %s" +# msgstr "E235: " #, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Ԧ æ %s" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Бракує двокрапки у словнику: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Повторення ключа в словнику: \"%s\"" + +# msgstr "E235: " +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Бракує коми у словнику: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Немає кінцівки словника '}': %s" + +# msgstr "E21: " +msgid "E724: variable nested too deep for displaying" +msgstr "E724: У змінній занадто багато вкладень, щоб її показати" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Невідома функція: %s" #, c-format msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Ԧ æ %s" +msgstr "E119: Замало аргументів для функції %s" #, c-format msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: <SID> դ ̦ : %s" +msgstr "E120: <SID> використовується не у контексті скрипту: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Виклик dict-функції без словника: %s" + +msgid "E699: Too many arguments" +msgstr "E699: Забагато аргументів" + +# msgstr "E327: " +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() можна вживати тільки в режимі вставки" + +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. +msgid "&Ok" +msgstr "&O:Гаразд" + +# msgstr "E226: " +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Ключ вже існує: %s" #, c-format msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld: " +msgstr "+-%s%3ld рядків: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Невідома функція: %s" msgid "" "&OK\n" "&Cancel" msgstr "" -"&O:\n" -"&C:ͦ" +"&O:Гаразд\n" +"&C:Скасувати" + +msgid "called inputrestore() more often than inputsave()" +msgstr "Виклики до inputrestore() частіше, ніж до inputsave()" + +# msgstr "E406: " +msgid "E786: Range not allowed" +msgstr "E786: Інтервал не дозволено" + +# msgstr "E177: " +msgid "E701: Invalid type for len()" +msgstr "E701: Некоректний тип для len()" + +msgid "E726: Stride is zero" +msgstr "E726: Крок нульовий" + +msgid "E727: Start past end" +msgstr "E727: Початок за кінцем" + +msgid "<empty>" +msgstr "<нічого>" msgid "E240: No connection to Vim server" -msgstr "E240: ' Vim-" +msgstr "E240: Немає з'єднання із сервером Vim" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Не зміг відіслати до %s" msgid "E277: Unable to read a server reply" -msgstr "E277: צצ " +msgstr "E277: Не зміг прочитати відповідь сервера" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Забагато символьних посилань (цикл?)" msgid "E258: Unable to send to client" -msgstr "E258: Ц ̦" +msgstr "E258: Не зміг надіслати клієнту" -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: Ц %s" +# msgstr "E364: " +msgid "E702: Sort compare function failed" +msgstr "E702: Помилка у функції порівняння" msgid "(Invalid)" -msgstr "()" +msgstr "(Неможливо)" + +msgid "E677: Error writing temp file" +msgstr "E677: Не вдалося записати тимчасовий файл" + +msgid "E703: Using a Funcref as a number" +msgstr "E703: Функцію вжито як число" + +msgid "E745: Using a List as a number" +msgstr "E745: Список вжито як число" + +msgid "E728: Using a Dictionary as a number" +msgstr "E728: Словник вжито як число" + +msgid "E729: using Funcref as a String" +msgstr "E729: Функцію вжито як рядок" + +# msgstr "E373: " +msgid "E730: using List as a String" +msgstr "E730: Список вжито як рядок" + +msgid "E731: using Dictionary as a String" +msgstr "E731: Словник вжито як рядок" #, c-format -msgid "E121: Undefined variable: %s" -msgstr "E121: ͦ: %s" +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: Назва змінної-функції має починатися з великої літери: %s" + +#, c-format +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Назва змінної співпадає з існуючою функцією: %s" + +#, c-format +msgid "E706: Variable type mismatch for: %s" +msgstr "E706: Неправильний тип змінної: %s" + +#, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: Не можна знищити змінну %s" #, c-format -msgid "E122: Function %s already exists, use ! to replace" -msgstr "E122: æ %s դ ( ! ͦ)" +msgid "E741: Value is locked: %s" +msgstr "E741: Значення захищене: %s" + +msgid "Unknown" +msgstr "Невідомо" #, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: æ: %s" +msgid "E742: Cannot change value of %s" +msgstr "E742: Не можна змінити значення %s" + +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: Змінна вкладена занадто глибоко, щоб зробити її копію" #, c-format msgid "E124: Missing '(': %s" -msgstr "E124: դ '(': %s" +msgstr "E124: Бракує '(': %s" #, c-format msgid "E125: Illegal argument: %s" -msgstr "E125: : %s" +msgstr "E125: Недозволений аргумент: %s" msgid "E126: Missing :endfunction" -msgstr "E126: դ :endfunction" +msgstr "E126: Бракує :endfunction" #, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: ͦ æ %s: դ" - -#, c-format -msgid "E128: Function name must start with a capital: %s" -msgstr "E128: æ ϧ ̦: %s" +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Назва функції не збігається з назвою файлу скрипту: %s" msgid "E129: Function name required" -msgstr "E129: æ" - -msgid "function " -msgstr "æ " +msgstr "E129: Не вказано назву функції" #, c-format -msgid "E130: Undefined function: %s" -msgstr "E130: æ: %s" +msgid "E128: Function name must start with a capital or contain a colon: %s" +msgstr "E128: Назва функції має починатися з великої літери або містити двокрапку: %s" #, c-format msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: æ %s: դ" +msgstr "E131: Не зміг знищити функцію %s: Вона використовується" msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: ˦ æ դ 'maxfuncdepth'" +msgstr "E132: Глибина викликів функції перевищує 'maxfuncdepth'" -#. always scroll up, don't overwrite #, c-format msgid "calling %s" -msgstr " %s" +msgstr "викликається %s" -#. always scroll up, don't overwrite #, c-format -msgid "continuing in %s" -msgstr " %s" - -msgid "E133: :return not inside a function" -msgstr "E133: :return æ" +msgid "%s aborted" +msgstr "%s припинено" #, c-format msgid "%s returning #%ld" -msgstr "%s #%ld" +msgstr "%s повертає #%ld" #, c-format -msgid "%s returning \"%s\"" -msgstr "%s \"%s\"" +msgid "%s returning %s" +msgstr "%s повертає %s" + +#, c-format +msgid "continuing in %s" +msgstr "продовження в %s" + +msgid "E133: :return not inside a function" +msgstr "E133: :return поза межами функції" +#, c-format msgid "" "\n" "# global variables:\n" msgstr "" "\n" -"# Φ ͦΦ:\n" +"# глобальні змінні:\n" + +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tВостаннє змінена у " -msgid "Entering Debug mode. Type \"cont\" to leave." -msgstr " . \"cont\" ." +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Режим налагодження. Щоб продовжити введіть \"cont\"." #, c-format msgid "line %ld: %s" -msgstr " %ld: %s" +msgstr "рядок %ld: %s" #, c-format msgid "cmd: %s" -msgstr ": %s" +msgstr "команда: %s" #, c-format msgid "Breakpoint in \"%s%s\" line %ld" -msgstr " \"%s%s\" %ld" +msgstr "Точка зупинки в \"%s%s\" рядок %ld" #, c-format msgid "E161: Breakpoint not found: %s" -msgstr "E161: : %s" +msgstr "E161: Точку зупинки не знайдено: %s" msgid "No breakpoints defined" -msgstr "ϧ " +msgstr "Не визначено жодної точки зупинки" #, c-format msgid "%3d %s %s line %ld" -msgstr "%3d %s %s %ld" +msgstr "%3d %s %s рядок %ld" + +msgid "E750: First use :profile start <fname>" +msgstr "E750: Спочатку виконайте :profile start <файл>" msgid "Save As" -msgstr "' " +msgstr "Зберегти як" #, c-format -msgid "Save changes to \"%.*s\"?" -msgstr "' ͦ \"%.*s\"?" +msgid "Save changes to \"%s\"?" +msgstr "Зберегти зміни в \"%s\"?" msgid "Untitled" -msgstr "" +msgstr "Неназваний" #, c-format msgid "E162: No write since last change for buffer \"%s\"" -msgstr "E162: Ц ϧ ͦ \"%s\"" +msgstr "E162: Буфер \"%s\" має незбережені зміни" msgid "Warning: Entered other buffer unexpectedly (check autocommands)" -msgstr "" -": Ħ (צ )" +msgstr "Обережно: Несподівано опинилися у іншому буфері (перевірте автокоманди)" msgid "E163: There is only one file to edit" -msgstr "E163: դ" +msgstr "E163: Редагується лише один файл" msgid "E164: Cannot go before first file" -msgstr "E164: Φ " +msgstr "E164: Це вже найперший файл" msgid "E165: Cannot go beyond last file" -msgstr "E165: " +msgstr "E165: Це вже останній файл" + +#, c-format +msgid "E666: compiler not supported: %s" +msgstr "E666: Компілятор не підтримується: %s" # msgstr "E195: " #, c-format msgid "Searching for \"%s\" in \"%s\"" -msgstr " \"%s\" \"%s\"" +msgstr "Шукаємо \"%s\" в \"%s\"" #, c-format msgid "Searching for \"%s\"" -msgstr " \"%s\"" +msgstr "Шукаємо \"%s\"" #, c-format msgid "not found in 'runtimepath': \"%s\"" -msgstr "\"%s\" 'runtimepath'" +msgstr "В 'runtimepath' не знайдено \"%s\"" -msgid "Run Macro" -msgstr " " +msgid "Source Vim script" +msgstr "Прочитати скрипт Vim" #, c-format msgid "Cannot source a directory: \"%s\"" -msgstr " Ҧ: \"%s\"" +msgstr "Не зміг прочитати каталог: \"%s\"" #, c-format msgid "could not source \"%s\"" -msgstr " \"%s\"" +msgstr "Не можна виконати \"%s\"" #, c-format msgid "line %ld: could not source \"%s\"" -msgstr " %ld: \"%s\"" +msgstr "рядок %ld: не можна виконати \"%s\"" #, c-format msgid "sourcing \"%s\"" -msgstr " \"%s\"" +msgstr "виконується \"%s\"" #, c-format msgid "line %ld: sourcing \"%s\"" -msgstr " %ld: դ \"%s\"" +msgstr "рядок %ld: виконується \"%s\"" #, c-format msgid "finished sourcing %s" -msgstr " %s ˦" - -msgid "W15: Warning: Wrong line separator, ^M may be missing" -msgstr "W15: צ Ħ ˦, դ ^M" - -msgid "E167: :scriptencoding used outside of a sourced file" -msgstr "E167: :scriptencoding " +msgstr "закінчено виконання %s" -msgid "E168: :finish used outside of a sourced file" -msgstr "E168: :finish " +msgid "modeline" +msgstr "modeline" -msgid "No text to be printed" -msgstr " " +# msgstr "E14: " +msgid "--cmd argument" +msgstr "--cmd аргумент" -msgid "Printing page %d (%d%%)" -msgstr "դ Ҧ %d (%d%%)" +# msgstr "E14: " +msgid "-c argument" +msgstr "-c аргумент" -#, c-format -msgid " Copy %d of %d" -msgstr " Ц %d, %d" +msgid "environment variable" +msgstr "змінна оточення" -#, c-format -msgid "Printed: %s" -msgstr ": %s" +msgid "error handler" +msgstr "обробник помилки" -msgid "Printing aborted" -msgstr " " +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "W15: Увага: Неправильний роздільник рядків, можливо, бракує ^M" -msgid "E455: Error writing to PostScript output file" -msgstr "E455: Ȧ PostScrip" +msgid "E167: :scriptencoding used outside of a sourced file" +msgstr "E167: :scriptencoding використано поза виконуваним файлом" -msgid "E324: Can't open PostScript output file" -msgstr "E324: צ Ȧ PostScrip" +msgid "E168: :finish used outside of a sourced file" +msgstr "E168: :finish використано поза виконуваним файлом" #, c-format -msgid "E456: Can't open file \"%s\"" -msgstr "E456: צ \"%s\"" +msgid "Current %slanguage: \"%s\"" +msgstr "Мова (%s): \"%s\"" #, c-format -msgid "E457: Can't read PostScript resource file \"%s\"" -msgstr "E457: Ӧ PostScrip \"%s\"" - -msgid "Sending to printer..." -msgstr " ˦..." - -msgid "E365: Failed to print PostScript file" -msgstr "E324: PostScrip" - -msgid "Print job sent." -msgstr " צĦ." +msgid "E197: Cannot set language to \"%s\"" +msgstr "E197: Не зміг встановити мову \"%s\"" #, c-format -msgid "Current %slanguage: \"%s\"" -msgstr " (%s): \"%s\"" +msgid "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, шіст %02x, віс %03o" #, c-format -msgid "E197: Cannot set language to \"%s\"" -msgstr "E197: \"%s\"" +msgid "> %d, Hex %04x, Octal %o" +msgstr "> %d, шіст %04x, віс %o" #, c-format -msgid "<%s>%s%s %d, Hex %02x, Octal %03o" -msgstr "<%s>%s%s %d, ۦ %02x, צ %03o" +msgid "> %d, Hex %08x, Octal %o" +msgstr "> %d, шіст %08x, віс %o" msgid "E134: Move lines into themselves" -msgstr "E134: ͦ ͦ " +msgstr "E134: Неможливо перемістити рядки самі в себе" msgid "1 line moved" -msgstr "1 ͦ" +msgstr "Переміщено один рядок" #, c-format msgid "%ld lines moved" -msgstr "%ld ˦ ͦ" +msgstr "Переміщено %ld рядки(ів)" #, c-format msgid "%ld lines filtered" -msgstr "%ld ˦ צƦ" +msgstr "Відфільтровано %ld рядки(ів)" msgid "E135: *Filter* Autocommands must not change current buffer" -msgstr "E135: *Filter* ͦ " +msgstr "E135: Автокоманди *Filter* не повинні змінювати поточний буфер" msgid "[No write since last change]\n" -msgstr "[ Ц ϧ ͦ]\n" +msgstr "[Не записано останні зміни]\n" #, c-format -msgid "viminfo: %s in line: " -msgstr "viminfo: %s " +msgid "%sviminfo: %s in line: " +msgstr "%sviminfo: %s в рядку: " msgid "E136: viminfo: Too many errors, skipping rest of file" -msgstr "E136: viminfo: , " +msgstr "E136: viminfo: Забагато помилок, пропускаємо решту файлу" #, c-format msgid "Reading viminfo file \"%s\"%s%s%s" -msgstr "դ viminfo: \"%s\"%s%s%s" +msgstr "Зчитується файл viminfo: \"%s\"%s%s%s" msgid " info" -msgstr " æ" +msgstr " інформація" msgid " marks" -msgstr " " +msgstr " позначки" msgid " FAILED" -msgstr " " +msgstr " НЕ ВДАЛОСЯ" +#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" -msgstr "E137: viminfo (\"%s\") " +msgstr "E137: Не дозволено запис у файл viminfo: \"%s\"" #, c-format msgid "E138: Can't write viminfo file %s!" -msgstr "E138: viminfo %s!" +msgstr "E138: Не зміг записати файл viminfo %s!" #, c-format msgid "Writing viminfo file \"%s\"" -msgstr "դ viminfo \"%s\"" +msgstr "Записується файл viminfo \"%s\"" #. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" -msgstr "# Vim %s.\n" +msgstr "# Цей файл автоматично створений Vim %s.\n" +#, c-format msgid "" "# You may edit it if you're careful!\n" "\n" -msgstr "# , !\n" +msgstr "" +"# Можете редагувати, але ОБЕРЕЖНО!\n" +"\n" +#, c-format msgid "# Value of 'encoding' when this file was written\n" -msgstr "# 'encoding' \n" +msgstr "# Значення 'encoding' під час створення цього файлу\n" msgid "Illegal starting char" -msgstr " " - -#. Overwriting a file that is loaded in another buffer is not a -#. * good idea. -msgid "E139: File is loaded in another buffer" -msgstr "E139: Ҧ" +msgstr "Недозволений символ на початку рядка" msgid "Write partial file?" -msgstr " ?" +msgstr "Записати частину файлу?" msgid "E140: Use ! to write partial buffer" -msgstr "E140: ! " +msgstr "E140: Використайте ! для запису частини буферу" + +#, c-format +msgid "Overwrite existing file \"%s\"?" +msgstr "Переписати існуючий файл \"%s\"?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "Файл обміну \"%s\" існує, переписати?" #, c-format -msgid "Overwrite existing file \"%.*s\"?" -msgstr " \"%.*s\"?" +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: Файл обміну існує: %s (:silent! переважує)" #, c-format msgid "E141: No file name for buffer %ld" -msgstr "E141: Ȧ %ld" +msgstr "E141: Немає вхідного файлу для буферу %ld" msgid "E142: File not written: Writing is disabled by 'write' option" -msgstr "E142: : æ 'write'" +msgstr "E142: Файл не записано: запис заборонено опцією 'write'" #, c-format msgid "" -"'readonly' option is set for \"%.*s\".\n" +"'readonly' option is set for \"%s\".\n" "Do you wish to write anyway?" msgstr "" -" \"%.*s\" æ 'readonly'.\n" -" ?" +"Для \"%s\" встановлено 'readonly'.\n" +"Бажаєте все-одно продовжити запис?" + +#, c-format +msgid "" +"File permissions of \"%s\" are read-only.\n" +"It may still be possible to write it.\n" +"Do you wish to try?" +msgstr "" +"Файл \"%s\" дозволено тільки читати.\n" +"Проте, можливо, його можна записати.\n" +"Хочете спробувати?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: \"%s\" тільки для читання (! щоб не зважати)" msgid "Edit File" -msgstr " " +msgstr "Редагувати Файл" #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" -msgstr "E143: Ħ %s" +msgstr "E143: Автокоманди несподівано знищили новий буфер %s" msgid "E144: non-numeric argument to :z" -msgstr "E144: :z" +msgstr "E144: нечисловий аргумент для :z" msgid "E145: Shell commands not allowed in rvim" -msgstr "E145: rvim Φ shell" +msgstr "E145: У rvim не дозволені команди оболонки" msgid "E146: Regular expressions can't be delimited by letters" -msgstr "E146: ĦΦ ̦" +msgstr "E146: Регулярні вирази не можна розділяти літерами" #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" -msgstr "ͦ %s (y/n/a/q/l/^E/^Y)?" +msgstr "Замінити у %s (y/n/a/q/l/^E/^Y)?" msgid "(Interrupted) " -msgstr "() " +msgstr "(Перервано) " + +# msgstr "E31: " +msgid "1 match" +msgstr "Один збіг" msgid "1 substitution" -msgstr " ͦ" +msgstr "Одна заміна" + +#, c-format +msgid "%ld matches" +msgstr "%ld збіги(ів)" #, c-format msgid "%ld substitutions" -msgstr "ͦ -- %ld" +msgstr "%ld замін(и)" msgid " on 1 line" -msgstr " " +msgstr " в одному рядку" #, c-format msgid " on %ld lines" -msgstr " %ld " +msgstr " в %ld рядках" msgid "E147: Cannot do :global recursive" -msgstr "E147: :global " +msgstr "E147: :global не можна вживати рекурсивно" msgid "E148: Regular expression missing from global" -msgstr "E148: դ global" +msgstr "E148: У global бракує зразка" #, c-format msgid "Pattern found in every line: %s" -msgstr " : %s" +msgstr "Зразок знайдено у кожному рядку: %s" +#, c-format msgid "" "\n" "# Last Substitute String:\n" "$" msgstr "" "\n" -"# Φ ͦ:\n" +"# Остання заміна:\n" "$" +msgid "E478: Don't panic!" +msgstr "E478: Без паніки!" + +#, c-format +msgid "E661: Sorry, no '%s' help for %s" +msgstr "E661: Вибачте, немає допомоги '%s' для %s" + #, c-format msgid "E149: Sorry, no help for %s" -msgstr "E149: , %s " +msgstr "E149: Вибачте, немає допомоги для %s" #, c-format msgid "Sorry, help file \"%s\" not found" -msgstr ", \"%s\" " +msgstr "Вибачте, файл допомоги \"%s\" не знайдено" #, c-format msgid "E150: Not a directory: %s" -msgstr "E150: %s: Ҧ" +msgstr "E150: Не є каталогом: %s" #, c-format msgid "E152: Cannot open %s for writing" -msgstr "E152: צ %s " +msgstr "E152: Не зміг відкрити %s для запису" #, c-format msgid "E153: Unable to open %s for reading" -msgstr "E153: צ %s " +msgstr "E153: Не зміг відкрити %s для читання" + +#, c-format +msgid "E670: Mix of help file encodings within a language: %s" +msgstr "E670: Мішанина кодувань файлу допомоги для мови %s" #, c-format -msgid "E154: Duplicate tag \"%s\" in file %s" -msgstr "E154: צ \"%s\" ̦ %s" +msgid "E154: Duplicate tag \"%s\" in file %s/%s" +msgstr "E154: Повторення теґу \"%s\" у файлі %s/%s" #, c-format msgid "E160: Unknown sign command: %s" -msgstr "E160: צ sign: %s" +msgstr "E160: Невідома команда надпису: %s" msgid "E156: Missing sign name" -msgstr "E156: դ " +msgstr "E156: Пропущено назву надпису" -msgid "E255: Too many signs defined" -msgstr "E255: Ӧ" +msgid "E612: Too many signs defined" +msgstr "E612: Визначено забагато надписів" #, c-format msgid "E239: Invalid sign text: %s" -msgstr "E239: צ : %s" +msgstr "E239: Некоректний надпис: %s" #, c-format msgid "E155: Unknown sign: %s" -msgstr "E155: צ : %s" +msgstr "E155: Невідомий надпис: %s" msgid "E159: Missing sign number" -msgstr "E159: դ " +msgstr "E159: Пропущено номер надпису" #, c-format msgid "E158: Invalid buffer name: %s" -msgstr "E158: צ : %s" +msgstr "E158: Некоректна назва буферу: %s" #, c-format msgid "E157: Invalid sign ID: %ld" -msgstr "E157: צ ID : %ld" +msgstr "E157: Неправильний ID надпису: %ld" + +msgid " (NOT FOUND)" +msgstr " (НЕ ЗНАЙДЕНО)" + +msgid " (not supported)" +msgstr " (не підтримується)" msgid "[Deleted]" -msgstr "[]" +msgstr "[Знищено]" msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." -msgstr "" -" Ex. \"visual\" " -"" +msgstr "Режим Ex. Для повернення до нормального режиму виконайте \"visual\"" -#. must be at EOF -msgid "At end-of-file" -msgstr " ˦ " +msgid "E501: At end-of-file" +msgstr "E501: Кінець файлу" msgid "E169: Command too recursive" -msgstr "E169: " - -msgid "E170: Missing :endwhile" -msgstr "E170: դ :endwhile" +msgstr "E169: Команда занадто рекурсивна" -msgid "E171: Missing :endif" -msgstr "E171: դ :endif" +#, c-format +msgid "E605: Exception not caught: %s" +msgstr "E605: Виняткова ситуація не оброблена: %s" msgid "End of sourced file" -msgstr " " +msgstr "Кінець виконуваного файлу" msgid "End of function" -msgstr " æ" +msgstr "Кінець функції" -msgid "Ambiguous use of user-defined command" -msgstr " " +msgid "E464: Ambiguous use of user-defined command" +msgstr "E464: Неоднозначний вжиток команди користувача" -msgid "Not an editor command" -msgstr " " +msgid "E492: Not an editor command" +msgstr "E492: Це не команда редактора" -msgid "Don't panic!" -msgstr " !" - -msgid "Backwards range given" -msgstr " !" +msgid "E493: Backwards range given" +msgstr "E493: Інтервал задано навиворіт" msgid "Backwards range given, OK to swap" -msgstr " , ..." +msgstr "Інтервал задано навиворіт, щоб поміняти місцями -- ГАРАЗД" -msgid "Use w or w>>" -msgstr " :w :w>>" +msgid "E494: Use w or w>>" +msgstr "E494: Спробуйте w або w>>" msgid "E319: Sorry, the command is not available in this version" -msgstr "E319: , Ħ" +msgstr "E319: Вибачте, цієї команди немає у цій версії" msgid "E172: Only one file name allowed" -msgstr "E172: ' " +msgstr "E172: Дозволено тільки одну назву файлу" + +msgid "1 more file to edit. Quit anyway?" +msgstr "Залишилося відредагувати ще один файл. Все одно вийти?" #, c-format msgid "%d more files to edit. Quit anyway?" -msgstr " %d ̦. ?" +msgstr "Ще є %d не редагованих файлів. Все одно вийти?" + +msgid "E173: 1 more file to edit" +msgstr "E173: Залишилося відредагувати ще один файл" #, c-format msgid "E173: %ld more files to edit" -msgstr "E173: %ld ̦" +msgstr "E173: Залишилося %ld не редагованих файлів" -msgid "E174: Command already exists: use ! to redefine" -msgstr "E174: դ, ! " +msgid "E174: Command already exists: add ! to replace it" +msgstr "E174: Команда вже існує, ! щоб замінити її" msgid "" "\n" " Name Args Range Complete Definition" msgstr "" "\n" -" . " +" Назва Арг. Межа Доповнення Визначення" msgid "No user-defined commands found" -msgstr " " +msgstr "Не знайдено команд користувача" msgid "E175: No attribute specified" -msgstr "E175: " +msgstr "E175: Не вказано атрибутів" msgid "E176: Invalid number of arguments" -msgstr "E176: צ ˦˦ Ԧ" +msgstr "E176: Неправильна кількість аргументів" msgid "E177: Count cannot be specified twice" -msgstr "E177: צަ" +msgstr "E177: Лічильник не може бути вказано двічі" # msgstr "E177: " msgid "E178: Invalid default value for count" -msgstr "E178: צ count" +msgstr "E178: Неправильне початкове значення лічильника" # msgstr "E178: " -msgid "E179: argument required for complete" -msgstr "E179: Ȧ " - -# msgstr "E179: " -#, c-format -msgid "E180: Invalid complete value: %s" -msgstr "E180: צ ڦ : %s" +msgid "E179: argument required for -complete" +msgstr "E179: для -complete потрібний аргумент" # msgstr "E180: " #, c-format msgid "E181: Invalid attribute: %s" -msgstr "E181: צ : %s" +msgstr "E181: Неправильний атрибут: %s" # msgstr "E181: " msgid "E182: Invalid command name" -msgstr "E182: צ " +msgstr "E182: Неправильна назва команди" # msgstr "E182: " msgid "E183: User defined commands must start with an uppercase letter" -msgstr "E183: צ ϧ ̦" +msgstr "E183: Команди користувача повинні починатися з великої літери" # msgstr "E183: " #, c-format msgid "E184: No such user-defined command: %s" -msgstr "E184: : %s" +msgstr "E184: Команду користувача не знайдено: %s" + +# msgstr "E179: " +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Неправильне доповнення: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "E468: Аргумент дозволений тільки для користувацького доповнення" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Користувацьке доповнення вимагає аргумент-функцію" # msgstr "E184: " #, c-format msgid "E185: Cannot find color scheme %s" -msgstr "E185: Ҧ %s" +msgstr "E185: Не зміг знайти схему кольорів %s" msgid "Greetings, Vim user!" -msgstr " , Vim ?" +msgstr "Вітання, користувачу Vim!" + +# msgstr "E443: " +msgid "E784: Cannot close last tab page" +msgstr "E784: Не можу закрити останню вкладку" + +# msgstr "E444: " +msgid "Already only one tab page" +msgstr "Вже й так лише одна вкладка" # msgstr "E185: " msgid "Edit File in new window" -msgstr " צΦ" +msgstr "Редагувати файл у новому вікні" + +#, c-format +msgid "Tab page %d" +msgstr "Вкладка %d" msgid "No swap file" -msgstr " ͦ" +msgstr "Немає файлу обміну" msgid "Append File" -msgstr " " +msgstr "Дописати файл" + +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" +msgstr "E747: Не зміг змінити каталог, буфер має зміни (! щоб не зважати)" msgid "E186: No previous directory" -msgstr "E186: ϧ ϧ Ҧ" +msgstr "E186: Це вже найперший каталог" # msgstr "E186: " msgid "E187: Unknown" -msgstr "E187: צ Ҧ" +msgstr "E187: Невідомо" + +msgid "E465: :winsize requires two number arguments" +msgstr "E465: :winsize вимагає два числових аргументи" # msgstr "E187: " #, c-format msgid "Window position: X %d, Y %d" -msgstr "æ צ: X %d, Y %d" +msgstr "Позиція вікна: X %d, Y %d" msgid "E188: Obtaining window position not implemented for this platform" -msgstr "E188: æ æ צ Ħ ϧ " +msgstr "E188: Не можна отримати позицію вікна на цій платформі" + +msgid "E466: :winpos requires two number arguments" +msgstr "E466: :winpos вимагає два числових аргументи" # msgstr "E188: " msgid "Save Redirection" -msgstr "' צ" +msgstr "Зберегти переадресований вивід" msgid "Save View" -msgstr "' " +msgstr "Зберегти вигляд" msgid "Save Session" -msgstr "' " +msgstr "Зберегти сеанс" msgid "Save Setup" -msgstr "' " +msgstr "Зберегти налаштування" #, c-format -msgid "E189: \"%s\" exists (use ! to override)" -msgstr "E189: \"%s\" դ, ( ! )" +msgid "E739: Cannot create directory: %s" +msgstr "E739: Не зміг створити каталог: %s" + +#, c-format +msgid "E189: \"%s\" exists (add ! to override)" +msgstr "E189: Файл \"%s\" існує (! щоб не зважати)" # msgstr "E189: " #, c-format msgid "E190: Cannot open \"%s\" for writing" -msgstr "E190: צ \"%s\" " +msgstr "E190: Не зміг відкрити \"%s\" для запису" # msgstr "E190: " #. set mark msgid "E191: Argument must be a letter or forward/backward quote" -msgstr "E191: ̦, ` '" +msgstr "E191: Аргумент має бути літерою, ` або '" # msgstr "E191: " msgid "E192: Recursive use of :normal too deep" -msgstr "E192: :normal " +msgstr "E192: Забагато вкладених :normal" -msgid ":if nesting too deep" -msgstr " ˦˦ :if" +# msgstr "E193: " +msgid "E194: No alternate file name to substitute for '#'" +msgstr "E194: Немає назви вторинного файлу для заміни '#'" -msgid ":endif without :if" -msgstr "դ צצ :if :endif" +msgid "E495: no autocommand file name to substitute for \"<afile>\"" +msgstr "E495: Немає назви файлу автокоманди для заміни \"<afile>\"" -msgid ":else without :if" -msgstr "դ צצ :if :else" +msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" +msgstr "E496: Немає номера буферу автокоманди для заміни \"<abuf>\"" -msgid ":elseif without :if" -msgstr "դ צצ :if :elseif" +msgid "E497: no autocommand match name to substitute for \"<amatch>\"" +msgstr "E497: Немає назви збігу автокоманди для заміни \"<amatch>\"" -msgid ":while nesting too deep" -msgstr " ˦˦ :while" +msgid "E498: no :source file name to substitute for \"<sfile>\"" +msgstr "E498: Немає назви файлу :source для заміни \"<sfile>\"" -msgid ":continue without :while" -msgstr "դ צצ :while :continue" +#, no-c-format +msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" +msgstr "E499: Назва файлу для '%' чи '#' порожня, працює лише з \":p:h\"" -msgid ":break without :while" -msgstr "դ צצ :while :break" +msgid "E500: Evaluates to an empty string" +msgstr "E500: Результат -- порожній рядок" -msgid ":endwhile without :while" -msgstr "դ צצ :while :endwhile" +msgid "E195: Cannot open viminfo file for reading" +msgstr "E195: Не зміг прочитати файл viminfo" -msgid "E193: :endfunction not inside a function" -msgstr "E133: :endfunction æ" +msgid "E196: No digraphs in this version" +msgstr "E196: У цій версії немає диграфів" -# msgstr "E193: " -msgid "E194: No alternate file name to substitute for '#'" -msgstr "E194: ͦ '#'" +msgid "E608: Cannot :throw exceptions with 'Vim' prefix" +msgstr "E608: Не можна викидати (:throw) винятки з префіксом 'Vim'" -msgid "no autocommand file name to substitute for \"<afile>\"" -msgstr " ͦ \"<afile>\" Ħ, ' צΦ" +#. always scroll up, don't overwrite +#, c-format +msgid "Exception thrown: %s" +msgstr "Виняткова ситуація: %s" -msgid "no autocommand buffer number to substitute for \"<abuf>\"" -msgstr " ͦ \"<abuf>\" Ħ, צ" +#, c-format +msgid "Exception finished: %s" +msgstr "Виняток закінчено: %s" -msgid "no autocommand match name to substitute for \"<amatch>\"" -msgstr "" -" ͦ \"<amatch>\" Ħ, ¦ " -"'" +#, c-format +msgid "Exception discarded: %s" +msgstr "Виняток скинуто: %s" -msgid "no :source file name to substitute for \"<sfile>\"" -msgstr " ͦ \"<sfile>\" Ħ, ' צΦ" +#, c-format +msgid "%s, line %ld" +msgstr "%s, рядок %ld" -#, no-c-format -msgid "Empty file name for '%' or '#', only works with \":p:h\"" -msgstr " ' '%' '#' \":p:h\"" +#. always scroll up, don't overwrite +#, c-format +msgid "Exception caught: %s" +msgstr "Спіймано виняткову ситуацію: %s" -msgid "Evaluates to an empty string" -msgstr " -- Φ " +#, c-format +msgid "%s made pending" +msgstr "Очікується %s" -msgid "E195: Cannot open viminfo file for reading" -msgstr "E195: צ viminfo" +#, c-format +msgid "%s resumed" +msgstr "Відновлено %s" -msgid "E196: No digraphs in this version" -msgstr "E196: æ Ӧ Ʀ" +#, c-format +msgid "%s discarded" +msgstr "Скинуто %s" + +msgid "Exception" +msgstr "Виняток" + +msgid "Error and interrupt" +msgstr "Помилка, перервано" + +# msgstr "E231: " +msgid "Error" +msgstr "Помилка" + +#. if (pending & CSTP_INTERRUPT) +msgid "Interrupt" +msgstr "Перервано" + +msgid "E579: :if nesting too deep" +msgstr "E579: Занадто багато вкладених :if" + +msgid "E580: :endif without :if" +msgstr "E580: :endif без :if" + +msgid "E581: :else without :if" +msgstr "E581: :else без :if" + +msgid "E582: :elseif without :if" +msgstr "E582: :elseif без :if" + +msgid "E583: multiple :else" +msgstr "E583: Не одне :else" + +msgid "E584: :elseif after :else" +msgstr "E584: :elseif після :else" + +msgid "E585: :while/:for nesting too deep" +msgstr "E585: Забагато вкладених :while/:for" + +msgid "E586: :continue without :while or :for" +msgstr "E586: :continue без :while чи :for" + +msgid "E587: :break without :while or :for" +msgstr "E587: :break без :while чи :for" + +msgid "E732: Using :endfor with :while" +msgstr "E732: Вжито :endfor із :while" + +msgid "E733: Using :endwhile with :for" +msgstr "E733: Вжито :endwhile із :for" + +msgid "E601: :try nesting too deep" +msgstr "E601: Забагато вкладених :try" + +msgid "E603: :catch without :try" +msgstr "E603: :catch без :try" + +#. Give up for a ":catch" after ":finally" and ignore it. +#. * Just parse. +msgid "E604: :catch after :finally" +msgstr "E604: :catch після :finally" + +msgid "E606: :finally without :try" +msgstr "E606: :finally без :try" + +#. Give up for a multiple ":finally" and ignore it. +msgid "E607: multiple :finally" +msgstr "E607: Не одне :finally" + +msgid "E602: :endtry without :try" +msgstr "E602: :entry без :try" + +msgid "E193: :endfunction not inside a function" +msgstr "E193: :endfunction поза межами функції" + +msgid "E788: Not allowed to edit another buffer now" +msgstr "E788: Зараз не можна редагувати інший буфер" # msgstr "E197: " msgid "tagname" -msgstr " ͦ" +msgstr "назва теґу" msgid " kind file\n" -msgstr " \n" +msgstr " тип файлу\n" msgid "'history' option is zero" -msgstr "æ 'history' " +msgstr "Опція 'history' порожня" #, c-format msgid "" @@ -1080,314 +1484,365 @@ msgid "" "# %s History (newest to oldest):\n" msgstr "" "\n" -"# Φ %s:\n" +"# Попередні %s (від найновіших):\n" msgid "Command Line" -msgstr "" +msgstr "команди" msgid "Search String" -msgstr " " +msgstr "шукані рядки" msgid "Expression" -msgstr "" +msgstr "вирази" msgid "Input Line" -msgstr "Φ " +msgstr "введені рядки" msgid "E198: cmd_pchar beyond the command length" -msgstr "E198: " +msgstr "E198: cmd_pchar поза межами команди" msgid "E199: Active window or buffer deleted" -msgstr "E199: צ " +msgstr "E199: Активне вікно або буфер було знищено" # msgstr "E199: " msgid "Illegal file name" -msgstr " ' " +msgstr "Недозволена назва файлу" msgid "is a directory" -msgstr " Ҧ" +msgstr "каталог" msgid "is not a file" -msgstr " " +msgstr "не файл" + +msgid "is a device (disabled with 'opendevice' option)" +msgstr "є пристроєм (вимкнено опцією 'opendevice')" msgid "[New File]" -msgstr "[ ]" +msgstr "[Новий файл]" + +msgid "[New DIRECTORY]" +msgstr "[Новий каталог]" + +msgid "[File too big]" +msgstr "[Файл завеликий]" msgid "[Permission Denied]" -msgstr "[]" +msgstr "[Відмовлено]" msgid "E200: *ReadPre autocommands made the file unreadable" -msgstr "E200: *ReadPre " +msgstr "E200: Автокоманди *ReadPre унеможливили читання файлу" # msgstr "E200: " msgid "E201: *ReadPre autocommands must not change current buffer" -msgstr "E201: *ReadPre ͦ " +msgstr "E201: Автокоманди *ReadPre не повинні змінювати цей буфер" # msgstr "E201: " msgid "Vim: Reading from stdin...\n" -msgstr "Vim: stdin...\n" +msgstr "Vim: Читаємо з stdin...\n" msgid "Reading from stdin..." -msgstr " stdin..." +msgstr "Читаємо з stdin..." #. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" -msgstr "E202: !" +msgstr "E202: Конвертація унеможливила читання файлу!" # msgstr "E202: " msgid "[fifo/socket]" -msgstr "[fifo/]" +msgstr "[fifo/сокет]" msgid "[fifo]" msgstr "[fifo]" msgid "[socket]" -msgstr "[]" +msgstr "[сокет]" + +msgid "[character special]" +msgstr "[спец. символьний]" msgid "[RO]" msgstr "[RO]" msgid "[CR missing]" -msgstr "[ CR]" +msgstr "[Бракує CR]" msgid "[NL found]" -msgstr "[ NL]" +msgstr "[Знайдено NL]" msgid "[long lines split]" -msgstr "[Ǧ Ҧ]" +msgstr "[Розбито довгі рядки]" msgid "[NOT converted]" -msgstr "[ ]" +msgstr "[НЕ конвертовано]" msgid "[converted]" -msgstr "[]" +msgstr "[конвертовано]" msgid "[crypted]" -msgstr "[]" +msgstr "[зашифровано]" + +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ПОМИЛКА КОНВЕРТАЦІЇ у рядку %ld]" -msgid "[CONVERSION ERROR]" -msgstr "[ ]" +#, c-format +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[НЕКОРЕКТНИЙ БАЙТ у рядку %ld]" msgid "[READ ERRORS]" -msgstr "[ ]" +msgstr "[ПОМИЛКА ЧИТАННЯ]" msgid "Can't find temp file for conversion" -msgstr " Ц " +msgstr "Не зміг підшукати тимчасовий файл для конвертації" msgid "Conversion with 'charconvert' failed" -msgstr " 'charconvert' " +msgstr "Конвертація з 'charconvert' не вдалася" msgid "can't read output of 'charconvert'" -msgstr " צ 'charconvert'" +msgstr "не зміг прочитати вивід 'charconvert'" + +# msgstr "E217: " +msgid "E676: No matching autocommands for acwrite buffer" +msgstr "E676: Немає відповідних автокоманд" msgid "E203: Autocommands deleted or unloaded buffer to be written" -msgstr "E203: " +msgstr "E203: Автокоманда знищила або вивантажила буфер, що мав бути записаний" msgid "E204: Autocommand changed number of lines in unexpected way" -msgstr "E204: ͦ ˦ ˦ Ħ " +msgstr "E204: Автокоманда несподіваним чином змінила кількість рядків" + +msgid "NetBeans dissallows writes of unmodified buffers" +msgstr "NetBeans не дозволяє записувати у незмінені буфери" + +# msgstr "E391: " +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Часткові записи заборонені для буферів NetBeans" msgid "is not a file or writable device" -msgstr " Ϥ צ " +msgstr "Не придатний до запису" -msgid "is read-only (use ! to override)" -msgstr " ( ! )" +msgid "writing to device disabled with 'opendevice' option" +msgstr "Запис до пристрою заборонено опцією 'opendevice'" -msgid "Can't write to backup file (use ! to override)" -msgstr " ( ! )" +msgid "is read-only (add ! to override)" +msgstr "лише для читання (! щоб не зважати)" -msgid "Close error for backup file (use ! to override)" -msgstr " Ц " +msgid "E506: Can't write to backup file (add ! to override)" +msgstr "E506: Не зміг записати резервний файл (! щоб не зважати)" -msgid "Can't read file for backup (use ! to override)" -msgstr "" -" ϧ Ц ( ! )" +msgid "E507: Close error for backup file (add ! to override)" +msgstr "E507: Помилка закриття резервного файлу (! щоб не зважати)" -msgid "Cannot create backup file (use ! to override)" -msgstr " Ц ( ! )" +msgid "E508: Can't read file for backup (add ! to override)" +msgstr "E508: Не зміг прочитати файл, щоб створити резервну копію (! щоб не зважати)" -msgid "Can't make backup file (use ! to override)" -msgstr " Ц ( ! )" +msgid "E509: Cannot create backup file (add ! to override)" +msgstr "E509: Не зміг створити резервну копію (! щоб не зважати)" -msgid "The resource fork will be lost (use ! to override)" -msgstr " Ǧ (! )" +msgid "E510: Can't make backup file (add ! to override)" +msgstr "E510: Не зміг зробити резервну копію (! щоб не зважати)" + +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: Гілку ресурсів можна втратити (! щоб не зважати)" msgid "E214: Can't find temp file for writing" -msgstr "E214: Ц " +msgstr "E214: Не зміг підшукати тимчасовий файл для запису" -msgid "E213: Cannot convert (use ! to write without conversion)" -msgstr "" -"E213: ( ! )" +msgid "E213: Cannot convert (add ! to write without conversion)" +msgstr "E213: Не зміг перетворити (! щоб записати без конвертації)" msgid "E166: Can't open linked file for writing" -msgstr "E166: צ դ " +msgstr "E166: Не зміг відкрити для запису зв'язаний файл" msgid "E212: Can't open file for writing" -msgstr "E212: צ " +msgstr "E212: Не зміг відкрити файл для запису" -msgid "Close failed" -msgstr " " +msgid "E667: Fsync failed" +msgstr "E667: Невдалий fsync" -msgid "write error, conversion failed" -msgstr " , " +msgid "E512: Close failed" +msgstr "E512: Не вдалося закрити" -msgid "write error (file system full?)" -msgstr " (˦ צ ͦ??)" +msgid "E513: write error, conversion failed (make 'fenc' empty to override)" +msgstr "E513: Помилка запису, конвертація не вдалася (скиньте 'fenc')" + +msgid "E514: write error (file system full?)" +msgstr "E514: Помилка запису (скінчилось вільне місце?)" msgid " CONVERSION ERROR" -msgstr " " +msgstr " ПОМИЛКА КОНВЕРТАЦІЇ" msgid "[Device]" -msgstr "[Ҧ]" +msgstr "[Пристрій]" msgid "[New]" -msgstr "[]" +msgstr "[Новий]" msgid " [a]" -msgstr "[]" +msgstr "[д]" msgid " appended" -msgstr " " +msgstr " дописаний" msgid " [w]" -msgstr "[]" +msgstr "[з]" msgid " written" -msgstr " " +msgstr " записаний" msgid "E205: Patchmode: can't save original file" -msgstr "E205: patch: " +msgstr "E205: Латання: не зміг зберегти оригінал" msgid "E206: patchmode: can't touch empty original file" -msgstr "E206: patch: " +msgstr "E206: Латання: не зміг створити оригінал" msgid "E207: Can't delete backup file" -msgstr "E207: " +msgstr "E207: Не зміг знищити резервний файл" msgid "" "\n" "WARNING: Original file may be lost or damaged\n" msgstr "" "\n" -": \n" +"УВАГА: Оригінал, мабуть, втрачений чи пошкоджений\n" msgid "don't quit the editor until the file is successfully written!" -msgstr " " +msgstr "Не виходьте з редактора, доки файл не записано!" msgid "[dos]" -msgstr "[]" +msgstr "[дос]" msgid "[dos format]" -msgstr "[ dos]" +msgstr "[формат дос]" msgid "[mac]" -msgstr "[mac]" +msgstr "[мак]" msgid "[mac format]" -msgstr "[ mac]" +msgstr "[формат мак]" msgid "[unix]" -msgstr "[unix]" +msgstr "[юнiкс]" msgid "[unix format]" -msgstr "[unix ]" +msgstr "[формат unix]" msgid "1 line, " -msgstr " , " +msgstr "один рядок, " #, c-format msgid "%ld lines, " -msgstr "%ld ˦, " +msgstr "%ld рядків, " msgid "1 character" -msgstr " " +msgstr "один символ" #, c-format msgid "%ld characters" -msgstr "%ld ̦" +msgstr "%ld символів" msgid "[noeol]" msgstr "[noeol]" msgid "[Incomplete last line]" -msgstr "[ Φ ]" +msgstr "[Неповний останній рядок]" #. don't overwrite messages here #. must give this prompt #. don't use emsg() here, don't want to flush the buffers msgid "WARNING: The file has been changed since reading it!!!" -msgstr ": ͦ Ц !!!" +msgstr "УВАГА: Файл змінився з часу останнього читання!!!" msgid "Do you really want to write to it" -msgstr " Ħ ??" +msgstr "Ви справді хочете його переписати??" #, c-format msgid "E208: Error writing to \"%s\"" -msgstr "E208: \"%s\"" +msgstr "E208: Помилка запису \"%s\"" #, c-format msgid "E209: Error closing \"%s\"" -msgstr "E209: Ц \"%s\"" +msgstr "E209: Помилка закриття \"%s\"" #, c-format msgid "E210: Error reading \"%s\"" -msgstr "E210: Ц \"%s\"" +msgstr "E210: Помилка читання \"%s\"" msgid "E246: FileChangedShell autocommand deleted buffer" -msgstr "E246: FileChangedShell " +msgstr "E246: Автокоманда FileChangedShell знищила буфер" #, c-format -msgid "E211: Warning: File \"%s\" no longer available" -msgstr "E211: : \"%s\" " +msgid "E211: File \"%s\" no longer available" +msgstr "E211: Файл \"%s\" більше не досяжний" #, c-format -msgid "" -"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " -"well" -msgstr "" -"W12: : \"%s\" ͦ, Vim ͦ" +msgid "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as well" +msgstr "W12: Увага: Файл \"%s\" змінився, але й буфер у Vim також" + +msgid "See \":help W12\" for more info." +msgstr "Див. \":help W12\" для уточнення." #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" -msgstr "W11: : \"%s\" ͦ Ц " +msgstr "W11: Увага: Файл \"%s\" змінився після початку редагування" + +msgid "See \":help W11\" for more info." +msgstr "Див. \":help W11\" для уточнення." #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" -msgstr "W16: : \"%s\" ͦ Ц " +msgstr "W16: Увага: Режим файлу \"%s\" змінився після початку редагування" + +msgid "See \":help W16\" for more info." +msgstr "Див. \":help W16\" для уточнення." #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" -msgstr "W13: : \"%s\" Ц " +msgstr "W13: Увага: Файл \"%s\" було створено після початку редагування" msgid "Warning" -msgstr "" +msgstr "Увага" msgid "" "&OK\n" "&Load File" msgstr "" -"&O:\n" -"&L: " +"&O:Гаразд\n" +"&L:Завантажити" + +#, c-format +msgid "E462: Could not prepare for reloading \"%s\"" +msgstr "E462: Не зміг підготувати \"%s\" для перевантаження" #, c-format msgid "E321: Could not reload \"%s\"" -msgstr "E321: \"%s\"" +msgstr "E321: Не зміг перевантажити \"%s\"" msgid "--Deleted--" -msgstr "----" +msgstr "--Знищено--" + +#, c-format +msgid "auto-removing autocommand: %s <buffer=%d>" +msgstr "Автоматичне знищення автокоманди: %s <буфер=%d>" #. the group doesn't exist #, c-format msgid "E367: No such group: \"%s\"" -msgstr "E367: դ: \"%s\"" +msgstr "E367: Немає такої групи: \"%s\"" #, c-format msgid "E215: Illegal character after *: %s" -msgstr "E215: Ц *: %s" +msgstr "E215: Недозволений символ після *: %s" # msgstr "E215: " #, c-format msgid "E216: No such event: %s" -msgstr "E216: Ħ դ: %s" +msgstr "E216: Немає такої події: %s" + +# msgstr "E215: " +#, c-format +msgid "E216: No such group or event: %s" +msgstr "E216: Немає такої групи чи події: %s" # msgstr "E216: " #. Highlight title @@ -1396,247 +1851,272 @@ msgid "" "--- Auto-Commands ---" msgstr "" "\n" -"--- ---" +"--- Автокоманди ---" + +#, c-format +msgid "E680: <buffer=%d>: invalid buffer number " +msgstr "E680: <буфер=%d>: некоректний номер буферу " msgid "E217: Can't execute autocommands for ALL events" -msgstr "E217: Ħ" +msgstr "E217: Не можу виконувати автокоманди для УСІХ подій" # msgstr "E217: " msgid "No matching autocommands" -msgstr " դ צצ " +msgstr "Немає відповідних автокоманд" msgid "E218: autocommand nesting too deep" -msgstr " ˦˦ " +msgstr "E218: Забагато вкладених автокоманд" # msgstr "E218: " #, c-format msgid "%s Auto commands for \"%s\"" -msgstr "%s \"%s\"" +msgstr "Автокоманди %s для \"%s\"" #, c-format msgid "Executing %s" -msgstr " %s" +msgstr "Виконується %s" -#. always scroll up, don't overwrite #, c-format msgid "autocommand %s" -msgstr " %s" +msgstr "автокоманда %s" msgid "E219: Missing {." -msgstr " {." +msgstr "E219: Бракує {." # msgstr "E219: " msgid "E220: Missing }." -msgstr " }." +msgstr "E220: Бракує }." # msgstr "E220: " -msgid "No fold found" -msgstr " " +msgid "E490: No fold found" +msgstr "E490: Не знайшов згортку" # msgstr "E349: " msgid "E350: Cannot create fold with current 'foldmethod'" -msgstr "E350: ( 'foldmethod')" +msgstr "E350: Не зміг створити згортку методом 'foldmethod'" msgid "E351: Cannot delete fold with current 'foldmethod'" -msgstr "E351: ( 'foldmethod')" +msgstr "E351: Не зміг знищити згортку методом 'foldmethod'" -msgid "E221: 'commentstring' is empty" -msgstr "E221: æ 'commentstring' " +#, c-format +msgid "+--%3ld lines folded " +msgstr "+-- згорнуто %3ld рядків " msgid "E222: Add to read buffer" -msgstr "E222: [ ]" +msgstr "E222: Додано до прочитаного буферу" msgid "E223: recursive mapping" -msgstr "E332: ͦ " +msgstr "E223: Заміна рекурсивна" # msgstr "E223: " #, c-format msgid "E224: global abbreviation already exists for %s" -msgstr " %s դ" +msgstr "E224: Загальне скорочення %s вже існує" # msgstr "E224: " #, c-format msgid "E225: global mapping already exists for %s" -msgstr " ͦ %s դ" +msgstr "E225: Загальна заміна %s вже існує" # msgstr "E225: " #, c-format msgid "E226: abbreviation already exists for %s" -msgstr " %s դ" +msgstr "E226: Вже є скорочення %s" # msgstr "E226: " #, c-format msgid "E227: mapping already exists for %s" -msgstr "ͦ %s դ" +msgstr "E227: Вже є заміна %s" # msgstr "E227: " msgid "No abbreviation found" -msgstr " " +msgstr "Скорочення не знайдено" msgid "No mapping found" -msgstr "ͦ " +msgstr "Заміни не знайдено" msgid "E228: makemap: Illegal mode" -msgstr "E228: makemap: Ҧ " +msgstr "E228: makemap: Неприпустимий режим" msgid "<cannot open> " -msgstr "< צ> " +msgstr "<не відкривається> " #, c-format -msgid "vim_SelFile: can't get font %s" -msgstr "vim_SelFile: %s" +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: не зміг отримати шрифт %s" -msgid "vim_SelFile: can't return to current directory" -msgstr "vim_SelFile: Ҧ" +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: не зміг повернутися в поточний каталог" msgid "Pathname:" -msgstr ":" +msgstr "Шлях:" -msgid "vim_SelFile: can't get current directory" -msgstr "vim_SelFile: Ħ Ҧ" +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: не зміг отримати поточний каталог" msgid "OK" -msgstr "OK" +msgstr "Гаразд" -#. 'Cancel' button msgid "Cancel" -msgstr "Cancel" +msgstr "Скасувати" msgid "Vim dialog" -msgstr " Vim" +msgstr "Діалог Vim" msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -msgstr "Scrollbar Widget: ͦ ϧ ." +msgstr "Scrollbar Widget: Не зміг визначити розмір скороченої картинки." msgid "E232: Cannot create BalloonEval with both message and callback" -msgstr "" -"E232: BalloonEval צ æ " +msgstr "E232: Не зміг створити BalloonEval з повідомленням і функцією" # msgstr "E228: " msgid "E229: Cannot start the GUI" -msgstr "E229: GUI" +msgstr "E229: Не зміг запустити GUI" # msgstr "E229: " #, c-format msgid "E230: Cannot read from \"%s\"" -msgstr "E230: \"%s\"" +msgstr "E230: Не зміг прочитати з \"%s\"" + +msgid "E665: Cannot start GUI, no valid font found" +msgstr "E665: Не зміг запустити GUI, не знайдено шрифт" # msgstr "E230: " msgid "E231: 'guifontwide' invalid" -msgstr "E231: 'guifontwide' צ" +msgstr "E231: Некоректний 'guifontwide'" -# msgstr "E231: " -msgid "Error" -msgstr "" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Значення 'imactivatekey' некоректне" -msgid "&Ok" -msgstr "&Ok" +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: Не зміг отримати колір %s" + +msgid "No match at cursor, finding next" +msgstr "Немає над курсором, шукаємо далі" # msgstr "E232: " msgid "Vim dialog..." -msgstr " Vim..." +msgstr "Діалог Vim..." + +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Y:Так\n" +"&N:Ні\n" +"&C:Скасувати" + +msgid "Input _Methods" +msgstr "Методи введення" msgid "VIM - Search and Replace..." -msgstr "VIM - ͦ..." +msgstr "VIM - Знайти й замінити..." msgid "VIM - Search..." -msgstr "VIM - " +msgstr "VIM - Пошук..." msgid "Find what:" -msgstr ":" +msgstr "Знайти:" msgid "Replace with:" -msgstr "ͦ:" +msgstr "Замінити на:" + +#. whole word only button +msgid "Match whole word only" +msgstr "Лише повне слово" -#. exact match only button -msgid "Match exact word only" -msgstr " ¦ " +#. match case button +msgid "Match case" +msgstr "Зважати на регістр" msgid "Direction" -msgstr "" +msgstr "Напрям" #. 'Up' and 'Down' buttons msgid "Up" -msgstr "" +msgstr "Вгору" msgid "Down" -msgstr "" +msgstr "Униз" -#. 'Find Next' button msgid "Find Next" -msgstr " Ҧ" +msgstr "Наступне" -#. 'Replace' button msgid "Replace" -msgstr "ͦ" +msgstr "Замінити" -#. 'Replace All' button msgid "Replace All" -msgstr "ͦ Ӧ" +msgstr "Замінити усі" -msgid "E233: cannot open display" -msgstr "E233: צ " +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: Отримав запит про завершення від менеджера сесій\n" -# msgstr "E233: " -#, c-format -msgid "E234: Unknown fontset: %s" -msgstr "E234: צ fontset: %s" +msgid "Close" +msgstr "Закрити" -# msgstr "E234: " -msgid "Font Selection" -msgstr "Ħ" +msgid "New tab" +msgstr "Нова вкладка" -#, c-format -msgid "E235: Unknown font: %s" -msgstr "צ : %s" +msgid "Open Tab..." +msgstr "Відкрити вкладку..." -# msgstr "E235: " -#, c-format -msgid "E236: Font \"%s\" is not fixed-width" -msgstr "E236: \"%s\" " +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Несподівано знищилося головне вікно\n" -# msgstr "E236: " -#, c-format -msgid "E242: Color name not recognized: %s" -msgstr "E242: ͦ : %s" +# msgstr "E234: " +msgid "Font Selection" +msgstr "Вибрати шрифт" # msgstr "E242: " msgid "Used CUT_BUFFER0 instead of empty selection" -msgstr " CUT_BUFFER0 ͦ Ħ" +msgstr "Використано CUT_BUFFER0 замість порожнього виділення" -msgid "Filter" -msgstr "" +msgid "&Filter" +msgstr "&F:Фільтрувати" + +msgid "&Cancel" +msgstr "&C:Скасувати" msgid "Directories" -msgstr "Ҧ" +msgstr "Каталоги" -msgid "Help" -msgstr "" +msgid "Filter" +msgstr "Фільтр" + +msgid "&Help" +msgstr "&H:Допомога" msgid "Files" -msgstr "" +msgstr "Файли" + +msgid "&OK" +msgstr "&O:Гаразд" msgid "Selection" -msgstr "¦ " +msgstr "Виділення" -msgid "Undo" -msgstr "ͦ" +msgid "Find &Next" +msgstr "&N:Знайти далі" -#, c-format -msgid "E235: Can't load Zap font '%s'" -msgstr "" -"E235: riscos, Φ .. ( " -" : %s)" +msgid "&Replace" +msgstr "&R:Замінити" + +msgid "Replace &All" +msgstr "&A:Замінити усі" + +msgid "&Undo" +msgstr "&U:Скасувати" -# msgstr "E235: " #, c-format -msgid "E235: Can't use font %s" -msgstr "E235: %s" +msgid "E610: Can't load Zap font '%s'" +msgstr "E610: Не зміг завантажити шрифт Zap '%s'" # msgstr "E235: " #, c-format -msgid "E242: Missing color: %s" -msgstr "E242: ̦: %s" +msgid "E611: Can't use font %s" +msgstr "E611: Не зміг використати шрифт %s" # msgstr "E242: " msgid "" @@ -1644,539 +2124,714 @@ msgid "" "Sending message to terminate child process.\n" msgstr "" "\n" -" Ħ ̦ͦæ. :-)\n" +"Посилається повідомлення щоб припинити дочірній процес.\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Не зміг знайти вікно \"%s\"" #, c-format msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -msgstr "" -"E243: Цդ: \"-%s\", Ӧ OLE." +msgstr "E243: Аргумент не підтримується: \"-%s\"; користуйтесь версією з OLE." + +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Не зміг відкрити вікно всередині програми MDI" + +msgid "Close tab" +msgstr "Закрити вкладку" + +msgid "Open tab..." +msgstr "Відкрити вкладку..." # msgstr "E245: " msgid "Find string (use '\\\\' to find a '\\')" -msgstr "VIM - " +msgstr "Знайти рядок ('\\\\' щоб знайти '\\')" msgid "Find & Replace (use '\\\\' to find a '\\')" -msgstr "VIM - ͦ..." +msgstr "Знайти і замінити ('\\\\' щоб знайти '\\')" + +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "Немає" + +msgid "Directory\t*.nothing\n" +msgstr "Каталог\t*.нічого\n" msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -msgstr "" -"Vim E458: צ æ æ Ҧ. ˦ " -" Φ" +msgstr "Vim E458: Немає вільних комірок у палітрі, деякі кольори можуть бути неправильні" #, c-format msgid "E250: Fonts for the following charsets are missing in fontset %s:" -msgstr "E250: ̦ צΦ fontset %s:" +msgstr "E250: Шрифти для цих символів відсутні у наборі %s:" # msgstr "E250: " #, c-format msgid "E252: Fontset name: %s" -msgstr "E252: fontset: %s" +msgstr "E252: Назва набору шрифтів: %s" # msgstr "E252: " #, c-format msgid "Font '%s' is not fixed-width" -msgstr " '%s' " +msgstr "Шрифт '%s' не є моноширинним" #, c-format msgid "E253: Fontset name: %s\n" -msgstr "E252: fontset: %s\n" +msgstr "E253: Назва набору шрифтів: %s\n" #, c-format msgid "Font0: %s\n" -msgstr "0: %s\n" +msgstr "Шрифт0: %s\n" #, c-format msgid "Font1: %s\n" -msgstr "1: %s\n" +msgstr "Шрифт1: %s\n" #, c-format -msgid "Font%d width is not twice that of font0\n" -msgstr "Φ %d צަ ¦ font0\n" +msgid "Font%ld width is not twice that of font0\n" +msgstr "Ширина шрифту%ld має бути удвічі більшою за ширину шрифту0\n" #, c-format msgid "Font0 width: %ld\n" -msgstr "Φ font0: %ld\n" +msgstr "Ширина шрифту0: %ld\n" #, c-format msgid "" "Font1 width: %ld\n" "\n" msgstr "" -"Φ font1: %ld\n" +"Ширина шрифту1: %ld\n" "\n" -#, c-format -msgid "E254: Cannot allocate color %s" -msgstr "E254: ͦ ̦ %s" +msgid "Invalid font specification" +msgstr "Некоректна специфікація шрифту" -# msgstr "E254: " -msgid "E255: Couldn't read in sign data!" -msgstr "E255: Φ !" +msgid "&Dismiss" +msgstr "&D:Припинити" + +msgid "no specific match" +msgstr "немає конкретного збігу" + +# msgstr "E234: " +msgid "Vim - Font Selector" +msgstr "Vim - Вибір шрифту" + +msgid "Name:" +msgstr "Назва:" + +#. create toggle button +msgid "Show size in Points" +msgstr "Показати розмір у пунктах" + +msgid "Encoding:" +msgstr "Кодування:" + +msgid "Font:" +msgstr "Шрифт:" + +msgid "Style:" +msgstr "Стиль:" + +msgid "Size:" +msgstr "Розмір:" msgid "E256: Hangul automata ERROR" -msgstr "E256: `Hangul automata' [ ]" +msgstr "E256: Помилка автомату Hangul" + +msgid "E550: Missing colon" +msgstr "E550: Пропущено двокрапку" + +# msgstr "E347: " +msgid "E551: Illegal component" +msgstr "E551: Некоректний компонент" + +msgid "E552: digit expected" +msgstr "E552: очікується цифра" + +#, c-format +msgid "Page %d" +msgstr "Сторінка %d" + +msgid "No text to be printed" +msgstr "Нічого друкувати" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "Друкується сторінка %d (%d%%)" + +#, c-format +msgid " Copy %d of %d" +msgstr " Копія %d з %d" + +#, c-format +msgid "Printed: %s" +msgstr "Надруковано: %s" + +msgid "Printing aborted" +msgstr "Друк перервано" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Не зміг записати вихідний файл PostScript" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: Не зміг відкрити файл \"%s\"" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: Не зміг прочитати файл ресурсів PostScript \"%s\"" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: \"%s\" не є файлом ресурсів PostScript" + +#, c-format +msgid "E619: file \"%s\" is not a supported PostScript resource file" +msgstr "E619: \"%s\" не є підтримуваним файлом ресурсів PostScript" + +#, c-format +msgid "E621: \"%s\" resource file has wrong version" +msgstr "E621: Неправильна версія файлу ресурсів \"%s\"" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Несумісні багатобайтове кодування та набір символів." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "E674: printmbcharset не може бути порожнім з багатобайтовим кодуванням." + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Не зазначено шрифт для багатобайтового друку." + +msgid "E324: Can't open PostScript output file" +msgstr "E324: Не зміг відкрити файл PostScript для виводу" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: Не зміг відкрити файл \"%s\"" + +msgid "E456: Can't find PostScript resource file \"prolog.ps\"" +msgstr "E456: Не зміг знайти файл ресурсів PostScript \"prolog.ps\"" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: Не зміг знайти файл ресурсів PostScript \"cidfont.ps\"" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: Не зміг знайти файл ресурсів PostScript \"%s.ps\"" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: Не зміг перетворити до кодування друку \"%s\"" + +msgid "Sending to printer..." +msgstr "Відсилаємо на принтер..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: Не зміг надрукувати файл PostScript" + +msgid "Print job sent." +msgstr "Завдання друку відіслано." # msgstr "E255: " msgid "Add a new database" -msgstr " " +msgstr "Додати нову базу даних" msgid "Query for a pattern" -msgstr " " +msgstr "Запит за зразком" msgid "Show this message" -msgstr " צ" +msgstr "Показати це повідомлення" msgid "Kill a connection" -msgstr " '" +msgstr "Знищити з'єднання" msgid "Reinit all connections" -msgstr " Ӧ '" +msgstr "Перезапустити усі з'єднання" msgid "Show connections" -msgstr " '" +msgstr "Показати з'єднання" + +#, c-format +msgid "E560: Usage: cs[cope] %s" +msgstr "E560: Використання: cs[cope] %s" msgid "This cscope command does not support splitting the window.\n" -msgstr " cscope ͦ Ħ צ.\n" +msgstr "Ця команда cscope не вміє ділити вікно.\n" -msgid "Usage: cstag <ident>" -msgstr ": cstag <ͦ>" +msgid "E562: Usage: cstag <ident>" +msgstr "E562: Використання: cstag <ідентиф-ор>" msgid "E257: cstag: tag not found" -msgstr "E257: cstag: ͦ " +msgstr "E257: cstag: теґ не знайдено" # msgstr "E257: " #, c-format -msgid "stat(%s) error: %d" -msgstr "stat(%s) : %d" +msgid "E563: stat(%s) error: %d" +msgstr "E563: stat(%s) помилка: %d" + +msgid "E563: stat error" +msgstr "E563: помилка stat" #, c-format -msgid "Added cscope database %s" -msgstr " cscope %s" +msgid "E564: %s is not a directory or a valid cscope database" +msgstr "E564: %s не є ні каталогом, ні базою даних cscope" #, c-format -msgid "%s is not a directory or a valid cscope database" -msgstr "%s Φ Ҧ Φ cscope" +msgid "Added cscope database %s" +msgstr "Додано базу даних cscope %s" #, c-format -msgid "error reading cscope connection %d" -msgstr " ' cscope #%d" +msgid "E262: error reading cscope connection %ld" +msgstr "E262: Помилка читання зі з'єднання cscope %ld" + +msgid "E561: unknown cscope search type" +msgstr "E561: Невідомий тип пошуку cscope" -msgid "unknown cscope search type" -msgstr "צͦ cscope" +msgid "E566: Could not create cscope pipes" +msgstr "E566: Не зміг створити канали до cscope" -msgid "Could not create cscope pipes" -msgstr " cscope" +msgid "E622: Could not fork for cscope" +msgstr "E622: Не зміг розділити процес для cscope" msgid "cs_create_connection exec failed" -msgstr "cs_create_connection: Ц " +msgstr "cs_create_connection: помилка під час виконання" msgid "cs_create_connection: fdopen for to_fp failed" -msgstr "cs_create_connection: fdopen to_fp " +msgstr "cs_create_connection: fdopen для to_fp не вдався" msgid "cs_create_connection: fdopen for fr_fp failed" -msgstr "cs_create_connection: fdopen fr_fp " +msgstr "cs_create_connection: fdopen для fr_fp не вдався" -msgid "no cscope connections" -msgstr " ' cscope" +msgid "E623: Could not spawn cscope process" +msgstr "E623: Не зміг створити процес cscope" + +msgid "E567: no cscope connections" +msgstr "E567: жодного з'єднання із cscope" # msgstr "E258: " #, c-format msgid "E259: no matches found for cscope query %s of %s" -msgstr "E259: %s- cscope %s Ӧ˦" +msgstr "E259: Для запиту cscope %s з %s нічого не знайдено" + +#, c-format +msgid "E469: invalid cscopequickfix flag %c for %c" +msgstr "E469: Некоректний прапорець cscopequickfix %c для %c" # msgstr "E259: " msgid "cscope commands:\n" -msgstr " cscope:\n" +msgstr "Команди cscope:\n" + +#, c-format +msgid "%-5s: %-30s (Usage: %s)" +msgstr "%-5s: %-30s (Використання: %s)" #, c-format -msgid "%-5s: %-30s (Usage: %s)\n" -msgstr "%-5s: %-30s (: %s)\n" +msgid "E625: cannot open cscope database: %s" +msgstr "E625: Не зміг відкрити базу даних cscope: %s" -msgid "duplicate cscope database not added" -msgstr " cscope " +msgid "E626: cannot get cscope database information" +msgstr "E626: Не зміг отримати інформацію з бази даних cscope" -msgid "maximum number of cscope connections reached" -msgstr "˦˦ ' cscope " +msgid "E568: duplicate cscope database not added" +msgstr "E568: Повторна база даних cscope не додана" -msgid "E260: cscope connection not found" -msgstr "E260: ' cscope " +msgid "E569: maximum number of cscope connections reached" +msgstr "E569: Кількість з'єднань з cscope досягла максимуму" # msgstr "E260: " #, c-format msgid "E261: cscope connection %s not found" -msgstr "E261: ' cscope %s " - -# msgstr "E261: " -msgid "cscope connection closed" -msgstr "' cscope ˦" +msgstr "E261: З'єднання з cscope %s не знайдено" #, c-format -msgid "cscope connection %s closed\n" -msgstr "' cscope %s ˦\n" +msgid "cscope connection %s closed" +msgstr "З'єднання з cscope %s закінчено" #. should not reach here -msgid "fatal error in cs_manage_matches" -msgstr "cs_manage_matches: Ӧ˦ ¦ [ ]" +msgid "E570: fatal error in cs_manage_matches" +msgstr "E570: Фатальна помилка в cs_manage_matches" #, c-format -msgid "E262: error reading cscope connection %d" -msgstr "E262: ' cscope %d" +msgid "Cscope tag: %s" +msgstr "Теґ cscope: %s" -# msgstr "E262: " -msgid "couldn't malloc\n" -msgstr " Ħ '\n" - -#, c-format -msgid "Cscope tag: %s\n" -msgstr "ͦ cscope: %s\n" - -msgid " # line" -msgstr " # " +msgid "" +"\n" +" # line" +msgstr "" +"\n" +" # рядок" msgid "filename / context / line\n" -msgstr " / / \n" +msgstr "файл / контекст / рядок\n" + +#, c-format +msgid "E609: Cscope error: %s" +msgstr "E609: Помилка cscope: %s" msgid "All cscope databases reset" -msgstr "Ӧ ' cscope " +msgstr "Усі бази даних cscope перезавантажено" msgid "no cscope connections\n" -msgstr " ' cscope\n" +msgstr "Жодного з'єднання з cscope\n" msgid " # pid database name prepend path\n" -msgstr " # pid \n" +msgstr " # pid назва бази даних шлях\n" -#, c-format -msgid "%2d %-5ld %-34s <none>\n" -msgstr "%2d %-5ld %-34s <>\n" +msgid "???: Sorry, this command is disabled, the MzScheme library could not be loaded." +msgstr "???: Вибачте, ця команда вимкнена, бібліотека MzScheme не може бути завантажена." -#, c-format -msgid "E370: Could not load library %s" -msgstr "E370: ¦̦ %s" +msgid "invalid expression" +msgstr "некоректний вираз" -#, c-format -msgid "E448: Could not load library function %s" -msgstr "E448: ¦̦ æ %s" +msgid "expressions disabled at compile time" +msgstr "обробку виразів вимкнено під час компіляції" -msgid "" -"E263: Sorry, this command is disabled, the Python library could not be " -"loaded." -msgstr "" -"E263: , , ¦̦ Python " -"." +msgid "hidden option" +msgstr "прихована опція" + +msgid "unknown option" +msgstr "невідома опція" + +msgid "window index is out of range" +msgstr "некоректний номер вікна" + +msgid "couldn't open buffer" +msgstr "не зміг відкрити буфер" + +msgid "cannot save undo information" +msgstr "не зміг зберегти інформацію для скасування" + +msgid "cannot delete line" +msgstr "неможливо знищити рядок" + +msgid "cannot replace line" +msgstr "неможливо замінити рядок" + +msgid "cannot insert line" +msgstr "не зміг вставити рядок" + +msgid "string cannot contain newlines" +msgstr "більше ніж один рядок" + +msgid "Vim error: ~a" +msgstr "Помилка Vim: ~a" + +msgid "Vim error" +msgstr "Помилка Vim" + +msgid "buffer is invalid" +msgstr "буфер непридатний" + +msgid "window is invalid" +msgstr "вікно непридатне" + +msgid "linenr out of range" +msgstr "номер рядка за межами файлу" + +msgid "not allowed in the Vim sandbox" +msgstr "не дозволено у пісочниці Vim" + +msgid "E263: Sorry, this command is disabled, the Python library could not be loaded." +msgstr "E263: Вибачте, ця команда вимкнена, бібліотека Python не може бути завантажена." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Не можна рекурсивно викликати Python" msgid "can't delete OutputObject attributes" -msgstr " OutputObject" +msgstr "не зміг знищити атрибути OutputObject" msgid "softspace must be an integer" -msgstr "softspace " +msgstr "softspace має бути цілим" # msgstr "E180: " msgid "invalid attribute" -msgstr "צ " +msgstr "неправильний атрибут" msgid "writelines() requires list of strings" -msgstr "writelines() Ҧ ˦" +msgstr "для writelines() потрібен список рядків" msgid "E264: Python: Error initialising I/O objects" -msgstr "E264: Python: Φæ̦æ 'Ԧ /" - -msgid "invalid expression" -msgstr "צ " - -msgid "expressions disabled at compile time" -msgstr " ڦ Цæ" +msgstr "E264: Python: Помилка ініціалізації об'єктів вводу/виводу" msgid "attempt to refer to deleted buffer" -msgstr " " +msgstr "спроба звернення до знищеного буферу" msgid "line number out of range" -msgstr " " +msgstr "номер рядка за межами файлу" #, c-format msgid "<buffer object (deleted) at %8lX>" -msgstr "<' () %8lX>" +msgstr "<об'єкт буферу (знищено) в %8lX>" msgid "invalid mark name" -msgstr "צ ͦ" +msgstr "неправильна назва позначки" msgid "no such buffer" -msgstr " " +msgstr "такого буферу немає" msgid "attempt to refer to deleted window" -msgstr " צ" +msgstr "спроба звернутися до знищеного вікна" msgid "readonly attribute" -msgstr " " +msgstr "лише для читання" msgid "cursor position outside buffer" -msgstr " " +msgstr "курсор за межами буферу" #, c-format msgid "<window object (deleted) at %.8lX>" -msgstr "<' צ () %.8lX>" +msgstr "<об'єкт вікна (знищено) в %.8lX>" #, c-format msgid "<window object (unknown) at %.8lX>" -msgstr "<' צ (צ) %.8lX>" +msgstr "<об'єкт вікна (невідомий) в %.8lX>" #, c-format msgid "<window %d>" -msgstr "<צ %d>" +msgstr "<вікно %d>" msgid "no such window" -msgstr " צ " +msgstr "такого вікна немає" -msgid "cannot save undo information" -msgstr " æ צͦ" +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ має бути екземпляром рядка" -msgid "cannot delete line" -msgstr " " +msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "E266: Вибачте, ця команда вимкнена, бібліотека Ruby не може бути завантажена." -msgid "cannot replace line" -msgstr " ͦ " +# msgstr "E414: " +msgid "E267: unexpected return" +msgstr "E267: несподіваний return" -msgid "cannot insert line" -msgstr " " +msgid "E268: unexpected next" +msgstr "E268: несподіваний next" -msgid "string cannot contain newlines" -msgstr "¦ Φ " +msgid "E269: unexpected break" +msgstr "E269: несподіваний break" -msgid "" -"E266: Sorry, this command is disabled, the Ruby library could not be loaded." -msgstr "" -"E266: , , ¦̦ Ruby ." +msgid "E270: unexpected redo" +msgstr "E270: несподіваний redo" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: retry поза rescue" + +msgid "E272: unhandled exception" +msgstr "E272: Необроблений виняток" # msgstr "E233: " #, c-format msgid "E273: unknown longjmp status %d" -msgstr "E234: צ longjmp: %d" +msgstr "E273: Невідомий статус longjmp: %d" msgid "Toggle implementation/definition" -msgstr " implementation/definition" +msgstr "Перемкнути реалізацію/визначення" msgid "Show base class of" -msgstr " " +msgstr "Знайти базовий клас" msgid "Show overridden member function" -msgstr " ͦΦ(overridden) æ-" +msgstr "Показати замінені функції-члени" msgid "Retrieve from file" -msgstr " " +msgstr "Прочитати з файлу" msgid "Retrieve from project" -msgstr " " +msgstr "Отримати з проекту" msgid "Retrieve from all projects" -msgstr " Ӧ Ԧ" +msgstr "Отримати з усіх проектів" msgid "Retrieve" -msgstr "" +msgstr "Отримати" msgid "Show source of" -msgstr "" +msgstr "Джерело" msgid "Find symbol" -msgstr " " +msgstr "Знайти символ" msgid "Browse class" -msgstr " " +msgstr "Переглянути клас" msgid "Show class in hierarchy" -msgstr " Ȧ" +msgstr "Показати клас в ієрархії" msgid "Show class in restricted hierarchy" -msgstr " Φ Ȧ" +msgstr "Показати клас в обмеженій ієрархії" msgid "Xref refers to" -msgstr "Xref դ " +msgstr "Xref вказує на" msgid "Xref referred by" -msgstr " Xref " +msgstr "На Xref вказано з" msgid "Xref has a" -msgstr "Xref " +msgstr "Xref має" msgid "Xref used by" -msgstr "Xref " +msgstr "Xref використано" msgid "Show docu of" -msgstr " docu" +msgstr "Показати docu" msgid "Generate docu for" -msgstr " docu " +msgstr "Створити docu для" -msgid "" -"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -"$PATH).\n" -msgstr "" -" ڤ SNiFF+. צ \n" -"(sniffemacs ).\n" +msgid "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in $PATH).\n" +msgstr "Не зміг з'єднатися з SNiFF+. Перевірте оточення (sniffemacs має бути у $PATH).\n" msgid "E274: Sniff: Error during read. Disconnected" -msgstr "E274: Sniff: . Ĥ" +msgstr "E274: Sniff: Помилка під час читання. Від'єднано" msgid "SNiFF+ is currently " -msgstr " SNiFF" +msgstr "Зараз SNiFF+" msgid "not " -msgstr " " +msgstr "не " msgid "connected" -msgstr "ЦĤ" +msgstr "під'єднаний" #, c-format msgid "E275: Unknown SNiFF+ request: %s" -msgstr "E275: צ SNiFF+: %s" +msgstr "E275: Невідомий запит до SNiFF+: %s" msgid "E276: Error connecting to SNiFF+" -msgstr "E276: Ц ڤ SNiFF+" +msgstr "E276: Помилка з'єднання до SNiFF+" msgid "E278: SNiFF+ not connected" -msgstr "E278: SNiFF+ ЦĤ" +msgstr "E278: SNiFF+ не під'єднано" msgid "E279: Not a SNiFF+ buffer" -msgstr "E279: SNiFF+" +msgstr "E279: Не є буфером SNiFF+" msgid "Sniff: Error during write. Disconnected" -msgstr "Sniff. . Ĥ" +msgstr "Sniff: Помилка запису. Від'єднано" msgid "invalid buffer number" -msgstr "צ " +msgstr "неправильна назва буферу" msgid "not implemented yet" -msgstr " Ħ ( )" - -msgid "unknown option" -msgstr "צ æ" +msgstr "ще не реалізовано" #. ??? msgid "cannot set line(s)" -msgstr " " +msgstr "не зміг встановити рядки" # msgstr "E19: " msgid "mark not set" -msgstr "ͦ " +msgstr "помітку не вказано" #, c-format msgid "row %d column %d" -msgstr " %d %d" +msgstr "рядок %d колонка %d" msgid "cannot insert/append line" -msgstr " / " +msgstr "Не зміг вставити/додати рядок" msgid "unknown flag: " -msgstr "צ : " +msgstr "невідомий прапорець: " msgid "unknown vimOption" -msgstr "צ æ" +msgstr "Невідома опція Vim" msgid "keyboard interrupt" -msgstr " " +msgstr "перервано з клавіатури" msgid "vim error" -msgstr " Vim" +msgstr "помилка Vim" msgid "cannot create buffer/window command: object is being deleted" -msgstr " צ/: ' Ѥ" +msgstr "не зміг створити команду вікна/буферу: об'єкт знищується" -msgid "" -"cannot register callback command: buffer/window is already being deleted" -msgstr " Ť Ħ: /צ դ" +msgid "cannot register callback command: buffer/window is already being deleted" +msgstr "Не зміг зареєструвати подію: буфер/вікно уже знищується" #. This should never happen. Famous last word? -msgid "" -"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to " -"vim-dev@vim.org" -msgstr "" -"E280: Ӧ TCL: .. " -"צ, , vim-dev@vim.org" +msgid "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim.org" +msgstr "E280: ФАТАЛЬНА ПОМИЛКА TCL: можливо пошкоджено список посилань!? Будь ласка, повідомте у vim-dev@vim.org" msgid "cannot register callback command: buffer/window reference not found" -msgstr " Ť Ħ: /צ " +msgstr "Не зміг зареєструвати команду події: посилання на буфер/вікно не знайдено" -msgid "Sorry, this command is disabled: the Tcl library could not be loaded." -msgstr ", , ¦̦ Tcl ." +msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "E571: Вибачте, ця команда вимкнена, бібліотека Tcl не може бути завантажена." -msgid "" -"E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" -msgstr "" -"E280: Ӧ TCL: int.. צ, " -", vim-dev@vim.org" +msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" +msgstr "E281: ПОМИЛКА TCL: код виходу не є цілим!? Будь ласка, повідомте у vim-dev@vim.org" + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: Код виходу %d" msgid "cannot get line" -msgstr " Ħ " +msgstr "не зміг дістати рядок" msgid "Unable to register a command server name" -msgstr " Ť ' " - -#, c-format -msgid "E247: no registered server named \"%s\"" -msgstr "E354: Ҧ ' \"%s\"" +msgstr "Не зміг зареєструвати назву сервера команд" msgid "E248: Failed to send command to the destination program" -msgstr "E248: צĦ ˦ϧ " +msgstr "E248: Не вдалося відіслати команду до програми-призначення" #, c-format -msgid "Invalid server id used: %s" -msgstr " צ :%s" - -msgid "E249: couldn't read VIM instance registry property" -msgstr "E249: Ť Vim" +msgid "E573: Invalid server id used: %s" +msgstr "E573: Використано некоректний ідентифікатор сервера: %s" msgid "E251: VIM instance registry property is badly formed. Deleted!" -msgstr "E251: Ť Vim צ . !" +msgstr "E251: Реквізит реєстру зразку VIM сформований неправильно. Знищено!" -msgid "Unknown option" -msgstr "צ æ" +msgid "Unknown option argument" +msgstr "Невідомий аргумент опції" msgid "Too many edit arguments" -msgstr " Ԧ" +msgstr "Забагато аргументів" msgid "Argument missing after" -msgstr " Ц" +msgstr "Пропущено аргумент після" -msgid "Garbage after option" -msgstr "ͦ æ" +msgid "Garbage after option argument" +msgstr "Сміття після аргументу опції" -msgid "Too many \"+command\" or \"-c command\" arguments" -msgstr " '+' '-c' Ԧ" +msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" +msgstr "Забагато аргументів у \"+команда\", \"-c команда\" або \"--cmd команда\"" # msgstr "E14: " msgid "Invalid argument for" -msgstr "צ " +msgstr "Неправильний аргумент у" + +#, c-format +msgid "%d files to edit\n" +msgstr "%d файли(ів)\n" msgid "This Vim was not compiled with the diff feature." -msgstr " Ӧ Vim Ц Ц diff." +msgstr "Ця версія Vim не була скомпільована з підтримкою порівняння." msgid "Attempt to open script file again: \"" -msgstr " צ \"" - -msgid "\"\n" -msgstr "\"\n" +msgstr "Спроба повторно відкрити скрипт: \"" msgid "Cannot open for reading: \"" -msgstr " : \"" +msgstr "Не зміг прочитати: \"" msgid "Cannot open for script output: \"" -msgstr " צ צȦ : \"" +msgstr "Не зміг відкрити як вихідний файл: \"" -#, c-format -msgid "%d files to edit\n" -msgstr "%d ̦ \n" +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Помилка: Не вдалося запустити gvim для NetBeans\n" msgid "Vim: Warning: Output is not to a terminal\n" -msgstr "Vim: : Ȧ ͦ\n" +msgstr "Vim: Увага: Вивід не на термінал\n" msgid "Vim: Warning: Input is not from a terminal\n" -msgstr "Vim: : Ȧ ͦ\n" +msgstr "Vim: Увага: Уведення не з терміналу\n" #. just in case.. msgid "pre-vimrc command line" -msgstr " ˦ vimrc" +msgstr "команди перед vimrc" #, c-format msgid "E282: Cannot read from \"%s\"" -msgstr "E282: \"%s\"" +msgstr "E282: Не зміг прочитати \"%s\"" # msgstr "E282: " msgid "" @@ -2184,19 +2839,19 @@ msgid "" "More info with: \"vim -h\"\n" msgstr "" "\n" -" ¦: vim -h\n" +"Дізнайтеся більше: \"vim -h\"\n" msgid "[file ..] edit specified file(s)" -msgstr "[ ..] " +msgstr "[файл ..] редагувати вказані файли" msgid "- read text from stdin" -msgstr "- stdin" +msgstr "- читати текст з stdin" msgid "-t tag edit file where tag is defined" -msgstr "-t ͦ ͦ" +msgstr "-t помітка перейти до теґу" msgid "-q [errorfile] edit file with first error" -msgstr "-q [] ϧ " +msgstr "-q [файл] перейти до першої помилки" msgid "" "\n" @@ -2205,17 +2860,24 @@ msgid "" msgstr "" "\n" "\n" -":" +"Вжиток:" msgid " vim [arguments] " -msgstr " vim [] " +msgstr " vim [аргументи] " msgid "" "\n" " or:" msgstr "" "\n" -" :" +" або:" + +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Якщо регістр ігнорується, додайте / спереду, щоб прапорець був у верхньому регістрі." msgid "" "\n" @@ -2224,299 +2886,319 @@ msgid "" msgstr "" "\n" "\n" -":\n" +"Аргументи:\n" msgid "--\t\t\tOnly file names after this" -msgstr "--\t\t\t ̦ Ц " +msgstr "--\t\t\tЛише назви файлів після цього" + +msgid "--literal\t\tDon't expand wildcards" +msgstr "--literal\t\tНе розкривати шаблони" msgid "-register\t\tRegister this gvim for OLE" -msgstr "-register\t\tŤ gvim OLE" +msgstr "-register\t\tЗареєструвати цей gvim для OLE" msgid "-unregister\t\tUnregister gvim for OLE" -msgstr "-unregister\t\tͦ Ťæ gvim OLE" +msgstr "-unregister\t\tСкасувати реєстрацію цього gvim для OLE" msgid "-g\t\t\tRun using GUI (like \"gvim\")" -msgstr "-g\t\t\t GUI (Φ \"gvim\")" +msgstr "-g\t\t\tЗапустити GUI (ніби \"gvim\")" -msgid "-f\t\t\tForeground: Don't fork when starting GUI" -msgstr "-f\t\t\t ͦ Ц GUI" +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f чи --nofork\tПередній план: тримати термінал після запуску GUI" msgid "-v\t\t\tVi mode (like \"vi\")" -msgstr "-v\t\t\t Vi (Φ \"vi\")" +msgstr "-v\t\t\tРежим Vi (ніби \"vi\")" msgid "-e\t\t\tEx mode (like \"ex\")" -msgstr "-e\t\t\t Ex (Φ \"ex\")" +msgstr "-e\t\t\tРежим Ex (ніби \"ex\")" msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" -msgstr "-s\t\t\t ( \"ex\")" +msgstr "-s\t\t\tМовчазний (пакетний) режим (лише для \"ex\")" msgid "-d\t\t\tDiff mode (like \"vimdiff\")" -msgstr "-d\t\t\t diff (Φ \"vimdiff\")" +msgstr "-d\t\t\tРежим порівняння (ніби \"vimdiff\")" msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" -msgstr "-y\t\t\t (Φ \"evim\")" +msgstr "-y\t\t\tПростий режим (ніби \"evim\", без режимів)" msgid "-R\t\t\tReadonly mode (like \"view\")" -msgstr "-R\t\t\t (Φ \"view\")" +msgstr "-R\t\t\tРежим перегляду (ніби \"view\")" msgid "-Z\t\t\tRestricted mode (like \"rvim\")" -msgstr "-Z\t\t\t (Φ \"rvim\")" +msgstr "-Z\t\t\tОбмежений режим (ніби \"rvim\")" msgid "-m\t\t\tModifications (writing files) not allowed" -msgstr "-m\t\t\tͦ ( ̦) " +msgstr "-m\t\t\tЗміни (запис файлів) не дозволено" msgid "-M\t\t\tModifications in text not allowed" -msgstr "-M\t\t\tͦ Ԧ ̦ " +msgstr "-M\t\t\tЗміни в тексті файлів не дозволено" msgid "-b\t\t\tBinary mode" -msgstr "-b\t\t\tצ " +msgstr "-b\t\t\tДвійковий режим" msgid "-l\t\t\tLisp mode" -msgstr "-l\t\t\t lisp" +msgstr "-l\t\t\tРежим lisp" msgid "-C\t\t\tCompatible with Vi: 'compatible'" -msgstr "-C\t\t\t, ͦ Vi: 'compatible'" +msgstr "-C\t\t\tСумісний з Vi режим: 'compatible'" msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" -msgstr "-N\t\t\t Ӧ ͦ Vi : 'nocompatible'" +msgstr "-N\t\t\tНе зовсім сумісний з Vi режим: 'nocompatible'" -msgid "-V[N]\t\tVerbose level" -msgstr "-V[N]\t\t Ԧ" +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "-V[N][файл]\t\tБільше повідомлень [рівень N] [файл журн. повідомлень]" msgid "-D\t\t\tDebugging mode" -msgstr "-D\t\t\t " +msgstr "-D\t\t\tРежим налагодження" msgid "-n\t\t\tNo swap file, use memory only" -msgstr "-n\t\t\t ͦ, 'Ԧ" +msgstr "-n\t\t\tНе використовувати файл обміну, тримати усе в пам'яті" msgid "-r\t\t\tList swap files and exit" -msgstr "-r\t\t\t ͦ " +msgstr "-r\t\t\tПоказати файли обміну і вийти" msgid "-r (with file name)\tRecover crashed session" -msgstr "-r ( )\t Ҧ ˦ " +msgstr "-r (назва файлу)\tВідновити аварійно закінчений сеанс" msgid "-L\t\t\tSame as -r" -msgstr "-L\t\t\t -r" +msgstr "-L\t\t\tТе саме, що й -r" msgid "-f\t\t\tDon't use newcli to open window" -msgstr "-f\t\t\t ͦ Amiga. , Bram." +msgstr "-f\t\t\tНе використовувати newcli для відкриття вікна" msgid "-dev <device>\t\tUse <device> for I/O" -msgstr "-dev <Ҧ>\t\t\t Ҧ /" +msgstr "-dev <пристрій>\t\t\tВикористовувати <пристрій> для вводу/виводу" -msgid "-H\t\t\tstart in Hebrew mode" -msgstr "-H\t\t\t ͦ Hebrew" +msgid "-A\t\t\tstart in Arabic mode" +msgstr "-A\t\t\tЗапустити в режимі арабської мови" -msgid "-F\t\t\tstart in Farsi mode" -msgstr "-F\t\t\t ͦ" +msgid "-H\t\t\tStart in Hebrew mode" +msgstr "-H\t\t\tЗапустити в режимі івриту" + +msgid "-F\t\t\tStart in Farsi mode" +msgstr "-F\t\t\tЗапустити в режимі перської мови" msgid "-T <terminal>\tSet terminal type to <terminal>" -msgstr "-T <ͦ>\t ͦ" +msgstr "-T <термінал>\tВстановити тип терміналу у <термінал>" msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" -msgstr "-u <vimrc>\t\t .vimrc" +msgstr "-u <vimrc>\t\tВикористати поданий файл замість .vimrc" msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -msgstr "-u <gvimrc>\t\t .gvimrc" +msgstr "-u <gvimrc>\t\tВикористати поданий файл замість .gvimrc" msgid "--noplugin\t\tDon't load plugin scripts" -msgstr "--noplugin\t\t -" +msgstr "--noplugin\t\tНе вантажити скрипти доповнення" + +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tВідкрити N вкладок (або по одній для кожного файлу)" msgid "-o[N]\t\tOpen N windows (default: one for each file)" -msgstr "" -"-o[N]\t\t N צ ( -- \n" -"\t\t\t )" +msgstr "-o[N]\t\tВідкрити N вікон (або по одному для кожного файлу)" -msgid "-O[N]\t\tlike -o but split vertically" -msgstr "-O[N]\t\tΦ -o, Ħ צ " +msgid "-O[N]\t\tLike -o but split vertically" +msgstr "-O[N]\t\tНіби -o, але поділити вікна вертикально" msgid "+\t\t\tStart at end of file" -msgstr "+\t\t\t ˦æ " +msgstr "+\t\t\tРозпочати в кінці файлу" msgid "+<lnum>\t\tStart at line <lnum>" -msgstr "+<>\t\t " +msgstr "+<рядок>\t\tРозпочати у вказаному <рядку>" msgid "--cmd <command>\tExecute <command> before loading any vimrc file" -msgstr "" -"--cmd <>\t - .*rc ̦" +msgstr "--cmd <команда>\tВиконати <команду> перед завантаженням vimrc" msgid "-c <command>\t\tExecute <command> after loading the first file" -msgstr "-c <>\t\t Ц " +msgstr "-c <команда>\t\tВиконати <команду> після завантаження першого файлу" msgid "-S <session>\t\tSource file <session> after loading the first file" -msgstr "-S <>\t\t Ц " +msgstr "-S <сеанс>\t\tВиконати поданий файл після першого завантаженого файлу" msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" -msgstr "-s <>\t\t <scriptin>" +msgstr "-s <скрипт>\t\tЗчитати команди нормального режиму з файлу <скрипт>" msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" -msgstr "-w <>\t\t Ӧ Φ " +msgstr "-w <скрипт>\t\tДописати усі набрані команди до файлу <скрипт>" msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" -msgstr "-w <>\t\t Ӧ Φ " +msgstr "-w <скрипт>\t\tЗаписати усі набрані команди у файл <скрипт>" msgid "-x\t\t\tEdit encrypted files" -msgstr "-x\t\t\t " +msgstr "-x\t\t\tРедагувати зашифровані файли" msgid "-display <display>\tConnect vim to this particular X-server" -msgstr "-display <>\t vim " +msgstr "-display <дисплей>\tПід'єднати vim до заданого дисплею сервера X" msgid "-X\t\t\tDo not connect to X server" -msgstr "-X\t\t\t ' X " +msgstr "-X\t\t\tНе з'єднуватися з X сервером" -msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -msgstr "--socketid <xid>\t Vim Ԧ GTK" +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "--remote <файли>\tРедагувати <файли> на сервері Vim, якщо це можливо" -msgid "--remote <files>\tEdit <files> in a Vim server and exit" -msgstr "--remote <>\t Vim Ҧ " +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "--remote-silent <файли> Те саме, тільки не скаржитися на відсутність сервера" -msgid "" -"--remote-wait <files> As --remote but wait for files to have been edited" -msgstr "" -"--remote-wait <> ..., Ӧ צ" +msgid "--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "--remote-wait <файли> ..., але зачекати поки усі файли будуть відредаговані" + +msgid "--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "--remote-wait-silent <файли> Те саме, тільки не скаржитися, якщо сервера немає" + +msgid "--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "--remote-tab[-wait][-silent] <файли> Так само, як --remote, але по вкладці на файл" msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" -msgstr "--remote-send <> Ħ <> " +msgstr "--remote-send <символи> Відіслати <символи> серверу і завершити роботу" msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" -msgstr "" -"--remote-expr <> Ҧ, " +msgstr "--remote-expr <вираз> Виконати <вираз> у сервері Vim і надрукувати результат" msgid "--serverlist\t\tList available Vim server names and exit" -msgstr "" -"--serverlist\t\t Ҧ Vim " +msgstr "--serverlist\t\tПоказати список наявних серверів Vim і завершити роботу" msgid "--servername <name>\tSend to/become the Vim server <name>" -msgstr "--servername <'>\tЦ / Vim '" +msgstr "--servername <назва>\tСпілкуватися з/стати Vim сервером з такою назвою" msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" -msgstr "-i <viminfo>\t\t .viminfo" +msgstr "-i <viminfo>\t\tВикористати <viminfo> замість .viminfo" -msgid "-h\t\t\tprint Help (this message) and exit" -msgstr "-h\t\t\t צ, " +msgid "-h or --help\tPrint Help (this message) and exit" +msgstr "-h чи --help\tНадрукувати це повідомлення і вийти" -msgid "--version\t\tprint version information and exit" -msgstr "--version\t\t æ Ӧ " +msgid "--version\t\tPrint version information and exit" +msgstr "--version\t\tНадрукувати інформацію про версію програми та вийти" msgid "" "\n" "Arguments recognised by gvim (Motif version):\n" msgstr "" "\n" -" gvim (Ӧ Motif)\n" +"Аргументи для gvim (версія Motif)\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"Аргументи для gvim (версія neXtaw):\n" msgid "" "\n" "Arguments recognised by gvim (Athena version):\n" msgstr "" "\n" -" gvim (Ӧ Athena)\n" +"Аргументи для gvim (версія Athena)\n" msgid "-display <display>\tRun vim on <display>" -msgstr "-display <>\t vim " +msgstr "-display <дисплей>\tВиконати vim на заданому <дисплеї>" msgid "-iconic\t\tStart vim iconified" -msgstr "-iconic\t\t Vim" +msgstr "-iconic\t\tЗапустити Vim і згорнути його вікно" msgid "-name <name>\t\tUse resource as if vim was <name>" -msgstr "-name <'>\t\t <`>" +msgstr "-name <назва>\t\tВикористати ресурси, ніби vim має задану <назву>" msgid "\t\t\t (Unimplemented)\n" -msgstr "\t\t\t ( Ħ)\n" +msgstr "\t\t\t (Не діє)\n" msgid "-background <color>\tUse <color> for the background (also: -bg)" -msgstr "-background <̦>\t <̦> (: -bg)" +msgstr "-background <колір>\tВикористати <колір> для фону (також: -bg)" msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -msgstr "" -"-foreground <̦>\t <̦> (: -fg)" +msgstr "-foreground <колір>\tВикористати <колір> для звичайного тексту (також: -fg)" msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -msgstr "-font <>\t <> (: -fn)" +msgstr "-font <шрифт>\tВикористати <шрифт> для звичайного тексту (також: -fn)" msgid "-boldfont <font>\tUse <font> for bold text" -msgstr "-boldfont <>\t <> " +msgstr "-boldfont <шрифт>\tВикористати <шрифт> для жирного тексту" msgid "-italicfont <font>\tUse <font> for italic text" -msgstr "-italicfont <>\t <> " +msgstr "-italicfont <шрифт>\tВикористати <шрифт> для похилого тексту" msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -msgstr "-geometry <>\t ͦ (: -geom)" +msgstr "-geometry <геом>\tЗадати розміри та положення (також: -geom)" msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -msgstr "-borderwidth <>\t <> (: -bw)" +msgstr "-borderwidth <товщ>\tВстановити товщину меж <товщ> (також: -bw)" msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -msgstr "-scrollbarwidth <> ̦Φ (: -sw)" +msgstr "-scrollbarwidth <товщ> Встановити товщину лінійки зсуву (також: -sw)" msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" -msgstr "-menuheight <>\t <> (: -mh)" +msgstr "-menuheight <висота>\tВстановити висоту меню <висота> (також: -mh)" msgid "-reverse\t\tUse reverse video (also: -rv)" -msgstr "-reverse\t\t (: -rv)" +msgstr "-reverse\t\tОбернути кольори (також: -rv)" msgid "+reverse\t\tDon't use reverse video (also: +rv)" -msgstr "+reverse\t\t (: +rv)" +msgstr "+reverse\t\tНе обертати кольори (також: +rv)" msgid "-xrm <resource>\tSet the specified resource" -msgstr "-xrm <>\t צצ " +msgstr "-xrm <ресурс>\t\tВстановити зазначений ресурс" msgid "" "\n" "Arguments recognised by gvim (RISC OS version):\n" msgstr "" "\n" -" gvim (Ӧ RISC OS):\n" +"Аргументи gvim (версія RISC OS):\n" msgid "--columns <number>\tInitial width of window in columns" -msgstr "--columns <˦˦>\t צ " +msgstr "--columns <кількість>\tПочаткова кількість колонок вікна" msgid "--rows <number>\tInitial height of window in rows" -msgstr "--rows <˦˦>\t צ " +msgstr "--rows <кількість>\tПочаткова кількість рядків вікна" msgid "" "\n" "Arguments recognised by gvim (GTK+ version):\n" msgstr "" "\n" -" gvim (Ӧ GTK+)\n" +"Аргументи gvim (версія GTK+)\n" msgid "-display <display>\tRun vim on <display> (also: --display)" -msgstr "" -"-display <>\t vim ŧ (: --display)" +msgstr "-display <дисплей>\tВиконати vim на <дисплеї> (також: --display)" + +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <роль>\tВстановити унікальну роль для ідентифікації головного вікна" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\tВідкрити Vim в іншому елементі інтерфейсу GTK" + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <заголовок батька>\tВідкрити Vim всередині батьківського вікна" -msgid "--help\t\tShow Gnome arguments" -msgstr "--help\t\t Gnome" +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tВідкрити Vim всередині іншого елементу win32" + +msgid "No display" +msgstr "Немає дисплею" #. Failed to send, abort. -msgid "" -"\n" -"Send failed.\n" -msgstr "" -"\n" -" צĦ .\n" +msgid ": Send failed.\n" +msgstr ": Не вдалося відіслати.\n" #. Let vim start normally. -msgid "" -"\n" -"Send failed. Trying to execute locally\n" -msgstr "" -"\n" -" צĦ Φ. դ ͦæ\n" +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Не вдалося відіслати. Спробуємо виконати на місці\n" #, c-format msgid "%d of %d edited" -msgstr "%d %d ̦ צ" +msgstr "відредаговано %d з %d" + +msgid "No display: Send expression failed.\n" +msgstr "Немає дисплею: Відіслати вираз не вдалося.\n" -msgid "Send expression failed.\n" -msgstr " צĦ .\n" +msgid ": Send expression failed.\n" +msgstr ": Відіслати вираз не вдалося.\n" msgid "No marks set" -msgstr " ͦ " +msgstr "Не встановлено жодної помітки" #, c-format msgid "E283: No marks matching \"%s\"" -msgstr "E283: ͦ \"%s\" " +msgstr "E283: Помітку \"%s\" не знайдено" # msgstr "E283: " #. Highlight title @@ -2525,418 +3207,438 @@ msgid "" "mark line col file/text" msgstr "" "\n" -". . . /" +"пом. ряд. кол. файл/текст" #. Highlight title -#~ msgid "" -#~ "\n" -#~ " jump line col file/text" -#~ msgstr "" +msgid "" +"\n" +" jump line col file/text" +msgstr "" +"\n" +" точка ряд. стовп. файл/текст" + +# msgstr "E283: " +#. Highlight title +msgid "" +"\n" +"change line col text" +msgstr "" +"\n" +"змінити ряд. стовп. текст" # TODO +#, c-format msgid "" "\n" "# File marks:\n" msgstr "" "\n" -"# ͦ:\n" +"# Помітки:\n" #. Write the jumplist with -' +#, c-format msgid "" "\n" "# Jumplist (newest first):\n" msgstr "" "\n" -"# Ħ\n" +"# Список переходів (від найновіших):\n" # TODO +#, c-format msgid "" "\n" "# History of marks within files (newest to oldest):\n" msgstr "" "\n" -"# Φ ͦ ( צ):\n" +"# Попередні помітки в файлах (від найновіших):\n" msgid "Missing '>'" -msgstr " '>'" +msgstr "Пропущено '>'" -msgid "Not a valid codepage" -msgstr " Ҧ դ" +msgid "E543: Not a valid codepage" +msgstr "E543: Некоректна кодова сторінка" msgid "E284: Cannot set IC values" -msgstr "E284: IC" +msgstr "E284: Не зміг встановити значення контексту вводу" msgid "E285: Failed to create input context" -msgstr "E285: Ц `input context'" +msgstr "E285: Не вдалося створити контекст вводу" msgid "E286: Failed to open input method" -msgstr "E286: Ц `input method'" +msgstr "E286: Не вдалося створити метод вводу" # msgstr "E286: " msgid "E287: Warning: Could not set destroy callback to IM" -msgstr "E287: : Ħ IM" +msgstr "E287: Увага: Не зміг встановити в методі вводу подію знищення" # msgstr "E287: " msgid "E288: input method doesn't support any style" -msgstr "E288: `input method' Цդ ̦" +msgstr "E288: Метод вводу не підтримує стилі" # msgstr "E288: " msgid "E289: input method doesn't support my preedit type" -msgstr "E289: `input method' Цդ Φ " +msgstr "E289: Метод вводу не підтримує відредаговані типи" # msgstr "E289: " msgid "E290: over-the-spot style requires fontset" -msgstr "E290: fontset" +msgstr "E290: Стиль over-the-spot вимагає набір шрифтів" # msgstr "E290: " msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" -msgstr "E291: Ӧ ¦̦ GTK+ 1.2.3. `Status area' " +msgstr "E291: У вас старша за 1.2.3 версія GTK+. Область стану вимкнено" # msgstr "E291: " msgid "E292: Input Method Server is not running" -msgstr "E292: IM æդ" +msgstr "E292: Сервер методу вводу не функціонує" # msgstr "E292: " msgid "E293: block was not locked" -msgstr "E293: Ʀ" +msgstr "E293: Блок не було зафіксовано" # msgstr "E293: " msgid "E294: Seek error in swap file read" -msgstr "E294: ͦ ڦ ̦ ͦ" +msgstr "E294: Помилка зміни позиції у файлі обміну" msgid "E295: Read error in swap file" -msgstr "E295: ͦ" +msgstr "E295: Помилка зчитування файлу обміну" msgid "E296: Seek error in swap file write" -msgstr "E296: ͦ ڦ Ц ͦ" +msgstr "E296: Помилка зміни позиції під час запису у файл обміну" msgid "E297: Write error in swap file" -msgstr "E297: ͦ" +msgstr "E297: Помилка запису файлу обміну" msgid "E300: Swap file already exists (symlink attack?)" -msgstr "E300: ͦ դ! (??)" +msgstr "E300: Файл обміну вже існує (атака символьним посиланням?)" msgid "E298: Didn't get block nr 0?" -msgstr "E298: 0? [ ]" +msgstr "E298: Немає блоку 0?" msgid "E298: Didn't get block nr 1?" -msgstr "E298: 1? [ ]" +msgstr "E298: Немає блоку 1?" # msgstr "E298: " msgid "E298: Didn't get block nr 2?" -msgstr "E298: 2? [ ]" +msgstr "E298: Немає блоку 2?" #. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" -msgstr "E301: ͦ !!!" +msgstr "E301: Ой, втрачено файл обміну!!!" # msgstr "E301: " msgid "E302: Could not rename swap file" -msgstr "E302: ͦ" +msgstr "E302: Не зміг перейменувати файлу обміну" # msgstr "E302: " #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" -msgstr "E303: ͦ \"%s\", צ " +msgstr "E303: Не зміг прочитати файл обміну для \"%s\", відновлення неможливе" -msgid "E304: ml_timestamp: Didn't get block 0??" -msgstr "E304: ml_timestamp: 0?? [ ]" +msgid "E304: ml_upd_block0(): Didn't get block 0??" +msgstr "E304: ml_upd_block0(): Немає блоку 0??" #, c-format msgid "E305: No swap file found for %s" -msgstr "E305: ͦ %s" +msgstr "E305: Не знайдено файлу обміну для %s" # msgstr "E305: " msgid "Enter number of swap file to use (0 to quit): " -msgstr " ͦ (0 ):" +msgstr "Введіть номер файлу обміну, котрий використати, (0 для виходу):" #, c-format msgid "E306: Cannot open %s" -msgstr "E306: צ %s" +msgstr "E306: Не зміг відкрити %s" msgid "Unable to read block 0 from " -msgstr " 0 " +msgstr "Не зміг прочитати блок 0 з " msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." msgstr "" "\n" -" ͦ , Vim ͦ." +"Напевно, змін не було, або Vim не поновив файл обміну." msgid " cannot be used with this version of Vim.\n" -msgstr " æ Ӧ Vim.\n" +msgstr " не можна використати з цією версією Vim.\n" msgid "Use Vim version 3.0.\n" -msgstr "Ħ Vim 3.0\n" +msgstr "Знайдіть Vim 3.0\n" #, c-format msgid "E307: %s does not look like a Vim swap file" -msgstr "E307: %s ͦ Vim" +msgstr "E307: %s не схоже на файл обміну Vim" msgid " cannot be used on this computer.\n" -msgstr " ۦ ȦҦ.\n" +msgstr " не можна використати на цьому комп'ютері.\n" msgid "The file was created on " -msgstr " " +msgstr "Файл було створено на " msgid "" ",\n" "or the file has been damaged." msgstr "" ",\n" -" ." +"або файл було пошкоджено." + +msgid " has been damaged (page size is smaller than minimum value).\n" +msgstr " пошкоджений (розмір сторінки менший мінімального значення).\n" #, c-format msgid "Using swap file \"%s\"" -msgstr " ͦ \"%s\"" +msgstr "Використовуємо файл обміну \"%s\"" #, c-format msgid "Original file \"%s\"" -msgstr " \"%s\"" +msgstr "Початковий файл \"%s\"" msgid "E308: Warning: Original file may have been changed" -msgstr "E308: : , ͦ" +msgstr "E308: Увага: Можливо, початковий файл було змінено" # msgstr "E308: " #, c-format msgid "E309: Unable to read block 1 from %s" -msgstr "E309: 1 %s" +msgstr "E309: Не зміг прочитати блок 1 з %s" # msgstr "E309: " msgid "???MANY LINES MISSING" -msgstr "??? ˦ " +msgstr "??? БРАКУЄ БАГАТЬОХ РЯДКІВ" msgid "???LINE COUNT WRONG" -msgstr "??? צ ˦˦ ˦" +msgstr "??? НЕПРАВИЛЬНА КІЛЬКІСТЬ РЯДКІВ" msgid "???EMPTY BLOCK" -msgstr "??? Φ " +msgstr "??? ПОРОЖНІЙ БЛОК" msgid "???LINES MISSING" -msgstr "??? " +msgstr "??? ПРОПУЩЕНІ РЯДКИ" #, c-format msgid "E310: Block 1 ID wrong (%s not a .swp file?)" -msgstr "E310: Ʀ 1 צ ( %s ͦ?)" +msgstr "E310: Ідентифікатор блоку 1 неправильний (%s не є файлом обміну?)" # msgstr "E310: " msgid "???BLOCK MISSING" -msgstr "??? " +msgstr "??? ПРОПУЩЕНО БЛОК" msgid "??? from here until ???END lines may be messed up" -msgstr "??? `??? ' Φ" +msgstr "??? звідси і до `??? КІНЕЦЬ' рядки, можливо, сплутані" msgid "??? from here until ???END lines may have been inserted/deleted" -msgstr "" -"??? `??? ' Φ/Φ" +msgstr "??? звідси і до `??? КІНЕЦЬ' рядки, можливо, були додані/знищені" msgid "???END" -msgstr "??? " +msgstr "??? КІНЕЦЬ" msgid "E311: Recovery Interrupted" -msgstr "E311: " +msgstr "E311: Відновлення перервано" -msgid "" -"E312: Errors detected while recovering; look for lines starting with ???" -msgstr "" -"E312: צ .. " -" `???'" +msgid "E312: Errors detected while recovering; look for lines starting with ???" +msgstr "E312: Під час відновлення знайдено помилки. Перегляньте рядки, що починаються з ???" + +msgid "See \":help E312\" for more information." +msgstr "Див. \":help E312\" для уточнення." msgid "Recovery completed. You should check if everything is OK." -msgstr " ˦, צ ." +msgstr "Відновлення закінчено, перевірте чи все гаразд." msgid "" "\n" "(You might want to write out this file under another name\n" msgstr "" "\n" -"( , ' \n" +"(Можливо, потрібно записати цей файл під іншою назвою\n" msgid "and run diff with the original file to check for changes)\n" -msgstr ", Ҧ Ǧ, צ ͦ)\n" +msgstr "і порівняти з оригіналом щоб перевірити зміни)\n" msgid "" "Delete the .swp file afterwards.\n" "\n" msgstr "" -" , ̦ ͦ.\n" +"Після цього знищіть файл обміну .swp.\n" "\n" #. use msg() to start the scrolling properly msgid "Swap files found:" -msgstr " ͦ:" +msgstr "Знайдено файли обміну:" msgid " In current directory:\n" -msgstr " Φ Ҧ:\n" +msgstr " В поточному каталозі:\n" msgid " Using specified name:\n" -msgstr " :\n" +msgstr " Використовуючи вказану назву:\n" msgid " In directory " -msgstr " Ҧ " +msgstr " У каталозі " msgid " -- none --\n" -msgstr " -- --\n" +msgstr " -- жодного --\n" msgid " owned by: " -msgstr " : " +msgstr " власник: " msgid " dated: " -msgstr " : " +msgstr " дата: " msgid " dated: " -msgstr " : " +msgstr " дата: " msgid " [from Vim version 3.0]" -msgstr " [צ Vim 3.0]" +msgstr " [від Vim 3.0]" msgid " [does not look like a Vim swap file]" -msgstr " [ ͦ]" +msgstr " [не схоже на файл обміну]" msgid " file name: " -msgstr " : " +msgstr " назва файлу: " msgid "" "\n" " modified: " msgstr "" "\n" -" ͦ: " +" змінено: " msgid "YES" -msgstr "" +msgstr "ТАК" msgid "no" -msgstr "Φ" +msgstr "ні" msgid "" "\n" " user name: " msgstr "" "\n" -" ' : " +" користувач: " msgid " host name: " -msgstr " : " +msgstr " назва вузла: " msgid "" "\n" " host name: " msgstr "" "\n" -" : " +" назва вузла: " msgid "" "\n" " process ID: " msgstr "" "\n" -" : " +" ID процесу: " msgid " (still running)" -msgstr " ( դ)" +msgstr " (виконується)" msgid "" "\n" " [not usable with this version of Vim]" msgstr "" "\n" -" [ æ Ӧ Vim]" +" [не придатний для цієї версії Vim]" msgid "" "\n" " [not usable on this computer]" msgstr "" "\n" -" [ ۦ ȦҦ]" +" [непридатний на цьому комп'ютері]" msgid " [cannot be read]" -msgstr " [ ¦ ]" +msgstr " [не можна прочитати]" msgid " [cannot be opened]" -msgstr " [ צ]" +msgstr " [не можна відкрити]" msgid "E313: Cannot preserve, there is no swap file" -msgstr "E313: Ҧ, ͦ" +msgstr "E313: Не зміг зберегти, немає файлу обміну" # msgstr "E313: " msgid "File preserved" -msgstr " " +msgstr "Файл збережено" msgid "E314: Preserve failed" -msgstr "E314: " +msgstr "E314: Збереження не вдалося" # msgstr "E314: " #, c-format msgid "E315: ml_get: invalid lnum: %ld" -msgstr "E315: ml_get: צ lnum: %ld [ ]" +msgstr "E315: ml_get: неправильний lnum: %ld" # msgstr "E315: " #, c-format msgid "E316: ml_get: cannot find line %ld" -msgstr "E316: ml_get: %ld [ ]" +msgstr "E316: ml_get: не знайшов рядок %ld" # msgstr "E316: " msgid "E317: pointer block id wrong 3" -msgstr "E317: ڦ (3) [ ]" +msgstr "E317: Вказівник блоку помилковий 3" # msgstr "E317: " msgid "stack_idx should be 0" -msgstr "stack_idx Ҧ 0 [ ]" +msgstr "stack_idx має бути рівним 0" msgid "E318: Updated too many blocks?" -msgstr "E318: ˦ ? [ ]" +msgstr "E318: Поновлено забагато блоків?" msgid "E317: pointer block id wrong 4" -msgstr "E317: ڦ (4) [ ]" +msgstr "E317: Вказівник блоку помилковий 4" msgid "deleted block 1?" -msgstr " 1 ? [ ]" +msgstr "блок 1 знищено?" #, c-format msgid "E320: Cannot find line %ld" -msgstr "E320: %ld [ ]" +msgstr "E320: Не зміг знайти рядок %ld" msgid "E317: pointer block id wrong" -msgstr "E317: ڦ [ ]" +msgstr "E317: Вказівник блоку помилковий" # msgstr "E317: " msgid "pe_line_count is zero" -msgstr "pe_line_count Ҧ 0 [ ]" +msgstr "pe_line_count дорівнює 0" #, c-format msgid "E322: line number out of range: %ld past the end" -msgstr "E322: ֦: %ld [ ]" +msgstr "E322: Номер рядка вийшов за межі: %ld за кінцем" # msgstr "E322: " #, c-format msgid "E323: line count wrong in block %ld" -msgstr "E323: ˦ ˦ æ %ld " +msgstr "E323: Кількість рядків у блоці %ld" # msgstr "E323: " msgid "Stack size increases" -msgstr "ͦ ¦դ" +msgstr "Розмір стеку збільшується" msgid "E317: pointer block id wrong 2" -msgstr "E317: ڦ (2) [ ]" +msgstr "E317: Вказівник блоку помилковий 2" + +#, c-format +msgid "E773: Symlink loop for \"%s\"" +msgstr "E773: Циклічні символьні посилання \"%s\"" # msgstr "E317: " msgid "E325: ATTENTION" -msgstr "E325: " +msgstr "E325: УВАГА" msgid "" "\n" "Found a swap file by the name \"" msgstr "" "\n" -" ͦ ' \"" +"Знайдено файл обміну з назвою \"" msgid "While opening file \"" -msgstr " צ \"" +msgstr "При відкритті файлу \"" msgid " NEWER than swap file!\n" -msgstr " צ ͦ\n" +msgstr " НОВІШИЙ за файл обміну!\n" #. Some of these messages are long to allow translation to #. * other languages. @@ -2947,102 +3649,112 @@ msgid "" " different instances of the same file when making changes.\n" msgstr "" "\n" -"(1) , Vim դ . Φ,\n" -" ۦ Ҧ Ӧ .\n" +"(1) Можливо, інша програма вже редагує цей самий файл.\n" +" Будьте обережні, щоб не залишилися два різні екземпляри\n" +" одного й того самого файлу після змін.\n" msgid " Quit, or continue with caution.\n" -msgstr " Ħ, Φ.\n" +msgstr " Вийдіть, або продовжуйте обережно.\n" msgid "" "\n" "(2) An edit session for this file crashed.\n" msgstr "" "\n" -"(2) Φ Ҧ .\n" +"(2) Сеанс редагування цього файлу зазнав краху.\n" msgid " If this is the case, use \":recover\" or \"vim -r " -msgstr " \":recover\" \"vim -r\" " +msgstr " Якщо це справді трапилося, спробуйте \":recover\" або \"vim -r " msgid "" "\"\n" " to recover the changes (see \":help recovery\").\n" msgstr "" -"\n" -" צ ͦ. (. \":help recovery\").\n" +"\"\n" +" щоб відновити зміни (див. \":help recovery\").\n" msgid " If you did this already, delete the swap file \"" -msgstr " , ̦ ͦ \"" +msgstr " Якщо ви вже це зробили, знищіть файл обміну \"" msgid "" "\"\n" " to avoid this message.\n" msgstr "" "\"\n" -" צ.\n" +" щоб позбутися цього повідомлення.\n" "\n" msgid "Swap file \"" -msgstr " ͦ \"" +msgstr "Файл обміну \"" msgid "\" already exists!" -msgstr "\" դ!" +msgstr "\" вже існує!" msgid "VIM - ATTENTION" -msgstr "Vim -- " +msgstr "VIM -- УВАГА" msgid "Swap file already exists!" -msgstr " ͦ դ!" +msgstr "Файл обміну вже існує!" msgid "" "&Open Read-Only\n" "&Edit anyway\n" "&Recover\n" -"&Quit" +"&Quit\n" +"&Abort" msgstr "" -"&O: \n" -"&E: \n" -"&R:\n" -"&Q:" +"&O:Відкрити лише для читання\n" +"&E:Все одно редагувати\n" +"&R:Відновити\n" +"&Q:Вийти\n" +"&A:Перервати" msgid "" "&Open Read-Only\n" "&Edit anyway\n" "&Recover\n" +"&Delete it\n" "&Quit\n" -"&Delete it" +"&Abort" msgstr "" -"&O: \n" -"&E: \n" -"&R:\n" -"&Q:\n" -"&D: " +"&O:Відкрити лише для читання\n" +"&E:Усе одно редагувати\n" +"&R:Відновити\n" +"&D:Знищити його\n" +"&Q:Вийти\n" +"&A:Перервати" msgid "E326: Too many swap files found" -msgstr "E326: ̦ ͦ " +msgstr "E326: Знайдено забагато файлів обміну" # msgstr "E326: " msgid "E327: Part of menu-item path is not sub-menu" -msgstr "E327: ͦ Ц" +msgstr "E327: Частина шляху до елемента меню не є підменю" # msgstr "E327: " msgid "E328: Menu only exists in another mode" -msgstr "E328: դ " +msgstr "E328: Меню може бути тільки в іншому режимі" # msgstr "E328: " -msgid "E329: No menu of that name" -msgstr "E329: " +#, c-format +msgid "E329: No menu \"%s\"" +msgstr "E329: Немає меню \"%s\"" + +#. Only a mnemonic or accelerator is not valid. +msgid "E792: Empty menu name" +msgstr "E792: Порожня назва меню" # msgstr "E329: " msgid "E330: Menu path must not lead to a sub-menu" -msgstr "E330: Ц" +msgstr "E330: Шлях до меню не повинен вести до підменю" # msgstr "E330: " msgid "E331: Must not add menu items directly to menu bar" -msgstr "E331: ** menubar" +msgstr "E331: Не можна додавати елементи меню просто до верхнього меню" # msgstr "E331: " msgid "E332: Separator cannot be part of a menu path" -msgstr "E332: Ħ " +msgstr "E332: Роздільник не може бути частиною шляху меню" # msgstr "E332: " #. Now we have found the matching menu, and we list the mappings @@ -3052,83 +3764,73 @@ msgid "" "--- Menus ---" msgstr "" "\n" -"--- ---" +"--- Меню ---" msgid "Tear off this menu" -msgstr "Ħ " +msgstr "Відірвати це меню" msgid "E333: Menu path must lead to a menu item" -msgstr "E333: " +msgstr "E333: Шлях повинен вести до елемента меню" # msgstr "E333: " #, c-format msgid "E334: Menu not found: %s" -msgstr "E334: %s " +msgstr "E334: Меню не знайдено: %s" # msgstr "E334: " #, c-format msgid "E335: Menu not defined for %s mode" -msgstr "E335: ͦ `%s' դ" +msgstr "E335: Для режиму %s меню не визначено" # msgstr "E335: " msgid "E336: Menu path must lead to a sub-menu" -msgstr "E336: Ц" +msgstr "E336: Шлях повинен вести до підменю" # msgstr "E336: " msgid "E337: Menu not found - check menu names" -msgstr "E337: -- צ " +msgstr "E337: Меню не знайдено -- перевірте назву" # msgstr "E337: " #, c-format msgid "Error detected while processing %s:" -msgstr " Ц %s:" +msgstr "Виявлено помилку під час виконання %s:" #, c-format msgid "line %4ld:" -msgstr " %4ld:" +msgstr "рядок %4ld:" -msgid "[string too long]" -msgstr "[ ]" +#, c-format +msgid "E354: Invalid register name: '%s'" +msgstr "E354: Неправильна назва регістру: '%s'" msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" -msgstr "צ צ: <bodq@yahoo.com>" +msgstr "Українізація: Анатолій Сахнік <sakhnik@gmail.com>" msgid "Interrupt: " -msgstr ": " +msgstr "Перервано: " -msgid "Hit ENTER to continue" -msgstr "Φ ENTER " +msgid "Press ENTER or type command to continue" +msgstr "Натисніть ENTER або введіть команду для продовження" -msgid "Hit ENTER or type command to continue" -msgstr "Φ ENTER ֦ " +#, c-format +msgid "%s line %ld" +msgstr "%s рядок %ld" msgid "-- More --" -msgstr "-- --" +msgstr "-- Ще --" -msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" -msgstr " (RET/BS: , /b: , d/u: Ц , q: Ȧ)" - -msgid " (RET: line, SPACE: page, d: half page, q: quit)" -msgstr " (RET: , : , d: Ц , q: Ȧ)" +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " ПРОБІЛ/d/j: вниз на екран/сторінку/рядок, b/u/k: вгору, q: вийти " msgid "Question" -msgstr "" +msgstr "Запитання" msgid "" "&Yes\n" "&No" msgstr "" -"&Y:\n" -"&N:" - -msgid "" -"&Yes\n" -"&No\n" -"&Cancel" -msgstr "" -"&Y:\n" -"&N:\n" -"&C:ͦ" +"&Y:Так\n" +"&N:Ні" msgid "" "&Yes\n" @@ -3137,52 +3839,71 @@ msgid "" "&Discard All\n" "&Cancel" msgstr "" -"&Y:\n" -"&N:\n" -"&A:Ӧ\n" -"&D:\n" -"&C:ͦ" +"&Y:Так\n" +"&N:Ні\n" +"&A:Усі\n" +"&D:Жодного\n" +"&C:Скасувати" + +msgid "Select Directory dialog" +msgstr "Вибрати каталог" msgid "Save File dialog" -msgstr "' " +msgstr "Запам'ятати файл" msgid "Open File dialog" -msgstr " " +msgstr "Відкрити файл" #. TODO: non-GUI file selector here msgid "E338: Sorry, no file browser in console mode" -msgstr "E338: , ̦ Ħ " +msgstr "E338: Вибачте, але в консолі немає діалогу вибору файлу" + +msgid "E766: Insufficient arguments for printf()" +msgstr "E766: Недостатньо аргументів для printf()" + +msgid "E767: Too many arguments to printf()" +msgstr "E767: Забагато аргументів для printf()" # msgstr "E338: " msgid "W10: Warning: Changing a readonly file" -msgstr "W10: : ͦ " +msgstr "W10: Увага: Змінюється файл призначений лише для читання" + +msgid "Type number or click with mouse (<Enter> cancels): " +msgstr "Наберіть число чи клацніть мишкою (<Enter> скасовує): " + +msgid "Choice number (<Enter> cancels): " +msgstr "Номер вибору (<Enter> скасовує): " msgid "1 more line" -msgstr " " +msgstr "додано один рядок" msgid "1 line less" -msgstr " " +msgstr "знищено один рядок" #, c-format msgid "%ld more lines" -msgstr " ˦: %ld" +msgstr "додано рядків: %ld" #, c-format msgid "%ld fewer lines" -msgstr " ˦: %ld" +msgstr "знищено рядків: %ld" msgid " (Interrupted)" -msgstr " ()" +msgstr " (Перервано)" + +msgid "Beep!" +msgstr "Дзень!" msgid "Vim: preserving files...\n" -msgstr "Vim: Ҧ ...\n" +msgstr "Vim: Зберігаю файли...\n" #. close all memfiles, without deleting msgid "Vim: Finished.\n" -msgstr "Vim: .\n" +msgstr "Vim: Завершено.\n" +#, c-format msgid "ERROR: " -msgstr ": " +msgstr "ПОМИЛКА: " #, c-format msgid "" @@ -3190,155 +3911,196 @@ msgid "" "[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" msgstr "" "\n" -"[] /. %lu/%lu, . %lu, . %lu\n" +"[байт] всього розм/знищ. %lu/%lu, викор. %lu, макс. %lu\n" #, c-format msgid "" "[calls] total re/malloc()'s %lu, total free()'s %lu\n" "\n" msgstr "" -"[] re/malloc() - %lu, free() - %lu\n" +"[виклики] усього re/malloc() - %lu, усього free() - %lu\n" "\n" msgid "E340: Line is becoming too long" -msgstr "E340: Ǧ" +msgstr "E340: Рядок стає занадто довгим" # msgstr "E340: " #, c-format msgid "E341: Internal error: lalloc(%ld, )" -msgstr "E341: Ҧ : lalloc(%ld, )" +msgstr "E341: Внутрішня помилка: lalloc(%ld, )" # msgstr "E341: " #, c-format msgid "E342: Out of memory! (allocating %lu bytes)" -msgstr "E342: 'Ԧ (Ħ %lu Ԧ)" +msgstr "E342: Забракло пам'яті! (потрібно було %lu байтів)" # msgstr "E342: " #, c-format msgid "Calling shell to execute: \"%s\"" -msgstr "դ Φ : \"%s\"" +msgstr "Виконуємо зовнішню команду: \"%s\"" -msgid "Missing colon" -msgstr " " +msgid "E545: Missing colon" +msgstr "E545: Пропущено двокрапку" -msgid "Illegal mode" -msgstr " " +msgid "E546: Illegal mode" +msgstr "E546: Неправильний режим" -msgid "Illegal mouseshape" -msgstr " ۦ" +msgid "E547: Illegal mouseshape" +msgstr "E547: Неправильний вигляд миші" -msgid "digit expected" -msgstr "Ҧ " +msgid "E548: digit expected" +msgstr "E548: Потрібна цифра" -msgid "Illegal percentage" -msgstr " צ" +msgid "E549: Illegal percentage" +msgstr "E549: Неправильний відсоток" msgid "Enter encryption key: " -msgstr "֦ : " +msgstr "Вкажіть ключ шифру: " msgid "Enter same key again: " -msgstr "֦ : " +msgstr "Повторіть ключ: " msgid "Keys don't match!" -msgstr "ަ Ц!" +msgstr "Ключі не однакові!" #, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." -msgstr "" -"E343: 'path'. `**[]' ˦æ " -", '%s'." +msgid "E343: Invalid path: '**[number]' must be at the end of the path or be followed by '%s'." +msgstr "E343: Некоректний шлях: `**[число]' повинне бути наприкінці шляху або перед '%s'." # msgstr "E343: " #, c-format msgid "E344: Can't find directory \"%s\" in cdpath" -msgstr "E344: Ҧ \"%s\" 'cdpath'" +msgstr "E344: Не зміг знайти каталог \"%s\" у 'cdpath'" # msgstr "E344: " #, c-format msgid "E345: Can't find file \"%s\" in path" -msgstr "E345: \"%s\" 'path'" +msgstr "E345: Не зміг знайти файл \"%s\" у 'path'" # msgstr "E345: " #, c-format msgid "E346: No more directory \"%s\" found in cdpath" -msgstr "E346: 'cdpath' Ҧ \"%s\"" +msgstr "E346: У 'cdpath' немає більше каталогу \"%s\"" # msgstr "E346: " #, c-format msgid "E347: No more file \"%s\" found in path" -msgstr "E347: ¦ ̦ \"%s\"" +msgstr "E347: У шляху пошуку більше немає файлів \"%s\"" -# msgstr "E347: " -msgid "Illegal component" -msgstr " " +#. Get here when the server can't be found. +msgid "Cannot connect to Netbeans #2" +msgstr "Не зміг з'єднатися із Netbeans #2" + +msgid "Cannot connect to Netbeans" +msgstr "Не зміг з'єднатися із Netbeans" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "E668: Неправильний режим доступу до файлу інформації про з'єднання з NetBenans: \"%s\"" + +msgid "read from Netbeans socket" +msgstr "читаємо з сокета Netbeans" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: Втрачено зв'язок із NetBeans для буферу %ld" + +msgid "E505: " +msgstr "E505: " + +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: 'operatorfunc' порожня" + +msgid "E775: Eval feature not available" +msgstr "E775: Можливість eval недоступна" msgid "Warning: terminal cannot highlight" -msgstr ": ͦ Цդ " +msgstr "Увага: Термінал не підтримує кольори" msgid "E348: No string under cursor" -msgstr "E348: ϧ " +msgstr "E348: Немає рядка на курсорі" # msgstr "E348: " msgid "E349: No identifier under cursor" -msgstr "E349: Ϧ צ" +msgstr "E349: Немає ідентифікатора над курсором" msgid "E352: Cannot erase folds with current 'foldmethod'" -msgstr "E352: ( 'foldmethod')" +msgstr "E352: Не зміг знищити згортки поточним методом 'foldmethod'" + +msgid "E664: changelist is empty" +msgstr "E664: Список змін порожній" + +msgid "E662: At start of changelist" +msgstr "E662: Початок списку змін" + +msgid "E663: At end of changelist" +msgstr "E663: Кінець списку змін" + +msgid "Type :quit<Enter> to exit Vim" +msgstr "Уведіть :quit<Enter> щоб вийти з Vim" #, c-format msgid "1 line %sed 1 time" -msgstr " %s-" +msgstr "Один рядок %s-но" #, c-format msgid "1 line %sed %d times" -msgstr " %s- %d ڦ" +msgstr "Один рядок %s-но %d разів" #, c-format msgid "%ld lines %sed 1 time" -msgstr "%ld ˦ %s-" +msgstr "%ld рядків %s-но" #, c-format msgid "%ld lines %sed %d times" -msgstr "%ld ˦ %s- %d ڦ" +msgstr "%ld рядків %s-но %d разів" #, c-format msgid "%ld lines to indent... " -msgstr " Ҧ: %ld ˦" +msgstr "Залишилося вирівняти %ld рядків..." msgid "1 line indented " -msgstr " Ҧ" +msgstr "Вирівняно один рядок" #, c-format msgid "%ld lines indented " -msgstr "Ҧ ˦: %ld" +msgstr "Вирівняно рядків: %ld" + +msgid "E748: No previously used register" +msgstr "E748: Регістри пере цим не вживались" #. must display the prompt msgid "cannot yank; delete anyway" -msgstr " , ?" +msgstr "не зміг запам'ятати; все одно знищити?" msgid "1 line changed" -msgstr " ͦ" +msgstr "Один рядок змінено" #, c-format msgid "%ld lines changed" -msgstr "ͦ ˦: %ld" +msgstr "Змінено рядків: %ld" #, c-format msgid "freeing %ld lines" -msgstr "צ ˦: %ld" +msgstr "Звільнено рядків: %ld" + +msgid "block of 1 line yanked" +msgstr "Запам'ятав блок з одного рядка" msgid "1 line yanked" -msgstr " " +msgstr "Запам'ятав один рядок" + +#, c-format +msgid "block of %ld lines yanked" +msgstr "Запам'ятав блок із %ld рядків" #, c-format msgid "%ld lines yanked" -msgstr " ˦: %ld" +msgstr "Запам'ятав рядків: %ld" #, c-format msgid "E353: Nothing in register %s" -msgstr "E353: ǦҦ %s " +msgstr "E353: У регістрі %s нічого немає" # msgstr "E353: " #. Highlight title @@ -3347,157 +4109,168 @@ msgid "" "--- Registers ---" msgstr "" "\n" -"--- Ǧ ---" +"--- Регістри ---" msgid "Illegal register name" -msgstr " Ǧ" +msgstr "Неправильна назва регістру" +#, c-format msgid "" "\n" "# Registers:\n" msgstr "" "\n" -"# Ǧ:\n" - -#, c-format -msgid "Unknown register type %d" -msgstr "צ Ǧ: %d" +"# Регістри:\n" #, c-format -msgid "E354: Invalid register name: '%s'" -msgstr "E354: Ǧ: '%s'" +msgid "E574: Unknown register type %d" +msgstr "E574: Невідомий тип регістру %d" #, c-format msgid "%ld Cols; " -msgstr ".: %ld; " +msgstr "довж.: %ld; " #, c-format msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" -msgstr " - %s%ld %ld ˦; %ld %ld ̦; %ld %ld Ԧ" +msgstr "Вибрано %s%ld з %ld рядків; %ld з %ld слів; %ld з %ld байтів" + +#, c-format +msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld Bytes" +msgstr "Вибрано %s%ld з %ld рядків; %ld з %ld слів; %ld of %ld символів; %ld з %ld байтів" #, c-format msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" -msgstr " %s %s; %ld %ld; %ld %ld; %ld %ld" +msgstr "Колонка %s з %s; рядок %ld з %ld; слово %ld з %ld; байт %ld з %ld" + +#, c-format +msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of %ld" +msgstr "Колонка %s з %s; рядок %ld з %ld; слово %ld з %ld; символ %ld of %ld; байт %ld з %ld" #, c-format msgid "(+%ld for BOM)" -msgstr "(+%ld BOM)" +msgstr "(+%ld для BOM)" + +msgid "%<%f%h%m%=Page %N" +msgstr "%<%f%h%m%=Стор. %N" msgid "Thanks for flying Vim" -msgstr "դ צצ Vim" +msgstr "Дякуємо за користування Vim" -msgid "Option not supported" -msgstr "æ Цդ" +msgid "E518: Unknown option" +msgstr "E518: Невідома опція" -msgid "Not allowed in a modeline" -msgstr " modeline" +msgid "E519: Option not supported" +msgstr "E519: Опція не підтримується" -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\t ͦ " +msgid "E520: Not allowed in a modeline" +msgstr "E520: Не дозволено у modeline" -msgid "Number required after =" -msgstr " = Ҧ " +msgid "E521: Number required after =" +msgstr "E521: Після = потрібно вказати число" -msgid "Not found in termcap" -msgstr " ̦ͦ" +msgid "E522: Not found in termcap" +msgstr "E522: Не знайдено серед можливостей терміналів" #, c-format -msgid "Illegal character <%s>" -msgstr " <%s>" +msgid "E539: Illegal character <%s>" +msgstr "E539: Недозволений символ <%s>" + +msgid "E529: Cannot set 'term' to empty string" +msgstr "E529: Не зміг спорожнити 'term'" -msgid "Not allowed here" -msgstr " " +msgid "E530: Cannot change term in GUI" +msgstr "E530: Не зміг змінити 'term' в GUI" -msgid "Cannot set 'term' to empty string" -msgstr " 'term'" +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: Застосовуйте \":gui\" для запуску GUI" -msgid "Cannot change term in GUI" -msgstr " ͦ 'term' GUI" +msgid "E589: 'backupext' and 'patchmode' are equal" +msgstr "E589: Опції 'backupext' та 'patchmode' однакові" -msgid "Use \":gui\" to start the GUI" -msgstr " \":gui\" GUI" +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: Не можна змінити в GUI GTK+ 2" -msgid "'backupext' and 'patchmode' are equal" -msgstr "æ 'backupext' 'patchmode' צ" +msgid "E524: Missing colon" +msgstr "E524: Бракує двокрапки" -msgid "Zero length string" -msgstr " Φ" +msgid "E525: Zero length string" +msgstr "E525: Рядок порожній" #, c-format -msgid "Missing number after <%s>" -msgstr " <%s> " +msgid "E526: Missing number after <%s>" +msgstr "E526: Після <%s> бракує числа" -msgid "Missing comma" -msgstr " " +msgid "E527: Missing comma" +msgstr "E527: Бракує коми" -msgid "Must specify a ' value" -msgstr " ' " +msgid "E528: Must specify a ' value" +msgstr "E528: Потрібно вказати значення '" -msgid "contains unprintable character" -msgstr "ͦ Φ " +msgid "E595: contains unprintable or wide character" +msgstr "E595: Містить недруковні або розширені символи" -msgid "Invalid font(s)" -msgstr "צ ()" +msgid "E596: Invalid font(s)" +msgstr "E596: Некоректний(і) шрифт(и)" -msgid "can't select fontset" -msgstr " fontset" +msgid "E597: can't select fontset" +msgstr "E597: Не зміг вибрати набір шрифтів" -msgid "Invalid fontset" -msgstr "צ fontset" +msgid "E598: Invalid fontset" +msgstr "E598: Неправильний набір шрифтів" -msgid "can't select wide font" -msgstr " " +msgid "E533: can't select wide font" +msgstr "E533: Не зміг використати розширений шрифт" -msgid "Invalid wide font" -msgstr "צ " +msgid "E534: Invalid wide font" +msgstr "E534: Некоректний розширений шрифт" #, c-format -msgid "Illegal character after <%c>" -msgstr " Ц <%c>" +msgid "E535: Illegal character after <%c>" +msgstr "E535: Недозволений символ після <%c>" -msgid "comma required" -msgstr "Ҧ " +msgid "E536: comma required" +msgstr "E536: Потрібна кома" #, c-format -msgid "'commentstring' must be empty or contain %s" -msgstr "'commentstring' ͦ %s" +msgid "E537: 'commentstring' must be empty or contain %s" +msgstr "E537: 'commentstring' має бути порожньою чи містити %s" -msgid "No mouse support" -msgstr " Ц" +msgid "E538: No mouse support" +msgstr "E538: Миша не підтримується" -msgid "Unclosed expression sequence" -msgstr "̦Φ ڦ " +msgid "E540: Unclosed expression sequence" +msgstr "E540: Послідовність виразів не завершено" -msgid "too many items" -msgstr " " +msgid "E541: too many items" +msgstr "E541: Забагато елементів" -msgid "unbalanced groups" -msgstr " " +msgid "E542: unbalanced groups" +msgstr "E542: Групи не збалансовано" -msgid "A preview window already exists" -msgstr " צ դ" +msgid "E590: A preview window already exists" +msgstr "E590: Вікно перегляду вже існує" -msgid "'winheight' cannot be smaller than 'winminheight'" -msgstr "'winheight' 'winminheight'" - -msgid "'winwidth' cannot be smaller than 'winminwidth'" -msgstr "'winwidth' 'winminwidth'" +msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" +msgstr "W17: Для арабської мови потрібне UTF-8, виконайте ':set encoding=utf-8'" #, c-format -msgid "Need at least %d lines" -msgstr "Ҧ ˦: %d" +msgid "E593: Need at least %d lines" +msgstr "E593: Потрібно щонайменше %d рядків" #, c-format -msgid "Need at least %d columns" -msgstr "Ҧ : %d" +msgid "E594: Need at least %d columns" +msgstr "E594: Потрібно щонайменше %d стовпців" #, c-format msgid "E355: Unknown option: %s" -msgstr "E355: צ æ: %s" +msgstr "E355: Невідома опція: %s" + +#. There's another character after zeros or the string +#. * is empty. In both cases, we are trying to set a +#. * num option using a string. +#, c-format +msgid "E521: Number required: &%s = '%s'" +msgstr "E521: Потрібно вказати число: &%s = '%s'" # msgstr "E355: " msgid "" @@ -3505,181 +4278,172 @@ msgid "" "--- Terminal codes ---" msgstr "" "\n" -"--- ͦ ---" +"--- Коди терміналу ---" msgid "" "\n" "--- Global option values ---" msgstr "" "\n" -"--- Φ ͦ ---" +"--- Значення загальних опцій ---" msgid "" "\n" "--- Local option values ---" msgstr "" "\n" -"--- צ ͦ ---" +"--- Значення локальних опцій ---" msgid "" "\n" "--- Options ---" msgstr "" "\n" -"--- ͦΦ ---" +"--- Опції ---" msgid "E356: get_varp ERROR" -msgstr "E356: get_varp [ ]" +msgstr "E356: Помилка get_varp" # msgstr "E356: " #, c-format msgid "E357: 'langmap': Matching character missing for %s" -msgstr "E357: 'langmap': %s " +msgstr "E357: 'langmap': Для символу %s немає пари" # msgstr "E357: " #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" -msgstr "E358: 'langmap': צ Ц `;': %s" +msgstr "E358: 'langmap': Зайві символи після `;': %s" # msgstr "E358: " msgid "cannot open " -msgstr " צ " +msgstr "не зміг відкрити " msgid "VIM: Can't open window!\n" -msgstr "VIM: צ צ!\n" +msgstr "VIM: Не зміг відкрити вікно!\n" msgid "Need Amigados version 2.04 or later\n" -msgstr "Ҧ Amigados 2.04 ЦΦۦ Ӧ\n" +msgstr "Потрібна Amigados 2.04 або пізнішої версії\n" #, c-format msgid "Need %s version %ld\n" -msgstr "Ҧ %s Ӧ %ld\n" +msgstr "Потрібно %s версії %ld\n" msgid "Cannot open NIL:\n" -msgstr " צ NIL:\n" +msgstr "Не зміг відкрити NIL:\n" msgid "Cannot create " -msgstr " " +msgstr "Не зміг створити " #, c-format msgid "Vim exiting with %d\n" -msgstr "Vim դ %d\n" +msgstr "Vim завершує роботу з %d\n" msgid "cannot change console mode ?!\n" -msgstr " ͦ ̦ ?!\n" - -msgid "E359: Screen mode setting not supported" -msgstr "E359: Цդ" +msgstr "не можу змінити режим консолі ?!\n" # msgstr "E359: " msgid "mch_get_shellsize: not a console??\n" -msgstr "mch_get_shellsize: ??\n" +msgstr "mch_get_shellsize: не консоль??\n" #. if Vim opened a window: Executing a shell may cause crashes msgid "E360: Cannot execute shell with -f option" -msgstr "E360: `shell' æ -f" +msgstr "E360: Не зміг запустити оболонку з опцією -f" # msgstr "E360: " msgid "Cannot execute " -msgstr " " +msgstr "Не зміг виконати " msgid "shell " -msgstr "shell " +msgstr "оболонку " msgid " returned\n" -msgstr " \n" +msgstr " повернуто\n" msgid "ANCHOR_BUF_SIZE too small." -msgstr "ANCHOR_BUF_SIZE " +msgstr "ANCHOR_BUF_SIZE замалий" msgid "I/O ERROR" -msgstr " /" +msgstr "Помилка вводу/виводу" -msgid "...(truncated)" -msgstr "...(צҦ)" +msgid "Message" +msgstr "Повідомлення" msgid "'columns' is not 80, cannot execute external commands" -msgstr "'commands' 80, ΦΦ " - -#, c-format -msgid "E364: Library call failed for \"%s()\"" -msgstr "E364: ¦̦ \"%s()\" " +msgstr "'columns' не 80, не можу виконувати зовнішні команди" # msgstr "E364: " msgid "E237: Printer selection failed" -msgstr "E237: ˦" +msgstr "E237: Не вдалося вибрати принтер" #, c-format msgid "to %s on %s" -msgstr " %s %s" +msgstr "на %s з %s" #, c-format -msgid "E448: Unknown font: %s" -msgstr "E488: צ : %s" +msgid "E613: Unknown printer font: %s" +msgstr "E613: Невідомий шрифт принтера: %s" #, c-format msgid "E238: Print error: %s" -msgstr "E238: : %s" - -msgid "Unknown" -msgstr "צ" +msgstr "E238: Помилка друку: %s" #, c-format msgid "Printing '%s'" -msgstr "դ '%s'" +msgstr "Друкуємо '%s'" #, c-format msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -msgstr "E244: ̦ \"%s\" צ \"%s\"" +msgstr "E244: Некоректна назва набору символів \"%s\" у назві шрифту \"%s\"" #, c-format msgid "E245: Illegal char '%c' in font name \"%s\"" -msgstr "E245: %c צ \"%s\"" +msgstr "E245: Помилковий символ %c в назві шрифту \"%s\"" msgid "E366: Invalid 'osfiletype' option - using Text" -msgstr "E366: צ æ 'osfiletype' -- `Text'" +msgstr "E366: Неправильна опція 'osfiletype' -- використовую `Text'" # msgstr "E366: " msgid "Vim: Double signal, exiting\n" -msgstr "Vim: צަ, \n" +msgstr "Vim: Двічі отримано сигнал, завершую\n" #, c-format msgid "Vim: Caught deadly signal %s\n" -msgstr "Vim: ˦ (%s)\n" +msgstr "Vim: Отримано фатальний сигнал (%s)\n" +#, c-format msgid "Vim: Caught deadly signal\n" -msgstr "Vim: ˦ \n" +msgstr "Vim: Спіймано фатальний сигнал\n" #, c-format msgid "Opening the X display took %ld msec" -msgstr " צ X- Ц %ld ̦ͦ" +msgstr "На відкриття X-дисплею пішло %ld мілісекунд" msgid "" "\n" "Vim: Got X error\n" msgstr "" "\n" -"Vim: X\n" +"Vim: Помилка X\n" msgid "Testing the X display failed" -msgstr " צ X" +msgstr "Дисплей Х не пройшов перевірку" msgid "Opening the X display timed out" -msgstr " צפ X, " +msgstr "Сплив час очікування відкриття дисплею Х" msgid "" "\n" "Cannot execute shell " msgstr "" "\n" -" `shell'" +"Не зміг запустити оболонку" msgid "" "\n" "Cannot execute shell sh\n" msgstr "" "\n" -" `sh'\n" +"Не зміг запустити оболонку `sh'\n" # msgstr "E362: " msgid "" @@ -3687,51 +4451,71 @@ msgid "" "shell returned " msgstr "" "\n" -"shell : " +"оболонка повернула: " msgid "" "\n" "Cannot create pipes\n" msgstr "" "\n" -" \n" +"Не можу створити канали\n" msgid "" "\n" "Cannot fork\n" msgstr "" "\n" -" ϧ [fork()]\n" +"Не зміг роздвоїтися\n" msgid "" "\n" "Command terminated\n" msgstr "" "\n" -" ˦ \n" +"Команда закінчила виконання\n" + +msgid "XSMP lost ICE connection" +msgstr "XSMP втратив з'єднання ICE" + +#, c-format +msgid "dlerror = \"%s\"" +msgstr "dlerror = \"%s\"" msgid "Opening the X display failed" -msgstr " צ X" +msgstr "Не вдалося відкрити дисплей X" + +msgid "XSMP handling save-yourself request" +msgstr "XSMP обробляємо запит 'збережи себе'" + +msgid "XSMP opening connection" +msgstr "XSMP відкриваємо з'єднання" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP спостереження за з'єднанням з ICE не вдалося" + +#, c-format +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP не вдалося SmcOpenConnection: %s" msgid "At line" -msgstr ":" +msgstr "Рядок:" msgid "Could not load vim32.dll!" -msgstr " vim32.dll" +msgstr "Не вдалося завантажити vim32.dll" msgid "VIM Error" -msgstr " Vim" +msgstr "Помилка Vim" msgid "Could not fix up function pointers to the DLL!" -msgstr " ڦ æ DLL!" +msgstr "Не зміг виправити вказівники на функції DLL!" #, c-format msgid "shell returned %d" -msgstr "shell %d" +msgstr "оболонка повернула %d" #, c-format msgid "Vim: Caught %s event\n" -msgstr "Vim: %s-Ħ\n" +msgstr "Vim: Отримано подію %s\n" msgid "close" msgstr "close" @@ -3743,535 +4527,992 @@ msgid "shutdown" msgstr "shutdown" msgid "E371: Command not found" -msgstr "E371: " +msgstr "E371: Команду не знайдено" msgid "" "VIMRUN.EXE not found in your $PATH.\n" "External commands will not pause after completion.\n" "See :help win32-vimrun for more information." msgstr "" -" VIMRUN.EXE .\n" -"ΦΦ Φ Ц .\n" -"צ :help win32-vimrun ϧ æ." +"Файл VIMRUN.EXE не знайдено у шляху пошуку.\n" +"Зовнішні команди не будуть призупинені після виконання.\n" +"Дивіться :help win32-vimrun, щоб отримати подробиці." msgid "Vim Warning" -msgstr " Vim" +msgstr "Попередження Vim" # msgstr "E371: " +#, c-format msgid "E372: Too many %%%c in format string" -msgstr "E372: %%%c " +msgstr "E372: Забагато %%%c у рядку формату" # msgstr "E372: " +#, c-format msgid "E373: Unexpected %%%c in format string" -msgstr "E373: ަ `%%%c' " +msgstr "E373: Неочікуваний `%%%c' у рядку формату" # msgstr "E373: " msgid "E374: Missing ] in format string" -msgstr "E374: ] " +msgstr "E374: Пропущено ] у рядку формату" # msgstr "E374: " +#, c-format msgid "E375: Unsupported %%%c in format string" -msgstr "E375: %%%c Цդ" +msgstr "E375: %%%c у рядку формату не підтримується" # msgstr "E375: " +#, c-format msgid "E376: Invalid %%%c in format string prefix" -msgstr "E376: `%%%c' ƦӦ " +msgstr "E376: Помилковий `%%%c' у префіксі рядку формату" # msgstr "E376: " +#, c-format msgid "E377: Invalid %%%c in format string" -msgstr "E376: `%%%c' " +msgstr "E377: Помилковий `%%%c' у рядку формату" # msgstr "E377: " msgid "E378: 'errorformat' contains no pattern" -msgstr "E378: 'errorformat' ͦ Φ " +msgstr "E378: 'errorformat' не містить зразок" # msgstr "E378: " msgid "E379: Missing or empty directory name" -msgstr "E379: Ҧ" +msgstr "E379: Пропущено чи порожня назва каталогу" -msgid "No more items" -msgstr "Φ " +msgid "E553: No more items" +msgstr "E553: Немає більше елементів" #, c-format msgid "(%d of %d)%s%s: " -msgstr "(%d %d)%s%s: " +msgstr "(%d з %d)%s%s: " msgid " (line deleted)" -msgstr " ( )" +msgstr " (рядок знищено)" msgid "E380: At bottom of quickfix stack" -msgstr "E380: quickfix Φ" +msgstr "E380: Дно стеку виправлень" msgid "E381: At top of quickfix stack" -msgstr "E381: quickfix" +msgstr "E381: Вершина стеку виправлень" #, c-format msgid "error list %d of %d; %d errors" -msgstr " %d %d; %d " +msgstr "список помилок %d з %d; %d помилок" msgid "E382: Cannot write, 'buftype' option is set" -msgstr "E382: , æ 'buftype'" +msgstr "E382: Не можу записати, вказана опція 'buftype'" + +msgid "E683: File name missing or invalid pattern" +msgstr "E683: Пропущено назву файлу чи некоректний шаблон" + +#, c-format +msgid "Cannot open file \"%s\"" +msgstr "Не зміг відкрити файл \"%s\"" + +msgid "E681: Buffer is not loaded" +msgstr "E681: Буфер не завантажено" + +msgid "E777: String or List expected" +msgstr "E777: Очікується рядок чи список" + +#, c-format +msgid "E369: invalid item in %s%%[]" +msgstr "E369: Некоректний елемент у %s%%[]" # msgstr "E382: " msgid "E339: Pattern too long" -msgstr "E339: " +msgstr "E339: Зразок занадто довгий" + +msgid "E50: Too many \\z(" +msgstr "E50: Забагато \\z(" + +#, c-format +msgid "E51: Too many %s(" +msgstr "E51: Забагато %s(" + +msgid "E52: Unmatched \\z(" +msgstr "E52: Немає пари \\z(" + +#, c-format +msgid "E53: Unmatched %s%%(" +msgstr "E53: Немає пари %s%%(" + +#, c-format +msgid "E54: Unmatched %s(" +msgstr "E54: Немає пари %s(" + +#, c-format +msgid "E55: Unmatched %s)" +msgstr "E55: Немає пари %s)" + +#, c-format +msgid "E59: invalid character after %s@" +msgstr "E59: Недозволений символ після %s@" + +#, c-format +msgid "E60: Too many complex %s{...}s" +msgstr "E60: Забагато складних %s{...}" # msgstr "E339: " #, c-format msgid "E61: Nested %s*" -msgstr "E61: Φ %s*" +msgstr "E61: Вкладені %s*" # msgstr "E61: " #, c-format msgid "E62: Nested %s%c" -msgstr "E62: Φ %s%c" +msgstr "E62: Вкладені %s%c" + +msgid "E63: invalid use of \\_" +msgstr "E63: Некоректно вжито \\_" # msgstr "E62: " #, c-format msgid "E64: %s%c follows nothing" -msgstr "E64: %s%c Φ " +msgstr "E64: Після %s%c нічого немає" + +msgid "E65: Illegal back reference" +msgstr "E65: Некоректне зворотнє посилання" + +# msgstr "E406: " +msgid "E66: \\z( not allowed here" +msgstr "E66: \\z( тут не дозволено" + +# msgstr "E406: " +msgid "E67: \\z1 et al. not allowed here" +msgstr "E67: \\z1 та ін. тут не дозволено" + +msgid "E68: Invalid character after \\z" +msgstr "E68: Неправильний символ після \\z" -# msgstr "E64: " #, c-format -msgid "Syntax error in %s{...}" -msgstr " %s{...}" +msgid "E69: Missing ] after %s%%[" +msgstr "E69: Пропущено ] після %s%%[" -msgid "E361: Crash intercepted; regexp too complex?" -msgstr "E361: Ҧ; ?" +#, c-format +msgid "E70: Empty %s%%[]" +msgstr "E70: %s%%[] порожній" -msgid "E363: pattern caused out-of-stack error" -msgstr "E363: " +#, c-format +msgid "E678: Invalid character after %s%%[dxouU]" +msgstr "E678: Недозволений символ після %s%%[dxouU]" -msgid "External submatches:\n" -msgstr "ΦΦ Ц¦:\n" +#, c-format +msgid "E71: Invalid character after %s%%" +msgstr "E71: Недозволений символ після %s%%" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--[](%3ld ˦)" +msgid "E769: Missing ] after %s[" +msgstr "E769: Бракує ] після %s[" + +# msgstr "E64: " +#, c-format +msgid "E554: Syntax error in %s{...}" +msgstr "E554: Синтаксична помилка в %s{...}" + +msgid "External submatches:\n" +msgstr "Зовнішні під-збіги:\n" msgid " VREPLACE" -msgstr " V-ͦ" +msgstr " ВІРТ ЗАМІНА" msgid " REPLACE" -msgstr " ͦ" +msgstr " ЗАМІНА" msgid " REVERSE" -msgstr " " +msgstr " НАВИВОРІТ" msgid " INSERT" -msgstr " " +msgstr " ВСТАВКА" msgid " (insert)" -msgstr " ()" +msgstr " (вставка)" msgid " (replace)" -msgstr " (ͦ)" +msgstr " (заміна)" msgid " (vreplace)" -msgstr " (V-ͦ)" +msgstr " (вірт заміна)" msgid " Hebrew" -msgstr " Hebrew" +msgstr " Іврит" + +msgid " Arabic" +msgstr " Арабська" msgid " (lang)" -msgstr " (lang)" +msgstr " (мова)" msgid " (paste)" -msgstr " ( )" - -msgid " SELECT" -msgstr " Ħ" +msgstr " (клей)" msgid " VISUAL" -msgstr " ¦" +msgstr " ВИБІР" -msgid " BLOCK" -msgstr " []" +msgid " VISUAL LINE" +msgstr " ВИБІР РЯДКІВ" -msgid " LINE" -msgstr " []" +msgid " VISUAL BLOCK" +msgstr " ВИБІР БЛОКУ" -msgid "recording" -msgstr " " +msgid " SELECT" +msgstr " ВИДІЛЕННЯ" -msgid "search hit TOP, continuing at BOTTOM" -msgstr " Ħ , դ " +msgid " SELECT LINE" +msgstr " ВИДІЛЕННЯ РЯДКІВ" -msgid "search hit BOTTOM, continuing at TOP" -msgstr " Ħ , դ " +msgid " SELECT BLOCK" +msgstr " ВИДІЛЕННЯ БЛОКУ" + +msgid "recording" +msgstr "йде запис" #, c-format msgid "E383: Invalid search string: %s" -msgstr "E383: צ : %s" +msgstr "E383: Неправильний зразок для пошуку: %s" #, c-format msgid "E384: search hit TOP without match for: %s" -msgstr "E384: Ħ ¦Ǧ %s" +msgstr "E384: Пошук дійшов до ПОЧАТКУ без збігів з %s" #, c-format msgid "E385: search hit BOTTOM without match for: %s" -msgstr "E385: Ħ ¦Ǧ %s" +msgstr "E385: Пошук дійшов до КІНЦЯ без збігів з %s" msgid "E386: Expected '?' or '/' after ';'" -msgstr "E386: `;' `?' `/'" +msgstr "E386: Після `;' має бути `?' або `/'" # msgstr "E386: " msgid " (includes previously listed match)" -msgstr " ( Φ ¦)" +msgstr " (разом з попередніми збігами)" #. cursor at status line msgid "--- Included files " -msgstr "--- Φ " +msgstr "--- Включені файли " msgid "not found " -msgstr " " +msgstr "не знайдено " msgid "in path ---\n" -msgstr " ---\n" +msgstr "у шляху пошуку ---\n" msgid " (Already listed)" -msgstr " ( )" +msgstr " (Уже у списку)" msgid " NOT FOUND" -msgstr " " +msgstr " НЕ ЗНАЙДЕНО" #, c-format msgid "Scanning included file: %s" -msgstr " ̦: %s" +msgstr "Пошук у включеному файлі: %s" + +#, c-format +msgid "Searching included file %s" +msgstr "Шукаємо у включеному файлі %s" msgid "E387: Match is on current line" -msgstr "E387: ¦ " +msgstr "E387: Збіг у поточному рядку" msgid "All included files were found" -msgstr "Ӧ Φ " +msgstr "Були знайдені всі включені файли" msgid "No included files" -msgstr " " +msgstr "Жодного включеного файлу" msgid "E388: Couldn't find definition" -msgstr "E388: " +msgstr "E388: Визначення не знайдено" msgid "E389: Couldn't find pattern" -msgstr "E389: " +msgstr "E389: Зразок не знайдено" + +#, c-format +msgid "" +"\n" +"# Last %sSearch Pattern:\n" +"~" +msgstr "" +"\n" +"# Ост. %sЗразок пошуку:\n" +"~" + +msgid "E759: Format error in spell file" +msgstr "E759: Помилка формату у файлі орфографії" + +# msgstr "E364: " +msgid "E758: Truncated spell file" +msgstr "E758: Обірваний файл орфографії" + +#, c-format +msgid "Trailing text in %s line %d: %s" +msgstr "Зайвий текст у %s у рядку %d: %s" + +#, c-format +msgid "Affix name too long in %s line %d: %s" +msgstr "Назва афіксу завелика у %s у рядку %d: %s" + +# msgstr "E430: " +msgid "E761: Format error in affix file FOL, LOW or UPP" +msgstr "E761: Помилка формату у файлі афіксів FOL, LOW чи UPP" + +msgid "E762: Character in FOL, LOW or UPP is out of range" +msgstr "E762: Символ у FOL, LOW чи UPP поза межами" + +msgid "Compressing word tree..." +msgstr "Стискується дерево слів..." + +msgid "E756: Spell checking is not enabled" +msgstr "E756: Перевірка орфографії не дозволена" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Увага: Не зміг знайти список слів \"%s.%s.spl\" чи \"%s.ascii.spl\"" + +#, c-format +msgid "Reading spell file \"%s\"" +msgstr "Читається файл орфографії \"%s\"" + +msgid "E757: This does not look like a spell file" +msgstr "E757: Не схоже на файл орфографії" + +msgid "E771: Old spell file, needs to be updated" +msgstr "E771: Файл орфографії старий, треба поновити" + +msgid "E772: Spell file is for newer version of Vim" +msgstr "E772: Файл орфографії призначений для більш нової версії Vim" + +msgid "E770: Unsupported section in spell file" +msgstr "E770: Недозволена секція у файлі орфографії" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Увага: регіон %s не підтримується" + +#, c-format +msgid "Reading affix file %s ..." +msgstr "Читається файл афіксів %s ..." + +#, c-format +msgid "Conversion failure for word in %s line %d: %s" +msgstr "Помилка перетворення слова у %s у рядку %d: %s" + +#, c-format +msgid "Conversion in %s not supported: from %s to %s" +msgstr "Перетворення у %s не підтримується: з %s до %s" + +#, c-format +msgid "Conversion in %s not supported" +msgstr "Перетворення у %s не підтримується" + +#, c-format +msgid "Invalid value for FLAG in %s line %d: %s" +msgstr "Некоректне значення FLAG у %s у рядку %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG після використання прапорців у %s у рядку %d: %s" + +#, c-format +msgid "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d" +msgstr "Визначення COMPOUNDFORBIDFLAG після елементу PFX може дати неправильний результат у %s у рядку %d" + +#, c-format +msgid "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d" +msgstr "Визначення COMPOUNDPERMITFLAG після елементу PFX можу дати неправильний результат у %s у рядку %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Неправильне значення COMPOUNDWORDMAX у %s у рядку %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Неправильне значення COMPOUNDMIN у %s у рядку %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Неправильне значення COMPOUNDSYLMAX у %s у рядку %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Неправильне значення CHECKCOMPOUNDPATTERN у %s у рядку %d: %s" + +#, c-format +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "Інший прапорець комбінації у продовженні блоку афіксів у %s у рядку %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Подвійний афікс у %s у рядку %d: %s" + +#, c-format +msgid "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s line %d: %s" +msgstr "Афікс також використовується для BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST у %s у рядку %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "Треба Y чи N у %s у рядку %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Непридатна умова у %s у рядку %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "Треба кількість REP(SAL) у %s у рядку %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "Треба кількість MAP у %s у рядку %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Повторення символу у MAP у %s у рядку %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Нерозпізнаний чи повторний елемент у %s у рядку %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Пропущено рядок FOL/LOW/UPP у %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "Вжито COMPOUNDSYLMAX без SYLLABLE" + +msgid "Too many postponed prefixes" +msgstr "Забагато відкладених префіксів" + +msgid "Too many compound flags" +msgstr "Забагато складних прапорців" + +msgid "Too many posponed prefixes and/or compound flags" +msgstr "Забагато відкладених префіксів і/або складних прапорців" + +#, c-format +msgid "Missing SOFO%s line in %s" +msgstr "Пропущено рядок SOFO%s у %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "Обидва рядки SAL і SOFO у %s" + +#, c-format +msgid "Flag is not a number in %s line %d: %s" +msgstr "Прапорець не є числом у %s у рядку %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Неправильний прапорець у %s у рядку %d: %s" + +#, c-format +msgid "%s value differs from what is used in another .aff file" +msgstr "Значення %s відрізняється від того, що вжито у іншому файлі .aff" + +#, c-format +msgid "Reading dictionary file %s ..." +msgstr "Зчитуємо словниковий файл %s ..." + +#, c-format +msgid "E760: No word count in %s" +msgstr "E760: Немає кількості слів у %s" + +#, c-format +msgid "line %6d, word %6d - %s" +msgstr "рядок %6d, слово %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Повторення слова у %s у рядку %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "Перше повторення слова у %s у рядку %d: %s" + +#, c-format +msgid "%d duplicate word(s) in %s" +msgstr "%d повторюваних слів у %s" + +#, c-format +msgid "Ignored %d word(s) with non-ASCII characters in %s" +msgstr "Пропущено %d слів(~) із не-ASCII символами у %s" + +#, c-format +msgid "Reading word file %s ..." +msgstr "Читаємо файл слів %s ..." + +#, c-format +msgid "Duplicate /encoding= line ignored in %s line %d: %s" +msgstr "Повторення рядка /encoding= проігноровано у %s у рядку %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "Рядок /encoding= після слова проігноровано у %s у рядку %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "Повторення рядка /regions= проігноровано у %s у рядку %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "Забагато регіонів у %s у рядку %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "Рядок / проігноровано у %s у рядку %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Некоректний номер регіону у %s у рядку %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Нерозпізнані прапорці у %s у рядку %d: %s" + +#, c-format +msgid "Ignored %d words with non-ASCII characters" +msgstr "Проігноровано %d слів із не-ASCII символами" + +#, c-format +msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +msgstr "Стиснено %d з %d вузлів; залишилося %d (%d%%)" + +msgid "Reading back spell file..." +msgstr "Перечитується файл орфографії..." + +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. +msgid "Performing soundfolding..." +msgstr "Виконується згортання звуків..." + +#, c-format +msgid "Number of words after soundfolding: %ld" +msgstr "Кількість слів після згортання звуків: %ld" + +#, c-format +msgid "Total number of words: %d" +msgstr "Повна кількість слів: %d" + +#, c-format +msgid "Writing suggestion file %s ..." +msgstr "Записується файл припущень %s ..." + +#, c-format +msgid "Estimated runtime memory use: %d bytes" +msgstr "Оцінка споживання пам'яті: %d байт" + +msgid "E751: Output file name must not have region name" +msgstr "E751: Вихідний файл не повинен мати назву регіону" + +msgid "E754: Only up to 8 regions supported" +msgstr "E754: Підтримується тільки до восьми регіонів" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Некоректний регіон у %s" + +msgid "Warning: both compounding and NOBREAK specified" +msgstr "Увага: зазначено обидва `складні слова' та NOBREAK" + +#, c-format +msgid "Writing spell file %s ..." +msgstr "Записується файл орфографії %s ..." + +msgid "Done!" +msgstr "Зроблено!" + +#, c-format +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' не містить %ld елементів" + +#, c-format +msgid "Word removed from %s" +msgstr "Слово знищено з %s" + +#, c-format +msgid "Word added to %s" +msgstr "Слово додано до %s" + +msgid "E763: Word characters differ between spell files" +msgstr "E763: Символи у слові відрізняються у файлах орфографії" + +msgid "Sorry, no suggestions" +msgstr "Пробачте, немає припущень" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Пробачте, тільки %ld припущень" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Замінити \"%.*s\" на:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +# msgstr "E34: " +msgid "E752: No previous spell replacement" +msgstr "E752: Немає попередньої заміни" + +# msgstr "E333: " +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Не знайдено: %s" + +#, c-format +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Не схоже на файл .sub: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Застарілий файл .sug, треба поновити: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Файл .sug для більш нової версії Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Файл .sug не відповідає файлу .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: Помилка читання файлу .sug: %s" + +#. This should have been checked when generating the .spl +#. * file. +msgid "E783: duplicate char in MAP entry" +msgstr "E783: Повторено символ у елементі MAP" #, c-format msgid "E390: Illegal argument: %s" -msgstr "E390: צ : %s" +msgstr "E390: Неправильний аргумент: %s" #, c-format msgid "E391: No such syntax cluster: %s" -msgstr "E391: : %s" +msgstr "E391: Немає такого кластеру синтаксису: %s" # msgstr "E391: " msgid "No Syntax items defined for this buffer" -msgstr " Ԧ " +msgstr "Для буферу не визначено елементів синтаксису" msgid "syncing on C-style comments" -msgstr "Φæ դ -Ҧ" +msgstr "синхронізуємося по коментарях стилю С" msgid "no syncing" -msgstr "Φæ դ" +msgstr "без синхронізації" msgid "syncing starts " -msgstr "Φæ " +msgstr "починається синхронізація за " msgid " lines before top line" -msgstr " ˦ " +msgstr " рядків перед першим рядком" msgid "" "\n" "--- Syntax sync items ---" msgstr "" "\n" -"--- Φæ ---" +"--- Елементи синхронізації синтаксису ---" msgid "" "\n" "syncing on items" msgstr "" "\n" -"Φæ դ " +"синхронізація по елементах" msgid "" "\n" "--- Syntax items ---" msgstr "" "\n" -"--- ---" +"--- Елементи синтаксису ---" #, c-format msgid "E392: No such syntax cluster: %s" -msgstr "E392: : %s" +msgstr "E392: Немає такого синтаксичного кластеру: %s" msgid "minimal " -msgstr "ͦΦ " +msgstr "мінімальний " msgid "maximal " -msgstr " " +msgstr "максимальний " -msgid "E393: group[t]here not accepted here" -msgstr "E393: group[t]hete " +msgid "; match " +msgstr "; збіг " -#, c-format -msgid "E394: Didn't find region item for %s" -msgstr "E394: Ԧ %s" +msgid " line breaks" +msgstr " розриви рядків" msgid "E395: contains argument not accepted here" -msgstr "E395: Φ " +msgstr "E395: Містить неприйнятні тут аргументи" msgid "E396: containedin argument not accepted here" -msgstr "E396: " +msgstr "E396: У неприйнятному тут аргументі" + +msgid "E393: group[t]here not accepted here" +msgstr "E393: group[t]hete тут не працює" + +#, c-format +msgid "E394: Didn't find region item for %s" +msgstr "E394: Не знайдено елемент регіону для %s" # msgstr "E396: " msgid "E397: Filename required" -msgstr "E397: Ҧ " +msgstr "E397: Потрібна назва файлу" + +#, c-format +msgid "E789: Missing ']': %s" +msgstr "E789: Пропущено ']': %s" #, c-format msgid "E398: Missing '=': %s" -msgstr "E398: `=' : %s" +msgstr "E398: Пропущено `=': %s" # --------------------------------------- #, c-format msgid "E399: Not enough arguments: syntax region %s" -msgstr "E399: Ԧ: syntax region %s" +msgstr "E399: Не достатньо аргументів: синтаксичний регіон %s" msgid "E400: No cluster specified" -msgstr "E400: " +msgstr "E400: Кластер не вказано" #, c-format msgid "E401: Pattern delimiter not found: %s" -msgstr "E401: : %s" +msgstr "E401: Кінець зразку не знайдено: %s" #, c-format msgid "E402: Garbage after pattern: %s" -msgstr "E402: ͦ Ц : %s" +msgstr "E402: Сміття після зразку: %s" # msgstr "E402: " msgid "E403: syntax sync: line continuations pattern specified twice" -msgstr "E403: syntax syntax: צަ" +msgstr "E403: Синтаксична синхронізація: зразок для продовження рядка вказано двічі" #, c-format msgid "E404: Illegal arguments: %s" -msgstr "E404: צΦ : %s" +msgstr "E404: Неправильні аргументи: %s" # msgstr "E404: " #, c-format msgid "E405: Missing equal sign: %s" -msgstr "E405: `=': %s" +msgstr "E405: Пропущено знак `=': %s" # msgstr "E405: " #, c-format msgid "E406: Empty argument: %s" -msgstr "E406: Φ : %s" +msgstr "E406: Порожній аргумент: %s" # msgstr "E406: " #, c-format msgid "E407: %s not allowed here" -msgstr "E407: %s " +msgstr "E407: %s тут не дозволено" #, c-format msgid "E408: %s must be first in contains list" -msgstr "E408: %s ̦" +msgstr "E408: %s має бути першим рядком у списку утримань" #, c-format msgid "E409: Unknown group name: %s" -msgstr "E409: צ : %s" +msgstr "E409: Неправильна назва групи: %s" # msgstr "E409: " #, c-format msgid "E410: Invalid :syntax subcommand: %s" -msgstr "E410: צ Ц :syntax : %s" +msgstr "E410: Неправильна підкоманда :syntax: %s" + +msgid "E679: recursive loop loading syncolor.vim" +msgstr "E679: Рекурсивний цикл читання syncolor.vim" # msgstr "E410: " #, c-format msgid "E411: highlight group not found: %s" -msgstr "E411: : %s" +msgstr "E411: Групу підсвічування не знайдено: %s" # msgstr "E411: " #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" -msgstr "E412: Ԧ: \"highlight link %s\"" +msgstr "E412: Недостатньо аргументів: \":highlight link %s\"" # msgstr "E412: " #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" -msgstr "E413: Ԧ: \":highlight link %s\"" +msgstr "E413: Забагато аргументів: \":highlight link %s\"" # msgstr "E413: " msgid "E414: group has settings, highlight link ignored" -msgstr "E414: ̦ , \":highlight link\" Ϧ" +msgstr "E414: Колір уже встановлено, highlight link проігноровано" # msgstr "E414: " #, c-format msgid "E415: unexpected equal sign: %s" -msgstr "E415: ҦԦ Ҧ: %s" +msgstr "E415: Несподіваний знак рівності: %s" # msgstr "E415: " #, c-format msgid "E416: missing equal sign: %s" -msgstr "E416: ҦԦ: %s" +msgstr "E416: Пропущено знак рівності: %s" #, c-format msgid "E417: missing argument: %s" -msgstr "E417: : %s" +msgstr "E417: Пропущено аргумент: %s" #, c-format msgid "E418: Illegal value: %s" -msgstr "E418: צ : %s" +msgstr "E418: Неправильне значення: %s" # msgstr "E418: " msgid "E419: FG color unknown" -msgstr "E419: צ ̦ " +msgstr "E419: Невідомий колір тексту" # msgstr "E419: " msgid "E420: BG color unknown" -msgstr "E420: צ ̦ " +msgstr "E420: Невідомий колір фону" # msgstr "E420: " #, c-format msgid "E421: Color name or number not recognized: %s" -msgstr "E421: ͦ : %s" +msgstr "E421: Нерозпізнана назва або номер кольору: %s" # msgstr "E421: " #, c-format msgid "E422: terminal code too long: %s" -msgstr "E422: ͦ: %s" +msgstr "E422: Занадто довгий код терміналу: %s" # msgstr "E422: " #, c-format msgid "E423: Illegal argument: %s" -msgstr "E423: צ : %s" +msgstr "E423: Неправильний аргумент: %s" # msgstr "E423: " msgid "E424: Too many different highlighting attributes in use" -msgstr "E424: Ҧ " +msgstr "E424: Використано забагато різних атрибутів кольору" + +msgid "E669: Unprintable character in group name" +msgstr "E669: Недруковний символ у назві групи" + +# msgstr "E181: " +msgid "W18: Invalid character in group name" +msgstr "W18: Некоректний символ у назві групи" # msgstr "E424: " -msgid "at bottom of tag stack" -msgstr " ͦ Φ" +msgid "E555: at bottom of tag stack" +msgstr "E555: Кінець стеку теґів" -msgid "at top of tag stack" -msgstr " ͦ" +msgid "E556: at top of tag stack" +msgstr "E556: Вершина стеку теґів" msgid "E425: Cannot go before first matching tag" -msgstr "E425: ا ͦ ϧ" +msgstr "E425: Це вже найперший відповідний теґ" # msgstr "E425: " #, c-format msgid "E426: tag not found: %s" -msgstr "E426: ͦ %s " +msgstr "E426: Теґ %s не знайдено" # msgstr "E426: " -#~ msgid " # pri kind tag" -#~ msgstr "" +msgid " # pri kind tag" +msgstr " # прі тип теґ" msgid "file\n" -msgstr "\n" - -#. -#. * Ask to select a tag from the list. -#. * When using ":silent" assume that <CR> was entered. -#. -msgid "Enter nr of choice (<CR> to abort): " -msgstr " ͦ (<CR> צͦ): " +msgstr "файл\n" msgid "E427: There is only one matching tag" -msgstr "E427: צצ ͦ" +msgstr "E427: Лише однин відповідний теґ" # msgstr "E427: " msgid "E428: Cannot go beyond last matching tag" -msgstr "E428: צצ ͦ" +msgstr "E428: Це вже останній відповідний теґ" # msgstr "E428: " #, c-format msgid "File \"%s\" does not exist" -msgstr " \"%s\" դ" +msgstr "Файл \"%s\" не існує" #. Give an indication of the number of matching tags #, c-format msgid "tag %d of %d%s" -msgstr "ͦ %d %d%s" +msgstr "теґ %d з %d%s" msgid " or more" -msgstr " ¦" +msgstr " або більше" msgid " Using tag with different case!" -msgstr " ͦ Ҧ ˦ ̦ ̦" +msgstr " Використовую теґ, не розрізняючи великі та малі літери" #, c-format msgid "E429: File \"%s\" does not exist" -msgstr "E429: \"%s\" դ" +msgstr "E429: Файл \"%s\" не існує" # msgstr "E429: " #. Highlight title -#~ msgid "" -#~ "\n" -#~ " # TO tag FROM line in file/text" -#~ msgstr "" - -msgid "Linear tag search" -msgstr "Φ ͦ" - -msgid "Binary tag search" -msgstr "צ ͦ" +msgid "" +"\n" +" # TO tag FROM line in file/text" +msgstr "" +"\n" +" # ДО теґу З рядка у файлі/тексті" #, c-format msgid "Searching tags file %s" -msgstr " ̦ ͦ %s" +msgstr "Шукаємо у файлі теґів %s" #, c-format msgid "E430: Tag file path truncated for %s\n" -msgstr "E430: %s ̦ ͦ \n" +msgstr "E430: Шлях файлу теґів скорочено до %s\n" # msgstr "E430: " #, c-format msgid "E431: Format error in tags file \"%s\"" -msgstr "E431: ̦ ͦ \"%s\"" +msgstr "E431: Помилка формату у файлі теґів \"%s\"" # msgstr "E431: " #, c-format msgid "Before byte %ld" -msgstr " %ld" +msgstr "Перед байтом %ld" #, c-format msgid "E432: Tags file not sorted: %s" -msgstr "E432: ͦ %s " +msgstr "E432: Файл теґів не впорядкований: %s" # msgstr "E432: " #. never opened any tags file msgid "E433: No tags file" -msgstr "E433: ͦ" +msgstr "E433: Немає файлу теґів" # msgstr "E433: " msgid "E434: Can't find tag pattern" -msgstr "E434: ͦ " +msgstr "E434: Не зміг знайти теґ за зразком" # msgstr "E434: " msgid "E435: Couldn't find tag, just guessing!" -msgstr "E435: ͦ, !" +msgstr "E435: Не зміг знайти теґ, спробуємо вгадати!" # msgstr "E435: " msgid "' not known. Available builtin terminals are:" -msgstr "' צ. Φ ͦ:" +msgstr "' не відомий. Вбудовані термінали:" msgid "defaulting to '" -msgstr " '" +msgstr "будемо вважати, що це '" -msgid "Cannot open termcap file" -msgstr " צ ̦ͦ [termcap]" +msgid "E557: Cannot open termcap file" +msgstr "E557: Не зміг відкрити файл можливостей терміналів" -msgid "Terminal entry not found in terminfo" -msgstr " æ ͦ [terminfo]" +msgid "E558: Terminal entry not found in terminfo" +msgstr "E558: Немає інформації про термінал" -msgid "Terminal entry not found in termcap" -msgstr " æ Ԧ ͦ [termcap]" +msgid "E559: Terminal entry not found in termcap" +msgstr "E559: Немає інформації про можливості терміналу" #, c-format msgid "E436: No \"%s\" entry in termcap" -msgstr "E436: æ Ԧ ͦ \"%s\" [termcap]" +msgstr "E436: Немає інформації про можливості терміналу \"%s\"" msgid "E437: terminal capability \"cm\" required" -msgstr "E437: צ ͦ \"cm\" '" +msgstr "E437: Потрібна можливість терміналу \"cm\"" #. Highlight title msgid "" @@ -4279,35 +5520,81 @@ msgid "" "--- Terminal keys ---" msgstr "" "\n" -"--- צۦ ͦ ---" +"--- Клавіші терміналу ---" msgid "new shell started\n" -msgstr " shell\n" +msgstr "запущено нову оболонку\n" msgid "Vim: Error reading input, exiting...\n" -msgstr "Vim: , ...\n" +msgstr "Vim: Помилка читання вводу, завершуємо роботу...\n" #. must display the prompt msgid "No undo possible; continue anyway" -msgstr "ͦ , " +msgstr "Скасування буде неможливе, все одно продовжити" + +msgid "Already at oldest change" +msgstr "Вже на найстаршій зміні" + +msgid "Already at newest change" +msgstr "Вже на найновішій зміні" + +#, c-format +msgid "Undo number %ld not found" +msgstr "Буфер скасування %ld не знайдено" msgid "E438: u_undo: line numbers wrong" -msgstr "E438: u_undo: צΦ ˦ [ ]" +msgstr "E438: u_undo: неправильні номери рядків" + +msgid "more line" +msgstr "додано рядок" + +msgid "more lines" +msgstr "рядків додано" + +msgid "line less" +msgstr "знищено рядок" + +msgid "fewer lines" +msgstr "рядків знищено" + +# msgstr "E438: " +msgid "change" +msgstr "зміна" # msgstr "E438: " -msgid "1 change" -msgstr " ͦ" +msgid "changes" +msgstr "змін" #, c-format -msgid "%ld changes" -msgstr "ͦ: %ld" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" + +msgid "before" +msgstr "перед" + +msgid "after" +msgstr "після" + +msgid "Nothing to undo" +msgstr "Немає нічого скасовувати" + +msgid "number changes time" +msgstr "номер змін час" + +#, c-format +msgid "%ld seconds ago" +msgstr "%ld секунд тому" + +# msgstr "E406: " +msgid "E790: undojoin is not allowed after undo" +msgstr "E790: Не можна виконати undojoin після undo" msgid "E439: undo list corrupt" -msgstr "E439: צͦ [ ]" +msgstr "E439: Список скасування пошкоджено" # msgstr "E439: " msgid "E440: undo line missing" -msgstr "E440: צͦ [ ]" +msgstr "E440: Відсутній рядок скасування" # msgstr "E440: " # --------------------------------------- @@ -4317,610 +5604,739 @@ msgid "" "MS-Windows 16/32 bit GUI version" msgstr "" "\n" -"Ӧ 16/32 bit Windows Ц GUI" +"Версія для 16/32-розрядної Windows з GUI" + +msgid "" +"\n" +"MS-Windows 64 bit GUI version" +msgstr "" +"\n" +"Версія з GUI для 64-розрядної MS-Windows" msgid "" "\n" "MS-Windows 32 bit GUI version" msgstr "" "\n" -"Ӧ 32 bit Windows Ц GUI" +"Версія для 32-розрядної Windows з GUI" msgid " in Win32s mode" -msgstr " ͦ Win32s" +msgstr " в режимі Win32s" msgid " with OLE support" -msgstr " Ц OLE" +msgstr " з підтримкою OLE" msgid "" "\n" "MS-Windows 32 bit console version" msgstr "" "\n" -"Ӧ 32 bit Windows" +"Консольна версія для 32-розрядної Windows" msgid "" "\n" "MS-Windows 16 bit version" msgstr "" "\n" -"Ӧ 16 bit Windows" +"Версія для 16-розрядної Windows" msgid "" "\n" "32 bit MS-DOS version" msgstr "" "\n" -"Ӧ 32 bit MS-DOS" +"Версія для 32-розрядної MS-DOS" msgid "" "\n" "16 bit MS-DOS version" msgstr "" "\n" -"Ӧ 16 bit MS-DOS" +"Версія для 16-розрядної MS-DOS" msgid "" "\n" "MacOS X (unix) version" msgstr "" "\n" -"Ӧ MacOS X (unix)" +"Версія для MacOS X (unix)" msgid "" "\n" "MacOS X version" msgstr "" "\n" -"Ӧ MacOS X" +"Версія для MacOS X" msgid "" "\n" "MacOS version" msgstr "" "\n" -"Ӧ MacOS" +"Версія для MacOS" msgid "" "\n" "RISC OS version" msgstr "" "\n" -"Ӧ RISC OS" +"Версія для RISC OS" msgid "" "\n" "Included patches: " msgstr "" "\n" -" : " +"Включені латки: " + +msgid "Modified by " +msgstr "Змінив " msgid "" "\n" "Compiled " msgstr "" "\n" -"Ц " +"Скомпілював " msgid "by " -msgstr "-- " +msgstr " " msgid "" "\n" "Huge version " msgstr "" "\n" -"Ӧ `huge' " +"Гігантська версія " msgid "" "\n" "Big version " msgstr "" "\n" -"Ӧ `big' " +"Велика версія " msgid "" "\n" "Normal version " msgstr "" "\n" -"Ӧ `normal' " +"Нормальна версія " msgid "" "\n" "Small version " msgstr "" "\n" -"Ӧ `small' " +"Мала версія " msgid "" "\n" "Tiny version " msgstr "" "\n" -"Ӧ `tiny' " +"Крихітна версія " msgid "without GUI." -msgstr " Ц GUI." +msgstr "без GUI." + +msgid "with GTK2-GNOME GUI." +msgstr "з GUI GTK2-GNOME." msgid "with GTK-GNOME GUI." -msgstr " Ц GTK-GNOME GUI." +msgstr "з GUI GTK-GNOME." + +msgid "with GTK2 GUI." +msgstr "з GUI GTK2." msgid "with GTK GUI." -msgstr " Ц GTK GUI." +msgstr "з GUI GTK." msgid "with X11-Motif GUI." -msgstr " Ц X11-Motif GUI." +msgstr "з GUI X11-Motif." -msgid "with X11-Athena GUI." -msgstr " Ц X11-Athena GUI." +msgid "with X11-neXtaw GUI." +msgstr "з GUI X11-neXtaw." -msgid "with BeOS GUI." -msgstr " Ц BeOS GUI." +msgid "with X11-Athena GUI." +msgstr "з GUI X11-Athena." msgid "with Photon GUI." -msgstr " Ц Photon GUI." +msgstr "з GUI Photon." msgid "with GUI." -msgstr " Ц GUI." +msgstr "з GUI." msgid "with Carbon GUI." -msgstr " Ц Carbon GUI." +msgstr "з GUI Carbon." msgid "with Cocoa GUI." -msgstr " Ц Cocoa GUI." +msgstr "з GUI Cocoa." msgid "with (classic) GUI." -msgstr " () GUI." +msgstr "з (класичним) GUI." msgid " Features included (+) or not (-):\n" -msgstr "" -" \n" -" (+) [ ͦ (-)] ˦ :\n" +msgstr " Включені (+) або не включені (-) компоненти:\n" msgid " system vimrc file: \"" -msgstr " vimrc: \"" +msgstr " системний vimrc: \"" msgid " user vimrc file: \"" -msgstr " vimrc : \"" +msgstr " vimrc користувача: \"" msgid " 2nd user vimrc file: \"" -msgstr " vimrc : \"" +msgstr " другий vimrc користувача: \"" msgid " 3rd user vimrc file: \"" -msgstr " Ԧ vimrc : \"" +msgstr " третій vimrc користувача: \"" msgid " user exrc file: \"" -msgstr " exrc : \"" +msgstr " exrc користувача: \"" msgid " 2nd user exrc file: \"" -msgstr " exrc : \"" +msgstr " другий exrc користувача: \"" msgid " system gvimrc file: \"" -msgstr " gvimrc: \"" +msgstr " системний gvimrc: \"" msgid " user gvimrc file: \"" -msgstr " gvimrc : \"" +msgstr " gvimrc користувача: \"" msgid "2nd user gvimrc file: \"" -msgstr " gvimrc : \"" +msgstr "другий gvimrc користувача: \"" msgid "3rd user gvimrc file: \"" -msgstr "Ԧ gvimrc : \"" +msgstr "третій gvimrc користувача: \"" msgid " system menu file: \"" -msgstr " : \"" +msgstr " системне меню: \"" msgid " fall-back for $VIM: \"" -msgstr " ͦ $VIM: \"" +msgstr " заміна для $VIM: \"" msgid " f-b for $VIMRUNTIME: \"" -msgstr " ͦ $VIMRUNTIME: \"" +msgstr " заміна для $VIMRUNTIME: \"" msgid "Compilation: " -msgstr "Ц: " +msgstr "Скомпільовано: " msgid "Compiler: " -msgstr "Ц: " +msgstr "Компілятор: " msgid "Linking: " -msgstr ": " +msgstr "Скомпоновано: " msgid " DEBUG BUILD" -msgstr " " +msgstr " ВЕРСІЯ ДЛЯ НАЛАГОДЖЕННЯ" msgid "VIM - Vi IMproved" -msgstr "Vim - Vi" +msgstr "VIM - Покращений Vi" msgid "version " -msgstr "Ӧ: " +msgstr "версія " msgid "by Bram Moolenaar et al." -msgstr " : Bram Moolenaar ." +msgstr "автор: Bram Moolenaar та ін." msgid "Vim is open source and freely distributable" -msgstr "Vim צ , צ " +msgstr "Vim -- це відкрита та вільно розповсюджувана програма" msgid "Help poor children in Uganda!" -msgstr "֦ !" +msgstr "Допоможіть сиротам з Уганди!" msgid "type :help iccf<Enter> for information " -msgstr ":help iccf<Enter> æ " +msgstr ":help iccf<Enter> подробиці " msgid "type :q<Enter> to exit " -msgstr ":q<Enter> Ȧ Vim " +msgstr ":q<Enter> вихід з Vim " msgid "type :help<Enter> or <F1> for on-line help" -msgstr ":help<Enter> <F1> " +msgstr ":help<Enter> або <F1> перегляд допомоги " -msgid "type :help version6<Enter> for version info" -msgstr ":help version6<Enter> æ Vim 6 " +msgid "type :help version7<Enter> for version info" +msgstr ":help version7<Enter> інформація про версію " msgid "Running in Vi compatible mode" -msgstr " ͦ ͦ Vi" +msgstr "Ви працюєте в режимі сумісному з Vi" msgid "type :set nocp<Enter> for Vim defaults" -msgstr ":set nocp<Enter> ͦ Vi " +msgstr ":set nocp<Enter> режим несумісний з Vi " msgid "type :help cp-default<Enter> for info on this" -msgstr ":help cp-default<Enter> æ ͦΦ" +msgstr ":help cp-default<Enter> інформація про сумісність" msgid "menu Help->Orphans for information " -msgstr " Help->Orphans æ" +msgstr "меню Help->Orphans подальша інформація " msgid "Running modeless, typed text is inserted" -msgstr " ͦ, Ѥ" +msgstr "Працюємо без режимів, текст що набрано вставляється" msgid "menu Edit->Global Settings->Toggle Insert Mode " -msgstr " Edit->Global Settings->Toggle Insert Mode " +msgstr "меню Edit->Global Settings->Toggle Insert Mode " msgid " for two modes " -msgstr " ͦ " +msgstr " для двох режимів " msgid "menu Edit->Global Settings->Toggle Vi Compatible" -msgstr " Edit->Global Settings->Toggle Vi Compatible" +msgstr "меню Edit->Global Settings->Toggle Vi Compatible " + +msgid " for Vim defaults " +msgstr " щоб починати в режимі сумісності з Vi" + +msgid "Sponsor Vim development!" +msgstr "Підтримайте розробку редактора Vim!" -#, fuzzy -#~ msgid " for Vim defaults " -#~ msgstr " Vim defaults " +msgid "Become a registered Vim user!" +msgstr "Станьте зареєстрованим користувачем Vim!" + +msgid "type :help sponsor<Enter> for information " +msgstr ":help sponsor<Enter> подальша інформація " + +msgid "type :help register<Enter> for information " +msgstr ":help register<Enter> подальша інформація " + +msgid "menu Help->Sponsor/Register for information " +msgstr "меню Допомога->Спонсор/Реєстрація подробиці " msgid "WARNING: Windows 95/98/ME detected" -msgstr ": դ Windows 95/98/ME" +msgstr "УВАГА: Ви користуєтеся Windows 95/98/ME" msgid "type :help windows95<Enter> for info on this" -msgstr ":help windows95<Enter> æ " +msgstr ":help windows95<Enter> інформація про це " + +# msgstr "E444: " +msgid "Already only one window" +msgstr "Це вже єдине вікно" msgid "E441: There is no preview window" -msgstr "E441: צΤ" +msgstr "E441: Немає вікна перегляду" # msgstr "E441: " msgid "E442: Can't split topleft and botright at the same time" -msgstr "E442: ͦ צ " +msgstr "E442: Не зміг одночасно розбити topleft та botright" # msgstr "E442: " msgid "E443: Cannot rotate when another window is split" -msgstr "E443: ͦ צ -- ۦ צ " +msgstr "E443: Не зміг перемістити вікно, заважають інші" # msgstr "E443: " msgid "E444: Cannot close last window" -msgstr "E444: Τ צ" - -# msgstr "E444: " -msgid "Already only one window" -msgstr " צ" +msgstr "E444: Не зміг закрити останнє вікно" msgid "E445: Other window contains changes" -msgstr "E445: ۦ צ ͦ ͦ" +msgstr "E445: У іншому вікні є зміни" # msgstr "E445: " msgid "E446: No file name under cursor" -msgstr "E446: ϧ Φ " +msgstr "E446: Немає назви файлу над курсором" # msgstr "E446: " #, c-format msgid "E447: Can't find file \"%s\" in path" -msgstr "E447: \"%s\" 'path'" +msgstr "E447: Файл \"%s\" не знайдено у шляху пошуку" + +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Не зміг завантажити бібліотеку %s" + +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "Вибачте, ця команда вимкнена, бібліотека Perl не може бути завантажена." + +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "E299: Обчислення виразів Perl заборонене у пісочниці без модуля Safe" msgid "Edit with &multiple Vims" -msgstr " (&m)Ҧ Vim" +msgstr "Редагувати у (&m)різних Vim" msgid "Edit with single &Vim" -msgstr " (&V)im" +msgstr "Редагувати у одному (&V)im" + +msgid "Diff with Vim" +msgstr "Порівняти з допомогою Vim" msgid "Edit with &Vim" -msgstr " &Vim" +msgstr "Редагувати за допомогою &Vim" -msgid "Edit with existing Vim - &" -msgstr " (&e) Vim" +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "Редагувати у вже запущеному Vim - " msgid "Edits the selected file(s) with Vim" -msgstr " Φ Vim" +msgstr "Редагує вибрані файли з допомогою Vim" msgid "Error creating process: Check if gvim is in your path!" -msgstr " , צ gvim !" +msgstr "Помилка створення процесу, перевірте чи є gvim у шляху пошуку!" msgid "gvimext.dll error" -msgstr " gvimext.dll" +msgstr "помилка gvimext.dll" msgid "Path length too long!" -msgstr " !" +msgstr "Шлях занадто довгий!" # msgstr "E447: " msgid "--No lines in buffer--" -msgstr "-- --" +msgstr "--Жодного рядка--" #. #. * The error messages that can be shared are included here. #. * Excluded are errors that are only used once and debugging messages. #. -msgid "Command aborted" -msgstr " " +msgid "E470: Command aborted" +msgstr "E470: Команду перервано" -msgid "Argument required" -msgstr "Ȧ " +msgid "E471: Argument required" +msgstr "E471: Необхідно вказати аргумент" msgid "E10: \\ should be followed by /, ? or &" -msgstr "E10: \\ /, ? &" +msgstr "E10: За \\ має йти /, ? або &" # msgstr "E10: " msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" -msgstr "E11: צΦ , <CR> դ, CTRL-C " +msgstr "E11: Неприпустимо у вікні команд, <CR> виконує, CTRL-C виходить" msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" -msgstr "E12: ͦ " +msgstr "E12: Команда не дозволена у exrc/vimrc у пошуку поточного каталогу чи теґу" + +msgid "E171: Missing :endif" +msgstr "E171: Бракує :endif" + +msgid "E600: Missing :endtry" +msgstr "E600: Бракує :endtry" + +msgid "E170: Missing :endwhile" +msgstr "E170: Бракує :endwhile" + +msgid "E170: Missing :endfor" +msgstr "E170: Бракує :endfor" + +msgid "E588: :endwhile without :while" +msgstr "E588: :endwhile без :while" + +msgid "E588: :endfor without :for" +msgstr "E588: :endfor без :for" msgid "E13: File exists (add ! to override)" -msgstr "E13: դ ( ! )" +msgstr "E13: Файл існує (! щоб не зважати)" + +msgid "E472: Command failed" +msgstr "E472: Команда на вдалась" + +# msgstr "E233: " +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: Невідомий набір шрифтів: %s" + +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: Невідомий шрифт: %s" -msgid "Command failed" -msgstr " " +# msgstr "E235: " +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: Шрифт \"%s\" не моноширинний" -msgid "Internal error" -msgstr "Ҧ " +msgid "E473: Internal error" +msgstr "E473: Внутрішня помилка" msgid "Interrupted" -msgstr "" +msgstr "Перервано" msgid "E14: Invalid address" -msgstr "E14: צ " +msgstr "E14: Неправильна адреса" # msgstr "E14: " -msgid "Invalid argument" -msgstr "צ " +msgid "E474: Invalid argument" +msgstr "E474: Некоректний аргумент" #, c-format -msgid "Invalid argument: %s" -msgstr "צ %s" +msgid "E475: Invalid argument: %s" +msgstr "E475: Некоректний аргумент: %s" #, c-format msgid "E15: Invalid expression: %s" -msgstr "E15: צ : %s" +msgstr "E15: Неправильний вираз: %s" # msgstr "E15: " msgid "E16: Invalid range" -msgstr "E16: צΦ ֦" +msgstr "E16: Неправильні межі" # msgstr "E16: " -msgid "Invalid command" -msgstr "צ " +msgid "E476: Invalid command" +msgstr "E476: Некоректна команда" #, c-format msgid "E17: \"%s\" is a directory" -msgstr "E17: \"%s\" Ҧ" +msgstr "E17: \"%s\" -- це каталог" -# msgstr "E17: " -msgid "E18: Unexpected characters before '='" -msgstr "E18: cĦ '='" +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: Бібліотечний виклик до \"%s()\" не вдався" + +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: Не зміг завантажити бібліотечну функцію %s" # msgstr "E18: " msgid "E19: Mark has invalid line number" -msgstr "E19: ͦ " +msgstr "E19: У помітки некоректний номер рядка" # msgstr "E19: " msgid "E20: Mark not set" -msgstr "E20: ͦ " +msgstr "E20: Помітку не встановлено" # msgstr "E20: " msgid "E21: Cannot make changes, 'modifiable' is off" -msgstr "E21: ͦ Φ: 'modifiable' " +msgstr "E21: Зміни не дозволені: вимкнено 'modifiable'" # msgstr "E21: " msgid "E22: Scripts nested too deep" -msgstr "E22: ˦˦ ̦" +msgstr "E22: Забагато вкладених скриптів" # msgstr "E22: " msgid "E23: No alternate file" -msgstr "E23: " +msgstr "E23: Немає вторинного файлу" # msgstr "E23: " msgid "E24: No such abbreviation" -msgstr "E24: " +msgstr "E24: Такого скорочення немає" # msgstr "E24: " -msgid "No ! allowed" -msgstr " ! " +msgid "E477: No ! allowed" +msgstr "E477: ! не дозволено" msgid "E25: GUI cannot be used: Not enabled at compile time" -msgstr "E25: GUI -- צ Ц Цæ" +msgstr "E25: Не можна використати GUI: Не ввімкнено під час компіляції" msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" -msgstr "" -"E25: Hebrew -- צ Ц Цæ\n" +msgstr "E26: Не можна використати іврит: Не ввімкнено під час компіляції\n" msgid "E27: Farsi cannot be used: Not enabled at compile time\n" -msgstr "" -"E25: Farsi -- צ Ц Цæ\n" +msgstr "E27: Не можна використати фарсі: Не ввімкнено під час компіляції\n" + +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: Не можна використати арабську мову: Не ввімкнено під час компіляції\n" # msgstr "E25: " #, c-format msgid "E28: No such highlight group name: %s" -msgstr "E28: %s դ" +msgstr "E28: Немає такої групи підсвічування: %s" # msgstr "E28: " msgid "E29: No inserted text yet" -msgstr "E29: " +msgstr "E29: Текст ще не було додано" # msgstr "E29: " msgid "E30: No previous command line" -msgstr "E30: " +msgstr "E30: Ще не було команд" # msgstr "E30: " msgid "E31: No such mapping" -msgstr "Φ ͦ դ" +msgstr "E31: Немає такої заміни" # msgstr "E31: " -msgid "No match" -msgstr " Ҧ" +msgid "E479: No match" +msgstr "E479: Жодного збігу" #, c-format -msgid "No match: %s" -msgstr " Ҧ: %s" +msgid "E480: No match: %s" +msgstr "E480: Жодного збігу: %s" msgid "E32: No file name" -msgstr "դ Φ " +msgstr "E32: Бракує назви файлу" # msgstr "E32: " msgid "E33: No previous substitute regular expression" -msgstr "ͦ ˦ " +msgstr "E33: Заміна зразків ще не використовувалась" # msgstr "E33: " msgid "E34: No previous command" -msgstr " " +msgstr "E34: Команд ще не було" # msgstr "E34: " msgid "E35: No previous regular expression" -msgstr " " +msgstr "E35: Зразків пошуку ще не було" # msgstr "E35: " -msgid "No range allowed" -msgstr " ֦" +msgid "E481: No range allowed" +msgstr "E481: Не дозволено вказувати межі" msgid "E36: Not enough room" -msgstr " ͦ" +msgstr "E36: Місця не вистачить" + +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: Немає зареєстрованих серверів з назвою \"%s\"" # msgstr "E36: " #, c-format -msgid "Can't create file %s" -msgstr " %s" +msgid "E482: Can't create file %s" +msgstr "E482: Не зміг створити файл %s" -msgid "Can't get temp file name" -msgstr " ' " +msgid "E483: Can't get temp file name" +msgstr "E483: Не зміг сформувати назву тимчасового файлу" #, c-format -msgid "Can't open file %s" -msgstr " צ %s" +msgid "E484: Can't open file %s" +msgstr "E484: Не зміг відкрити файл %s" #, c-format -msgid "Can't read file %s" -msgstr " %s" +msgid "E485: Can't read file %s" +msgstr "E485: Не зміг прочитати файл %s" -msgid "E37: No write since last change (use ! to override)" -msgstr "" -"E37: Ц ϧ ͦ ( ! )" +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Зміни не було записано (! щоб не зважати)" msgid "E38: Null argument" -msgstr "E38: Φ " +msgstr "E38: Відсутній аргумент" msgid "E39: Number expected" -msgstr "E39: ަ " +msgstr "E39: Очікується число" #, c-format msgid "E40: Can't open errorfile %s" -msgstr "E40: צ %s" +msgstr "E40: Не зміг відкрити файл помилок %s" + +msgid "E233: cannot open display" +msgstr "E233: Не зміг відкрити дисплей" msgid "E41: Out of memory!" -msgstr "E41: 'Ԧ!" +msgstr "E41: Забракло пам'яті!" msgid "Pattern not found" -msgstr " " +msgstr "Зразок не знайдено" #, c-format -msgid "Pattern not found: %s" -msgstr " : %s" +msgid "E486: Pattern not found: %s" +msgstr "E486: Зразок не знайдено: %s" -msgid "Argument must be positive" -msgstr " Φ" +msgid "E487: Argument must be positive" +msgstr "E487: Аргумент має бути додатний" + +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Не зміг перейти до попереднього каталогу" msgid "E42: No Errors" -msgstr "E42: ϧ " +msgstr "E42: Жодної помилки" + +msgid "E776: No location list" +msgstr "E776: Немає списку місць" msgid "E43: Damaged match string" -msgstr "E43: 'match string' [ ]" +msgstr "E43: Текст збігу пошкоджено" msgid "E44: Corrupted regexp program" -msgstr "E44: regexp [ ]" +msgstr "E44: Зіпсована програма регулярних виразів" -msgid "E45: 'readonly' option is set (use ! to override)" -msgstr "E45: æ 'readonly' ( ! )" +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: Встановлено опцію 'readonly' (! щоб не зважати)" #, c-format -msgid "E46: Cannot set read-only variable \"%s\"" -msgstr "E46: ͦ \"%s\" " +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: Не можна змінити змінну \"%s\"" + +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: Не можна встановити змінну у пісочниці: \"%s\"" msgid "E47: Error while reading errorfile" -msgstr "E47: " +msgstr "E47: Помилка читання файлу помилок" msgid "E48: Not allowed in sandbox" -msgstr "E48: *******" +msgstr "E48: На дозволено у пісочниці" + +msgid "E523: Not allowed here" +msgstr "E523: Не дозволено тут" + +msgid "E359: Screen mode setting not supported" +msgstr "E359: Режим екрану не підтримується" msgid "E49: Invalid scroll size" -msgstr "E49: ͦ " +msgstr "E49: Некоректний розмір зсуву" msgid "E91: 'shell' option is empty" -msgstr "E91: æ 'shell' " +msgstr "E91: Опція 'shell' порожня" + +# msgstr "E254: " +msgid "E255: Couldn't read in sign data!" +msgstr "E255: Не можна зчитати дані напису!" msgid "E72: Close error on swap file" -msgstr "E72: Ц ͦ" +msgstr "E72: Помилка під час закриття файлу обміну" msgid "E73: tag stack empty" -msgstr "E73: ͦ " +msgstr "E73: Стек теґів порожній" msgid "E74: Command too complex" -msgstr "E74: " +msgstr "E74: Занадто складна команда" msgid "E75: Name too long" -msgstr "E75: '" +msgstr "E75: Задовге ім'я" msgid "E76: Too many [" -msgstr "E76: '['" +msgstr "E76: Забагато '['" msgid "E77: Too many file names" -msgstr "E77: ̦" +msgstr "E77: Забагато назв файлів" -msgid "Trailing characters" -msgstr "צ " +msgid "E488: Trailing characters" +msgstr "E488: Надлишкові символи" msgid "E78: Unknown mark" -msgstr "E78: צ ͦ" +msgstr "E78: Невідома помітка" msgid "E79: Cannot expand wildcards" -msgstr "E79: ͦ " +msgstr "E79: Не зміг розкрити шаблон" + +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: 'winheight' не може бути меншим за 'winminheight'" + +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: 'winwidth' не може бути меншим за 'winminwidth'" # msgstr "E79: " msgid "E80: Error while writing" -msgstr "E80: Ц " +msgstr "E80: Помилка під час запису" msgid "Zero count" -msgstr " ̦" +msgstr "Нульова кількість" msgid "E81: Using <SID> not in a script context" -msgstr "E81: <SID> դ ̦ " +msgstr "E81: <SID> використовується не в контексті скрипту" + +msgid "E449: Invalid expression received" +msgstr "E449: Отримано некоректний вираз" + +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Не можна змінити захищений регіон" -#~ msgid "1 line ~ed" -#~ msgstr " " +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans не дозволяє змінювати захищені від запису файли" -#~ msgid "%ld lines ~ed" -#~ msgstr " ˦: %ld" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Внутрішня помилка: %s" + +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: Зразок використовує більше, ніж 'maxmempattern', пам'яті" -#~ msgid "Unable to send reply" -#~ msgstr " צĦ צצ" +msgid "E749: empty buffer" +msgstr "E749: Порожній буфер" -#~ msgid "" -#~ "\n" -#~ "Send failed. No command server present ?\n" -#~ msgstr "" -#~ "\n" -#~ " צĦ Φ. , צΦ ?\n" +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Некоректний зразок для пошуку чи роздільник" + +msgid "E139: File is loaded in another buffer" +msgstr "E139: Файл уже завантажено в інший буфер" + +# msgstr "E235: " +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: Опція '%s' не встановлена" + +msgid "search hit TOP, continuing at BOTTOM" +msgstr "Пошук дійшов ПОЧАТКУ, продовжуємо з КІНЦЯ" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "Пошук дійшов до КІНЦЯ, продовжуємо з ПОЧАТКУ" -#~ msgid "E258: no matches found in cscope connections" -#~ msgstr "E258: צצ ' cscope" diff --git a/src/proto/misc2.pro b/src/proto/misc2.pro index 195b895fd..ce5632ee0 100644 --- a/src/proto/misc2.pro +++ b/src/proto/misc2.pro @@ -82,14 +82,14 @@ int decrypt_byte __ARGS((void)); int update_keys __ARGS((int c)); void crypt_init_keys __ARGS((char_u *passwd)); char_u *get_crypt_key __ARGS((int store, int twice)); -void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int need_dir, void *search_ctx, int tagfile, char_u *rel_fname)); +void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int find_what, void *search_ctx_arg, int tagfile, char_u *rel_fname)); char_u *vim_findfile_stopdir __ARGS((char_u *buf)); void vim_findfile_cleanup __ARGS((void *ctx)); -char_u *vim_findfile __ARGS((void *search_ctx)); -void vim_findfile_free_visited __ARGS((void *search_ctx)); +char_u *vim_findfile __ARGS((void *search_ctx_arg)); +void vim_findfile_free_visited __ARGS((void *search_ctx_arg)); char_u *find_file_in_path __ARGS((char_u *ptr, int len, int options, int first, char_u *rel_fname)); char_u *find_directory_in_path __ARGS((char_u *ptr, int len, int options, char_u *rel_fname)); -char_u *find_file_in_path_option __ARGS((char_u *ptr, int len, int options, int first, char_u *path_option, int need_dir, char_u *rel_fname, char_u *suffixes)); +char_u *find_file_in_path_option __ARGS((char_u *ptr, int len, int options, int first, char_u *path_option, int find_what, char_u *rel_fname, char_u *suffixes)); int vim_chdir __ARGS((char_u *new_dir)); int get_user_name __ARGS((char_u *buf, int len)); void sort_strings __ARGS((char_u **files, int count)); diff --git a/src/proto/search.pro b/src/proto/search.pro index e77836af6..76ae05419 100644 --- a/src/proto/search.pro +++ b/src/proto/search.pro @@ -11,6 +11,7 @@ void reset_search_dir __ARGS((void)); void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast)); void last_pat_prog __ARGS((regmmatch_T *regmatch)); int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum, proftime_T *tm)); +void set_search_direction __ARGS((int cdir)); int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options, proftime_T *tm)); int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat)); int searchc __ARGS((cmdarg_T *cap, int t_cmd)); @@ -41,10 +41,6 @@ #include "vim.h" -#ifdef HAVE_FCNTL_H -# include <fcntl.h> -#endif - #include <signal.h> #ifdef __CYGWIN32__ diff --git a/src/search.c b/src/search.c index ff952d745..8a00757fb 100644 --- a/src/search.c +++ b/src/search.c @@ -14,6 +14,7 @@ static void save_re_pat __ARGS((int idx, char_u *pat, int magic)); #ifdef FEAT_EVAL +static void set_vv_searchforward __ARGS((void)); static int first_submatch __ARGS((regmmatch_T *rp)); #endif static int check_prevcol __ARGS((char_u *linep, int col, int ch, int *prevcol)); @@ -61,7 +62,7 @@ static void wvsp_one __ARGS((FILE *fp, int idx, char *s, int sc)); /* Note: only spats[0].off is really used */ struct soffset { - int dir; /* search direction */ + int dir; /* search direction, '/' or '?' */ int line; /* search has line offset */ int end; /* search set cursor at end */ long off; /* line or char offset */ @@ -325,6 +326,9 @@ restore_search_patterns() { vim_free(spats[0].pat); spats[0] = saved_spats[0]; +#if defined(FEAT_EVAL) + set_vv_searchforward(); +#endif vim_free(spats[1].pat); spats[1] = saved_spats[1]; last_idx = saved_last_idx; @@ -379,9 +383,18 @@ ignorecase(pat) } else #endif - if (*p == '\\' && p[1] != NUL) /* skip "\S" et al. */ - p += 2; - else if (isupper(*p)) + if (*p == '\\') + { + if (p[1] == '_' && p[2] != NUL) /* skip "\_X" */ + p += 3; + else if (p[1] == '%' && p[2] != NUL) /* skip "\%X" */ + p += 3; + else if (p[1] != NUL) /* skip "\X" */ + p += 2; + else + p += 1; + } + else if (MB_ISUPPER(*p)) { ic = FALSE; break; @@ -408,6 +421,9 @@ last_search_pat() reset_search_dir() { spats[0].off.dir = '/'; +#if defined(FEAT_EVAL) + set_vv_searchforward(); +#endif } #if defined(FEAT_EVAL) || defined(FEAT_VIMINFO) @@ -431,6 +447,9 @@ set_last_search_pat(s, idx, magic, setlast) spats[idx].magic = magic; spats[idx].no_scs = FALSE; spats[idx].off.dir = '/'; +#if defined(FEAT_EVAL) + set_vv_searchforward(); +#endif spats[idx].off.line = FALSE; spats[idx].off.end = FALSE; spats[idx].off.off = 0; @@ -970,6 +989,19 @@ searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum, tm) } #ifdef FEAT_EVAL + void +set_search_direction(cdir) + int cdir; +{ + spats[0].off.dir = cdir; +} + + static void +set_vv_searchforward() +{ + set_vim_var_nr(VV_SEARCHFORWARD, (long)(spats[0].off.dir == '/')); +} + /* * Return the number of the first subpat that matched. */ @@ -1018,7 +1050,7 @@ first_submatch(rp) do_search(oap, dirc, pat, count, options, tm) oparg_T *oap; /* can be NULL */ int dirc; /* '/' or '?' */ - char_u *pat; + char_u *pat; long count; int options; proftime_T *tm; /* timeout limit or NULL */ @@ -1056,7 +1088,12 @@ do_search(oap, dirc, pat, count, options, tm) if (dirc == 0) dirc = spats[0].off.dir; else + { spats[0].off.dir = dirc; +#if defined(FEAT_EVAL) + set_vv_searchforward(); +#endif + } if (options & SEARCH_REV) { #ifdef WIN32 @@ -1330,21 +1367,19 @@ do_search(oap, dirc, pat, count, options, tm) else if (pos.col < MAXCOL - 2) /* just in case */ { /* to the right, check for end of file */ - if (spats[0].off.off > 0) + c = spats[0].off.off; + if (c > 0) { - for (c = spats[0].off.off; c; --c) + while (c-- > 0) if (incl(&pos) == -1) break; } /* to the left, check for start of file */ else { - if ((c = pos.col + spats[0].off.off) >= 0) - pos.col = c; - else - for (c = spats[0].off.off; c; ++c) - if (decl(&pos) == -1) - break; + while (c++ < 0) + if (decl(&pos) == -1) + break; } } } diff --git a/src/syntax.c b/src/syntax.c index 3915d4348..6ff828284 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -3016,34 +3016,43 @@ syn_add_end_off(result, regmatch, spp, idx, extra) int extra; /* extra chars for offset to start */ { int col; - int len; + int off; + char_u *base; + char_u *p; if (spp->sp_off_flags & (1 << idx)) { result->lnum = regmatch->startpos[0].lnum; - col = regmatch->startpos[0].col + extra; + col = regmatch->startpos[0].col; + off = spp->sp_offsets[idx] + extra; } else { result->lnum = regmatch->endpos[0].lnum; col = regmatch->endpos[0].col; + off = spp->sp_offsets[idx]; } - col += spp->sp_offsets[idx]; - if (col < 0) - result->col = 0; - else + /* Don't go past the end of the line. Matters for "rs=e+2" when there + * is a matchgroup. Watch out for match with last NL in the buffer. */ + if (result->lnum > syn_buf->b_ml.ml_line_count) + col = 0; + else if (off != 0) { - /* Don't go past the end of the line. Matters for "rs=e+2" when there - * is a matchgroup. Watch out for match with last NL in the buffer. */ - if (result->lnum > syn_buf->b_ml.ml_line_count) - len = 0; - else - len = (int)STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); - if (col > len) - result->col = len; - else - result->col = col; + base = ml_get_buf(syn_buf, result->lnum, FALSE); + p = base + col; + if (off > 0) + { + while (off-- > 0 && *p != NUL) + mb_ptr_adv(p); + } + else if (off < 0) + { + while (off++ < 0 && base < p) + mb_ptr_back(base, p); + } + col = (int)(p - base); } + result->col = col; } /* @@ -3059,22 +3068,39 @@ syn_add_start_off(result, regmatch, spp, idx, extra) int extra; /* extra chars for offset to end */ { int col; + int off; + char_u *base; + char_u *p; if (spp->sp_off_flags & (1 << (idx + SPO_COUNT))) { result->lnum = regmatch->endpos[0].lnum; - col = regmatch->endpos[0].col + extra; + col = regmatch->endpos[0].col; + off = spp->sp_offsets[idx] + extra; } else { result->lnum = regmatch->startpos[0].lnum; col = regmatch->startpos[0].col; + off = spp->sp_offsets[idx]; } - col += spp->sp_offsets[idx]; - if (col < 0) - result->col = 0; - else - result->col = col; + if (off != 0) + { + base = ml_get_buf(syn_buf, result->lnum, FALSE); + p = base + col; + if (off > 0) + { + while (off-- && *p != NUL) + mb_ptr_adv(p); + } + else if (off < 0) + { + while (off++ && base < p) + mb_ptr_back(base, p); + } + col = (int)(p - base); + } + result->col = col; } /* diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index 4b86ebbfe..b9871d601 100644 --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -4,7 +4,7 @@ # Authors: Zoltan Arpadffy, <arpadffy@polarhome.com> # Sandor Kopanyi, <sandor.kopanyi@mailbox.hu> # -# Last change: 2007 Aug 14 +# Last change: 2008 Jun 19 # # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX. # Edit the lines in the Configuration section below to select. @@ -59,7 +59,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \ test43.out test44.out test45.out test46.out \ test48.out test51.out test53.out test54.out test55.out \ test56.out test57.out test58.out test59.out test60.out \ - test61.out test62.out test63.out test64.out + test61.out test62.out test63.out test64.out test65.out .IFDEF WANT_GUI SCRIPT_GUI = test16.out diff --git a/src/testdir/Makefile b/src/testdir/Makefile index 89a0ca9c1..c7d1b39fb 100644 --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -20,7 +20,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ test48.out test49.out test51.out test52.out test53.out \ test54.out test55.out test56.out test57.out test58.out \ test59.out test60.out test61.out test62.out test63.out \ - test64.out + test64.out test65.out SCRIPTS_GUI = test16.out diff --git a/src/testdir/test11.in b/src/testdir/test11.in index 063aeb260..007698bac 100644 --- a/src/testdir/test11.in +++ b/src/testdir/test11.in @@ -32,21 +32,21 @@ STARTTEST :w>>test.out " Append it to the output file :au! FileAppendPre :" setup autocommands to decompress before reading and re-compress afterwards -:au BufReadPre *.gz !gzip -d <afile> +:au BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>")) :au BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>")) :au BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r")) -:au BufReadPost *.gz !gzip <afile>:r +:au BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r")) :e! Xtestfile.gz " Edit compressed file :w>>test.out " Append it to the output file :set shelltemp " need temp files here -:au FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>").".t") -:au FilterReadPre *.out !sed s/e/E/ <afile>.t ><afile> -:au FilterReadPre *.out !rm <afile>.t +:au FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") . ".t") +:au FilterReadPre *.out exe '!sed s/e/E/ ' . shellescape(expand("<afile>")) . ".t >" . shellescape(expand("<afile>")) +:au FilterReadPre *.out exe '!rm ' . shellescape(expand("<afile>")) . '.t' :au FilterReadPost *.out '[,']s/x/X/g :e! test.out " Edit the output file :23,$!cat :23,$s/\r$// " remove CR for when sed adds them -:au! FileReadPre *.gz !gzip -d <afile> +:au! FileReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>")) :au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>")) :au! FileReadPost *.gz '[,']s/l/L/ :$r Xtestfile.gz " Read compressed file diff --git a/src/testdir/test3.in b/src/testdir/test3.in index b929279f4..35582bd9c 100644 --- a/src/testdir/test3.in +++ b/src/testdir/test3.in @@ -4,7 +4,7 @@ Test for 'cindent' STARTTEST :so small.vim -:set nocompatible viminfo+=nviminfo +:set nocompatible viminfo+=nviminfo modeline :edit " read modeline /start of AUTO =/end of AUTO diff --git a/src/testdir/test65.in b/src/testdir/test65.in index e69de29bb..896e9ed09 100644 --- a/src/testdir/test65.in +++ b/src/testdir/test65.in @@ -0,0 +1,78 @@ +Test for floating point. + +STARTTEST +:so small.vim +:if !has("float") +: e! test.ok +: wq! test.out +:endif +:" +:$put =printf('%f', 123.456) +:$put =printf('%e', 123.456) +:$put =printf('%g', 123.456) +:" check we don't crash on division by zero +:echo 1.0 / 0.0 +:$put ='+=' +:let v = 1.234 +:let v += 6.543 +:$put =printf('%g', v) +:let v = 1.234 +:let v += 5 +:$put =printf('%g', v) +:let a = 5 +:let a += 3.333 +:$put =string(a) +:$put ='==' +:let v = 1.234 +:$put =v == 1.234 +:$put =v == 1.2341 +:$put ='add-subtract' +:$put =printf('%g', 4 + 1.234) +:$put =printf('%g', 1.234 - 8) +:$put ='mult-div' +:$put =printf('%g', 4 * 1.234) +:$put =printf('%g', 4.0 / 1234) +:$put ='dict' +:$put =string({'x': 1.234, 'y': -2.0e20}) +:$put ='list' +:$put =string([-123.4, 2.0e-20]) +:$put ='abs' +:$put =printf('%d', abs(1456)) +:$put =printf('%d', abs(-4)) +:$put =printf('%d', abs([1, 2, 3])) +:$put =printf('%g', abs(14.56)) +:$put =printf('%g', abs(-54.32)) +:$put ='ceil' +:$put =printf('%g', ceil(1.456)) +:$put =printf('%g', ceil(-5.456)) +:$put =printf('%g', ceil(-4.000)) +:$put ='floor' +:$put =printf('%g', floor(1.856)) +:$put =printf('%g', floor(-5.456)) +:$put =printf('%g', floor(4.0)) +:$put ='log10' +:$put =printf('%g', log10(1000)) +:$put =printf('%g', log10(0.01000)) +:$put ='pow' +:$put =printf('%g', pow(3, 3.0)) +:$put =printf('%g', pow(2, 16)) +:$put ='round' +:$put =printf('%g', round(0.456)) +:$put =printf('%g', round(4.5)) +:$put =printf('%g', round(-4.50)) +:$put ='sqrt' +:$put =printf('%g', sqrt(100)) +:echo sqrt(-4.01) +:$put ='str2float' +:$put =printf('%g', str2float('1e40')) +:$put ='trunc' +:$put =printf('%g', trunc(1.456)) +:$put =printf('%g', trunc(-5.456)) +:$put =printf('%g', trunc(4.000)) +:$put ='float2nr' +:$put =float2nr(123.456) +:$put =float2nr(-123.456) +:/^Results/,$wq! test.out +ENDTEST + +Results of test65: |