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 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/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 diàleg Ajuda/Cerca... let g:menutrans_help_dialog = "Introduïu el terme sobre el qual necessiteu ajuda.\n\nUseu el prefix i_ per ordres d'entrada (p.ex.: i_CTRL-X)\nUseu el prefix c_ per ordres de la línia d'ordres (p.ex.: c_<Del>)\nUseu el prefix ' per noms d'opcions (p.ex.: 'shiftwidth')" - " menú 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 &Desfés<Tab>u @@ -58,14 +57,15 @@ menutrans &Paste<Tab>"+gP Engan&xa<Tab>"+gP menutrans Put\ &Before<Tab>[p Posa\ &abans<Tab>[p menutrans Put\ &After<Tab>]p P&osa\ després<Tab>]p menutrans &Delete<Tab>x Suprimeix<Tab>x -menutrans &Select\ all<Tab>ggVG &Selecciona-ho\ tot<Tab>ggVG +menutrans &Select\ All<Tab>ggVG &Selecciona-ho\ tot<Tab>ggVG menutrans &Find\.\.\. &Cerca\.\.\. menutrans &Find<Tab>/ &Cerca<Tab>/ menutrans Find\ and\ Rep&lace Cerca\ i\ s&ubstitueix menutrans Find\ and\ Rep&lace\.\.\. Cerca\ i\ s&ubstitueix\.\.\. menutrans Find\ and\ Rep&lace<Tab>:%s Cerca\ i\ s&ubstitueix<Tab>:%s menutrans Find\ and\ Rep&lace<Tab>:s Cerca\ i\ s&ubstitueix<Tab>:s -menutrans Settings\ &Window &Finestra\ d'opcions +menutrans Settings\ &Window Fin&estra\ d'opcions +menutrans Startup\ &Settings Opcions\ i&nicials menutrans &Global\ Settings Opcions\ &globals " submenú 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ó\ ortogràfica + menutrans Spell\ Check\ &Off &Desactiva\ la\ revisió\ ortogràfica + menutrans To\ &Next\ error<Tab>]s Error\ &següent<tab>]s + menutrans To\ &Previous\ error<Tab>[s Error\ &anterior<tab>[s + menutrans Suggest\ &Corrections<Tab>z= Su&ggeriments<Tab>z= + menutrans &Repeat\ correction<Tab>:spellrepall Re&peteix\ la\ correcció<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ää\ &jälkeen<Tab>]p +menutrans &Delete<Tab>x Poi&sta<Tab>x +menutrans &Select\ All<Tab>ggVG V&alitse\ kaikki<Tab>ggVG +" -SEP2- +menutrans &Find\.\.\. &Hae\.\.\. +menutrans Find\ and\ Rep&lace\.\.\. Hae\ ja\ ko&rvaa\.\.\. +menutrans &Find<Tab>/ &Hae<Tab>/ +menutrans Find\ and\ Rep&lace<Tab>:%s Hae\ ja\ ko&rvaa<Tab>:%s +menutrans Find\ and\ Rep&lace<Tab>:s Hae\ ja\ ko&rvaa<Tab>:s +" -SEP3- +menutrans Settings\ &Window Aset&usikkuna +menutrans Startup\ &Settings &Käynnistysasetukset +menutrans &Global\ Settings &Yleiset\ asetukset +" Submenu: +" Accels: KOSHVYIATLEPR +menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Korostus<Tab>:set\ hls! +menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Ohita\ kirjaintaso<Tab>:set\ ic! +menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Suljekorostus<Tab>:set\ sm! + +menutrans &Context\ lines &Huomioitavat\ kontekstirivit +" Subsubmenu: +" Accels: ELSOA +menutrans &Virtual\ Edit &Virtuaalimuokkaus +menutrans Never &Ei koskaan +menutrans Block\ Selection &Lohkovalinta +menutrans Insert\ mode &Syöttötila +menutrans Block\ and\ Insert L&ohkosyöttötila +menutrans Always &Aina + +menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! S&yöttötila<Tab>:set\ im! +menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! V&i-tila<Tab>:set\ cp! +menutrans Search\ &Path\.\.\. H&akupolku\.\.\. +menutrans Ta&g\ Files\.\.\. &Tägitiedostot\.\.\. +" -SEP1- +menutrans Toggle\ &Toolbar Työka&lupalkki +menutrans Toggle\ &Bottom\ Scrollbar Vaakavi&erityspalkki +menutrans Toggle\ &Left\ Scrollbar Vasen\ &pystyvierityspalkki +menutrans Toggle\ &Right\ Scrollbar Oikea\ pystyvie&rityspalkki + +let g:menutrans_path_dialog = "Anna tiedostojen hakupolku.\nErota hakemistot pilkuin." +let g:menutrans_tags_dialog = "Anna tägitiedostojen nimet.\nErota tidostot pilkuin." + +menutrans F&ile\ Settings Tiedostoasetu&kset +" Submenu: +" Accels: NLRSTACIBEM +menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Rivi&numerointi<Tab>:set\ nu! +menutrans Toggle\ &List\ Mode<Tab>:set\ list! &Listaustila<Tab>:set\ list! +menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Rivitys<Tab>:set\ wrap! +menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! &Sanoittainen rivitys<Tab>:set\ lbr! +menutrans Toggle\ &expand-tab<Tab>:set\ et! Muuta\ &tabit\ väleiksi<Tab>:set\ et! +menutrans Toggle\ &auto-indent<Tab>:set\ ai! &Automaattinen\ sisennys<Tab>:set\ ai! +menutrans Toggle\ &C-indenting<Tab>:set\ cin! &C-kielen\ sisennys<Tab>:set\ cin! +" -SEP2- +menutrans &Shiftwidth S&isennysleveys +menutrans Soft\ &Tabstop Näennäista&bulointi +menutrans Te&xt\ Width\.\.\. Tekstinl&eveys\.\.\. +menutrans &File\ Format\.\.\. Tiedosto&muoto\.\.\. + +let g:menutrans_textwidth_dialog = "Anna uusi tekstin leveys\n(0 poistaa käytöstä)" +let g:menutrans_fileformat_dialog = "Anaa tiedoston kirjoitusmuoto." +let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Peru " + +menutrans C&olor\ Scheme &Väriteema +menutrans &Keymap &Näppäinkartta +menutrans None Ei mikään +menutrans Select\ Fo&nt\.\.\. Valitse\ &fontti\.\.\. + + +menutrans &Tools T&yökalut +" Accels: ___OTDM__ +menutrans &Jump\ to\ this\ tag<Tab>g^] Siirry\ tägiin<Tab>g^] +menutrans Jump\ &back<Tab>^T Siirry\ takaisin<Tab>^T +menutrans Build\ &Tags\ File Luo\ tägitiedosto + +" -SEP1- +menutrans &Spelling &Oikeinkirjoitus +" Submenu: +" Accels: OSEKT +menutrans &Spell\ Check\ On &Oikaisuluku\ päälle +menutrans Spell\ Check\ &Off &Oikaisuluku\ pois\ päältä +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 &Näytä\ kursorin\ rivi<Tab>zv +menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Näytä\ &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 &Päivitä +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 &Päivitä<Tab>:cwin +menutrans &Open<Tab>:copen &Avaa<Tab>:copen +menutrans &Close<Tab>:cclose &Sulje<Tab>:cclose + +menutrans Se&T\ Compiler Ase&ta\ kääntäjä +" -SEP3- +menutrans &Convert\ to\ HEX<Tab>:%!xxd Muunna\ heksoiksi<Tab>:%!xxd +menutrans Conve&rt\ back<Tab>:%!xxd\ -r Muunna\ takaisin<Tab>:%!xxd\ -r + + +menutrans &Syntax &Syntaksi +" Accels: NSFPMAT +menutrans &Show\ filetypes\ in\ menu &Näytä\ tiedostotyypit\ valikossa +" -SEP1- +menutrans Set\ '&syntax'\ only Aseta\ vain\ &syntax +menutrans Set\ '&filetype'\ too Aseta\ myös\ &filetype +menutrans &Off &Pois\ päältä +" -SEP3- +menutrans Co&lor\ test Testaa\ värit +menutrans &Highlight\ test Testaa\ korostukset +menutrans &Convert\ to\ HTML Muunna\ HTML:ksi +" -SEP2- +menutrans &Off &Pois\ päältä +menutrans &Manual &Manuaalinen +menutrans A&utomatic &Automaattinen +menutrans on/off\ for\ &This\ file Kytke\ &tälle\ tiedostolle + +" The Start Of The Syntax Menu +menutrans ABC\ music\ notation ABC\ (notation\ musicale) +menutrans AceDB\ model Modèle\ AceDB +menutrans Apache\ config Config\.\ Apache +menutrans Apache-style\ config Config\.\ style\ Apache +menutrans ASP\ with\ VBScript ASP\ avec\ VBScript +menutrans ASP\ with\ Perl ASP\ avec\ Perl +menutrans Assembly Assembleur +menutrans BC\ calculator Calculateur\ BC +menutrans BDF\ font Fonte\ BDF +menutrans BIND\ config Config\.\ BIND +menutrans BIND\ zone Zone\ BIND +menutrans Cascading\ Style\ Sheets Feuilles\ de\ style\ en\ cascade +menutrans Cfg\ Config\ file Fichier\ de\ config\.\ \.cfg +menutrans Cheetah\ template Patron\ Cheetah +menutrans commit\ file Fichier\ commit +menutrans Generic\ Config\ file Fichier\ de\ config\.\ générique +menutrans Digital\ Command\ Lang DCL +menutrans DNS/BIND\ zone Zone\ BIND/DNS +menutrans Dylan\ interface Interface +menutrans Dylan\ lid LID +menutrans Elm\ filter\ rules Règles\ de\ filtrage\ Elm +menutrans ERicsson\ LANGuage Erlang\ (langage\ Ericsson) +menutrans Essbase\ script Script\ Essbase +menutrans Eterm\ config Config\.\ Eterm +menutrans Exim\ conf Config\.\ Exim +menutrans Fvwm\ configuration Config\.\ Fvwm +menutrans Fvwm2\ configuration Config\.\ Fvwm2 +menutrans Fvwm2\ configuration\ with\ M4 Config\.\ Fvwm2\ avec\ M4 +menutrans GDB\ command\ file Fichier\ de\ commandes\ GDB +menutrans HTML\ with\ M4 HTML\ avec\ M4 +menutrans Cheetah\ HTML\ template Patron\ Cheetah\ pour\ HTML +menutrans IDL\Generic\ IDL IDL\IDL\ générique +menutrans IDL\Microsoft\ IDL IDL\IDL\ Microsoft +menutrans Indent\ profile Profil\ Indent +menutrans Inno\ setup Config\.\ Inno +menutrans InstallShield\ script Script\ InstallShield +menutrans KDE\ script Script\ KDE +menutrans LFTP\ config Config\.\ LFTP +menutrans LifeLines\ script Script\ LifeLines +menutrans Lynx\ Style Style\ Lynx +menutrans Lynx\ config Config\.\ Lynx +menutrans Man\ page Page\ Man +menutrans MEL\ (for\ Maya) MEL\ (pour\ Maya) +menutrans 4DOS\ \.bat\ file Fichier\ \.bat\ 4DOS +menutrans \.bat\/\.cmd\ file Fichier\ \.bat\ /\ \.cmd +menutrans \.ini\ file Fichier\ \.ini +menutrans Module\ Definition Définition\ de\ module +menutrans Registry Extrait\ du\ registre +menutrans Resource\ file Fichier\ de\ ressources +menutrans Novell\ NCF\ batch Batch\ Novell\ NCF +menutrans NSIS\ script Script\ NSIS +menutrans Oracle\ config Config\.\ Oracle +menutrans Palm\ resource\ compiler Compil\.\ de\ resources\ Palm +menutrans PHP\ 3-4 PHP\ 3\ et\ 4 +menutrans Postfix\ main\ config Config\.\ Postfix +menutrans Povray\ scene\ descr Scène\ Povray +menutrans Povray\ configuration Config\.\ Povray +menutrans Purify\ log Log\ Purify +menutrans Readline\ config Config\.\ Readline +menutrans RCS\ log\ output Log\ RCS +menutrans RCS\ file Fichier\ RCS +menutrans RockLinux\ package\ desc\. Desc\.\ pkg\.\ RockLinux +menutrans Samba\ config Config\.\ Samba +menutrans SGML\ catalog Catalogue\ SGML +menutrans SGML\ DTD DTD\ SGML +menutrans SGML\ Declaration Déclaration\ SGML +menutrans Shell\ script Script\ shell +menutrans sh\ and\ ksh sh\ et\ ksh +menutrans Sinda\ compare Comparaison\ Sinda +menutrans Sinda\ input Entrée\ Sinda +menutrans Sinda\ output Sortie\ Sinda +menutrans SKILL\ for\ Diva SKILL\ pour\ Diva +menutrans Smarty\ Templates Patrons\ Smarty +menutrans SNNS\ network Réseau\ SNNS +menutrans SNNS\ pattern Motif\ SNNS +menutrans SNNS\ result Résultat\ SNNS +menutrans Snort\ Configuration Config\.\ Snort +menutrans Squid\ config Config\.\ Squid +menutrans Subversion\ commit Commit\ Subversion +menutrans TAK\ compare Comparaison\ TAK +menutrans TAK\ input Entrée\ TAK +menutrans TAK\ output Sortie\ TAK +menutrans TeX\ configuration Config\.\ TeX +menutrans TF\ mud\ client TF\ (client\ MUD) +menutrans Tidy\ configuration Config\.\ Tidy +menutrans Trasys\ input Entrée\ Trasys +menutrans Command\ Line Ligne\ de\ commande +menutrans Geometry Géométrie +menutrans Optics Optiques +menutrans Vim\ help\ file Fichier\ d'aide\ Vim +menutrans Vim\ script Script\ Vim +menutrans Viminfo\ file Fichier\ Viminfo +menutrans Virata\ config Config\.\ Virata +menutrans Wget\ config Config\.\ wget +menutrans Whitespace\ (add) Espaces\ et\ tabulations +menutrans WildPackets\ EtherPeek\ Decoder Décodeur\ WildPackets\ EtherPeek +menutrans X\ resources Resources\ X +menutrans XXD\ hex\ dump Sortie\ hexa\.\ de\ xxd +menutrans XFree86\ Config Config\.\ XFree86 + +menutrans &Buffers &Puskurit +" Accels: VPASE +menutrans Dummy Dummy +menutrans &Refresh\ menu Päivitä\ &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 &Ylös<Tab>^WK +menutrans &Bottom<Tab>^WJ &Alas<Tab>^WJ +menutrans &Left\ side<Tab>^WH &Oikealle<Tab>^WH +menutrans &Right\ side<Tab>^WL &Vasemmalle<Tab>^WL + +menutrans Rotate\ &Up<Tab>^WR Vaihda\ &ylemmäs<Tab>^WR +menutrans Rotate\ &Down<Tab>^Wr Vaihda\ &alemmas<Tab>^Wr +" -SEP3- +menutrans &Equal\ Size<Tab>^W= Saman\ &kokoisiksi<Tab>^W= +menutrans &Max\ Height<Tab>^W_ Enimmäisk&orkeuteen<Tab>^W_ +menutrans M&in\ Height<Tab>^W1_ Vähimmäisk&orkeuteen<Tab>^W1_ +menutrans Max\ &Width<Tab>^W\| Enimmäis&leveyteen<Tab>^W\| +menutrans Min\ Widt&h<Tab>^W1\| Vähimmäis&leveyteen<Tab>^W1\| + +" (Plugin menus here) +menutrans Plugin Liitännäiset + +menutrans &Help &Ohje +" Accels: YKUHTLROVI +menutrans &Overview<Tab><F1> &Yleiskatsaus<Tab><F1> +menutrans &User\ Manual &Käyttöohje +menutrans &How-to\ links K&UINKA-linkkejä +menutrans &Find\.\.\. &Hae\.\.\. +" -sep1- +menutrans &Credits &Tekijät +menutrans Co&pying &Lisenssi +menutrans &Sponsor/Register Sponsoroi/&Rekisteröi +menutrans O&rphans &Orvoista +" -sep2- +menutrans &Version &Versio +menutrans &About T&ietoja + +let g:menutrans_help_dialog = "Anna komento tai sana, jota haetaan ohjeesta.\n\nAloita i_:llä syöttötilan 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 fenêtre + tmenu ToolBar.WinMin Minimiser fenêtre + tmenu ToolBar.WinVSplit Fractionner verticalement + tmenu ToolBar.WinMaxWidth Maximiser largeur fenêtre + tmenu ToolBar.WinMinWidth Minimiser largeur fenêtre + tmenu ToolBar.WinClose Fermer fenêtre + endif + tmenu ToolBar.LoadSesn Avaa sessio + tmenu ToolBar.SaveSesn Tallenna nykyinen sessio + tmenu ToolBar.RunScript Lataa vim-skripti + tmenu ToolBar.Make Suorita make + tmenu ToolBar.RunCtags Suorita CTags + tmenu ToolBar.TagJump Hyppää tägiin + 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 iîïy +! MAP oôö +! MAP uùûü + MAP cç +- MAP AÀÂÄ +- MAP EÉÈÊË +- MAP IÎÏY +- 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 Rémi Vanicat, distributed under LGPL -! # version francais 0.000000001 ! -! #EMME ~ AME -! SAL AIX$ E -! SAL AI E -! SAL AN(AEUIO)- AM -! SAL AN A -! SAL AMM AM -! SAL AM(AEUIO)- AM -! SAL AM A -! SAL AUD$ O -! SAL AUX$ O -! SAL AU O -! SAL A A -! SAL  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 Rémi Vanicat, distributed under LGPL ++ # version francais 0.000000001 ++ ++ #EMME ~ AME ++ ++ SAL AIX$ E ++ SAL AI E ++ SAL AN(AEUIO)- AM ++ SAL AN A ++ SAL AMM AM ++ SAL AM(AEUIO)- AM ++ SAL AM A ++ SAL AUD$ O ++ SAL AUX$ O ++ SAL AU O ++ SAL A A ++ SAL  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 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.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 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.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 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.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 mächtiger Editor, der viele Befehle bereitstellt; zu viele, - um alle in einem Tutor wie diesem zu erklären. Dieser Tutor ist so - gestaltet, um genug Befehle vorzustellen, dass Du die Fähigkeit erlangst, - Vim mit Leichtigkeit als einen Allzweck-Editor zu benutzen. - Die Zeit für das Durcharbeiten dieses Tutors beträgt ca. 25-30 Minuten, - abhängig davon, wie viel Zeit Du mit Experimentieren verbringst. - - ACHTUNG: - Die in den Lektionen angewendeten Kommandos werden den Text modifizieren. - Erstelle eine Kopie dieser Datei, in der Du üben willst (falls Du "vimtutor" - aufgerufen hast, ist dies bereits eine Kopie). - - Es ist wichtig, sich zu vergegenwärtigen, dass dieser Tutor für das Anwenden - konzipiert ist. Das bedeutet, dass Du die Befehle ausführen musst, um sie - richtig zu lernen. Wenn Du nur den Text liest, vergisst Du die Befehle! - - Jetzt stelle sicher, dass Deine Umstelltaste NICHT gedrückt ist und betätige - die j Taste genügend Male, um den Cursor nach unten zu bewegen, so dass - Lektion 1.1 den Bildschirm vollkommen ausfüllt. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.1: BEWEGEN DES CURSORS - - ** Um den Cursor zu bewegen, drücke die h,j,k,l Tasten wie unten gezeigt. ** - ^ Hilfestellung: - k Die h Taste befindet sich links und bewegt nach links. - < h l > Die l Taste liegt rechts und bewegt nach rechts. - j Die j Taste ähnelt einem Pfeil nach unten. - v - 1. Bewege den Cursor auf dem Bildschirm umher, bis Du Dich sicher fühlst. - - 2. Halte die Nach-Unten-Taste (j) gedrückt, bis sie sich wiederholt. - Jetzt weißt Du, wie Du Dich zur nächsten Lektion bewegen kannst. - - 3. Benutze die Nach-Unten-Taste, um Dich zu Lektion 1.2 zu bewegen. - -Bemerkung: Immer, wenn Du Dir unsicher bist über das, was Du getippt hast, - drücke <ESC> , um Dich in den Normalmodus zu begeben. - Dann gib das gewünschte Kommando noch einmal ein. - -Bemerkung: Die Cursor-Tasten sollten ebenfalls funktionieren. Aber wenn Du - hjkl benutzt, wirst Du in der Lage sein, Dich sehr viel schneller - umherzubewegen, wenn Du Dich einmal daran gewöhnt hast. Wirklich! -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.2: VIM BEENDEN - - - !! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies - diese gesamte Lektion!! - - 1. Drücke die <ESC> Taste (um sicherzustellen, dass Du im Normalmodus bist). - - 2. Tippe: :q! <ENTER>. - Dies beendet den Editor und VERWIRFT alle Änderungen, die Du gemacht hast. - - 3. Wenn Du die Eingabeaufforderung siehst, gib das Kommando ein, das Dich zu - diesem Tutor geführt hat. Dies wäre: vimtutor <ENTER> - - 4. Wenn Du Dir diese Schritte eingeprägt hast und Du Dich sicher fühlst, - führe Schritte 1 bis 3 aus, um den Editor zu verlassen und wieder - hineinzugelangen. - -Bemerkung: :q! <ENTER> verwirft alle Änderungen, die Du gemacht hast. In - einigen Lektionen lernst Du , die Änderungen in einer Datei zu speichern. - - 5. Bewege den Cursor abwärts zu Lektion 1.3. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.3: TEXT EDITIEREN - LÖSCHEN - - - ** Drücke x um das Zeichen unter dem Cursor zu löschen. ** - - 1. Bewege den Cursor zu der mit ---> markierten Zeile unten. - - 2. Um die Fehler zu beheben, bewege den Cursor, bis er auf dem Zeichen steht, - das gelöscht werden soll. - - 3. Drücke die x Taste, um das überflüssige Zeichen zu löschen. - - 4. Wiederhole die Schritte 2 bis 4, bis der Satz korrekt ist. - ----> Die Kkuh sprangg übber deen Moond. - - 5. Wenn nun die Zeile korrekt ist, gehe weiter zur Lektion 1.4. - -Anmerkung: Während Du durch diesen Tutor gehst, versuche nicht, auswendig zu - lernen, lerne vielmehr durch Anwenden. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.4: TEXT EDITIEREN - EINFÜGEN - - - ** Drücke i , um Text einzufügen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Um die erste Zeile mit der zweiten gleichzumachen, bewege den Cursor auf - das erste Zeichen NACH der Stelle, wo der Text eingefügt werden soll. - - 3. Drücke i und gib die notwendigen Ergänzungen ein. - - 4. Wenn jeweils ein Fehler beseitigt ist, drücke <ESC> , um zum Normalmodus - zurückzukehren. - Wiederhole die Schritte 2 bis 4, um den Satz zu korrigieren. - ----> In dieser ft etwas . ----> In dieser Zeile fehlt etwas Text. - - 5. Wenn Du Dich mit dem Einfügen von Text sicher fühlst, gehe zu Lektion 1.5. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.5: TEXT EDITIEREN - ANFÜGEN - - - ** Drücke A , um Text anzufügen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - Es ist gleichgültig, auf welchem Zeichen der Zeile der Cursor steht. - - 2. Drücke A und gib die nötigen Ergänzungen ein. - - 3. Wenn das Anfügen abgeschlossen ist, drücke <ESC>, um in den Normalmodus - zurückzukehren. - - 4. Bewege den Cursor zur zweiten mit ---> markierten Zeile und wiederhole - die Schritte 2 und 3, um den Satz zu korrigieren. - ----> In dieser Zeile feh - In dieser Zeile fehlt etwas Text. ----> Auch hier steh - Auch hier steht etwas Unvollständiges. - - 5. Wenn Du dich mit dem Anfügen von Text sicher fühlst, gehe zu Lektion 1.6. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.6: EINE DATEI EDITIEREN - - - ** Benutze :wq , um eine Datei zu speichern und Vim zu verlassen. ** - - !! ACHTUNG: Bevor Du einen der unten aufgeführten Schritte ausführst, lies - diese gesamte Lektion!! - - 1. Verlasse den Editor so wie in Lektion 1.2: :q! - - 2. Gib dieses Kommando in die Eingabeaufforderung ein: vim tutor <ENTER> - 'vim' ist der Aufruf des Editors, 'tutor' ist die zu editierende Datei. - Benutze eine Datei, die geändert werden kann. - - 3. Füge Text ein oder lösche ihn, wie Du in den vorigen Lektionen gelernt - hast. - - 4. Speichere die geänderte Datei und verlasse Vim mit: :wq <ENTER> - - 5. Starte den vimtutor neu und bewege Dich zu der folgenden Zusammenfassung. - - 6. Nachdem Du obige Schritte gelesen und verstanden hast, führe sie durch. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 1 - - - 1. Der Cursor wird mit den Pfeiltasten oder den Tasten hjkl bewegt. - h (links) j (unten) k (aufwärts) l (rechts) - - 2. Um Vim von der Eingabeaufforderung auszuführen, tippe: vim DATEI <ENTER> - - 3. Um Vim zu verlassen und alle Änderungen zu verwerfen, tippe: - <ESC> :q! <ENTER> . - ODER tippe: <ESC> :wq <ENTER> , um die Änderungen zu speichern. - - 4. Um das Zeichen unter dem Cursor zu löschen, tippe: x - - 5. Um Text einzufügen oder anzufügen, tippe: - i Einzufügenden Text eingeben <ESC> Einfügen vor dem Cursor - A Anzufügenden Text eingeben <ESC> Anfügen nach dem Zeilendene - -Bemerkung: Drücken von <ESC> bringt Dich in den Normalmodus oder bricht ein - ungewolltes, erst teilweise eingegebenes Kommando ab. - - Nun fahre mit Lektion 2 fort. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.1: LÖSCHKOMMANDOS - - - ** Tippe dw , um ein Wort zu löschen. ** - - 1. Drücke <ESC> um sicherzustellen, dass Du im Normalmodus bist. - - 2. Bewege den Cursor zu der mit ---> markierten Zeile unten. - - 3. Bewege den Cursor zum Anfang eines Wortes, das gelöscht werden soll. - - 4. Tippe dw , um das Wort zu entfernen. - - Bemerkung: Der Buchstabe d erscheint auf der letzten Zeile des Bildschirms, - wenn Du ihn eingibst. Vim wartet darauf, daß Du w eingibst. Wenn Du - ein anderes Zeichen als d siehst, hast Du etwas falsches getippt; - drücke <ESC> und beginne neu. - ----> Einige Wörter lustig gehören nicht Papier in diesen Satz. - - 5. Wiederhole die Schritte 3 und 4, bis der Satz korrekt ist und gehe - danach zur Lektion 2.2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.2: WEITERE LÖSCHKOMMANDOS - - - ** Tippe d$ , um bis zum Ende der Zeile zu löschen. ** - - 1. Drücke <ESC> , um sicherzustellen, dass Du im Normalmodus bist. - - 2. Bewege den Cursor zu der mit ---> markierten Zeile unten. - - 3. Bewege den Cursor zum Ende der korrekten Zeile (NACH dem ersten . ). - - 4. Tippe d$ , um bis zum Ende der Zeile zu löschen. - ----> Jemand hat das Ende der Zeile doppelt eingegeben. doppelt eingegeben. - - - 5. Gehe weiter zur Lektion 2.3 , um zu verstehen, was hierbei passiert. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.3: ÜBER OPERATOREN UND BEWEGUNGSZÜGE - - - Viele Kommandos, die Text ändern, setzen sich aus einem Operator und einer - Bewegung zusammen. Das Format für ein Löschkommando mit dem Löschoperator d - lautet wie folgt: - - d Bewegung - - wobei: - d - der Löschoperator - Bewegung - worauf der Löschoperator angewandt wird (unten aufgelistet). - - Eine kleine Auflistung von Bewegungen: - w - bis zum Beginn des nächsten Wortes OHNE dessen erstes Zeichen. - e - zum Ende des aktuellen Wortes MIT dessen letztem Zeichen. - $ - zum Ende der Zeile MIT dem letzen Zeichen. - - Dementsprechend löscht die Eingabe von de vom Cursor an bis zum Wortende. - -Bemerkung: Die Eingabe lediglich des Bewegungsteils im Normalmodus bewegt den - Cursor entsprechend. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.4: ANWENDUNG EINES ZÄHLERS FÜR EINEN BEWEGUNGSSCHRITT - - - ** Die Eingabe einer Zahl vor einem Bewegungsschritt wiederholt diesen. ** - - 1. Bewege den Cursor zum Beginn der mit ---> markierten Zeile unten. - - 2. Tippe 2w , um den Cursor zwei Wörter vorwärts zu bewegen. - - 3. Tippe 3e , um den Cursor zum Ende des dritten Wortes zu bewegen. - - 4. Tippe 0 (Null) , um zum Anfang der Zeile zu gelangen. - - 5. Wiederhole Schritte 2 und 3 mit verschiedenen Zählern. - - ---> Dies ist nur eine Zeile aus Wörten um sich darin herumzubewegen. - - 6. Gehe weiter zu Lektion 2.5. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.5: ANWENDUNG EINES ZÄHLERS FÜR MEHRERE LÖSCHVORGÄNGE - - - ** Die Eingabe einer Zahl mit einem Operator wiederholt diesen mehrfach. ** - - Für die Kombination des Löschoperators und einem Bewegungsschritt (siehe - oben) stellt man dem Bewegungsschritt einen Zähler voran, um mehr zu löschen: - d Nummer Bewegungsschritt - - 1. Bewege den Cursor zum ersten Wort in GROSSBUCHSTABEN in der mit ---> - markieren Zeile. - - 2. Tippe d2w , um die zwei Wörter in GROSSBUCHSTABEN zu löschen. - - 3. Wiederhole Schritte 1 und 2 mit einem anderen Zähler, um die - darauffolgenden Wörter in GROSSBUCHSTABEN mit einem einzigen Kommando - zu löschen. - ----> Diese ABC DE Zeile FGHI JK LMN OP mit Wörtern ist Q RS TUV bereinigt. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.6: ARBEITEN AUF ZEILEN - - - ** Tippe dd , um eine ganze Zeile zu löschen. ** - - Wegen der Häufigkeit, dass man ganze Zeilen löscht, kamen die Entwickler von - Vi darauf, dass es leichter wäre, einfach zwei d's einzugeben, um eine Zeile - zu löschen. - - 1. Bewege den Cursor zur zweiten Zeile in der unten stehenden Redewendung. - 2. Tippe dd , um die Zeile zu löschen. - 3. Nun bewege Dich zur vierten Zeile. - 4. Tippe 2dd , um zwei Zeilen zu löschen. - ----> 1) Rosen sind rot, ----> 2) Matsch ist lustig, ----> 3) Veilchen sind blau, ----> 4) Ich habe ein Auto, ----> 5) Die Uhr sagt die Zeit, ----> 6) Zucker ist süß, ----> 7) So wie Du auch. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.7: RÜCKGÄNGIG MACHEN (UNDO) - - - ** Tippe u , um die letzten Kommandos rückgängig zu machen ** - ** oder U um eine ganze Zeile wiederherzustellen. ** - - 1. Bewege den Cursor zu der mit ---> markierten Zeile unten - und setze ihn auf den ersten Fehler. - 2. Tippe x , um das erste unerwünschte Zeichen zu löschen. - 3. Nun tippe u um das soeben ausgeführte Kommando rückgängig zu machen. - 4. Jetzt behebe alle Fehler auf der Zeile mit Hilfe des x Kommandos. - 5. Nun tippe ein großes U , um die Zeile in ihren Ursprungszustand - wiederherzustellen. - 6. Nun tippe u einige Male, um das U und die vorhergehenden Kommandos - rückgängig zu machen. - 7. Nun tippe CTRL-R (halte CTRL gedrückt und drücke R) mehrere Male, um die - Kommandos wiederherzustellen (die Rückgängigmachungen rückgängig machen). - ----> Beehebe die Fehller diesser Zeile und sttelle sie mitt 'undo' wieder her. - - 8. Dies sind sehr nützliche Kommandos. - Nun gehe weiter zur Zusammenfassung von Lektion 2. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 2 - - - 1. Um vom Cursor bis zum nächsten Wort zu löschen, tippe: dw - 2. Um vom Cursor bis zum Ende einer Zeile zu löschen, tippe: d$ - 3. Um eine ganze Zeile zu löschen, tippe: dd - - 4. Um eine Bewegung zu wiederholen, stelle eine Nummer voran: 2w - 5. Das Format für ein Änderungskommando ist: - Operator [Anzahl] Bewegungsschritt - wobei: - Operator - gibt an, was getan werden soll, zum Beispiel d für delete - [Anzahl] - ein optionaler Zähler, um den Bewegungsschritt zu wiederholen - Bewegungsschritt - Bewegung über den zu ändernden Text, so wie - w (Wort), $ (zum Ende der Zeile), etc. - - 6. Um Dich zum Anfang der Zeile zu begeben, benutze die Null: 0 - - 7. Um vorherige Aktionen rückgängig zu machen, tippe: u (kleines u) - Um alle Änderungen auf einer Zeile rückgängig zu machen: U (großes U) - Um die Rückgängigmachungen rückgängig zu machen, tippe: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.1: ANFÜGEN (PUT) - - - ** Tippe p , um vorher gelöschten Text nach dem Cursor anzufügen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Tippe dd , um die Zeile zu löschen und sie in eimem Vim-Register zu - speichern. - - 3. Bewege den Cursor zur Zeile c), ÜBER derjenigen, wo die gelöschte Zeile - platziert werden soll. - - 4. Tippe p , um die Zeile unterhalb des Cursors zu platzieren. - - 5. Wiederhole die Schritte 2 bis 4, um alle Zeilen in die richtige - Reihenfolge zu bringen. - ----> d) Kannst Du das auch? ----> b) Veilchen sind blau, ----> c) Intelligenz ist erlernbar, ----> a) Rosen sind rot, -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.2: ERSETZEN (REPLACE) - - - ** Tippe rx , um das Zeichen unter dem Cursor durch x zu ersetzen. ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Bewege den Cursor, bis er sich auf dem ersten Fehler befindet. - - 3. Tippe r und anschließend das Zeichen, welches dort stehen sollte. - - 4. Wiederhole Schritte 2 und 3, bis die erste Zeile gleich der zweiten ist. - ----> Als diese Zeite eingegoben wurde, wurden einike falsche Tasten gelippt! ----> Als diese Zeile eingegeben wurde, wurden einige falsche Tasten getippt! - - 5. Nun fahre fort mit Lektion 3.2. - -Bemerkung: Erinnere Dich, dass Du durch Anwenden lernen solltest, nicht durch - Auswendiglernen. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.3: ÄNDERN (CHANGE) - - - ** Um eine Änderung bis zum Wortende durchzuführen, tippe ce . ** - - 1. Bewege den Cursor zur ersten unten stehenden mit ---> markierten Zeile. - - 2. Platziere den Cursor auf das s von Wstwr. - - 3. Tippe ce und die Wortkorrektur ein (in diesem Fall tippe örter ). - - 4. Drücke <ESC> und bewege den Cursor zum nächsten zu ändernden Zeichen. - - 5. Wiederhole Schritte 3 und 4 bis der erste Satz gleich dem zweiten ist. - ----> Einige Wstwr dieser Zlaww lasdjlaf mit dem Ändern-Operator gaaauu werden. ----> Einige Wörter dieser Zeile sollen mit dem Ändern-Operator geändert werden. - -Bemerke, dass ce das Wort löscht und Dich in den Eingabemodus versetzt. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.4: MEHR ÄNDERUNGEN MITTELS c - - - ** Das change-Kommando arbeitet mit denselben Bewegungen wie delete. ** - - 1. Der change Operator arbeitet in gleicher Weise wie delete. Das Format ist: - - c [Anzahl] Bewegungsschritt - - 2. Die Bewegungsschritte sind die gleichen , so wie w (Wort) und $ - (Zeilenende). - - 3. Bewege Dich zur ersten unten stehenden mit ---> markierten Zeile. - - 4. Bewege den Cursor zum ersten Fehler. - - 5. Tippe c$ , gib den Rest der Zeile wie in der zweiten ein, drücke <ESC> . - ----> Das Ende dieser Zeile soll an die zweite Zeile angeglichen werden. ----> Das Ende dieser Zeile soll mit dem c$ Kommando korrigiert werden. - -Bemerkung: Du kannst die Rücktaste benutzen, um Tippfehler zu korrigieren. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 3 - - - 1. Um einen vorher gelöschten Text anzufügen, tippe p . Dies fügt den - gelöschten Text NACH dem Cursor an (wenn eine ganze Zeile gelöscht wurde, - wird diese in die Zeile unter dem Cursor eingefügt). - - 2. Um das Zeichen unter dem Cursor zu ersetzen, tippe r und das an dieser - Stelle gewünschte Zeichen. - - 3. Der Änderungs- (change) Operator erlaubt, vom Cursor bis zum Ende des - Bewegungsschrittes zu ändern. Tippe ce , um eine Änderung vom Cursor bis - zum Ende des Wortes vorzunehmen; c$ bis zum Ende einer Zeile. - - 4. Das Format für change ist: - - c [Anzahl] Bewegungsschritt - - Nun fahre mit der nächsten Lektion fort. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.1: CURSORPOSITION UND DATEISTATUS - - ** Tippe CTRL-G , um Deine Dateiposition sowie den Dateistatus anzuzeigen. ** - ** Tippe G , um Dich zu einer Zeile in der Datei zu begeben. ** - -Bemerkung: Lies diese gesamte Lektion, bevor Du irgendeinen Schritt ausführst!! - - 1. Halte die Ctrl Taste unten und drücke g . Dies nennen wir wir CTRL-G. - Eine Statusmeldung am Fuß der Seite erscheint mit dem Dateinamen und der - Position innerhalb der Datei. Merke Dir die Zeilennummer für Schritt 3. - -Bemerkung: Möglicherweise siehst Du die Cursorposition in der unteren rechten - Bildschirmecke. Dies ist Folge der 'ruler' Option (siehe :help 'ruler') - - 2. Drücke G , um Dich zum Ende der Datei zu begeben. - Tippe gg , um Dich zum Anfang der Datei zu begeben. - - 3. Gib die Nummer der Zeile ein, auf der Du vorher warst, gefolgt von G . - Dies bringt Dich zurück zu der Zeile, auf der Du gestanden hast, als Du - das erste Mal CTRL-G gedrückt hast. - - 4. Wenn Du Dich sicher genug fühlst, führe die Schritte 1 bis 3 aus. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.2: DAS SUCHEN - KOMMANDO - - - ** Tippe / gefolgt von einem Ausdruck, um nach dem Ausdruck zu suchen. ** - - 1. Im Normalmodus, tippe das / Zeichen. Bemerke, dass das / und der - Cursor am Fuß des Schirms erscheinen, so wie beim : Kommando. - - 2. Nun tippe 'Fehhler' <ENTER>. Dies ist das Wort, nach dem Du suchen willst. - - 3. Um nach demselben Ausdruck weiterzusuchen, tippe einfach n (für next). - Um nach demselben Ausdruck in der Gegenrichtung zu suchen, tippe N . - - 4. Um nach einem Ausdruck rückwärts zu suchen , benutze ? statt / . - - 5. Um dahin zurückzukehren, von wo Du gekommen bist, drücke CTRL-O (Halte - Ctrl unten und drücke den Buchstaben o). Wiederhole dies, um weiter - zurückzugehen. CTRL-I bringt dich vorwärts. - ----> Fehler schreibt sich nicht "Fehhler"; Fehhler ist ein Fehler -Bemerkung: Wenn die Suche das Dateiende erreicht hat, wird sie am Anfang - fortgesetzt, es sei denn, die 'wrapscan' Option wurde abgeschaltet. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.3: PASSENDE KLAMMERN FINDEN - - - ** Tippe % , um eine korrespondierende Klammer ),], oder } zu finden. ** - - 1. Platziere den Cursor auf irgendeines der Zeichen (, [, oder { in der unten - stehenden Zeile, die mit ---> markiert ist. - - 2. Nun tippe das % Zeichen. - - 3. Der Cursor bewegt sich zur passenden gegenüberliegenden Klammer. - - 4. Tippe % , um den Cursor zur anderen passenden Klammer zu bewegen. - - 5. Setze den Cursor auf ein anderes (,),[,],{ oder } und probiere % aus. - ----> Dies ( ist eine Testzeile ( mit [ verschiedenen ] { Klammern } darin. )) - -Bemerkung: Diese Funktionalität ist sehr nützlich bei der Fehlersuche in einem - Programmtext, in dem passende Klammern fehlen! - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.4: DAS ERSETZUNGSKOMMANDO (SUBSTITUTE) - - - ** Tippe :s/alt/neu/g , um 'alt' durch 'neu' zu ersetzen. ** - - 1. Bewege den Cursor zu der unten stehenden mit ---> markierten Zeile. - - 2. Tippe :s/diee/die <ENTER> . Bemerke, dass der Befehl nur das erste - Vorkommen von "diee" ersetzt. - - 3. Nun tippe :s/diee/die/g . Das Zufügen des Flags g bedeutet, eine - globale Ersetzung über die Zeile durchzuführen, was alle Vorkommen von - "diee" auf der Zeile ersetzt. - ----> diee schönste Zeit, um diee Blumen anzuschauen, ist diee Frühlingszeit. - - 4. Um alle Vorkommen einer Zeichenkette innerhalb zweier Zeilen zu ändern, - tippe :#,#s/alt/neu/g wobei #,# die Zeilennummern des Zeilenbereiches - sind, in dem die Ersetzung durchgeführt werden soll. - Tippe :%s/alt/neu/g um alle Vorkommen in der gesamten Datei zu ändern. - Tippe :%s/alt/neu/gc um alle Vorkommen in der gesamten Datei zu finden - mit einem Fragedialog, ob ersetzt werden soll oder nicht. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 4 - - 1. CTRL-G zeigt die aktuelle Dateiposition sowie den Dateistatus. - G bringt Dich zum Ende der Datei. - Nummer G bringt Dich zur entsprechenden Zeilennummer. - gg bringt Dich zur ersten Zeile. - - 2. Die Eingabe von / plus einem Ausdruck sucht VORWÄRTS nach dem Ausdruck. - Die Eingabe von ? plus einem Ausdruck sucht RÜCKWÄRTS nach dem Ausdruck. - Tippe nach einer Suche n , um das nächste Vorkommen in der gleichen - Richtung zu finden; oder N , um in der Gegenrichtung zu suchen. - CTRL-O bringt Dich zurück zu älteren Positionen, CTRL-I zu neueren. - - 3. Die Eingabe von % , wenn der Cursor sich auf (,),[,],{, oder } - befindet, bringt Dich zur Gegenklammer. - - 4. Um das erste Vorkommen von "alt" in einer Zeile durch "neu" zu ersetzen, - tippe :s/alt/neu - Um alle Vorkommen von "alt" in der Zeile ersetzen, tippe :s/alt/neu/g - Um Ausdrücke innerhalb zweier Zeilennummern zu ersetzen, :#,#s/alt/neu/g - Um alle Vorkommen in der ganzen Datei zu ersetzen, tippe :%s/alt/neu/g - Für eine jedmalige Bestätigung, addiere 'c' (confirm) :%s/alt/neu/gc -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.1: AUSFÜHREN EINES EXTERNEN KOMMANDOS - - - ** Gib :! , gefolgt von einem externen Kommando ein, um es auszuführen. ** - - 1. Tippe das vertraute Kommando : , um den Cursor auf den Fuß des Schirms - zu setzen. Dies erlaubt Dir, ein Kommandozeilen-Kommando einzugeben. - - 2. Nun tippe ein ! (Ausrufezeichen). Dies ermöglicht Dir, ein beliebiges, - externes Shellkommando auszuführen. - - 3. Als Beispiel tippe ls nach dem ! und drücke <ENTER>. Dies zeigt - eine Auflistung Deines Verzeichnisses; genauso, als wenn Du auf der - Eingabeaufforderung wärst. Oder verwende :!dir , falls ls nicht geht. - -Bemerkung: Mit dieser Methode kann jedes beliebige externe Kommando - ausgeführt werden, auch mit Argumenten. - -Bemerkung: Alle : Kommandos müssen durch Eingabe von <ENTER> - abgeschlossen werden. Von jetzt an erwähnen wir dies nicht jedesmal. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.2: MEHR ÜBER DAS SCHREIBEN VON DATEIEN - - -** Um am Text durchgeführte Änderungen zu speichern, tippe :w DATEINAME. ** - - 1. Tippe :!dir oder :!ls , um eine Auflistung Deines Verzeichnisses zu - erhalten. Du weißt nun bereits, dass Du danach <ENTER> eingeben musst. - - 2. Wähle einen Dateinamen, der noch nicht existiert, z.B. TEST. - - 3. Nun tippe: :w TEST (wobei TEST der gewählte Dateiname ist). - - 4. Dies speichert die ganze Datei (den Vim Tutor) unter dem Namen TEST. - Um dies zu überprüfen, tippe nochmals :!ls bzw. !dir, um Deinen - Verzeichnisinhalt zu sehen. - -Bemerkung: Würdest Du Vim jetzt beenden und danach wieder mit vim TEST - starten, dann wäre diese Datei eine exakte Kopie des Tutors zu dem - Zeitpunkt, als Du ihn gespeichert hast. - - 5. Nun entferne die Datei durch Eingabe von (MS-DOS): :!del TEST - oder (Unix): :!rm TEST -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.3: AUSWÄHLEN VON TEXT ZUM SCHREIBEN - -** Um einen Abschnitt der Datei zu speichern, tippe v Bewegung :w DATEI ** - - 1. Bewege den Cursor zu dieser Zeile. - - 2. Tippe v und bewege den Cursor zum fünften Auflistungspunkt unten. - Bemerke, daß der Text hervorgehoben wird. - - 3. Drücke das Zeichen : . Am Fuß des Schirms erscheint :'<,'> . - - 4. Tippe w TEST , wobei TEST ein noch nicht vorhandener Dateiname ist. - Vergewissere Dich, daß Du :'<,'>w TEST siehst, bevor Du Enter drückst. - - 5. Vim schreibt die ausgewählten Zeilen in die Datei TEST. Benutze :!dir - oder :!ls , um sie zu sehen. Lösche sie noch nicht! Wir werden sie in - der nächsten Lektion benutzen. - -Bemerkung: Drücken von v startet die Visuelle Auswahl. Du kannst den Cursor - umherbewegen, um die Auswahl größer oder kleiner zu machen. Anschließend - kann man einen Operator anwenden, um mit dem Text etwas zu tun. Zum - Beispiel löscht d den Text. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.4: EINLESEN UND ZUSAMMENFÜHREN VON DATEIEN - - - ** Um den Inhalt einer Datei einzulesen, tippe :r DATEINAME ** - - 1. Platziere den Cursor überhalb dieser Zeile. - -BEACHTE: Nachdem Du Schritt 2 ausgeführt hast, wirst Du Text aus Lektion 5.3 - sehen. Dann bewege Dich wieder ABWÄRTS, um diese Lektion wiederzusehen. - - 2. Nun lies Deine Datei TEST ein indem Du das Kommando :r TEST ausführst, - wobei TEST der von Dir verwendete Dateiname ist. - Die eingelesene Datei wird unterhalb der Cursorzeile eingefügt. - - 3. Um zu überprüfen, dass die Datei eingelesen wurde, gehe zurück und siehe, - dass es jetzt zwei Kopien von Lektion 5.3 gibt, das Original und die - eingefügte Dateiversion. - -Bemerkung: Du kannst auch die Ausgabe eines externen Kommandos einlesen. Zum - Beispiel liest :r !ls die Ausgabe des Kommandos ls ein und platziert - sie unterhalb des Cursors. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 5 - - - 1. :!Kommando führt ein externes Kommando aus. - - Einige nützliche Beispiele sind - (MS-DOS) (Unix) - :!dir :!ls - zeigt eine Verzeichnisauflistung. - :!del DATEINAME :!rm DATEINAME - entfernt Datei DATEINAME. - - 2. :w DATEINAME speichert die aktuelle Vim-Datei unter dem Namen DATEINAME. - - 3. v Bewegung :w DATEINAME schreibt die Visuell ausgewählten Zeilen in - die Datei DATEINAME. - - 4. :r DATEINAME lädt die Datei DATEINAME und fügt sie unterhalb der - Cursorposition ein. - - 5. :r !dir liest die Ausgabe des Kommandos dir und fügt sie unterhalb der - Cursorposition ein. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.1: ZEILEN ÖFFNEN (OPEN) - - - ** Tippe o , um eine Zeile unterhalb des Cursors zu öffnen und Dich in ** - ** den Einfügemodus zu begeben. ** - - 1. Bewege den Cursor zu der ersten mit ---> markierten Zeile unten. - - 2. Tippe o (klein geschrieben), um eine Zeile UNTERHALB des Cursos zu öffnen - und Dich in den Einfügemodus zu begeben. - - 3. Nun tippe etwas Text und drücke <ESC> , um den Einfügemodus zu verlassen. - ----> Mit o wird der Cursor auf der offenen Zeile im Einfügemodus platziert. - - 4. Um eine Zeile ÜBERHALB des Cursos aufzumachen, gib einfach ein großes O - statt einem kleinen o ein. Versuche dies auf der unten stehenden Zeile. - ----> Öffne eine Zeile über dieser mit O , wenn der Cursor auf dieser Zeile ist. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.2: TEXT ANFÜGEN (APPEND) - - - ** Tippe a , um Text NACH dem Cursor einzufügen. ** - - 1. Bewege den Cursor zum Anfang der ersten Übungszeile mit ---> unten. - - 2. Drücke e , bis der Cursor am Ende von Zei steht. - - 3. Tippe ein kleines a , um Text NACH dem Cursor anzufügen. - - 4. Vervollständige das Wort so wie in der Zeile darunter. Drücke <ESC> , - um den Einfügemodus zu verlassen. - - 5. Bewege Dich mit e zum nächsten unvollständigen Wort und wiederhole - Schritte 3 und 4. - ----> Diese Zei bietet Gelegen , Text in einer Zeile anzufü. ----> Diese Zeile bietet Gelegenheit, Text in einer Zeile anzufügen. - -Bemerkung: a, i und A gehen alle gleichermaßen in den Einfügemodus; der - einzige Unterschied ist, wo die Zeichen eingefügt werden. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.3: EINE ANDERE ART DES ERSETZENS (REPLACE) - - - ** Tippe ein großes R , um mehr als ein Zeichen zu ersetzen. ** - - 1. Bewege den Cursor zur ersten unten stehenden, mit ---> markierten Zeile. - Bewege den Cursor zum Anfang des ersten xxx . - - 2. Nun drücke R und tippe die Nummer, die darunter in der zweiten Zeile - steht, so das diese das xxx ersetzt. - - 3. Drücke <ESC> , um den Ersetzungsmodus zu verlassen. Bemerke, daß der Rest - der Zeile unverändert bleibt. - - 4. Wiederhole die Schritte, um das verbliebene xxx zu ersetzen. - ----> Das Addieren von 123 zu xxx ergibt xxx. ----> Das Addieren von 123 zu 456 ergibt 579. - -Bemerkung: Der Ersetzungsmodus ist wie der Einfügemodus, aber jedes eingetippte - Zeichen löscht ein vorhandenes Zeichen. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.4: TEXT KOPIEREN UND EINFÜGEN - - ** Benutze den y Operator, um Text zu kopieren; p , um ihn einzufügen ** - - 1. Gehe zu der mit ---> markierten Zeile unten, setze den Cursor hinter "a)". - - 2. Starte den Visuellen Modus mit v , bewege den Cursor genau vor "erste". - - 3. Tippe y , um den hervorgehoben Text zu kopieren. - - 4. Bewege den Cursor zum Ende der nächsten Zeile: j$ - - 5. Tippe p , um den Text einzufügen und anschließend: a zweite <ESC> . - - 6. Benutze den Visuellen Modus, um " Eintrag." auszuwählen, kopiere mittels - y , bewege Dich zum Ende der nächsten Zeile mit j$ und füge den Text - dort mit p an. - ----> a) dies ist der erste Eintrag. - b) - -Bemerkung: Du kannst y auch als Operator verwenden; yw kopiert ein Wort. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.5: OPTIONEN SETZEN - - ** Setze eine Option so, dass eine Suche oder eine Ersetzung Groß- ** - ** und Kleinschreibung ignoriert ** - - 1. Suche nach 'ignoriere', indem Du /ignoriere eingibst. - Wiederhole die Suche einige Male, indem Du die n - Taste drückst. - - 2. Setze die 'ic' (Ignore case) - Option, indem Du :set ic eingibst. - - 3. Nun suche wieder nach 'ignoriere', indem Du n tippst. - Bemerke, daß jetzt Ignoriere und auch IGNORIERE gefunden wird. - - 4. Setze die 'hlsearch' und 'incsearch' - Optionen: :set hls is - - 5. Wiederhole die Suche und beobachte, was passiert: /ignoriere <ENTER> - - 6. Um das Ignorieren von Groß/Kleinschreibung abzuschalten, tippe: :set noic - -Bemerkung: Um die Hervorhebung der Treffer zu enfernen, gib ein: :nohlsearch -Bemerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze - \c im Suchausdruck: /ignoriere\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 6 - - 1. Tippe o , um eine Zeile UNTER dem Cursor zu öffnen und den Einfügemodus - zu starten. - Tippe O , um eine Zeile ÜBER dem Cursor zu öffnen. - - 2. Tippe a , um Text NACH dem Cursor anzufügen. - Tippe A , um Text nach dem Zeilenende anzufügen. - - 3. Das Kommando e bringt Dich zum Ende eines Wortes. - - 4. Der Operator y (yank) kopiert Text, p (put) fügt ihn ein. - - 5. Ein großes R geht in den Ersetzungsmodus bis zum Drücken von <ESC> . - - 6. Die Eingabe von ":set xxx" setzt die Option "xxx". Einige Optionen sind: - 'ic' 'ignorecase' Ignoriere Groß/Kleinschreibung bei einer Suche - 'is' 'incsearch' Zeige Teilübereinstimmungen für einen Suchausdruck - 'hls' 'hlsearch' Hebe alle passenden Ausdrücke hervor - Der Optionsname kann in der Kurz- oder der Langform angegeben werden. - - 7. Stelle einer Option "no" voran, um sie abzuschalten: :set noic -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 7.1 : AUFRUFEN VON HILFE - - - ** Nutze das eingebaute Hilfesystem ** - - Vim besitzt ein umfassendes eingebautes Hilfesystem. Für den Anfang probiere - eins der drei folgenden Dinge aus: - - Drücke die <Hilfe> - Taste (falls Du eine besitzt) - - Drücke die <F1> Taste (falls Du eine besitzt) - - Tippe :help <ENTER> - - Lies den Text im Hilfefenster, um zu verstehen wie die Hilfe funktioniert. - Tippe CTRL-W CTRL-W , um von einem Fenster zum anderen zu springen. - Tippe :q <ENTER> , um das Hilfefenster zu schließen. - - Du kannst Hilfe zu praktisch jedem Thema finden, indem Du dem ":help"- - Kommando ein Argument gibst. Probiere folgendes (<ENTER> nicht vergessen): - - :help w - :help c_CTRL-D - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 7.2: ERSTELLE EIN START-SKRIPT - - - ** Aktiviere die eingebauten Funktionalitäten von Vim ** - - Vim besitzt viele Funktionalitäten, die über Vi hinausgehen, aber die meisten - von ihnen sind standardmäßig deaktiviert. Um mehr Funktionalitäten zu nutzen, - musst Du eine "vimrc" - Datei erstellen. - - 1. Starte das Editieren der "vimrc"-Datei, abhängig von Deinem System: - :e ~/.vimrc für Unix - :e $VIM/_vimrc für MS-Windows - - 2. Nun lies den Inhalt der Beispiel-"vimrc"-Datei ein: - :r $VIMRUNTIME/vimrc_example.vim - - 3. Speichere die Datei mit: - :w - - Beim nächsten Start von Vim wird die Syntaxhervorhebung aktiviert sein. - Du kannst all Deine bevorzugten Optionen zu dieser "vimrc"-Datei zufügen. - Für mehr Informationen tippe :help vimrc-intro -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 7.3: VERVOLLSTÄNDIGEN - - - ** Kommandozeilenvervollständigung mit CTRL-D and <TAB> ** - - 1. Stelle sicher, daß Vim nicht im vi-Kompatibilitätsmodus ist: :set nocp - - 2. Siehe nach, welche Dateien im Verzeichnis existieren: :!ls oder :dir - - 3. Tippe den Beginn eines Komandos: :e - - 4. Drücke CTRL-D und Vim zeigt eine Liste mit "e" beginnender Kommandos. - - 5. Drücke <TAB> und Vim vervollständigt den Kommandonamen zu ":edit". - - 6. Nun füge ein Leerzeichen und den Beginn einer existierenden Datei an: - :edit DAT - - 7. Drücke <TAB>. Vim vervollständigt den Namen (falls er eindeutig ist). - -Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche - einfach CTRL-D und <TAB>. Dies ist insbesondere nützlich für :help . -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ZUSAMMENFASSUNG VON LEKTION 7 - - - 1. Tippe :help oder drücke <F1> oder <Help>, um ein Hilfefenster zu öffnen. - - 2. Tippe :help Kommando , um Hilfe über Kommando zu erhalten. - - 3. Tippe CTRL-W CTRL-W , um zum anderen Fenster zu springen. - - 4. Tippe :q , um das Hilfefenster zu schließen. - - 5. Erstelle ein vimrc - Startskript zur Sicherung bevorzugter Einstellungen. - - 6. Drücke CTRL-D nach dem Tippen eines Kommandos : , um mögliche - Vervollständigungen zu sehen. - Drücke <TAB> für eine einzige Vervollständigung. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Damit ist der Vim Tutor beendet. Die Intention war, einen kurzen und - bündigen Überblick über den Vim Editor zu liefern; gerade genug, um relativ - leicht mit ihm umgehen zu können. Der Vim Tutor hat nicht den geringsten - Anspruch auf Vollständigkeit; Vim hat noch weitaus mehr Kommandos. Lies als - nächstes das User Manual: ":help user-manual". - - Für weiteres Lesen und Lernen ist folgendes Buch empfohlen : - Vim - Vi Improved - von Steve Oualline - Verlag: New Riders - Das erste Buch, welches durchgängig Vim gewidmet ist. Besonders nützlich - für Anfänger. Viele Beispiele und Bilder sind enthalten. - Siehe http://iccf-holland.org/click5.html - - Folgendes Buch ist älter und mehr über Vi als Vim, aber auch empfehlenswert: - Textbearbeitung mit dem vi-Editor - von Linda Lamb und Arnold Robbins - Verlag O'Reilly - ISBN: 3897211262 - In diesem Buch kann man fast alles finden, was man mit Vi tun möchte. - Die sechste Ausgabe enthält auch Informationen über Vim. - - Als aktuelle Referenz für Version 6.2 und knappe Einführung dient das - folgende Buch: - vim ge-packt von Reinhard Wobst - mitp-Verlag, ISBN 3-8266-1425-9 - Trotz der kompakten Darstellung ist es durch viele nützliche Beispiele auch - für Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind - online erhältlich. Siehe http://iccf-holland.org/click5.html - - Dieses Tutorial wurde geschrieben von Michael C. Pierce and Robert K. Ware, - Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State - University, zur Verfügung stellte. E-mail: bware@mines.colorado.edu. - - Bearbeitet für Vim von Bram Moolenaar. - Deutsche Übersetzung von Joachim Hofmann 2007. E-mail: Joachim.Hof@gmx.de - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/runtime/tutor/tutor.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 - 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.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 très puissant qui a trop de commandes pour pouvoir - toutes les expliquer dans un cours comme celui-ci, qui est conçu pour en - décrire 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 à expérimenter. Les commandes utilisées dans - les leçons modifieront le texte. Faites une copie de ce fichier afin de - vous entraîner dessus (si vous avez lancé "vimtutor" ceci est déjà une - copie). - - Il est important de garder en tête que ce cours est conçu pour apprendre - par la pratique. Cela signifie que vous devez exécuter les commandes - pour les apprendre correctement. Si vous vous contentez de lire le - texte, vous oublierez les commandes ! - - Maintenant, vérifiez que votre clavier n'est PAS verouillé en majuscules, - et appuyez la touche j le nombre de fois suffisant pour que la leçon - 1.1 remplisse complètement l'écran. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 1.1 : DÉPLACEMENT DU CURSEUR - - - ** Pour déplacer le curseur, appuyez les touches h,j,k,l comme indiqué. ** - ^ - k Astuce: La touche h est à gauche et déplace à gauche. - < h l > La touche l est à droite et déplace à droite. - j La touche j ressemble à une flèche vers le bas. - v - 1. Déplacez le curseur sur l'écran jusqu'à vous sentir à l'aise. - - 2. Maintenez la touche Bas (j) enfoncée jusqu'à ce qu'elle se répète. ----> Maintenant vous êtes capable de vous déplacer jusqu'à la leçon suivante. - - 3. En utilisant la touche Bas, allez à la Leçon 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 fléchées devraient également fonctionner. Mais en utilisant - hjkl vous pourrez vous déplacer beaucoup plus rapidement, une fois que - vous aurez pris l'habitude. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 1.2 : ENTRÉE ET SORTIE DE VIM - - - !! NOTE: Avant d'effectuer les étapes ci-dessous, lisez toute cette leçon !! - - 1. Appuyez la touche <Échap> (pour être sûr d'être en mode Normal). - - 2. Tapez: :q! <Entrée> - ----> Ceci quitte l'éditeur SANS sauver les changements que vous avez faits. - Si vous voulez enregistrer les changements et sortir, tapez: - :wq <Entrée> - - 3. Lorsque l'invite du 'shell' vous sera présentée, tapez la commande qui - vous a amené dans ce tutoriel. Cela pourrait être: vimtutor <Entrée> - Normalement, vous utiliseriez: vim tutor <Entrée> - ----> 'vim' lance l'éditeur, 'tutor' est le fichier que vous souhaitez éditer. - - 4. Si vous avez mémorisé ces étapes et êtes confiant, effectuez les étapes - 1 à 3 pour sortir puis rentrer dans l'éditeur. Déplacez ensuite le - curseur jusqu'à la Leçon 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 1.3 : ÉDITION DE TEXTE - EFFACEMENT - - - ** En mode Normal, appuyez x pour effacer le caractère sous le curseur. ** - - 1. Déplacez le curseur sur la ligne marquée ---> ci-dessous. - - 2. Pour corriger les erreurs, déplacez le curseur jusqu'à ce qu'il soit - sur un caractère à effacer. - - 3. Appuyez la touche x pour effacer le caractère redondant. - - 4. Répétez 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 leçon 1.4. - -NOTE: En avançant dans ce cours, n'essayez pas de mémoriser, apprenez par - la pratique. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 1.4 : ÉDITION DE TEXTE - INSERTION - - - ** En mode Normal, appuyez i pour insérer du texte. ** - - 1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous. - - 2. Pour rendre la première ligne identique à la seconde, mettez le curseur - sur le premier caractère APRÈS l'endroit où insérer le texte. - - 3. Appuyez i et tapez les caractères qui manquent. - - 4. Une fois qu'une erreur est corrigée, appuyez <Échap> pour revenir en mode - Normal. Répétez les étapes 2 à 4 pour corriger la phrase. - ----> Il mnqe caractères cette . ----> Il manque des caractères dans cette ligne. - - 5. Une fois que vous êtes à l'aise avec l'insertion de texte, allez au - résumé ci-dessous. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RÉSUMÉ DE LA LEÇON 1 - - 1. Le curseur se déplace avec les touches fléchées ou les touches hjkl. - h (gauche) j (bas) k (haut) l (droite) - - 2. Pour entrer dans Vim (à l'invite %) tapez: vim FICHIER <Entrée> - - 3. Pour quitter Vim tapez: <Échap> :q! <Entrée> pour perdre tous les - changements. - OU tapez: <Échap> :wq <Entrée> pour enregistrer les - changements. - - 4. Pour effacer un caractère sous le curseur en mode Normal tapez: x - - 5. Pour insérer 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 tapée dont vous ne voudriez plus. - -Passez maintenant à la Leçon 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 2.1 : EFFACEMENTS - - - ** Tapez dw pour effacer jusqu'à la fin d'un mot. ** - - 1. Appuyez <Échap> pour être sûr d'être en mode Normal. - - 2. Déplacez le curseur sur la ligne marquée ---> ci-dessous. - - 3. Placez le curseur sur le début d'un mot qui a besoin d'être effacé. - - 4. Tapez dw pour faire disparaître ce mot. - -NOTE: Les lettres dw apparaîtront sur la dernière ligne de l'écran lors de - votre frappe. Si vous avez mal tapé quelque chose, appuyez <Échap> et - recommencez. - ----> Il y a quelques drôle mots qui n'ont rien à faire papier sur cette ligne. - - 5. Répétez les étapes 3 et 4 jusqu'à ce que la phrase soit correcte et allez - à la Leçon 2.2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 2.2 : PLUS D'EFFACEMENTS - - - ** Tapez d$ pour effacer jusqu'à la fin de la ligne. ** - - 1. Appuyez <Échap> pour être sûr d'être en mode Normal. - - 2. Déplacez le curseur sur la ligne marquée ---> ci-dessous. - - 3. Déplacez le curseur jusqu'à la fin correcte de la ligne - (APRÈS 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 Leçon 2.3 pour comprendre ce qui se passe. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 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 exécuter la commande (optionnel, défaut: 1). - d - est la commande d'effacement. - objet - est ce sur quoi la commande va opérer (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, déplace le curseur comme indiqué dans la liste des objets. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 2.4 : UNE EXCEPTION À 'COMMANDE-OBJET' - - ** Tapez dd pour effacer une ligne complète. ** - - Vu le nombre de fois où l'on efface des lignes complètes, les concepteurs - de Vi ont décidé 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 quatrième ligne. - 4. Tapez 2dd (rappelez-vous, nombre-commande-objet) pour effacer les - deux lignes. - - 1) Les roses sont rouges, - 2) La boue c'est drôle, - 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. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 2.5 : L'ANNULATION - - ** Tapez u pour annuler les dernières commandes. ** - ** Tapez U pour récupérer toute une ligne. ** - - 1. Déplacez le curseur sur la ligne marquée ---> ci-dessous et placez-le sur - la première erreur. - 2. Tapez x pour effacer le premier caractère redondant. - 3. Puis tapez u pour annuler la dernière commande exécutée. - 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 - précédentes. - 7. Maintenant tapez Ctrl-R (maintenez la touche Ctrl enfoncée 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 très utiles. Maintenant, allez au résumé de la - Leçon 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RÉSUMÉ DE LA LEÇON 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 répéter 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 précédentes, tapez: u (u minuscule) - Pour annuler tous les changements sur une ligne tapez: U (U majuscule) - Pour annuler l'annulation tapez: Ctrl-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 3.1 : LE COLLAGE - - - ** Tapez p pour placer après le curseur ce qui vient d'être effacé. ** - - 1. Placez le curseur sur la première ligne du "poème" ci-dessous. - - 2. Tapez dd pour effacer la ligne et la placer dans le tampon de Vim. - - 3. Déplacez le curseur sur la ligne qui PRÉCÈDE l'endroit où vous voulez - remettre la ligne effacée. - - 4. En mode Normal, tapez p pour remettre la ligne. - - 5. Répétez 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, - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 3.2 : LE REMPLACEMENT - - - ** Tapez r et un caractère pour remplacer le caractère sous le curseur. ** - - 1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous. - - 2. Placez le curseur de manière à ce qu'il surplombe la première erreur. - - 3. Tapez r suivi du caractère qui doit corriger l'erreur. - - 4. Répétez les étapes 2 et 3 jusqu'à ce que la première 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 Leçon 3.3. - -NOTE: N'oubliez pas que vous devriez apprendre par la pratique, pas par - mémorisation. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 3.3 : LE CHANGEMENT - - - ** Pour changer tout ou partie d'un mot, tapez cw .** - - 1. Déplacez le curseur sur la première ligne marquée ---> 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 - caractère qui doit être changé). - - 5. Répétez les étapes 3 et 4 jusqu'à ce que la première 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 changés. - -Notez que cw efface le mot et vous place ensuite en mode Insertion. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 3.4 : PLUS DE CHANGEMENTS AVEC c - - - ** Le changement fonctionne avec les mêmes objets que l'effacement. ** - - 1. Le changement fonctionne de la même manière que l'effacement. - Le format est: - - [nombre] c objet OU c [nombre] objet - - 2. Les objets sont également les mêmes: w (mot), $ (fin de ligne), etc. - - 3. Déplacez-vous à la première ligne marquée ---> ci-dessous. - - 4. Placez le curseur sur la première 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 corrigée avec la commande c$ . - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RÉSUMÉ DE LA LEÇON 3 - - - 1. Pour remettre du texte qui vient d'être effacé, tapez p . Cela Place le - texte effacé APRÈS le curseur (si une ligne complète a été effacée, elle - sera placée sous la ligne du curseur). - - 2. Pour remplacer le caractère sous le curseur, tapez r suivi du caractère - qui remplacera l'original. - - 3. Le changement vous permet de changer l'objet spécifié, 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 leçon suivante. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 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 donnée du fichier. ** - - Note: Lisez toute cette leçon avant d'effectuer l'une des étapes ! - - 1. Maintenez enfoncée la touche Ctrl et appuyez sur G . Une ligne d'état - va apparaître en bas de l'écran avec le nom du fichier et le numéro de la - ligne où vous êtes. Notez ce numéro, il servira lors de l'étape 3. - - 2. Tapez G majuscule (Maj-G) pour vous rendre à la fin du fichier. - - 3. Tapez le numéro de la ligne où vous étiez suivi de Maj-G. Cela vous - ramènera à la ligne où vous étiez au départ. - (Lorsque vous tapez les chiffres, ils n'apparaissent PAS à l'écran). - - 4. Si vous vous sentez prêt à faire ceci, effectuez les étapes 1 à 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 4.2 : LA RECHERCHE - - - ** Tapez / suivi d'un texte pour rechercher ce texte. ** - - 1. Tapez le caractère / 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' <Entrée>. C'est le mot que vous voulez rechercher. - - 3. Pour rechercher à nouveau le même texte, tapez simplement n . - Pour rechercher le même texte dans la direction opposée, 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 début. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 4.3 : RECHERCHE DES PARENTHÈSES CORRESPONDANTES - - - ** Tapez % pour trouver des ), ] ou } correspondants. ** - - 1. Placez le curseur sur l'un des (, [ ou { de la ligne marquée ---> - ci-dessous. - - 2. Puis tapez le caractère % . - - 3. Le curseur devrait se placer sur la parenthèse correspondante. - - 4. Tapez % pour replacer le curseur sur l'autre parenthèse. - ----> Voici ( une ligne de test contenant des (, des [ ] et des { } )). - -Note: Cette fonctionnalité est très utile lors du débogage d'un programme qui - contient des parenthèses déséquilibrées ! - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 4.4 : UNE MANIÈRE DE CORRIGER LES ERREURS - - - ** Tapez :s/ancien/nouveau/g pour remplacer 'ancien' par 'nouveau'. ** - - 1. Déplacez le curseur sur la ligne marquée ---> ci-dessous. - - 2. Tapez :s/lee/le <Entrée> . Notez que cette commande change seulement la - première 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 numéros des deux lignes. - Tapez :%s/ancien/nouveau/g pour changer chaque occurence dans tout - le fichier. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RÉSUMÉ DE LA LEÇON 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 numéro 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'ARRIÈRE. - Après une recherche tapez n pour trouver l'occurence suivante dans la - même direction ou Maj-N pour rechercher dans la direction opposée. - - 3. Taper % lorsque le curseur est sur (, ), [, ], { ou } déplace - celui-ci sur le caractère 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 numéros 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 - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 5.1 : COMMENT EXÉCUTER UNE COMMANDE EXTERNE - - - ** Tapez :! suivi d'une commande externe pour exécuter 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'exécuter - n'importe quelle commande valide pour votre interpréteur (shell). - - 3. Par exemple, tapez ls après le ! et appuyez <Entrée>. 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'exécuter n'importe quelle commande externe de cette - manière. - -Note: Toutes les commandes : doivent finir par la frappe de <Entrée>. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 5.2 : PLUS DE DÉTAILS 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 déjà qu'il faut appuyer <Entrée> après 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 vérifier, 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 - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 5.3 : UN ENREGISTREMENT SÉLECTIF - - - ** 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. Déplacez le curseur jusqu'en haut de cette page et tapez Ctrl-G pour - connaître le numéro de cette ligne. NOTEZ CE NUMÉRO ! - - 3. Puis rendez-vous au bas de cette page et tapez à nouveau Ctrl-G . - NOTEZ ÉGALEMENT CE NUMÉRO ! - - 4. Pour enregistrer SEULEMENT une portion d'un fichier, tapez :#,#w TEST - où #,# sont les deux numéros que vous avez notés (haut,bas) et TEST est - le nom du fichier. - - 5. Une fois encore, vérifiez la présence du fichier avec :!dir mais NE - L'EFFACEZ PAS. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 5.4 : RÉCUPÉRATION ET FUSION DE FICHIERS - - - ** Pour insérer le contenu d'un fichier, tapez :r FICHIER ** - - 1. Tapez :!dir pour vérifier que votre fichier TEST est encore là. - - 2. Placez le curseur en haut de cette page. - -NOTE: Après avoir suivi l'étape 3 vous verrez à l'écran la Leçon 5.3. - Déplacez-vous vers le bas jusqu'à revenir à cette leçon. - - 3. Maintenant récupérez votre fichier TEST en utilisant la commande :r TEST - où TEST est le nom de votre fichier. - -NOTE: Le fichier que vous récupérez est placé là où se trouve le curseur. - - 4. Pour vérifier que le fichier a bien été inséré, remontez et vérifiez - qu'il y a maintenant deux copies de la Leçon 5.3, l'originale et celle - contenue dans le fichier. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RÉSUMÉ DE LA LEÇON 5 - - - 1. :!commande exécute 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 récupère le fichier FICHIER et l'insère dans le fichier - courant à partir de la position du curseur. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 6.1 : L'OUVERTURE - - -** Tapez o pour ouvrir une ligne sous le curseur et y aller en Insertion. ** - - 1. Déplacez le curseur sur la ligne marquée ---> 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 marquée ---> 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, plutôt 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. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 6.2 : L'AJOUT - - - ** Tapez a pour insérer du texte APRÈS le curseur. ** - - 1. Placez le curseur à la fin de la première ligne marquée ---> ci-dessous - en tapant $ en mode Normal. - - 2. Tapez un a (minuscule) pour ajouter du texte APRÈS le caractère situé - sous le curseur. ( A majuscule ajoute du texte à la fin de la ligne). - -Note: Ceci évite de taper i , le dernier caractère, le texte à insérer, - <Échap>, curseur-à-droite, et finalement x , juste pour ajouter du - texte à la fin d'une ligne ! - - 3. Maintenant, complétez la première ligne. Notez également que l'ajout est - identique au mode Insertion, hormis la position où le texte est inséré. - ----> Cette ligne vous permet de pratiquer ----> Cette ligne vous permet de pratiquer l'ajout de texte en fin de ligne. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 6.3 : UNE AUTRE VERSION DU REMPLACEMENT - - - ** Tapez un R majuscule pour remplacer plus d'un caractère. ** - - 1. Déplacez le curseur sur la première ligne marquée ---> ci-dessous. - - 2. Placez le curseur au début du premier mot qui diffère de la seconde ligne - marquée ---> (le mot 'celle'). - - 3. Puis tapez R et remplacez le reste du texte de la première ligne en - tapant par dessus celui-ci, de manière à rendre la première 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. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 6.4 : RÉGLAGE DES OPTIONS - - - ** Réglons une option afin que la recherche et la substitution ignorent la - casse des caractères. ** - - 1. Recherchez 'ignore' en tapant /ignore . - Répétez 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 . - Répétez 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 résultats, tapez: - :nohlsearch - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RÉSUMÉ DE LA LEÇON 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 insérer du texte APRÈS le caractère 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 appuyée pour en sortir. - - 4. Taper :set xxx active l'option 'xxx'. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 7 : ACCÉDER À L'AIDE EN LIGNE - - ** Utiliser le système d'aide en ligne. ** - - Vim a un système complet d'aide en ligne. Pour y accéder, essayez l'une de - ces trois méthodes: - - appuyez la touche <Help> (si vous en avez une) - - appuyez la touche <F1> (si vous en avez une) - - tapez :help <Entrée> - - Tapez :q <Entrée> pour fermer la fenêtre d'aide. - - Vous pouvez accéder à l'aide sur à peu près n'importe quel sujet en donnant - des arguments à la commande :help . Essayez par exemple (n'oubliez pas - d'appuyer sur <Entrée>): - - :help w - :help c_<T - :help insert-index - :help user-manual - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leçon 8 : CRÉER UN SCRIPT DE DÉMARRAGE - - ** Activer les fonctionnalités de Vim. ** - - Vim a beaucoup plus de fonctionnalités que Vi, mais la plupart de celles-ci - sont désactivées par défaut. Pour commencer à les utiliser, vous devez - créer un fichier "vimrc". - - 1. Commencez à éditer le fichier "vimrc". Ceci dépend de votre système: - :edit ~/.vimrc pour Unix - :edit $VIM/_vimrc pour MS-Windows - - 2. Intégrez maintenant le texte du fichier "vimrc" d'exemple: - :read $VIMRUNTIME/vimrc_example.vim - - 3. Enregistrez le fichier avec: - :write - - La prochaine fois que vous démarrerez Vim, le surlignage syntactique sera - activé. Vous pouvez ajouter tous vos réglages préférés dans ce fichier. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Ceci conclut le Tutoriel Vim. Le but était de vous donner un bref aperçu 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 à découvrir et à apprendre Vim, il existe un livre traduit en - français. Il parle plus de Vi que de Vim, mais pourra vous être utile. - L'éditeur Vi - Collection Précis et concis - par Arnold Robbins - Éditeur: O'Reilly France - ISBN: 2-84177-102-4 - - Deux livres en anglais sont également mentionnés dans la version originale - de ce tutoriel, dont un qui traite spécifiquement de Vim. Merci de vous y - référer si vous êtes intéressé. - - Ce tutoriel a été écrit par Michael C. Pierce et Robert K. Ware de l'École - des Mines du Colorado et reprend des idées fournies par Charles Smith, - Universté d'État du Colorado. E-mail: bware@mines.colorado.edu. - - Modifié pour Vim par Bram Moolenar. - - Traduit en Français 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 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.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 ¤òËüǽ¥¨¥Ç¥£ - ¥¿¡¼¤È¤·¤Æ»È¤¤¤³¤Ê¤»¤ë¤è¤¦¤Ë¤Ê¤ë¤Î¤Ë½½Ê¬¤Ê¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤ò¤¹¤ë¤è¤¦ - ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ - - ¥Á¥å¡¼¥È¥ê¥¢¥ë¤ò´°Î»¤¹¤ë¤Î¤ËɬÍפʻþ´Ö¤Ï¡¢³Ð¤¨¤¿¥³¥Þ¥ó¥É¤ò»î¤¹¤Î¤Ë¤É¤ì¤À - ¤±»þ´Ö¤ò»È¤¦¤Î¤«¤Ë¤â¤è¤ê¤Þ¤¹¤¬¡¢¤ª¤è¤½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$ ¤È¥¿¥¤¥×¤·¤Æ¹Ô¤Î»Ä¤ê¤ò£²¹ÔÌܤÎÍͤˤ·¡¢<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. ²èÌ̤κDz¼Éô¤Ë¥«¡¼¥½¥ë¤¬°Üư¤¹¤ë¤è¤¦¡¢´·¤ì¿Æ¤·¤ó¤À : ¤ò¥¿¥¤¥×¤·¤Þ¤·¤ç¤¦¡£ - ¤³¤ì¤Ç¥³¥Þ¥ó¥É¤¬¥¿¥¤¥×¤Ç¤¤ëÍͤˤʤê¤Þ¤¹¡£ - - 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. ʸ»ú : ¤ò²¡¤¹¤È¡¢²èÌ̤κ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 ¤Ç³Îǧ¤·¤Þ¤¹¡£ - - 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.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 ‹³ –{ (ƒ`ƒ…�[ƒgƒŠƒAƒ‹) ‚Ö ‚æ ‚¤ ‚± ‚» - Version 1.7 = -=============================================================================== - - Vim ‚Í�A‚±‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚Å�à–¾‚·‚é‚ɂ͑½‚·‚¬‚é’ö‚̃Rƒ}ƒ“ƒh‚ð”õ‚¦‚½”ñ�í - ‚É‹—͂ȃGƒfƒBƒ^�[‚Å‚·�B‚±‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚Í�A‚ ‚È‚½‚ª Vim ‚𖜔\ƒGƒfƒB - ƒ^�[‚Æ‚µ‚ÄŽg‚¢‚±‚È‚¹‚邿‚¤‚ɂȂé‚Ì‚É�\•ª‚ȃRƒ}ƒ“ƒh‚ɂ‚¢‚Ä�à–¾‚ð‚·‚é‚æ‚¤ - ‚È‚Á‚Ä‚¢‚Ü‚·�B - - ƒ`ƒ…�[ƒgƒŠƒAƒ‹‚ðŠ®—¹‚·‚é‚̂ɕK—v‚ÈŽžŠÔ‚Í�AŠo‚¦‚½ƒRƒ}ƒ“ƒh‚ðŽŽ‚·‚̂ɂǂꂾ - ‚¯ŽžŠÔ‚ðŽg‚¤‚Ì‚©‚É‚à‚æ‚è‚Ü‚·‚ª�A‚¨‚æ‚»25‚©‚ç30•ª‚Å‚·�B - - ATTENTION: - ˆÈ‰º‚Ì—û�K—pƒRƒ}ƒ“ƒh‚ɂ͂±‚Ì•¶�Í‚ð•Ï�X‚·‚é‚à‚Ì‚à‚ ‚è‚Ü‚·�B—û�K‚ðŽn‚ß‚é‘O - ‚ɃRƒs�[‚ð�ì�¬‚µ‚Ü‚µ‚傤("vimtutor"‚µ‚½‚È‚ç‚Î�AŠù‚ɃRƒs�[‚³‚ê‚Ä‚¢‚Ü‚·)�B - - ‚±‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚ª�AŽg‚¤‚±‚ƂŊo‚¦‚ç‚ê‚éŽd‘g‚݂ɂȂÁ‚Ä‚¢‚邱‚Æ‚ð�A�S‚µ - ‚Ä‚¨‚©‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ�B�³‚µ‚Šw�K‚·‚é‚ɂ̓Rƒ}ƒ“ƒh‚ðŽÀ�Û‚ÉŽŽ‚³‚È‚¯‚ê‚Î - ‚È‚ç‚È‚¢‚̂ł·�B•¶�Í‚ð“Ç‚ñ‚¾‚¾‚¯‚È‚ç‚Î�A‚«‚Á‚Æ–Y‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·!�B - - ‚³‚Ÿ�ACapsƒ�ƒbƒN(Shift-Lock)ƒL�[‚ª‰Ÿ‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚ðŠm”F‚µ‚½Œã�A‰æ–Ê‚É - ƒŒƒbƒXƒ“1.1 ‚ª‘S•”•\ަ‚³‚ê‚邯‚±‚ë‚Ü‚Å�Aj ƒL�[‚ð‰Ÿ‚µ‚ăJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü - ‚µ‚傤�B -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1.1: ƒJ�[ƒ\ƒ‹‚̈ړ® - - - ** ƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚·‚é‚É‚Í�Aަ‚³‚ê‚é—l‚É h,j,k,l ‚ð‰Ÿ‚µ‚Ü‚· ** - ^ - k ƒqƒ“ƒg: h ƒL�[‚Í�¶•ûŒü‚Ɉړ®‚µ‚Ü‚·�B - < h l > l ƒL�[‚͉E•ûŒü‚Ɉړ®‚µ‚Ü‚·�B - j j ƒL�[‚͉º–îˆóƒL�[‚̂悤‚ȃL�[‚Å‚·�B - v - 1. ˆÚ“®‚ÉŠµ‚ê‚é‚Ü‚Å�AƒXƒNƒŠ�[ƒ“‚ŃJ�[ƒ\ƒ‹ˆÚ“®‚³‚¹‚Ü‚µ‚傤�B - - 2. ‰º‚ւ̃L�[(j)‚ð‰Ÿ‚µ‚‚¯‚邯�A˜A‘±‚µ‚Ĉړ®‚Å‚«‚Ü‚·�B - ‚±‚ê‚ÅŽŸ‚̃ŒƒbƒXƒ“‚Ɉړ®‚·‚é•û–@‚ª‚í‚©‚è‚Ü‚µ‚½‚Ë�B - - 3. ‰º‚ւ̃L�[‚ðŽg‚Á‚Ä�AƒŒƒbƒXƒ“1.2 ‚Ɉړ®‚µ‚Ü‚µ‚傤�B - -Note: ‰½‚ðƒ^ƒCƒv‚µ‚Ä‚¢‚é‚©”»‚ç‚È‚‚È‚Á‚½‚ç�A<ESC>‚ð‰Ÿ‚µ‚ăm�[ƒ}ƒ‹ƒ‚�[ƒh‚É‚µ - ‚Ü‚·�B‚»‚ê‚©‚ç“ü—Í‚µ‚悤‚Æ‚µ‚Ä‚¢‚½ƒRƒ}ƒ“ƒh‚ð�Ä“ü—Í‚µ‚Ü‚µ‚傤�B - -Note: ƒJ�[ƒ\ƒ‹ƒL�[‚Å‚àˆÚ“®‚Å‚«‚Ü‚·�B‚µ‚©‚µ hjkl ‚Ɉê“xе‚ê‚Ä‚µ‚Ü‚¦‚Î�A‚͂邩 - ‚É‘¬‚ˆÚ“®‚·‚邱‚Æ‚ª‚Å‚«‚é‚Å‚µ‚傤�B‚¢‚âƒ}ƒW‚Å! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1.2: VIM ‚Ì‹N“®‚Æ�I—¹ - - - !! NOTE: ˆÈ‰º‚Ì‚ ‚ç‚ä‚éƒXƒeƒbƒv‚ð�s‚¤‘O‚É�A‚±‚̃ŒƒbƒXƒ“‚ð“ǂ݂܂µ‚傤!! - - 1. <ESC>ƒL�[‚ð‰Ÿ‚µ‚Ü‚µ‚傤�B(ŠmŽÀ‚Ƀm�[ƒ}ƒ‹ƒ‚�[ƒh‚É‚·‚邽‚ß) - - 2. ŽŸ‚̂悤‚Ƀ^ƒCƒv: :q! <ENTER> - ‚±‚ê‚É‚æ‚è•Ò�W‚µ‚½“à—e‚ð•Û‘¶‚¹‚¸‚ɃGƒfƒBƒ^‚ª�I—¹‚µ‚Ü‚·�B - - 3. ƒVƒFƒ‹ƒvƒ�ƒ“ƒvƒg‚ª�o‚Ä‚«‚½‚ç�A‚±‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚ðŽn‚ß‚éˆ×‚ɂɃRƒ}ƒ“ƒh - ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - ‚»‚̃Rƒ}ƒ“ƒh‚Í: vimtutor <ENTER> - - 4. ‚±‚ê‚܂ł̃Xƒeƒbƒv‚ðŠo‚¦Ž©�M‚ª‚‚¢‚½‚È‚ç‚Î�AƒXƒeƒbƒv 1 ‚©‚ç 3 ‚܂łðŽÀ - �Û‚ÉŽŽ‚µ‚Ä�AVim ‚ð1“x�I—¹‚µ‚Ä‚©‚ç�ĂыN“®‚µ‚Ü‚µ‚傤�B - -NOTE: :q! <ENTER> ‚Í‘S‚Ă̕Ï�X‚ð”jŠü‚µ‚Ü‚·�BƒŒƒbƒXƒ“‚ɂĕÏ�X‚ðƒtƒ@ƒCƒ‹‚É•Û - ‘¶‚·‚é•û–@‚ɂ‚¢‚Ä‚à•׋‚µ‚Ä‚¢‚«‚Ü‚µ‚傤�B - - 5. 1.3‚܂ŃJ�[ƒ\ƒ‹‚ðˆÚ“®‚³‚¹‚Ü‚µ‚傤�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1.3: ƒeƒLƒXƒg•Ò�W - �í�œ - - - ** ƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚ɂăJ�[ƒ\ƒ‹‚̉º‚Ì•¶Žš‚ð�í�œ‚·‚é‚É‚Í x ‚ð‰Ÿ‚µ‚Ü‚· ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. ŠÔˆá‚¢‚ð�C�³‚·‚邽‚ß‚É�A�í�œ‚·‚é�Å�‰‚Ì•¶Žš‚܂ŃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - - 3. •s•K—v‚È•¶Žš‚ð x ‚ð‰Ÿ‚µ‚Ä�í�œ‚µ‚Ü‚µ‚傤�B - - 4. •¶‚ª�³‚µ‚‚È‚é‚܂ŠƒXƒeƒbƒv 2 ‚©‚ç 4 ‚ðŒJ‚è•Ô‚µ‚Ü‚µ‚傤�B - ----> ‚»‚Ì ‚¤‚¤‚³‚¬ ‚Í ‚‚‚«‚« ‚ð ‚±‚¦‚¦‚Ä‚Ä ‚Ƃт͂˂½‚½ - - 5. �s‚ª�³‚µ‚‚È‚Á‚½‚ç�AƒŒƒbƒXƒ“ 1.4 ‚Ö�i‚݂܂µ‚傤�B - -NOTE: ‘S‚ẴŒƒbƒXƒ“‚ð’Ê‚¶‚Ä�AŠo‚¦‚悤‚Æ‚·‚é‚̂ł͂ȂŽÀ�Û‚É‚â‚Á‚Ă݂܂µ‚傤�B - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1.4: ƒeƒLƒXƒg•Ò�W - ‘}“ü - - - ** ƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚ɂăeƒLƒXƒg‚ð‘}“ü‚·‚é‚É‚Í i ‚ð‰Ÿ‚µ‚Ü‚· ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�Å�‰‚Ì�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. 1�s–Ú‚ð2�s–Ú‚Æ“¯‚¶—l‚É‚·‚邽‚ß‚É�AƒeƒLƒXƒg‚ð‘}“ü‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢ˆÊ’u - ‚ÌŽŸ‚Ì•¶Žš‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - - 3. i ƒL�[‚ð‰Ÿ‚µ‚Ä‚©‚ç�A’ljÁ‚ª•K—v‚È•¶Žš‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - 4. ŠÔˆá‚¢‚ð�C�³‚µ‚½‚ç <ESC> ‚ð‰Ÿ‚µ‚ăRƒ}ƒ“ƒhƒ‚�[ƒh‚É–ß‚è�A�³‚µ‚¢•¶‚ɂȂé—l - ‚ɃXƒeƒbƒv 2 ‚©‚ç 4 ‚ðŒJ‚è•Ô‚µ‚Ü‚µ‚傤�B - ----> ‚±‚Ì ‚É‚Í ‘«‚è‚È‚¢ ƒeƒLƒXƒg ‚ ‚é�B ----> ‚±‚Ì �s ‚É‚Í Šô‚‚© ‘«‚è‚È‚¢ ƒeƒLƒXƒg ‚ª ‚ ‚é�B - - 5. ‘}“ü‚Ì•û–@‚ª‚í‚©‚Á‚½‚牺‚̃ŒƒbƒXƒ“1‚Ì—v–ñ‚ðŒ©‚Ü‚µ‚傤�B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1.5: ƒeƒLƒXƒg•Ò�W - ’ljÁ - - - ** ƒeƒLƒXƒg’ljÁ‚·‚é‚É‚Í A ‚ð‰Ÿ‚µ‚Ü‚µ‚傤 ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�Å�‰‚Ì�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - ƒJ�[ƒ\ƒ‹‚ª‚»‚Ì•¶Žš�ã‚É‚ ‚Á‚Ä‚à‚©‚Ü‚¢‚Ü‚¹‚ñ�B - - 2. ’ljÁ‚ª•K—v‚È�ê�ЂŠA ‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - 3. ƒeƒLƒXƒg‚ð’ljÁ‚µ�I‚¦‚½‚ç�A <ESC> ‚ð‰Ÿ‚µ‚ăm�[ƒ}ƒ‹ƒ‚�[ƒh‚É–ß‚è‚Ü‚µ‚傤�B - - 4. 2�s–Ú‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�ê�Š‚ÖˆÚ“®‚µ�AƒXƒeƒbƒv 2 ‚©‚ç 3 ŒJ‚è•Ô‚µ‚Ä•¶–@‚ð - �C�³‚µ‚Ü‚µ‚傤�B - ----> ‚±‚±‚ɂ͊Ԉá‚Á‚½ƒeƒLƒXƒg‚ª‚ ‚è - ‚±‚±‚ɂ͊Ԉá‚Á‚½ƒeƒLƒXƒg‚ª‚ ‚è‚Ü‚·�B ----> ‚±‚±‚É‚àŠÔˆá‚Á‚½ƒeƒLƒX - ‚±‚±‚É‚àŠÔˆá‚Á‚½ƒeƒLƒXƒg‚ª‚ ‚è‚Ü‚·�B - - 5. ƒeƒLƒXƒg‚̒ljÁ‚ªŒy‰õ‚ɂȂÁ‚Ä‚«‚½‚烌ƒbƒXƒ“ 1.6 ‚Ö�i‚݂܂µ‚傤�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1.6: ƒtƒ@ƒCƒ‹‚Ì•Ò�W - - - ** ƒtƒ@ƒCƒ‹‚ð•Û‘¶‚µ‚Ä�I—¹‚·‚é‚É‚Í :wq ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - !! NOTE: ˆÈ‰º‚̃Xƒeƒbƒv‚ðŽÀ�s‚·‚é‘O‚É�A‚Ü‚¸‘S‘Ì‚ð“Ç‚ñ‚Å‚‚¾‚³‚¢!! - - 1. ƒŒƒbƒXƒ“ 1.2 ‚Å‚â‚Á‚½‚悤‚É :q! ‚ðƒ^ƒCƒv‚µ‚Ä�A‚±‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚ð�I—¹ - ‚µ‚Ü‚·�B - - 2. ƒVƒFƒ‹ƒvƒ�ƒ“ƒvƒg‚Å‚±‚̃Rƒ}ƒ“ƒh‚ðƒ^ƒCƒv‚µ‚Ü‚·: vim tutor <ENTER> - 'vim'‚ª Vim ƒGƒfƒBƒ^‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒh�A'tutor' ‚Í•Ò�W‚µ‚½‚¢ƒtƒ@ƒCƒ‹‚Ì - –¼‘O‚Å‚·�B•Ï�X‚µ‚Ä‚à‚æ‚¢ƒtƒ@ƒCƒ‹‚ðŽg‚¢‚Ü‚µ‚傤�B - - 3. ‘O‚̃ŒƒbƒXƒ“‚ÅŠw‚ñ‚¾‚悤‚É�AƒeƒLƒXƒg‚ð‘}“ü�A�í�œ‚µ‚Ü‚·�B - - 4. •Ï�X‚ðƒtƒ@ƒCƒ‹‚ɕۑ¶‚µ‚Ü‚·: :wq <ENTER> - - 5. vimtutor ‚ð�Ä“x‹N“®‚µ�AˆÈ‰º‚Ì—v–ñ‚Ö�i‚݂܂µ‚傤�B - - 6. ˆÈ�ã‚̃Xƒeƒbƒv‚ð“Ç‚ñ‚Å—�‰ð‚µ‚½�ã‚Å‚±‚ê‚ðŽÀ�s‚µ‚Ü‚µ‚傤�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 1 —v–ñ - - - 1. ƒJ�[ƒ\ƒ‹‚Í–îˆóƒL�[‚à‚µ‚‚Í hjkl ƒL�[‚ňړ®‚µ‚Ü‚·�B - h (�¶) j (‰º) k (�ã) l (‰E) - - 2. Vim ‚ð‹N“®‚·‚é‚ɂ̓vƒ�ƒ“ƒvƒg‚©‚ç vim ƒtƒ@ƒCƒ‹–¼ <ENTER> ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - - 3. Vim ‚ð�I—¹‚·‚é‚É‚Í <ESC> :q! <ENTER> ‚ƃ^ƒCƒv‚µ‚Ü‚·(•Ï�X‚ð”jŠü)�B - ‚à‚µ‚‚Í <ESC> :wq <ENTER> ‚ƃ^ƒCƒv‚µ‚Ü‚·(•Ï�X‚ð•Û‘¶)�B - - 4. ƒJ�[ƒ\ƒ‹‚̉º‚Ì•¶Žš‚ð�í�œ‚·‚é‚É‚Í�Aƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚Å x ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - - 5. ƒJ�[ƒ\ƒ‹‚̈ʒu‚É•¶Žš‚ð‘}“ü‚·‚é‚É‚Í�Aƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚Å i ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - i ƒeƒLƒXƒg‚̃^ƒCƒv <ESC> ƒJ�[ƒ\ƒ‹ˆÊ’u‚ɒljÁ - A ƒeƒLƒXƒg‚̒ljÁ <ESC> �s––‚ɒljÁ - -NOTE: <ESC> ƒL�[‚ð‰Ÿ‚·‚ƃm�[ƒ}ƒ‹ƒ‚�[ƒh‚ɈÚ�s‚µ‚Ü‚·�B‚»‚Ì�Û�AŠÔˆá‚Á‚½‚è“ü—Í“r - ’†‚̃Rƒ}ƒ“ƒh‚ðŽæ‚è�Á‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·�B - -‚³‚Ä�A‘±‚¯‚ăŒƒbƒXƒ“ 2 ‚ðŽn‚߂܂µ‚傤�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.1: �í�œƒRƒ}ƒ“ƒh - - - ** ’PŒê‚Ì––”ö‚܂łð�í�œ‚·‚é‚É‚Í dw ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤 ** - - 1. ƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚Å‚ ‚邱‚Æ‚ðŠm”F‚·‚邽‚ß‚É <ESC> ‚ð‰Ÿ‚µ‚Ü‚µ‚傤�B - - 2. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 3. �Á‚µ‚½‚¢’PŒê‚Ì�擪‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 4. ’PŒê‚ð�í�œ‚·‚邽‚ß‚É dw ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - NOTE: ƒ^ƒCƒv‚·‚邯�Adw ‚Æ‚¢‚¤•¶Žš‚ªƒXƒNƒŠ�[ƒ“‚Ì�ʼnº�s‚ÉŒ»‚í‚ê‚Ü‚·�B - ƒ^ƒCƒv‚ðŠÔˆá‚Á‚Ä‚µ‚Ü‚Á‚½Žž‚É‚Í <ESC> ‚ð‰Ÿ‚µ‚Ä‚â‚è’¼‚µ‚Ü‚µ‚傤�B - ----> ‚±‚Ì •¶ ކ ‚É‚Í ‚¢‚‚‚©‚Ì ‚½‚Ì‚µ‚¢ •K—v‚̂Ȃ¢ ’PŒê ‚ª ŠÜ‚Ü‚ê‚Ä ‚¢‚Ü‚·�B - - 5. 3 ‚©‚ç 4 ‚܂ł𕶂ª�³‚µ‚‚È‚é‚܂ŌJ‚è•Ô‚µ�AƒŒƒbƒXƒ“ 2.2 ‚Ö�i‚݂܂µ‚傤�B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.2: ‚»‚Ì‘¼‚Ì�í�œƒRƒ}ƒ“ƒh - - - ** �s‚Ì––”ö‚܂łð�í�œ‚·‚é‚É‚Í d$ ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤 ** - - 1. ƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚Å‚ ‚邱‚Æ‚ðŠm”F‚·‚é‚Ì‚É <ESC> ‚ð‰Ÿ‚µ‚Ü‚µ‚傤�B - - 2. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 3. �³‚µ‚¢•¶‚Ì––”ö‚ÖƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤(�Å�‰‚Ì . ‚ÌŒã‚Å‚·)�B - - 4. �s––‚Ü‚Å�í�œ‚·‚é‚Ì‚É d$ ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B - ----> ’N‚©‚ª‚±‚Ì�s‚Ì�ÅŒã‚ð2“xƒ^ƒCƒv‚µ‚Ü‚µ‚½�B 2“xƒ^ƒCƒv‚µ‚Ü‚µ‚½�B - - - 5. ‚Ç‚¤‚¢‚¤‚±‚Æ‚©—�‰ð‚·‚邽‚ß‚É�AƒŒƒbƒXƒ“ 2.3 ‚Ö�i‚݂܂µ‚傤�B - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.3: ƒIƒyƒŒ�[ƒ^‚ƃ‚�[ƒVƒ‡ƒ“ - - - ‘½‚‚̃Rƒ}ƒ“ƒh‚̓IƒyƒŒ�[ƒ^‚ƃ‚�[ƒVƒ‡ƒ“‚©‚çƒeƒLƒXƒg‚É•Ï�X‚ð‰Á‚Ü‚·�B - �í�œƒRƒ}ƒ“ƒh d ‚̃IƒyƒŒ�[ƒ^‚ÍŽŸ‚Ì—l‚ɂȂÁ‚Ä‚¢‚Ü‚·: - - d ƒ‚�[ƒVƒ‡ƒ“ - - ‚»‚ꂼ‚ê: - d - �í�œƒRƒ}ƒ“ƒh�B - ƒ‚�[ƒVƒ‡ƒ“ - ‰½‚ɑ΂µ‚Ä“‚«‚©‚¯‚é‚©(ˆÈ‰º‚É‹“‚°‚Ü‚·)�B - - ƒIƒyƒŒ�[ƒ^‚̈ꕔˆê——: - w - ƒJ�[ƒ\ƒ‹ˆÊ’u‚©‚ç‹ó”’‚ðŠÜ‚Þ’PŒê‚Ì––”ö‚Ü‚Å�B - e - ƒJ�[ƒ\ƒ‹ˆÊ’u‚©‚ç‹ó”’‚ðŠÜ‚܂Ȃ¢’PŒê‚Ì––”ö‚Ü‚Å�B - $ - ƒJ�[ƒ\ƒ‹ˆÊ’u‚©‚ç�s––‚Ü‚Å�B - - ‚‚܂è de ‚ƃ^ƒCƒv‚·‚邯�AƒJ�[ƒ\ƒ‹ˆÊ’u‚©‚ç’PŒê‚Ì�I‚í‚è‚܂łð�í�œ‚µ‚Ü‚·�B - -NOTE: –`Œ¯‚µ‚½‚¢�l‚Í�Aƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚ɂăRƒ}ƒ“ƒh‚È‚µ‚Ƀ‚�[ƒVƒ‡ƒ“‚ð‰Ÿ‚µ‚Ä - ‚݂܂µ‚傤�BƒJ�[ƒ\ƒ‹‚ª–Ú“IŒêˆê——‚ÅŽ¦‚³‚ê‚éˆÊ’u‚Ɉړ®‚·‚é‚Í‚¸‚Å‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.4: ƒ‚�[ƒVƒ‡ƒ“‚ɃJƒEƒ“ƒg‚ðŽg—p‚·‚é - - - ** ‰½‰ñ‚à�s‚¢‚½‚¢ŒJ‚è•Ô‚µ‚̃‚�[ƒVƒ‡ƒ“‚Ì‘O‚É�”’l‚ðƒ^ƒCƒv‚µ‚Ü‚·�B ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ‹Æ‚Ì�擪‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - - 2. 2dw ‚ðƒ^ƒCƒv‚µ‚Ä’PŒê2‚•ªˆÚ“®‚µ‚Ü‚·�B - - 3. 3e ‚ðƒ^ƒCƒv‚µ‚Ä3‚–ڂ̒PŒê‚Ì�I’[‚Ɉړ®‚µ‚Ü‚·�B - - 4. 0 (ƒ[ƒ�)‚ðƒ^ƒCƒv‚µ‚Ä�s“ª‚Ɉړ®‚µ‚Ü‚·�B - - 5. ƒXƒeƒbƒv 2 ‚Æ 3 ‚ðˆá‚¤�”’l‚ÆŽg‚Á‚ÄŒJ‚è•Ô‚µ‚Ü‚·�B - ----> This is just a line with words you can move around in. - - 6. ƒŒƒbƒXƒ“ 2.5 ‚É�i‚݂܂µ‚傤�B - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.5: ‚æ‚葽‚‚ð�í�œ‚·‚邽‚߂ɃJƒEƒ“ƒg‚ðŽg—p‚·‚é - - - ** ƒIƒyƒŒ�[ƒ^‚ƃJƒEƒ“ƒg‚ðƒ^ƒCƒv‚·‚邯�A‚»‚Ì‘€�삪•¡�”‰ñŒJ‚è•Ô‚³‚ê‚Ü‚·�B ** - - Šù�q‚Ì�í�œ‚̃IƒyƒŒ�[ƒ^‚ƃ‚�[ƒVƒ‡ƒ“‚Ì‘g‚Ý�‡‚킹‚ɃJƒEƒ“ƒg‚ð’ljÁ‚·‚邱‚Æ‚Å�A - ‚æ‚葽‚‚Ì�í�œ‚ª�s‚¦‚Ü‚·: - d �”’l ƒ‚�[ƒVƒ‡ƒ“ - - 1. ---> ‚ÆŽ¦‚³‚ꂽ�s‚Ì�s“ª•”•ª‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. UPPER CASE ‚Ì’PŒê2‚‚ð 2dw ‚ƃ^ƒCƒv‚µ‚Ä�í�œ‚µ‚Ü‚·�B - - 3. UPPER CASE ‚Æ‚¢‚¤˜A‘±‚µ‚½’PŒê‚ð�A1‚‚̃Rƒ}ƒ“ƒh‚ƈقȂéƒJƒEƒ“ƒg‚ðŽw’肵�A - ƒXƒeƒbƒv 1 ‚Æ 2 ‚ðŒJ‚è•Ô‚µ‚Ü‚·�B - ----> ‚±‚ÌABC DE�s‚ÌFGHI JK LMN OP’PŒê‚ÍQ RS TUVãY—í‚ɂȂÁ‚½�B - -NOTE: ƒIƒyƒŒ�[ƒ^ d ‚ƃ‚�[ƒVƒ‡ƒ“‚̊ԂɃJƒEƒ“ƒg‚ðŽg‚Á‚½�ê�‡�AƒIƒyƒŒ�[ƒ^‚̂Ȃ¢ - �ê�‡‚̃‚�[ƒVƒ‡ƒ“‚̂悤‚É“®�삵‚Ü‚·�B - —á: 3dw ‚Æ d3w ‚Í“¯“™‚Å�A3w ‚ð�í�œ‚µ‚Ü‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.6: �s‚Ì‘€�ì - - - ** �s‘S‘Ì‚ð�í�œ‚·‚é‚É‚Í dd ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - �s‘S‘Ì‚ð�í�œ‚·‚é•p“x‚ª‘½‚¢‚Ì‚Å�AVi‚̃fƒUƒCƒi�[‚Í�s‚Ì�í�œ‚ð d ‚Ì2‰ñƒ^ƒCƒv‚Æ - ‚¢‚¤ŠÈ’P‚È‚à‚̂Ɍˆ‚߂܂µ‚½�B - - 1. ˆÈ‰º‚Ì‹å‚Ì2�s–ڂɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - 2. dd ‚ƃ^ƒCƒv‚µ‚Ä�s‚ð�í�œ‚µ‚Ü‚·�B - 3. ‚³‚ç‚É4�s–ڂɈړ®‚µ‚Ü‚·�B - 4. 2dd ‚ƃ^ƒCƒv‚µ‚Ä2�s‚ð�í�œ‚µ‚Ü‚·�B - ----> 1) ƒoƒ‰‚Í�Ô‚¢�A ----> 2) ‚‚܂ç‚È‚¢‚à‚̂͊y‚µ‚¢�A ----> 3) ƒXƒ~ƒŒ‚Í�‚¢�A ----> 4) Ž„‚ÍŽÔ‚ð‚à‚Á‚Ä‚¢‚é�A ----> 5) ŽžŒv‚ªŽž��‚ð��‚°‚é�A ----> 6) �»“œ‚͊¢ ----> 7) ƒIƒ}ƒGƒ‚ƒi�[ - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2.7: ‚â‚è’¼‚µƒRƒ}ƒ“ƒh - - - ** �ÅŒã‚̃Rƒ}ƒ“ƒh‚ðŽæ‚è�Á‚·‚É‚Í u ‚ð‰Ÿ‚µ‚Ü‚·�BU ‚Í�s‘S‘̂̎æ�Á‚Å‚·�B ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ�A�Å�‰‚̊ԈႢ‚ɃJ�[ƒ\ - ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - 2. x ‚ðƒ^ƒCƒv‚µ‚Ä‚¢‚ç‚È‚¢�擪‚Ì•¶Žš‚ð�í�œ‚µ‚Ü‚µ‚傤�B - 3. ‚³‚Ÿ�Au ‚ðƒ^ƒCƒv‚µ‚Ä�ÅŒã‚ÉŽÀ�s‚µ‚½ƒRƒ}ƒ“ƒh‚ðŽæ‚è�Á‚µ‚Ü‚µ‚傤�B - 4. �¡“x‚Í�Ax ‚ðŽg—p‚µ‚ÄŒë‚è‚ð‘S‚Ä�C�³‚µ‚Ü‚µ‚傤�B - 5. ‘å•¶Žš‚Ì U ‚ðƒ^ƒCƒv‚µ‚Ä�A�s‚ðŒ³‚Ì�ó‘Ô‚É–ß‚µ‚Ü‚µ‚傤�B - 6. u ‚ðƒ^ƒCƒv‚µ‚Ä’¼‘O‚Ì U ƒRƒ}ƒ“ƒh‚ðŽæ�Á‚µ‚Ü‚µ‚傤�B - 7. ‚ł̓Rƒ}ƒ“ƒh‚ð�ÄŽÀ�s‚·‚é‚Ì‚É CTRL-R (CTRL ‚ð‰Ÿ‚µ‚½‚Ü‚Ü R ‚ð‘Å‚Â)‚ð�”‰ñ - ƒ^ƒCƒv‚µ‚Ă݂܂µ‚傤(Žæ�Á‚ÌŽæ�Á)�B - ----> ‚±‚Ì‚Ì�s‚̂̊ԈႢ‚ð�C�³�X‚µ�AŒã‚Å‚»‚ê‚ç‚Ì�C�³‚ð‚ðŽæ�Á‚µ‚܂܂·‚·�B - - 8. ‚±‚ê‚͂ƂĂà•Ö—˜‚ȃRƒ}ƒ“ƒh‚Å‚·�B‚³‚ŸƒŒƒbƒXƒ“ 2 —v–ñ‚Ö�i‚݂܂µ‚傤�B - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 2 —v–ñ - - - 1. ƒJ�[ƒ\ƒ‹ˆÊ’u‚©‚ç’PŒê‚Ì––”ö‚܂łð�í�œ‚·‚é‚É‚Í dw ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - 2. ƒJ�[ƒ\ƒ‹ˆÊ’u‚©‚ç�s‚Ì––”ö‚܂łð�í�œ‚·‚é‚É‚Í d$ ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - 3. �s‘S‘Ì‚ð�í�œ‚·‚é‚É‚Í dd ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - - 4. ƒ‚�[ƒVƒ‡ƒ“‚ðŒJ‚è•Ô‚·‚É‚Í�”’l‚ð•t—^‚µ‚Ü‚·: 2w - 5. •Ï�X‚É—p‚¢‚éƒRƒ}ƒ“ƒh‚ÌŒ`Ž®‚Í - ƒIƒyƒŒ�[ƒ^ [�”’l] ƒ‚�[ƒVƒ‡ƒ“ - - ‚»‚ꂼ‚ê: - ƒIƒyƒŒ�[ƒ^ - �í�œ d ‚̗ނʼn½‚ð‚·‚é‚©�B - �”’l - ‚»‚̃Rƒ}ƒ“ƒh‚ð‰½‰ñŒJ‚è•Ô‚·‚©�B - ƒ‚�[ƒVƒ‡ƒ“ - w (’PŒê)‚â $ (�s––)‚Ȃǂ̗ނÅ�AƒeƒLƒXƒg‚̉½‚ɑ΂µ‚Ä“‚«‚© - ‚¯‚é‚©�B - - 6. �s‚Ì�擪‚Ɉړ®‚·‚é‚ɂ̓[ƒ�‚ðŽg—p‚µ‚Ü‚·: 0 - - 7. ‘O‰ñ‚Ì“®�ì‚ðŽæ�Á‚·: u (�¬•¶Žš u) - �s‘S‘̂̕Ï�X‚ðŽæ�Á‚·: U (‘å•¶Žš U) - Žæ�Á‚µ‚ÌŽæ�Á‚µ: CTRL-R -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 3.1: “\‚è•t‚¯ƒRƒ}ƒ“ƒh - - - ** �ÅŒã‚É�í�œ‚³‚ꂽ�s‚ðƒJ�[ƒ\ƒ‹‚ÌŒã‚É“\‚è•t‚¯‚é‚É‚Í p ‚ðƒ^ƒCƒv‚µ‚Ü‚· ** - - 1. ˆÈ‰º‚Ì’i—Ž‚Ì�Å�‰‚Ì�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. dd ‚ƃ^ƒCƒv‚µ‚Ä�s‚ð�í�œ‚µ�AVim ‚̃oƒbƒtƒ@‚ÉŠi”[‚µ‚Ü‚µ‚傤�B - - 3. �í�œ‚µ‚½�s‚ª–{—ˆ‚ ‚é‚ׂ«ˆÊ’u‚Ì�ã‚Ì�s‚Ü‚Å�AƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚³‚¹‚Ü‚µ‚傤�B - - 4. ƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚Å p ‚ðƒ^ƒCƒv‚µ‚ÄŠi”[‚µ‚½�s‚ð‰æ–Ê‚É–ß‚µ‚Ü‚·�B - - 5. �‡”Ô‚ª�³‚µ‚‚È‚é—l‚ɃXƒeƒbƒv 2 ‚©‚ç 4 ‚ðŒJ‚è•Ô‚µ‚Ü‚µ‚傤�B - - d) ‹M•û‚àŠw‚Ô‚±‚Æ‚ª‚Å‚«‚é? - b) ƒXƒ~ƒŒ‚Í�‚¢�A - c) ’mŒb‚Ƃ͊w‚Ô‚à‚Ì�A - a) ƒoƒ‰‚Í�Ô‚¢�A - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 3.2: ’u‚«Š·‚¦ƒRƒ}ƒ“ƒh - - - ** ƒJ�[ƒ\ƒ‹‚̉º‚Ì•¶Žš‚ð’u‚«Š·‚¦‚é‚É‚Í r ‚ðƒ^ƒCƒv‚µ‚Ü‚· ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�Å�‰‚Ì�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. �Å�‰‚̊ԈႢ‚Ì�擪‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 3. r ‚ƃ^ƒCƒv‚µ�AŠÔˆá‚Á‚Ä‚¢‚é•¶Žš‚ð’u‚«Š·‚¦‚é�A�³‚µ‚¢•¶Žš‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - 4. �Å�‰‚Ì�s‚ª�³‚µ‚‚È‚é‚܂ŃXƒeƒbƒv 2 ‚©‚ç 3 ‚ðŒJ‚è•Ô‚µ‚Ü‚µ‚傤�B - ----> ‚±‚Ì�‡‚ð�l—Í‚µ‚½Žž‚Ë�A‚»‚Ì�l‚ÍŠô‚‚©–âˆá‚Á‚½ƒL�[‚ð‰Ÿ‚µ‚à‚µ‚½! ----> ‚±‚Ì�s‚ð“ü—Í‚µ‚½Žž‚É�A‚»‚Ì�l‚ÍŠô‚‚©ŠÔˆá‚Á‚½ƒL�[‚ð‰Ÿ‚µ‚Ü‚µ‚½! - - 5. ‚³‚Ÿ�AƒŒƒbƒXƒ“ 3.2 ‚Ö�i‚݂܂µ‚傤�B - -NOTE: ŽÀ�Û‚ÉŽŽ‚µ‚Ü‚µ‚傤�BŒˆ‚µ‚ÄŠo‚¦‚邾‚¯‚ɂ͂µ‚È‚¢‚±‚Æ�B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 3.3: •Ï�XƒRƒ}ƒ“ƒh - - - ** ’PŒê‚̈ꕔ�A‚à‚µ‚‚Í‘S‘Ì‚ð•Ï�X‚·‚é‚É‚Í cw ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�Å�‰‚Ì�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. lubw ‚Ì u ‚̈ʒu‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 3. cw ‚ƃ^ƒCƒv‚µ�A�³‚µ‚¢’PŒê‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤(‚±‚Ì�ê�‡ 'ine' ‚ƃ^ƒCƒv)�B - - 4. ŽŸ‚̊ԈႢ(•Ï�X‚·‚ׂ«•¶Žš‚Ì�擪)‚Ɉړ®‚·‚邽‚ß‚É <ESC> ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - - 5. �Å�‰‚Ì�s‚ªŽŸ‚Ì�s‚Ì—l‚ɂȂé‚܂ŃXƒeƒbƒv 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 - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 3.4: c ‚ðŽg—p‚µ‚½‚»‚Ì‘¼‚Ì•Ï�X - - - ** •Ï�XƒRƒ}ƒ“ƒh‚Í�A�í�œƒRƒ}ƒ“ƒh‚Æ“¯‚¶—l‚ɃIƒuƒWƒFƒNƒg‚ðŽg—p‚µ‚Ü‚· ** - - 1. •Ï�XƒRƒ}ƒ“ƒh‚Í�A�í�œƒRƒ}ƒ“ƒh‚Æ“¯‚¶‚悤‚È“®�ì‚ð‚µ‚Ü‚·�B‚»‚ÌŒ`Ž®‚Í - - c [�”’l] ƒ‚�[ƒVƒ‡ƒ“ - - 2. ƒIƒuƒWƒFƒNƒg‚à“¯‚¶‚Å�Aw ‚Í’PŒê�A $ ‚Í�s––‚ȂǂƂ¢‚Á‚½‚à‚̂ł·�B - - 3. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 4. �Å�‰‚̊ԈႢ‚ÖƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 5. c$ ‚ƃ^ƒCƒv‚µ‚Ä�s‚ÌŽc‚è‚ð‚Q�s–Ú‚Ì—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: ƒ^ƒCƒv’†‚̊ԈႢ‚̓oƒbƒNƒXƒy�[ƒXƒL�[‚ðŽg‚Á‚Ä’¼‚·‚±‚Æ‚à‚Å‚«‚Ü‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 3 —v–ñ - - - 1. Šù‚É�í�œ‚³‚ꂽƒeƒLƒXƒg‚ð�Ä”z’u‚·‚é‚É‚Í�Ap ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B‚±‚ê‚Í�í�œ‚³ - ‚ꂽƒeƒLƒXƒg‚ðƒJ�[ƒ\ƒ‹‚ÌŒã‚É‘}“ü‚µ‚Ü‚·(�s’PˆÊ‚Å�í�œ‚³‚ꂽ‚̂Ȃç‚Î�AƒJ�[ - ƒ\ƒ‹‚Ì‚ ‚鎟‚Ì�s‚É‘}“ü‚³‚ê‚Ü‚·)�B - - 2. ƒJ�[ƒ\ƒ‹‚̉º‚Ì•¶Žš‚ð’u‚«Š·‚¦‚é‚É‚Í�Ar ‚ðƒ^ƒCƒv‚µ‚½Œã�A‚»‚ê‚ð’u‚«Š·‚¦‚é - •¶Žš‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - - 3. •Ï�XƒRƒ}ƒ“ƒh‚ł̓J�[ƒ\ƒ‹ˆÊ’u‚©‚ç“Á’è‚̃‚�[ƒVƒ‡ƒ“‚ÅŽw’肳‚ê‚é�I’[‚܂łð•Ï - �X‚·‚邱‚Æ‚ª‰Â”\‚Å‚·�B—Ⴆ‚Î cw ‚È‚ç‚΃J�[ƒ\ƒ‹ˆÊ’u‚©‚ç’PŒê‚Ì�I‚í‚è‚Ü‚Å�A - c$ ‚È‚ç‚Î�s‚Ì�I‚í‚è‚܂łð•Ï�X‚µ‚Ü‚·�B - - 4. •Ï�XƒRƒ}ƒ“ƒh‚ÌŒ`Ž®‚Í - - c [�”’l] ƒ‚�[ƒVƒ‡ƒ“ - -‚³‚Ÿ�AŽŸ‚̃ŒƒbƒXƒ“‚Ö�i‚݂܂µ‚傤�B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 4.1: ˆÊ’u‚ƃtƒ@ƒCƒ‹‚Ì�î•ñ - - ** ƒtƒ@ƒCƒ‹“à‚ł̈ʒu‚ƃtƒ@ƒCƒ‹‚Ì�ó‘Ô‚ð•\ަ‚·‚é‚É‚Í CTRL-G ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - ƒtƒ@ƒCƒ‹“à‚Ì‚ ‚é�s‚Ɉړ®‚·‚é‚É‚Í G ‚ðƒ^ƒCƒv‚µ‚Ü‚· ** - - NOTE: ƒXƒeƒbƒv‚ðŽÀ�s‚·‚é‘O‚É�A‚±‚̃ŒƒbƒXƒ“‘S‚Ăɖڂð’Ê‚µ‚Ü‚µ‚傤!! - - 1. CTRL ‚ð‰Ÿ‚µ‚½‚Ü‚Ü g ‚ð‰Ÿ‚µ‚Ü‚µ‚傤�B‚±‚Ì‘€�ì‚ð CTRL-G ‚ƌĂñ‚Å‚¢‚Ü‚·�B - ƒy�[ƒW‚̈ê”Ô‰º‚Ƀtƒ@ƒCƒ‹–¼‚Æ�s”Ô�†‚ª•\ަ‚³‚ê‚é‚Í‚¸‚Å‚·�B ƒXƒeƒbƒv 3‚Ì‚½‚ß - ‚É�s”Ô�†‚ðŠo‚¦‚Ä‚¨‚«‚Ü‚µ‚傤�B - -NOTE: ‰æ–ʂ̉E‰º‹÷‚ɃJ�[ƒ\ƒ‹‚̈ʒu‚ª•\ަ‚³‚ê‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ�B‚±‚ê‚Í - 'ruler' ƒIƒvƒVƒ‡ƒ“(ƒŒƒbƒXƒ“6‚Å�à–¾)‚ð�Ý’è‚·‚邱‚Ƃŕ\ަ‚³‚ê‚Ü‚·�B - - 2. �ʼnº�s‚Ɉړ®‚·‚邽‚ß‚É G ‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B - ƒtƒ@ƒCƒ‹‚Ì�擪‚Ɉړ®‚·‚é‚É‚Í gg ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - 3. �æ‚Ù‚Ç‚Ì�s‚Ì”Ô�†‚ðƒ^ƒCƒv‚µ G ‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B�Å�‰‚É CTRL-G ‚ð‰Ÿ‚µ‚½�s - ‚É–ß‚Á‚Ä—ˆ‚é‚Í‚¸‚Å‚·�B - - 4. Ž©�M‚ªŽ�‚Ä‚½‚çƒXƒeƒbƒv 1 ‚©‚ç 3 ‚ðŽÀ�s‚µ‚Ü‚µ‚傤�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 4.2: ŒŸ�õƒRƒ}ƒ“ƒh - - - ** Œê‹å‚ðŒŸ�õ‚·‚é‚É‚Í / ‚Æ�A‘O•ûŒŸ�õ‚·‚éŒê‹å‚ðƒ^ƒCƒv‚µ‚Ü‚·�B** - - 1. ƒm�[ƒ}ƒ‹ƒ‚�[ƒh‚Å / ‚Æ‚¢‚¤•¶Žš‚ðƒ^ƒCƒv‚µ‚Ü‚·�B‰æ–ʈê”Ô‰º‚É : ƒRƒ}ƒ“ƒh‚Æ - “¯‚¶—l‚É / ‚ªŒ»‚ê‚邱‚ƂɋC‚‚łµ‚傤�B - - 2. ‚Å‚Í�A'errroor' <ENTER> ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B‚±‚ꂪŒŸ�õ‚µ‚½‚¢’PŒê‚Å‚·�B - - 3. “¯‚¶Œê‚ð‚à‚¤ˆê“xŒŸ�õ‚·‚邯‚«‚Í ’P‚É n ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - ‹t•ûŒü‚ÉŒê‹å‚ðŒŸ�õ‚·‚邯‚«‚Í N ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - - 4. ‹t•ûŒü‚ÉŒê‹å‚ðŒŸ�õ‚·‚é�ê�‡‚Í�A/ ‚Ì‘ã‚í‚è‚É ? ƒRƒ}ƒ“ƒh‚ðŽg—p‚µ‚Ü‚·�B - - 5. Œ³‚Ì�ê�Ђɖ߂é‚É‚Í CTRL-O (Ctrl ‚ð‰Ÿ‚µ‘±‚¯‚È‚ª‚ç o •¶Žšƒ^ƒCƒv)‚ðƒ^ƒCƒv‚µ - ‚Ü‚·�B‚³‚ç‚É–ß‚é‚ɂ͂±‚ê‚ðŒJ‚è•Ô‚µ‚Ü‚·�BCTRL-I ‚Í‘O•ûŒü‚Å‚·�B - -Note: "errroor" ‚Í error ‚ƃXƒyƒ‹‚ªˆá‚¢‚Ü‚·; errroor ‚Í‚¢‚í‚ä‚é error ‚Å‚·�B -Note: ŒŸ�õ‚ªƒtƒ@ƒCƒ‹‚Ì�I‚í‚è‚É’B‚·‚邯�AƒIƒvƒVƒ‡ƒ“ 'wrapscan' ‚ª�ݒ肳‚ê‚Ä‚¢‚é - �ê�‡‚Í�Aƒtƒ@ƒCƒ‹‚Ì�擪‚©‚猟�õ‚ð‘±�s‚µ‚Ü‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 4.3: ‘Ήž‚·‚銇ŒÊ‚ðŒŸ�õ - - - ** ‘Ήž‚·‚é ),] ‚â } ‚ðŒŸ�õ‚·‚é‚É‚Í % ‚ðƒ^ƒCƒv‚µ‚Ü‚· ** - - 1. ‰º‚Ì ---> ‚ÅŽ¦‚³‚ꂽ�s‚Å (,[ ‚© { ‚̂ǂꂩ‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. ‚»‚±‚Å % ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - 3. ƒJ�[ƒ\ƒ‹‚͑Ήž‚·‚銇ŒÊ‚Ɉړ®‚·‚é‚Í‚¸‚Å‚·�B - - 4. �Å�‰‚ÌŠ‡ŒÊ‚Ɉړ®‚·‚é‚É‚Í % ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B - - 5. ‘¼‚Ì (,),[,],{ or } ‚ŃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ�A% ‚ª‰½‚ð‚µ‚Ä‚¢‚é‚©Šm”F‚µ‚Ü‚µ‚傤�B - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - - -NOTE: ‚±‚Ì‹@”\‚ÍŠ‡ŒÊ‚ªˆê’v‚µ‚Ä‚¢‚È‚¢ƒvƒ�ƒOƒ‰ƒ€‚ðƒfƒoƒbƒO‚·‚é‚̂ɂƂĂà–ð—§‚¿ - ‚Ü‚·�B - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 4.4: ŠÔˆá‚¢‚ð•Ï�X‚·‚é•û–@ - - - ** 'old' ‚ð 'new' ‚É’uŠ·‚·‚é‚É‚Í :s/old/new/g ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. :s/thee/the <ENTER> ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B‚±‚̃Rƒ}ƒ“ƒh‚Í‚»‚Ì�s‚Å�Å�‰‚ÉŒ© - ‚‚©‚Á‚½‚à‚̂ɂ¾‚¯�s‚È‚í‚ê‚邱‚ƂɋC‚ð‚‚¯‚Ü‚µ‚傤�B - - 3. ‚Å‚Í :s/thee/the/g ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B�s‘S‘Ì‚ð’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‚«Š·‚¦‚é”͈͂̊JŽn‚Æ�I—¹‚Ì�s”Ô�†‚ðŽw’肵‚Ü - ‚·�B - :%s/old/new/g ƒtƒ@ƒCƒ‹‘S‘̂Ō©‚‚©‚é‚à‚̂ɑ΂µ‚Ä•Ï�X‚·‚é�B - :%s/old/new/gc ƒtƒ@ƒCƒ‹‘S‘̂Ō©‚‚©‚é‚à‚̂ɑ΂µ‚Ä�A1‚Â1‚Šm”F‚ð‚Æ‚è‚È - ‚ª‚ç•Ï�X‚·‚é�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 4 —v–ñ - - - 1. CTRL-G ‚̓tƒ@ƒCƒ‹‚ł̈ʒu‚ƃtƒ@ƒCƒ‹‚Ì�Ú�ׂð•\ަ‚µ‚Ü‚·�B - G ‚̓tƒ@ƒCƒ‹‚Ì�ʼnº�s‚Ɉړ®‚µ‚Ü‚·�B - �”’l G ‚Í‚»‚Ì�s‚Ɉړ®‚µ‚Ü‚·�B - gg ‚Í�擪�s‚Ɉړ®‚µ‚Ü‚·�B - - 2. / ‚ÌŒã‚ÉŒê‹å‚ðƒ^ƒCƒv‚·‚邯‘O•û‚ÉŒê‹å‚ðŒŸ�õ‚µ‚Ü‚·�B - ? ‚ÌŒã‚ÉŒê‹å‚ðƒ^ƒCƒv‚·‚邯Œã•û‚ÉŒê‹å‚ðŒŸ�õ‚µ‚Ü‚·�B - ŒŸ�õ‚ÌŒã‚Ì n ‚Í“¯‚¶•ûŒü‚ÌŽŸ‚ÌŒŸ�õ‚ð�AN ‚Í‹t•ûŒü‚ÌŒŸ�õ‚ð‚µ‚Ü‚·�B - CTRL-O ‚Í�ê�Š‚ð‘O‚Ɉڂµ�ACTRL-I ‚Í�ê�Š‚ðŽŸ‚ÉˆÚ“®‚µ‚Ü‚·�B - - 3. (,),[,],{, ‚à‚µ‚‚Í } �ã‚ɃJ�[ƒ\ƒ‹‚ª‚ ‚é�ó‘Ô‚Å % ‚ðƒ^ƒCƒv‚·‚邯‘΂ɂȂ镶 - Žš‚ÖˆÚ“®‚µ‚Ü‚·�B - - 4. Œ»�Ý�s‚Ì�Å�‰‚Ì old ‚ð new ‚É’uŠ·‚·‚é�B :s/old/new - Œ»�Ý�s‚Ì‘S‚Ä‚Ì old ‚ð new ‚É’uŠ·‚·‚é�B :s/old/new/g - 2‚Â‚Ì # ŠÔ‚ÅŒê‹å‚ð’uŠ·‚·‚é�B :#,#s/old/new/g - ƒtƒ@ƒCƒ‹‚Ì’†‚Ì‘S‚Ă̌Ÿ�õŒê‹å‚ð’uŠ·‚·‚é�B :%s/old/new/g - 'c' ‚ð‰Á‚¦‚邯’uŠ·‚Ì“x‚ÉŠm”F‚ð‹�‚ß‚é�B :%s/old/new/gc - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 5.1: ŠO•”ƒRƒ}ƒ“ƒh‚ðŽÀ�s‚·‚é•û–@ - - - ** :! ‚ÌŒã‚ÉŽÀ�s‚·‚éŠO•”ƒRƒ}ƒ“ƒh‚ðƒ^ƒCƒv‚µ‚Ü‚· ** - - 1. ‰æ–Ê‚Ì�ʼnº•”‚ɃJ�[ƒ\ƒ‹‚ªˆÚ“®‚·‚邿‚¤�Aе‚ê�e‚µ‚ñ‚¾ : ‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B - ‚±‚ê‚ŃRƒ}ƒ“ƒh‚ªƒ^ƒCƒv‚Å‚«‚é—l‚ɂȂè‚Ü‚·�B - - 2. ‚±‚±‚Å ! ‚Æ‚¢‚¤•¶Žš(Š´’Q•„)‚ðƒ^ƒCƒv‚µ‚Ü‚µ‚傤�B - ‚±‚ê‚ÅŠO•”ƒVƒFƒ‹ƒRƒ}ƒ“ƒh‚ªŽÀ�s‚Å‚«‚é—l‚ɂȂè‚Ü‚·�B - - 3. —á‚Æ‚µ‚Ä ! ‚É‘±‚¯‚Ä ls ‚ƃ^ƒCƒv‚µ <ENTER> ‚ð‰Ÿ‚µ‚Ü‚µ‚傤�B - ƒVƒFƒ‹ƒvƒ�ƒ“ƒvƒg‚̂悤‚ɃfƒBƒŒƒNƒgƒŠ‚̈ꗗ‚ª•\ަ‚³‚ê‚é‚Í‚¸‚Å‚·�B - ‚à‚µ‚‚Í ls ‚ª“®‚©‚È‚¢‚È‚ç‚Î :!dir ‚ðŽg—p‚µ‚Ü‚µ‚傤�B - -Note: ‚±‚Ì•û–@‚É‚æ‚Á‚Ä‚ ‚ç‚ä‚éƒRƒ}ƒ“ƒh‚ªŽÀ�s‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·�B‚à‚¿‚ë‚ñˆø�” - ‚à—^‚¦‚ç‚ê‚Ü‚·�B - -Note: ‘S‚Ä‚Ì : ƒRƒ}ƒ“ƒh‚Í <ENTER> ‚ð‰Ÿ‚µ‚Ä�I—¹‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ�B - ˆÈ�~‚ł͂±‚Ì‚±‚ƂɌ¾‹y‚µ‚Ü‚¹‚ñ�B - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 5.2: ‚»‚Ì‘¼‚̃tƒ@ƒCƒ‹‚Ö�‘‚«�ž‚Ý - - - ** ƒtƒ@ƒCƒ‹‚Ö•Ï�X‚ð•Û‘¶‚·‚é‚É‚Í :w ƒtƒ@ƒCƒ‹–¼ ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - 1. ƒfƒBƒŒƒNƒgƒŠ‚̈ꗗ‚𓾂邽‚ß‚É :!dir ‚à‚µ‚‚Í :!ls ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤�B - ‚±‚Ì‚ ‚Æ <ENTER> ‚ð‰Ÿ‚·‚̂͊ù‚É‚²‘¶’m‚Å‚·‚Ë�B - - 2. TEST ‚̂悤‚É�A‚»‚̃fƒBƒŒƒNƒgƒŠ‚É–³‚¢ƒtƒ@ƒCƒ‹–¼‚ðˆê‚‘I‚т܂·�B - - 3. ‚Å‚Í :w TEST ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤 (TEST ‚Í�A‘I‚ñ‚¾ƒtƒ@ƒCƒ‹–¼‚Å‚·)�B - - 4. ‚±‚ê‚É‚æ‚èƒtƒ@ƒCƒ‹‘S‘Ì‚ª TEST ‚Æ‚¢‚¤–¼‘O‚ŕۑ¶‚³‚ê‚Ü‚·�B - ‚à‚¤ˆê“x :!dir ‚à‚µ‚‚Í !ls ‚ƃ^ƒCƒv‚µ‚ÄŠm”F‚µ‚Ă݂܂µ‚傤�B - -Note: ‚±‚±‚Å Vim ‚ð�I—¹‚µ�Aƒtƒ@ƒCƒ‹–¼ TEST ‚Æ‹¤‚É‹N“®‚·‚邯�A•Û‘¶‚µ‚½Žž‚Ì - ƒ`ƒ…�[ƒgƒŠƒAƒ‹‚Ì•¡�»‚ª‚Å‚«�オ‚é‚Í‚¸‚Å‚·�B - - 5. ‚³‚ç‚É�AŽŸ‚̂悤‚Ƀ^ƒCƒv‚µ‚ătƒ@ƒCƒ‹‚ð�Á‚µ‚Ü‚µ‚傤(MS-DOS): :!del TEST - ‚à‚µ‚‚Í(Unix): :!rm TEST - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 5.3: ‘I‘ð‚µ‚½�‘‚«�ž‚Ý - - -** ƒtƒ@ƒCƒ‹‚̈ʒu‚ð•Û‘¶‚·‚é‚É‚Í�Av ƒ‚�[ƒVƒ‡ƒ“‚Æ :w FILENAME ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B ** - - 1. ‚±‚Ì�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - - 2. v ‚ð‰Ÿ‚µ�AˆÈ‰º‚Ì‘æ5�€–ڂɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�BƒeƒLƒXƒg‚ª‹’²•\ަ‚³‚ê‚é‚Ì - ‚É’�–Ú‚µ‚ĉº‚³‚¢�B - - 3. •¶Žš : ‚ð‰Ÿ‚·‚Æ�A‰æ–Ê‚Ì�ʼnº•”‚É :'<,'> ‚ªŒ»‚ê‚Ü‚·�B - - 4. w TEST (TESET ‚Í‘¶�Ý‚µ‚È‚¢ƒtƒ@ƒCƒ‹–¼)‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - Enter ‚ð‰Ÿ‚·‘O‚É :'<,'>w TEST ‚ƂȂÁ‚Ä‚¢‚邱‚Æ‚ðŠm”F‚µ‚ĉº‚³‚¢�B - - 5. Vim ‚Í TEST ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚É‘I‘ð‚³‚ê‚½�s‚ð�‘‚«�ž‚Þ‚Å‚µ‚傤�B - !dir ‚à‚µ‚‚Í !ls ‚Å‚»‚ê‚ðŠm”F‚µ‚Ü‚·�B - ‚»‚ê‚Í�í�œ‚µ‚È‚¢‚Å‚¨‚¢‚ĉº‚³‚¢�BŽŸ‚̃ŒƒbƒXƒ“‚ÅŽg—p‚µ‚Ü‚·�B - -NOTE: v ‚ð‰Ÿ‚·‚Æ�AVisual ‘I‘ð‚ªŽn‚Ü‚è‚Ü‚·�BƒJ�[ƒ\ƒ‹‚ð“®‚©‚·‚±‚Æ‚Å�A‘I‘ð”͈͂ð - ‘å‚«‚‚à�¬‚³‚‚à‚Å‚«‚Ü‚·�B‚³‚ç‚É�A‚»‚Ì‘I‘ð”͈͂ɑ΂µ‚ăIƒyƒŒ�[ƒ^‚ð“K—p - ‚«‚Ü‚·�B—Ⴆ‚Î d ‚̓eƒLƒXƒg‚ð�í�œ‚µ‚Ü‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 5.4: ƒtƒ@ƒCƒ‹‚ÌŽæ�ž‚Æ�‡•¹ - - - ** ƒtƒ@ƒCƒ‹‚Ì’†�g‚ð‘}“ü‚·‚é‚É‚Í :r ƒtƒ@ƒCƒ‹–¼ ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - 1. ƒJ�[ƒ\ƒ‹‚ðˆÈ‰º‚Ì�s‚É�‡‚킹‚Ü‚·�B - -NOTE: ƒXƒeƒbƒv 2 ‚ÌŽÀ�sŒã�AƒŒƒbƒXƒ“ 5.3 ‚̃eƒLƒXƒg‚ªŒ»‚ê‚Ü‚·�B‰º‚ɉº‚ª‚Á‚Ä‚± - ‚̃ŒƒbƒXƒ“‚Ɉړ®‚µ‚Ü‚µ‚傤�B - - 2. ‚Å‚Í TEST ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ð :r TEST ‚Æ‚¢‚¤ƒRƒ}ƒ“ƒh‚œǂÝ�ž‚݂܂µ‚傤�B - ‚±‚±‚Å‚¢‚¤ TEST ‚ÍŽg‚¤ƒtƒ@ƒCƒ‹‚Ì–¼‘O‚Ì‚±‚Ƃł·�B - “Ç‚Ý�ž‚܂ꂽƒtƒ@ƒCƒ‹‚Í�AƒJ�[ƒ\ƒ‹�s‚̉º‚É‚ ‚è‚Ü‚·�B - - 3. Žæ�ž‚ñ‚¾ƒtƒ@ƒCƒ‹‚ðŠm”F‚µ‚Ă݂܂µ‚傤�BƒJ�[ƒ\ƒ‹‚ð–ß‚·‚Æ�AƒŒƒbƒXƒ“5.3 ‚Ì - ƒIƒŠƒWƒiƒ‹‚ƃtƒ@ƒCƒ‹‚É‚æ‚é‚à‚Ì‚Ì2‚‚ª‚ ‚邱‚Æ‚ª‚í‚©‚è‚Ü‚·�B - -NOTE: ŠO•”ƒRƒ}ƒ“ƒh‚Ì�o—Í‚ð“Ç‚Ý�ž‚Þ‚±‚Æ‚à�o—ˆ‚Ü‚·�B—Ⴆ‚Î�A - :r !ls ‚Í ls ƒRƒ}ƒ“ƒh‚Ì�o—Í‚ðƒJ�[ƒ\ƒ‹ˆÈ‰º‚ɓǂÝ�ž‚݂܂·�B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 5 —v–ñ - - - 1. :!command ‚É‚æ‚Á‚Ä ŠO•”ƒRƒ}ƒ“ƒh‚ðŽÀ�s‚µ‚Ü‚·�B - - ‚悎g‚¤—á: - (MS-DOS) (Unix) - :!dir :!ls - ƒfƒBƒŒƒNƒgƒŠ“à‚̈ꗗ‚ðŒ©‚é�B - :!del FILENAME :!rm FILENAME - ƒtƒ@ƒCƒ‹‚ð�í�œ‚·‚é�B - - 2. :w ƒtƒ@ƒCƒ‹–¼ ‚É‚æ‚Á‚ătƒ@ƒCƒ‹–¼‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ªƒfƒBƒXƒN‚É�‘‚«�ž‚Ü‚ê‚é�B - - 3. v ƒ‚�[ƒVƒ‡ƒ“‚Å :w FILENAME ‚Æ‚·‚邯�AƒrƒWƒ…ƒAƒ‹‘I‘ð�s‚ªƒtƒ@ƒCƒ‹‚ɕۑ¶‚³ - ‚ê‚é�B - - 4. :r ƒtƒ@ƒCƒ‹–¼ ‚É‚æ‚èƒtƒ@ƒCƒ‹–¼‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ªƒfƒBƒXƒN‚æ‚èŽæ�ž‚Ü‚ê�A - ƒJ�[ƒ\ƒ‹ˆÊ’u‚̉º‚É‘}“ü‚³‚ê‚é�B - - 5. :r !dir ‚Í dir ƒRƒ}ƒ“ƒh‚Ì�o—Í‚ðƒJ�[ƒ\ƒ‹ˆÊ’uˆÈ‰º‚ɓǂÝ�ž‚Þ�B - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 6.1: ƒI�[ƒvƒ“ƒRƒ}ƒ“ƒh - - - ** o ‚ðƒ^ƒCƒv‚·‚邯�AƒJ�[ƒ\ƒ‹‚̉º‚Ì�s‚ªŠJ‚«�A‘}“üƒ‚�[ƒh‚É“ü‚è‚Ü‚· ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ�s‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. o (�¬•¶Žš) ‚ðƒ^ƒCƒv‚µ‚Ä�AƒJ�[ƒ\ƒ‹‚̉º‚Ì�s‚ðŠJ‚«�A‘}“üƒ‚�[ƒh‚É“ü‚è‚Ü‚·�B - - 3. ‚³‚ç‚É‘}“üƒ‚�[ƒh‚ð�I—¹‚·‚éˆ×‚É <ESC> ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - ----> o ‚ðƒ^ƒCƒv‚·‚邯ƒJ�[ƒ\ƒ‹‚ÍŠJ‚¢‚½�s‚ÖˆÚ“®‚µ‘}“üƒ‚�[ƒh‚É“ü‚è‚Ü‚·�B - - 4. ƒJ�[ƒ\ƒ‹‚Ì�ã‚Ì�s‚É‘}“ü‚·‚é‚É‚Í�A�¬•¶Žš‚Ì o ‚ł͂Ȃ�A’P�ƒ‚É‘å•¶Žš‚Ì O - ‚ðƒ^ƒCƒv‚µ‚Ü‚·�BŽŸ‚Ì�s‚ÅŽŽ‚µ‚Ă݂܂µ‚傤�B - ----> ‚±‚Ì�s‚Ì�ã‚Ö‘}“ü‚·‚é‚É‚Í�A‚±‚Ì�s‚ÖƒJ�[ƒ\ƒ‹‚ð’u‚¢‚Ä O ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 6.2: ’ljÁƒRƒ}ƒ“ƒh - - - ** ƒJ�[ƒ\ƒ‹‚ÌŽŸ‚̈ʒu‚©‚çƒeƒLƒXƒg‚ð’ljÁ‚·‚é‚É‚Í a ‚ƃ^ƒCƒv‚µ‚Ü‚· ** - - 1. ƒJ�[ƒ\ƒ‹‚ð ---> ‚ÅŽ¦‚³‚ꂽ‹Æ‚ÖˆÚ“®‚µ‚Ü‚µ‚傤�B - - 2. e ‚ð‰Ÿ‚µ‚Ä li ‚Ì�I’[•”‚܂ŃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - - 3. ƒJ�[ƒ\ƒ‹‚ÌŒã‚ë‚ɃeƒLƒXƒg‚ð’ljÁ‚·‚邽‚ß‚É a (�¬•¶Žš) ‚ðƒ^ƒCƒv‚µ‚Ü‚·�B - - 4. ‚»‚̉º‚Ì�s‚̂̂悤‚È’PŒê‚ÉŠ®�¬‚³‚¹‚Ü‚·�B‘}“üƒ‚�[ƒh‚𔲂¯‚éˆ×‚É <ESC> ‚ɉŸ - ‚µ‚Ü‚·�B - - 5. e ‚ðŽg‚Á‚ÄŽŸ‚Ì•sŠ®‘S‚È’PŒê‚ÖˆÚ“®‚µ�AƒXƒeƒbƒv 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 - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 6.3: ‚»‚Ì‘¼‚Ì’uŠ·•û–@ - - - ** 1•¶ŽšˆÈ�ã‚ð’u‚«Š·‚¦‚é‚É‚Í‘å•¶Žš‚Ì R ‚ƃ^ƒCƒv‚µ‚Ü‚µ‚傤 ** - - 1. ˆÈ‰º‚Ì ---> ‚ÆŽ¦‚³‚ꂽ‹Æ‚ɃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B�Å�‰‚Ì xxx ‚Ì�擪‚Ɉړ®‚µ - ‚Ü‚·�B - - 2. R ‚ð‰Ÿ‚µ‚Ä�A2�s–Ú‚Ì�”’l‚ðƒ^ƒCƒv‚·‚邱‚Æ‚Å�Axxx ‚ª’uŠ·‚³‚ê‚Ü‚·�B - - 3. ’uŠ·ƒ‚�[ƒh‚𔲂¯‚é‚É‚Í <ESC> ‚ð‰Ÿ‚µ‚Ü‚·�B�s‚ÌŽc‚肪•Ï�X‚³‚ê‚Ä‚¢‚È‚¢‚Ü‚Ü‚É - ‚Ȃ邱‚Ƃɒ�ˆÓ‚µ‚Ä‚‚¾‚³‚¢�B - - 5. Žc‚Á‚½ xxx ‚ðƒXƒeƒbƒv‚ðŒJ‚è•Ô‚µ‚Ä’uŠ·‚µ‚Ü‚µ‚傤�B - ----> Adding 123 to xxx gives you xxx. ----> Adding 123 to 456 gives you 579. - -NOTE: ’uŠ·ƒ‚�[ƒh‚Í‘}“üƒ‚�[ƒh‚ÉŽ—‚Ä‚¢‚Ü‚·‚ª�A‘S‚Ẵ^ƒCƒv‚³‚ꂽ•¶Žš‚ÍŠù‘¶‚Ì•¶Žš - ‚ð�í�œ‚µ‚Ü‚·�B - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 6.4: ƒeƒLƒXƒg‚̃Rƒs�[‚ƃy�[ƒXƒg - - - ** ƒeƒLƒXƒg‚̃Rƒs�[‚ɂ̓IƒyƒŒ�[ƒ^ y ‚ð�Aƒy�[ƒXƒg‚É‚Í p ‚ðŽg‚¢‚Ü‚· ** - - 1. ---> ‚ÆŽ¦‚³‚ꂽ�s‚ÖˆÚ“®‚µ�AƒJ�[ƒ\ƒ‹‚ð "a)" ‚ÌŒã‚É’u‚¢‚Ä‚¨‚«‚Ü‚·�B - - 2. v ‚ŃrƒWƒ…ƒAƒ‹ƒ‚�[ƒh‚ðŠJŽn‚µ�A"first"‚ÌŽè‘O‚܂ŃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·�B - - 3. y ‚ðƒ^ƒCƒv‚µ‚Ä‹’²•\ަ‚³‚ꂽƒeƒLƒXƒg‚ð yank (ƒRƒs�[)‚µ‚Ü‚·�B - - 4. ŽŸ‚Ì�s‚Ì�s––‚܂ŃJ�[ƒ\ƒ‹‚ðˆÚ“®‚µ‚Ü‚·: j$ - - 5. p ‚ð‰Ÿ‚µ‚Ä“\‚è•t‚¯(put)‚Ä‚©‚ç�AŽŸ‚ðƒ^ƒCƒv‚µ‚Ü‚·: a second <ESC> - - 6. ƒrƒWƒ…ƒAƒ‹ƒ‚�[ƒh‚Å " item." ‚ð‘I‘ð‚µ�Ay ‚Ń„ƒ“ƒN�AŽŸ‚Ì�s‚Ì�s––‚܂Šj$ ‚Å - ˆÚ“®‚µ�A p ‚ŃeƒLƒXƒg‚ð‚»‚±‚É put ‚µ‚Ü‚·�B - ----> a) this is the first item. - b) - - Note: ’PŒê‚ð1‚ yank ‚·‚é‚Ì‚É y ‚ðƒIƒyƒŒ�[ƒ^‚Æ‚µ‚Ä yw ‚Æ‚·‚邱‚Æ‚à�o—ˆ‚Ü‚·�B -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 6.5: ƒIƒvƒVƒ‡ƒ“‚Ì�Ý’è - - - ** ŒŸ�õ‚â’uŠ·‚Ì�Û‚É‘å•¶Žš/�¬•¶Žš‚𖳎‹‚·‚é‚É‚Í�AƒIƒvƒVƒ‡ƒ“‚ð�ݒ肵‚Ü‚· ** - - 1. ŽŸ‚Ì—l‚É“ü—Í‚µ‚Ä 'ignore' ‚ðŒŸ�õ‚µ‚Ü‚µ‚傤: /ignore <ENTER> - n ‚ð‰Ÿ‚µ‚ĉ½“x‚©ŒŸ�õ‚ðŒJ‚è•Ô‚µ‚Ü‚·�B - - 2. ŽŸ‚Ì—l‚É“ü—Í‚µ‚Ä 'ic' (Ignore Case ‚Ì—ª) ƒIƒvƒVƒ‡ƒ“‚ð�ݒ肵‚Ü‚·: :set ic - - 3. ‚Å‚Í n ‚É‚æ‚Á‚Ä‚à‚¤1“x 'ignore' ‚ðŒŸ�õ‚µ‚Ü‚·�B - n ‚ð‰Ÿ‚µ‚Ä‚³‚ç‚É�”‰ñŒŸ�õ‚ðŒJ‚è•Ô‚µ‚Ü‚µ‚傤�B - - 4. 'hlsearch' ‚Æ 'incsearch' ƒIƒvƒVƒ‡ƒ“‚ð�ݒ肵‚Ü‚µ‚傤: :set hls is - - 5. ŒŸ�õƒRƒ}ƒ“ƒh‚ð�Ä“ü—Í‚µ‚Ä�A‰½‚ª‹N‚±‚é‚©Œ©‚Ă݂܂µ‚傤: /ignore <ENTER> - - 6. ‘å•¶Žš�¬•¶Žš‚Ì‹æ•ʂ𖳌ø‚É‚·‚é‚ɂ͎Ÿ‚Ì—l‚É“ü—Í‚µ‚Ü‚·: :set noic - -Note: ƒ}ƒbƒ`‚Ì‹’²•\ަ‚ð‚â‚ß‚é‚ɂ͎Ÿ‚Ì—l‚É“ü—Í‚µ‚Ü‚·: :nohlsearch -Note: 1‚‚̌Ÿ�õƒRƒ}ƒ“ƒh‚¾‚¯‘å•¶Žš�¬•¶Žš‚Ì‹æ•Ê‚ð‚â‚ß‚½‚¢‚È‚ç‚Î�AƒtƒŒ�[ƒY‚É \c - ‚ðŽg—p‚µ‚Ü‚·: /ignore\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 6 —v–ñ - - 1. o ‚ðƒ^ƒCƒv‚·‚邯ƒJ�[ƒ\ƒ‹‚̉º‚Ì�s‚ðŠJ‚¯‚Ä�A‚»‚±‚Å‘}“üƒ‚�[ƒh‚ɂȂé�B - O (‘å•¶Žš) ‚ðƒ^ƒCƒv‚·‚邯ƒJ�[ƒ\ƒ‹‚Ì�ã‚Ì�s‚Å‘}“üƒ‚�[ƒh‚ɂȂé�B - - 2. ƒJ�[ƒ\ƒ‹�ã‚Ì•¶Žš‚ÌŽŸ‚©‚çƒeƒLƒXƒg‚ð’ljÁ‚·‚é‚É‚Í a ‚ƃ^ƒCƒv‚·‚é�B - �s––‚ÉŽ©“®‚ŃeƒLƒXƒg‚ð‘}“ü‚·‚é‚É‚Í‘å•¶Žš A ‚ðƒ^ƒCƒv‚·‚é�B - - 3. e ƒRƒ}ƒ“ƒh‚Í’PŒê‚Ì�I’[•”ƒJ�[ƒ\ƒ‹‚ðˆÚ“®‚·‚é�B - - 4. y ƒIƒyƒŒ�[ƒ^‚̓eƒLƒXƒg‚ð yank (ƒRƒs�[)‚µ�Ap ‚Í‚»‚ê‚ð put (ƒy�[ƒXƒg)‚·‚é�B - - 5. ‘å•¶Žš‚Ì R ‚ðƒ^ƒCƒv‚·‚邯’uŠ·ƒ‚�[ƒh‚É“ü‚è�A<ESC>‚ð‰Ÿ‚·‚Æ”²‚¯‚é�B - - 6. ":set xxx" ‚ƃ^ƒCƒv‚·‚邯ƒIƒvƒVƒ‡ƒ“ "xxx" ‚ª�ݒ肳‚ê‚é�B - 'ic' 'ignorecase' ŒŸ�õŽž‚É‘å•¶Žš�¬•¶Žš‚Ì‹æ•Ê‚µ‚È‚¢ - 'is' 'incsearch' ŒŸ�õƒtƒŒ�[ƒY‚É•”•ªƒ}ƒbƒ`‚µ‚Ä‚¢‚é•”•ª‚ð•\ަ‚·‚é - 'hls' 'hlsearch' ƒ}ƒbƒ`‚·‚é‚·‚×‚ð‹’²•\ަ‚·‚é - ’·‚¢•û�A’Z‚¢•û�A‚Ç‚¿‚ç‚̃IƒvƒVƒ‡ƒ“–¼‚Å‚àŽg—p‚Å‚«‚Ü‚·�B - - 7. "no" ‚ð•t—^‚µ�AƒIƒvƒVƒ‡ƒ“‚𖳌ø‚É‚µ‚Ü‚·: :set noic - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 7.1: ƒIƒ“ƒ‰ƒCƒ“ƒwƒ‹ƒvƒRƒ}ƒ“ƒh - - - ** ƒIƒ“ƒ‰ƒCƒ“ƒwƒ‹ƒv‚ðŽg—p‚µ‚Ü‚µ‚傤 ** - - Vim ‚É‚Í�L”͂ɂ킽‚éƒIƒ“ƒ‰ƒCƒ“ƒwƒ‹ƒvƒVƒXƒeƒ€‚ª‚ ‚è‚Ü‚·�B - ƒwƒ‹ƒv‚ðŠJŽn‚·‚é‚É‚Í�A‚±‚ê‚ç3‚‚̂ǂꂩ1‚Â‚ðŽŽ‚µ‚Ă݂܂µ‚傤: - - ƒwƒ‹ƒvƒL�[ <HELP> ‚ð‰Ÿ‚·(‚à‚µ‚ ‚é‚È‚ç‚Î)�B - - <F1> ƒL�[‚ð‰Ÿ‚·(‚à‚µ‚ ‚é‚È‚ç‚Î)�B - - :help <ENTER> ‚ƃ^ƒCƒv‚·‚é�B - - ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚̃eƒLƒXƒg‚ð“ǂނÆ�Aƒwƒ‹ƒv‚Ì“®�삪—�‰ð‚Å‚«‚Ü‚·�B - CTRL-W CTRL-W ‚ƃ^ƒCƒv‚·‚邯 ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ÖƒWƒƒƒ“ƒv‚µ‚Ü‚·�B - :q <ENTER> ‚ƃ^ƒCƒv‚·‚邯 ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ª•‚¶‚ç‚ê‚Ü‚·�B - - ":help" ƒRƒ}ƒ“ƒh‚Ɉø�”‚ð—^‚¦‚邱‚Ƃɂæ‚è�A‚ ‚ç‚ä‚é‘è–¼‚̃wƒ‹ƒv‚ðŒ©‚Â‚¯‚邱‚Æ - ‚ª‚Å‚«‚Ü‚·�B‚±‚ê‚ç‚ðŽŽ‚µ‚Ă݂܂µ‚傤(<ENTER> ‚ðƒ^ƒCƒv‚µ–Y‚ê‚È‚¢‚悤‚É): - - :help w - :help c_<T - :help insert-index - :help user-manual -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 7.2: ‹N“®ƒXƒNƒŠƒvƒg‚Ì�ì�¬ - - ** Vim ‚Ì“Á’¥‚ð”Šö‚·‚é ** - - Vim ‚É‚Í Vi ‚æ‚è‚à‘½‚‚Ì“Á’¥‚𓥂܂¦‚Ä‚¢‚Ü‚ª�A‚»‚̂قƂñ‚Ç‚Í�‰Šú�ó‘Ô‚É‚Ä - Žg—p•s‰Â‚ƂȂÁ‚Ä‚¢‚Ü‚·�B‚æ‚葽‚‚Ì“Á’¥‚ðŽg‚¢‚Í‚¶‚ß‚é‚É‚Í "vimrc" ƒtƒ@ƒCƒ‹ - ‚ð�ì�¬‚µ‚Ü‚·�B - - 1. "vimrc" ƒtƒ@ƒCƒ‹‚Ì•Ò�W‚ðŠJŽn‚·‚é�B‚±‚ê‚̓VƒXƒeƒ€‚Ɉˑ¶‚µ‚Ü‚·�B - :edit ~/.vimrc UNIX Œü‚¯ - :edit $VIM/_vimrc MS-Windows Œü‚¯ - - 2. ‚±‚±‚ŃTƒ“ƒvƒ‹‚Ì "vimrc" ‚ð“Ç‚Ý�ž‚݂܂·�B - :read $VIMRUNTIME/vimrc_example.vim - - 3. ˆÈ‰º‚̂悤‚Ƀtƒ@ƒCƒ‹‚Ö�‘‚«�ž‚݂܂·�B - :write - - ŽŸ‰ñ Vim ‚ð‹N“®‚·‚邯�A�F‚¯�\•¶‚ªŽg‚¦‚邿‚¤‚ɂȂé‚Å‚µ‚傤�B - ‚±‚Ì "vimrc" ƒtƒ@ƒCƒ‹‚Ö�A‚¨�D‚Ý‚Ì�Ý’è‚ð’ljÁ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·�B - ‚æ‚葽‚‚Ì�î•ñ‚𓾂é‚É‚Í :help vimrc-intro ‚ƃ^ƒCƒv‚µ‚Ü‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 7.3: •⊮ - - - ** CTRL-D ‚Æ <TAB> ‚ŃRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•⊮‚·‚é ** - - 1. ƒRƒ“ƒpƒ`ƒ‚�[ƒh‚łȂ¢‚±‚Æ‚ðŠm”F‚µ‚Ü‚·: :set nocp - - 2. Œ»�݂̃fƒBƒŒƒNƒgƒŠ‚É�Ý‚éƒtƒ@ƒCƒ‹‚ð :!ls ‚© :!dir ‚ÅŠm”F‚µ‚Ü‚·�B - - 3. ƒRƒ}ƒ“ƒh‚ÌŠJŽn‚ðƒ^ƒCƒv‚µ‚Ü‚·: :e - - 4. CTRL-D ‚ð‰Ÿ‚·‚Æ Vim ‚Í "e" ‚©‚çŽn‚Ü‚éƒRƒ}ƒ“ƒh‚̈ꗗ‚ð•\ަ‚µ‚Ü‚·�B - - 5. <TAB> ‚ð‰Ÿ‚·‚Æ Vim ‚Í ":edit" ‚Æ‚¢‚¤ƒRƒ}ƒ“ƒh–¼‚ð•⊮‚µ‚Ü‚·�B - - 6. ‚³‚ç‚ɋ󔒂Æ�AŠù‘¶‚̃tƒ@ƒCƒ‹–¼‚ÌŽn‚Ü‚è‚ð‰Á‚¦‚Ü‚·: :edit FIL - - 7. <TAB> ‚ð‰Ÿ‚·‚Æ Vim ‚Í–¼‘O‚ð•⊮‚µ‚Ü‚·�B(‚à‚µˆê‚‚µ‚©–³‚©‚Á‚½�ê�‡) - -NOTE: •⊮‚Í‘½‚‚̃Rƒ}ƒ“ƒh‚Å“®�삵‚Ü‚·�B‚»‚µ‚Ä CTRL-D ‚Æ <TAB> ‰Ÿ‚µ‚Ă݂Ă‚¾ - ‚³‚¢�B“Á‚É :help ‚Ì�Û‚É–ð—§‚¿‚Ü‚·�B - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ƒŒƒbƒXƒ“ 7 —v–ñ - - - 1. ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠJ‚‚É‚Í :help ‚Æ‚·‚é‚© <F1> ‚à‚µ‚‚Í <Help> ‚ð‰Ÿ‚·�B - - 2. ƒRƒ}ƒ“ƒh(cmd)‚̃wƒ‹ƒv‚ðŒŸ�õ‚·‚é‚É‚Í :help cmd ‚ƃ^ƒCƒv‚·‚é�B - - 3. •ʂ̃EƒBƒ“ƒhƒE‚ÖƒWƒƒƒ“ƒv‚·‚é‚É‚Í CTRL-W CTRL-W ‚ƃ^ƒCƒv‚·‚é�B - - 4. ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð•‚¶‚é‚É‚Í :q ‚ƃ^ƒCƒv‚·‚é�B - - 5. ‚¨�D‚Ý‚Ì�Ý’è‚ð•Û‚Â‚É‚Í vimrc ‹N“®ƒXƒNƒŠƒvƒg‚ð�ì�¬‚·‚é�B - - 6. : command ‚ʼn”\‚ȕ⊮‚ðŒ©‚é‚É‚Í CTRL-D ‚ðƒ^ƒCƒv‚·‚é�B - •⊮‚ðŽg—p‚·‚é‚É‚Í <TAB> ‚ð‰Ÿ‚·�B - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - ‚±‚ê‚É‚Ä Vim ‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚ð�I‚í‚è‚Ü‚·�BƒGƒfƒBƒ^‚ðŠÈ’P‚É�A‚µ‚©‚à�[•ª‚É - Žg‚¤‚±‚Æ‚ª‚Å‚«‚邿‚¤‚É‚Æ�AVim ‚ÌŽ�‚ŠT”O‚Ì—v“_‚݂̂ð“`‚¦‚悤‚Æ‚µ‚Ü‚µ‚½�B - Vim ‚ɂ͂³‚ç‚É‘½‚‚̃Rƒ}ƒ“ƒh‚ª‚ ‚è�A‚±‚±‚Å‘S‚Ä‚ð�à–¾‚·‚邱‚Ƃ͂ł«‚Ü‚¹‚ñ�B - ˆÈ�~‚̓†�[ƒUƒ}ƒjƒ…ƒAƒ‹‚ðŽQ�Æ‚‚¾‚³‚¢: "help :user-manual" - - ‚±‚êˆÈŒã‚ÌŠw�K‚Ì‚½‚ß‚É�AŽŸ‚Ì–{‚ð�„‘E‚µ‚Ü‚·�B - Vim - Vi Improved - by Steve Oualline - �o”ÅŽÐ: New Riders - �Å�‰‚Ì–{‚ÍŠ®‘S‚É Vim ‚Ì‚½‚ß‚É�‘‚©‚ê‚Ü‚µ‚½�B‚Æ‚è‚킯�‰�SŽÒ‚ɂ͂¨�§‚߂ł·�B - ‘½‚‚Ì—á‘è‚â�}”Å‚ªŒf�Ú‚³‚ê‚Ä‚¢‚Ü‚·�B - ŽŸ‚ÌURL‚ðŽQ�Æ‚µ‚ĉº‚³‚¢ 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 - - ‚±‚̃`ƒ…�[ƒgƒŠƒAƒ‹‚Í Colorado State University ‚Ì Charles Smith ‚̃AƒCƒfƒA - ‚ðŠî‚É�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 innføring som denne. Den er beregnet på å - sette deg inn i bruken av nok kommandoer så du vil være i stand til lett - å kunne bruke Vim som en editor til alle formål. - - Tiden som kreves for å gå gjennom denne innføringen 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 kjørte «vimtutor»-kommandoen, er - dette allerede en kopi). - - Det er viktig å huske at denne innføringen er beregnet på læring gjennom - bruk. Det betyr at du må utføre kommandoene for å lære dem skikkelig. - Hvis du bare leser teksten, vil du glemme kommandoene! - - Først av alt, sjekk at «Caps Lock» IKKE er aktiv og trykk «j»-tasten for - å flytte markøren helt til leksjon 1.1 fyller skjermen. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.1: FLYTTING AV MARKØREN - - - ** For å flytte markøren, 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 høyre og flytter til høyre. - j j-tasten ser ut som en pil som peker nedover. - v - 1. Flytt markøren rundt på skjermen til du har fått 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 være i stand til - å bevege markøren mye raskere når du er blitt vant til det. Helt sant! - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.2: AVSLUTTE VIM - - - !! MERK: Før du utfører 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. Når du ser kommandolinjen i skallet, skriv kommandoen som startet denne - innføringen. Den er: vimtutor <ENTER> - - 4. Hvis du er sikker på at du husker dette, utfør punktene 1 til 3 for å - avslutte og starte editoren på nytt. - -MERK: :q! <ENTER> forkaster alle forandringer som du gjorde. I løpet av noen - få leksjoner vil du lære hvordan du lagrer forandringene til en fil. - - 5. Flytt markøren ned til leksjon 1.3. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.3: REDIGERING AV TEKST -- SLETTING - - - ** Trykk x for å slette tegnet under markøren. ** - - 1. Flytt markøren til den første linjen merket med --->. - - 2. For å ordne feilene på linjen, flytt markøren til den er oppå tegnet som - skal slettes. - - 3. Trykk tasten x for å slette det uønskede tegnet. - - 4. Repeter punkt 2 til 4 til setningen er lik den som er under. - ----> Hessstennnn brrråsnudddde ii gaaata. ----> Hesten bråsnudde i gata. - - 5. Nå som linjen er korrekt, gå til leksjon 1.4. - -MERK: Når du går gjennom innføringen, ikke bare prøv å huske kommandoene, men - bruk dem helt til de sitter. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 1.4: REDIGERING AV TEKST -- INNSETTING - - - ** Trykk i for å sette inn tekst. ** - - 1. Flytt markøren til den første linjen som er merket med --->. - - 2. For å gjøre den første linjen lik den andre, flytt markøren til den står - 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. Når du føler 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 markøren til den første linjen nedenfor merket --->. - Det har ikke noe å si hvor markøren er plassert på den linjen. - - 2. Trykk A og skriv inn det som skal legges til. - - 3. Når teksten er lagt til, trykk <ESC> for å returnere til normalmodusen. - - 4. Flytt markøren 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. Når du føler 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: Før du utfører noen av stegene nedenfor, les hele denne leksjonen!! - - 1. Avslutt denne innføringen 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 lærte i de foregående leksjonene. - - 4. Lagre filen med forandringene og avslutt Vim med: :wq <ENTER> - - 5. Start innføringen på nytt og flytt ned til oppsummeringen som følger. - - 6. Etter å ha lest og forstått stegene ovenfor: Sett i gang. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 1 - - - 1. Markøren beveges ved hjelp av piltastene eller hjkl-tastene. - h (venstre) j (ned) k (opp) l (høyre) - - 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 markøren, trykk: x - - 5. For å sette inn eller legge til tekst, trykk: - i skriv innsatt tekst <ESC> sett inn før markøren - A skriv tillagt tekst <ESC> legg til på slutten av linjen - -MERK: Når du trykker <ESC> går du til normalmodus eller du avbryter en uønsket - og delvis fullført kommando. - - Nå kan du gå videre til leksjon 2. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.1: SLETTEKOMMANDOER - - - ** Trykk dw for å slette et ord. ** - - 1. Trykk <ESC> for å være sikker på at du er i normalmodus. - - 2. Flytt markøren til den første linjen nedenfor merket --->. - - 3. Flytt markøren 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 når - 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 hører pære hjemme i denne setningen. ----> Det er tre ord som ikke hører hjemme i denne setningen. - - 5. Repeter punkt 3 og 4 til den første 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 å være sikker på at du er i normalmodus. - - 2. Flytt markøren til linjen nedenfor merket --->. - - 3. Flytt markøren til punktet der linjen skal kuttes (ETTER første 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 første tegnet. - e - til slutten av det nåværende ordet, INKLUDERT det siste tegnet. - $ - til slutten av linjen, INKLUDERT det siste tegnet. - - Ved å skrive de vil altså alt fra markøren til slutten av ordet bli - slettet. - -MERK: Ved å skrive kun bevegelsen i normalmodusen uten en operator vil - markøren 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 markøren til starten av linjen markert ---> nedenfor. - - 2. Skriv 2w for å flytte markøren to ord framover. - - 3. Skriv 3e for å flytte markøren 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 før bevegelsen for å slette mer: - d nummer bevegelse - - 1. Flytt markøren til det første 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 etterfølgende - 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 måte 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 være lettere å rett og slett trykke to d-er for å slette en linje. - - 1. Flytt markøren 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 røde, ----> 2) Gjørme er gøy, ----> 3) Fioler er blå, ----> 4) Jeg har en bil, ----> 5) Klokker viser tiden, ----> 6) Druer er søte ----> 7) Og du er likeså. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 2.7: ANGRE-KOMMANDOEN - - - ** Trykk u for å angre siste kommando, U for å fikse en hel linje. ** - - 1. Flytt markøren til linjen nedenfor merket ---> og plasser den på den - første feilen. - 2. Trykk x for å slette det første uønskede tegnet. - 3. Trykk så u for å angre den siste utførte 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 foregående kommandoer. - 7. Deretter trykker du CTRL-R (hold CTRL nede mens du trykker R) noen - ganger for å gjenopprette kommandoene (omgjøre 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 markøren fram til det neste ordet, trykk: dw - 2. For å slette fra markøren 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 gjøres, 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 å omgjøre angringen, trykk: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.1: «LIM INN»-KOMMANDOEN - - - ** Trykk p for å lime inn tidligere slettet tekst etter markøren ** - - 1. Flytt markøren til den første linjen med ---> nedenfor. - - 2. Trykk dd for å slette linjen og lagre den i et Vim-register. - - 3. Flytt markøren til c)-linjen, OVER posisjonen linjen skal settes inn. - - 4. Trykk p for å legge linjen under markøren. - - 5. Repeter punkt 2 til 4 helt til linjene er i riktig rekkefølge. - ----> d) Kan du også lære? ----> b) Fioler er blå, ----> c) Intelligens må læres, ----> a) Roser er røde, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.2: «ERSTATT»-KOMMANDOEN - - - ** Trykk rx for å erstatte tegnet under markøren med x. ** - - 1. Flytt markøren til den første linjen nedenfor merket --->. - - 2. Flytt markøren så den står oppå den første feilen. - - 3. Trykk r og deretter tegnet som skal være der. - - 4. Repeter punkt 2 og 3 til den første linjen er lik den andre. - ----> Da dfnne lynjxn ble zkrevet, var det nøen 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 bør lære ved å BRUKE, ikke pugge. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 3.3: «FORANDRE»-OPERATOREN - - - ** For å forandre til slutten av et ord, trykk ce . ** - - 1. Flytt markøren til den første linjen nedenfor som er merket --->. - - 2. Plasser markøren 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 første setningen er lik den andre. - ----> Denne lubjwr har noen wgh som må forkwåp med «forækzryas»-kommandoen. ----> Denne linjen har noen ord som må forandres med «forandre»-kommandoen. - -Vær oppmerksom på at ce sletter ordet og går 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 måte 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 første linjen nedenfor som er merket --->. - - 4. Flytt markøren til den første feilen. - - 5. Skriv c$ og skriv resten av linjen lik den andre og trykk <ESC>. - ----> Slutten på denne linjen trenger litt hjelp for å gjøre 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 markøren (hvis en linje ble slettet - vil den bli limt inn på linjen under markøren). - - 2. For å erstatte et tegn under markøren, trykk r og deretter tegnet som - du vil ha der. - - 3. Forandringsoperatoren lar deg forandre fra markøren til dit bevegelsen - tar deg. Det vil si, skriv ce for å forandre fra markøren 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 MARKØREN 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 før du utfører 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 markørposisjonen i nederste høyre hjørne av skjermen. Dette - skjer når «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 føre deg - tilbake til linjen du var på da du først trykket CTRL-G. - - 4. Utfør steg 1 til 3 hvis du føler deg sikker på prosedyren. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 4.2: SØKEKOMMANDOEN - - ** Skriv / etterfulgt av en søkestreng som du vil lete etter. ** - - 1. Trykk / når du er i normalmodusen. Legg merke til at skråstreken og - markøren 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 søkestrengen, trykk n . - For å lete etter samme søketeksten 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 - går framover. - ----> «feeeiil» er ikke måten å skrive «feil» på, feeeiil er helt feil. -Merk: Når søkingen når 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 markøren på en (, [ eller { på linjen nedenfor merket --->. - - 2. Trykk % . - - 3. Markøren vil gå til den samsvarende parentesen eller hakeparentesen. - - 4. Trykk % for å flytte markøren til den andre samsvarende parentesen. - - 5. Flytt markøren til en annen (, ), [, ], { eller } og se hva % gjør. - ----> Dette ( er en testlinje med (, [ ] og { } i den )). - -Merk: Dette er veldig nyttig til feilsøking i programmer som har ubalansert - antall parenteser! - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 4.4: ERSTATT-KOMMANDOEN - - - ** Skriv :s/gammel/ny/g for å erstatte «gammel» med «ny». ** - - 1. Flytt markøren til linjen nedenfor som er merket med --->. - - 2. Skriv :s/deen/den/ <ENTER> . Legg merke til at denne kommandoen bare - forandrer den første forekomsten av «deen» på linjen. - - 3. Skriv :s/deen/den/g . Når 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 - linjeområdet erstatningen skal gjøres. - 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 spørre om teksten skal erstattes eller - ikke. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 4 - - - 1. Ctrl-G viser nåværende posisjon i filen og filstatusen. - G går til slutten av filen. - nummer G går til det linjenummeret. - gg går til den første linjen. - - 2. Skriv / etterfulgt av en søketekst for å lete FRAMOVER etter teksten. - Skriv ? etterfulgt av en søketekst for å lete BAKOVER etter teksten. - Etter et søk 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 % når markøren står på en (, ), [, ], { eller } for å finne den - som samsvarer. - - 4. Erstatte «gammel» med første «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 UTFØRE EN EKSTERN KOMMANDO - - - ** Skriv :! etterfulgt av en ekstern kommando for å utføre denne. ** - - 1. Skriv den velkjente kommandoen : for å plassere markøren på bunnen av - skjermen. Dette lar deg skrive en kommandolinjekommando. - - 2. Nå kan du skrive tegnet ! . Dette lar deg utføre 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 kjørt - kommandoen direkte fra kommandolinjen i skallet. Eller bruk :!dir hvis - «ls» ikke virker. - -MERK: Det er mulig å kjøre alle eksterne kommandoer på denne måten, 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 innføringen) 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 vært en eksakt kopi av innføringen 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 markøren til denne linjen. - - 2. Trykk v og flytt markøren 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 før 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 markøren rundt for - å gjøre det valgte området større eller mindre. Deretter kan du bruke en - operator for å gjøre noe med teksten. For eksempel sletter d teksten. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 5.4: HENTING OG SAMMENSLÅING AV FILER - - - ** For å lese inn en annen fil inn i nåværende buffer, skriv :r FILNAVN ** - - 1. Plasser markøren like over denne linjen. - -MERK: Etter å ha utført 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 markørlinjen. - - 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 markøren. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 5 - - - 1. :!kommando utfører 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 nåværende 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 markøren. - - 5. :r !dir leser utdataene fra «dir»-kommandoen og legger dem nedenfor - markørposisjonen. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.1: «ÅPNE LINJE»-KOMMANDOEN - - - ** Skriv o for å «åpne opp» for en ny linje etter markøren og gå til - innsettingsmodus ** - - 1. Flytt markøren til linjen nedenfor merket --->. - - 2. Skriv o (liten o) for å åpne opp en linje NEDENFOR markøren og gå inn i - innsettingsmodus. - - 3. Skriv litt tekst og trykk <ESC> for å gå ut av innsettingsmodusen. - ----> Etter at o er skrevet blir markøren plassert på den tomme linjen. - - 4. For å åpne en ny linje OVER markøren, trykk rett og slett en stor O - istedenfor en liten o . Prøv dette på linjen nedenfor. - ----> Lag ny linje over denne ved å trykke O mens markøren er på denne linjen. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.2: «LEGG TIL»-KOMMANDOEN - - - ** Skriv a for å legge til tekst ETTER markøren. ** - - 1. Flytt markøren til starten av linjen merket ---> nedenfor. - - 2. Trykk e til markøren er på slutten av «li». - - 3. Trykk a (liten a) for å legge til tekst ETTER markøren. - - 4. Fullfør ordet sånn 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 går alle til den samme innsettingsmodusen, den eneste - forskjellen er hvor tegnene blir satt inn. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.3: EN ANNEN MÅTE Å ERSTATTE PÅ - - - ** Skriv en stor R for å erstatte mer enn ett tegn. ** - - 1. Flytt markøren til den første linjen nedenfor merket --->. Flytt markøren - til begynnelsen av den første «xxx»-en. - - 2. Trykk R og skriv inn tallet som står 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 gjenværende xxx. - ----> Ved å legge 123 til xxx får vi xxx. ----> Ved å legge 123 til 456 får 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 markøren etter «a)». - - 2. Gå inn i visuell modus med v og flytt markøren til like før «første». - - 3. Trykk y for å kopiere (engelsk: «yank») den uthevede teksten. - - 4. Flytt markøren 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 første valget. - b) - -Merk: Du kan også bruke y som en operator; yw kopierer ett ord. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Leksjon 6.5: SETT VALG - - - ** Sett et valg så søk 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. Søk etter «ignore» igjen ved å trykke n . - Legg merke til at både «Ignore» og «IGNORE» blir funnet. - - 4. Sett «hlsearch»- og «incsearch»-valgene: :set hls is - - 5. Skriv søkekommandoen 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 søkekommando, bruk - \c i uttrykket: /ignore\c <ENTER> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - OPPSUMMERING AV LEKSJON 6 - - 1. Trykk o for å legge til en linje NEDENFOR markøren og gå inn i - innsettingsmodus. - Trykk O for å åpne en linje OVER markøren. - - 2. Skriv a for å sette inn tekst ETTER markøren. - Skriv A for å sette inn tekst etter slutten av linjen. - - 3. Kommandoen e går til slutten av et ord. - - 4. Operatoren y («yank») kopierer tekst, p («paste») limer den inn. - - 5. Ved å trykke R går 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 søk - «is» «incsearch» vis delvise treff for en søketekst - «hls» «hlsearch» uthev alle søketreff - - 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, prøv en av - disse måtene: - - 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. Prøv 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 slått 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: FULLFØRING - - - ** Kommandolinjefullføring med CTRL-D og <TAB> ** - - 1. Vær 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 fullføre kommandonavnet til «:edit». - - 6. Legg til et mellomrom og starten på et eksisterende filnavn: :edit FIL - - 7. Trykk <TAB>. Vim vil fullføre navnet (hvis det er unikt). - -MERK: Fullføring fungerer for mange kommandoer. Prøv 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. Når du skriver en «:»-kommando, trykk CTRL-D for å se mulige - fullføringer. Trykk <TAB> for å bruke en fullføring. - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Her slutter innføringen 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 nær 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 første 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 innføringen er skrevet av Michael C. Pierce og Robert K. Ware, - Colorado School of Mines med idéer 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 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.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 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.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 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.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 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: 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 väldigt kraftfull redigerare som har många kommandon, alltför - många att förklara i en handledning som denna. Den här handledningen är - gjord för att förklara tillräckligt många kommandon så att du enkelt ska - kunna använda Vim som en redigerare för alla ändamål. - - Den beräknade tiden för att slutföra denna handledning är 25-30 minuter, - beroende på hur mycket tid som läggs ned på experimentering. - - Kommandona i lektionerna kommer att modifiera texten. Gör en kopia av den - här filen att öva på (om du startade "vimtutor är det här redan en kopia). - - Det är viktigt att komma ihåg att den här handledningen är konstruerad - att lära vid användning. Det betyder att du måste köra kommandona för att - lära dig dem ordentligt. Om du bara läser texten så kommer du att glömma - kommandona! - - Försäkra dig nu om att din Caps-Lock tangent INTE är aktiv och tryck på - j-tangenten tillräckligt många gånger för att förflytta markören så att - Lektion 1.1 fyller skärmen helt. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.1: FLYTTA MARKÖREN - - - ** För att flytta markören, tryck på tangenterna h,j,k,l som indikerat. ** - ^ - k Tips: - < h l > h-tangenten är till vänster och flyttar till vänster. - j l-tangenten är till höger och flyttar till höger. - v j-tangenten ser ut som en pil ned. - 1. Flytta runt markören på skärmen tills du känner dig bekväm. - - 2. Håll ned tangenten pil ned (j) tills att den repeterar. ----> Nu vet du hur du tar dig till nästa lektion. - - 3. Flytta till Lektion 1.2, med hjälp av ned tangenten. - -Notera: Om du är osäker på någonting du skrev, tryck <ESC> för att placera dig - dig i Normal-läge. Skriv sedan om kommandot. - -Notera: Piltangenterna borde också fungera. Men om du använder hjkl så kommer - du att kunna flytta omkring mycket snabbare, när du väl vant dig vid - det. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.2: STARTA OCH AVSLUTA VIM - - - !! NOTERA: Innan du utför någon av punkterna nedan, läs hela lektionen!! - - 1. Tryck <ESC>-tangenten (för att se till att du är i Normal-läge). - - 2. Skriv: :q! <ENTER>. - ----> Detta avslutar redigeraren UTAN att spara några ändringar du gjort. - Om du vill spara ändringarna och avsluta skriv: - :wq <ENTER> - - 3. När du ser skal-prompten, skriv kommandot som tog dig in i den här - handledningen. Det kan vara: vimtutor <ENTER> - Normalt vill du använda: vim tutor <ENTER> - ----> 'vim' betyder öppna redigeraren vim, 'tutor' är filen du vill redigera. - - 4. Om du har memorerat dessa steg och känner dig självsäker, kör då stegen - 1 till 3 för att avsluta och starta om redigeraren. Flytta sedan ned - markören till Lektion 1.3. -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.3: TEXT REDIGERING - BORTTAGNING - - -** När du är i Normal-läge tryck x för att ta bort tecknet under markören. ** - - 1. Flytta markören till raden nedan med markeringen --->. - - 2. För att rätta felen, flytta markören tills den står på tecknet som ska - tas bort. fix the errors, move the cursor until it is on top of the - - 3. Tryck på x-tangenten för att ta bort det felaktiga tecknet. - - 4. Upprepa steg 2 till 4 tills meningen är korrekt. - ----> Kkon hoppadee övverr måånen. - - 5. Nu när raden är korrekt, gå till Lektion 1.4. - -NOTERA: När du går igenom den här handledningen, försök inte att memorera, lär - genom användning. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 1.4: TEXT REDIGERING - INFOGNING - - - ** När du är i Normal-läge tryck i för att infoga text. ** - - 1. Flytta markören till den första raden nedan med markeringen --->. - - 2. För att göra den första raden likadan som den andra, flytta markören till - det första tecknet EFTER där text ska infogas. - - 3. Tryck i och skriv in det som saknas. - - 4. När du rättat ett fel tryck <ESC> för att återgå till Normal-läge. - Upprepa steg 2 till 4 för att rätta meningen. - ----> Det sakns här . ----> Det saknas lite text från den här raden. - - 5. När du känner dig bekväm med att infoga text, gå till sammanfattningen - nedan. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 1 SAMMANFATTNING - - - 1. Markören flyttas genom att använda piltangenterna eller hjkl-tangenterna. - h (vänster) j (ned) k (upp) l (höger) - - 2. För att starta Vim (från %-prompten) skriv: vim FILNAMN <ENTER> - - 3. För att avsluta Vim skriv: <ESC> :q! <ENTER> för att kasta ändringar. - ELLER skriv: <ESC> :wq <ENTER> för att spara ändringar. - - 4. För att ta bort tecknet under markören i Normal-läge skriv: x - - 5. För att infoga text vid markören i Normal-läge skriv: - i skriv in text <ESC> - -NOTERA: Genom att trycka <ESC> kommer du att placeras i Normal-läge eller - avbryta ett delvis färdigskrivet kommando. - -Fortsätt nu med Lektion 2. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.1: BORTTAGNINGSKOMMANDON - - - ** Skriv dw för att radera till slutet av ett ord. ** - - 1. Tryck <ESC> för att försäkra dig om att du är i Normal-läge. - - 2. Flytta markören till raden nedan markerad --->. - - 3. Flytta markören till början av ett ord som måste raderas. - - 4. Skriv dw för att radera ordet. - - NOTERA: Bokstäverna dw kommer att synas på den sista raden på skärmen när - du skriver dem. Om du skrev något fel, tryck <ESC> och börja om. - ----> Det är ett några ord roliga att som inte hör hemma i den här meningen. - - 5. Upprepa stegen 3 och 4 tills meningen är korrekt och gå till Lektion 2.2. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.2: FLER BORTTAGNINGSKOMMANDON - - - ** Skriv d$ för att radera till slutet på raden. ** - - 1. Tryck <ESC> för att försäkra dig om att du är i Normal-läge. - - 2. Flytta markören till raden nedan markerad --->. - - 3. Flytta markören till slutet på den rätta raden (EFTER den första . ). - - 4. Skriv d$ för att radera till slutet på raden. - ----> Någon skrev slutet på den här raden två gånger. den här raden två gånger. - - - 5. Gå vidare till Lektion 2.3 för att förstå vad det är som händer. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 2.3: KOMMANDON OCH OBJEKT - - - Syntaxen för d raderingskommandot är följande: - - [nummer] d objekt ELLER d [nummer] objekt - Var: - nummer - är antalet upprepningar av kommandot (valfritt, standard=1). - d - är kommandot för att radera. - objekt - är vad kommandot kommer att operera på (listade nedan). - - En kort lista över objekt: - w - från markören till slutet av ordet, inklusive blanksteget. - e - från markören till slutet av ordet, EJ inklusive blanksteget. - $ - från markören till slutet på raden. - -NOTERA: För den äventyrslystne, genom att bara trycka på objektet i - Normal-läge (utan kommando) så kommer markören att flyttas som - angivet i objektlistan. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 2.4: ETT UNDANTAG TILL 'KOMMANDO-OBJEKT' - - - ** Skriv dd för 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å gånger i rad för - att ta bort en rad. - - 1. Flytta markören till den andra raden i frasen nedan. - 2. Skriv dd för att radera raden. - 3. Flytta nu till den fjärde raden. - 4. Skriv 2dd (kom ihåg: nummer-kommando-objekt) för 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 för att ångra det senaste kommandona, U för att fixa en hel rad. ** - - 1. Flytta markören till slutet av raden nedan markerad ---> och placera den - på det första felet. - 2. Skriv x för att radera den första felaktiga tecknet. - 3. Skriv nu u för att ångra det senaste körda kommandot. - 4. Rätta den här gången alla felen på raden med x-kommandot. - 5. Skriv nu U för att återställa raden till dess ursprungliga utseende. - 6. Skriv nu u några gånger för att ångra U och tidigare kommandon. - 7. Tryck nu CTRL-R (håll inne CTRL samtidigt som du trycker R) några gånger - för att upprepa kommandona (ångra ångringarna). - ----> Fiixa felen ppå deen häär meningen och återskapa dem med ångra. - - 8. Det här är väldigt användbara kommandon. Gå nu vidare till - Lektion 2 Sammanfattning. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 2 SAMMANFATTNING - - - 1. För att radera från markören till slutet av ett ord skriv: dw - - 2. För att radera från markören till slutet av en rad skriv: d$ - - 3. För att radera en hel rad skriv: dd - - 4. Syntaxen för ett kommando i Normal-läge är: - - [nummer] kommando objekt ELLER kommando [nummer] objekt - där: - nummer - är hur många gånger kommandot kommandot ska repeteras - kommando - är vad som ska göras, t.ex. d för att radera - objekt - är vad kommandot ska operera på, som t.ex. w (ord), - $ (till slutet av raden), etc. - - 5. För att ångra tidigare kommandon, skriv: u (litet u) - För att ångra alla tidigare ändringar på en rad skriv: U (stort U) - För att ångra ångringar tryck: CTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.1: KLISTRA IN-KOMMANDOT - - - ** Skriv p för att klistra in den senaste raderingen efter markören. ** - - 1. Flytta markören till den första raden i listan nedan. - - 2. Skriv dd för att radera raden och lagra den i Vims buffert. - - 3. Flytta markören till raden OVANFÖR där den raderade raden borde vara. - - 4. När du är i Normal-läge, skriv p för att byta ut raden. - - 5. Repetera stegen 2 till 4 för att klistra in alla rader i rätt ordning. - - d) Kan du lära dig också? - b) Violetter är blå, - c) Intelligens fås genom lärdom, - a) Rosor är röda, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lesson 3.2: ERSÄTT-KOMMANDOT - - - ** Skriv r och ett tecken för att ersätta tecknet under markören. ** - - 1. Flytta markören till den första raden nedan markerad --->. - - 2. Flytta markören så att den står på det första felet. - - 3. Skriv r och sedan det tecken som borde ersätta felet. - - 4. Repetera steg 2 och 3 tills den första raden är korrekt. - ----> När drn här ruden skrevs, trickte någon på fil knappar! ----> När den här raden skrevs, tryckte någon på fel knappar! - - 5. Gå nu vidare till Lektion 3.2. - -NOTERA: Kom ihåg att du skall lära dig genom användning, inte genom memorering. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.3: ÄNDRA-KOMMANDOT - - - ** För att ändra en del eller ett helt ord, skriv cw . ** - - 1. Flytta markören till den första redan nedan markerad --->. - - 2. Placera markören på d i rdrtn. - - 3. Skriv cw och det rätta ordet (i det här fallet, skriv "aden".) - - 4. Tryck <ESC> och flytta markören till nästa fel (det första tecknet som - ska ändras.) - - 5. Repetera steg 3 och 4 tills den första raden är likadan som den andra. - ----> Den här rdrtn har några otf som brhotrt ändras mrf ändra-komjendit. ----> Den här raden har några ord som behöver ändras med ändra-kommandot. - -Notera att cw inte bara ändrar ordet, utan även placerar dig i infogningsläge. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 3.4: FLER ÄNDRINGAR MED c - - - ** Ändra-kommandot används på samma objekt som radera. ** - - 1. Ändra-kommandot fungerar på samma sätt 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 första raden nedan markerad -->. - - 4. Flytta markören till det första felet. - - 5. Skriv c$ för att göra resten av raden likadan som den andra och tryck - <ESC>. - ----> Slutet på den här raden behöver hjälp med att få den att likna den andra. ----> Slutet på den här raden behöver rättas till med c$-kommandot. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 3 SAMMANFATTNING - - - 1. För att ersätta text som redan har blivit raderad, skriv p . - Detta klistrar in den raderade texten EFTER markören (om en rad raderades - kommer den att hamna på raden under markören. - - 2. För att ersätta tecknet under markören, skriv r och sedan tecknet som - kommer att ersätta orginalet. - - 3. Ändra-kommandot låter dig ändra det angivna objektet från markören till - slutet på objektet. eg. Skriv cw för att ändra från markören till slutet - på ordet, c$ för att ändra till slutet på en rad. - - 4. Syntaxen för ändra-kommandot är: - - [nummer] c objekt ELLER c [nummer] objekt - -Gå nu till nästa lektion. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.1: POSITION OCH FILSTATUS - - - ** Tryck CTRL-g för att visa din position i filen och filstatusen. - Tryck SHIFT-G för att flytta till en rad i filen. ** - - Notera: Läsa hela den lektion innan du utför något av stegen!! - - 1. Håll ned Ctrl-tangenten och tryck g . En statusrad med filnamn och raden - du befinner dig på kommer att synas. Kom ihåg radnummret till Steg 3. - - 2. Tryck shift-G för att flytta markören 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å när du först tryckte Ctrl-g. - (När du skriver in nummren, kommer de INTE att visas på skärmen.) - - 4. Om du känner dig säker på det här, utför steg 1 till 3. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.2: SÖK-KOMMANDOT - - - ** Skriv / följt av en fras för att söka efter frasen. ** - - 1. I Normal-läge skriv /-tecknet. Notera att det och markören blir synlig - längst ned på skärmen precis som med :-kommandot. - - 2. Skriv nu "feeel" <ENTER>. Det här är ordet du vill söka efter. - - 3. För att söka efter samma fras igen, tryck helt enkelt n . - För att söka efter samma fras igen i motsatt riktning, tryck Shift-N . - - 4. Om du vill söka efter en fras bakåt i filen, använd kommandot ? istället - för /. - ----> "feeel" är inte rätt sätt att stava fel: feeel är ett fel. - -Notera: När sökningen når slutet på filen kommer den att fortsätta vid början. - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.3: SÖKNING EFTER MATCHANDE PARENTESER - - - ** Skriv % för att hitta en matchande ),], or } . ** - - 1. Placera markören på någon av (, [, or { på raden nedan markerad --->. - - 2. Skriv nu %-tecknet. - - 3. Markören borde vara på den matchande parentesen eller hakparentesen. - - 4. Skriv % för att flytta markören tillbaka till den första hakparentesen - (med matchning). - ----> Det ( här är en testrad med (, [ ] och { } i den. )) - -Notera: Det här är väldigt användbart vid avlusning av ett program med icke - matchande parenteser! - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 4.4: ETT SÄTT ATT ÄNDRA FEL - - - ** Skriv :s/gammalt/nytt/g för att ersätta "gammalt" med "nytt". ** - - 1. Flytta markören till raden nedan markerad --->. - - 2. Skriv :s/denn/den <ENTER> . Notera att det här kommandot bara ändrar den - första förekomsten på raden. - - 3. Skriv nu :s/denn/den/g vilket betyder ersätt globalt på raden. - Det ändrar alla förekomster på raden. - ----> denn bästa tiden att se blommor blomma är denn på våren. - - 4. För att ändra alla förekomster av en teckensträng mellan två rader, - skriv :#,#s/gammalt/nytt/g där #,# är de två radernas radnummer. - Skriv :%s/gammtl/nytt/g för att ändra varje förekomst 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 följt Shift-G - flyttar till det radnummret. - - 2. Skriver man / följt av en fras söks det FRAMMÅT efter frasen. - Skriver man ? följt av en fras söks det BAKÅT efter frasen. - Efter en sökning skriv n för att hitta nästa förekomst i samma riktning - eller Shift-N för att söka i den motsatta riktningen. - - 3. Skriver man % när markören är på ett (,),[,],{, eller } hittas dess - matchande par. - - 4. För att ersätta den första gammalt med nytt på en rad skriv :s/gammlt/nytt - För att ersätta alla gammlt med nytt på en rad skriv :s/gammlt/nytt/g - För att ersätta fraser mellan rad # och rad # skriv :#,#s/gammlt/nytt/g - För att ersätta alla förekomster i filen skriv :%s/gammlt/nytt/g - För att bekräfta varje gång lägg till "c" :%s/gammlt/nytt/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.1: HUR MAN KÖR ETT EXTERNT KOMMANDO - - - ** Skriv :! följt av ett externt kommando för att köra det kommandot. ** - - 1. Skriv det välbekanta kommandot : för att placera markören längst ned - på skärmen på skärmen. Detta låter dig skriva in ett kommando. - - 2. Skriv nu ! (utropstecken). Detta låter dig köra 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 kört det vid - skalprompten. Använd :!dir om ls inte fungerar. - -Notera: Det är möjligt att köra vilket externt kommando som helst på det här - sättet. - -Notera: Alla :-kommandon måste avslutas med att trycka på <ENTER> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.2: MER OM ATT SPARA FILER - - - ** För att spara ändringar gjorda i en fil, skriv :w FILNAMN. ** - - 1. Skriv :!dir eller :!ls för att få en listning av din katalog. - Du vet redan att du måste trycka <ENTER> efter det här. - - 2. Välj ett filnamn som inte redan existerar, som t.ex. TEST. - - 3. Skriv nu: :w TEST (där TEST är filnamnet du valt.) - - 4. Det här sparar hela filen (Vim handledningen) under namnet TEST. - För att verifiera detta, skriv :!dir igen för 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 när 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 - - - ** För att spara en del av en fil, skriv :#,# w FILNAMN ** - - 1. Ännu en gång, skriv :!dir eller :!ls för att få en listning av din - katalog och välj ett passande filnamn som t.ex. TEST. - - 2. Flytta markören högst upp på den här sidan och tryck Ctrl-g för att få - reda på radnumret på den raden. KOM IHÅG DET NUMMRET! - - 3. Flytta nu längst ned på sidan och skriv Ctrl-g igen. - KOM IHÅG DET RADNUMMRET OCKSÅ! - - 4. För att BARA spara en sektion till en fil, skriv :#,# w TEST - där #,# är de två nummren du kom ihåg (toppen, botten) och TEST är - ditt filnamn. - - 5. Ännu en gång, kolla så att filen är där med :!dir men radera den INTE. - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 5.4: TA EMOT OCH FÖRENA FILER - - - ** För att infoga innehållet av en fil, skriv :r FILNAMN ** - - 1. Skriv :!dir för att försäkra dig om att TEST-filen från tidigare - fortfarande är kvar. - - 2. Placera markören högst upp på den här sidan. - -NOTERA: Efter att du kört Steg 3 kommer du att se Lektion 5.3. - Flytta då NED till den här lektionen igen. - - 3. Ta nu emot din TEST-fil med kommandot :r TEST där TEST är namnet på - filen. - -NOTERA: Filen du tar emot placeras där markören är placerad. - - 4. För 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 kör ett externt kommando. - - Några användbara 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 markören. - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.1: ÖPPNA-KOMMANDOT - - - ** Skriv o för att öppna en rad under markören och placera dig i - Infoga-läge. ** - - 1. Flytta markören till raden nedan markerad --->. - - 2. Skriv o (litet o) för att öppna upp en rad NEDANFÖR markören och placera - dig i Infoga-mode. - - 3. Kopiera nu raden markerad ---> och tryck <ESC> för att avsluta - Infoga-läget. - ----> Efter du skrivit o placerad markören på en öppen rad i Infoga-läge. - - 4. För att öppna upp en rad OVANFÖR markören, skriv ett stort O , istället - för ett litet o. Pröva detta på raden nedan. -Öppna upp en rad ovanför denna genom att trycka Shift-O när markören står här. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.2: LÄGG TILL-KOMMANDOT - - - ** Skriv a för att infoga text EFTER markören. ** - - 1. Flytta markören till slutet av den första raden nedan markerad ---> genom - att skriv $ i Normal-läge. - - 2. Skriv ett a (litet a) för att lägga till text EFTER tecknet under - markören. (Stort A lägger till i slutet av raden.) - -Notera: Detta undviker att behöva skriva i , det sista tecknet, texten att - infoga, <ESC>, högerpil, och slutligen, x, bara för att lägga till i - slutet på en rad! - - 3. Gör nu färdigt den första raden. Notera också att lägga till är likadant - som Infoga-läge, enda skillnaden är positionen där texten blir infogad. - ----> Här kan du träna ----> Här kan du träna på att lägga till text i slutet på en rad. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.3: EN ANNAN VERSION AV ERSÄTT - - - ** Skriv ett stort R för att ersätta fler än ett tecken. ** - - 1. Flytta markören till den första raden nedan markerad --->. - - 2. Placera markören vid början av det första ordet som är annorlunda jämfört - med den andra raden markerad ---> (ordet "sista"). - - 3. Skriv nu R och ersätt resten av texten på den första raden genom att - skriva över den gamla texten så att den första raden blir likadan som - den andra. - ----> För att få den första raden lika som den sista, använd tangenterna. ----> För att få den första raden lika som den andra, skriv R och den nya texten. - - 4. Notera att när du trycker <ESC> för att avsluta, så blir eventuell - oförändrad text kvar. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Lektion 6.4: SÄTT FLAGGOR - - ** Sätt en flagga så att en sökning eller ersättning ignorerar storlek ** - - 1. Sök efter "ignore" genom att skriva: - /ignore - Repetera flera gånger genom att trycka på n-tangenten - - 2. Sätt 'ic' (Ignore Case) flaggan genom att skriva: - :set ic - - 3. Sök nu efter "ignore" igen genom att trycka: n - Repeat search several more times by hitting the n key - - 4. Sätt 'hlsearch' and 'incsearch' flaggorna: - :set hls is - - 5. Skriv nu in sök-kommandot igen, och se vad som händer: - /ignore - - 6. För att ta bort framhävningen av träffar, skriv - :nohlsearch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 6 SAMMANFATTNING - - - 1. Genom att skriva o öpnnas en rad NEDANFÖR markören och markören placeras - på den öppna raden i Infoga-läge. - Genom att skriva ett stort O öppnas raden OVANFÖR raden som markören är - på. - - 2. Skriv ett a för att infoga text EFTER tecknet som markören står på. - Genom att skriva ett stort A läggs text automatiskt till i slutet på - raden. - - 3. Genom att skriva ett stort R hamnar du i Ersätt-läge till <ESC> trycks - för att avsluta. - - 4. Genom att skriva ":set xxx" sätts flaggan "xxx" - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - LEKTION 7: ON-LINE HJÄLP-KOMMANDON - - - ** Använd on-line hjälpsystemet ** - - Vim har ett omfattande on-line hjälpsystem. För att komma igång pröva ett av - dessa tre: - - tryck <HELP> tangenten (om du har någon) - - tryck <F1> tangenten (om du har någon) - - skriv :help <ENTER> - - Skriv :q <ENTER> för att stränga hjälpfönstret. - - Du kan hitta hjälp om nästan allting, genom att ge ett argument till - ":help" kommandot. Pröva dessa (glöm 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 många fler funktioner än Vi, men de flesta av dem är inaktiverade som - standard. För att börja använda fler funktioner måste du skapa en "vimrc"-fil. - - 1. Börja redigera "vimrc"-filen, detta beror på ditt system: - :edit ~/.vimrc för Unix - :edit $VIM/_vimrc för MS-Windows - - 2. Läs nu texten i exempel "vimrc"-filen: - - :read $VIMRUNTIME/vimrc_example.vim - - 3. Spara filen med: - - :write - - Nästa gång du startar Vim kommer den att använda syntaxframhävning. - Du kan lägga till alla inställningar du föredrar till den här "vimrc"-filen. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Detta avslutar handledningen i Vim. Den var avsedd att ge en kort översikt av - redigeraren Vim, bara tillräckligt för att du ska kunna använda redigeraren - relativt enkelt. Den är långt ifrån komplett eftersom Vim har många många fler - kommandon. Läs användarmanualen härnäst: ":help user-manual". - - För vidare läsning rekommenderas den här boken: - Vim - Vi Improved - av Steve Oualline - Förlag: New Riders - Den första boken som är endast behandlar Vim. Speciellt användbar för - nybörjare. Det finns många exempel och bilder. - Se http://iccf-holland.org/click5.html - - Den här boken är äldre och behandlar mer Vi än Vim, men rekommenderas också: - Learning the Vi Editor - av Linda Lamb - Förlag: O'Reilly & Associates Inc. - Det är en bra bok för att lära sig nästan allt som du vill kunna göra med Vi. - Den sjätte upplagan inkluderar också information om Vim. - - Den här handledningen är skriven av Michael C. Pierce och Robert K. Ware, - Colorado School of Mines med idéer från Charles Smith, - Colorado State University. E-post: bware@mines.colorado.edu. - - Modifierad för 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 - 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.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 ¢w¢w ª©¥» 1.5 = -=============================================================================== - vim ¬O¤@Ө㦳«Ü¦h©R¥Oªº¥\¯à«D±`±j¤jªº½s¿è¾¹¡C¤_½g´T¡A¦b¥»±Ðµ{·í¤¤ - ¤£´N¸Ô²Ó¤¶²Ð¤F¡C¥»±Ðµ{ªº³]p¥Ø¼Ð¬OÁ¿z¤@¨Ç¥²nªº°ò¥»©R¥O¡A¦Ó´x´¤¦n³o - ¨Ç©R¥O¡A±z´N¯à°÷«Ü®e©ö±Nvim·í§@¤@Ó³q¥Îªº¸U¯à½s¿è¾¹¨Ó¨Ï¥Î¤F¡C - - §¹¦¨¥»±Ðµ{ªº¤º®e¤j¬ù»Ýn25-30¤ÀÄÁ¡A¨ú¨M¤_±z°V½mªº®É¶¡¡C - - ¨C¤@¸`ªº©R¥O¾Þ§@±N·|§ó§ï¥»¤å¡C±ÀÂ˱z´_¨î¥»¤åªº¤@Ó°Æ¥»¡AµM«á¦b°Æ¥»¤W - ¶i¦æ°V½m(¦pªG±z¬O³q¹L"vimtutor"¨Ó±Ò°Ê±Ðµ{ªº¡A¨º»ò¥»¤å´N¤w¸g¬O°Æ¥»¤F)¡C - - ¤Á°O¤@ÂI¡J¥»±Ðµ{ªº³]p«ä¸ô¬O¦b¨Ï¥Î¤¤¶i¦æ¾Ç²ßªº¡C¤]´N¬O»¡¡A±z»Ýn³q¹L - °õ¦æ©R¥O¨Ó¾Ç²ß¥¦Ì¥»¨ªº¥¿½T¥Îªk¡C¦pªG±z¥u¬O¾\Ū¦Ó¤£¾Þ§@¡A¨º»ò±z¥i¯à - ·|«Ü§Ö¿ò§Ñ³o¨Ç©R¥Oªº¡I - - ¦n¤F¡A²{¦b½Ð½T©w±zªºShift-Lock(¤j¤p¼gÂê©wÁä)ÁÙ¨S¦³«ö¤U¡AµM«á«öÁä½L¤W - ªº¦r¥ÀÁä j ¨¬°÷¦hªº¦¸¼Æ¨Ó²¾°Ê¥ú¼Ð¡Aª½¨ì²Ä¤@¸`ªº¤º®e¯à°÷§¹¥þ¥Rº¡«Ì¹õ¡C - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤@Á¿²Ä¤@¸`¡J²¾°Ê¥ú¼Ð - - - ¡°¡° n²¾°Ê¥ú¼Ð¡A½Ð¨Ì·Ó»¡©ú¤À§O«ö¤U h¡Bj¡Bk¡Bl Áä¡C ¡°¡° - - ^ - k ´£¥Ü¡J h ªºÁä¦ì¤_¥ªÃä¡A¨C¦¸«ö¤U´N·|¦V¥ª²¾°Ê¡C - < h l > l ªºÁä¦ì¤_¥kÃä¡A¨C¦¸«ö¤U´N·|¦V¥k²¾°Ê¡C - j j Áä¬Ý°_¨Ó«Ü¶H¤@¤ä¦yºÝ¤è¦V´Â¤Uªº½bÀY¡C - v - - 1. ½ÐÀH·N¦b«Ì¹õ¤º²¾°Ê¥ú¼Ð¡Aª½¦Ü±zı±oµÎªA¬°¤î¡C - - 2. «ö¤U¤U¦æÁä(j)¡Aª½¨ì¥X²{¥ú¼Ð«´_¤U¦æ¡C - ----> ²{¦b±zÀ³¸Ó¤w¸g¾Ç·|¦p¦ó²¾°Ê¨ì¤U¤@Á¿§a¡C - - 3. ²{¦b½Ð¨Ï¥Î¤U¦æÁä¡A±N¥ú¼Ð²¾°Ê¨ì²Ä¤GÁ¿¡C - -´£¥Ü¡J¦pªG±z¤£´±½T©w±z©Ò«ö¤Uªº¦r¥À¡A½Ð«ö¤U<ESC>Áä¦^¨ì¥¿±`(Normal)¼Ò¦¡¡C - µM«á¦A¦¸±qÁä½L¿é¤J±z·Qnªº©R¥O¡C - -´£¥Ü¡J¥ú¼ÐÁäÀ³·í¤]¯à¥¿±`¤u§@ªº¡C¦ý¬O¨Ï¥ÎhjklÁä¡A¦b²ßºD¤§«á±z´N¯à°÷§Ö³t - ¦a¦b«Ì¹õ¤º¥|³B²¾°Ê¥ú¼Ð¤F¡C - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤@Á¿²Ä¤G¸`¡JVIMªº¶i¤J©M°h¥X - - - !! ¯S§O´£¥Ü¡J·q½Ð¾\Ū§¹¾ã¥»¤@¸`ªº¤º®e¡AµM«á¤~¯à°õ¦æ¥H¤U©ÒÁ¿¸Ñªº©R¥O¡C - - 1. ½Ð«ö<ESC>Áä(³o¬O¬°¤F½T«O±z³B¦b¥¿±`¼Ò¦¡)¡C - - 2. µM«á¿é¤J¡J :q! <¦^¨®> - ----> ³oºØ¤è¦¡ªº°h¥X½s¿è¾¹µ´¤£·|«O¦s±z¶i¤J½s¿è¾¹¥H¨Ó©Ò°µªº§ï°Ê¡C - ¦pªG±z·Q«O¦s§ó§ï¦A°h¥X¡A½Ð¿é¤J¡J - :wq <¦^¨®> - - 3. ¦pªG±z¬Ý¨ì¤F©R¥O¦æ´£¥Ü²Å¡A½Ð¿é¤J¯à°÷±a±z¦^¨ì¥»±Ðµ{ªº©R¥O¡A¨º´N¬O¡J - - vimtutor <¦^¨®> - - ³q±`±¡ªp¤U±z¤]¥i¥H¥Î³oºØ¤è¦¡¡J - - vim tutor <¦^¨®> - ----> ³o¸Ìªº 'vim' ªí¥Ü¶i¤Jvim½s¿è¾¹¡A¦Ó 'tutor'«h¬O±z·Ç³Æn½s¿èªº¤å¥ó¡C - - 4. ¦pªG±z¦Û«H¤w¸g¨c¨c°O¦í¤F³o¨Ç¨BÆJªº¸Ü¡A½Ð±q¨BÆJ1°õ¦æ¨ì¨BÆJ3°h¥X¡AµM - «á¦A¦¸¶i¤J½s¿è¾¹¡C±µµÛ±N¥ú¼Ð²¾°Ê¨ì²Ä¤@Á¿²Ä¤T¸`¨ÓÄ~Äò§Ú̪º±Ðµ{Á¿¸Ñ¡C - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤@Á¿²Ä¤T¸`¡J¤å¥»½s¿è¤§§R°£ - - - ** ¦b¥¿±`(Normal)¼Ò¦¡¤U¡A¥i¥H«ö¤U x Áä¨Ó§R°£¥ú¼Ð©Ò¦b¦ì¸mªº¦r²Å¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº¨º¤@¦æ¡C - - 2. ¬°¤F×¥¿¿é¤J¿ù»~¡A½Ð±N¥ú¼Ð²¾¦Ü·Ç³Æ§R°£ªº¦r²Åªº¦ì¸m³B¡C - - 3. µM«á«ö¤U x Áä±N¿ù»~¦r²Å§R°£±¼¡C - - 4. «´_¨BÆJ2¨ì¨BÆJ4¡Aª½¨ì¥y¤l×¥¿¬°¤î¡C - ----> The ccow jumpedd ovverr thhe mooon. - - 5. ¦n¤F¡A¸Ó¦æ¤w¸g×¥¿¤F¡A¤U¤@¸`¤º®e¬O²Ä¤@Á¿²Ä¥|¸`¡C - -¯S§O´£¥Ü¡J¦b±zÂsÄý¥»±Ðµ{®É¡A¤£n±j¦æ°O¾Ð¡C°O¦í¤@ÂI¡J¦b¨Ï¥Î¤¤¾Ç²ß¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤@Á¿²Ä¥|¸`¡J¤å¥»½s¿è¤§´¡¤J - - - ** ¦b¥¿±`¼Ò¦¡¤U¡A¥i¥H«ö¤U i Áä¨Ó´¡¤J¤å¥»¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº²Ä¤@¦æ¡C - - 2. ¬°¤F¨Ï±o²Ä¤@¦æ¤º®e¹p¦P¤_²Ä¤G¦æ¡A½Ð±N¥ú¼Ð²¾¦Ü¤å¥»²Ä¤@Ó¦r²Å·Ç³Æ´¡¤J - ªº¦ì¸m¡C - - 3. µM«á«ö¤U i Áä¡A±µµÛ¿é¤J¥²nªº¤å¥»¦r²Å¡C - - 4. ©Ò¦³¤å¥»³£×¥¿§¹²¦¡A½Ð«ö¤U <ESC> Áäªð¦^¥¿±`¼Ò¦¡¡C - «´_¨BÆJ2¦Ü¨BÆJ4¥H«K×¥¿¥y¤l¡C - ----> There is text misng this . ----> There is some text missing from this line. - - 5. ¦pªG±z¹ï¤å¥»´¡¤J¾Þ§@¤w¸g«Üº¡·N¡A½Ð±µµÛ¾\Ū¤U±ªº¤pµ²¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤@Á¿¤pµ² - - - 1. ¥ú¼Ð¦b«Ì¹õ¤å¥»¤¤ªº²¾°Ê¬J¥i¥H¥Î½bÀYÁä¡A¤]¥i¥H¨Ï¥Î hjkl ¦r¥ÀÁä¡C - h (¥ª²¾) j (¤U¦æ) k (¤W¦æ) l (¥k²¾) - - 2. ±ý¶i¤Jvim½s¿è¾¹(±q©R¥O¦æ´£¥Ü²Å)¡A½Ð¿é¤J¡Jvim ¤å¥ó¦W <¦^¨®> - - 3. ±ý°h¥Xvim½s¿è¾¹¡A½Ð¿é¤J¥H¤U©R¥O©ñ±ó©Ò¦³×§ï¡J - - <ESC> :q! <¦^¨®> - - ©ÎªÌ¿é¤J¥H¤U©R¥O«O¦s©Ò¦³×§ï¡J - - <ESC> :wq <¦^¨®> - - 4. ¦b¥¿±`¼Ò¦¡¤U§R°£¥ú¼Ð©Ò¦b¦ì¸mªº¦r²Å¡A½Ð«ö¡J x - - 5. ¦b¥¿±`¼Ò¦¡¤Un¦b¥ú¼Ð©Ò¦b¦ì¸m¶}©l´¡¤J¤å¥»¡A½Ð«ö¡J - - i ¿é¤J¥²n¤å¥» <ESC> - -¯S§O´£¥Ü¡J«ö¤U <ESC> Áä·|±a±z¦^¨ì¥¿±`¼Ò¦¡©ÎªÌ¨ú®ø¤@Ó¤£´Á±æ©ÎªÌ³¡¤À§¹¦¨ -ªº©R¥O¡C - -¦n¤F¡A²Ä¤@Á¿¨ì¦¹µ²§ô¡C¤U±±µ¤U¨ÓÄ~Äò²Ä¤GÁ¿ªº¤º®e¡C - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤GÁ¿²Ä¤@¸`¡J§R°£Ãþ©R¥O - - - ** ¿é¤J dw ¥i¥H±q¥ú¼Ð³B§R°£¦Ü¤@Ó³æ¦r/³æµüªº¥½§À¡C** - - 1. ½Ð«ö¤U <ESC> Áä½T«O±z³B¤_¥¿±`¼Ò¦¡¡C - - 2. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº¨º¤@¦æ¡C - - 3. ½Ð±N¥ú¼Ð²¾¦Ü·Ç³Æn§R°£ªº³æµüªº¶}©l¡C - - 4. ±µµÛ¿é¤J dw §R°£±¼¸Ó³æµü¡C - - ¯S§O´£¥Ü¡J±z©Ò¿é¤Jªº dw ·|¦b±z¿é¤Jªº¦P®É¥X²{¦b«Ì¹õªº³Ì«á¤@¦æ¡C¦pªG±z¿é - ¤J¦³»~¡A½Ð«ö¤U <ESC> Áä¨ú®ø¡AµM«á«·s¦A¨Ó¡C - ----> There are a some words fun that don't belong paper in this sentence. - - 5. «´_¨BÆJ3¦Ü¨BÆJ4¡Aª½¦Ü¥y¤l×¥¿§¹²¦¡C±µµÛÄ~Äò²Ä¤GÁ¿²Ä¤G¸`¤º®e¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤GÁ¿²Ä¤G¸`¡J¨ä¥L§R°£Ãþ©R¥O - - - ** ¿é¤J d$ ±q·í«e¥ú¼Ð§R°£¨ì¦æ¥½¡C** - - 1. ½Ð«ö¤U <ESC> Áä½T«O±z³B¤_¥¿±`¼Ò¦¡¡C - - 2. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº¨º¤@¦æ¡C - - 3. ½Ð±N¥ú¼Ð²¾°Ê¨ì¸Ó¦æªº§À³¡(¤]´N¬O¦b²Ä¤@ÓÂI¸¹¡¥.¡¦«á±)¡C - - 4. µM«á¿é¤J d$ ±q¥ú¼Ð³B§R¦Ü·í«e¦æ§À³¡¡C - ----> Somebody typed the end of this line twice. end of this line twice. - - - 5. ½ÐÄ~Äò¾Ç²ß²Ä¤GÁ¿²Ä¤T¸`´Nª¾¹D¬O«ç»ò¦^¨Æ¤F¡C - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤GÁ¿²Ä¤T¸`¡JÃö¤_©R¥O©M¹ï¶H - - - §R°£©R¥O d ªº®æ¦¡¦p¤U¡J - - [number] d object ©ÎªÌ d [number] object - - ¨ä·N¦p¤U¡J - number - ¥Nªí°õ¦æ©R¥Oªº¦¸¼Æ(¥i¿ï¶µ¡A¯Ê¬Ù³]¸m¬° 1 )¡C - d - ¥Nªí§R°£¡C - object - ¥Nªí©R¥O©Òn¾Þ§@ªº¹ï¶H(¤U±¦³¬ÛÃö¤¶²Ð)¡C - - ¤@Ó²µuªº¹ï¶H¦Cªí¡J - w - ±q·í«e¥ú¼Ð·í«e¦ì¸mª½¨ì³æ¦r/³æµü¥½§À¡A¥]¬AªÅ®æ¡C - e - ±q·í«e¥ú¼Ð·í«e¦ì¸mª½¨ì³æ¦r/³æµü¥½§À¡A¦ý¬O *¤£* ¥]¬AªÅ®æ¡C - $ - ±q·í«e¥ú¼Ð·í«e¦ì¸mª½¨ì·í«e¦æ¥½¡C - -¯S§O´£¥Ü¡J - ¹ï¤_«i¤_±´¯ÁªÌ¡A½Ð¦b¥¿±`¼Ò¦¡¤U±¶È«ö¥Nªí¬ÛÀ³¹ï¶HªºÁä¦Ó¤£¨Ï¥Î©R¥O¡A«h - ±N¬Ý¨ì¥ú¼Ðªº²¾°Ê¥¿¦p¤W±ªº¹ï¶H¦Cªí©Ò¥Nªíªº¤@¼Ë¡C - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤GÁ¿²Ä¥|¸`¡J¹ï¶H©R¥Oªº¯S®í±¡ªp - - - ** ¿é¤J dd ¥i¥H§R°£¾ã¤@Ó·í«e¦æ¡C ** - - ų¤_¾ã¦æ§R°£ªº°ªÀW«×¡AVIM ªº³]pªÌ¨M©wn²¤Æ¾ã¦æ§R°£¡A¶È»Ýn¦b¦P¤@¦æ¤W - À»¥´¨â¦¸ d ´N¥i¥H§R°£±¼¥ú¼Ð©Ò¦bªº¾ã¦æ¤F¡C - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±ªºµu¥y¬q¸¨¤¤ªº²Ä¤G¦æ¡C - 2. ¿é¤J dd §R°£¸Ó¦æ¡C - 3. µM«á²¾°Ê¨ì²Ä¥|¦æ¡C - 4. ±µµÛ¿é¤J 2dd (ÁÙ°O±o«e±Á¿¹Lªº number-command-object ¶Ü¡H) §R°£¨â¦æ¡C - - 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Á¿²Ä¤¸`¡JºM®øÃþ©R¥O - - - ** ¿é¤J u ¨ÓºM®ø³Ì«á°õ¦æªº©R¥O¡A¿é¤J U ¨Ó×¥¿¾ã¦æ¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº¨º¤@¦æ¡A¨Ã±N¨ä¸m¤_²Ä¤@Ó¿ù»~ - ³B¡C - 2. ¿é¤J x §R°£²Ä¤@Ó¤£·Q«O¯dªº¦r¥À¡C - 3. µM«á¿é¤J u ºM®ø³Ì«á°õ¦æªº(¤@¦¸)©R¥O¡C - 4. ³o¦¸n¨Ï¥Î x ×¥¿¥»¦æªº©Ò¦³¿ù»~¡C - 5. ²{¦b¿é¤J¤@Ó¤j¼gªº U ¡A«ì´_¨ì¸Ó¦æªºì©lª¬ºA¡C - 6. ±µµÛ¦h¦¸¿é¤J u ¥HºM®ø U ¥H¤Î§ó«eªº©R¥O¡C - 7. µM«á¦h¦¸¿é¤J CTRL-R (¥ý«ö¤U CTRL Á䤣©ñ¶}¡A±µµÛ¿é¤J R Áä) ¡A³o¼Ë´N - ¥i¥H°õ¦æ«ì´_©R¥O¡A¤]´N¬OºM®ø±¼ºM®ø©R¥O¡C - ----> Fiix the errors oon thhis line and reeplace them witth undo. - - 8. ³o¨Ç³£¬O«D±`¦³¥Îªº©R¥O¡C¤U±¬O²Ä¤GÁ¿ªº¤pµ²¤F¡C - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤GÁ¿¤pµ² - - - 1. ±ý±q·í«e¥ú¼Ð§R°£¦Ü³æ¦r/³æµü¥½§À¡A½Ð¿é¤J¡Jdw - - 2. ±ý±q·í«e¥ú¼Ð§R°£¦Ü·í«e¦æ¥½§À¡A½Ð¿é¤J¡Jd$ - - 3. ±ý§R°£¾ã¦æ¡A½Ð¿é¤J¡Jdd - - 4. ¦b¥¿±`¼Ò¦¡¤U¤@Ó©R¥Oªº®æ¦¡¬O¡J - - [number] command object ©ÎªÌ command [number] object - ¨ä·N¬O¡J - number - ¥Nªíªº¬O©R¥O°õ¦æªº¦¸¼Æ - command - ¥Nªín°µªº¨Æ±¡¡A¤ñ¦p d ¥Nªí§R°£ - object - ¥Nªín¾Þ§@ªº¹ï¶H¡A¤ñ¦p w ¥Nªí³æ¦r/³æµü¡A$ ¥Nªí¨ì¦æ¥½µ¥µ¥¡C - $ (to the end of line), etc. - - 5. ±ýºM®ø¥H«eªº¾Þ§@¡A½Ð¿é¤J¡Ju (¤p¼gªºu) - ±ýºM®ø¦b¤@¦æ¤¤©Ò°µªº§ï°Ê¡A½Ð¿é¤J¡JU (¤j¼gªºU) - ±ýºM®ø¥H«eªººM®ø©R¥O¡A«ì´_¥H«eªº¾Þ§@µ²ªG¡A½Ð¿é¤J¡JCTRL-R - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤TÁ¿²Ä¤@¸`¡J¸m¤JÃþ©R¥O - - - ** ¿é¤J p ±N³Ì«á¤@¦¸§R°£ªº¤º®e¸m¤J¥ú¼Ð¤§«á ** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¥ÜS¬q¸¨ªºº¦æ¡C - - 2. ¿é¤J dd ±N¸Ó¦æ§R°£¡A³o¼Ë·|±N¸Ó¦æ«O¦s¨ìvimªº½w¨R°Ï¤¤¡C - - 3. ±µµÛ±N¥ú¼Ð²¾°Ê¨ì·Ç³Æ¸m¤Jªº¦ì¸mªº¤W¤è¡C°O¦í¡J¬O¤W¤è®@¡C - - 4. µM«á¦b¥¿±`¼Ò¦¡¤U(<ESC>Áä¶i¤J)¡A¿é¤J p ±N¸Ó¦æÖß¶K¸m¤J¡C - - 5. «´_¨BÆJ2¦Ü¨BÆJ4¡A±N©Ò¦³ªº¦æ¨Ì§Ç©ñ¸m¨ì¥¿½Tªº¦ì¸m¤W¡C - - d) Can you learn too? - b) Violets are blue, - c) Intelligence is learned, - a) Roses are red, - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤TÁ¿²Ä¤G¸`¡J´À´«Ãþ©R¥O - - - ** ¿é¤J r ©M¤@Ó¦r²Å´À´«¥ú¼Ð©Ò¦b¦ì¸mªº¦r²Å¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº²Ä¤@¦æ¡C - - 2. ½Ð²¾°Ê¥ú¼Ð¨ì²Ä¤@Ó¿ù»~ªº¾A·í¦ì¸m¡C - - 3. ±µµÛ¿é¤J r ¡A³o¼Ë´N¯à±N¿ù»~´À´«±¼¤F¡C - - 4. «´_¨BÆJ2©M¨BÆJ3¡Aª½¨ì²Ä¤@¦æ¤w¸g×§ï§¹²¦¡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 - -¯S§O´£¥Ü¡J¤Á°O±zn¦b¨Ï¥Î¤¤¾Ç²ß¡A¦Ó¤£¬O¦b°O¾Ð¤¤¾Ç²ß¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤TÁ¿²Ä¤T¸`¡J§ó§ïÃþ©R¥O - - - ** n§ïÅܤ@Ó³æ¦r/³æµüªº³¡¤À©ÎªÌ¥þ³¡¡A½Ð¿é¤J cw ** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº²Ä¤@¦æ¡C - - 2. ±µµÛ§â¥ú¼Ð©ñ¦b³æµü lubw ªº¦r¥À u ªº¦ì¸m¨º¸Ì¡C - - 3. µM«á¿é¤J cw ´N¥i¥H×¥¿¸Ó³æµü¤F(¦b¥»¨Ò³o¸Ì¬O¿é¤J ine ¡C) - - 4. ³Ì«á«ö <ESC> Áä¡AµM«á¥ú¼Ð©w¦ì¨ì¤U¤@Ó¿ù»~²Ä¤@ӷdzƧó§ïªº¦r¥À³B¡C - - 5. «´_¨BÆJ3©M¨BÆJ4¡Aª½¨ì²Ä¤@Ó¥y¤l§¹¥þ¹p¦P²Ä¤GÓ¥y¤l¡C - ----> 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 ©R¥O¤£¶È¶È¬O´À´«¤F¤@Ó³æµü¡A¤]Åý±z¶i¤J¤å¥»´¡¤Jª¬ºA¤F¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤TÁ¿²Ä¥|¸`¡J¨Ï¥Îc«ü¥Oªº¨ä¥L§ó§ïÃþ©R¥O - - - ** §ó§ïÃþ«ü¥O¥i¥H¨Ï¥Î¦P§R°£Ãþ©R¥O©Ò¨Ï¥Îªº¹ï¶H°Ñ¼Æ¡C** - - 1. §ó§ïÃþ«ü¥Oªº¤u§@¤è¦¡¸ò§R°£Ãþ©R¥O¬O¤@Pªº¡C¾Þ§@®æ¦¡¬O¡J - - [number] c object ©ÎªÌ c [number] object - - 2. ¹ï¶H°Ñ¼Æ¤]¬O¤@¼Ëªº¡A¤ñ¦p w ¥Nªí³æ¦r/³æµü¡A$¥Nªí¦æ¥½µ¥µ¥¡C - - 3. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº²Ä¤@¦æ¡C - - 4. ±µµÛ±N¥ú¼Ð²¾°Ê¨ì²Ä¤@Ó¿ù»~³B¡C - - 5. µM«á¿é¤J c$ ¨Ï±o¸Ó¦æ³Ñ¤Uªº³¡¤À§ó¥¿±o¦P²Ä¤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. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤TÁ¿¤pµ² - - - 1. n«·s¸m¤J¤w¸g§R°£ªº¤å¥»¤º®e¡A½Ð¿é¤J¤p¼g¦r¥À p¡C¸Ó¾Þ§@¥i¥H±N¤w§R°£ - ªº¤å¥»¤º®e¸m¤_¥ú¼Ð¤§«á¡C¦pªG³Ì«á¤@¦¸§R°£ªº¬O¤@Ó¾ã¦æ¡A¨º»ò¸Ó¦æ±N¸m - ¤_·í«e¥ú¼Ð©Ò¦b¦æªº¤U¤@¦æ¡C - - 2. n´À´«¥ú¼Ð©Ò¦b¦ì¸mªº¦r²Å¡A½Ð¿é¤J¤p¼gªº r ©Mn´À´«±¼ì¦ì¸m¦r²Åªº·s¦r - ²Å§Y¥i¡C - - 3. §ó§ïÃþ©R¥O¤¹³\±z§ïÅÜ«ü©wªº¹ï¶H¡A±q·í«e¥ú¼Ð©Ò¦b¦ì¸mª½¨ì¹ï¶Hªº¥½§À¡C - ¤ñ¦p¿é¤J cw ¥i¥H´À´«·í«e¥ú¼Ð¨ì³æµüªº¥½§Àªº¤º®e¡F¿é¤J c$ ¥i¥H´À´«·í - «e¥ú¼Ð¨ì¦æ¥½ªº¤º®e¡C - - 4. §ó§ïÃþ©R¥Oªº®æ¦¡¬O¡J - - [number] c object ©ÎªÌ c [number] object - -¤U±§ÚÌÄ~Äò¾Ç²ß¤U¤@Á¿¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¥|Á¿²Ä¤@¸`¡J©w¦ì¤Î¤å¥óª¬ºA - - - ** ¿é¤J CTRL-g Åã¥Ü·í«e½s¿è¤å¥ó¤¤·í«e¥ú¼Ð©Ò¦b¦æ¦ì¸m¥H¤Î¤å¥óª¬ºA«H®§¡C - ¿é¤J SHIFT-G «hª½±µ¸õÂà¨ì¤å¥ó¤¤ªº¬Y¤@«ü©w¦æ¡C** - - ´£¥Ü¡J¤Á°On¥ý³qŪ¥»¸`¤º®e¡A¤§«á¤~¥i¥H°õ¦æ¥H¤U¨BÆJ!!! - - 1. «ö¤U CTRL Á䤣©ñ¶}µM«á«ö g Áä¡CµM«á´N·|¬Ý¨ì¶±³Ì©³³¡¥X²{¤@Óª¬ºA«H - ®§¦æ¡AÅã¥Üªº¤º®e¬O·í«e½s¿èªº¤å¥ó¦W©M¤å¥óªºÁ`¦æ¼Æ¡C½Ð°O¦í¨BÆJ3ªº¦æ¸¹¡C - - 2. «ö¤U SHIFT-G Áä¥i¥H¨Ï±o·í«e¥ú¼Ðª½±µ¸õÂà¨ì¤å¥ó³Ì«á¤@¦æ¡C - - 3. ¿é¤J±z´¿°±¯dªº¦æ¸¹¡AµM«á«ö¤U SHIFT-G¡C³o¼Ë´N¥i¥Hªð¦^¨ì±z²Ä¤@¦¸«ö¤U - CTRL-g ®É©Ò¦bªº¦æ¦n¤F¡Cª`·N¡J¿é¤J¦æ¸¹®É¡A¦æ¸¹¬O¤£·|¦b«Ì¹õ¤WÅã¥Ü¥X¨Ó - ªº¡C - - 4. ¦pªGÄ@·N¡A±z¥i¥HÄ~Äò°õ¦æ¨BÆJ1¦Ü¨BÆJ¤T¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¥|Á¿²Ä¤G¸`¡J·j¯ÁÃþ©R¥O - - - ** ¿é¤J / ¥H¤Î§ÀÀHªº¦r²Å¦ê¥i¥H¥Î¥H¦b·í«e¤å¥ó¤¤¬d§ä¸Ó¦r²Å¦ê¡C** - - 1. ¦b¥¿±`¼Ò¦¡¤U¿é¤J / ¦r²Å¡C±z¦¹®É·|ª`·N¨ì¸Ó¦r²Å©M¥ú¼Ð³£·|¥X²{¦b«Ì¹õ©³ - ³¡¡A³o¸ò : ©R¥O¬O¤@¼Ëªº¡C - - 2. ±µµÛ¿é¤J errroor <¦^¨®>¡C¨ºÓerrroor´N¬O±zn¬d§äªº¦r²Å¦ê¡C - - 3. n¬d§ä¦P¤W¤@¦¸ªº¦r²Å¦ê¡A¥u»Ýn«ö n Áä¡Cn¦V¬Û¤Ï¤è¦V¬d§ä¦P¤W¤@¦¸ªº¦r - ²Å¦ê¡A½Ð¿é¤J Shift-N §Y¥i¡C - - 4. ¦pªG±z·Q°f¦V¬d§ä¦r²Å¦ê¡A½Ð¨Ï¥Î ? ¥N´À / ¶i¦æ¡C - ----> 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. - - ´£¥Ü¡J¦pªG¬d§ä¤w¸g¨ì¹F¤å¥ó¥½§À¡A¬d§ä·|¦Û°Ê±q¤å¥óÀY³¡Ä~Äò¬d§ä¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¥|Á¿²Ä¤T¸`¡J°t¹ï¬A¸¹ªº¬d§ä - - - ** «ö % ¥i¥H¬d§ä°t¹ïªº¬A¸¹ )¡B]¡B}¡C** - - 1. §â¥ú¼Ð©ñ¦b¥»¸`¤U±¼Ð°O¦³ --> ¨º¤@¦æ¤¤ªº¥ô¦ó¤@Ó (¡B[ ©Î { ³B¡C - - 2. ±µµÛ«ö % ¦r²Å¡C - - 3. ¦¹®É¥ú¼Ðªº¦ì¸mÀ³·í¬O¦b°t¹ïªº¬A¸¹³B¡C - - 4. ¦A¦¸«ö % ´N¥i¥H¸õ¦^°t¹ïªº²Ä¤@Ó¬A¸¹³B¡C - ----> This ( is a test line with ('s, ['s ] and {'s } in it. )) - -´£¥Ü¡J¦bµ{§Ç½Õ¸Õ®É¡A³oÓ¥\¯à¥Î¨Ó¬d§ä¤£°t¹ïªº¬A¸¹¬O«Ü¦³¥Îªº¡C - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¥|Á¿²Ä¥|¸`¡J×¥¿¿ù»~ªº¤èªk¤§¤@ - - - ** ¿é¤J :s/old/new/g ¥i¥H´À´« old ¬° new¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº¨º¤@¦æ¡C - - 2. ¿é¤J :s/thee/the <¦^¨®> ¡C½Ðª`·N¸Ó©R¥O¥u§ïÅÜ¥ú¼Ð©Ò¦b¦æªº²Ä¤@Ӥǰt - ¦ê¡C - - 3. ¿é¤J :s/thee/the/g «h¬O´À´«¥þ¦æªº¤Ç°t¦ê¡C - ----> the best time to see thee flowers is in thee spring. - - 4. n´À´«¨â¦æ¤§¶¡¥X²{ªº¨CӤǰt¦ê¡A½Ð¿é¤J :#,#s/old/new/g (#,#¥Nªíªº¬O - ¨â¦æªº¦æ¸¹)¡C¿é¤J :%s/old/new/g «h¬O´À´«¾ãÓ¤å¥ó¤¤ªº¨CӤǰt¦ê¡C - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¥|Á¿¤pµ² - - - 1. Ctrl-g ¥Î¤_Åã¥Ü·í«e¥ú¼Ð©Ò¦b¦ì¸m©M¤å¥óª¬ºA«H®§¡CShift-G ¥Î¤_±N¥ú¼Ð¸õ - Âà¦Ü¤å¥ó³Ì«á¤@¦æ¡C¥ýºV¤J¤@Ӧ渹µM«á«ö Shift-G «h¬O±N¥ú¼Ð²¾°Ê¦Ü¸Ó¦æ - ¸¹¥Nªíªº¦æ¡C - - 2. ¿é¤J / µM«áºòÀH¤@Ó¦r²Å¦ê¬O«h¬O¦b·í«e©Ò½s¿èªº¤åÀɤ¤¦V«á¬d§ä¸Ó¦r²Å¦ê¡C - ¿é¤J°Ý¸¹ ? µM«áºòÀH¤@Ó¦r²Å¦ê¬O«h¬O¦b·í«e©Ò½s¿èªº¤åÀɤ¤¦V«e¬d§ä¸Ó¦r - ²Å¦ê¡C§¹¦¨¤@¦¸¬d§ä¤§«á«ö n Áä«h¬O«´_¤W¤@¦¸ªº©R¥O¡A¥i¦b¦P¤@¤è¦V¤W¬d - §ä¤U¤@Ó¦r²Å¦ê©Ò¦b¡F©ÎªÌ«ö Shift-N ¦V¬Û¤Ï¤è¦V¬d§ä¤U¸Ó¦r²Å¦ê©Ò¦b¡C - - 3. ¦pªG¥ú¼Ð·í«e¦ì¸m¬O¬A¸¹(¡B)¡B[¡B]¡B{¡B}¡A«ö % ¥i¥H±N¥ú¼Ð²¾°Ê¨ì°t¹ïªº - ¬A¸¹¤W¡C - - 4. ¦b¤@¦æ¤º´À´«ÀY¤@Ó¦r²Å¦ê old ¬°·sªº¦r²Å¦ê new¡A½Ð¿é¤J :s/old/new - ¦b¤@¦æ¤º´À´«©Ò¦³ªº¦r²Å¦ê old ¬°·sªº¦r²Å¦ê new¡A½Ð¿é¤J :s/old/new/g - ¦b¨â¦æ¤º´À´«©Ò¦³ªº¦r²Å¦ê old ¬°·sªº¦r²Å¦ê new¡A½Ð¿é¤J :#,#s/old/new/g - ¦b¤å¥ó¤º´À´«©Ò¦³ªº¦r²Å¦ê old ¬°·sªº¦r²Å¦ê new¡A½Ð¿é¤J :%s/old/new/g - ¶i¦æ¥þ¤å´À´«®É¸ß°Ý¥Î¤á½T»{¨CÓ´À´«»Ý²K¥[ c ¿ï¶µ¡A½Ð¿é¤J :%s/old/new/gc - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤Á¿²Ä¤@¸`¡J¦b VIM ¤º°õ¦æ¥~³¡©R¥Oªº¤èªk - - - ** ¿é¤J :! µM«áºòÀHµÛ¿é¤J¤@Ó¥~³¡©R¥O¥i¥H°õ¦æ¸Ó¥~³¡©R¥O¡C** - - 1. «ö¤U§Ú̩Ҽô±xªº : ©R¥O³]¸m¥ú¼Ð¨ì«Ì¹õ©³³¡¡C³o¼Ë´N¥i¥HÅý±z¿é¤J©R¥O¤F¡C - - 2. ±µµÛ¿é¤J·P¹Ä¸¹ ! ³oÓ¦r²Å¡A³o¼Ë´N¤¹³\±z°õ¦æ¥~³¡ªº shell ©R¥O¤F¡C - - 3. §ÚÌ¥H ls ©R¥O¬°¨Ò¡C¿é¤J !ls <¦^¨®> ¡C¸Ó©R¥O´N·|¦CÁ|¥X±z·í«e¥Ø¿ýªº - ¤º®e¡A´N¦p¦P±z¦b©R¥O¦æ´£¥Ü²Å¤U¿é¤J ls ©R¥Oªºµ²ªG¤@¼Ë¡C¦pªG !ls ¨S°_ - §@¥Î¡A±z¥i¥H¸Õ¸Õ :!dir ¬Ý¬Ý¡C - ----> ´£¥Ü¡J ©Ò¦³ªº¥~³¡©R¥O³£¥i¥H¥H³oºØ¤è¦¡°õ¦æ¡C - ----> ´£¥Ü¡J ©Ò¦³ªº : ©R¥O³£¥²¶·¥H <¦^¨®> §i²×¡C - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤Á¿²Ä¤G¸`¡JÃö¤_«O¦s¤å¥óªº§ó¦h«H®§ - - - ** n±N¹ï¤å¥óªº§ï°Ê«O¦s¨ì¤å¥ó¤¤¡A½Ð¿é¤J :w FILENAME ** - - 1. ¿é¤J :!dir ©ÎªÌ :!ls Àòª¾·í«e¥Ø¿ýªº¤º®e¡C±zÀ³·í¤wª¾¹D³Ì«áÁÙ±oºV - <¦^¨®> §a¡C - - 2. ¿ï¾Ü¤@Ó©|¥¼¦s¦b¤å¥ó¦W¡A¤ñ¦p TEST ¡C - - 3. ±µµÛ¿é¤J :w TEST (¦¹³B TEST ¬O±z©Ò¿ï¾Üªº¤å¥ó¦W¡C) - - 4. ¸Ó©R¥O·|¥H TEST ¬°¤å¥ó¦W«O¦s¾ãÓ¤å¥ó (VIM ±Ðµ{)¡C¬°¤F½T«O¥¿½T«O¦s¡A - ½Ð¦A¦¸¿é¤J :!dir ¬d¬Ý±zªº¥Ø¿ý¦Cªí¤º®e¡C - ----> ½Ðª`·N¡J¦pªG±z°h¥X VIM µM«á¦b¥H¤å¥ó¦W TEST ¬°°Ñ¼Æ¶i¤J¡A¨º»ò¸Ó¤å¥ó¤º - ®eÀ³¸Ó¦P±z«O¦s®Éªº¤å¥ó¤º®e¬O§¹¥þ¤@¼Ëªº¡C - - 5. ²{¦b±z¥i¥H³q¹L¿é¤J :!rm TEST ¨Ó§R°£ TEST ¤å¥ó¤F¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤Á¿²Ä¤T¸`¡J¤@Ө㦳¿ï¾Ü©Êªº«O¦s©R¥O - - - ** n«O¦s¤å¥óªº³¡¤À¤º®e¡A½Ð¿é¤J :#,# w FILENAME ** - - 1. ¦A¨Ó°õ¦æ¤@¦¸ :!dir ©ÎªÌ :!ls Àòª¾·í«e¥Ø¿ýªº¤º®e¡AµM«á¿ï¾Ü¤@Ó¦X¾Aªº - ¤£«¦Wªº¤å¥ó¦W¡A¤ñ¦p TEST ¡C - - 2. ±µµÛ±N¥ú¼Ð²¾°Ê¦Ü¥»¶ªº³Ì³»ºÝ¡AµM«á«ö CTRL-g §ä¨ì¸Ó¦æªº¦æ¸¹¡C§O§Ñ¤F - ¦æ¸¹®@¡C - - 3. ±µµÛ§â¥ú¼Ð²¾°Ê¦Ü¥»¶ªº³Ì©³ºÝ¡A¦A«ö¤@¦¸ CTRL-g ¡C¤]§O§Ñ¤F³oÓ¦æ¦n®@¡C - - 4. ¬°¤F¥u«O¦s¤å³¹ªº¬YÓ³¡¤À¡A½Ð¿é¤J :#,# w TEST ¡C³o¸Ìªº #,# ´N¬O¤W± - n¨D±z°O¦íªº¦æ¸¹(³»ºÝ¦æ¸¹,©³ºÝ¦æ¸¹)¡A¦Ó TEST ´N¬O¿ï©wªº¤å¥ó¦W¡C - - 5. ³Ì«á¡A¥Î :!dir ½T»{¤å¥ó¬O§_¥¿½T«O¦s¡C¦ý¬O³o¦¸¥ý§O§R°£±¼¡C - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤Á¿²Ä¥|¸`¡J´£¨ú©M¦X¨Ã¤å¥ó - - - ** n¦V·í«e¤å¥ó¤¤´¡¤J¥t¥~ªº¤å¥óªº¤º®e¡A½Ð¿é¤J :r FILENAME ** - - 1. ½ÐÁä¤J :!dir ½T»{±z«e±³Ð«Øªº TEST ¤å¥óÁÙ¦b¡C - - 2. µM«á±N¥ú¼Ð²¾°Ê¦Ü·í«e¶±ªº³»ºÝ¡C - -¯S§O´£¥Ü¡J °õ¦æ¨BÆJ3¤§«á±z±N¬Ý¨ì²Ä¤Á¿²Ä¤T¸`¡A½Ð©¡®É¦A©¹¤U²¾°Ê¦^¨ì³o¸Ì¨Ó¡C - - 3. ±µµÛ³q¹L :r TEST ±N«e±³Ð«Øªº¦W¬° TEST ªº¤å¥ó´£¨ú¶i¨Ó¡C - -¯S§O´£¥Ü¡J±z©Ò´£¨ú¶i¨Óªº¤å¥ó±N±q¥ú¼Ð©Ò¦b¦ì¸m³B¶}©l¸m¤J¡C - - 4. ¬°¤F½T»{¤å¥ó¤w¸g´£¨ú¦¨¥\¡A²¾°Ê¥ú¼Ð¦^¨ìì¨Óªº¦ì¸m´N¥i¥Hª`·N¦³¨â¥÷²Ä - ¤Á¿²Ä¤T¸`¡A¤@¥÷¬O쥻¡A¥t¥~¤@¥÷¬O¨Ó¦Û¤å¥óªº°Æ¥»¡C - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤Á¿¤pµ² - - - 1. :!command ¥Î¤_°õ¦æ¤@Ó¥~³¡©R¥O command¡C - - ½Ð¬Ý¤@¨Ç¹ê»Ú¨Ò¤l¡J - :!dir - ¥Î¤_Åã¥Ü·í«e¥Ø¿ýªº¤º®e¡C - :!rm FILENAME - ¥Î¤_§R°£¦W¬° FILENAME ªº¤å¥ó¡C - - 2. :w FILENAME ¥i±N·í«e VIM ¤¤¥¿¦b½s¿èªº¤å¥ó«O¦s¨ì¦W¬° FILENAME - ªº¤å¥ó¤¤¡C - - 3. :#,#w FILENAME ¥i±N·í«e½s¿è¤å¥ó²Ä # ¦æ¦Ü²Ä # ¦æªº¤º®e«O¦s¨ì¤å¥ó - FILENAME ¤¤¡C - - 4. :r FILENAME ¥i´£¨úºÏ½L¤å¥ó FILENAME ¨Ã±N¨ä´¡¤J¨ì·í«e¤å¥óªº¥ú¼Ð¦ì¸m - «á±¡C - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤»Á¿²Ä¤@¸`¡J¥´¶}Ãþ©R¥O - - - ** ¿é¤J o ±N¦b¥ú¼Ðªº¤U¤è¥´¶}·sªº¤@¦æ¨Ã¶i¤J´¡¤J¼Ò¦¡¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº¨º¤@¦æ¡C - - 2. ±µµÛ¿é¤J¤p¼gªº o ¦b¥ú¼Ð *¤U¤è* ¥´¶}·sªº¤@¦æ¨Ã¶i¤J´¡¤J¼Ò¦¡¡C - - 3. µM«á´_¨î¼Ð°O¦³ ---> ªº¦æ¨Ã«ö <ESC> Áä°h¥X´¡¤J¼Ò¦¡¦Ó¶i¤J¥¿±`¼Ò¦¡¡C - ----> After typing o the cursor is placed on the open line in Insert mode. - - 4. ¬°¤F¦b¥ú¼Ð *¤W¤è* ¥´¶}·sªº¤@¦æ¡A¥u»Ýn¿é¤J¤j¼gªº O ¦Ó¤£¬O¤p¼gªº o - ´N¥i¥H¤F¡C½Ð¦b¤U¦æ´ú¸Õ¤@¤U§a¡C·í¥ú¼Ð³B¦b¦b¸Ó¦æ¤W®É¡A«ö Shift-O¥i¥H - ¦b¸Ó¦æ¤W¤è·s¶}¤@¦æ¡C - -Open up a line above this by typing Shift-O while the cursor is on this line. - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤»Á¿²Ä¤G¸`¡J¥ú¼Ð«á´¡¤JÃþ©R¥O - - - ** ¿é¤J a ±N¥i¦b¥ú¼Ð¤§«á´¡¤J¤å¥»¡C ** - - 1. ½Ð¦b¥¿±`¼Ò¦¡¤U³q¹L¿é¤J $ ±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº²Ä¤@¦æ - ªº¥½§À¡C - - 2. ±µµÛ¿é¤J¤p¼gªº a «h¥i¦b¥ú¼Ð¤§«á´¡¤J¤å¥»¤F¡C¤j¼gªº A «h¥i¥Hª½±µ¦b¦æ - ¥½´¡¤J¤å¥»¡C - -´£¥Ü¡J¿é¤J¤j¼g A ªº¾Þ§@¤èªk¥i¥H¦b¦æ¥½´¡¤J¤å¥»¡AÁ×§K¤F¿é¤J i¡A¥ú¼Ð©w¦ì¨ì - ³Ì«á¤@Ó¦r²Å¡A¿é¤Jªº¤å¥»¡A<ESC> ¦^´_¥¿±`¼Ò¦¡¡A½bÀY¥kÁä²¾°Ê¥ú¼Ð¥H¤Î - x §R°£·í«e¥ú¼Ð©Ò¦b¦ì¸m¦r²Åµ¥µ¥½Ñ¦hÁcÂøªº¾Þ§@¡C - - 3. ¾Þ§@¤§«á²Ä¤@¦æ´N¥i¥H¸É¥R§¹¾ã¤F¡C½Ðª`·N¥ú¼Ð«á´¡¤J¤å¥»»P´¡¤J¼Ò¦¡¬O°ò - ¥»§¹¥þ¤@Pªº¡A¥u¬O¤å¥»´¡¤Jªº¦ì¸m©w¦ìµy¦³¤£¦P½}¤F¡C - ----> This line will allow you to practice ----> This line will allow you to practice appending text to the end of a line. - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤»Á¿²Ä¤T¸`¡J¥t¥~¤@Ó¸m´«Ãþ©R¥Oªºª©¥» - - - ** ¿é¤J¤j¼gªº R ¥i³sÄò´À´«¦hÓ¦r²Å¡C** - - 1. ½Ð±N¥ú¼Ð²¾°Ê¨ì¥»¸`¤¤¤U±¼Ð°O¦³ ---> ªº²Ä¤@¦æ¡C - - 2. ²¾°Ê¥ú¼Ð¨ì²Ä¤@¦æ¤¤¤£¦P¤_¼Ð¦³ ---> ªº²Ä¤G¦æªº²Ä¤@Ó³æµüªº¶}©l¡A§Y³æ - µü last ³B¡C - - 3. µM«á¿é¤J¤j¼gªº R ¶}©l§â²Ä¤@¦æ¤¤ªº¤£¦P¤_²Ä¤G¦æªº³Ñ§E¦r²Å³v¤@¿é¤J¡A´N - ¥i¥H¥þ³¡´À´«±¼ì¦³ªº¦r²Å¦Ó¨Ï±o²Ä¤@¦æ§¹¥þ¹p¦P²Ä¤G¦æ¤F¡C - ----> 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. ½Ðª`·N¡J¦pªG±z«ö <ESC> °h¥X¸m´«¼Ò¦¡¦^´_¥¿±`¼Ò¦¡¡A©|¥¼´À´«ªº¤å¥»±N¤´ - µM«O«ù쪬¡C - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤»Á¿²Ä¥|¸`¡J³]¸mÃþ©R¥Oªº¿ï¶µ - - - ** ³]¸m¥i¨Ï¬d§ä©ÎªÌ´À´«¥i©¿²¤¤j¤p¼gªº¿ï¶µ ** - - - 1. n¬d§ä³æµü ignore ¥i¦b¥¿±`¼Ò¦¡¤U¿é¤J /ignore ¡Cn«´_¬d§ä¸Óµü¡A¥i¥H - «´_«ö n Áä¡C - - 2. µM«á³]¸m ic ¿ï¶µ(ic´N¬O^¤å©¿²¤¤j¤p¼gIgnore Caseªºº¦r¥ÀÁY¼gµü)¡A§Y - ¿é¤J¡J - :set ic - - 3. ²{¦b¥i¥H³q¹LÁä¤J n Áä¦A¦¸¬d§ä³æµü ignore¡C«´_¬d§ä¥i¥H«´_Áä¤J n Áä¡C - - 4. µM«á³]¸m hlsearch ©M incsearch ³o¨âÓ¿ï¶µ¡A¿é¤J¥H¤U¤º®e¡J - :set hls is - - 5. ²{¦b¥i¥H¦A¦¸¿é¤J¬d§ä©R¥O¡A¬Ý¬Ý·|¦³¤°»ò®ÄªG¡J - /ignore - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤»Á¿¤pµ² - - - 1. ¿é¤J¤p¼gªº o ¥i¥H¦b¥ú¼Ð¤U¤è¥´¶}·sªº¤@¦æ¨Ã±N¥ú¼Ð¸m¤_·s¶}ªº¦æº¡A¶i¤J - ´¡¤J¼Ò¦¡¡C - ¿é¤J¤j¼gªº O ¥i¥H¦b¥ú¼Ð¤W¤è¥´¶}·sªº¤@¦æ¨Ã±N¥ú¼Ð¸m¤_·s¶}ªº¦æº¡A¶i¤J - ´¡¤J¼Ò¦¡¡C - - 2. ¿é¤J¤p¼gªº a ¥i¥H¦b¥ú¼Ð©Ò¦b¦ì¸m¤§«á´¡¤J¤å¥»¡C - ¿é¤J¤j¼gªº A ¥i¥H¦b¥ú¼Ð©Ò¦b¦æªº¦æ¥½¤§«á´¡¤J¤å¥»¡C - - 3. ¿é¤J¤j¼gªº R ±N¶i¤J´À´«¼Ò¦¡¡Aª½¦Ü«ö <ESC> Áä°h¥X´À´«¼Ò¦¡¦Ó¶i¤J¥¿±` - ¼Ò¦¡¡C - - 4. ¿é¤J :set xxx ¥i¥H³]¸m xxx ¿ï¶µ¡C - - - - - - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤CÁ¿¡J¦b½uÀ°§U©R¥O - - ** ¨Ï¥Î¦b½uÀ°§U¨t²Î ** - - Vim ¾Ö¦³¤@Ó²ÓP¥þ±ªº¦b½uÀ°§U¨t²Î¡Cn±Ò°Ê¸ÓÀ°§U¨t²Î¡A½Ð¿ï¾Ü¦p¤U¤TºØ¤è - ªk¤§¤@¡J - - «ö¤U <HELP> Áä (¦pªGÁä½L¤W¦³ªº¸Ü) - - «ö¤U <F1> Áä (¦pªGÁä½L¤W¦³ªº¸Ü) - - ¿é¤J :help <¦^¨®> - - ¿é¤J :q <¦^¨®> ¥i¥HÃö³¬À°§Uµ¡¤f¡C - - ´£¨Ñ¤@Ó¥¿½Tªº°Ñ¼Æµ¹":help"©R¥O¡A±z¥i¥H§ä¨ìÃö¤_¸Ó¥DÃDªºÀ°§U¡C½Ð¸ÕÅç¥H - ¤U°Ñ¼Æ(¥i§O§Ñ¤F«ö¦^¨®Áä®@¡C:)¡J - - :help w <¦^¨®> - :help c_<T <¦^¨®> - :help insert-index <¦^¨®> - :help user-manual <¦^¨®> - - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ²Ä¤KÁ¿¡J³Ð«Ø¤@ӱҰʸ}¥» - - ** ±Ò¥Îvimªº¥\¯à ** - - Vimªº¥\¯à¯S©Ên¤ñvi¦h±o¦h¡A¦ý¤j³¡¤À¥\¯à³£¨S¦³¯Ê¬Ù¿E¬¡¡C¬°¤F±Ò°Ê§ó¦hªº - ¥\¯à¡A±z±o³Ð«Ø¤@Óvimrc¤å¥ó¡C - - 1. ¶}©l½s¿èvimrc¤å¥ó¡A³o¨ú¨M¤_±z©Ò¨Ï¥Îªº¾Þ§@¨t²Î¡J - - :edit ~/.vimrc ³o¬OUnix¨t²Î©Ò¨Ï¥Îªº©R¥O - :edit $VIM/_vimrc ³o¬OWindows¨t²Î©Ò¨Ï¥Îªº©R¥O - - 2. ±µµÛ¾É¤JvimrcS¨Ò¤å¥ó¡J - - :read $VIMRUNTIME/vimrc_example.vim - - 3. «O¦s¤å¥ó¡A©R¥O¬°¡J - - :write - - ¦b¤U¦¸±z±Ò°Êvimªº®ÉÔ¡A½s¿è¾¹´N·|¦³¤F»yªk°ª«Gªº¥\¯à¡C±z¥i¥HÄ~Äò§â±z³ß - Åwªº¨ä¥¦¥\¯à³]¸m²K¥[¨ì³oÓvimrc¤å¥ó¤¤¡C - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - vim ±Ðµ{¨ì¦¹µ²§ô¡C¥»±Ðµ{¥u¬O¬°¤F²©ú¦a¤¶²Ð¤@¤Uvim½s¿è¾¹¡A¦ý¤w¨¬¥HÅý±z - «Ü®e©ö¾Ç·|¨Ï¥Î¥»½s¿è¾¹¤F¡C¤ð±e½èºÃ¡AvimÁÙ¦³«Ü¦h«Ü¦hªº©R¥O¡A¥»±Ðµ{©Ò¤¶ - ²ÐªºÁÙ®t±o»·µÛ©O¡C©Ò¥H±znºë³qªº¸Ü¡AÁÙ±æÄ~Äò§V¤O®@¡C¤U¤@¨B±z¥i¥H¾\Ū - vim¤â¥U¡A¨Ï¥Îªº©R¥O¬O¡J - :help user-manual - - ¬°¤F§ó¶i¤@¨Bªº°Ñ¦Ò©M¾Ç²ß¡A¥H¤U³o¥»®Ñȱo±ÀÂË¡J - - Vim - Vi Improved - §@ªÌ¡JSteve Oualline - ¥Xª©ªÀ¡JNew Riders - - ³o¬O²Ä¤@¥»§¹¥þÁ¿¸Ñvimªº®ÑÄy¡C¹ï¤_ªì¾ÇªÌ¯S§O¦³¥Î¡C¨ä¤¤ÁÙ¥]§t¦³¤j¶q¹ê¨Ò - ©M¹Ï¥Ü¡C±ýª¾¸Ô±¡¡A½Ð³X°Ý http://iccf-holland.org/click5.html - - ¥H¤U³o¥»®Ñ¤ñ¸û¦Ñ¤F¦Ó¥B¤º®e¥Dn¬Ovi¦Ó¤£¬Ovim¡A¦ý¬O¤]ȱo±ÀÂË¡J - - Learning the Vi Editor - §@ªÌ¡JLinda Lamb - ¥Xª©ªÀ¡JO'Reilly & Associates Inc. - - ³o¬O¤@¥»¤£¿ùªº®Ñ¡A³q¹L¥¦±z´X¥G¯à°÷¤F¸Ñ¨ì¥þ³¡vi¯à°÷°µ¨ìªº¨Æ±¡¡C¦¹®Ñªº²Ä - ¤»Óª©¥»¤]¥]§t¤F¤@¨ÇÃö¤_vimªº«H®§¡C - - ¥»±Ðµ{¬O¥Ñ¨Ó¦ÛCalorado School of MineseªºMichael C. Pierce¡BRobert K. - Ware ©Ò½s¼gªº¡A¨ä¤¤¨Ó¦ÛColorado State UniversityªºCharles Smith´£¨Ñ¤F - «Ü¦h³Ð·N¡C½sªÌ³q«H¦a§}¬O¡J - - bware@mines.colorado.edu - - ¥»±Ðµ{¤w¥ÑBram Moolenaar±M¬°vim¶i¦æ×q¡C - - - - ͍îªÌªþ¨¥¡J - =========== - ²Å餤¤å±Ðµ{½Ķª©¤§Ä¶¨îªÌ¬°±ç©÷®õ <beos@turbolinux.com.cn>¡AÁÙ¦³ - ¥t¥~¤@ÓÁp¨t¦a§}¡Jlinuxrat@gnuchina.org¡C - - ÁcÅ餤¤å±Ðµ{¬O±q²Å餤¤å±Ðµ{½Ķª©¨Ï¥Î Debian GNU/Linux ¤¤¤å¶µ¥Ø¤p - ²Õªº¤_¼s½÷¥ý¥Í½s¼gªº¤¤¤åº~¦rÂà½X¾¹ autoconvert Âà´«¦Ó¦¨ªº¡A¨Ã¹ïÂà - ´«ªºµ²ªG°µ¤F¤@¨Ç²Ó¸`ªº§ï°Ê¡C - - Åܧó°O¿ý¡J - ========= - 2002¦~08¤ë30¤é ±ç©÷®õ <beos@turbolinux.com.cn> - ·PÁ RMS@SMTH ªº«ü¥¿¡A±N¦h³B¿ù»~×¥¿¡C - - 2002¦~04¤ë22¤é ±ç©÷®õ <linuxrat@gnuchina.org> - ·PÁ xuandong@sh163.net ªº«ü¥¿¡A±N¨â³B¿ù§O¦r×¥¿¡C - - 2002¦~03¤ë18¤é ±ç©÷®õ <linuxrat@gnuchina.org> - ®Ú¾ÚBram Molenaar¥ý¥Í¦b2002¦~03¤ë16¤éªº¨Ó«Hn¨D¡A±Nvimtutor1.4¤¤Ä¶ - ª©¤É¯Å¨ìvimtutor1.5¡C - - 2001¦~11¤ë15¤é ±ç©÷®õ <linuxrat@gnuchina.org> - ±Nvimtutor1.4¤¤Ä¶ª©´£¥æµ¹Bram Molenaar©MSven Guckes¡C - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 ×ã¹»¶àµÄ´ÎÊýÀ´Òƶ¯¹â±ê£¬Ö±µ½µÚÒ»½ÚµÄÄÚÈÝÄܹ»ÍêÈ«³äÂúÆÁÄ»¡£ - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - µÚÒ»½²µÚÒ»½Ú¡ÃÒÆ¶¯¹â±ê - - - ¡ù¡ù ÒªÒÆ¶¯¹â±ê£¬ÇëÒÀÕÕ˵Ã÷·Ö±ð°´Ï 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 ¼ü) £¬ÕâÑù¾Í - ¿ÉÒÔÖ´Ðлָ´ÃüÁҲ¾ÍÊ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. Óû³·ÏûÒÔǰµÄ²Ù×÷£¬ÇëÊäÈë¡Ã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$ ʹµÃ¸ÃÐÐʣϵ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. - - Ìáʾ¡ÃÈç¹û²éÕÒÒѾµ½´ïÎļþĩ⣬²éÕÒ»á×Ô¶¯´ÓÎļþÍ·²¿¼ÌÐø²éÕÒ¡£ - - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - µÚËĽ²µÚÈý½Ú¡ÃÅä¶ÔÀ¨ºÅµÄ²éÕÒ - - - ** °´ % ¿ÉÒÔ²éÕÒÅä¶ÔµÄÀ¨ºÅ )¡¢]¡¢}¡£** - - 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. ΪÁËÖ»±£´æÎÄÕµÄ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 µÄ²Ù×÷·½·¨¿ÉÒÔÔÚÐÐÄ©²åÈëÎı¾£¬±ÜÃâÁËÊäÈë 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 <»Ø³µ> ¿ÉÒԹرհïÖú´°¿Ú¡£ - - Ìṩһ¸öÕýÈ·µÄ²ÎÊý¸ø":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 - - ΪÁ˸ü½øÒ»²½µÄ²Î¿¼ºÍѧϰ£¬ÒÔÏÂÕâ±¾ÊéÖµµÃÍÆ¼ö¡Ã - - 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/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 memòria per cap buffer, sortint..." @@ -22,7 +25,6 @@ msgstr "E83: No s'ha pogut assignar memòria pel buffer, usant-ne un altre..." # unload: Treu el buffer de la memòria però el deixa a la llista # delete: Treu el buffer de la memòria 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 més 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 més d'una coincidència per %s" +msgstr "E93: Hi ha més d'una coincidència per a %s" #, c-format msgid "E94: No matching buffer for %s" -msgstr "E94: No hi ha cap coincidència per %s" +msgstr "E94: No hi ha cap coincidència per a %s" #, c-format msgid "line %ld" @@ -109,7 +111,7 @@ msgid "[New file]" msgstr "[Fitxer nou]" msgid "[Read errors]" -msgstr "[Lectura errònia]" +msgstr "[Errors de lectura]" msgid "[readonly]" msgstr "[només lectura]" @@ -126,15 +128,15 @@ msgstr "%ld línies --%d%%--" msgid "line %ld of %ld --%d%%-- col " msgstr "línia %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 prèvia]" @@ -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 caràcters d'escapada en un dígraf" @@ -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 només 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 línies senceres (^L^N^P)" # buscar un nom, en lloc del verb «completar». eac -msgid " Whole line completion (^L/^N/^P)" -msgstr " Completar línies 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 sinònims (^T^N^P)" # buscar un nom, en lloc del verb «completar». eac -msgid " Thesaurus completion (^T/^N/^P)" -msgstr " Completar sinònims (^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 ortogràfic (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 paràgraf" -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) Desplaçar (^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 línia" msgid "The only match" -msgstr "Única coincidència" +msgstr "L'única coincidència" #, c-format msgid "match %d of %d" @@ -312,28 +338,138 @@ msgstr "coincidència %d de %d" msgid "match %d" msgstr "coincidència %d" -#. Skip further arguments but do continue to -#. * search for a trailing command. +msgid "E18: Unexpected characters in :let" +msgstr "E18: Caràcters 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 referència 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 il·legal: %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 més 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: Només 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é més 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\" després de :for" #, c-format msgid "E107: Missing braces: %s" -msgstr "E107: Falten parèntesis: %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 ':' després de '?'" +msgid "E691: Can only compare List with List" +msgstr "E691: Una llista només es pot comparar amb una llista" + +msgid "E692: Invalid operation for Lists" +msgstr "E692: Operació no vàlida en llistes" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Un diccionari només es pot comparar amb un diccionari" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Operació no vàlida en diccionaris" + +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Una referència de funció només es pot comparar amb una referència de funció" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Operació no vàlida per a referències 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 referència 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 vàlids 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 caràcter 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 vàlid: %s" +msgstr "E120: Ús de <SID> en un context no vàlid: %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() només 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 línies: " +#, 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() més sovint que inputsave()" +msgid "E786: Range not allowed" +msgstr "E786: Interval no permès" + +msgid "E701: Invalid type for len()" +msgstr "E701: El tipus per a len() no és vàlid" + +msgid "E726: Stride is zero" +msgstr "E726: L'increment entre passos és zero" + +msgid "E727: Start past end" +msgstr "E727: Inici més 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 enllaços simbòlics (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 vàlid)" +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 referència de funció com a número" + +msgid "E745: Using a List as a number" +msgstr "E745: Ús d'una llista com a número" + +msgid "E728: Using a Dictionary as a number" +msgstr "E728: Ús d'un diccionari com a número" + +msgid "E729: using Funcref as a String" +msgstr "E729: ús d'una referència 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 començar en majúscula: %s" #, c-format -msgid "E461: Illegal variable name: %s" -msgstr "E461: El nom de la variable és il·legal: %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 còpia" #, 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 il·legal: %s" +msgstr "E125: Argument il·legal: %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 començar en majúscula: %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 començar en majúscula 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\" línia %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 línia %ld" +msgid "E750: First use :profile start <fname>" +msgstr "E750: Primer useu :profile start <nomfitxer>" + # Títol d'un diàleg [: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 més 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\"" # Títol d'un diàleg [: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 "línia %ld: no s'ha pogut executar \"%s\"" +msgstr "línia %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 "línia %ld: executant \"%s\"" +msgstr "línia %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 línia no és vàlid, potser falta un ^M" @@ -596,78 +850,6 @@ msgstr "E167: L'ordre :scriptencoding només es pot utilitzar en scripts" msgid "E168: :finish used outside of a sourced file" msgstr "E168: L'ordre :finish només es pot utilitzar en scripts" -#, c-format -msgid "Page %d" -msgstr "Pàgina %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 pàgina %d (%d%%)" - -#, c-format -msgid " Copy %d of %d" -msgstr " Còpia %d de %d" - -#, c-format -msgid "Printed: %s" -msgstr "S'ha imprès: %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 vàlida" - -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 substituïdes no es poden traduïr. 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 línies cap a elles mateixes" @@ -707,7 +899,7 @@ msgid "%sviminfo: %s in line: " msgstr "%sviminfo: %s a la línia: " 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 següents 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 "Caràcter inicial il·legal" -#. 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 títol de diàleg [: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 numèric per :z" +msgstr "E144: Argument no numèric 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 coincidència " + msgid "1 substitution" msgstr "1 substitució" #, c-format +msgid "%ld matches" +msgstr "%ld coincidències" + +#, 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 línia: %s" +#, c-format msgid "" "\n" "# Last Substitute String:\n" @@ -839,6 +1047,13 @@ msgstr "" "# Última cadena substituïda:\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 permís 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 caràcters 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 vàlid: %s" msgid "E157: Invalid sign ID: %ld" msgstr "E157: L'ID del senyal no és vàlida: %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 vàlid" # «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 vàlid: %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 només està permès 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 començar en majúscula" 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 vàlid: %s" + +# «completar» eac +msgid "E468: Completion argument only allowed for custom completion" +msgstr "E468: L'argument de completar només està permès 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 "Només hi ha una pestanya" + # Títol d'un diàleg [: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: Múltiples :else" msgid "E584: :elseif after :else" msgstr "E584: Declaració :elseif després 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 més a menys recent):\n" +msgstr "" +"\n" +"# Historial %s (de més 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 "[Permís 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 línia %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 línies 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 només lectura (afegiu ! per confirmar)" @@ -1365,11 +1638,14 @@ msgstr "E166: No s'ha pogut obrir el fitxer enllaçat per escriure-hi" msgid "E212: Can't open file for writing" msgstr "E212: No s'ha pogut obrir el fitxer amb permís 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 (anul·leu '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 còpia 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 més 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 començat a editar" +msgid "See \":help W11\" for more info." +msgstr "Vegeu \":help W11\" per a més 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 començat a editar" +msgid "See \":help W16\" for more info." +msgstr "Vegeu \":help W16\" per a més 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: Caràcter il·legal després 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>: número de buffer no vàlid" 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 línies 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 "Diàleg del Vim" msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." msgstr "Barra de desplaçament: 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'interfície gràfica" @@ -1647,13 +1949,22 @@ msgstr "E229: No s'ha pogut iniciar l'interfície gràfica" 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 vàlida" + msgid "E231: 'guifontwide' invalid" msgstr "E231: El valor de 'guifontwide' no és vàlid" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: El valor de 'imactivatekey' no és vàlid" + #, c-format msgid "E254: Cannot allocate color %s" msgstr "E254: No s'ha pogut assignar memòria pel color %s" +msgid "No match at cursor, finding next" +msgstr "Cap coincidència al cursor, cercant la següent" + msgid "Vim dialog..." msgstr "Diàleg 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 destruïda 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 "&Cancel·la" 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 "Desfés" +msgid "Find &Next" +msgstr "Cerca el &següent" + +msgid "&Replace" +msgstr "&Substitueix" + +msgid "Replace &All" +msgstr "Substitueix-les &totes" + +msgid "&Undo" +msgstr "&Desfés" #, 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 procés fill.\n" +msgstr "" +"\n" +"Enviant un missatge per finalitzar el procés fill.\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: No s'ha trobat el títol 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 memòria 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 vàlida" + +msgid "&Dismiss" +msgstr "&Ignora" + +msgid "no specific match" +msgstr "cap coincidència específica" + +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'autòmata hangul" +msgid "E550: Missing colon" +msgstr "E550: Falta un caràcter \":\"" + +msgid "E551: Illegal component" +msgstr "E551: Component il·legal" + +msgid "E552: digit expected" +msgstr "E552: S'esperava un dígit" + +#, c-format +msgid "Page %d" +msgstr "Pàgina %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 pàgina %d (%d%%)" + +#, c-format +msgid " Copy %d of %d" +msgstr " Còpia %d de %d" + +#, c-format +msgid "Printed: %s" +msgstr "S'ha imprès: %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 vàlida" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Joc de caràcters 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 # línia" +msgstr "" +"\n" +" # línia" msgid "filename / context / line\n" msgstr "fitxer / context / línia\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 vàlida" + +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 línia" + +msgid "cannot replace line" +msgstr "no s'ha pogut substituir la línia" + +msgid "cannot insert line" +msgstr "no s'ha pogut inserir la línia" + +msgid "string cannot contain newlines" +msgstr "la cadena no pot contenir salts de línia" + +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 vàlid" + +msgid "window is invalid" +msgstr "la finestra no és vàlida" + +msgid "linenr out of range" +msgstr "nombre de línia fora d'abast" + +msgid "not allowed in the Vim sandbox" +msgstr "no permès a la gàbia 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 vàlida" - -msgid "expressions disabled at compile time" -msgstr "no s'ha compilat suport per expressions" - msgid "attempt to refer to deleted buffer" msgstr "intent de referència 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 instància d'una cadena" -msgid "cannot delete line" -msgstr "no s'ha pogut esborrar la línia" +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 línia" +msgid "E267: unexpected return" +msgstr "E267: retorn inesperat" -msgid "cannot insert line" -msgstr "no s'ha pogut inserir la línia" +msgid "E268: unexpected next" +msgstr "E268: 'next' inesperat" -msgid "string cannot contain newlines" -msgstr "la cadena no pot contenir salts de línia" +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 clàusula 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 vàlid" 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 línies" @@ -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 búfer/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 referències 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: referència del búfer/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 línia" @@ -2195,8 +2732,8 @@ msgstr "E573: S'ha usat una ID de servidor no vàlida: %s" msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: El registre de l'instància 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 després de" -msgid "Garbage after option" -msgstr "Porqueria després de l'opció" +msgid "Garbage after option argument" +msgstr "Porqueria després 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 vàlid 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 permís 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 "\nMés informació amb: \"vim -h\"\n" +msgstr "" +"\n" +"Més 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 majúscules" + +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\tDesprés d'això només 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>\tAlçada 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 <títol 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 lín col fitxer/text" +msgstr "" +"\n" +"marca lín col fitxer/text" #. Highlight title msgid "" "\n" " jump line col file/text" -msgstr "\n salt lín col fitxer/text" +msgstr "" +"\n" +" salt lín col fitxer/text" + +#. Highlight title +msgid "" +"\n" +"change line col text" +msgstr "" +"\n" +"canvi línia 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 més a menys recent):\n" +msgstr "" +"\n" +"# Llista de salts (de més 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 més a menys recent):\n" +msgstr "" +"\n" +"# Historial de marques en fitxers (de més 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 mètode 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 mètode 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 pàgina és inferior al valor mínim).\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 LÍNIES" msgid "???LINE COUNT WRONG" -msgstr "???COMPTADOR DE LÍNIA INCORRECTE" +msgstr "???RECOMPTE DE LÍNIES 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 línies amb ???" +msgid "See \":help E312\" for more information." +msgstr "Vegeu \":help E312\" per a més 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 " màquina: " @@ -2844,12 +3448,16 @@ msgstr " màquina: " msgid "" "\n" " host name: " -msgstr "\n màquina: " +msgstr "" +"\n" +" màquina: " msgid "" "\n" " process ID: " -msgstr "\n ID del procés: " +msgstr "" +"\n" +" ID del procés: " 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'enllaços simbòlics 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 només lectura\n" -"&Edita\n" -"&Recupera\n" -"&Surt" +"&Obrir només-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 només lectura\n" -"&Edita\n" -"&Recupera\n" -"&Surt\n" -"E&limina'l" +"&Obrir només-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ú només 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--- Menús ---" +msgstr "" +"\n" +"--- Menús ---" 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 "línia %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 vàlid: '%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 introduïu una ordre per a continuar" -msgid "Hit ENTER or type command to continue" -msgstr "Premeu ENTRAR o introduïu una ordre per continuar" +#, c-format +msgid "%s line %ld" +msgstr "%s línia %ld" msgid "-- More --" msgstr "-- Més --" -msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" -msgstr " (ENTRAR/RETROCÉS: línia, ESPAI/b; pàgina, d/u; mitja pàgina, q: surt)" - -msgid " (RET: line, SPACE: page, d: half page, q: quit)" -msgstr " (ENTRAR: línia, ESPAI: pàgina, d: mitja pàgina, q: surt)" +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " ESPAI/d/j: pantalla/pàgina/línia avall, b/u/k: amunt, q: sortir" msgid "Question" msgstr "Pregunta" @@ -3120,6 +3750,9 @@ msgstr "" "&Descarta-ho tot\n" "&Cancel·la" +msgid "Select Directory dialog" +msgstr "Diàleg de selecció de directori" + msgid "Save File dialog" msgstr "Diàleg de desar fitxer" @@ -3130,9 +3763,21 @@ msgstr "Diàleg 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 només lectura" +msgid "Type number or click with mouse (<Enter> cancels): " +msgstr "Introduïu un número o feu clic amb el ratolí (<Entrar> per a cancel·lar): " + +msgid "Choice number (<Enter> cancels): " +msgstr "Trieu un número (<Entrar> per a cancel·lar): " + msgid "1 more line" msgstr "1 línia més" @@ -3150,6 +3795,9 @@ msgstr "%ld línies 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, màxim ús %lu\n" +msgstr "" +"\n" +"[octets] total assignat-alliberat %lu-%lu, en ús %lu, màxim ú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 línia 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 vàlid: '**[núm]' ha d'estar al final del path, o seguit de '%s'" #, c-format @@ -3233,15 +3884,6 @@ msgstr "E346: No s'ha trobat cap més directori \"%s\" en el cdpath" msgid "E347: No more file \"%s\" found in path" msgstr "E347: No s'ha trobat cap més fitxer \"%s\" en el path" -msgid "E550: Missing colon" -msgstr "E550: Falta un caràcter \":\"" - -msgid "E551: Illegal component" -msgstr "E551: Component il·legal" - -msgid "E552: digit expected" -msgstr "E552: S'esperava un dígit" - #. 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'accés 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 caràcters +msgid "Type :quit<Enter> to exit Vim" +msgstr "Feu :quit<Entrar> per sortir" + #, c-format msgid "1 line %sed 1 time" msgstr "1 línia %sada 1 vegada" @@ -3291,6 +3963,9 @@ msgstr "1 línia sagnada " msgid "%ld lines indented " msgstr "%ld línies 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 línies canviades" msgid "freeing %ld lines" msgstr "alliberant %ld línies" +msgid "block of 1 line yanked" +msgstr "bloc d'1 línia copiat" + msgid "1 line yanked" msgstr "1 línia copiada" #, c-format +msgid "block of %ld lines yanked" +msgstr "bloc de %ld línies copiat" + +#, c-format msgid "%ld lines yanked" msgstr "%ld línies 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 il·legal" +#, 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 vàlid: '%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 Línies seleccionades; %ld de %ld Paraules; %ld de %ld Octets" +msgstr "Selecció %s%ld de %ld Línies; %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 Línies; %ld de %ld Paraules; %ld de %ld Caràcters; %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; Línia %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; Línia %ld de %ld; Paraula %ld de %ld; Caràcter %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à permès en una línia de mode" -msgid "" -"\n" -"\tLast set from " -msgstr "\n Definit per últim cop a " - msgid "E521: Number required after =" msgstr "E521: Es requereix un número després de =" @@ -3420,7 +4106,7 @@ msgid "E595: contains unprintable or wide character" msgstr "E595: Conté un caràcter no imprimible o ample" msgid "E596: Invalid font(s)" -msgstr "E596: El tipus de lletra no és vàlid" +msgstr "E596: Fosa no vàlida" 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 vàlid" 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 vàlid" +msgstr "E534: Fosa ampla no vàlida" #, 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 línia" -msgid "Could not allocate memory for command line." -msgstr "No s'ha pogut assignar memòria per la línia 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 vàlid" + +#, 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 vàlid 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 caràcter no vàlid després 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 vàlid 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: Referència il·legal 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: Caràcter invàlid després de %s%%[dxouU]" + +#, c-format msgid "E71: Invalid character after %s%%" msgstr "E71: Hi ha un caràcter invàlid després de %s%%" #, c-format +msgid "E769: Missing ] after %s[" +msgstr "E769: Falta un ] després 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 "Subcoincidències externes:\n" -#, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld línies 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 LÍNIA" -msgid " LINE" -msgstr " LÍNIA" +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Ó LÍNIA" -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 inclòs: %s" +#, c-format +msgid "Searching included file %s" +msgstr "Cercant al fitxer inclòs %s" + msgid "E387: Match is on current line" msgstr "E387: El resultat es troba a la línia 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 línia %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 línia %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: Caràcter 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ó ortogràfica 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ó més 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 línia %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 vàlid a %s línia %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG després d'usar marques a %s línia %d: %s" + +#, c-format +msgid "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d" +msgstr "Definir COMPOUNDFORBIDFLAG després de l'element PFX pot tenir resultats inesperats a %s línia %d" + +#, c-format +msgid "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d" +msgstr "Definir COMPOUNDPERMITFLAG després de l'element PFX pot tenir resultats inesperats a %s línia %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Valor de COMPOUNDWORDMAX incorrecte a %s línia %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Valor de COMPOUNDMIN incorrecte a %s línia %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Valor de COMPOUNDSYLMAX incorrecte a %s línia %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Valor de CHECKCOMPOUNDPATTERN incorrecte a %s línia %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 línia %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Afix duplicat a %s línia %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 línia %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "S'esperava Y o N a %s línia %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Condició errònia a %s línia %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "S'esperava recompte REP(SAL) a %s línia %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "S'esperava un recompte MAP a %s línia %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Caràcter duplicat en un element MAP a %s línia %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Element duplicat o no reconegut a %s línia %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Falta una línia FOL/LOW/UPP a %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "Element COMPOUNDSYLMAX sense síl·laba" + +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 línia SOFO%s a %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "Línies SAL i SOFO a %s" + +#, c-format +msgid "Flag is not a number in %s line %d: %s" +msgstr "La marca no és un número a %s línia %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Marca il·legal a %s línia %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 "línia %6d, paraula %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Paraula duplicada a %s línia %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "Primera paraula duplicada a %s línia %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 caràcters 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 línia /encoding= duplicada a %s línia %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "S'ignora una línia /encoding= després d'una paraula a %s línia %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "S'ignora la línia /regions= duplicada a %s línia %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "Massa regions a %s línia %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "Línia / ignorada a %s línia %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Número de regió no vàlid a %s línia %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Marques no reconegudes a %s línia %d: %s" + +#, c-format +msgid "Ignored %d words with non-ASCII characters" +msgstr "S'ignoren %d paraules amb caràcters 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 fonètica..." + +#, c-format +msgid "Number of words after soundfolding: %ld" +msgstr "Nombre de paraules després de l'expansió per similitud fonètica: %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 memòria 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: Només es suporten fins a 8 regions" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Regió no vàlida 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 caràcters de paraula difereixen entre fitxers d'ortografia" + +msgid "Sorry, no suggestions" +msgstr "Cap suggeriment" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Llàstima, només %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ó ortogràfica 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ó més 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: Caràcter duplicat a l'entrada MAP" + +#, c-format msgid "E390: Illegal argument: %s" msgstr "E390: L'argument és il·legal: %s" @@ -4013,17 +5081,23 @@ msgstr " línies abans de la línia 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 "; coincidència " msgid " line breaks" msgstr " salts de línia" +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à permès aquí" +msgstr "E407: %s no està permès 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 vàlida: %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 il·legal: %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: Caràcter no imprimible en el nom del grup" + +msgid "W18: Invalid character in group name" +msgstr "W18: Hi ha un caràcter no vàlid 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 número (<Entrar> per avortar): " - msgid "E427: There is only one matching tag" msgstr "E427: Només 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 línia en fitxer/text" +msgstr "" +"\n" +" # A etiq DES DE línia 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 més vell" + +msgid "Already at newest change" +msgstr "Ja sou en el canvi més recent" + +#, c-format +msgid "Undo number %ld not found" +msgstr "Línia de desfer número %ld no trobada" + msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: els nombres de línia no són correctes" -msgid "1 change" -msgstr "1 canvi" +msgid "more line" +msgstr "línia més" + +msgid "more lines" +msgstr "línies més" + +msgid "line less" +msgstr "línia menys" + +msgid "fewer lines" +msgstr "línies 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 "després" + +msgid "Nothing to undo" +msgstr "No hi ha res per desfer" + +msgid "number changes time" +msgstr "número 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à permès després de undo" msgid "E439: undo list corrupt" msgstr "E439: La llista de desfer està corrompuda" @@ -4306,12 +5434,23 @@ msgstr "E440: Falta una línia 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ó reduïda " +msgstr "" +"\n" +"Versió reduïda " msgid "" "\n" "Tiny version " -msgstr "\nVersió mínima " +msgstr "" +"\n" +"Versió mínima " 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 caràcters msgid "type :help iccf<Enter> for information " -msgstr "feu :help iccf<Entrar> per més informació " +msgstr "feu :help iccf<Entrar> per a més informació " # amplada 53 caràcters msgid "type :q<Enter> to exit " -msgstr "feu :q<Entrar> per sortir " +msgstr "feu :q<Entrar> per a sortir " # amplada 53 caràcters 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 caràcters -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 caràcters 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 caràcters 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 caràcters 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 caràcters 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 caràcters msgid " for two modes " -msgstr " per dos modes" +msgstr " per a dos modes " # Això ha de lligar amb la traducció del menú # amplada 53 caràcters 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 caràcters 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 caràcters +msgid "type :help sponsor<Enter> for information " +msgstr "feu :help sponsor<Entrar> per a informació " + +# amplada 53 caràcters +msgid "type :help register<Enter> for information " +msgstr "feu :help register<Entrar> per a informació " + +# amplada 53 caràcters +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 caràcters 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 "Només 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 "Només 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 gàbia no permesa sense el mòdul Safe" msgid "Edit with &multiple Vims" msgstr "Edita en &múltiples Vims" @@ -4624,15 +5808,15 @@ msgstr "Edita en &múltiples Vims" msgid "Edit with single &Vim" msgstr "Edita en un sol &Vim" -msgid "&Diff with Vim" -msgstr "Mostra les &diferències amb Vim" +msgid "Diff with Vim" +msgstr "Mostra les diferències 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 vàlida" msgid "E17: \"%s\" is a directory" msgstr "E17: \"%s\" és un directori" -msgid "E18: Unexpected characters before '='" -msgstr "E18: Caràcters 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 només lectura \"%s\"" +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: No s'ha pogut canviar la variable de només lectura \"%s\"" + +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: No s'ha pogut definir la variable dins la gàbia: \"%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à permès dins d'una gàbia" msgid "E523: Not allowed here" msgstr "E523: No està permès aquí" @@ -4945,3 +6139,83 @@ msgstr "E449: S'ha rebut una expressió no vàlida" 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 només-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 més memòria 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 vàlid" + +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/RETROCÉS: línia, ESPAI/b; pàgina, d/u; mitja pàgina, q: surt)" +#~ msgid " (RET: line, SPACE: page, d: half page, q: quit)" +#~ msgstr " (ENTRAR: línia, ESPAI: pàgina, d: mitja pàgina, q: surt)" +#~ msgid "...(truncated)" +#~ msgstr "...(truncat)" +#~ msgid "Could not allocate memory for command line." +#~ msgstr "No s'ha pogut assignar memòria per la línia 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 " LÍNIA" +#~ msgid "Enter nr of choice (<CR> to abort): " +#~ msgstr "Entreu un número (<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 käyttäjät on nörttejä. Sanasto on jargonia :-p +# +# Lähinnä latin-1:tä, sillä vim pitää portata ilmeisen obskuureille +# alustoille. Myös: pluralit puuttuu, ohjelman käyttöliittymän fontti +# tasavälinen, tila rajattu, jne. jne., luovia ratkaisuja edessä. +# +# Sanastosta: +# Fold on sellainen moderneissa ohjelmointi-IDE:issä oleva toiminto, jolla +# lohko koodia esim. funktio piilotetaan näkymästä: suom. taitos alkup. +# analogian mukaan +# source v. lataa tiedoston, kuten bash-komento source (tai .) +# +# Kääntämättä: +# 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: Mitään puskuria ei voitu varata, lopetetaan..." + +msgid "E83: Cannot allocate buffer, using other one..." +msgstr "E83: Puskuria ei voitu varata, käytetään 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: Ensimmäisen 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 löydy" + +#, c-format +msgid "E93: More than one match for %s" +msgstr "E93: %s täsmää useampaan kuin yhteen puskuriin" + +#, c-format +msgid "E94: No matching buffer for %s" +msgstr "E94: %s ei täsmää yhteenkään 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 "[Nimetön]" + +#. 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: Tämä puskuri ei ole diff-tilassa" + +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: Yksikään muu diff-tilan puskurit ei ole muokattavissa" + +msgid "E100: No other buffer in diff mode" +msgstr "E100: Yksikään 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, käytettävän valinta ei onnistu" + +#, c-format +msgid "E102: Can't find buffer \"%s\"" +msgstr "E102: Puskuria %s ei löydy" + +#, 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 käyttää digraafissa" + +msgid "E544: Keymap file not found" +msgstr "E544: Näppäinkarttaa ei löydy" + +msgid "E105: Using :loadkeymap not in a sourced file" +msgstr "E105: Käytetään :loadkeymapia ladatun tiedoston ulkopuolella" + +msgid "E791: Empty keymap entry" +msgstr "E791: Tyhjä keymap-kenttä" + +msgid " Keyword completion (^N^P)" +msgstr " Avainsanatäydennys (^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 " Täysrivitäydennys (^L^N^P)" + +msgid " File name completion (^F^N^P)" +msgstr " Tiedostonimitäydennys (^F^N^P)" + +msgid " Tag completion (^]^N^P)" +msgstr " Tägitäydennys (^]^N^P)" + +msgid " Path pattern completion (^N^P)" +msgstr " Polkukuviotäydennys (^N^P)" + +msgid " Definition completion (^D^N^P)" +msgstr " Määritelmätäydennys (^D^N^P)" + +msgid " Dictionary completion (^K^N^P)" +msgstr " Sanakirjatäydennys (^K^N^P)" + +msgid " Thesaurus completion (^T^N^P)" +msgstr " Thesaurus-täydennys (^T^N^P)" + +msgid " Command-line completion (^V^N^P)" +msgstr " Komentorivitäydennys (^V^N^P)" + +msgid " User defined completion (^U^N^P)" +msgstr " Käyttäjän määrittelemä täydennys (^U^N^P)" + +msgid " Omni completion (^O^N^P)" +msgstr " Omnitäydennys (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr " Oikaisulukuehdotus (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Avainsanan paikallinen täydennys (^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 " (syöttö) 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 tägejä." + +msgid " Adding" +msgstr " Lisätään" + +#. 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 lähtöpisteessä" + +msgid "Word from other line" +msgstr "Sana toisella rivillä" + +msgid "The only match" +msgstr "Ainoa täsmäys" + +#, c-format +msgid "match %d of %d" +msgstr "täsmäys %d/%d" + +#, c-format +msgid "match %d" +msgstr "täsmäys %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: Määrittelemätön 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 käyttää merkintää [:]" + +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Väärä 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 vähemmän kuin listan alkioita" + +msgid "E688: More targets than List items" +msgstr "E688: Kohteita on enemmän 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 enemmän 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 käsittelyyn" + +msgid "E109: Missing ':' after '?'" +msgstr "E109: ?:n jälkeen 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 syvälle näytettäväksi" + +#, 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 syöttötilassa" + +#. +#. * 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 käyttää" + +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 jälkeen" + +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 lähettäminen 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 lähetys 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: Väliaikaistiedostoon kirjoittaminen ei onnistunut" + +msgid "E703: Using a Funcref as a number" +msgstr "E703: Funcref ei käy numerosta" + +msgid "E745: Using a List as a number" +msgstr "E745: Lista ei käy numerosta" + +msgid "E728: Using a Dictionary as a number" +msgstr "E728: Sanakirja ei käy numerosta" + +msgid "E729: using Funcref as a String" +msgstr "E729: Funcref ei käy merkkijonosta" + +msgid "E730: using List as a String" +msgstr "E730: Lista ei käy merkkijonosta" + +msgid "E731: using Dictionary as a String" +msgstr "E731: Sanakirja ei käy 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 täsmää: %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 syvälle 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 sisältää 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 enemmän 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 sisällä" + +#, 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ä päälle" + +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 " EPÄONNISTUI" + +#. 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: Käytä !-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 käytöstä" + +#, 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" +"Yritetäänkö?" + +#, 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 eivät toimi rvimissä" + +msgid "E146: Regular expressions can't be delimited by letters" +msgstr "E146: Säännöllistä 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 täsmäys" + +msgid "1 substitution" +msgstr "1 korvaus" + +#, c-format +msgid "%ld matches" +msgstr "%ld täsmäystä" + +#, 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: Säännöllinen ilmaus puuttuu globaalista" + +#, c-format +msgid "Pattern found in every line: %s" +msgstr "Kuvio löytyi 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 löydy %s-ohjetta kohteelle %s" + +#, c-format +msgid "E149: Sorry, no help for %s" +msgstr "E149: Sori, ei löydy ohjetta kohteelle %s" + +#, c-format +msgid "Sorry, help file \"%s\" not found" +msgstr "Sori, ohjetiedostoa %s ei löydy" + +#, 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 tägistä %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ä määritelty" + +#, 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 LÖYTYNYT)" + +msgid " (not supported)" +msgstr " (ei tuettu)" + +msgid "[Deleted]" +msgstr "[Poistettu]" + +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Siirrytään vianetsintätilaan, 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 käskyllä :profile start <fname>" + +#, c-format +msgid "Save changes to \"%s\"?" +msgstr "Tallennetaanko muutokset tiedostoon %s?" + +msgid "Untitled" +msgstr "Nimetön" + +#, c-format +msgid "E162: No write since last change for buffer \"%s\"" +msgstr "E162: Muutoksia ei ole kirjoitettu puskurin %s viime muutoksen jälkeen" + +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: Ensimmäisen 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: kääntäjää ei tueta: %s" + +#, c-format +msgid "Searching for \"%s\" in \"%s\"" +msgstr "Etsitään ilmausta %s kohteesta %s" + +#, c-format +msgid "Searching for \"%s\"" +msgstr "Etsitään ilmausta %s" + +#, c-format +msgid "not found in 'runtimepath': \"%s\"" +msgstr "ei löydy 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 "ympäristömuuttuja" + +msgid "error handler" +msgstr "virhekäsittelin" + +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "W15: Varoitus: Väärä 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 "Käytössä 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 "Siirrytään 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: Käyttäjän määrittelemän komennon monimerkityksinen käyttö" + +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 kääntää" + +msgid "E494: Use w or w>>" +msgstr "E494: Käytä w:tä tai w>>:aa" + +msgid "E319: Sorry, the command is not available in this version" +msgstr "E319: Komento ei ole käytettävissä tässä 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, käytä !:ä korvataksesi" + +msgid "" +"\n" +" Name Args Range Complete Definition" +msgstr "" +"\n" +" Nimi Arg Arvot Valmis Määritelmä" + +msgid "No user-defined commands found" +msgstr "Ei käyttäjän määrittelemiä komentoja" + +msgid "E175: No attribute specified" +msgstr "E175: Ei attribuutteja määriteltynä" + +msgid "E176: Invalid number of arguments" +msgstr "E176: Väärä määrä attribuutteja" + +msgid "E177: Count cannot be specified twice" +msgstr "E177: Lukumäärää ei voi määritellä kahdesti" + +msgid "E178: Invalid default value for count" +msgstr "E178: Lukumäärän oletusarvo on väärä" + +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: Käyttäjän määrittelemän komennon pitää alkaa suuraakkosella" + +#, c-format +msgid "E184: No such user-defined command: %s" +msgstr "E184: Käyttäjän komentoa ei ole olemassa: %s" + +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Virheellinen täydennysarvo: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "E468: Täydennysargumentti sopii vain itse määriteltyyn täydennykseen" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Itse määritelty täydennys vaatii funktioargumentin" + +#, c-format +msgid "E185: Cannot find color scheme %s" +msgstr "E185: Väriteemaa %s ei löydy" + +msgid "Greetings, Vim user!" +msgstr "Tervehdys, Vimin käyttäjä." + +msgid "E784: Cannot close last tab page" +msgstr "E784: Viimeistä välilehteä ei voi sulkea" + +msgid "Already only one tab page" +msgstr "Vain yksi välilehti jäljellä 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 tällä 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 näkymä" + +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 taaksepäin 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-täsmäysnimeä 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 tässä 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 jälkeen" + +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 "täginimi" + +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 "Syöterivi" + +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 käytössä 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 tekivät tiedostosta lukukelvottoman" + +msgid "E201: *ReadPre autocommands must not change current buffer" +msgstr "E201: *ReadPre-autocommand-komennot eivät saa muuttaa puskuria" + +msgid "Vim: Reading from stdin...\n" +msgstr "Vim: Luetaan vakiosyötteestä...\n" + +msgid "Reading from stdin..." +msgstr "Luetaan vakiosyötteestä" + +#. 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 eräs 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 "[pitkät 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 löytää väliaikaistiedstoa muuntamiseksi" + +msgid "Conversion with 'charconvert' failed" +msgstr "Muunnos charconvert epäonnistui" + +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 määrä 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 käytöstä 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)" + +# tietääkseni resurssiforkki on applen tiedostojärjestelmän tunnistejuttujuttu +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: resurssiosa häviäisi (lisää komentoon ! ohittaaksesi)" + +msgid "E214: Can't find temp file for writing" +msgstr "E214: Ei voi löytää väliaikaistiedostoa 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 epäonnistui (tyhjää fenc ohittaaksesi)" + +msgid "E514: write error (file system full?)" +msgstr "E514: kirjoitusvirhe (tiedostojärjestelmä täysi)" + +msgid " CONVERSION ERROR" +msgstr " MUUNNOSVIRHE" + +msgid "[Device]" +msgstr "[Laite]" + +msgid "[New]" +msgstr "[Uusi]" + +msgid " [a]" +msgstr " [a]" + +msgid " appended" +msgstr " lisätty" + +msgid " [w]" +msgstr " [w]" + +msgid " written" +msgstr " kirjoitettu" + +msgid "E205: Patchmode: can't save original file" +msgstr "E205: Patch-tilassa ei voi tallentaa alkuperäistiedostoa" + +msgid "E206: patchmode: can't touch empty original file" +msgstr "E206: patch-tilassa ei voi muuttaa tyhjää alkuperäistiedostoa" + +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: Alkuperäistiedosto voi hävitä 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 sörkkii 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 jälkeen!" + +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 lisätietoja." + +#, c-format +msgid "W11: Warning: File \"%s\" has changed since editing started" +msgstr "W11: Varoitus: Tiedostoa %s on muutettu muokkauksen aloituksen jälkeen" + +msgid "See \":help W11\" for more info." +msgstr ":help W11 kertoo lisätietoja." + +#, c-format +msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" +msgstr "" +"W16: Varoitus: Tiedoston %s oikeuksia on muutettu muokkauksen aloituksen " +"jälkeen" + +msgid "See \":help W16\" for more info." +msgstr ":help W16 kertoo lisätietoja." + +#, c-format +msgid "W13: Warning: File \"%s\" has been created after editing started" +msgstr "W13: Varoitus: Tiedosto %s on luotu muokkauksen aloituksen jälkeen" + +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 jälkeen: %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 täsmääviä 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ä tällä foldmethodilla" + +msgid "E351: Cannot delete fold with current 'foldmethod'" +msgstr "E351: Taitosta ei voi poistaa tällä 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 merkinnälle %s on jo olemassa" + +#, c-format +msgid "E225: global mapping already exists for %s" +msgstr "E225: globaali kuvaus merkinnälle %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 löydy" + +msgid "No mapping found" +msgstr "Kuvausta ei löydy" + +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 käynnistys 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 löydy" + +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: Väriä %s ei voi määritellä" + +msgid "No match at cursor, finding next" +msgstr "Ei täsmäystä kursorin alla, etsitään seuraava" + +msgid "Vim dialog..." +msgstr "Vim-ikkuna..." + +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Kyllä\n" +"&Ei\n" +"&Peru" + +msgid "Input _Methods" +msgstr "Syöte_menetelmät" + +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 "Ylös" + +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 lähetti die-pyynnön\n" + +msgid "Close" +msgstr "Sulje" + +msgid "New tab" +msgstr "Uusi välilehti" + +msgid "Open Tab..." +msgstr "Avaa välilehti..." + +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Pääikkuna tuhoutui odottamatta\n" + +msgid "Font Selection" +msgstr "Fontin valinta" + +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Käytettiin CUT_BUFFER0:aa tyhjän 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 käyttää fonttia %s" + +# varmaan SIGTERM, ei SIGKILL tms. +msgid "" +"\n" +"Sending message to terminate child process.\n" +msgstr "" +"\n" +"Lähetetään viestiä lapsiprosessien terminoimiseksi.\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Ikkunan otsikkoa ei löydy %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, käytä 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 välilehti" + +msgid "Open tab..." +msgstr "Avaa välilehti..." + +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Etsi merkkijonoa (\\\\:llä löytää \\:t)" + +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Etsi ja korvaa (\\\\:llä löytää \\: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 käytössä" + +msgid "Directory\t*.nothing\n" +msgstr "Hakemisto\t*.nothing\n" + +msgid "Invalid font specification" +msgstr "Virheellinen fonttimääritys" + +msgid "&Dismiss" +msgstr "&Ohita" + +msgid "no specific match" +msgstr "ei tarkkaa täsmäystä" + +msgid "Vim - Font Selector" +msgstr "Vim - fonttivalitsin" + +msgid "Name:" +msgstr "Nimi:" + +#. create toggle button +msgid "Show size in Points" +msgstr "Näytä 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 värikartan alkiota, värit voivat mennä väärin" + +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: Seuraavien merkistöjoukkojen 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 tasavälinen" + +#, 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: pitäisi 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 väärä" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Tukematon monitvauinen merkistökoodaus 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 löydy" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: PostScript-resurssitiedostoa cidfont.ps ei löydy" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: Postscript-resurssitiedosta %s.ps ei löydy" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: Tulostuskoodaukseen %s muunto ei onnistu" + +msgid "Sending to printer..." +msgstr "Lähetetään tulostimelle..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: PostScript-tiedoston tulostus epäonnistui" + +msgid "Print job sent." +msgstr "Tulostustyö lähetetty." + +msgid "Add a new database" +msgstr "Lisää uusi tietokanta" + +msgid "Query for a pattern" +msgstr "Hae kuviota" + +msgid "Show this message" +msgstr "Näytä tämä viesti" + +msgid "Kill a connection" +msgstr "Tapa yhteys" + +msgid "Reinit all connections" +msgstr "Alusta uudelleen yhteydet" + +msgid "Show connections" +msgstr "Näytä yhteydet" + +#, c-format +msgid "E560: Usage: cs[cope] %s" +msgstr "E560: Käyttö: cs[cope] %s" + +msgid "This cscope command does not support splitting the window.\n" +msgstr "Tämä cscope-komento ei tue ikkunan jakamista.\n" + +msgid "E562: Usage: cstag <ident>" +msgstr "E562: Käyttö: cstag <ident>" + +msgid "E257: cstag: tag not found" +msgstr "E257: cstag: tägia ei löydy" + +#, 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 "Lisätty 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 epäonnistui" + +msgid "E623: Could not spawn cscope process" +msgstr "E623: Cscope-prosessin luonti epäonnistui" + +msgid "cs_create_connection: fdopen for to_fp failed" +msgstr "cs_create_connection: fdopen to_fp epäonnistui" + +msgid "cs_create_connection: fdopen for fr_fp failed" +msgstr "cs_create_connection: fdopen fr_fp epäonnistui" + +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 täsmäyksiä 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 (Käyttö: %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 lisätty" + +msgid "E569: maximum number of cscope connections reached" +msgstr "E569: enimmäismäärä 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-tägi: %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 lisäyspolku\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 käytöstä käännösaikana" + +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 lisätä riviä" + +msgid "string cannot contain newlines" +msgstr "merkkijono ei saa sisältää 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: käsittelemätön poikkeus" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: tuntematon longjmp-tila %d" + +msgid "Toggle implementation/definition" +msgstr "Vaihda toteutuksen ja määritelmän välillä" + +msgid "Show base class of" +msgstr "Näytä kantaluokka kohteelle" + +msgid "Show overridden member function" +msgstr "Näytä korvattu jäsenfunktio" + +msgid "Retrieve from file" +msgstr "Jäljitä tiedostosta" + +msgid "Retrieve from project" +msgstr "Jäljitä projektista" + +msgid "Retrieve from all projects" +msgstr "Jäljitä kaikista projekteista" + +msgid "Retrieve" +msgstr "Jäljitä" + +msgid "Show source of" +msgstr "Näytä lähdekoodi kohteelle" + +msgid "Find symbol" +msgstr "Etsi symboli" + +msgid "Browse class" +msgstr "Selaa luokkaa" + +msgid "Show class in hierarchy" +msgstr "Näytä luokka hierarkiassa" + +msgid "Show class in restricted hierarchy" +msgstr "Näytä 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 "Näytä 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 lisäys ei onnistu" + +msgid "unknown flag: " +msgstr "tuntematon asetus: " + +msgid "unknown vimOption" +msgstr "tuntematon vimOption" + +msgid "keyboard interrupt" +msgstr "näppäimistökeskeytys" + +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 rekisteröidä: 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 rekisteröidä: puskurin tai ikkunan viitettä ei löydy" + +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 rekisteröinti ei onnistu" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Komennon lähetys 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 perässä" + +msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" +msgstr "Liikaa +komentoja, -c komentoja tai --cmd komentoja" + +msgid "Invalid argument for" +msgstr "Väärä 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 "Tähän Vimiin ei ole käännetty 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 käynnistys 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: Syöte 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" +"Lisätietoja: \"vim -h\"\n" + +msgid "[file ..] edit specified file(s)" +msgstr "[tiedosto ..] muokkaa tiedostoja" + +msgid "- read text from stdin" +msgstr "- lue vakiosyötteestä" + +msgid "-t tag edit file where tag is defined" +msgstr "-t tägi muokkaa tiedostoa tägistä" + +msgid "-q [errorfile] edit file with first error" +msgstr "-q [virhetiedosto] muokkaa tiedostoa ensimmäisestä virheestä" + +msgid "" +"\n" +"\n" +"usage:" +msgstr "" +"\n" +"\n" +"käyttö:" + +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 / tehdäksesi 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ä tämän jälkeen" + +msgid "--literal\t\tDon't expand wildcards" +msgstr "--literal\t\tÄlä käsittele jokerimerkkejä " + +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\trekisteröi 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 käynnistyksessä" + +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 (eräajo)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\tHelppokäyttötila (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 käytöstä" + +msgid "-M\t\t\tModifications in text not allowed" +msgstr "-M\t\t\tTekstin muokkaus pois käytöstä" + +msgid "-b\t\t\tBinary mode" +msgstr "-b\t\t\tBinääritila" + +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\tVianetsintätila" + +msgid "-n\t\t\tNo swap file, use memory only" +msgstr "-n\t\t\tEi swap-tiedostoja, käytä 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\tÄlä käytä newcli:tä ikkunan avaamiseen" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <laite>\t\tKäytä <laitetta> IO:hon" + +msgid "-A\t\t\tstart in Arabic mode" +msgstr "-A\t\t\tkäynnistä arabia-tilassa" + +msgid "-H\t\t\tStart in Hebrew mode" +msgstr "-H\t\t\tkäynnistä heprea-tilassa" + +msgid "-F\t\t\tStart in Farsi mode" +msgstr "-F\t\t\tkäynnistä 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\tKäytä <vimrc>-tiedostoa .vimrc:iden sijasta" + +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\t\tKäytä <gvimrc>-tiedostoa .gvimrc:iden sijasta" + +msgid "--noplugin\t\tDon't load plugin scripts" +msgstr "--noplugin\t\tÄlä lataa liitännäisiä" + +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tAvaa N välilehteä (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> ensimmäisen tiedoston latauduttua" + +msgid "-S <session>\t\tSource file <session> after loading the first file" +msgstr "-S <sessio>\t\tLataa <sessio> ensimmäisen 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 <näyttö>\tYhdistä vim tiettyyn X-palvelimeen" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tÄlä 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 välilehti joka " +"tiedostolle" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "" +"--remote-send <näppäimiä>\tLähetä <näppäimiä> painalluksina Vimille ja lopeta" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "" +"--remote-expr <ilmaus>\tKäsittele <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>\tLähetä Vim-palvelimelle <nimi> tai luo se" + +msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" +msgstr "-i <viminfo>\t\tKäytä <viminfo>-tiedostoa .viminfon sijaan" + +msgid "-h or --help\tPrint Help (this message) and exit" +msgstr "-h tai --help\tTulosta ohje (tämä 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 <näyttö>\tSuorita vim <näytössä>" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tKäynnistä pienennettynä" + +msgid "-name <name>\t\tUse resource as if vim was <name>" +msgstr "-name <nimi>\t\tKäytä 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 <väri>\tKäytä <väriä> taustavärinä (myös: -bg)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "-foreground <väri>\tKäytä <väriä> tekstin värinä (myös: -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <fontti>\t\tKäytä <fonttia> tekstissä (myös: -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <fontti>\tKäytä <fonttia> lihavoidussa tekstissä" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <fontti>\tKäytä <fonttia> kursivoidussa tekstissä" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "" +"-geometry <geom>\tKäytä mittoja <geom> ikkunan asetteluun (myös: -geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "-borderwidt <leveys>\tKäytä <leveyttä> reunuksissa (myös: -bw) " + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <leveys> Käytä <leveyttä> vierityspalkissa (myös: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "-menuheight <korkeus>\tKäytä <korkeutta> valikossa (myös: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tKäytä käänteisvärejä (myös: -rv) " + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tÄlä käytä käänteisvärejä (myös: +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 <näyttö>\tSuorita vim näytöllä <näyttö> (myös: --display)" + +# X-ikkunointijärjestelmässä saman sovelluksen saman luokan ikkunat +# tunnistetaan rooliresursseista +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <rooli>\tAseta pääikkunalle 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 isäntäohjelman sisään" + +#, fuzzy +#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +#~ msgstr "--socketid <xid>\tAvaa Vim annettuun GTK-olioon " + +msgid "No display" +msgstr "Ei näyttöä" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": Lähetys epäonnistui.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Lähetys epäonnistui. Yritetään suorittaa paikallisena\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d/%d muokattu" + +msgid "No display: Send expression failed.\n" +msgstr "Ei näyttöä: Ilmauksen lähetys epäonnistui.\n" + +msgid ": Send expression failed.\n" +msgstr ": Ilmauksen lähetys epäonnistui.\n" + +msgid "No marks set" +msgstr "Ei asetettuja merkkejä" + +#, c-format +msgid "E283: No marks matching \"%s\"" +msgstr "E283: Mikään merkki ei täsmää 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 käypä" + +msgid "E284: Cannot set IC values" +msgstr "E284: Ei voi asettaa IC-arvoja" + +msgid "E285: Failed to create input context" +msgstr "E285: Syötekontekstin luonti ei onnistu" + +msgid "E286: Failed to open input method" +msgstr "E286: Syötemetodin avaus ei onnistu" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "" +"E287: Varoitus: Ei voitu asettaa destroy-kutsua syötemetodipalvelimelle" + +msgid "E288: input method doesn't support any style" +msgstr "E288: syötemetodi ei tue tyylejä" + +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: syötemetodi ei tue tätä 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 käytöstä" + +msgid "E292: Input Method Server is not running" +msgstr "E292: Syötemetodipalvelin ei ole käynnissä" + +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-hyökkäys?)" + +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 hävisi!" + +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 päivittänyt swap-tiedostoa." + +msgid " cannot be used with this version of Vim.\n" +msgstr " ei toimi tämän version Vimin kanssa.\n" + +msgid "Use Vim version 3.0.\n" +msgstr "Käytä 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 tällä 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 vähimmäisarvoa pienempi).\n" + +#, c-format +msgid "Using swap file \"%s\"" +msgstr "Käytetään swap-tiedostoa %s" + +#, c-format +msgid "Original file \"%s\"" +msgstr "Alkuperäinen tiedosto %s" + +msgid "E308: Warning: Original file may have been changed" +msgstr "E308: Varoitus: Alkuperäistä 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 "???RIVIMÄÄRÄ 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 väärä (%s ei ole .swp-tiedosto?)" + +msgid "???BLOCK MISSING" +msgstr "???LOHKO PUUTTUU" + +msgid "??? from here until ???END lines may be messed up" +msgstr "??? tästä kohtaan ???LOPPU rivejä sekaisin" + +msgid "??? from here until ???END lines may have been inserted/deleted" +msgstr "??? tästä kohtaan ???LOPPU rivejä saattaa olla lisätty 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 lisätietoja" + +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 tämä 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 jälkikäteen.\n" +"\n" + +#. use msg() to start the scrolling properly +msgid "Swap files found:" +msgstr "Swap-tiedostoja löytyi:" + +msgid " In current directory:\n" +msgstr " Tässä hakemistossa:\n" + +msgid " Using specified name:\n" +msgstr " Määritellyllä nimellä:\n" + +msgid " In directory " +msgstr " Hakemistossa " + +msgid " -- none --\n" +msgstr " -- ei mitään --\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 näytä 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" +" käyttäjänimi: " + +msgid " host name: " +msgstr " laitenimi: " + +msgid "" +"\n" +" host name: " +msgstr "" +"\n" +" laitenimi: " + +msgid "" +"\n" +" process ID: " +msgstr "" +"\n" +" prosessin tunniste: " + +msgid " (still running)" +msgstr " (käynnissä)" + +msgid "" +"\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [ei toimi tämän Vim-version kanssa]" + +msgid "" +"\n" +" [not usable on this computer]" +msgstr "" +"\n" +" [ei toimi tällä 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 säilyttää, swap-tiedostoa ei ole" + +msgid "File preserved" +msgstr "Tiedosto säilytetty" + +msgid "E314: Preserve failed" +msgstr "E314: Säilyttäminen epäonnistui" + +#, 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 löydy" + +msgid "E317: pointer block id wrong 3" +msgstr "E317: osoitinlohkon tunnus väärä 3" + +msgid "stack_idx should be 0" +msgstr "stack_idx pitää olla 0" + +msgid "E318: Updated too many blocks?" +msgstr "E318: Päivitetty liikaa lohkoja" + +msgid "E317: pointer block id wrong 4" +msgstr "E317: osoitinlohkon tunnus väärä 4" + +msgid "deleted block 1?" +msgstr "poistettu lohko 1?" + +#, c-format +msgid "E320: Cannot find line %ld" +msgstr "E320: Riviä %ld ei löydy" + +msgid "E317: pointer block id wrong" +msgstr "E317: osoitinlohkon tunnus väärä" + +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: rivimäärä väärin lohkossa %ld" + +msgid "Stack size increases" +msgstr "Pinon koko kasvaa" + +msgid "E317: pointer block id wrong 2" +msgstr "E317: osoitinlohon tunnus väärä 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 löytyi: \"" + +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 käyttää samaa tiedostoa.\n" +" Jos näin 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 näin on, käytä komentoa :recover tai vim -r " + +msgid "" +"\"\n" +" to recover the changes (see \":help recovery\").\n" +msgstr "" +"\"\n" +" palauttaaksesi muutokset (lisätietoja: \":help recovery\").\n" + +msgid " If you did this already, delete the swap file \"" +msgstr " Jos teit jo näin, poista swap-tiedosto " + +msgid "" +"\"\n" +" to avoid this message.\n" +msgstr "" +"\"\n" +" välttääksesi tämän 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 lisätä 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 "Repäise 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 löydy: %s" + +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Valikkoa ei ole määritelty %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 löytynyt - 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 "Käännöksen ylläpitäjä: 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: ylös, 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 vähemmän" + +#, c-format +msgid "%ld more lines" +msgstr "%ld riviä lisää" + +#, c-format +msgid "%ld fewer lines" +msgstr "%ld riviä vähemmän" + +msgid " (Interrupted)" +msgstr " (Keskeytetty)" + +msgid "Beep!" +msgstr "Piip!" + +msgid "Vim: preserving files...\n" +msgstr "Vim: säästetään 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, käytössä %lu, käyttöhuippu %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: Sisäinen 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 eivät täsmää!" + +#, 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 löydy cdpathista" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: Tiedostoa %s ei löydy 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: Väärä 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 käytettävissä" + +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 tällä 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ä sisennettävänä..." + +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 käytettyjä 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 mitään" + +#. 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 jälkeen 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 tyhjäksi 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: Käytä komentoa :gui GUIn käynnistämiseen" + +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> jälkeen" + +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: Sisältää 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: Leveän 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> jälkeen" + +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 sisältää %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: epätasapainoisia 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 täsmäävä merkki puuttuu" + +#, c-format +msgid "E358: 'langmap': Extra characters after semicolon: %s" +msgstr "E358: langmap: ylimääräisiä merkkejä puolipisteen jälkeen: %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 epäonnistui" + +#, 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 merkistön 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 - käytetään 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-näytön 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-näytön testaus epäonnistui" + +msgid "Opening the X display timed out" +msgstr "X-näytön 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-näytön avaus epäonnistui" + +#~ 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 löydy" + +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 löydy muuttujasta $PATH.\n" +"Ulkoiset komennot eivät pysähdy suorituksen lopussa.\n" +"Lisätietoja 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@ jälkeen" + +#, c-format +msgid "E60: Too many complex %s{...}s" +msgstr "E60: Liikaa monimutkaisia ilmauksia %s{...}s" + +#, c-format +msgid "E61: Nested %s*" +msgstr "E61: Sisäkkäistetty %s*" + +#, c-format +msgid "E62: Nested %s%c" +msgstr "E62: Sisäkkäistetty %s%c" + +msgid "E63: invalid use of \\_" +msgstr "E63: väärinkäytetty \\_" + +#, c-format +msgid "E64: %s%c follows nothing" +msgstr "E64: %s%c jälkeen ei minkään" + +msgid "E65: Illegal back reference" +msgstr "E65: Virheellinen täsmäysviittaus" + +msgid "E66: \\z( not allowed here" +msgstr "E66: \\z( ei ole sallittu tässä" + +msgid "E67: \\z1 et al. not allowed here" +msgstr "E67: \\z1 jne. ei ole sallittu tässä" + +msgid "E68: Invalid character after \\z" +msgstr "E68: Virheellinen merkki ilmauksen \\z jälkeen" + +#, c-format +msgid "E69: Missing ] after %s%%[" +msgstr "E69: ] puuttuu merkinnän %s%%[ jäljestä" + +#, c-format +msgid "E70: Empty %s%%[]" +msgstr "E70: Tyhjä %s%%[]" + +#, c-format +msgid "E678: Invalid character after %s%%[dxouU]" +msgstr "E678: Virheellinen merkki merkinnän %s%%[dxouU] jäljessä" + +#, c-format +msgid "E71: Invalid character after %s%%" +msgstr "E71: Virheellinen merkki merkinnän %s%% jäljessä" + +#, c-format +msgid "E769: Missing ] after %s[" +msgstr "E769: ] puuttuu merkinnän %s[ jäljestä" + +#, c-format +msgid "E554: Syntax error in %s{...}" +msgstr "E554: Syntaksivirhe ilmauksessa %s{...}" + +msgid "External submatches:\n" +msgstr "Ulkoisia alitäsmäyksiä:\n" + +# tiloja +msgid " VREPLACE" +msgstr " VKORVAUS" + +msgid " REPLACE" +msgstr " KORVAUS" + +msgid " REVERSE" +msgstr " KÄÄNTEIS" + +msgid " INSERT" +msgstr " SYÖTTÖ" + +msgid " (insert)" +msgstr " (syöttö)" + +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 pääsi alkuun löytämättä jonoa: %s" + +#, c-format +msgid "E385: search hit BOTTOM without match for: %s" +msgstr "E385: Haku pääsi loppuun löytämättä jonoa: %s" + +msgid "E386: Expected '?' or '/' after ';'" +msgstr "E386: ;:n jälkeen pitää olla ? tai /" + +msgid " (includes previously listed match)" +msgstr " (sisältää viimeksi luetellun täsmäyksen)" + +#. cursor at status line +msgid "--- Included files " +msgstr "--- Sisällytetyt tiedostot " + +msgid "not found " +msgstr "ei löytynyt " + +msgid "in path ---\n" +msgstr "polusta ---\n" + +msgid " (Already listed)" +msgstr " (Jo lueteltu)" + +msgid " NOT FOUND" +msgstr " EI LÖYTYNYT" + +#, c-format +msgid "Scanning included file: %s" +msgstr "Haku sisälsi tiedoston: %s" + +#, c-format +msgid "Searching included file %s" +msgstr "Haku sisälsi tiedoston %s" + +msgid "E387: Match is on current line" +msgstr "E387: Täsmäys tällä rivillä" + +msgid "All included files were found" +msgstr "Kaikki sisällytetyt rivit löytyivät" + +msgid "No included files" +msgstr "Ei sisällytettyjä tiedostoja" + +msgid "E388: Couldn't find definition" +msgstr "E388: Määritelmä ei löydy" + +msgid "E389: Couldn't find pattern" +msgstr "E389: kuvio ei löydy" + +#, 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 perässä 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 tälle 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 "vähintään " + +msgid "maximal " +msgstr "enitntään " + +msgid "; match " +msgstr "; täsmää " + +msgid " line breaks" +msgstr " rivinvaihdot" + +msgid "E395: contains argument not accepted here" +msgstr "E395: contains ei sovi tähän" + +msgid "E396: containedin argument not accepted here" +msgstr "E396: containedin ei sovi tähän" + +msgid "E393: group[t]here not accepted here" +msgstr "E393: group[t]here ei sovi tähän" + +#, c-format +msgid "E394: Didn't find region item for %s" +msgstr "E394: Aluetta nimelle %s ei löydy" + +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 määrittelemättä" + +#, 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 jäljessä: %s" + +msgid "E403: syntax sync: line continuations pattern specified twice" +msgstr "E403: syntax sync: rivinjatkamiskuvio määritelty 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 tähän" + +#, 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 ryhmän 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 löytynyt: %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: ryhmällä 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: edustaväri tuntematon" + +msgid "E420: BG color unknown" +msgstr "E420: taustaväri tuntematon" + +#, c-format +msgid "E421: Color name or number not recognized: %s" +msgstr "E421: Värin 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 ryhmän nimessä" + +msgid "W18: Invalid character in group name" +msgstr "W18: Virheellinen merkki ryhmän nimessä" + +msgid "E555: at bottom of tag stack" +msgstr "E555: tägipinon pohja" + +msgid "E556: at top of tag stack" +msgstr "E556: tägipinon huippu" + +msgid "E425: Cannot go before first matching tag" +msgstr "E425: Ei voida mennä ensimmäistä täsmäävää tägiä alummaksi" + +#, c-format +msgid "E426: tag not found: %s" +msgstr "E426: tägi 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 tägi täsmää" + +msgid "E428: Cannot go beyond last matching tag" +msgstr "E428: Ei voida edetä viimeisen täsmäävän tägin 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 "tägi %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 FRÅN LINJE i fil/text" + +#, c-format +msgid "Searching tags file %s" +msgstr "Etsitään tägitiedostoa %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 tägitiedostossa %s" + +#, c-format +msgid "Before byte %ld" +msgstr "Ennen tavua %ld" + +#, c-format +msgid "E432: Tags file not sorted: %s" +msgstr "E432: Tägitiedosto ei ole järjestetty: %s" + +#. never opened any tags file +msgid "E433: No tags file" +msgstr "E433: Ei tägitiedostoja" + +msgid "E434: Can't find tag pattern" +msgstr "E434: Tägikuviota ei löydy" + +msgid "E435: Couldn't find tag, just guessing!" +msgstr "E435: Tägiä ei löydy, 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 löytynyt terminfosta" + +msgid "E559: Terminal entry not found in termcap" +msgstr "E559: Terminaalia ei löytynyt termcapista" + +#, c-format +msgid "E436: No \"%s\" entry in termcap" +msgstr "E436: %s ei löytynyt termcapista" + +msgid "E437: terminal capability \"cm\" required" +msgstr "E437: terminaalilla pitää olla cm kyvyissään" + +#. Highlight title +msgid "" +"\n" +"--- Terminal keys ---" +msgstr "" +"\n" +"--- Terminaalinäppäimet ---" + +msgid "new shell started\n" +msgstr "uusi kuori avattu\n" + +msgid "Vim: Error reading input, exiting...\n" +msgstr "Vim: Virhe luettaessa syötettä, 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 löydy" + +msgid "E438: u_undo: line numbers wrong" +msgstr "E438: u_undo: väärät rivinumerot" + +msgid "more line" +msgstr "rivi lisää" + +msgid "more lines" +msgstr "riviä lisää" + +msgid "line less" +msgstr "rivi vähemmän" + +msgid "fewer lines" +msgstr "riviä vähemmän" + +msgid "change" +msgstr "muutos" + +msgid "changes" +msgstr "muutosta" + +# eka %s yläpuolelta, 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 "jälkeen 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 jälkeen" + +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" +"Kääntänyt " + +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" +"Jätteliten 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 " järjestelmän vimrc: \"" + +msgid " user vimrc file: \"" +msgstr " käyttäjän vimrc: \"" + +msgid " 2nd user vimrc file: \"" +msgstr " 2. käyttäjän vimrc: \"" + +msgid " 3rd user vimrc file: \"" +msgstr " 3. käyttäjän vimrc: \"" + +msgid " user exrc file: \"" +msgstr " käyttäjän exrc: \"" + +msgid " 2nd user exrc file: \"" +msgstr " 2. käyttäjän exrc: \"" + +msgid " system gvimrc file: \"" +msgstr " järjestelmän gvimrc: \"" + +msgid " user gvimrc file: \"" +msgstr " käyttäjän gvimrc: \"" + +msgid "2nd user gvimrc file: \"" +msgstr "2. käyttäjän gvimrc: \"" + +msgid "3rd user gvimrc file: \"" +msgstr "3. käyttäjän gvimrc: \"" + +msgid " system menu file: \"" +msgstr " järjestelmävalikko: \"" + +msgid " fall-back for $VIM: \"" +msgstr " $VIMin fallback: \"" + +msgid " f-b for $VIMRUNTIME: \"" +msgstr " $VIMRUNTIMEn f-b: \"" + +msgid "Compilation: " +msgstr "Käännös: " + +msgid "Compiler: " +msgstr "Käännin: " + +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 "tekijät Bram Molenaar et al." + +msgid "Vim is open source and freely distributable" +msgstr "Vim on avointa lähdekoodia ja vapaasti jaossa" + +msgid "Help poor children in Uganda!" +msgstr "Auta Ugandan köyhiä lapsia" + +msgid "type :help iccf<Enter> for information " +msgstr "kirjoita :help iccf<Enter> lisätietoa 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 lisätietoja varten" + +msgid "Running modeless, typed text is inserted" +msgstr "Suoritetaan tilattomana, kirjoitettu teksti syötetään" + +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "valikko Muokkaa->Yleiset asetukset->Vaihda syötetilaa" + +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 "Rekisteröidy Vim-käyttäjäksi." + +msgid "type :help sponsor<Enter> for information " +msgstr "kirjoita :help sponsor<Enter> lisätietoja varten" + +msgid "type :help register<Enter> for information " +msgstr "kirjoita :help register<Enter> lisätietoja varten" + +msgid "menu Help->Sponsor/Register for information " +msgstr "valikko Ohje->Sponsoroi/Rekisteröi lisätietoja 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> lisätietoja varten" + +msgid "Already only one window" +msgstr "Enää yksi ikkuna jäljellä" + +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 ylänurkkaa ja oikeaa alanurkkaa yhtäaikaa" + +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 sisältää 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 löydy 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 käynnistämisessä, 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 jälkeen 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 tillåtet från exrc/vimrc i aktuell katalog eller " +"taggsökning" + +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 epäonnistui" + +#, 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 tasavälinen" + +msgid "E473: Internal error" +msgstr "E473: Sisäinen 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() epäonnistui" + +#, 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 päältä" + +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 käyttää, koska sitä ei käännetty mukaan" + +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: Hepreaa ei voi käyttää, koska sitä ei käännetty mukaan\n" + +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: Farsia ei voi käyttää, koska sitä ei käännetty mukaan\n" + +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: Arabiaa ei voi käyttää, koska sitä ei käännetty 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 syötetty 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 täsmää" + +#, c-format +msgid "E480: No match: %s" +msgstr "E480: Ei tsämää: %s" + +msgid "E32: No file name" +msgstr "E32: Ei tiedostonimeä" + +msgid "E33: No previous substitute regular expression" +msgstr "E33: Ei edellistä korvausta säännölliselle ilmaukselle" + +msgid "E34: No previous command" +msgstr "E34: Ei edellistä komentoa" + +msgid "E35: No previous regular expression" +msgstr "E35: Ei edellistä säännöllistä 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 rekisteröitynä" + +#, 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: väliaikaistiedoston 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 jälkeen 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: näyttöä ei voi avata" + +msgid "E41: Out of memory!" +msgstr "E41: Muisti loppui" + +msgid "Pattern not found" +msgstr "Kuviota ei löydy" + +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: Kuviota ei löydy: %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 täsmäysmerkkijono" + +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 täällä" + +msgid "E359: Screen mode setting not supported" +msgstr "E359: Näyttötila-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: tägipino 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: Ylimääräisiä merkkejä perässä" + +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: Sisäinen virhe: %s" + +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: kuvio käyttää enemmän 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 pääsi ALKUUN, jatketaan LOPUSTA" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "haku pääsi 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í féidir maolán a riar, ag scor..." +msgstr "E82: Ní féidir maolán a dháileadh, ag scor..." msgid "E83: Cannot allocate buffer, using other one..." -msgstr "E83: Ní féidir maolán a riar, ag úsáid cinn eile..." +msgstr "E83: Ní féidir maolán a dháileadh, ag úsáid cinn eile..." -#, c-format msgid "E515: No buffers were unloaded" msgstr "E515: Ní raibh aon mhaolán díluchtaithe" -#, c-format msgid "E516: No buffers were deleted" msgstr "E516: Ní raibh aon mhaolán scriosta" -#, c-format msgid "E517: No buffers were wiped out" msgstr "E517: Ní raibh aon mhaolán bánaithe" @@ -54,7 +51,7 @@ msgid "%d buffers wiped out" msgstr "%d maolán bánaithe" msgid "E84: No modified buffer found" -msgstr "E84: Níor aimsíodh maolán athraithe" +msgstr "E84: Níor aimsíodh maolán mionathraithe" #. back where we started, didn't find anything. msgid "E85: There is no listed buffer" @@ -73,14 +70,14 @@ msgstr "E88: Ní féidir a dhul roimh an chéad mhaolán" #, c-format msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" -"E89: Tá maolán %ld athraithe ach nach bhfuil sábháilte ó shin (cuir ! leis " +"E89: Athraíodh maolán %ld ach nach bhfuil sé sábháilte ó shin (cuir ! leis " "an ordú chun sárú)" msgid "E90: Cannot unload last buffer" msgstr "E90: Ní féidir an maolán deireanach a dhíluchtú" msgid "W14: Warning: List of file names overflow" -msgstr "W14: Rabhadh: Róshreabhadh 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á maolán 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 "[Earráidí léimh]" msgid "[readonly]" -msgstr "[léamh amháin]" +msgstr "[inléite amháin]" #, 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 "[Réamhamharc]" @@ -158,8 +155,11 @@ msgstr "" "\n" "# Liosta maoláin:\n" -msgid "[Error List]" -msgstr "[Liosta Earráidí]" +msgid "[Location List]" +msgstr "[Liosta Suíomh]" + +msgid "[Quickfix List]" +msgstr "[Liosta Ceartúchán Tapa]" msgid "" "\n" @@ -192,6 +192,9 @@ msgstr "E98: Ní féidir an t-aschur diff a léamh" msgid "E99: Current buffer is not in diff mode" msgstr "E99: Níl an maolán reatha sa mhód diff" +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: Ní féidir aon mhaolán eile a athrú sa mhód diff" + msgid "E100: No other buffer in diff mode" msgstr "E100: Níl aon mhaolán eile sa mhód diff" @@ -208,6 +211,9 @@ msgstr "E102: Tá maolán \"%s\" gan aimsiú" msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: Níl maolán \"%s\" i mód diff" +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: Athraíodh an maolán gan choinne" + msgid "E104: Escape not allowed in digraph" msgstr "E104: Ní cheadaítear carachtair éalúcháin i ndéghraf" @@ -217,17 +223,15 @@ msgstr "E544: Comhad eochairmhapála gan aimsiú" msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: Ag úsáid :loadkeymap ach ní comhad foinsithe é seo" +msgid "E791: Empty keymap entry" +msgstr "E791: Iontráil fholamh eochairmhapála" + msgid " Keyword completion (^N^P)" -msgstr " Comhlánú d'eochairfhocail (^N^P)" +msgstr " Comhlánú 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 " mód ^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 " Comhlánú eochairfhocail logánta (^N^P)" +msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" +msgstr " mód ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgid " Whole line completion (^L^N^P)" msgstr " Comhlánú Línte Ina Iomlán (^L^N^P)" @@ -256,15 +260,24 @@ msgstr " Comhlánú den líne ordaithe (^V^N^P)" msgid " User defined completion (^U^N^P)" msgstr " Comhlánú saincheaptha (^U^N^P)" +msgid " Omni completion (^O^N^P)" +msgstr " Comhlánú Omni (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr " Moladh litrithe (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Comhlánú logánta lorgfhocal (^N^P)" + msgid "Hit end of paragraph" msgstr "Sroicheadh críoch 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 "Foclóir á scanadh: %s" @@ -289,6 +302,7 @@ msgstr " Méadú" #. 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í foláir argóint de %s a bheith Liosta" +msgstr "E686: Caithfidh argóint de %s a bheith ina Liosta" #, c-format -msgid "E712: Argument of %s must be a List or Dictionaary" -msgstr "E712: Ní foláir argóint de %s a bheith Liosta nó Foclóir" +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Caithfidh argóint de %s a bheith ina Liosta nó Foclóir" msgid "E713: Cannot use empty key for Dictionary" msgstr "E713: Ní féidir eochair fholamh a úsáid le Foclóir" @@ -342,7 +356,7 @@ msgstr "E715: Tá gá le foclóir" #, c-format msgid "E118: Too many arguments for function: %s" -msgstr "E118: An iomarca argóintí d'fheidhm %s" +msgstr "E118: An iomarca argóintí d'fheidhm: %s" #, c-format msgid "E716: Key not present in Dictionary: %s" @@ -365,6 +379,14 @@ msgstr "E719: Ní féidir [:] a úsáid le foclóir" msgid "E734: Wrong variable type for %s=" msgstr "E734: Cineál mícheart athróige 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 athróige neamhcheadaithe: %s" + msgid "E687: Less targets than List items" msgstr "E687: Níos lú spriocanna ná míreanna 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 bhFoclóir: %s" -msgid "E721: Duplicate key in Dictionary" -msgstr "E721: Eochair dhúblach i bhFoclóir" +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Eochair dhúblach i bhFoclóir: \"%s\"" #, c-format msgid "E722: Missing comma in Dictionary: %s" @@ -476,12 +499,33 @@ msgstr "E723: '}' ar iarraidh ag deireadh foclóra: %s" msgid "E724: variable nested too deep for displaying" msgstr "E724: athróg neadaithe ródhomhain chun í a thaispeáint" +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Feidhm anaithnid: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Níl go leor feidhmeanna d'fheidhm: %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: <SID> á úsáid ach gan a bheith i gcomhthéacs scripte: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Feidhm 'dict' á ghlao gan Foclóir: %s" + msgid "E699: Too many arguments" msgstr "E699: An iomarca argóintí" +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: is féidir complete() a úsáid sa mhód Ionsáite amháin" + +#. #. * 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() níos minice ná inputsave()" -msgid "E745: Range not allowed" -msgstr "E745: Ní cheadaítear raon" +msgid "E786: Range not allowed" +msgstr "E786: Ní cheadaítear an raon" msgid "E701: Invalid type for len()" msgstr "E701: Cineál neamhbhailí le haghaidh len()" @@ -533,7 +577,7 @@ msgid "E277: Unable to read a server reply" msgstr "E277: Ní féidir freagra ón fhreastalaí a léamh" 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í féidir aon rud a sheoladh chuig an chliant" @@ -567,21 +611,21 @@ msgstr "E731: Foclóir á úsáid mar Theaghrán" #, c-format msgid "E704: Funcref variable name must start with a capital: %s" -msgstr "E704: Ní foláir ceannlitir a bheith ar dtús ainm Funcref: %s" +msgstr "E704: Caithfidh ceannlitir a bheith ar dtús ainm Funcref: %s" #, c-format -msgid "705: Variable name conflicts with existing function: %s" -msgstr "705: Tagann ainm athróige salach ar fheidhm atá ann cheana: %s" - -#, c-format -msgid "E461: Illegal variable name: %s" -msgstr "E461: Ainm athróige neamhcheadaithe: %s" +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Tagann ainm athróige salach ar fheidhm atá ann cheana: %s" #, c-format msgid "E706: Variable type mismatch for: %s" msgstr "E706: Mímheaitseáil idir cineálacha athróige: %s" #, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: Ní féidir athróg %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: Argóint 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: Níl ainm na feidhme comhoiriúnach 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í foláir ceannlitir a bheith ar dtús ainm feidhme, nó idirstad a " +"E128: Caithfidh ceannlitir a bheith ar dtús ainm feidhme, nó idirstad a " "bheith ann: %s" #, c-format -msgid "E130: Undefined function: %s" -msgstr "E130: Feidhm gan sainmhíniú: %s" - -#, c-format msgid "E131: Cannot delete function %s: It is in use" msgstr "E131: Ní féidir feidhm %s a scriosadh: Tá sé in úsáid faoi láthair" msgid "E132: Function call depth is higher than 'maxfuncdepth'" msgstr "E132: Doimhneacht na nglaonna níos 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 leanúint i %s" msgid "E133: :return not inside a function" -msgstr "E133: Ní foláir 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" "# athróga comhchoiteanna:\n" -msgid "Entering Debug mode. Type \"cont\" to continue." -msgstr "Mód dífhabhtaithe á thosú. Clóscríobh \"cont\" chun leanúint." - -#, c-format -msgid "line %ld: %s" -msgstr "líne %ld: %s" - -#, c-format -msgid "cmd: %s" -msgstr "ordú: %s" - -#, c-format -msgid "Breakpoint in \"%s%s\" line %ld" -msgstr "Brisphointe i \"%s%s\" líne %ld" - -#, c-format -msgid "E161: Breakpoint not found: %s" -msgstr "E161: Brisphointe gan aimsiú: %s" - -msgid "No breakpoints defined" -msgstr "Níl aon bhrisphointe socraithe" - -#, c-format -msgid "%3d %s %s line %ld" -msgstr "%3d %s %s líne %ld" - -msgid "Save As" -msgstr "Sábháil Mar" - -#, c-format -msgid "Save changes to \"%.*s\"?" -msgstr "Sábháil athruithe ar \"%.*s\"?" - -msgid "Untitled" -msgstr "Gan Teideal" - -#, c-format -msgid "E162: No write since last change for buffer \"%s\"" -msgstr "E162: Tá maolán \"%s\" athraithe ach nach bhfuil sábháilte ó shin" - -msgid "Warning: Entered other buffer unexpectedly (check autocommands)" -msgstr "Rabhadh: Chuathas i maolán eile go tobann (seiceáil na huathorduithe)" - -msgid "E163: There is only one file to edit" -msgstr "E163: Níl ach aon chomhad amháin le cur in eagar" - -msgid "E164: Cannot go before first file" -msgstr "E164: Ní féidir a dhul roimh an chéad chomhad" - -msgid "E165: Cannot go beyond last file" -msgstr "E165: Ní féidir 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 déanamh cuardach ar \"%s\" i \"%s\"" - -#, c-format -msgid "Searching for \"%s\"" -msgstr "Ag déanamh 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í féidir an chomhadlann \"%s\" a léamh" - -#, c-format -msgid "could not source \"%s\"" -msgstr "níorbh fhéidir \"%s\" a léamh" - -#, c-format -msgid "line %ld: could not source \"%s\"" -msgstr "líne %ld: níorbh fhéidir \"%s\" a fhoinsiú" - -#, c-format -msgid "sourcing \"%s\"" -msgstr "\"%s\" á fhoinsiú" - -#, c-format -msgid "line %ld: sourcing \"%s\"" -msgstr "líne %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 línte mícheart, is féidir go bhfuil ^M ar iarraidh" - -msgid "E167: :scriptencoding used outside of a sourced file" -msgstr "E167: ní úsáidtear :scriptencoding ach i gcomhad foinsithe" - -msgid "E168: :finish used outside of a sourced file" -msgstr "E168: ní úsáidtear :finish ach i gcomhaid foinsithe" - -#, c-format -msgid "Page %d" -msgstr "Leathanach %d" - -msgid "No text to be printed" -msgstr "Níl aon téacs le priontáil" - -#, c-format -msgid "Printing page %d (%d%%)" -msgstr "Leathanach %d (%d%%) á phriontáil" - -#, c-format -msgid " Copy %d of %d" -msgstr " Cóip %d de %d" - -#, c-format -msgid "Printed: %s" -msgstr "Priontáilte: %s" - -#, c-format -msgid "Printing aborted" -msgstr "Priontáil tobscortha" - -msgid "E455: Error writing to PostScript output file" -msgstr "E455: Earráid le linn scríobh chuig aschomhad PostScript" - -#, c-format -msgid "E624: Can't open file \"%s\"" -msgstr "E624: Ní féidir an comhad \"%s\" a oscailt" - -#, c-format -msgid "E457: Can't read PostScript resource file \"%s\"" -msgstr "E457: Ní féidir comhad acmhainne PostScript \"%s\" a léamh" - -#, c-format -msgid "E618: file \"%s\" is not a PostScript resource file" -msgstr "E618: Níl 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 mícheart ar an gcomhad acmhainne \"%s\"" - -msgid "E673: Incompatible multi-byte encoding and character set." -msgstr "E673: Ionchódú agus tacar carachtar ilbhirt neamh-chomhoiriúnach." - -msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgid "" +"\n" +"\tLast set from " msgstr "" -"E674: ní cheadaítear printmbcharset a bheith folamh le hionchódú ilbhirt." - -msgid "E675: No default font specfifed for multi-byte printing." -msgstr "E675: Níor réamhshocraíodh cló le haghaidh priontála ilbhirt." - -msgid "E324: Can't open PostScript output file" -msgstr "E324: Ní féidir aschomhad PostScript a oscailt" - -#, c-format -msgid "E456: Can't open file \"%s\"" -msgstr "E456: Ní féidir 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í féidir an t-ionchódú priontála \"%s\" a thiontú" - -msgid "Sending to printer..." -msgstr "Ag seoladh chuig an phrintéir..." - -msgid "E365: Failed to print PostScript file" -msgstr "E365: Theip ar phriontáil comhaid PostScript" - -msgid "Print job sent." -msgstr "Seoladh jab priontála." - -#, c-format -msgid "Current %slanguage: \"%s\"" -msgstr "%sTeanga faoi láthair: \"%s\"" - -#, c-format -msgid "E197: Cannot set language to \"%s\"" -msgstr "E197: Ní féidir an teanga a shocrú mar \"%s\"" +"\n" +"\tSocraithe is déanaí ó " #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -886,7 +737,7 @@ msgstr "Scagadh %ld líne" msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "" -"E135: Ní cheadaítear uathorduithe scagaire chun an maolán reatha a athrú" +"E135: Ní cheadaítear d'uathorduithe *scagaire* an maolán reatha a athrú" msgid "[No write since last change]\n" msgstr "[Athraithe agus nach sábháilte ó 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: Níl an comhad Viminfo inscríofa: %s" @@ -944,10 +796,8 @@ msgstr "# Luach 'encoding' agus an comhad seo á scríobh\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 maolán eile" +msgid "Save As" +msgstr "Sábháil Mar" msgid "Write partial file?" msgstr "Scríobh comhad neamhiomlán?" @@ -956,8 +806,16 @@ msgid "E140: Use ! to write partial buffer" msgstr "E140: Bain úsáid as ! chun maolán neamhiomlán a scríobh" #, c-format -msgid "Overwrite existing file \"%.*s\"?" -msgstr "Forscríobh comhad \"%.*s\" atá ann cheana?" +msgid "Overwrite existing file \"%s\"?" +msgstr "Forscríobh comhad \"%s\" atá ann cheana?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "Tá comhad babhtála \"%s\" ann cheana; forscríobh mar sin féin?" + +#, c-format +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: Tá comhad babhtála ann cheana: %s (úsáid :silent! chun sárú)" #, c-format msgid "E141: No file name for buffer %ld" @@ -968,12 +826,26 @@ msgstr "E142: Níor scríobhadh an comhad: díchumasaithe 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 scríobh mar sin féin?" +#, 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\" inléite amháin.\n" +"Seans gurbh fhéidir scríobh ann mar sin féin.\n" +"An bhfuil fonn ort triail a bhaint as?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: is inléite amháin é \"%s\" (cuir ! leis an ordú chun sárú)" + 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 comhoiriúnach" + msgid "1 substitution" msgstr "1 ionadaíocht" #, c-format +msgid "%ld matches" +msgstr "%ld rud comhoiriúnach" + +#, c-format msgid "%ld substitutions" msgstr "%ld ionadaíocht" @@ -1015,8 +894,9 @@ msgstr " ar %ld líne" msgid "E147: Cannot do :global recursive" msgstr "E147: Ní cheadaítear :global go hathchúrsach" +# should have ":" msgid "E148: Regular expression missing from global" -msgstr "E148: Slonn ionadaíochta ar iarraidh ón domhain" +msgstr "E148: Slonn ionadaíochta ar iarraidh ó :global" #, c-format msgid "Pattern found in every line: %s" @@ -1105,11 +985,138 @@ msgstr " (níl an rogha seo ar fáil)" msgid "[Deleted]" msgstr "[Scriosta]" +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Mód dífhabhtaithe á thosú. Clóscríobh \"cont\" chun leanúint." + +#, c-format +msgid "line %ld: %s" +msgstr "líne %ld: %s" + +#, c-format +msgid "cmd: %s" +msgstr "ordú: %s" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Brisphointe i \"%s%s\" líne %ld" + +#, c-format +msgid "E161: Breakpoint not found: %s" +msgstr "E161: Brisphointe gan aimsiú: %s" + +msgid "No breakpoints defined" +msgstr "Níl aon bhrisphointe socraithe" + +#, c-format +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s líne %ld" + +msgid "E750: First use :profile start <fname>" +msgstr "E750: Úsáid :profile start <ainm> ar dtús" + +#, c-format +msgid "Save changes to \"%s\"?" +msgstr "Sábháil athruithe ar \"%s\"?" + +msgid "Untitled" +msgstr "Gan Teideal" + +#, c-format +msgid "E162: No write since last change for buffer \"%s\"" +msgstr "E162: Athraíodh maolán \"%s\" ach nach bhfuil sé sábháilte ó shin" + +msgid "Warning: Entered other buffer unexpectedly (check autocommands)" +msgstr "Rabhadh: Chuathas i maolán eile go tobann (seiceáil na huathorduithe)" + +msgid "E163: There is only one file to edit" +msgstr "E163: Níl ach aon chomhad amháin le cur in eagar" + +msgid "E164: Cannot go before first file" +msgstr "E164: Ní féidir a dhul roimh an chéad chomhad" + +msgid "E165: Cannot go beyond last file" +msgstr "E165: Ní féidir 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 déanamh cuardach ar \"%s\" i \"%s\"" + +#, c-format +msgid "Searching for \"%s\"" +msgstr "Ag déanamh 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í féidir comhadlann a léamh: \"%s\"" + +#, c-format +msgid "could not source \"%s\"" +msgstr "níorbh fhéidir \"%s\" a léamh" + +#, c-format +msgid "line %ld: could not source \"%s\"" +msgstr "líne %ld: níorbh fhéidir \"%s\" a fhoinsiú" + +#, c-format +msgid "sourcing \"%s\"" +msgstr "\"%s\" á fhoinsiú" + +#, c-format +msgid "line %ld: sourcing \"%s\"" +msgstr "líne %ld: \"%s\" á fhoinsiú" + +#, c-format +msgid "finished sourcing %s" +msgstr "deireadh ag foinsiú %s" + +msgid "modeline" +msgstr "módlíne" + +msgid "--cmd argument" +msgstr "argóint --cmd" + +msgid "-c argument" +msgstr "argóint -c" + +msgid "environment variable" +msgstr "athróg thimpeallachta" + +msgid "error handler" +msgstr "láimhseálaí earráidí" + +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "" +"W15: Rabhadh: Deighilteoir línte mícheart, is féidir go bhfuil ^M ar iarraidh" + +msgid "E167: :scriptencoding used outside of a sourced file" +msgstr "E167: ní úsáidtear :scriptencoding ach i gcomhad foinsithe" + +msgid "E168: :finish used outside of a sourced file" +msgstr "E168: ní úsáidtear :finish ach i gcomhaid foinsithe" + +#, c-format +msgid "Current %slanguage: \"%s\"" +msgstr "%sTeanga faoi láthair: \"%s\"" + +#, c-format +msgid "E197: Cannot set language to \"%s\"" +msgstr "E197: Ní féidir an teanga a shocrú mar \"%s\"" + msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Mód Ex á thosú. Clóscríobh \"visual\" le haghaidh an ghnáthmhód." # in FARF -KPS -#. must be at EOF msgid "E501: At end-of-file" msgstr "E501: Ag an chomhadchríoch" @@ -1186,19 +1193,8 @@ msgstr "E177: Ní cheadaítear an t-áireamh a bheith tugtha faoi dhó" msgid "E178: Invalid default value for count" msgstr "E178: Luach réamhshocraithe neamhbhailí ar áireamh" -msgid "E179: argument required for complete" -msgstr "E179: ní foláir argóint le haghaidh comhlánaithe" - -#, c-format -msgid "E180: Invalid complete value: %s" -msgstr "E180: Luach iomlán neamhbhailí: %s" - -msgid "E468: Completion argument only allowed for custom completion" -msgstr "" -"E468: Ní cheadaítear argóint chomhlánaithe ach le comhlánú saincheaptha" - -msgid "E467: Custom completion requires a function argument" -msgstr "E467: Tá gá le hargóint fheidhme le comhlánú saincheaptha" +msgid "E179: argument required for -complete" +msgstr "E179: tá gá le hargóint 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í foláir ceannlitir a bheith ar dtús orduithe atá sainithe ag an " +"E183: Caithfidh ceannlitir a bheith ar dtús orduithe atá sainithe ag an " "úsáideoir" #, c-format @@ -1217,21 +1213,47 @@ msgid "E184: No such user-defined command: %s" msgstr "E184: Níl a leithéid d'ordú saincheaptha: %s" #, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Luach iomlán neamhbhailí: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "" +"E468: Ní cheadaítear argóint chomhlánaithe ach le comhlánú saincheaptha" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Tá gá le hargóint fheidhme le comhlánú saincheaptha" + +#, c-format msgid "E185: Cannot find color scheme %s" msgstr "E185: Scéim dathanna %s gan aimsiú" msgid "Greetings, Vim user!" msgstr "Dia duit, a úsáideoir Vim!" +msgid "E784: Cannot close last tab page" +msgstr "E784: Ní féidir an leathanach cluaisín deiridh a dhúnadh" + +msgid "Already only one tab page" +msgstr "Níl ach leathanach cluaisín amháin cheana féin" + msgid "Edit File in new window" msgstr "Cuir comhad in eagar i bhfuinneog nua" +#, c-format +msgid "Tab page %d" +msgstr "Leathanach cluaisín %d" + msgid "No swap file" msgstr "Níl aon chomhad babhtála ann" msgid "Append File" msgstr "Cuir Comhad i nDeireadh" +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" +msgstr "" +"E747: Ní féidir an chomhadlann a athrú, mionathraíodh an maolán (cuir ! leis " +"an ordú chun sárú)" + msgid "E186: No previous directory" msgstr "E186: Níl aon chomhadlann roimhe seo" @@ -1239,17 +1261,17 @@ msgid "E187: Unknown" msgstr "E187: Anaithnid" msgid "E465: :winsize requires two number arguments" -msgstr "E465: ní foláir dhá argóint uimhriúil le :winsize" +msgstr "E465: ní foláir dhá argóint uimhriúla le :winsize" #, c-format msgid "Window position: X %d, Y %d" -msgstr "Suíomh 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í féidir suíomh fuinneoige a fháil amach ar an chóras seo" +msgstr "E188: Ní féidir ionad na fuinneoige a fháil amach ar an chóras seo" msgid "E466: :winpos requires two number arguments" -msgstr "E466: ní foláir dhá argóint uimhriúil le :winpos" +msgstr "E466: ní foláir dhá argóint uimhriúla le :winpos" msgid "Save Redirection" msgstr "Sábháil Atreorú" @@ -1305,7 +1327,7 @@ msgstr "" "amháin" msgid "E500: Evaluates to an empty string" -msgstr "E500: Meastar é seo mar theaghrán folamh" +msgstr "E500: Luacháiltear é seo mar theaghrán folamh" msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Ní féidir an comhad viminfo a oscailt chun léamh" @@ -1319,7 +1341,7 @@ msgstr "E608: Ní féidir eisceachtaí a :throw le réimír '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í foláir 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: Níl cead agat maolán 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 "Líne na nOrduithe:" msgid "Search String" msgstr "Teaghrán Cuardaigh" msgid "Expression" -msgstr "Slonn" +msgstr "Sloinn:" msgid "Input Line" -msgstr "Líne an Ionchuir" +msgstr "Líne 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 gléas é seo (díchumasaithe le rogha 'opendevice')" + msgid "[New File]" msgstr "[Comhad Nua]" +msgid "[New DIRECTORY]" +msgstr "[COMHADLANN nua]" + +msgid "[File too big]" +msgstr "[Comhad rómhór]" + msgid "[Permission Denied]" msgstr "[Cead Diúltaithe]" @@ -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í cheadaítear uathorduithe *ReadPre chun an maolán reatha a athrú" +msgstr "E201: Ní cheadaítear d'uathorduithe *ReadPre an maolán reatha a athrú" msgid "Vim: Reading from stdin...\n" msgstr "Vim: Ag léamh ón ionchur caighdeánach...\n" @@ -1497,6 +1532,9 @@ msgstr "[fifo]" msgid "[socket]" msgstr "[soicéad]" +msgid "[character special]" +msgstr "[comhad speisialta den chineál carachtar]" + msgid "[RO]" msgstr "[L-A]" @@ -1518,8 +1556,9 @@ msgstr "[tiontaithe]" msgid "[crypted]" msgstr "[criptithe]" -msgid "[CONVERSION ERROR]" -msgstr "[EARRÁID TIONTAITHE]" +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[EARRÁID TIONTAITHE i líne %ld]" #, c-format msgid "[ILLEGAL BYTE in line %ld]" @@ -1555,8 +1594,11 @@ msgstr "Ní cheadaítear maoláin NetBeans a bheith scríofa go neamhiomlán" msgid "is not a file or writable device" msgstr "ní comhad ná gléas inscríofa á" +msgid "writing to device disabled with 'opendevice' option" +msgstr "díchumasaíodh scríobh chuig gléas le rogha 'opendevice'" + msgid "is read-only (add ! to override)" -msgstr "is léimh-amháin é (cuir ! leis an ordú chun sárú)" +msgstr "is inléite amháin é (cuir ! leis an ordú chun sárú)" 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 maolán" #, c-format -msgid "E211: Warning: File \"%s\" no longer available" -msgstr "E211: Rabhadh: Níl comhad \"%s\" ar fáil feasta" +msgid "E211: File \"%s\" no longer available" +msgstr "E211: Níl comhad \"%s\" ar fáil feasta" #, c-format msgid "" @@ -1720,22 +1762,28 @@ msgid "" msgstr "" "W12: Rabhadh: Athraíodh comhad \"%s\" agus athraíodh an maolán i Vim fosta" +msgid "See \":help W12\" for more info." +msgstr "Bain triail as \":help W12\" chun tuilleadh eolais a fháil." + #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: Rabhadh: Athraíodh comhad \"%s\" ó tosaíodh é a chur in eagar" +msgid "See \":help W11\" for more info." +msgstr "Bain triail as \":help W11\" chun tuilleadh eolais a fháil." + #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "" "W16: Rabhadh: Athraíodh mód an chomhaid \"%s\" ó tosaíodh é a chur in eagar" +msgid "See \":help W16\" for more info." +msgstr "Bain triail as \":help W16\" chun tuilleadh eolais a fháil." + #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "W13: Rabhadh: Cruthaíodh comhad \"%s\" ó tosaíodh é a chur in eagar" -msgid "See \":help W11\" for more info." -msgstr "Bain triail as \":help W11\" chun tuilleadh eolais a fháil." - msgid "Warning" msgstr "Rabhadh" @@ -1759,7 +1807,7 @@ msgstr "--Scriosta--" #, c-format msgid "auto-removing autocommand: %s <buffer=%d>" -msgstr "ag baint uathordú go huathoibríoch: %s <maolán=%d>" +msgstr "uathordú á bhaint go huathoibríoch: %s <maolán=%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 "Níor aimsíodh aon mhapáil" msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: Mód neamhcheadaithe" +msgid "E229: Cannot start the GUI" +msgstr "E229: Ní féidir an GUI a chur ag obair" + +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Ní féidir léamh ó \"%s\"" + +msgid "E665: Cannot start GUI, no valid font found" +msgstr "" +"E665: Ní féidir an GUI a chur ag obair, níl aon chlófhoireann 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í féidir dath %s a dháileadh" + +msgid "No match at cursor, finding next" +msgstr "Níl a leithéid ag an chúrsóir, ag cuardach ar an chéad cheann eile" + msgid "<cannot open> " msgstr "<ní féidir a oscailt> " @@ -1884,41 +1955,17 @@ msgstr "OK" msgid "Cancel" msgstr "Cealaigh" -msgid "Vim dialog" -msgstr "Dialóg Vim" - msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." msgstr "" "Giuirléid Scrollbharra: Ní féidir céimseata an mhapa picteilíní a fháil." +msgid "Vim dialog" +msgstr "Dialóg Vim" + msgid "E232: Cannot create BalloonEval with both message and callback" msgstr "" "E232: Ní féidir BalloonEval a chruthú le teachtaireacht agus aisghlaoch araon" -msgid "E229: Cannot start the GUI" -msgstr "E229: Ní féidir an GUI a chur ag obair" - -#, c-format -msgid "E230: Cannot read from \"%s\"" -msgstr "E230: Ní féidir léamh ó \"%s\"" - -msgid "E665: Cannot start GUI, no valid font found" -msgstr "" -"E665: Ní féidir an GUI a chur ag obair, níl aon chlófhoireann 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í féidir dath %s a riar" - -msgid "No match at cursor, finding next" -msgstr "Níl a leithéid ag an chúrsóir, ag cuardach ar an chéad cheann eile" - msgid "Vim dialog..." msgstr "Dialóg Vim..." @@ -1977,6 +2024,15 @@ msgstr "Ionadaigh Uile" msgid "Vim: Received \"die\" request from session manager\n" msgstr "Vim: Fuarthas iarratas \"die\" ó bhainisteoir an tseisiúin\n" +msgid "Close" +msgstr "Dún" + +msgid "New tab" +msgstr "Cluaisín nua" + +msgid "Open Tab..." +msgstr "Oscail Cluaisín..." + msgid "Vim: Main window unexpectedly destroyed\n" msgstr "Vim: Milleadh an príomhfhuinneog gan choinne\n" @@ -2048,6 +2104,12 @@ msgstr "E243: Argóint gan tacaíocht: \"-%s\"; Bain úsáid as an leagan OLE." msgid "E672: Unable to open window inside MDI application" msgstr "E672: Ní féidir fuinneog a oscailt isteach i bhfeidhmchlár MDI" +msgid "Close tab" +msgstr "Dún cluaisín" + +msgid "Open tab..." +msgstr "Oscail cluaisín..." + msgid "Find string (use '\\\\' to find a '\\')" msgstr "Aimsigh teaghrán (bain úsáid as '\\\\' chun '\\' a aimsiú)" @@ -2142,6 +2204,100 @@ msgstr "Méid:" msgid "E256: Hangul automata ERROR" msgstr "E256: EARRÁID leis na huathoibreáin Hangul" +msgid "E550: Missing colon" +msgstr "E550: Idirstad ar iarraidh" + +msgid "E551: Illegal component" +msgstr "E551: Comhpháirt neamhcheadaithe" + +msgid "E552: digit expected" +msgstr "E552: ag súil le digit" + +#, c-format +msgid "Page %d" +msgstr "Leathanach %d" + +msgid "No text to be printed" +msgstr "Níl aon téacs le priontáil" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "Leathanach %d (%d%%) á phriontáil" + +#, c-format +msgid " Copy %d of %d" +msgstr " Cóip %d de %d" + +#, c-format +msgid "Printed: %s" +msgstr "Priontáilte: %s" + +msgid "Printing aborted" +msgstr "Priontáil tobscortha" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Earráid le linn scríobh chuig aschomhad PostScript" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: Ní féidir an comhad \"%s\" a oscailt" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: Ní féidir comhad acmhainne PostScript \"%s\" a léamh" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: Níl 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 mícheart ar an gcomhad acmhainne \"%s\"" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Ionchódú agus tacar carachtar ilbhirt neamh-chomhoiriúnach." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "" +"E674: ní cheadaítear printmbcharset a bheith folamh le hionchódú ilbhirt." + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Níor réamhshocraíodh cló le haghaidh priontála ilbhirt." + +msgid "E324: Can't open PostScript output file" +msgstr "E324: Ní féidir aschomhad PostScript a oscailt" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: Ní féidir 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í féidir an t-ionchódú priontála \"%s\" a thiontú" + +msgid "Sending to printer..." +msgstr "Á sheoladh chuig an phrintéir..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: Theip ar phriontáil comhaid PostScript" + +msgid "Print job sent." +msgstr "Seoladh jab priontála." + msgid "Add a new database" msgstr "Bunachar sonraí nua" @@ -2204,15 +2360,15 @@ msgstr "E622: Níorbh fhéidir forc a dhéanamh 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: Níorbh fhéidir próiseas 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: Níorbh fhéidir próiseas cscope a sceitheadh" + msgid "E567: no cscope connections" msgstr "E567: níl 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: níor cuireadh bunachar sonraí dúblach cscope leis" msgid "E569: maximum number of cscope connections reached" -msgstr "E569: ní cheadaítear níos mó ná uasmhéid na nasc cscope" +msgstr "E569: ní cheadaítear níos mó ná an líon 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 "líne-uimhir as raon" +msgid "not allowed in the Vim sandbox" +msgstr "ní cheadaítear é 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í féidir tréithe OutputObject a scriosadh" msgid "softspace must be an integer" -msgstr "ní foláir softspace a bheith ina shlánuimhir" +msgstr "caithfidh softspace a bheith ina shlánuimhir" msgid "invalid attribute" msgstr "aitreabúid neamhbhailí" @@ -2384,7 +2543,7 @@ msgid "attempt to refer to deleted window" msgstr "rinneadh iarracht ar fhuinneog scriosta a rochtain" msgid "readonly attribute" -msgstr "tréith léimh-amháin" +msgstr "tréith inléite amháin" msgid "cursor position outside buffer" msgstr "cúrsóir taobh amuigh den mhaolán" @@ -2404,12 +2563,33 @@ msgstr "<fuinneog %d>" msgid "no such window" msgstr "níl a leithéid d'fhuinneog ann" +msgid "E265: $_ must be an instance of String" +msgstr "E265: caithfidh $_ a bheith cineál Teaghráin" + msgid "" "E266: Sorry, this command is disabled, the Ruby library could not be loaded." msgstr "" "E266: Tá brón orm, níl an t-ordú seo le fáil, níorbh fhéidir 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 chlásal tarrthála" + +msgid "E272: unhandled exception" +msgstr "E272: eisceacht gan láimhseáil" + #, c-format msgid "E273: unknown longjmp status %d" msgstr "E273: stádas anaithnid longjmp %d" @@ -2473,7 +2653,7 @@ msgid "" "$PATH).\n" msgstr "" "Ní féidir nasc a dhéanamh le SNiFF+. Seiceáil do chuid athróga " -"thimpeallachta (ní foláir 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: Earráid sa léamh. Dínasctha" @@ -2504,7 +2684,7 @@ msgid "Sniff: Error during write. Disconnected" msgstr "Sniff: Earráid sa scríobh. Dínasctha" msgid "invalid buffer number" -msgstr "uimhir mhaoláin neamhbhailí" +msgstr "uimhir neamhbhailí mhaoláin" msgid "not implemented yet" msgstr "níl ar fáil" @@ -2521,7 +2701,7 @@ msgid "row %d column %d" msgstr "líne %d colún %d" msgid "cannot insert/append line" -msgstr "ní féidir líne a chur ann/leis" +msgstr "ní féidir líne 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á brón orm, níl an t-ordú seo le fáil, níorbh fhéidir an leabharlann " +"E571: Tá brón orm, níl an t-ordú seo le fáil: níorbh fhéidir an leabharlann " "Tcl a luchtú." msgid "" @@ -2566,6 +2746,10 @@ msgstr "" "E281: EARRÁID TCL: níl an cód scortha ina shlánuimhir!? Seol tuairisc fhabht " "chuig <vim-dev@vim.org> le do thoil" +#, c-format +msgid "E572: exit code %d" +msgstr "E572: cód scortha %d" + msgid "cannot get line" msgstr "ní féidir an líne a fháil" @@ -2582,17 +2766,17 @@ msgstr "E573: Aitheantas neamhbhailí freastalaí in úsáid: %s" msgid "E251: VIM instance registry property is badly formed. Deleted!" msgstr "E251: Airí míchumtha sa chlárlann áisc VIM. Scriosta!" -msgid "Unknown option" -msgstr "Rogha anaithnid" +msgid "Unknown option argument" +msgstr "Argóint anaithnid rogha" msgid "Too many edit arguments" -msgstr "An iomarca argóintí eagraithe" +msgstr "An iomarca argóintí eagarthóireachta" msgid "Argument missing after" msgstr "Argóint ar iarraidh i ndiaidh" -msgid "Garbage after option" -msgstr "Dramhaíl i ndiaidh rogha" +msgid "Garbage after option argument" +msgstr "Dramhaíl i ndiaidh argóinte rogha" msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "" @@ -2601,6 +2785,10 @@ msgstr "" msgid "Invalid argument for" msgstr "Argóint 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 "Níor tiomsaíodh an leagan Vim seo le `diff' ar fáil." @@ -2613,10 +2801,6 @@ msgstr "Ní féidir é a oscailt chun léamh: \"" msgid "Cannot open for script output: \"" msgstr "Ní féidir 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: Earráid: 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 cásíogair é, cuir / ar tosach brait chun cás uachtair a úsáid" +"\n" +"Nuair nach cásíogair é, cuir '/' ag tosach na brataí chun í a chur sa chás " +"uachtair" msgid "" "\n" @@ -2719,7 +2907,7 @@ msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" msgstr "-y\t\t\tMód éasca (mar \"evim\", gan mhóid)" msgid "-R\t\t\tReadonly mode (like \"view\")" -msgstr "-R\t\t\tMód léimh amháin (mar \"view\")" +msgstr "-R\t\t\tMód inléite amháin (mar \"view\")" msgid "-Z\t\t\tRestricted mode (like \"rvim\")" msgstr "-Z\t\t\tMód srianta (mar \"rvim\")" @@ -2742,8 +2930,9 @@ msgstr "-C\t\t\tComhoiriúnach le Vi: 'compatible'" msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tNí comhoiriúnaithe le Vi go hiomlán: '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 [leibhéal N] [logáil teachtaireachtaí i fname]" msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tMód dífhabhtaithe" @@ -2787,6 +2976,9 @@ msgstr "-U <gvimrc>\t\tBain úsáid as <gvimrc> in ionad aon .gvimrc" msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tNá luchtaigh breiseáin" +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tOscail N leathanach cluaisín (default: ceann do gach comhad)" + msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tOscail N fuinneog (réamhshocrú: ceann do gach comhad)" @@ -2810,10 +3002,11 @@ msgstr "" "-S <seisiún>\t\tLéigh comhad <seisiún> i ndiaidh an chéad chomhad á léamh" msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" -msgstr "-s <script>\tLéig orduithe gnáthmhóid ón chomhad <script>" +msgstr "-s <script>\tLéigh orduithe gnáthmhóid ón chomhad <script>" msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" -msgstr "-w <script>\tCuir gach ordú iontráilte leis an gcomhad <script>" +msgstr "" +"-w <script>\tIarcheangail gach ordú iontráilte leis an gcomhad <script>" msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "-W <aschur>\tScríobh gach ordú clóscríofa 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 gcéanna, ná déan gearán mura bhfuil " "freastalaí ann" +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <comhaid> Cosúil le --remote ach oscail " +"cluaisín 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 taispeáin an " +"--remote-expr <slonn>\tLuacháil <slonn> le freastalaí Vim agus taispeáin an " "toradh" msgid "--serverlist\t\tList available Vim server names and exit" -msgstr "--serverlist\t\tTaispeáin freastalaithe le fáil agus scoir" +msgstr "--serverlist\t\tTaispeáin freastalaithe Vim atá ar fáil agus scoir" msgid "--servername <name>\tSend to/become the Vim server <name>" msgstr "--servername <ainm>\tSeol chuig/Téigh i do fhreastalaí Vim <ainm>" @@ -2909,10 +3108,10 @@ msgid "-background <color>\tUse <color> for the background (also: -bg)" msgstr "-background <dath>\tBain úsáid as <dath> don chúlra (-bg fosta)" msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -msgstr "-foreground <dath>\tÚsáid <dath> le haghaidh gnáththéacs (fosta: -fg)" +msgstr "-foreground <dath>\tÚsáid <dath> le haghaidh gnáth-théacs (fosta: -fg)" msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -msgstr "-font <cló>\t\tÚsáid <cló> le haghaidh gnáththéacs (fosta: -fn)" +msgstr "-font <cló>\t\tÚsáid <cló> le haghaidh gnáth-théacs (fosta: -fn)" msgid "-boldfont <font>\tUse <font> for bold text" msgstr "-boldfont <cló>\tBain úsáid as <cló> do chló trom" @@ -2974,30 +3173,14 @@ msgid "--role <role>\tSet a unique role to identify the main window" msgstr "--role <ról>\tSocraigh ról sainiúil chun an phríomhfhuinneog a aithint" msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -msgstr "--socketid <xid>\tOscail Vim isteach i nguirléid GTK eile" - -msgid "" -"\n" -"Arguments recognised by kvim (KDE version):\n" -msgstr "" -"\n" -"Argóintí ar eolas do kvim (leagan KDE):\n" - -msgid "-black\t\tUse reverse video" -msgstr "-black\t\tÚsáid fís aisiompaithe" - -msgid "-tip\t\t\tDisplay the tip dialog on startup" -msgstr "-tip\t\t\tTaispeáin an dialóg leide ar tosach" - -msgid "-notip\t\tDisable the tip dialog" -msgstr "-notip\t\tDíchumasaigh an dialóg leide" - -msgid "--display <display>\tRun vim on <display>" -msgstr "--display <scáileán>\tRith vim ar <scáileán>" +msgstr "--socketid <xid>\tOscail Vim isteach i ngiuirléid GTK eile" msgid "-P <parent title>\tOpen Vim inside parent application" msgstr "-P <máthairchlár>\tOscail Vim isteach sa mháthairchlár" +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tOscail Vim isteach i ngiuirléid win32 eile" + msgid "No display" msgstr "Gan taispeáint" @@ -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: Níorbh fhéidir aisghlaoch scriosta a shocrú le IM" +msgstr "E287: Rabhadh: Níorbh fhéidir aisghlaoch léirscriosta a shocrú le IM" msgid "E288: input method doesn't support any style" msgstr "E288: Ní thacaíonn an modh ionchuir aon stíl" @@ -3196,7 +3379,10 @@ msgid "" "or the file has been damaged." msgstr "" ",\n" -"is é sin nó rinneadh damáiste 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ó (méid an leathanaigh níos lú ná an íosmhéid).\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 déan comparáid leis an chomhad bunúsach (m.sh. le `diff') chun " +"agus déan comparáid leis an chomhad bhunúsach (m.sh. le `diff') chun " "athruithe a scrúdú)\n" msgid "" @@ -3314,7 +3500,7 @@ msgid "" " modified: " msgstr "" "\n" -" modhnaithe: " +" mionathraithe: " msgid "YES" msgstr "IS SEA" @@ -3425,6 +3611,10 @@ msgstr "Méadaíonn an chruach" msgid "E317: pointer block id wrong 2" msgstr "E317: aitheantas mícheart 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 Léimh-Amháin\n" +"&Oscail Inléite Amháin\n" "&Eagraigh mar sin féin\n" "&Athshlánaigh\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 Léimh-Amháin\n" +"&Oscail Inléite Amháin\n" "&Eagraigh mar sin féin\n" "&Athshlánaigh\n" -"S&coir\n" -"&Tobscoir\n" -"&Scrios é" +"S&crios é\n" +"&Scoir\n" +"&Tobscoir" msgid "E326: Too many swap files found" msgstr "E326: Aimsíodh an iomarca comhaid bhabhtála" @@ -3534,8 +3724,13 @@ msgstr "E327: Ní fo-roghchlár í páirt de chonair roghchláir" msgid "E328: Menu only exists in another mode" msgstr "E328: Níl an roghchlár ar fáil sa mhód seo" -msgid "E329: No menu of that name" -msgstr "E329: Níl aon roghchlár ann leis an ainm sin" +#, c-format +msgid "E329: No menu \"%s\"" +msgstr "E329: Níl aon roghchlár darbh ainm \"%s\"" + +#. Only a mnemonic or accelerator is not valid. +msgid "E792: Empty menu name" +msgstr "E792: Ainm folamh ar an roghchlár" msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: Ní cheadaítear conair roghchláir a threoraíonn go fo-roghchlár" @@ -3585,8 +3780,9 @@ msgstr "Earráid agus %s á phróiseáil:" msgid "line %4ld:" msgstr "líne %4ld:" -msgid "[string too long]" -msgstr "[teaghrán rófhada]" +#, 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 "Brúigh ENTER le leanúint" - -msgid "Hit ENTER or type command to continue" +msgid "Press ENTER or type command to continue" msgstr "Brúigh ENTER nó iontráil ordú le leanúint" +#, c-format +msgid "%s line %ld" +msgstr "%s líne %ld" + msgid "-- More --" msgstr "-- Tuilleadh --" -msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" -msgstr " (RET/BS: líne, SPÁS/b: lch, d/u: leathlch, q: scoir)" - -msgid " (RET: line, SPACE: page, d: half page, q: quit)" -msgstr " (RET: líne, SPÁS: lch, d: leathlch, q: scoir)" +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " SPÁS/d/j: scáileán/leathanach/líne síos, b/u/k: suas, q: scoir " msgid "Question" msgstr "Ceist" @@ -3646,8 +3840,20 @@ msgstr "Dialóg `Oscail Comhad'" msgid "E338: Sorry, no file browser in console mode" msgstr "E338: Níl brabhsálaí comhaid ar fáil sa mhód consóil" +msgid "E766: Insufficient arguments for printf()" +msgstr "E766: Easpa argóintí d'fheidhm printf()" + +msgid "E767: Too many arguments to printf()" +msgstr "E767: An iomarca argóintí d'fheidhm printf()" + msgid "W10: Warning: Changing a readonly file" -msgstr "W10: Rabhadh: Comhad léimh-amháin á athrú" +msgstr "W10: Rabhadh: Comhad inléite amháin á athrú" + +msgid "Type number or click with mouse (<Enter> cancels): " +msgstr "Clóscríobh uimhir nó cliceáil le do luch (<Enter> = cealú): " + +msgid "Choice number (<Enter> cancels): " +msgstr "Uimhir do rogha (<Enter> = cealú): " msgid "1 more line" msgstr "1 líne eile" @@ -3666,6 +3872,9 @@ msgstr "%ld líne níos lú" msgid " (Interrupted)" msgstr " (Idirbhriste)" +msgid "Beep!" +msgstr "Bíp!" + msgid "Vim: preserving files...\n" msgstr "Vim: comhaid á gcaomhnú...\n" @@ -3756,15 +3965,6 @@ msgstr "E346: Níl comhadlann \"%s\" sa cdpath a thuilleadh" msgid "E347: No more file \"%s\" found in path" msgstr "E347: Níl comhad \"%s\" sa chonair a thuilleadh" -msgid "E550: Missing colon" -msgstr "E550: Idirstad ar iarraidh" - -msgid "E551: Illegal component" -msgstr "E551: Comhpháirt neamhcheadaithe" - -msgid "E552: digit expected" -msgstr "E552: ag súil le digit" - #. Get here when the server can't be found. msgid "Cannot connect to Netbeans #2" msgstr "Ní féidir nascadh le Netbeans #2" @@ -3786,6 +3986,12 @@ msgstr "E658: Cailleadh nasc NetBeans le haghaidh maoláin %ld" msgid "E505: " msgstr "E505: " +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: 'operatorfunc' folamh" + +msgid "E775: Eval feature not available" +msgstr "E775: Níl an ghné Eval le fáil" + msgid "Warning: terminal cannot highlight" msgstr "Rabhadh: ní féidir leis an teirminéal aibhsiú" @@ -3810,18 +4016,22 @@ msgstr "E663: Ag deireadh liosta na n-athruithe" msgid "Type :quit<Enter> to exit Vim" msgstr "Clóscríobh :quit<Enter> chun Vim a scor" +# ouch - English -ed ? #, c-format msgid "1 line %sed 1 time" msgstr "1 líne %s uair amháin" +# ouch - English -ed ? #, c-format msgid "1 line %sed %d times" msgstr "1 líne %s %d uair" +# ouch - English -ed ? #, c-format msgid "%ld lines %sed 1 time" msgstr "%ld líne %sed uair amháin" +# ouch - English -ed ? #, c-format msgid "%ld lines %sed %d times" msgstr "%ld líne %sed %d uair" @@ -3837,6 +4047,9 @@ msgstr "eangaíodh 1 líne " msgid "%ld lines indented " msgstr "%ld líne eangaithe " +msgid "E748: No previously used register" +msgstr "E748: Níl aon tabhall úsáidte roimhe seo" + #. must display the prompt msgid "cannot yank; delete anyway" msgstr "ní féidir a sracadh; scrios mar sin féin" @@ -3846,16 +4059,23 @@ msgstr "athraíodh 1 líne" #, c-format msgid "%ld lines changed" -msgstr "%ld líne athraithe" +msgstr "athraíodh %ld líne" #, c-format msgid "freeing %ld lines" msgstr "%ld líne á saoradh" +msgid "block of 1 line yanked" +msgstr "sracadh bloc de 1 líne" + msgid "1 line yanked" msgstr "sracadh 1 líne" #, c-format +msgid "block of %ld lines yanked" +msgstr "sracadh bloc de %ld líne" + +#, c-format msgid "%ld lines yanked" msgstr "%ld líne sractha" @@ -3887,10 +4107,6 @@ msgid "E574: Unknown register type %d" msgstr "E574: Cineál anaithnid tabhaill %d" #, c-format -msgid "E354: Invalid register name: '%s'" -msgstr "E354: Ainm neamhbhailí tabhaill: '%s'" - -#, c-format msgid "%ld Cols; " msgstr "%ld Colún; " @@ -3937,15 +4153,8 @@ msgstr "E519: Níl an rogha seo ar fáil" msgid "E520: Not allowed in a modeline" msgstr "E520: Ní cheadaithe i módlíne" -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tSocraithe is déanaí ó " - msgid "E521: Number required after =" -msgstr "E521: Ní foláir 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í foláir camóg" +msgstr "E536: tá gá le camóg" #, c-format msgid "E537: 'commentstring' must be empty or contain %s" -msgstr "E537: Ní cheadaítear i 'commentstring' teaghrán neamhfholamh gan %s" +msgstr "" +"E537: ní mór %s a bheith i 'commentstring', is é sin nó ní mór dó a bheith " +"folamh" msgid "E538: No mouse support" msgstr "E538: Gan tacaíocht luiche" @@ -4046,6 +4257,13 @@ msgstr "E594: Tá gá le %d colún 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 dhíth: &%s = '%s'" + msgid "" "\n" "--- Terminal codes ---" @@ -4133,8 +4351,8 @@ msgstr "ANCHOR_BUF_SIZE róbheag." msgid "I/O ERROR" msgstr "EARRÁID I/A" -msgid "...(truncated)" -msgstr "...(teasctha)" +msgid "Message" +msgstr "Teachtaireacht" msgid "'columns' is not 80, cannot execute external commands" msgstr "ní 80 é 'columns', ní féidir orduithe seachtracha a rith" @@ -4186,14 +4404,6 @@ msgstr "Vim: Fuarthas comhartha marfach\n" msgid "Opening the X display took %ld msec" msgstr "Thóg %ld ms chun an scáileán 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 earráid X ach ar aghaidh linn...\n" - msgid "" "\n" "Vim: Got X error\n" @@ -4209,6 +4419,20 @@ msgstr "Oscailt an scáileáin X thar am" msgid "" "\n" +"Could not get security context for " +msgstr "" +"\n" +"Níorbh fhéidir comhthéacs slándála a fháil le haghaidh " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Níorbh fhéidir comhthéacs slándála a shocrú le haghaidh " + +msgid "" +"\n" "Cannot execute shell " msgstr "" "\n" @@ -4369,9 +4593,6 @@ msgstr "liosta earráidí %d as %d; %d earráid" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Ní féidir scríobh, rogha 'buftype' socraithe" -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: Patrún nó teormharcóir neamhbhailí cuardaigh" - msgid "E683: File name missing or invalid pattern" msgstr "E683: Ainm comhaid ar iarraidh, nó patrún neamhbhailí" @@ -4382,6 +4603,9 @@ msgstr "Ní féidir comhad \"%s\" a oscailt" msgid "E681: Buffer is not loaded" msgstr "E681: Níl an maolán luchtaithe" +msgid "E777: String or List expected" +msgstr "E777: Bhíothas ag súil le Teaghrán nó Liosta" + #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: mír 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 féidir go bhfuil an t-oibreann %s* folamh" - -#, c-format -msgid "E57: %s+ operand could be empty" -msgstr "E57: is féidir 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 féidir go bhfuil an t-oibreann %s( folamh" - -#, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: An iomarca %s{...} coimpléascach" @@ -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: Earráid chomhréire 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 leanúint ag an CHRÍOCH" - -msgid "search hit BOTTOM, continuing at TOP" -msgstr "Buaileadh an BUN le linn an chuardaigh, ag leanúint 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 ceanntáisc á scanadh: %s" +#, c-format +msgid "Searching included file %s" +msgstr "Comhad ceanntáisc %s á chuardach" + msgid "E387: Match is on current line" msgstr "E387: Tá an teaghrán comhoiriúnaithe ar an líne reatha" @@ -4594,6 +4808,379 @@ msgstr "E388: Sainmhíniú gan aimsiú" msgid "E389: Couldn't find pattern" msgstr "E389: Patrún gan aimsiú" +# in .viminfo +#, c-format +msgid "" +"\n" +"# Last %sSearch Pattern:\n" +"~" +msgstr "" +"\n" +"# %sPatrún Cuardaigh Is Déanaí:\n" +"~" + +msgid "E759: Format error in spell file" +msgstr "E759: Earráid fhormáide i gcomhad litrithe" + +msgid "E758: Truncated spell file" +msgstr "E758: Comhad teasctha litrithe" + +#, c-format +msgid "Trailing text in %s line %d: %s" +msgstr "Téacs chun deiridh i %s líne %d: %s" + +#, c-format +msgid "Affix name too long in %s line %d: %s" +msgstr "Ainm foircinn rófhada i %s líne %d: %s" + +msgid "E761: Format error in affix file FOL, LOW or UPP" +msgstr "E761: Earráid fhormáide 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: Níl seiceáil litrithe cumasaithe" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"Rabhadh: Ní féidir liosta focal \"%s.%s.spl\" nó \"%s.ascii.spl\" a aimsiú" + +#, c-format +msgid "Reading spell file \"%s\"" +msgstr "Comhad litrithe \"%s\" á léamh" + +msgid "E757: This does not look like a spell file" +msgstr "E757: Níl sé cosúil 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: Oibríonn an comhad litrithe le leagan níos nuaí de Vim" + +msgid "E770: Unsupported section in spell file" +msgstr "E770: Rannán gan tacaíocht i gcomhad litrithe" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Rabhadh: réigiún %s gan tacaíocht" + +#, c-format +msgid "Reading affix file %s ..." +msgstr "Comhad foircinn %s á léamh..." + +#, c-format +msgid "Conversion failure for word in %s line %d: %s" +msgstr "Theip ar thiontú focail i %s líne %d: %s" + +#, c-format +msgid "Conversion in %s not supported: from %s to %s" +msgstr "Tiontú i %s gan tacaíocht: ó %s go %s" + +#, c-format +msgid "Conversion in %s not supported" +msgstr "Tiontú i %s gan tacaíocht" + +#, c-format +msgid "Invalid value for FLAG in %s line %d: %s" +msgstr "Luach neamhbhailí ar FLAG i %s líne %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG i ndiaidh bratacha in úsáid i %s líne %d: %s" + +#, c-format +msgid "" +"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"Seans go bhfaighfidh tú torthaí míchearta má chuireann tú COMPOUNDFORBIDFLAG " +"tar éis míre PFX i %s líne %d" + +#, c-format +msgid "" +"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"Seans go bhfaighfidh tú torthaí míchearta má chuireann tú COMPOUNDPERMITFLAG " +"tar éis míre PFX i %s líne %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Luach mícheart ar COMPOUNDWORDMAX i %s líne %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Luach mícheart ar COMPOUNDMIN i %s líne %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Luach mícheart ar COMPOUNDSYLMAX i %s líne %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Luach mícheart ar CHECKCOMPOUNDPATTERN i %s líne %d: %s" + +#, c-format +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "Bratach dhifriúil cheangail i mbloc leanta foircinn i %s líne %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Clib dhúblach i %s líne %d: %s" + +#, c-format +msgid "" +"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " +"line %d: %s" +msgstr "" +"Foirceann in úsáid le haghaidh BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/" +"NOSUGGEST freisin i %s líne %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "Bhíothas ag súil le `Y' nó `N' i %s líne %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Coinníoll briste i %s líne %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "Bhíothas ag súil le líon na REP(SAL) i %s líne %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "Bhíothas ag súil le líon na MAP i %s líne %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Carachtar dúblach i MAP i %s líne %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Mír anaithnid nó dhúblach i %s líne %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Líne FOL/LOW/UPP ar iarraidh i %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "COMPOUNDSYLMAX in úsáid gan SYLLABLE" + +msgid "Too many postponed prefixes" +msgstr "An iomarca réimíreanna curtha siar" + +msgid "Too many compound flags" +msgstr "An iomarca bratach comhfhocail" + +msgid "Too many posponed prefixes and/or compound flags" +msgstr "An iomarca réimíreanna curtha siar agus/nó bratacha comhfhocal" + +#, c-format +msgid "Missing SOFO%s line in %s" +msgstr "Líne SOFO%s ar iarraidh i %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "Línte 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 líne %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Bratach neamhcheadaithe i %s líne %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 "Foclóir %s á léamh ..." + +#, c-format +msgid "E760: No word count in %s" +msgstr "E760: Líon na bhfocal ar iarraidh i %s" + +#, c-format +msgid "line %6d, word %6d - %s" +msgstr "líne %6d, focal %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Focal dúblach i %s líne %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "An chéad fhocal dúblach i %s líne %d: %s" + +#, c-format +msgid "%d duplicate word(s) in %s" +msgstr "%d focal dúblach 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 á léamh ..." + +#, c-format +msgid "Duplicate /encoding= line ignored in %s line %d: %s" +msgstr "Rinneadh neamhshuim ar líne dhúblach `/encoding=' i %s líne %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "" +"Rinneadh neamhshuim ar líne `/encoding=' i ndiaidh focail i %s líne %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "Rinneadh neamhshuim ar líne `/regions=' i %s líne %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "An iomarca réigiún i %s líne %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "Rinneadh neamhshuim ar líne `/' i %s líne %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Uimhir neamhbhailí réigiúin i %s líne %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Bratacha anaithnide i %s líne %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 "Comhbhrúdh %d as %d nód; %d (%d%%) fágtha" + +msgid "Reading back spell file..." +msgstr "Comhad litrithe á léamh arís..." + +#. +#. * 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 "Líon na bhfocal tar éis fuaimfhillte: %ld" + +#, c-format +msgid "Total number of words: %d" +msgstr "Líon iomlán na bhfocal: %d" + +#, c-format +msgid "Writing suggestion file %s ..." +msgstr "Comhad moltaí %s á scríobh ..." + +#, c-format +msgid "Estimated runtime memory use: %d bytes" +msgstr "Cuimhne measta a bheith in úsáid le linn rite: %d beart" + +msgid "E751: Output file name must not have region name" +msgstr "E751: Ní cheadaítear ainm réigiúin in ainm an aschomhaid" + +msgid "E754: Only up to 8 regions supported" +msgstr "E754: Ní thacaítear le níos mó ná 8 réigiún" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Réigiún neamhbhailí i %s" + +msgid "Warning: both compounding and NOBREAK specified" +msgstr "Rabhadh: sonraíodh comhfhocail agus NOBREAK araon" + +#, c-format +msgid "Writing spell file %s ..." +msgstr "Comhad litrithe %s á scríobh ..." + +msgid "Done!" +msgstr "Críochnaithe!" + +#, c-format +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: níl %ld iontráil 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 dhifriúla fhocail sna comhaid litrithe" + +msgid "Sorry, no suggestions" +msgstr "Tá brón orm, níl aon mholadh ann" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Tá brón orm, níl 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: Níl 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: Níl sé cosúil 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: Oibríonn an comhad .sug le leagan níos nuaí de Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Níl an comhad .sug comhoiriúnach leis an gcomhad .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: earráid agus comhad .sug á léamh: %s" + +#. This should have been checked when generating the .spl +#. * file. +msgid "E783: duplicate char in MAP entry" +msgstr "E783: carachtar dúblach in iontráil MAP" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Argóint neamhcheadaithe: %s" @@ -4652,7 +5239,7 @@ msgid "; match " msgstr "; meaitseáil " msgid " line breaks" -msgstr " scoilt idir línte" +msgstr " bristeacha líne" msgid "E395: contains argument not accepted here" msgstr "E395: tá argóint ann nach nglactar leis anseo" @@ -4668,7 +5255,11 @@ msgid "E394: Didn't find region item for %s" msgstr "E394: Níor aimsíodh mír réigiúin le haghaidh %s" msgid "E397: Filename required" -msgstr "E397: Ní foláir 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: comhréir sionc: tugadh patrún leanúint líne faoi dhó" #, c-format msgid "E404: Illegal arguments: %s" -msgstr "Argóintí neamhcheadaithe: %s" +msgstr "E404: Argóintí 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 "Iontráil uimhir do rogha (<Enter>=tobscor): " - msgid "E427: There is only one matching tag" msgstr "E427: Tá aon chlib chomhoiriúnach amháin" @@ -4909,15 +5495,60 @@ msgstr "Vim: Earráid agus an t-inchomhad á léamh; ag scor...\n" msgid "No undo possible; continue anyway" msgstr "Ní féidir a chealú; lean ar aghaidh mar sin féin" +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 "Níor aimsíodh cealú uimhir a %ld" + msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: líne-uimhreacha míchearta" -msgid "1 change" -msgstr "1 athrú" +msgid "more line" +msgstr "líne eile" + +msgid "more lines" +msgstr "líne eile" + +msgid "line less" +msgstr "líne níos lú" + +msgid "fewer lines" +msgstr "líne níos 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 "Níl 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í cheadaítear \"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 giotán MS-Fuinneoga" +"Leagan GUI 16/32 giotán MS-Windows" + +msgid "" +"\n" +"MS-Windows 64 bit GUI version" +msgstr "" +"\n" +"Leagan GUI 64 giotán MS-Windows" msgid "" "\n" "MS-Windows 32 bit GUI version" msgstr "" "\n" -"Leagan GUI 32 giotán MS-Fuinneoga" +"Leagan GUI 32 giotán MS-Windows" msgid " in Win32s mode" msgstr " i mód Win32s" @@ -4951,14 +5589,14 @@ msgid "" "MS-Windows 32 bit console version" msgstr "" "\n" -"Leagan consóil 32 giotán MS-Fuinneoga" +"Leagan consóil 32 giotán MS-Windows" msgid "" "\n" "MS-Windows 16 bit version" msgstr "" "\n" -"Leagan 16 giotán MS-Fuinneoga" +"Leagan 16 giotán 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 " Gnéithe san áireamh (+) nó nach bhfuil (-):\n" @@ -5196,7 +5832,7 @@ msgid "menu Help->Orphans for information " msgstr "roghchlár Help->Orphans chun eolas a fháil " msgid "Running modeless, typed text is inserted" -msgstr "Ag rith gan mhóid, ag ionsá an téacs atá iontráilte" +msgstr "Á rith gan mhóid, ag ionsá an téacs atá iontráilte" # 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 "clóscríobh :help windows95<Enter> chun eolas a fháil " +msgid "Already only one window" +msgstr "Níl ach aon fhuinneog amháin ann cheana" + msgid "E441: There is no preview window" msgstr "E441: Níl aon fhuinneog réamhamhairc ann" @@ -5245,9 +5884,6 @@ msgstr "E443: Ní féidir rothlú nuair atá fuinneog eile scoilte" msgid "E444: Cannot close last window" msgstr "E444: Ní féidir an fhuinneog dheiridh a dhúnadh" -msgid "Already only one window" -msgstr "Níl ach aon fhuinneog amháin ann cheana" - msgid "E445: Other window contains changes" msgstr "E445: Tá athruithe ann san fhuinneog eile" @@ -5264,11 +5900,11 @@ msgstr "E370: Níorbh fhéidir an leabharlann %s a oscailt" msgid "Sorry, this command is disabled: the Perl library could not be loaded." msgstr "" -"Tá brón orm, níl an t-ordú seo le fáil, níorbh fhéidir an leabharlann Perl a " +"Tá brón orm, níl an t-ordú seo le fáil: níorbh fhéidir an leabharlann Perl a " "luchtú." msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -msgstr "E299: Ní cheadaítear meas Perl i mbosca gainimh gan an modúl Safe" +msgstr "E299: Ní cheadaítear luacháil Perl i mbosca gainimh gan an modúl Safe" msgid "Edit with &multiple Vims" msgstr "Cuir in eagar le Vimeanna io&madúla" @@ -5302,13 +5938,15 @@ msgstr "Conair rófhada!" msgid "--No lines in buffer--" msgstr "--Tá an maolán 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í foláir argóint" +msgstr "E471: Tá gá le hargóint" msgid "E10: \\ should be followed by /, ? or &" msgstr "E10: Ba chóir /, ? 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í féidir athruithe a chur i bhfeidhm, níl an brat 'modifiable' " +"E21: Ní féidir athruithe a chur i bhfeidhm, níl an bhratach 'modifiable' " "socraithe" msgid "E22: Scripts nested too deep" @@ -5526,6 +6164,9 @@ msgstr "E459: Ní féidir a fhilleadh ar an chomhadlann roimhe seo" msgid "E42: No Errors" msgstr "E42: Níl Aon Earráid Ann" +msgid "E776: No location list" +msgstr "E776: Gan liosta suíomh" + msgid "E43: Damaged match string" msgstr "E43: Teaghrán cuardaigh loite" @@ -5537,11 +6178,11 @@ msgstr "E45: tá an rogha 'readonly' socraithe (cuir ! leis an ordú chun sárú)" #, c-format msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: Ní féidir athróg léimh-amháin \"%s\" a athrú" +msgstr "E46: Ní féidir athróg inléite amháin \"%s\" a athrú" #, c-format -msgid "E46: Cannot set variable in the sandbox: \"%s\"" -msgstr "E46: Ní féidir athróg a shocrú sa bhosca gainimh: \"%s\"" +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: Ní féidir athróg a shocrú sa bhosca gainimh: \"%s\"" msgid "E47: Error while reading errorfile" msgstr "E47: Earráid agus comhad earráide á léamh" @@ -5613,14 +6254,135 @@ msgid "E463: Region is guarded, cannot modify" msgstr "E463: Réigiún cosanta, ní féidir é a athrú" msgid "E744: NetBeans does not allow changes in read-only files" -msgstr "E744: Ní cheadaíonn NetBeans aon athrú i gcomhaid léimh-amháin" +msgstr "E744: Ní cheadaíonn NetBeans aon athrú i gcomhaid inléite amháin" #, c-format msgid "E685: Internal error: %s" msgstr "E685: Earráid inmheánach: %s" -msgid "E361: Crash intercepted; regexp too complex?" -msgstr "E361: Ceapadh tuairt; slonn ionadaíochta róchasta?" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: úsáideann an patrún níos mó cuimhne ná 'maxmempattern'" + +msgid "E749: empty buffer" +msgstr "E749: maolán folamh" + +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Patrún nó teormharcóir neamhbhailí cuardaigh" + +msgid "E139: File is loaded in another buffer" +msgstr "E139: Tá an comhad luchtaithe i maolán 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 leanúint ag an CHRÍOCH" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "Buaileadh an BUN le linn an chuardaigh, ag leanúint ag an BHARR" + +#~ msgid "-V[N]\t\tVerbose level" +#~ msgstr "-V[N]\t\tFoclachas" + +#~ msgid "[Error List]" +#~ msgstr "[Liosta Earráidí]" + +#~ msgid "" +#~ "\n" +#~ "Arguments recognised by kvim (KDE version):\n" +#~ msgstr "" +#~ "\n" +#~ "Argóintí ar eolas do kvim (leagan KDE):\n" + +#~ msgid "-black\t\tUse reverse video" +#~ msgstr "-black\t\tÚsáid fís aisiompaithe" + +#~ msgid "-tip\t\t\tDisplay the tip dialog on startup" +#~ msgstr "-tip\t\t\tTaispeáin an dialóg leide ar tosach" + +#~ msgid "-notip\t\tDisable the tip dialog" +#~ msgstr "-notip\t\tDíchumasaigh an dialóg leide" + +#~ msgid "--display <display>\tRun vim on <display>" +#~ msgstr "--display <scáileán>\tRith vim ar <scáileán>" + +#~ msgid "" +#~ "&Open Read-Only\n" +#~ "&Edit anyway\n" +#~ "&Recover\n" +#~ "&Quit\n" +#~ "&Abort\n" +#~ "&Delete it" +#~ msgstr "" +#~ "&Oscail Inléite Amháin\n" +#~ "&Eagraigh mar sin féin\n" +#~ "&Athshlánaigh\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 earráid X ach ar aghaidh linn...\n" + +#~ msgid "Character used for SLASH must be ASCII; in %s line %d: %s" +#~ msgstr "" +#~ "Ní mór do charachtar a úsáidtear ar SLASH a bheith ASCII; i %s líne %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 mícheart comhaid i gcomhad litrithe" + +#~ msgid "Duplicate FOL in %s line %d" +#~ msgstr "FOL dúblach i %s líne %d" + +#~ msgid "Duplicate LOW in %s line %d" +#~ msgstr "LOW dúblach i %s líne %d" + +#~ msgid "Duplicate UPP in %s line %d" +#~ msgstr "UPP dúblach i %s líne %d" + +#~ msgid "E130: Undefined function: %s" +#~ msgstr "E130: Feidhm gan sainmhíniú: %s" + +#~ msgid "[string too long]" +#~ msgstr "[teaghrán rófhada]" + +#~ msgid "Hit ENTER to continue" +#~ msgstr "Brúigh ENTER le leanúint" + +#~ msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)" +#~ msgstr " (RET/BS: líne, SPÁS/b: lch, d/u: leathlch, q: scoir)" + +#~ msgid " (RET: line, SPACE: page, d: half page, q: quit)" +#~ msgstr " (RET: líne, SPÁS: lch, d: leathlch, q: scoir)" + +#~ msgid "E56: %s* operand could be empty" +#~ msgstr "E56: is féidir go bhfuil an t-oibreann %s* folamh" + +#~ msgid "E57: %s+ operand could be empty" +#~ msgstr "E57: is féidir go bhfuil an t-oibreann %s+ folamh" + +#~ msgid "E58: %s{ operand could be empty" +#~ msgstr "E58: is féidir go bhfuil an t-oibreann %s( folamh" + +#~ msgid "Enter nr of choice (<CR> to abort): " +#~ msgstr "Iontráil uimhir do rogha (<Enter>=tobscor): " + +#~ msgid "E361: Crash intercepted; regexp too complex?" +#~ msgstr "E361: Ceapadh tuairt; slonn ionadaíochta róchasta?" -msgid "E363: pattern caused out-of-stack error" -msgstr "E363: ghin an patrún earráid as-an-chruach" +#~ msgid "E363: pattern caused out-of-stack error" +#~ msgstr "E363: ghin an patrún earráid 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 växlingsfil" msgid "Append File" msgstr "Lägg 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 (lägg till ! för 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: |
