# HG changeset patch # User axmo # Date 1218616569 -32400 # Node ID db46d51a39391265a8c62ad115a576ffa0ab9ea0 # Parent 7d3c79a9b40ab775d0aa7f4c72de7582abe03653 Initial revision diff -r 7d3c79a9b40a -r db46d51a3939 runtime/compiler/rspec.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/compiler/rspec.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,41 @@ +" Vim compiler file +" Language: RSpec +" Maintainer: Tim Pope +" Info: $Id$ +" URL: http://vim-ruby.rubyforge.org +" Anon CVS: See above site +" Release Coordinator: Doug Kearns + +if exists("current_compiler") + finish +endif +let current_compiler = "rspec" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo-=C + +CompilerSet makeprg=spec + +CompilerSet errorformat= + \%+W'%.%#'\ FAILED, + \%+I'%.%#'\ FIXED, + \%-Cexpected:%.%#, + \%-C\ \ \ \ \ got:%.%#, + \%E%.%#:in\ `load':\ %f:%l:%m, + \%C%f:%l:, + \%W%f:%l:\ warning:\ %m, + \%E%f:%l:in\ %*[^:]:\ %m, + \%E%f:%l:\ %m, + \%-Z%\tfrom\ %f:%l, + \%-Z%p^%.%#, + \%-C%.%#, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/doc/ft_ada.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/doc/ft_ada.txt Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,515 @@ +*ft_ada.txt* For Vim version 7.2. 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 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: 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 and 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/doc/ft_sql.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/doc/ft_sql.txt Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,763 @@ +*ft_sql.txt* For Vim version 7.2. Last change: Wed Apr 26 2006 3:05:33 PM + +by David Fishburn + +This is a filetype plugin to work with SQL files. + +The Structured Query Language (SQL) is a standard which specifies statements +that allow a user to interact with a relational database. Vim includes +features for navigation, indentation and syntax highlighting. + +1. Navigation |sql-navigation| + 1.1 Matchit |sql-matchit| + 1.2 Text Object Motions |sql-object-motions| + 1.3 Predefined Object Motions |sql-predefined-objects| + 1.4 Macros |sql-macros| +2. SQL Dialects |sql-dialects| + 2.1 SQLSetType |SQLSetType| + 2.2 SQL Dialect Default |sql-type-default| +3. Adding new SQL Dialects |sql-adding-dialects| +4. OMNI SQL Completion |sql-completion| + 4.1 Static mode |sql-completion-static| + 4.2 Dynamic mode |sql-completion-dynamic| + 4.3 Tutorial |sql-completion-tutorial| + 4.3.1 Complete Tables |sql-completion-tables| + 4.3.2 Complete Columns |sql-completion-columns| + 4.3.3 Complete Procedures |sql-completion-procedures| + 4.3.4 Complete Views |sql-completion-views| + 4.4 Completion Customization |sql-completion-customization| + 4.5 SQL Maps |sql-completion-maps| + 4.6 Using with other filetypes |sql-completion-filetypes| + +============================================================================== +1. Navigation *sql-navigation* + +The SQL ftplugin provides a number of options to assist with file +navigation. + + +1.1 Matchit *sql-matchit* +----------- +The matchit plugin (http://www.vim.org/scripts/script.php?script_id=39) +provides many additional features and can be customized for different +languages. The matchit plugin is configured by defining a local +buffer variable, b:match_words. Pressing the % key while on various +keywords will move the cursor to its match. For example, if the cursor +is on an "if", pressing % will cycle between the "else", "elseif" and +"end if" keywords. + +The following keywords are supported: > + if + elseif | elsif + else [if] + end if + + [while condition] loop + leave + break + continue + exit + end loop + + for + leave + break + continue + exit + end loop + + do + statements + doend + + case + when + when + default + end case + + merge + when not matched + when matched + + create[ or replace] procedure|function|event + returns + + +1.2 Text Object Motions *sql-object-motions* +----------------------- +Vim has a number of predefined keys for working with text |object-motions|. +This filetype plugin attempts to translate these keys to maps which make sense +for the SQL language. + +The following |Normal| mode and |Visual| mode maps exist (when you edit a SQL +file): > + ]] move forward to the next 'begin' + [[ move backwards to the previous 'begin' + ][ move forward to the next 'end' + [] move backwards to the previous 'end' + + +1.3 Predefined Object Motions *sql-predefined-objects* +----------------------------- +Most relational databases support various standard features, tables, indices, +triggers and stored procedures. Each vendor also has a variety of proprietary +objects. The next set of maps have been created to help move between these +objects. Depends on which database vendor you are using, the list of objects +must be configurable. The filetype plugin attempts to define many of the +standard objects, plus many additional ones. In order to make this as +flexible as possible, you can override the list of objects from within your +|vimrc| with the following: > + let g:ftplugin_sql_objects = 'function,procedure,event,table,trigger' . + \ ',schema,service,publication,database,datatype,domain' . + \ ',index,subscription,synchronization,view,variable' + +The following |Normal| mode and |Visual| mode maps have been created which use +the above list: > + ]} move forward to the next 'create ' + [{ move backward to the previous 'create ' + +Repeatedly pressing ]} will cycle through each of these create statements: > + create table t1 ( + ... + ); + + create procedure p1 + begin + ... + end; + + create index i1 on t1 (c1); + +The default setting for g:ftplugin_sql_objects is: > + let g:ftplugin_sql_objects = 'function,procedure,event,' . + \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' . + \ 'table,trigger' . + \ ',schema,service,publication,database,datatype,domain' . + \ ',index,subscription,synchronization,view,variable' + +The above will also handle these cases: > + create table t1 ( + ... + ); + create existing table t2 ( + ... + ); + create global temporary table t3 ( + ... + ); + +By default, the ftplugin only searches for CREATE statements. You can also +override this via your |vimrc| with the following: > + let g:ftplugin_sql_statements = 'create,alter' + +The filetype plugin defines three types of comments: > + 1. -- + 2. // + 3. /* + * + */ + +The following |Normal| mode and |Visual| mode maps have been created to work +with comments: > + ]" move forward to the beginning of a comment + [" move forward to the end of a comment + + + +1.4 Macros *sql-macros* +---------- +Vim's feature to find macro definitions, |'define'|, is supported using this +regular expression: > + \c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\> + +This addresses the following code: > + CREATE VARIABLE myVar1 INTEGER; + + CREATE PROCEDURE sp_test( + IN myVar2 INTEGER, + OUT myVar3 CHAR(30), + INOUT myVar4 NUMERIC(20,0) + ) + BEGIN + DECLARE myVar5 INTEGER; + + SELECT c1, c2, c3 + INTO myVar2, myVar3, myVar4 + FROM T1 + WHERE c4 = myVar1; + END; + +Place your cursor on "myVar1" on this line: > + WHERE c4 = myVar1; + ^ + +Press any of the following keys: > + [d + [D + [CTRL-D + + +============================================================================== +2. SQL Dialects *sql-dialects* *sql-types* + *sybase* *TSQL* *Transact-SQL* + *sqlanywhere* + *oracle* *plsql* *sqlj* + *sqlserver* + *mysql* *postgres* *psql* + *informix* + +All relational databases support SQL. There is a portion of SQL that is +portable across vendors (ex. CREATE TABLE, CREATE INDEX), but there is a +great deal of vendor specific extensions to SQL. Oracle supports the +"CREATE OR REPLACE" syntax, column defaults specified in the CREATE TABLE +statement and the procedural language (for stored procedures and triggers). + +The default Vim distribution ships with syntax highlighting based on Oracle's +PL/SQL. The default SQL indent script works for Oracle and SQL Anywhere. +The default filetype plugin works for all vendors and should remain vendor +neutral, but extendable. + +Vim currently has support for a variety of different vendors, currently this +is via syntax scripts. Unfortunately, to flip between different syntax rules +you must either create: + 1. New filetypes + 2. Custom autocmds + 3. Manual steps / commands + +The majority of people work with only one vendor's database product, it would +be nice to specify a default in your |vimrc|. + + +2.1 SQLSetType *sqlsettype* *SQLSetType* +-------------- +For the people that work with many different databases, it would be nice to be +able to flip between the various vendors rules (indent, syntax) on a per +buffer basis, at any time. The ftplugin/sql.vim file defines this function: > + SQLSetType + +Executing this function without any parameters will set the indent and syntax +scripts back to their defaults, see |sql-type-default|. If you have turned +off Vi's compatibility mode, |'compatible'|, you can use the key to +complete the optional parameter. + +After typing the function name and a space, you can use the completion to +supply a parameter. The function takes the name of the Vim script you want to +source. Using the |cmdline-completion| feature, the SQLSetType function will +search the |'runtimepath'| for all Vim scripts with a name containing 'sql'. +This takes the guess work out of the spelling of the names. The following are +examples: > + :SQLSetType + :SQLSetType sqloracle + :SQLSetType sqlanywhere + :SQLSetType sqlinformix + :SQLSetType mysql + +The easiest approach is to the use character which will first complete +the command name (SQLSetType), after a space and another , display a list +of available Vim script names: > + :SQL + + +2.2 SQL Dialect Default *sql-type-default* +----------------------- +As mentioned earlier, the default syntax rules for Vim is based on Oracle +(PL/SQL). You can override this default by placing one of the following in +your |vimrc|: > + let g:sql_type_default = 'sqlanywhere' + let g:sql_type_default = 'sqlinformix' + let g:sql_type_default = 'mysql' + +If you added the following to your |vimrc|: > + let g:sql_type_default = 'sqlinformix' + +The next time edit a SQL file the following scripts will be automatically +loaded by Vim: > + ftplugin/sql.vim + syntax/sqlinformix.vim + indent/sql.vim +> +Notice indent/sqlinformix.sql was not loaded. There is no indent file +for Informix, Vim loads the default files if the specified files does not +exist. + + +============================================================================== +3. Adding new SQL Dialects *sql-adding-dialects* + +If you begin working with a SQL dialect which does not have any customizations +available with the default Vim distribution you can check http://www.vim.org +to see if any customization currently exist. If not, you can begin by cloning +an existing script. Read |filetype-plugins| for more details. + +To help identify these scripts, try to create the files with a "sql" prefix. +If you decide you wish to create customizations for the SQLite database, you +can create any of the following: > + Unix + ~/.vim/syntax/sqlite.vim + ~/.vim/indent/sqlite.vim + Windows + $VIM/vimfiles/syntax/sqlite.vim + $VIM/vimfiles/indent/sqlite.vim + +No changes are necessary to the SQLSetType function. It will automatically +pickup the new SQL files and load them when you issue the SQLSetType command. + + +============================================================================== +4. OMNI SQL Completion *sql-completion* + *omni-sql-completion* + +Vim 7 includes a code completion interface and functions which allows plugin +developers to build in code completion for any language. Vim 7 includes +code completion for the SQL language. + +There are two modes to the SQL completion plugin, static and dynamic. The +static mode populates the popups with the data generated from current syntax +highlight rules. The dynamic mode populates the popups with data retrieved +directly from a database. This includes, table lists, column lists, +procedures names and more. + +4.1 Static Mode *sql-completion-static* +--------------- +The static popups created contain items defined by the active syntax rules +while editing a file with a filetype of SQL. The plugin defines (by default) +various maps to help the user refine the list of items to be displayed. +The defaults static maps are: > + imap a :call sqlcomplete#Map('syntax') + imap k :call sqlcomplete#Map('sqlKeyword') + imap f :call sqlcomplete#Map('sqlFunction') + imap o :call sqlcomplete#Map('sqlOption') + imap T :call sqlcomplete#Map('sqlType') + imap s :call sqlcomplete#Map('sqlStatement') + +The static maps (which are based on the syntax highlight groups) follow this +format: > + imap k :call sqlcomplete#Map('sqlKeyword') + +This command breaks down as: > + imap - Create an insert map + - Only for this buffer + k - Your choice of key map + - Execute one command, return to Insert mode + :call sqlcomplete#Map( - Allows the SQL completion plugin to perform some + housekeeping functions to allow it to be used in + conjunction with other completion plugins. + Indicate which item you want the SQL completion + plugin to complete. + In this case we are asking the plugin to display + items from the syntax highlight group + 'sqlKeyword'. + You can view a list of highlight group names to + choose from by executing the + :syntax list + command while editing a SQL file. + 'sqlKeyword' - Display the items for the sqlKeyword highlight + group + ) - Execute the :let command + - Trigger the standard omni completion key stroke. + Passing in 'sqlKeyword' instructs the SQL + completion plugin to populate the popup with + items from the sqlKeyword highlight group. The + plugin will also cache this result until Vim is + restarted. The syntax list is retrieved using + the syntaxcomplete plugin. + +Using the 'syntax' keyword is a special case. This instructs the +syntaxcomplete plugin to retrieve all syntax items. So this will effectively +work for any of Vim's SQL syntax files. At the time of writing this includes +10 different syntax files for the different dialects of SQL (see section 3 +above, |sql-dialects|). + +Here are some examples of the entries which are pulled from the syntax files: > + All + - Contains the contents of all syntax highlight groups + Statements + - Select, Insert, Update, Delete, Create, Alter, ... + Functions + - Min, Max, Trim, Round, Date, ... + Keywords + - Index, Database, Having, Group, With + Options + - Isolation_level, On_error, Qualify_owners, Fire_triggers, ... + Types + - Integer, Char, Varchar, Date, DateTime, Timestamp, ... + + +4.2 Dynamic Mode *sql-completion-dynamic* +---------------- +Dynamic mode populates the popups with data directly from a database. In +order for the dynamic feature to be enabled you must have the dbext.vim +plugin installed, (http://vim.sourceforge.net/script.php?script_id=356). + +Dynamic mode is used by several features of the SQL completion plugin. +After installing the dbext plugin see the dbext-tutorial for additional +configuration and usage. The dbext plugin allows the SQL completion plugin +to display a list of tables, procedures, views and columns. > + Table List + - All tables for all schema owners + Procedure List + - All stored procedures for all schema owners + View List + - All stored procedures for all schema owners + Column List + - For the selected table, the columns that are part of the table + +To enable the popup, while in INSERT mode, use the following key combinations +for each group (where means hold the CTRL key down while pressing +the space bar): + Table List - t + - (the default map assumes tables) + Stored Procedure List - p + View List - v + Column List - c + + Windows platform only - When viewing a popup window displaying the list + of tables, you can press , this will + replace the table currently highlighted with + the column list for that table. + - When viewing a popup window displaying the list + of columns, you can press , this will + replace the column list with the list of tables. + - This allows you to quickly drill down into a + table to view it's columns and back again. + +The SQL completion plugin caches various lists that are displayed in +the popup window. This makes the re-displaying of these lists very +fast. If new tables or columns are added to the database it may become +necessary to clear the plugins cache. The default map for this is: > + imap R :call sqlcomplete#Map('ResetCache') + + +4.3 SQL Tutorial *sql-completion-tutorial* +---------------- + +This tutorial is designed to take you through the common features of the SQL +completion plugin so that: > + a) You gain familiarity with the plugin + b) You are introduced to some of the more common features + c) Show how to customize it to your preferences + d) Demonstrate "Best of Use" of the plugin (easiest way to configure). + +First, create a new buffer: > + :e tutorial.sql + + +Static features +--------------- +To take you through the various lists, simply enter insert mode, hit: + s (show SQL statements) +At this point, you can page down through the list until you find "select". +If you are familiar with the item you are looking for, for example you know +the statement begins with the letter "s". You can type ahead (without the +quotes) "se" then press: + t +Assuming "select" is highlighted in the popup list press to choose +the entry. Now type: + * fra (show all syntax items) +choose "from" from the popup list. + +When writing stored procedures using the "type" list is useful. It contains +a list of all the database supported types. This may or may not be true +depending on the syntax file you are using. The SQL Anywhere syntax file +(sqlanywhere.vim) has support for this: > + BEGIN + DECLARE customer_id T <-- Choose a type from the list + + +Dynamic features +---------------- +To take advantage of the dynamic features you must first install the +dbext.vim plugin (http://vim.sourceforge.net/script.php?script_id=356). It +also comes with a tutorial. From the SQL completion plugin's perspective, +the main feature dbext provides is a connection to a database. dbext +connection profiles are the most efficient mechanism to define connection +information. Once connections have been setup, the SQL completion plugin +uses the features of dbext in the background to populate the popups. + +What follows assumes dbext.vim has been correctly configured, a simple test +is to run the command, :DBListTable. If a list of tables is shown, you know +dbext.vim is working as expected. If not, please consult the dbext.txt +documentation. + +Assuming you have followed the dbext-tutorial you can press t to +display a list of tables. There is a delay while dbext is creating the table +list. After the list is displayed press . This will remove both the +popup window and the table name already chosen when the list became active. > + + 4.3.1 Table Completion: *sql-completion-tables* + +Press t to display a list of tables from within the database you +have connected via the dbext plugin. +NOTE: All of the SQL completion popups support typing a prefix before pressing +the key map. This will limit the contents of the popup window to just items +beginning with those characters. > + + 4.3.2 Column Completion: *sql-completion-columns* + +The SQL completion plugin can also display a list of columns for particular +tables. The column completion is trigger via c. + +NOTE: The following example uses to trigger a column list while +the popup window is active. This map is only available on the Windows +platforms since *nix does not recognize CTRL and the right arrow held down +together. If you wish to enable this functionality on a *nix platform choose +a key and create one of these mappings (see |sql-completion-maps| for further +details on where to create this imap): > + imap =sqlcomplete#DrillIntoTable() + imap :call sqlcomplete#Map('column') + +Example of using column completion: + - Press t again to display the list of tables. + - When the list is displayed in the completion window, press , + this will replace the list of tables, with a list of columns for the + table highlighted (after the same short delay). + - If you press , this will again replace the column list with the + list of tables. This allows you to drill into tables and column lists + very quickly. + - Press again while the same table is highlighted. You will + notice there is no delay since the column list has been cached. If you + change the schema of a cached table you can press R, which + clears the SQL completion cache. + - NOTE: and have been designed to work while the + completion window is active. If the completion popup window is + not active, a normal or will be executed. + +Lets look how we can build a SQL statement dynamically. A select statement +requires a list of columns. There are two ways to build a column list using +the SQL completion plugin. > + One column at a time: +< 1. After typing SELECT press t to display a list of tables. + 2. Choose a table from the list. + 3. Press to display a list of columns. + 4. Choose the column from the list and press enter. + 5. Enter a "," and press c. Generating a column list + generally requires having the cursor on a table name. The plugin + uses this name to determine what table to retrieve the column list. + In this step, since we are pressing c without the cursor + on a table name the column list displayed will be for the previous + table. Choose a different column and move on. + 6. Repeat step 5 as often as necessary. > + All columns for a table: +< 1. After typing SELECT press t to display a list of tables. + 2. Highlight the table you need the column list for. + 3. Press to choose the table from the list. + 4. Press l to request a comma separated list of all columns + for this table. + 5. Based on the table name chosen in step 3, the plugin attempts to + decide on a reasonable table alias. You are then prompted to + either accept of change the alias. Press OK. + 6. The table name is replaced with the column list of the table is + replaced with the comma separate list of columns with the alias + prepended to each of the columns. + 7. Step 3 and 4 can be replaced by pressing L, which has + a embedded in the map to choose the currently highlighted + table in the list. + +There is a special provision when writing select statements. Consider the +following statement: > + select * + from customer c, + contact cn, + department as dp, + employee e, + site_options so + where c. + +In INSERT mode after typing the final "c." which is an alias for the +"customer" table, you can press either c or . This will +popup a list of columns for the customer table. It does this by looking back +to the beginning of the select statement and finding a list of the tables +specified in the FROM clause. In this case it notes that in the string +"customer c", "c" is an alias for the customer table. The optional "AS" +keyword is also supported, "customer AS c". > + + + 4.3.3 Procedure Completion: *sql-completion-procedures* + +Similar to the table list, p, will display a list of stored +procedures stored within the database. > + + 4.3.4 View Completion: *sql-completion-views* + +Similar to the table list, v, will display a list of views in the +database. + + +4.4 Completion Customization *sql-completion-customization* +---------------------------- + +The SQL completion plugin can be customized through various options set in +your |vimrc|: > + omni_sql_no_default_maps +< - Default: This variable is not defined + - If this variable is defined, no maps are created for OMNI + completion. See |sql-completion-maps| for further discussion. +> + omni_sql_use_tbl_alias +< - Default: a + - This setting is only used when generating a comma separated + column list. By default the map is l. When generating + a column list, an alias can be prepended to the beginning of each + column, for example: e.emp_id, e.emp_name. This option has three + settings: > + n - do not use an alias + d - use the default (calculated) alias + a - ask to confirm the alias name +< + An alias is determined following a few rules: + 1. If the table name has an '_', then use it as a separator: > + MY_TABLE_NAME --> MTN + my_table_name --> mtn + My_table_NAME --> MtN +< 2. If the table name does NOT contain an '_', but DOES use + mixed case then the case is used as a separator: > + MyTableName --> MTN +< 3. If the table name does NOT contain an '_', and does NOT + use mixed case then the first letter of the table is used: > + mytablename --> m + MYTABLENAME --> M + + omni_sql_ignorecase +< - Default: Current setting for|ignorecase| + - Valid settings are 0 or 1. + - When entering a few letters before initiating completion, the list + will be filtered to display only the entries which begin with the + list of characters. When this option is set to 0, the list will be + filtered using case sensitivity. > + + omni_sql_include_owner +< - Default: 0, unless dbext.vim 3.00 has been installed + - Valid settings are 0 or 1. + - When completing tables, procedure or views and using dbext.vim 3.00 + or higher the list of objects will also include the owner name. + When completing these objects and omni_sql_include_owner is enabled + the owner name will be replaced. > + + omni_sql_precache_syntax_groups +< - Default: + ['syntax','sqlKeyword','sqlFunction','sqlOption','sqlType','sqlStatement'] + - sqlcomplete can be used in conjunction with other completion + plugins. This is outlined at |sql-completion-filetypes|. When the + filetype is changed temporarily to SQL, the sqlcompletion plugin + will cache the syntax groups listed in the List specified in this + option. +> + +4.5 SQL Maps *sql-completion-maps* +------------ + +The default SQL maps have been described in other sections of this document in +greater detail. Here is a list of the maps with a brief description of each. + +Static Maps +----------- +These are maps which use populate the completion list using Vim's syntax +highlighting rules. > + a +< - Displays all SQL syntax items. > + k +< - Displays all SQL syntax items defined as 'sqlKeyword'. > + f +< - Displays all SQL syntax items defined as 'sqlFunction. > + o +< - Displays all SQL syntax items defined as 'sqlOption'. > + T +< - Displays all SQL syntax items defined as 'sqlType'. > + s +< - Displays all SQL syntax items defined as 'sqlStatement'. > + +Dynamic Maps +------------ +These are maps which use populate the completion list using the dbext.vim +plugin. > + t +< - Displays a list of tables. > + p +< - Displays a list of procedures. > + v +< - Displays a list of views. > + c +< - Displays a list of columns for a specific table. > + l +< - Displays a comma separated list of columns for a specific table. > + L +< - Displays a comma separated list of columns for a specific table. + This should only be used when the completion window is active. > + +< - Displays a list of columns for the table currently highlighted in + the completion window. is not recognized on most Unix + systems, so this maps is only created on the Windows platform. + If you would like the same feature on Unix, choose a different key + and make the same map in your vimrc. > + +< - Displays the list of tables. + is not recognized on most Unix systems, so this maps is + only created on the Windows platform. If you would like the same + feature on Unix, choose a different key and make the same map in + your vimrc. > + R +< - This maps removes all cached items and forces the SQL completion + to regenerate the list of items. + +Customizing Maps +---------------- +You can create as many additional key maps as you like. Generally, the maps +will be specifying different syntax highlight groups. + +If you do not wish the default maps created or the key choices do not work on +your platform (often a case on *nix) you define the following variable in +your |vimrc|: > + let g:omni_sql_no_default_maps = 1 + +Do no edit ftplugin/sql.vim directly! If you change this file your changes +will be over written on future updates. Vim has a special directory structure +which allows you to make customizations without changing the files that are +included with the Vim distribution. If you wish to customize the maps +create an after/ftplugin/sql.vim (see |after-directory|) and place the same +maps from the ftplugin/sql.vim in it using your own key strokes. was +chosen since it will work on both Windows and *nix platforms. On the windows +platform you can also use or ALT keys. + + +4.6 Using with other filetypes *sql-completion-filetypes* +------------------------------ + +Many times SQL can be used with different filetypes. For example Perl, Java, +PHP, Javascript can all interact with a database. Often you need both the SQL +completion as well as the completion capabilities for the current language you +are editing. + +This can be enabled easily with the following steps (assuming a Perl file): > + 1. :e test.pl + 2. :set filetype=sql + 3. :set ft=perl + +Step 1 +------ +Begins by editing a Perl file. Vim automatically sets the filetype to +"perl". By default, Vim runs the appropriate filetype file +ftplugin/perl.vim. If you are using the syntax completion plugin by following +the directions at |ft-syntax-omni| then the |'omnifunc'| option has been set to +"syntax#Complete". Pressing will display the omni popup containing +the syntax items for Perl. + +Step 2 +------ +Manually setting the filetype to 'sql' will also fire the appropriate filetype +files ftplugin/sql.vim. This file will define a number of buffer specific +maps for SQL completion, see |sql-completion-maps|. Now these maps have +been created and the SQL completion plugin has been initialized. All SQL +syntax items have been cached in preparation. The SQL filetype script detects +we are attempting to use two different completion plugins. Since the SQL maps +begin with , the maps will toggle the |'omnifunc'| when in use. So you +can use to continue using the completion for Perl (using the syntax +completion plugin) and to use the SQL completion features. + +Step 3 +------ +Setting the filetype back to Perl sets all the usual "perl" related items back +as they were. + + +vim:tw=78:ts=8:ft=help:norl: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/cdrdaoconf.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/cdrdaoconf.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,18 @@ +" Vim filetype plugin file +" Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +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 &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/debcontrol.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/debcontrol.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,70 @@ +" Vim filetype plugin file (GUI menu and folding) +" Language: Debian control files +" Maintainer: Debian Vim Maintainers +" Former Maintainer: Pierre Habouzit +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/denyhosts.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/denyhosts.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,18 @@ +" Vim filetype plugin file +" Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +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 &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/dosini.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/dosini.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: Configuration File (ini file) for MSDOS/MS Windows +" Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +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 &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/dtrace.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/dtrace.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,40 @@ +" Language: D script as described in "Solaris Dynamic Tracing Guide", +" http://docs.sun.com/app/docs/doc/817-6223 +" Last Change: 2008/03/20 +" Version: 1.2 +" Maintainer: Nicolas Weber + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Using line continuation here. +let s:cpo_save = &cpo +set cpo-=C + +let b:undo_ftplugin = "setl fo< com< cms< isk<" + +" Set 'formatoptions' to break comment lines but not other lines, +" and insert the comment leader when hitting or using "o". +setlocal fo-=t fo+=croql + +" Set 'comments' to format dashed lists in comments. +setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/ + +" dtrace uses /* */ comments. Set this explicitly, just in case the user +" changed this (/*%s*/ is the default) +setlocal commentstring=/*%s*/ + +setlocal iskeyword+=@,$ + +" When the matchit plugin is loaded, this makes the % command skip parens and +" braces in comments. +let b:match_words = &matchpairs +let b:match_skip = 's:comment\|string\|character' + +let &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/framescript.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/framescript.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,30 @@ +" Vim ftplugin file +" Language: FrameScript +" Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-19 + +let s:cpo_save = &cpo +set cpo&vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo< inc< | unlet! b:matchwords" + +setlocal comments=s1:/*,mb:*,ex:*/,:// commentstring=/*\ %s\ */ +setlocal formatoptions-=t formatoptions+=croql +setlocal include=^\\s*<#Include + +if exists("loaded_matchit") + let s:not_end = '\c\%(\:\c\:\c\:\c\,' . + \ s:not_end . '\:\c\' . + \ s:not_end . '\:\c\' + unlet s:not_end +endif + +let &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/git.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/git.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,34 @@ +" Vim filetype plugin +" Language: generic git output +" Maintainer: Tim Pope +" Last Change: 2008 Jul 30 + +" Only do this when not done yet for this buffer +if (exists("b:did_ftplugin")) + finish +endif +let b:did_ftplugin = 1 + +if !exists('b:git_dir') + if expand('%:p') =~# '\.git\>' + let b:git_dir = matchstr(expand('%:p'),'.*\.git\>') + elseif $GIT_DIR != '' + let b:git_dir = $GIT_DIR + endif + if (has('win32') || has('win64')) && exists('b:git_dir') + let b:git_dir = substitute(b:git_dir,'\\','/','g') + endif +endif + +if exists('*shellescape') && exists('b:git_dir') && b:git_dir != '' + if b:git_dir =~# '/\.git$' " Not a bare repository + let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path + endif + let &l:path = escape(b:git_dir,'\, ').','.&l:path + let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show' +else + setlocal keywordprg=git\ show +endif + +setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','') +let b:undo_ftplugin = "setl keywordprg< path< includeexpr<" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/gitcommit.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/gitcommit.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,68 @@ +" Vim filetype plugin +" Language: git config file +" Maintainer: Tim Pope +" Last Change: 2008 Jun 04 + +" 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 + +if &textwidth == 0 + " make sure that log messages play nice with git-log on standard terminals + setlocal textwidth=72 + if !exists("b:undo_ftplugin") + let b:undo_ftplugin = "" + endif + let b:undo_ftplugin = b:undo_ftplugin . "|setl tw<" +endif + +if exists("g:no_gitcommit_commands") || v:version < 700 + finish +endif + +if !exists("b:git_dir") + let b:git_dir = expand("%:p:h") +endif + +" Automatically diffing can be done with: +" autocmd FileType gitcommit DiffGitCached | wincmd p +command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(0,b:git_dir,) + +function! s:diffcomplete(A,L,P) + let args = "" + if a:P <= match(a:L." -- "," -- ")+3 + let args = args . "-p\n--stat\n--shortstat\n--summary\n--patch-with-stat\n--no-renames\n-B\n-M\n-C\n" + end + if exists("b:git_dir") && a:A !~ '^-' + let tree = fnamemodify(b:git_dir,':h') + if strpart(getcwd(),0,strlen(tree)) == tree + let args = args."\n".system("git diff --cached --name-only") + endif + endif + return args +endfunction + +function! s:gitdiffcached(bang,gitdir,...) + let tree = fnamemodify(a:gitdir,':h') + let name = tempname() + let git = "git" + if strpart(getcwd(),0,strlen(tree)) != tree + let git .= " --git-dir=".(exists("*shellescape") ? shellescape(a:gitdir) : '"'.a:gitdir.'"') + endif + if a:0 + let extra = join(map(copy(a:000),exists("*shellescape") ? 'shellescape(v:val)' : "'\"'.v:val.'\"'")) + else + let extra = "-p --stat=".&columns + endif + call system(git." diff --cached --no-color ".extra." > ".(exists("*shellescape") ? shellescape(name) : name)) + exe "pedit ".(exists("*fnameescape") ? fnameescape(name) : name) + wincmd P + let b:git_dir = a:gitdir + command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(0,b:git_dir,) + nnoremap q :q + setlocal buftype=nowrite nobuflisted noswapfile nomodifiable filetype=git +endfunction diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/gitconfig.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/gitconfig.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,15 @@ +" Vim filetype plugin +" Language: git config file +" Maintainer: Tim Pope +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/gitrebase.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/gitrebase.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,41 @@ +" Vim filetype plugin +" Language: git rebase --interactive +" Maintainer: Tim Pope +" 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 S :Cycle + +if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps") + finish +endif + +nnoremap K col('.') < 7 && expand('cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K' + +let b:undo_ftplugin = b:undo_ftplugin . "|nunmap K" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/gitsendemail.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/gitsendemail.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,6 @@ +" Vim filetype plugin +" Language: git send-email message +" Maintainer: Tim Pope +" Last Change: 2007 Dec 16 + +runtime! ftplugin/mail.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/haml.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/haml.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,66 @@ +" Vim filetype plugin +" Language: Haml +" Maintainer: Tim Pope + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +let s:save_cpo = &cpo +set cpo-=C + +" Define some defaults in case the included ftplugins don't set them. +let s:undo_ftplugin = "" +let s:browsefilter = "All Files (*.*)\t*.*\n" +let s:match_words = "" + +runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim +unlet! b:did_ftplugin + +" Override our defaults if these were set by an included ftplugin. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin + unlet b:undo_ftplugin +endif +if exists("b:browsefilter") + let s:browsefilter = b:browsefilter + unlet b:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words + unlet b:match_words +endif + +runtime! ftplugin/ruby.vim ftplugin/ruby_*.vim ftplugin/ruby/*.vim +let b:did_ftplugin = 1 + +" Combine the new set of values with those previously included. +if exists("b:undo_ftplugin") + let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin +endif +if exists ("b:browsefilter") + let s:browsefilter = substitute(b:browsefilter,'\cAll Files (\*\.\*)\t\*\.\*\n','','') . s:browsefilter +endif +if exists("b:match_words") + let s:match_words = b:match_words . ',' . s:match_words +endif + +" Change the browse dialog on Win32 to show mainly Haml-related files +if has("gui_win32") + let b:browsefilter="Haml Files (*.haml)\t*.haml\nSass Files (*.sass)\t*.sass\n" . s:browsefilter +endif + +" Load the combined list of match_words for matchit.vim +if exists("loaded_matchit") + let b:match_words = s:match_words +endif + +setlocal commentstring=-#\ %s + +let b:undo_ftplugin = "setl cms< com< " + \ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin + +let &cpo = s:save_cpo + +" vim:set sw=2: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/hostconf.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/hostconf.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,18 @@ +" Vim filetype plugin file +" Maintainer: Nikolai Weibull +" Latest Revision: 2007-12-04 + +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 &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/hostsaccess.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/hostsaccess.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,19 @@ +" Vim filetype plugin file +" Language: hosts_access(5) control file +" Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +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 &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/logtalk.dict --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/logtalk.dict Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,164 @@ +encoding +calls +category +dynamic +end_category +end_object +end_protocol +info +initialization +object +protocol +synchronized +threaded +uses +alias +discontiguous +meta_predicate +mode +op +private +protected +public +current_object +current_protocol +current_category +object_property +protocol_property +category_property +create_object +create_protocol +create_category +abolish_object +abolish_protocol +abolish_category +complements +complements_object +extends +extends_object +extends_protocol +extends_category +implements +implements_protocol +imports +imports_category +instantiates +instantiates_class +specializes +specializes_class +abolish_events +current_event +define_events +logtalk_load +logtalk_compile +logtalk_library_path +current_logtalk_flag +set_logtalk_flag +threaded_call +threaded_once +threaded_ignore +threaded_exit +threaded_peek +threaded_wait +threaded_notify +self +this +sender +parameter +before +after +phrase +expand_term +goal_expansion +term_expansion +true +fail +call +catch +throw +unify_with_occurs_check +var +atom +integer +float +atomic +compound +nonvar +number +arg +copy_term +functor +current_predicate +predicate_property +abolish +assertz +asserta +clause +retract +retractall +bagof +findall +forall +setof +current_input +current_output +set_input +set_output +open +close +flush_output +stream_property +at_end_of_stream +set_stream_position +get_char +get_code +peek_char +peek_code +put_char +put_code +nl +get_byte +peek_byte +put_byte +read +read_term +write +writeq +write_canonical +atom_chars +atom_codes +atom_concat +number_chars +number_codes +current_op +char_conversion +current_char_conversion +once +repeat +atom_length +atom_concat +sub_atom +atom_chars +atom_codes +char_code +number_chars +number_codes +set_prolog_flag +current_prolog_flag +halt +abs +atan +ceiling +cos +exp +float_fractional_part +float_integer_part +floor +log +mod +rem +round +sign +sin +sqrt +truncate diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/logtalk.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/logtalk.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,18 @@ +" Logtalk filetype plugin file +" Language: Logtalk +" Maintainer: Paulo Moura +" Latest Revision: 2007-07-06 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl ts< sw< fdm< fdc< ai< dict<" + +"setlocal ts=4 +setlocal sw=4 +setlocal fdm=syntax +setlocal fdc=2 +setlocal autoindent +setlocal dict=$VIMRUNTIME/ftplugin/logtalk.dict diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/msmessages.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/msmessages.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,40 @@ +" Vim filetype plugin file +" Language: MS Message files (*.mc) +" Maintainer: Kevin Locke +" Last Change: 2008 April 09 +" Location: http://kevinlocke.name/programs/vim/syntax/msmessages.vim + +" Based on c.vim + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +" Using line continuation here. +let s:cpo_save = &cpo +set cpo-=C + +let b:undo_ftplugin = "setl fo< com< cms< | unlet! b:browsefilter" + +" Set 'formatoptions' to format all lines, including comments +setlocal fo-=ct fo+=roql + +" Comments includes both ";" which describes a "comment" which will be +" converted to C code and variants on "; //" which will remain comments +" in the generated C code +setlocal comments=:;,:;//,:;\ //,s:;\ /*\ ,m:;\ \ *\ ,e:;\ \ */ +setlocal commentstring=;\ //\ %s + +" Win32 can filter files in the browse dialog +if has("gui_win32") && !exists("b:browsefilter") + let b:browsefilter = "MS Message Files (*.mc)\t*.mc\n" . + \ "Resource Files (*.rc)\t*.rc\n" . + \ "All Files (*.*)\t*.*\n" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/nsis.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/nsis.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,22 @@ +" Vim ftplugin file +" Language: NSIS script +" Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-09 + +let s:cpo_save = &cpo +set cpo&vim + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl com< cms< fo< def< inc<" + +setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s +setlocal formatoptions-=t formatoptions+=croql +setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\= +setlocal include=^\\s*!include\\%(/NONFATAL\\)\\= + +let &cpo = s:cpo_save +unlet s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/pdf.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/pdf.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,89 @@ +" Vim filetype plugin file +" Language: PDF +" Maintainer: Tim Pope +" Last Change: 2007 Dec 16 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +setlocal commentstring=%%s +setlocal comments=:% +let b:undo_ftplugin = "setlocal cms< com< | unlet! b:match_words" + +if exists("g:loaded_matchit") + let b:match_words = '\<\%(\d\+\s\+\d\+\s\+\)obj\>:\,\,\:\,<<:>>' +endif + +if exists("g:no_plugin_maps") || exists("g:no_pdf_maps") || v:version < 700 + finish +endif + +if !exists("b:pdf_tagstack") + let b:pdf_tagstack = [] +endif + +let b:undo_ftplugin .= " | silent! nunmap | silent! nunmap " +nnoremap :call Tag() +" Inline, so the error from an empty tag stack will be simple. +nnoremap :if len(b:pdf_tagstack) > 0 call setpos('.',remove(b:pdf_tagstack, -1)) else exe "norm! \C-T>" endif + +function! s:Tag() + call add(b:pdf_tagstack,getpos('.')) + if getline('.') =~ '^\d\+$' && getline(line('.')-1) == 'startxref' + return s:dodigits(getline('.')) + elseif getline('.') =~ '/Prev\s\+\d\+\>\%(\s\+\d\)\@!' && expand("") =~ '^\d\+$' + return s:dodigits(expand("")) + elseif getline('.') =~ '^\d\{10\} \d\{5\} ' + return s:dodigits(matchstr(getline('.'),'^\d\+')) + else + let line = getline(".") + let lastend = 0 + let pat = '\<\d\+\s\+\d\+\s\+R\>' + while lastend >= 0 + let beg = match(line,'\C'.pat,lastend) + let end = matchend(line,'\C'.pat,lastend) + if beg < col(".") && end >= col(".") + return s:doobject(matchstr(line,'\C'.pat,lastend)) + endif + let lastend = end + endwhile + return s:notag() + endif +endfunction + +function! s:doobject(string) + let first = matchstr(a:string,'^\s*\zs\d\+') + let second = matchstr(a:string,'^\s*\d\+\s\+\zs\d\+') + norm! m' + if first != '' && second != '' + let oldline = line('.') + let oldcol = col('.') + 1 + if !search('^\s*'.first.'\s\+'.second.'\s\+obj\>') + exe oldline + exe 'norm! '.oldcol.'|' + return s:notag() + endif + endif +endfunction + +function! s:dodigits(digits) + let digits = 0 + substitute(a:digits,'^0*','','') + norm! m' + if digits <= 0 + norm! 1go + else + " Go one character before the destination and advance. This method + " lands us after a newline rather than before, if that is our target. + exe "goto ".(digits)."|norm! 1 " + endif +endfunction + +function! s:notag() + silent! call remove(b:pdf_tagstack,-1) + echohl ErrorMsg + echo "E426: tag not found" + echohl NONE +endfunction diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/reva.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/reva.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,25 @@ +" Vim ftplugin file +" Language: Reva Forth +" Version: 7.1 +" Last Change: 2008/01/11 +" Maintainer: Ron Aaron +" URL: http://ronware.org/reva/ +" Filetypes: *.rf *.frt +" NOTE: Forth allows any non-whitespace in a name, so you need to do: +" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 +" +" This goes with the syntax/reva.vim file. + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif + +" Don't load another plugin for this buffer +let b:did_ftplugin = 1 + +setlocal sts=4 sw=4 +setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\ +setlocal fo=tcrqol +setlocal matchpairs+=\::; +setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/ftplugin/sass.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/ftplugin/sass.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,18 @@ +" Vim filetype plugin +" Language: Sass +" Maintainer: Tim Pope + +" Only do this when not done yet for this buffer +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let b:undo_ftplugin = "setl cms< inc< ofu<" + +setlocal commentstring=//\ %s +setlocal omnifunc=csscomplete#CompleteCSS + +let &l:include = '^\s*@import\s\+\%(url(\)\=' + +" vim:set sw=2: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/dtd.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/dtd.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,325 @@ +" Vim indent file +" Language: DTD (Document Type Definition for XML) +" Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-18 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal indentexpr=GetDTDIndent() +setlocal indentkeys=!^F,o,O,> +setlocal nosmartindent + +if exists("*GetDTDIndent") + finish +endif + +" TODO: Needs to be adjusted to stop at [, <, and ]. +let s:token_pattern = '^[^[:space:]]\+' + +function s:lex1(input, start, ...) + let pattern = a:0 > 0 ? a:1 : s:token_pattern + let start = matchend(a:input, '^\_s*', a:start) + if start == -1 + return ["", a:start] + endif + let end = matchend(a:input, pattern, start) + if end == -1 + return ["", a:start] + endif + let token = strpart(a:input, start, end - start) + return [token, end] +endfunction + +function s:lex(input, start, ...) + let pattern = a:0 > 0 ? a:1 : s:token_pattern + let info = s:lex1(a:input, a:start, pattern) + while info[0] == '--' + let info = s:lex1(a:input, info[1], pattern) + while info[0] != "" && info[0] != '--' + let info = s:lex1(a:input, info[1], pattern) + endwhile + if info[0] == "" + return info + endif + let info = s:lex1(a:input, info[1], pattern) + endwhile + return info +endfunction + +function s:indent_to_innermost_parentheses(line, end) + let token = '(' + let end = a:end + let parentheses = [end - 1] + while token != "" + let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\)[?*+]\=') + if token[0] == '(' + call add(parentheses, end - 1) + elseif token[0] == ')' + if len(parentheses) == 1 + return [-1, end] + endif + call remove(parentheses, -1) + endif + endwhile + return [parentheses[-1] - strridx(a:line, "\n", parentheses[-1]), end] +endfunction + +" TODO: Line and end could be script global (think OO members). +function GetDTDIndent() + if v:lnum == 1 + return 0 + endif + + " Begin by searching back for a " + return indent + endif + endwhile + return -1 + elseif declaration == 'ELEMENT' + " Check for element name. If none exists, indent one level. + let [name, end] = s:lex(line, end) + if name == "" + return indent + &sw + endif + + " Check for token following element name. This can be a specification of + " whether the start or end tag may be omitted. If nothing is found, indent + " one level. + let [token, end] = s:lex(line, end) + let n = 0 + while token =~ '[-O]' && n < 2 + let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)') + let n += 1 + endwhile + if token == "" + return indent + &sw + endif + + " Next comes the content model. If the token we’ve found isn’t a + " parenthesis it must be either ANY, EMPTY or some random junk. Either + " way, we’re done indenting this element, so set it to that of the first + " line so that the terminating “>†winds up having the same indention. + if token != '(' + return indent + endif + + " Now go through the content model. We need to keep track of the nesting + " of parentheses. As soon as we hit 0 we’re done. If that happens we must + " have a complete content model. Thus set indention to be the same as that + " of the first line so that the terminating “>†winds up having the same + " indention. Otherwise, we’ll indent to the innermost parentheses not yet + " matched. + let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end) + if indent_of_innermost != -1 + return indent_of_innermost + endif + + " Finally, look for any additions and/or exceptions to the content model. + " This is defined by a “+†or “-†followed by another content model + " declaration. + " TODO: Can the “-†be separated by whitespace from the “(â€? + let seen = { '+(': 0, '-(': 0 } + while 1 + let [additions_exceptions, end] = s:lex(line, end, '^[+-](') + if additions_exceptions != '+(' && additions_exceptions != '-(' + let [token, end] = s:lex(line, end) + if token == '>' + return indent + endif + " TODO: Should use s:lex here on getline(v:lnum) and check for >. + return getline(v:lnum) =~ '^\s*>' || count(values(seen), 0) == 0 ? indent : (indent + &sw) + endif + + " If we’ve seen an addition or exception already and this is of the same + " kind, the user is writing a broken DTD. Time to bail. + if seen[additions_exceptions] + return indent + endif + let seen[additions_exceptions] = 1 + + let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end) + if indent_of_innermost != -1 + return indent_of_innermost + endif + endwhile + elseif declaration == 'ATTLIST' + " Check for element name. If none exists, indent one level. + let [name, end] = s:lex(line, end) + if name == "" + return indent + &sw + endif + + " Check for any number of attributes. + while 1 + " Check for attribute name. If none exists, indent one level, unless the + " current line is a lone “>â€, in which case we indent to the same level + " as the first line. Otherwise, if the attribute name is “>â€, we have + " actually hit the end of the attribute list, in which case we indent to + " the same level as the first line. + let [name, end] = s:lex(line, end) + if name == "" + " TODO: Should use s:lex here on getline(v:lnum) and check for >. + return getline(v:lnum) =~ '^\s*>' ? indent : (indent + &sw) + elseif name == ">" + return indent + endif + + " Check for attribute value declaration. If none exists, indent two + " levels. Otherwise, if it’s an enumerated value, check for nested + " parentheses and indent to the innermost one if we don’t reach the end + " of the listc. Otherwise, just continue with looking for the default + " attribute value. + " TODO: Do validation of keywords + " (CDATA|NMTOKEN|NMTOKENS|ID|IDREF|IDREFS|ENTITY|ENTITIES)? + let [value, end] = s:lex(line, end, '^\%((\|[^[:space:]]\+\)') + if value == "" + return indent + &sw * 2 + elseif value == 'NOTATION' + " If this is a enumerated value based on notations, read another token + " for the actual value. If it doesn’t exist, indent three levels. + " TODO: If validating according to above, value must be equal to '('. + let [value, end] = s:lex(line, end, '^\%((\|[^[:space:]]\+\)') + if value == "" + return indent + &sw * 3 + endif + endif + + if value == '(' + let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end) + if indent_of_innermost != -1 + return indent_of_innermost + endif + endif + + " Finally look for the attribute’s default value. If non exists, indent + " two levels. + " TODO: Do validation of keywords (#REQUIRED|#IMPLIED)? + let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|[^[:space:]]\+\)') + if default == "" + return indent + &sw * 2 + elseif default == '#FIXED' + " We need to look for the fixed value. If non exists, indent three + " levels. + let [default, end] = s:lex(line, end, '^"\_[^"]*"') + if default == "" + return indent + &sw * 3 + endif + endif + endwhile + elseif declaration == 'ENTITY' + " Check for entity name. If none exists, indent one level. Otherwise, if + " the name actually turns out to be a percent sign, “%â€, this is a + " parameter entity. Read another token to determine the entity name and, + " again, if none exists, indent one level. + let [name, end] = s:lex(line, end) + if name == "" + return indent + &sw + elseif name == '%' + let [name, end] = s:lex(line, end) + if name == "" + return indent + &sw + endif + endif + + " Now check for the entity value. If none exists, indent one level. If it + " does exist, indent to same level as first line, as we’re now done with + " this entity. + " + " The entity value can be a string in single or double quotes (no escapes + " to worry about, as entities are used instead). However, it can also be + " that this is an external unparsed entity. In that case we have to look + " further for (possibly) a public ID and an URI followed by the NDATA + " keyword and the actual notation name. For the public ID and URI, indent + " two levels, if they don’t exist. If the NDATA keyword doesn’t exist, + " indent one level. Otherwise, if the actual notation name doesn’t exist, + " indent two level. If it does, indent to same level as first line, as + " we’re now done with this entity. + let [value, end] = s:lex(line, end) + if value == "" + return indent + &sw + elseif value == 'SYSTEM' || value == 'PUBLIC' + let [quoted_string, end] = s:lex(line, end, '\%("[^"]\+"\|''[^'']\+''\)') + if quoted_string == "" + return indent + &sw * 2 + endif + + if value == 'PUBLIC' + let [quoted_string, end] = s:lex(line, end, '\%("[^"]\+"\|''[^'']\+''\)') + if quoted_string == "" + return indent + &sw * 2 + endif + endif + + let [ndata, end] = s:lex(line, end) + if ndata == "" + return indent + &sw + endif + + let [name, end] = s:lex(line, end) + return name == "" ? (indent + &sw * 2) : indent + else + return indent + endif + elseif declaration == 'NOTATION' + " Check for notation name. If none exists, indent one level. + let [name, end] = s:lex(line, end) + if name == "" + return indent + &sw + endif + + " Now check for the external ID. If none exists, indent one level. + let [id, end] = s:lex(line, end) + if id == "" + return indent + &sw + elseif id == 'SYSTEM' || id == 'PUBLIC' + let [quoted_string, end] = s:lex(line, end, '\%("[^"]\+"\|''[^'']\+''\)') + if quoted_string == "" + return indent + &sw * 2 + endif + + if id == 'PUBLIC' + let [quoted_string, end] = s:lex(line, end, '\%("[^"]\+"\|''[^'']\+''\|>\)') + if quoted_string == "" + " TODO: Should use s:lex here on getline(v:lnum) and check for >. + return getline(v:lnum) =~ '^\s*>' ? indent : (indent + &sw * 2) + elseif quoted_string == '>' + return indent + endif + endif + endif + + return indent + endif + + " TODO: Processing directives could be indented I suppose. But perhaps it’s + " just as well to let the user decide how to indent them (perhaps extending + " this function to include proper support for whatever processing directive + " language they want to use). + + " Conditional sections are simply passed along to let Vim decide what to do + " (and hence the user). + return -1 +endfunction + +let &cpo = s:cpo_save diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/dtrace.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/dtrace.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,17 @@ +" Vim indent file +" Language: D script as described in "Solaris Dynamic Tracing Guide", +" http://docs.sun.com/app/docs/doc/817-6223 +" Last Change: 2008/03/20 +" Version: 1.2 +" Maintainer: Nicolas Weber + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +" Built-in C indenting works nicely for dtrace. +setlocal cindent + +let b:undo_indent = "setl cin<" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/erlang.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/erlang.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,206 @@ +" Vim indent file +" Language: Erlang +" Maintainer: Csaba Hoch +" Contributor: Edwin Fine +" Last Change: 2008 Mar 12 + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal indentexpr=ErlangIndent() +setlocal indentkeys+==after,=end,=catch,=),=],=} + +" Only define the functions once. +if exists("*ErlangIndent") + finish +endif + +" The function go through the whole line, analyses it and sets the indentation +" (ind variable). +" l: the number of the line to be examined. +function s:ErlangIndentAtferLine(l) + let i = 0 " the index of the current character in the line + let length = strlen(a:l) " the length of the line + let ind = 0 " how much should be the difference between the indentation of + " the current line and the indentation of the next line? + " e.g. +1: the indentation of the next line should be equal to + " the indentation of the current line plus one shiftwidth + let lastFun = 0 " the last token was a 'fun' + let lastReceive = 0 " the last token was a 'receive'; needed for 'after' + let lastHashMark = 0 " the last token was a 'hashmark' + + while 0<= i && i < length + + " m: the next value of the i + if a:l[i] == '%' + break + elseif a:l[i] == '"' + let m = matchend(a:l,'"\%([^"\\]\|\\.\)*"',i) + let lastReceive = 0 + elseif a:l[i] == "'" + let m = matchend(a:l,"'[^']*'",i) + let lastReceive = 0 + elseif a:l[i] =~# "[a-z]" + let m = matchend(a:l,".[[:alnum:]_]*",i) + if lastFun + let ind = ind - 1 + let lastFun = 0 + let lastReceive = 0 + elseif a:l[(i):(m-1)] =~# '^\%(case\|if\|try\)$' + let ind = ind + 1 + elseif a:l[(i):(m-1)] =~# '^receive$' + let ind = ind + 1 + let lastReceive = 1 + elseif a:l[(i):(m-1)] =~# '^begin$' + let ind = ind + 2 + let lastReceive = 0 + elseif a:l[(i):(m-1)] =~# '^end$' + let ind = ind - 2 + let lastReceive = 0 + elseif a:l[(i):(m-1)] =~# '^after$' + if lastReceive == 0 + let ind = ind - 1 + else + let ind = ind + 0 + end + let lastReceive = 0 + elseif a:l[(i):(m-1)] =~# '^fun$' + let ind = ind + 1 + let lastFun = 1 + let lastReceive = 0 + endif + elseif a:l[i] =~# "[A-Z_]" + let m = matchend(a:l,".[[:alnum:]_]*",i) + let lastReceive = 0 + elseif a:l[i] == '$' + let m = i+2 + let lastReceive = 0 + elseif a:l[i] == "." && (i+1>=length || a:l[i+1]!~ "[0-9]") + let m = i+1 + if lastHashMark + let lastHashMark = 0 + else + let ind = ind - 1 + end + let lastReceive = 0 + elseif a:l[i] == '-' && (i+1') + let m = i+2 + let ind = ind + 1 + let lastReceive = 0 + elseif a:l[i] == ';' + let m = i+1 + let ind = ind - 1 + let lastReceive = 0 + elseif a:l[i] == '#' + let m = i+1 + let lastHashMark = 1 + elseif a:l[i] =~# '[({[]' + let m = i+1 + let ind = ind + 1 + let lastFun = 0 + let lastReceive = 0 + let lastHashMark = 0 + elseif a:l[i] =~# '[)}\]]' + let m = i+1 + let ind = ind - 1 + let lastReceive = 0 + else + let m = i+1 + endif + + let i = m + + endwhile + + return ind + +endfunction + +function s:FindPrevNonBlankNonComment(lnum) + let lnum = prevnonblank(a:lnum) + let line = getline(lnum) + " continue to search above if the current line begins with a '%' + while line =~# '^\s*%.*$' + let lnum = prevnonblank(lnum - 1) + if 0 == lnum + return 0 + endif + let line = getline(lnum) + endwhile + return lnum +endfunction + +function ErlangIndent() + + " Find a non-blank line above the current line. + let lnum = prevnonblank(v:lnum - 1) + + " Hit the start of the file, use zero indent. + if lnum == 0 + return 0 + endif + + let prevline = getline(lnum) + let currline = getline(v:lnum) + + let ind = indent(lnum) + &sw * s:ErlangIndentAtferLine(prevline) + + " special cases: + if prevline =~# '^\s*\%(after\|end\)\>' + let ind = ind + 2*&sw + endif + if currline =~# '^\s*end\>' + let ind = ind - 2*&sw + endif + if currline =~# '^\s*after\>' + let plnum = s:FindPrevNonBlankNonComment(v:lnum-1) + if getline(plnum) =~# '^[^%]*\\s*\%(%.*\)\=$' + let ind = ind - 1*&sw + " If the 'receive' is not in the same line as the 'after' + else + let ind = ind - 2*&sw + endif + endif + if prevline =~# '^\s*[)}\]]' + let ind = ind + 1*&sw + endif + if currline =~# '^\s*[)}\]]' + let ind = ind - 1*&sw + endif + if prevline =~# '^\s*\%(catch\)\s*\%(%\|$\)' + let ind = ind + 1*&sw + endif + if currline =~# '^\s*\%(catch\)\s*\%(%\|$\)' + let ind = ind - 1*&sw + endif + + if ind<0 + let ind = 0 + endif + return ind + +endfunction + +" TODO: +" +" f() -> +" x("foo +" bar") +" , +" bad_indent. +" +" fun +" init/0, +" bad_indent +" +" #rec +" .field, +" bad_indent +" +" case X of +" 1 when A; B -> +" bad_indent + diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/framescript.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/framescript.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,41 @@ +" Vim indent file +" Language: FrameScript +" Maintainer: Nikolai Weibull +" Latest Revision: 2008-07-19 + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal indentexpr=GetFrameScriptIndent() +setlocal indentkeys=!^F,o,O,0=~Else,0=~EndIf,0=~EndLoop,0=~EndSub +setlocal nosmartindent + +if exists("*GetFrameScriptIndent") + finish +endif + +function GetFrameScriptIndent() + let lnum = prevnonblank(v:lnum - 1) + + if lnum == 0 + return 0 + endif + + if getline(v:lnum) =~ '^\s*\*' + return cindent(v:lnum) + endif + + let ind = indent(lnum) + + if getline(lnum) =~? '^\s*\%(If\|Loop\|Sub\)' + let ind = ind + &sw + endif + + if getline(v:lnum) =~? '^\s*\%(Else\|End\%(If\|Loop\|Sub\)\)' + let ind = ind - &sw + endif + + return ind +endfunction diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/gitconfig.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/gitconfig.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,35 @@ +" Vim indent file +" Language: git config file +" Maintainer: Tim Pope +" Last Change: 2008 Jun 04 + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal autoindent +setlocal indentexpr=GetGitconfigIndent() +setlocal indentkeys=o,O,*,0[,],0;,0#,=,!^F + +" Only define the function once. +if exists("*GetGitconfigIndent") + finish +endif + +function! GetGitconfigIndent() + let line = getline(prevnonblank(v:lnum-1)) + let cline = getline(v:lnum) + if line =~ '\\\@ +" Last Change: 2007 Dec 16 + +if exists("b:did_indent") + finish +endif +runtime! indent/ruby.vim +unlet! b:did_indent +let b:did_indent = 1 + +setlocal autoindent sw=2 et +setlocal indentexpr=GetHamlIndent() +setlocal indentkeys=o,O,*,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when + +" Only define the function once. +if exists("*GetHamlIndent") + finish +endif + +let s:attributes = '\%({.\{-\}}\|\[.\{-\}\]\)' +let s:tag = '\%([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*' + +if !exists('g:haml_self_closing_tags') + let g:haml_self_closing_tags = 'meta|link|img|hr|br' +endif + +function! GetHamlIndent() + let lnum = prevnonblank(v:lnum-1) + if lnum == 0 + return 0 + endif + let line = substitute(getline(lnum),'\s\+$','','') + let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') + let lastcol = strlen(line) + let line = substitute(line,'^\s\+','','') + let indent = indent(lnum) + let cindent = indent(v:lnum) + if cline =~# '\v^-\s*%(elsif|else|when)>' + let indent = cindent < indent ? cindent : indent - &sw + endif + let increase = indent + &sw + if indent == indent(lnum) + let indent = cindent <= indent ? -1 : increase + endif + "let indent = indent == indent(lnum) ? -1 : indent + "let indent = indent > indent(lnum) + &sw ? indent(lnum) + &sw : indent + + let group = synIDattr(synID(lnum,lastcol,1),'name') + + if line =~ '^!!!' + return indent + elseif line =~ '^/\%(\[[^]]*\]\)\=$' + return increase + elseif line =~ '^:' + return increase + elseif line =~ '^'.s:tag.'[=~-]\s*\%(\%(if\|else\|elsif\|unless\|case\|when\|while\|until\|for\|begin\|module\|class\|def\)\>\%(.*\\)\@!\|.*do |[^|]*|\s*$\)' + return increase + elseif line == '-#' + return increase + elseif group =~? '\v^(hamlSelfCloser)$' || line =~? '^%\v%('.g:haml_self_closing_tags.')>' + return indent + elseif group =~? '\v^%(hamlTag|hamlAttributesDelimiter|hamlObjectDelimiter|hamlClass|hamlId|htmlTagName|htmlSpecialTagName)$' + return increase + elseif synIDattr(synID(v:lnum,1,1),'name') ==? 'hamlRubyFilter' + return GetRubyIndent() + else + return indent + endif +endfunction + +" vim:set sw=2: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/logtalk.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/logtalk.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,61 @@ +" Maintainer: Paulo Moura +" Revised on: 2008.06.02 +" Language: Logtalk + +" This Logtalk indent file is a modified version of the Prolog +" indent file written by Gergely Kontra + +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif + +let b:did_indent = 1 + +setlocal indentexpr=GetLogtalkIndent() +setlocal indentkeys-=:,0# +setlocal indentkeys+=0%,-,0;,>,0) + +" Only define the function once. +if exists("*GetLogtalkIndent") + finish +endif + +function! GetLogtalkIndent() + " Find a non-blank line above the current line. + let pnum = prevnonblank(v:lnum - 1) + " Hit the start of the file, use zero indent. + if pnum == 0 + return 0 + endif + let line = getline(v:lnum) + let pline = getline(pnum) + + let ind = indent(pnum) + " Previous line was comment -> use previous line's indent + if pline =~ '^\s*%' + retu ind + endif + " Check for entity opening directive on previous line + if pline =~ '^\s*:-\s\(object\|protocol\|category\)\ze(.*,$' + let ind = ind + &sw + " Check for clause head on previous line + elseif pline =~ ':-\s*\(%.*\)\?$' + let ind = ind + &sw + " Check for entity closing directive on previous line + elseif pline =~ '^\s*:-\send_\(object\|protocol\|category\)\.\(%.*\)\?$' + let ind = ind - &sw + " Check for end of clause on previous line + elseif pline =~ '\.\s*\(%.*\)\?$' + let ind = ind - &sw + endif + " Check for opening conditional on previous line + if pline =~ '^\s*\([(;]\|->\)' && pline !~ '\.\s*\(%.*\)\?$' && pline !~ '^.*\([)][,]\s*\(%.*\)\?$\)' + let ind = ind + &sw + endif + " Check for closing an unclosed paren, or middle ; or -> + if line =~ '^\s*\([);]\|->\)' + let ind = ind - &sw + endif + return ind +endfunction diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/sass.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/sass.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,39 @@ +" Vim indent file +" Language: SASS +" Maintainer: Tim Pope +" Last Change: 2007 Dec 16 + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal autoindent sw=2 et +setlocal indentexpr=GetSassIndent() +setlocal indentkeys=o,O,*,<:>,!^F + +" Only define the function once. +if exists("*GetSassIndent") + finish +endif + +let s:property = '^\s*:\|^\s*[[:alnum:]-]\+:' + +function! GetSassIndent() + let lnum = prevnonblank(v:lnum-1) + let line = substitute(getline(lnum),'\s\+$','','') + let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') + let lastcol = strlen(line) + let line = substitute(line,'^\s\+','','') + let indent = indent(lnum) + let cindent = indent(v:lnum) + if line !~ s:property && cline =~ s:property + return indent + &sw + "elseif line =~ s:property && cline !~ s:property + "return indent - &sw + else + return -1 + endif +endfunction + +" vim:set sw=2: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/indent/tf.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/indent/tf.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,72 @@ +" Vim indent file +" Language: tf (TinyFugue) +" Maintainer: Christian J. Robinson +" 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*\)\@\:p:h/croatian_utf-8.vim +elseif s:encoding == 'cp1250' + source :p:h/croatian_cp1250.vim +else + source :p:h/croatian_iso-8859-2.vim +endif diff -r 7d3c79a9b40a -r db46d51a3939 runtime/keymap/croatian_cp1250.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/keymap/croatian_cp1250.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,65 @@ +" Vim Keymap file for Croatian characters, classical variant, cp1250 encoding +" +" Maintainer: Paul B. Mahol +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/keymap/croatian_iso-8859-2.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/keymap/croatian_iso-8859-2.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,84 @@ +" Vim Keymap file for Croatian characters, classical variant, iso-8859-2 encoding +" +" Maintainer: Paul B. Mahol +" Last Changed: 2007 Oct 14 + +scriptencoding iso-8859-2 + +let b:keymap_name = "croatian-iso-8859-2" +" Uncomment line below if you prefer short name +"let b:keymap_name = "hr-iso-8859-2" + +loadkeymap +" swap y and z, not important +z y +Z Y +y z +Y Z + +" s< +[ ¹ +" S< +{ © +" D/ +} Ð +" d/ +] ð +" c< +; è +" c' +' æ +" C< +: È +" C' +" Æ +" z< +\ ¾ +" Z< +| ® +÷ | +ö @ +ñ \ +Û ÷ +Ý × +ý × +§ ß +í § +Ü ¤ +ü ¤ +â { +î } +æ [ +ç ] +@ " +^ & +& / +* ( +( ) +) = +_ ? +- ' += + ++ * +/ - +< ; +> : +? _ +± ~ +² · +´ ¢ +µ ° +³ ^ +ì ³ +Ì £ +· ` +¹ ´ +° ½ +­ ¨ + +" you still want to be able to type <, > +¬ < +® > + +` ¸ +½ ¸ diff -r 7d3c79a9b40a -r db46d51a3939 runtime/keymap/croatian_utf-8.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/keymap/croatian_utf-8.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,68 @@ +" Vim Keymap file for Croatian characters, classical variant, UTF-8 encoding +" +" Maintainer: Paul B. Mahol +" Last Changed: 2007 Oct 14 + +scriptencoding UTF-8 + +let b:keymap_name = "croatian-UTF-8" +" Uncomment line below if you prefer short name +"let b:keymap_name = "hr-UTF-8" + +loadkeymap +z y +Z Y +y z +Y Z +[ Å¡ +{ Å  +] Ä‘ +} Ä +; Ä +: ÄŒ +' ć +" Ć +\ ž +| Ž +@ " +^ & +& / +* ( +( ) +) = +_ ? ++ * += + +- ' +æ [ +ç ] +â { +î } +< ; +> : +/ - +? _ +ö @ +ñ \ +÷ | +Ã¥ € +¬ < +® > +± ~ +² ˇ +³ ^ +´ ˘ +µ ° +· ` +¹ ´ +í § +Û ÷ +Ãœ ¤ +à × +§ ß +ì Å‚ +ÃŒ Å +° Ë +` ¸ +½ ¸ +­ ¨ diff -r 7d3c79a9b40a -r db46d51a3939 runtime/keymap/russian-dvorak.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/keymap/russian-dvorak.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,89 @@ +" Vim Keymap file for russian characters, layout 'dvorak', MS Windows variant +" Derived from russian-jcuken.vim by Artem Chuprina +" Useful mainly with utf-8 but may work with other encodings + +" Maintainer: Serhiy Boiko +" Last Changed: 2007 Jun 29 + +" All characters are given literally, conversion to another encoding (e.g., +" UTF-8) should work. +scriptencoding utf-8 + +let b:keymap_name = "ru" + +loadkeymap +~ Ð CYRILLIC CAPITAL LETTER IO +` Ñ‘ CYRILLIC SMALL LETTER IO +U Ð CYRILLIC CAPITAL LETTER A +W Б CYRILLIC CAPITAL LETTER BE +E Ð’ CYRILLIC CAPITAL LETTER VE +G Г CYRILLIC CAPITAL LETTER GHE +N Д CYRILLIC CAPITAL LETTER DE +Y Е CYRILLIC CAPITAL LETTER IE +S Ж CYRILLIC CAPITAL LETTER ZHE +L З CYRILLIC CAPITAL LETTER ZE +X И CYRILLIC CAPITAL LETTER I +\" Й CYRILLIC CAPITAL LETTER SHORT I +P К CYRILLIC CAPITAL LETTER KA +T Л CYRILLIC CAPITAL LETTER EL +K Ðœ CYRILLIC CAPITAL LETTER EM +F Ð CYRILLIC CAPITAL LETTER EN +H О CYRILLIC CAPITAL LETTER O +I П CYRILLIC CAPITAL LETTER PE +D Р CYRILLIC CAPITAL LETTER ER +J С CYRILLIC CAPITAL LETTER ES +B Т CYRILLIC CAPITAL LETTER TE +> У CYRILLIC CAPITAL LETTER U +A Ф CYRILLIC CAPITAL LETTER EF +? Ð¥ CYRILLIC CAPITAL LETTER HA +< Ц CYRILLIC CAPITAL LETTER TSE +Q Ч CYRILLIC CAPITAL LETTER CHE +C Ш CYRILLIC CAPITAL LETTER SHA +R Щ CYRILLIC CAPITAL LETTER SHCHA ++ Ъ CYRILLIC CAPITAL LETTER HARD SIGN +O Ы CYRILLIC CAPITAL LETTER YERU +M Ь CYRILLIC CAPITAL LETTER SOFT SIGN +_ Э CYRILLIC CAPITAL LETTER E +V Ю CYRILLIC CAPITAL LETTER YU +: Я CYRILLIC CAPITAL LETTER YA +u а CYRILLIC SMALL LETTER A +w б CYRILLIC SMALL LETTER BE +e в CYRILLIC SMALL LETTER VE +g г CYRILLIC SMALL LETTER GHE +n д CYRILLIC SMALL LETTER DE +y е CYRILLIC SMALL LETTER IE +s ж CYRILLIC SMALL LETTER ZHE +l з CYRILLIC SMALL LETTER ZE +x и CYRILLIC SMALL LETTER I +' й CYRILLIC SMALL LETTER SHORT I +p к CYRILLIC SMALL LETTER KA +t л CYRILLIC SMALL LETTER EL +k м CYRILLIC SMALL LETTER EM +f н CYRILLIC SMALL LETTER EN +h о CYRILLIC SMALL LETTER O +i п CYRILLIC SMALL LETTER PE +d Ñ€ CYRILLIC SMALL LETTER ER +j Ñ CYRILLIC SMALL LETTER ES +b Ñ‚ CYRILLIC SMALL LETTER TE +. у CYRILLIC SMALL LETTER U +a Ñ„ CYRILLIC SMALL LETTER EF +/ Ñ… CYRILLIC SMALL LETTER HA +, ц CYRILLIC SMALL LETTER TSE +q ч CYRILLIC SMALL LETTER CHE +c ш CYRILLIC SMALL LETTER SHA +r щ CYRILLIC SMALL LETTER SHCHA += ÑŠ CYRILLIC SMALL LETTER HARD SIGN +o Ñ‹ CYRILLIC SMALL LETTER YERU +m ÑŒ CYRILLIC SMALL LETTER SOFT SIGN +- Ñ CYRILLIC SMALL LETTER E +v ÑŽ CYRILLIC SMALL LETTER YU +; Ñ CYRILLIC SMALL LETTER YA +@ " +# â„– NUMERO SIGN +$ ; +^ : +& ? +z . +Z , +[ - +] = diff -r 7d3c79a9b40a -r db46d51a3939 runtime/keymap/ukrainian-dvorak.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/keymap/ukrainian-dvorak.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,92 @@ +" Vim Keymap file for ukrainian characters, layout 'dvorak', +" MS Windows variant +" Derived from ukrainian-jcuken.vim by Anatoli Sakhnik +" Useful mainly with utf-8 but may work with other encodings + +" Maintainer: Serhiy Boiko +" Last Changed: 2007 Jun 29 + +" All characters are given literally, conversion to another encoding (e.g., +" UTF-8) should work. +scriptencoding utf-8 + +let b:keymap_name = "uk" + +loadkeymap +~ ~ CYRILLIC CAPITAL LETTER IO +` ' CYRILLIC SMALL LETTER IO +U Ð CYRILLIC CAPITAL LETTER A +W Б CYRILLIC CAPITAL LETTER BE +E Ð’ CYRILLIC CAPITAL LETTER VE +G Г CYRILLIC CAPITAL LETTER GHE +N Д CYRILLIC CAPITAL LETTER DE +Y Е CYRILLIC CAPITAL LETTER IE +S Ж CYRILLIC CAPITAL LETTER ZHE +L З CYRILLIC CAPITAL LETTER ZE +X И CYRILLIC CAPITAL LETTER I +\" Й CYRILLIC CAPITAL LETTER SHORT I +P К CYRILLIC CAPITAL LETTER KA +T Л CYRILLIC CAPITAL LETTER EL +K Ðœ CYRILLIC CAPITAL LETTER EM +F Ð CYRILLIC CAPITAL LETTER EN +H О CYRILLIC CAPITAL LETTER O +I П CYRILLIC CAPITAL LETTER PE +D Р CYRILLIC CAPITAL LETTER ER +J С CYRILLIC CAPITAL LETTER ES +B Т CYRILLIC CAPITAL LETTER TE +> У CYRILLIC CAPITAL LETTER U +A Ф CYRILLIC CAPITAL LETTER EF +? Ð¥ CYRILLIC CAPITAL LETTER HA +< Ц CYRILLIC CAPITAL LETTER TSE +Q Ч CYRILLIC CAPITAL LETTER CHE +C Ш CYRILLIC CAPITAL LETTER SHA +R Щ CYRILLIC CAPITAL LETTER SHCHA ++ Ї CYRILLIC CAPITAL LETTER YI +O І CYRILLIC CAPITAL LETTER BYELORUSSION-UKRAINIAN I +M Ь CYRILLIC CAPITAL LETTER SOFT SIGN +_ Є CYRILLIC CAPITAL LETTER UKRAINIAN IE +V Ю CYRILLIC CAPITAL LETTER YU +: Я CYRILLIC CAPITAL LETTER YA +| Ò CYRILLIC CAPITAL LETTER GHE WITH UPTURN +u а CYRILLIC SMALL LETTER A +w б CYRILLIC SMALL LETTER BE +e в CYRILLIC SMALL LETTER VE +g г CYRILLIC SMALL LETTER GHE +n д CYRILLIC SMALL LETTER DE +y е CYRILLIC SMALL LETTER IE +s ж CYRILLIC SMALL LETTER ZHE +l з CYRILLIC SMALL LETTER ZE +x и CYRILLIC SMALL LETTER I +' й CYRILLIC SMALL LETTER SHORT I +p к CYRILLIC SMALL LETTER KA +t л CYRILLIC SMALL LETTER EL +k м CYRILLIC SMALL LETTER EM +f н CYRILLIC SMALL LETTER EN +h о CYRILLIC SMALL LETTER O +i п CYRILLIC SMALL LETTER PE +d Ñ€ CYRILLIC SMALL LETTER ER +j Ñ CYRILLIC SMALL LETTER ES +b Ñ‚ CYRILLIC SMALL LETTER TE +. у CYRILLIC SMALL LETTER U +a Ñ„ CYRILLIC SMALL LETTER EF +/ Ñ… CYRILLIC SMALL LETTER HA +, ц CYRILLIC SMALL LETTER TSE +q ч CYRILLIC SMALL LETTER CHE +c ш CYRILLIC SMALL LETTER SHA +r щ CYRILLIC SMALL LETTER SHCHA += Ñ— CYRILLIC SMALL LETTER YI +o Ñ– CYRILLIC SMALL LETTER BYELORUSSION-UKRAINIAN I +m ÑŒ CYRILLIC SMALL LETTER SOFT SIGN +- Ñ” CYRILLIC SMALL LETTER UKRAINIAN IE +v ÑŽ CYRILLIC SMALL LETTER YU +; Ñ CYRILLIC SMALL LETTER YA +\\ Ò‘ CYRILLIC SMALL LETTER GHE WITH UPTURN +@ " +# â„– NUMERO SIGN +$ ; +^ : +& ? +z . +Z , +[ - +] = diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_eo.utf-8.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_eo.utf-8.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,457 @@ +" Menu Translations: Esperanto +" Maintainer: Dominique PELLE +" Last Change: 2008 Mar 01 +" +" Quit when menu translations have already been done. +if exists("did_menu_trans") + finish +endif +let did_menu_trans = 1 + +scriptencoding utf-8 + +menutrans &Help &Helpo + +menutrans &Overview &Enhavtabelo +menutrans &User\ Manual &Uzula\ manlibro +menutrans &How-to\ links &Kiel\ fari +menutrans &Find\.\.\. T&rovi\.\.\. +" -sep1- +menutrans &Credits &Dankoj +menutrans Co&pying &Permisilo +menutrans &Sponsor/Register &Subteni/RegistriÄi +menutrans O&rphans &Orfoj +" -sep2- +menutrans &Version &Versio +menutrans &About Pri\ &Vim + +let g:menutrans_help_dialog = "Tajpu komandon aÅ­ serĉendan vorton en la helparo.\n\nAldonu i_ por la komandoj de la enmeta reÄimo (ekz: i_CTRL-X)\nAldonu c_ por redakto de la komanda linio (ekz: c_)\nĈirkaÅ­i la opciojn per apostrofoj (ekz: 'shiftwidth')" + +menutrans &File &Dosiero + +menutrans &Open\.\.\.:e &Malfermi\.\.\.:e +menutrans Sp&lit-Open\.\.\.:sp Malfermi\ ÷\.\.\.:sp +menutrans Open\ Tab\.\.\.:tabnew Malfermi\ &langeton\.\.\.:tabnew +menutrans &New:enew &Nova:enew +menutrans &Close:close &Fermi:close +" -SEP1- +menutrans &Save:w &Konservi:w +menutrans Save\ &As\.\.\.:sav Konservi\ ki&el\.\.\.:sav +" -SEP2- +menutrans Split\ &Diff\ with\.\.\. Kom&pari\ divide\.\.\. +menutrans Split\ Patched\ &By\.\.\. &Testi\ flikaĵon\.\.\. +" -SEP3- +menutrans &Print &Presi +" -SEP4- +menutrans Sa&ve-Exit:wqa Konservi\ kaj\ eli&ri:wqa +menutrans E&xit:qa &Eliri:qa + + +menutrans &Edit &Redakti + +menutrans &Undou &Malfariu +menutrans &Redo^R Re&fari^R +menutrans Rep&eat\. R&ipeti\. +" -SEP1- +menutrans Cu&t"+x &Tondi"+x +menutrans &Copy"+y &Kopii"+y +menutrans &Paste"+gP Al&glui"+gP +menutrans Put\ &Before[p Enmeti\ &antaÅ­[p +menutrans Put\ &After]p Enmeti\ ma&lantaÅ­]p +menutrans &Deletex &ForviÅix +menutrans &Select\ AllggVG A&partigi\ ĉionggVG +" -SEP2- +menutrans &Find\.\.\. &Trovi\.\.\. +menutrans Find\ and\ Rep&lace\.\.\. Trovi\ kaj\ a&nstataÅ­igi\.\.\. +menutrans &Find/ &Trovi/ +menutrans Find\ and\ Rep&lace:%s Trovi\ kaj\ ansta&taÅ­igi:%s +menutrans Find\ and\ Rep&lace:s Trovi\ kaj\ ansta&taÅ­igi:s +" -SEP3- +menutrans Settings\ &Window Fenestro\ de\ a&gordoj +menutrans Startup\ &Settings Agordoj\ de\ prav&aloroj +menutrans &Global\ Settings Mallo&kaj\ agordoj + +menutrans Toggle\ Pattern\ &Highlight:set\ hls! Baskuli\ emfazon\ de\ Åa&blono:set\ hls! +menutrans Toggle\ &Ignore-case:set\ ic! Baskuli\ kongruon\ de\ uskle&co:set\ ic! +menutrans Toggle\ &Showmatch:set\ sm! Baskuli\ kongruon\ de\ kram&poj:set\ sm! + +menutrans &Context\ lines Linioj\ de\ &kunteksto + +menutrans &Virtual\ Edit &Virtuala\ redakto +menutrans Never &Neniam +menutrans Block\ Selection &Bloka\ apartigo +menutrans Insert\ mode &Enmeta\ reÄimo +menutrans Block\ and\ Insert Blo&ko\ kaj\ enmeto +menutrans Always Ĉia&m + +menutrans Toggle\ Insert\ &Mode:set\ im! Baskuli\ &enmetan\ reÄimon:set\ im! +menutrans Toggle\ Vi\ C&ompatible:set\ cp! Baskuli\ kongruon\ kun\ &Vi:set\ cp! +menutrans Search\ &Path\.\.\. &Serĉvojo\ de\ dosieroj\.\.\. +menutrans Ta&g\ Files\.\.\. Dosiero\ de\ etike&doj\.\.\. +" -SEP1- +menutrans Toggle\ &Toolbar Baskuli\ &ilobreton +menutrans Toggle\ &Bottom\ Scrollbar Baskuli\ su&ban\ rulumskalon +menutrans Toggle\ &Left\ Scrollbar Baskuli\ &maldekstran\ rulumskalon +menutrans Toggle\ &Right\ Scrollbar Baskuli\ &dekstran\ rulumskalon + +let g:menutrans_path_dialog = "Tajpu la vojon de serĉo de dosieroj.\nDisigu la dosierujojn per komoj." +let g:menutrans_tags_dialog = "Tajpu la nomojn de dosieroj de etikedoj.\nDisigu la nomojn per komoj." + +menutrans F&ile\ Settings A&gordoj\ de\ dosiero + +menutrans Toggle\ Line\ &Numbering:set\ nu! Baskuli\ &numerojn\ de\ linioj:set\ nu! +menutrans Toggle\ &List\ Mode:set\ list! Baskuli\ &listan\ reÄimon:set\ list! +menutrans Toggle\ Line\ &Wrap:set\ wrap! Baskuli\ linifal&don:set\ wrap! +menutrans Toggle\ W&rap\ at\ word:set\ lbr! Baskuli\ &vortofaldon:set\ lbr! +menutrans Toggle\ &expand-tab:set\ et! Baskuli\ ekspansio\ de\ &taboj:set\ et! +menutrans Toggle\ &auto-indent:set\ ai! Baskuli\ &aÅ­tokrommarÄenon:set\ ai! +menutrans Toggle\ &C-indenting:set\ cin! Baskuli\ &C-krommarÄenon:set\ cin! +" -SEP2- +menutrans &Shiftwidth &LarÄo\ de\ krommarÄeno +menutrans Soft\ &Tabstop &Malm&olaj\ taboj +menutrans Te&xt\ Width\.\.\. LarÄo\ de\ te&ksto\.\.\. +menutrans &File\ Format\.\.\. &Formato\ de\ &dosiero\.\.\. + +let g:menutrans_textwidth_dialog = "Tajpu la novan larÄon de teksto\n(0 por malÅalti formatigon)." +let g:menutrans_fileformat_dialog = "Elektu la formaton de la skribonta dosiero." +let g:menutrans_fileformat_choices = " &Unikso \n &Dos \n &Mak \n &Rezigni " + +menutrans C&olor\ Scheme &Koloraro +menutrans &Keymap Klavo&mapo +menutrans None (nenio) +menutrans Select\ Fo&nt\.\.\. Elekti\ &tiparon\.\.\. + + +menutrans &Tools &Iloj + +menutrans &Jump\ to\ this\ tagg^] &Aliri\ al\ tiu\ etikedog^] +menutrans Jump\ &back^T &Retroiri^T +menutrans Build\ &Tags\ File Krei\ &etikedan\ dosieron + +" -SEP1- +menutrans &Spelling &Literumilo +menutrans &Spell\ Check\ On Åœal&ti\ literumilon +menutrans Spell\ Check\ &Off &MalÅalti\ literumilon +menutrans To\ &Next\ error]s Al\ sek&vonta\ eraro]s +menutrans To\ &Previous\ error[s Al\ an&taÅ­a\ eraro[s +menutrans Suggest\ &Correctionsz= &Sugesti\ korektojnz= +menutrans &Repeat\ correction:spellrepall R&ipeti\ korekton:spellrepall + +menutrans Set\ language\ to\ "en" Angla +menutrans Set\ language\ to\ "en_au" Angla\ (AÅ­stralio) +menutrans Set\ language\ to\ "en_ca" Angla\ (Kanado) +menutrans Set\ language\ to\ "en_gb" Angla\ (Britio) +menutrans Set\ language\ to\ "en_nz" Angla\ (Novzelando) +menutrans Set\ language\ to\ "en_us" Angla\ (Usono) + +menutrans &Find\ More\ Languages &Trovi\ pli\ da\ lingvoj + + +menutrans &Folding &Faldo + +menutrans &Enable/Disable\ foldszi &Baskuli\ faldojnzi +menutrans &View\ Cursor\ Linezv &Vidi\ linion\ de\ kursorozv +menutrans Vie&w\ Cursor\ Line\ onlyzMzx Vidi\ nur\ &kursoran\ linionzMzx +menutrans C&lose\ more\ foldszm F&ermi\ pli\ da\ faldojzm +menutrans &Close\ all\ foldszM Fermi\ ĉiu&jn\ faldojnzM +menutrans O&pen\ more\ foldszr &Malfermi\ pli\ da\ faldojzr +menutrans &Open\ all\ foldszR Malfermi\ ĉiuj&n\ faldojnzR +" -SEP1- +menutrans Fold\ Met&hod &Metodo\ de\ faldo + +menutrans M&anual &Permana\ metodo +menutrans I&ndent &KrommarÄeno +menutrans E&xpression &Esprimo +menutrans S&yntax &Sintakso +menutrans &Diff &Komparo +menutrans Ma&rker Ma&rko + +menutrans Create\ &Foldzf &Krei\ faldonzf +menutrans &Delete\ Foldzd Forv&iÅi\ faldonzd +menutrans Delete\ &All\ FoldszD ForviÅi\ ĉiu&jn\ faldojnzD +" -SEP2- +menutrans Fold\ col&umn\ width &LarÄo\ de\ falda\ kolumno + +menutrans &Diff Kom&pari + +menutrans &Update Äœis&datigi +menutrans &Get\ Block &Akiri\ blokon +menutrans &Put\ Block Enme&ti\ blokon + +" -SEP2- +menutrans &Make:make Lanĉi\ ma&ke:make +menutrans &List\ Errors:cl Listigi\ &erarojn:cl +menutrans L&ist\ Messages:cl! Listigi\ &mesaÄojn:cl! +menutrans &Next\ Error:cn Sek&vanta\ eraro:cn +menutrans &Previous\ Error:cp An&taÅ­a\ eraro:cp +menutrans &Older\ List:cold Pli\ ma&lnova\ listo:cold +menutrans N&ewer\ List:cnew Pli\ nova\ listo:cnew + +menutrans Error\ &Window &Fenestro\ de\ eraroj + +menutrans &Update:cwin Äœis&datigi:cwin +menutrans &Open:copen &Malfermi:copen +menutrans &Close:cclose &Fermi:cclose + +" -SEP3- +menutrans &Convert\ to\ HEX:%!xxd Konverti\ al\ deksesuma:%!xxd +menutrans Conve&rt\ back:%!xxd\ -r Retrokonverti:%!xxd\ -r + +menutrans Se&T\ Compiler &Elekti\ kompililon + + +menutrans &Buffers &Bufroj + +menutrans Dummy Fikcia +menutrans &Refresh\ menu Äœis&datigi\ menuon +menutrans &Delete &ForviÅi +menutrans &Alternate &Alterni +menutrans &Next &Sekvanta +menutrans &Previous An&taÅ­a +" -SEP- + +menutrans &others a&liaj +menutrans &u-z &u-z +let g:menutrans_no_file = "[Neniu dosiero]" + + +menutrans &Window Fene&stro + +menutrans &New^Wn &Nova^Wn +menutrans S&plit^Ws Di&vidi^Ws +menutrans Sp&lit\ To\ #^W^^ Dividi\ &al\ #^W^^ +menutrans Split\ &Vertically^Wv Dividi\ &vertikale^Wv +menutrans Split\ File\ E&xplorer Dividi\ &dosierfoliumilo +" -SEP1- +menutrans &Close^Wc &Fermi^Wc +menutrans Close\ &Other(s)^Wo Fermi\ &aliajn^Wo +" -SEP2- +menutrans Move\ &To &Movu\ al + +menutrans &Top^WK Su&pro^WK +menutrans &Bottom^WJ Su&bo^WJ +menutrans &Left\ side^WH Maldekstra\ &flanko^WH +menutrans &Right\ side^WL Dekstra\ f&lanko^WL + +menutrans Rotate\ &Up^WR Rota&cii\ supre^WR +menutrans Rotate\ &Down^Wr Rotac&ii\ sube^Wr +" -SEP3- +menutrans &Equal\ Size^W= &Egala\ grando^W= +menutrans &Max\ Height^W_ Ma&ksimuma\ alto^W_ +menutrans M&in\ Height^W1_ Mi&nimuma\ alto^W1_ +menutrans Max\ &Width^W\| Maksimuma\ &larÄo^W\| +menutrans Min\ Widt&h^W1\| Minimuma\ lar&Äo^W1\| + + +" PopUp + +menutrans &Undo &Malfari +" -SEP1- +menutrans Cu&t &Tondi +menutrans &Copy &Kopii +menutrans &Paste &Al&glui +" &Buffers.&Delete overwrites this one +menutrans &Delete &ForviÅi +" -SEP2- +menutrans Select\ Blockwise Apartigi\ &bloke +menutrans Select\ &Word Apartigi\ &vorton +menutrans Select\ &Line Apartigi\ &linion +menutrans Select\ &Block Apartigi\ blo&kon +menutrans Select\ &All Apartigi\ ĉi&on + + +" ToolBar + +menutrans Open Malfermi +menutrans Save Konservi +menutrans SaveAll Konservi\ ĉion +menutrans Print Presi +" -sep1- +menutrans Undo Rezigni +menutrans Redo Refari +" -sep2- +menutrans Cut Tondi +menutrans Copy Kopii +menutrans Paste Alglui +" -sep3- +menutrans Find Trovi +menutrans FindNext Trovi\ sekvanten +menutrans FindPrev Trovi\ antaÅ­en +menutrans Replace AnstataÅ­igi +" -sep4- +menutrans New Nova +menutrans WinSplit DividFen +menutrans WinMax MaksFen +menutrans WinMin MinFen +menutrans WinVSplit VDividFen +menutrans WinMaxWidth MaksLarÄFen +menutrans WinMinWidth MinLarÄFen +menutrans WinClose FermFen +" -sep5- +menutrans LoadSesn ÅœargSeanc +menutrans SaveSesn KonsSeanc +menutrans RunScript LanĉSkript +" -sep6- +menutrans Make Make +menutrans RunCtags KreiEtik +menutrans TagJump IriAlEtik +" -sep7- +menutrans Help Helpo +menutrans FindHelp SerĉHelp + +fun! Do_toolbar_tmenu() + let did_toolbar_tmenu = 1 + tmenu ToolBar.Open Malfermi dosieron + tmenu ToolBar.Save Konservi aktualan dosieron + tmenu ToolBar.SaveAll Konservi ĉiujn dosierojn + tmenu ToolBar.Print Presi + tmenu ToolBar.Undo Rezigni + tmenu ToolBar.Redo Refari + tmenu ToolBar.Cut Tondi + tmenu ToolBar.Copy Kopii + tmenu ToolBar.Paste Alglui + if !has("gui_athena") + tmenu ToolBar.Find Trovi + tmenu ToolBar.FindNext Trovi sekvanten + tmenu ToolBar.FindPrev Trovi antaÅ­en + tmenu ToolBar.Replace AnstataÅ­igi + endif + if 0 " disabled; These are in the Windows menu + tmenu ToolBar.New Nova fenestro + tmenu ToolBar.WinSplit Dividi fenestron + tmenu ToolBar.WinMax Maksimumi fenestron + tmenu ToolBar.WinMin Minimumi fenestron + tmenu ToolBar.WinVSplit Dividi vertikale + tmenu ToolBar.WinMaxWidth Maksimumi larÄon de fenestro + tmenu ToolBar.WinMinWidth Minimumi larÄon de fenestro + tmenu ToolBar.WinClose Fermi fenestron + endif + tmenu ToolBar.LoadSesn Malfermi seancon + tmenu ToolBar.SaveSesn Konservi aktualan seancon + tmenu ToolBar.RunScript Ruli skripton Vim + tmenu ToolBar.Make Lanĉi make + tmenu ToolBar.RunCtags Krei etikedojn + tmenu ToolBar.TagJump Atingi tiun etikedon + tmenu ToolBar.Help Helpo de Vim + tmenu ToolBar.FindHelp Serĉo en helparo +endfun + + +menutrans &Syntax &Sintakso + +menutrans &Off &MalÅalti +menutrans &Manual &Permana +menutrans A&utomatic &AÅ­tomata +menutrans on/off\ for\ &This\ file Åœalti/MalÅalti\ por\ &tiu\ dosiero + +" The Start Of The Syntax Menu +menutrans ABC\ music\ notation ABC\ (muzika\ notacio) +menutrans AceDB\ model Modelo\ AceDB +menutrans Apache\ config Konfiguro\ de\ Apache +menutrans Apache-style\ config Konfiguro\ de\ stilo\ Apache +menutrans ASP\ with\ VBScript ASP\ kun\ VBScript +menutrans ASP\ with\ Perl ASP\ kun\ Perl +menutrans Assembly Asemblilo +menutrans BC\ calculator Kalkulilo\ BC +menutrans BDF\ font Tiparo\ BDF +menutrans BIND\ config Konfiguro\ de\ BIND +menutrans BIND\ zone Zone\ BIND +menutrans Cascading\ Style\ Sheets CSS +menutrans Cfg\ Config\ file Konfigura\ dosiero\ \.cfg +menutrans Cheetah\ template Åœablono\ Cheetah +menutrans commit\ file Dosiero\ commit +menutrans Generic\ Config\ file Dosiero\ de\ Äenerala\ konfiguro +menutrans Digital\ Command\ Lang DCL +menutrans DNS/BIND\ zone Regiono\ BIND/DNS +menutrans Dylan\ interface Interfaco\ Dylan +menutrans Dylan\ lid Dylan\ lid +menutrans Elm\ filter\ rules Reguloj\ de\ filtrado\ Elm +menutrans ERicsson\ LANGuage Erlang\ (Lingvo\ de\ Ericsson) +menutrans Essbase\ script Skripto\ Essbase +menutrans Eterm\ config Konfiguro\ de\ Eterm +menutrans Exim\ conf Konfiguro\ de\ Exim +menutrans Fvwm\ configuration Konfiguro\ de\ Fvwm +menutrans Fvwm2\ configuration Konfiguro\ de\ Fvwm2 +menutrans Fvwm2\ configuration\ with\ M4 Konfiguro\ de\ Fvwm2\ kun\ M4 +menutrans GDB\ command\ file Komanda\ dosiero\ de\ GDB +menutrans HTML\ with\ M4 HTML\ kun\ M4 +menutrans Cheetah\ HTML\ template Åœablono\ Cheetah\ HTML +menutrans IDL\Generic\ IDL Äœenerala\ IDL\IDL +menutrans IDL\Microsoft\ IDL IDL\IDL\ Mikrosofto +menutrans Indent\ profile Profilo\ Indent +menutrans Inno\ setup Konfiguro\ de\ Inno +menutrans InstallShield\ script Skripto\ InstallShield +menutrans KDE\ script Skripto\ KDE +menutrans LFTP\ config Konfiguro\ de\ LFTP +menutrans LifeLines\ script Skripto\ LifeLines +menutrans Lynx\ Style Stilo\ de\ Lynx +menutrans Lynx\ config Konfiguro\ de\ Lynx +menutrans Man\ page Manlibra\ paÄo +menutrans MEL\ (for\ Maya) MEL\ (por\ Maya) +menutrans 4DOS\ \.bat\ file Dosiero\ \.bat\ 4DOS +menutrans \.bat\/\.cmd\ file Dosiero\ \.bat\/\.cmd +menutrans \.ini\ file Dosiero\ \.ini +menutrans Module\ Definition Difino\ de\ modulo +menutrans Registry Registraro +menutrans Resource\ file Dosiero\ de\ rimedoj +menutrans Novell\ NCF\ batch Staplo\ Novell\ NCF +menutrans NSIS\ script Skripto\ NSIS +menutrans Oracle\ config Konfiguro\ de\ Oracle +menutrans Palm\ resource\ compiler Tradukilo\ de\ rimedoj\ Palm +menutrans PHP\ 3-4 PHP\ 3\ et\ 4 +menutrans Postfix\ main\ config Ĉefa\ konfiguro\ de\ Postfix +menutrans Povray\ scene\ descr Scenejo\ Povray +menutrans Povray\ configuration Konfiguro\ de\ Povray +menutrans Purify\ log Protokolo\ de\ Purify +menutrans Readline\ config Konfiguro\ de\ Readline +menutrans RCS\ log\ output Protokola\ eligo\ de\ RCS +menutrans RCS\ file Dosiero\ RCS +menutrans RockLinux\ package\ desc\. Priskribo\ de\ pakaĵoj\ RockLinux +menutrans Samba\ config Konfiguro\ de\ Samba +menutrans SGML\ catalog Katalogo\ SGML +menutrans SGML\ DTD DTD\ SGML +menutrans SGML\ Declaration Deklaracio\ SGML +menutrans Shell\ script Skripto-Åelo +menutrans sh\ and\ ksh sh\ kaj\ ksh +menutrans Sinda\ compare Komparo\ Sinda +menutrans Sinda\ input Enigo\ Sinda +menutrans Sinda\ output Eligo\ Sinda +menutrans SKILL\ for\ Diva SKILL\ por\ Diva +menutrans Smarty\ Templates Åœablono\ Smarty +menutrans SNNS\ network Reto\ SNNS +menutrans SNNS\ pattern Åœablono\ SNNS +menutrans SNNS\ result Rezulto\ SNNS +menutrans Snort\ Configuration Konfiguro\ de\ Snort +menutrans Squid\ config Konfiguro\ de\ Squid +menutrans Subversion\ commit Commit\ Subversion +menutrans TAK\ compare Komparo\ TAK +menutrans TAK\ input Enigo\ TAK +menutrans TAK\ output Eligo\ TAK +menutrans TeX\ configuration Konfiguro\ de\ TeX +menutrans TF\ mud\ client TF\ (client\ MUD) +menutrans Tidy\ configuration Konfiguro\ de\ Tidy +menutrans Trasys\ input Enigo\ Trasys +menutrans Command\ Line Komanda\ linio +menutrans Geometry Geometrio +menutrans Optics Optiko +menutrans Vim\ help\ file Helpa\ dosiero\ de\ Vim +menutrans Vim\ script Skripto\ Vim +menutrans Viminfo\ file Dosiero\ Viminfo +menutrans Virata\ config Konfiguro\ de\ Virata +menutrans Wget\ config Konfiguro\ de\ wget +menutrans Whitespace\ (add) Spacetoj +menutrans WildPackets\ EtherPeek\ Decoder Malkodilo\ WildPackets\ EtherPeek +menutrans X\ resources Rimedoj\ X +menutrans XXD\ hex\ dump Eligo\ deksesuma\.\ de\ xxd +menutrans XFree86\ Config Konfiguro\ de\ XFree86 +" The End Of The Syntax Menu + +menutrans &Show\ filetypes\ in\ menu &Montri\ dosiertipojn\ en\ menuo +" -SEP1- +menutrans Set\ '&syntax'\ only Åœalti\ nur\ '&syntax' +menutrans Set\ '&filetype'\ too Åœalti\ ankaÅ­\ '&filetype' +menutrans &Off M&alÅaltita +" -SEP3- +menutrans Co&lor\ test Testo\ de\ &koloroj +menutrans &Highlight\ test Testo\ de\ &emfazo +menutrans &Convert\ to\ HTML Konverti\ al\ &HTML diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_eo_eo.utf-8.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_eo_eo.utf-8.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,3 @@ +" Menu Translations: Esperanto for UTF-8 encoding + +source :p:h/menu_eo.utf-8.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_eo_xx.utf-8.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_eo_xx.utf-8.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,3 @@ +" Menu Translations: Esperanto for UTF-8 encoding + +source :p:h/menu_eo.utf-8.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_fi.latin1.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_fi.latin1.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,3 @@ +" Menu Translations: Finnish for latin 1 encoding + +source :p:h/menu_fi_fi.latin1.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_fi.utf-8.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_fi.utf-8.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,3 @@ +" Menu Translations: Finnish for UTF-8 encoding + +source :p:h/menu_fi_fi.latin1.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_fi_fi.latin1.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_fi_fi.latin1.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,473 @@ +" Menu Translations: Finnish +" Maintainer: Flammie Pirinen +" 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\.\.\.:e &Avaa\.\.\.:e +menutrans Sp&lit-Open\.\.\.:sp Avaa\ &jaettuna\.\.\.:sp +menutrans Open\ Tab\.\.\.:tabnew Avaa\ &tabissa\.\.\.:tabnew +menutrans &New:enew &Uusi:enew +menutrans &Close:close &Sulje:close +" -SEP1- +menutrans &Save:w Talle&nna:w +menutrans Save\ &As\.\.\.:sav Tallenna\ n&imellä\.\.\.:sav +" -SEP2- +menutrans Split\ &Diff\ with\.\.\. Jaa\ &diffillä\.\.\. +menutrans Split\ Patched\ &By\.\.\. Jaa\ &patchilla\.\.\. +" -SEP3- +menutrans &Print Tul&osta +" -SEP4- +menutrans Sa&ve-Exit:wqa Tall&enna\ ja\ lopeta:wqa +menutrans E&xit:qa &Lopeta:qa + + +menutrans &Edit &Muokkaa +" Accels: KPTLOIEJSAHRUYKVNF +menutrans &Undou &Kumoau +menutrans &Redo^R &Palauta^R +menutrans Rep&eat\. &Toista\. +" -SEP1- +menutrans Cu&t"+x &Leikkaa"+x +menutrans &Copy"+y K&opioi"+y +menutrans &Paste"+gP L&iitä"+gP +menutrans Put\ &Before[p Lisää\ &ennen[p +menutrans Put\ &After]p Lisää\ &jälkeen]p +menutrans &Deletex Poi&stax +menutrans &Select\ AllggVG V&alitse\ kaikkiggVG +" -SEP2- +menutrans &Find\.\.\. &Hae\.\.\. +menutrans Find\ and\ Rep&lace\.\.\. Hae\ ja\ ko&rvaa\.\.\. +menutrans &Find/ &Hae/ +menutrans Find\ and\ Rep&lace:%s Hae\ ja\ ko&rvaa:%s +menutrans Find\ and\ Rep&lace:s Hae\ ja\ ko&rvaa:s +" -SEP3- +menutrans Settings\ &Window Aset&usikkuna +menutrans Startup\ &Settings &Käynnistysasetukset +menutrans &Global\ Settings &Yleiset\ asetukset +" Submenu: +" Accels: KOSHVYIATLEPR +menutrans Toggle\ Pattern\ &Highlight:set\ hls! &Korostus:set\ hls! +menutrans Toggle\ &Ignore-case:set\ ic! &Ohita\ kirjaintaso:set\ ic! +menutrans Toggle\ &Showmatch:set\ sm! &Suljekorostus: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:set\ im! S&yöttötila:set\ im! +menutrans Toggle\ Vi\ C&ompatible:set\ cp! V&i-tila: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:set\ nu! Rivi&numerointi:set\ nu! +menutrans Toggle\ &List\ Mode:set\ list! &Listaustila:set\ list! +menutrans Toggle\ Line\ &Wrap:set\ wrap! &Rivitys:set\ wrap! +menutrans Toggle\ W&rap\ at\ word:set\ lbr! &Sanoittainen rivitys:set\ lbr! +menutrans Toggle\ &expand-tab:set\ et! Muuta\ &tabit\ väleiksi:set\ et! +menutrans Toggle\ &auto-indent:set\ ai! &Automaattinen\ sisennys:set\ ai! +menutrans Toggle\ &C-indenting:set\ cin! &C-kielen\ sisennys: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\ tagg^] Siirry\ tägiing^] +menutrans Jump\ &back^T Siirry\ takaisin^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]s &Seuraavaan\ virheeseen]s +menutrans To\ &Previous\ error[s &Edelliseen\ virheeseen[s +menutrans Suggest\ &Correctionsz= Ehdota\ &korjaustaz= +menutrans &Repeat\ correction:spellrepall &Toista\ korjaus: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\ foldszi &Taitoksetzi +menutrans &View\ Cursor\ Linezv &Näytä\ kursorin\ rivizv +menutrans Vie&w\ Cursor\ Line\ onlyzMzx Näytä\ &vain\ kursorin\ rivizMzx +menutrans C&lose\ more\ foldszm &Sulje\ lisää\ taitoksiazm +menutrans &Close\ all\ foldszM &Sulje\ kaikki\ taitoksetzM +menutrans O&pen\ more\ foldszr &Avaa\ lisää\ taitoksiazr +menutrans &Open\ all\ foldszR &Avaa\ kaikki\ taitoksetzR +" -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\ &Foldzf T&ee\ taitoszf +menutrans &Delete\ Foldzd P&oista\ taitoszd +menutrans Delete\ &All\ FoldszD Poista\ &kaikki\ taitoksetzD +" -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:make &Make:make +menutrans &List\ Errors:cl Virheluettelo:cl +menutrans L&ist\ Messages:cl! Virheviestit:cl! +menutrans &Next\ Error:cn Seuraava\ virhe:cn +menutrans &Previous\ Error:cp Edellinen\ virhe:cp +menutrans &Older\ List:cold Edellinen\ lista:cold +menutrans N&ewer\ List:cnew Seuraava\ lista:cnew + +menutrans Error\ &Window Virheikkuna +" Submenu: +" Accels: PAS +menutrans &Update:cwin &Päivitä:cwin +menutrans &Open:copen &Avaa:copen +menutrans &Close:cclose &Sulje:cclose + +menutrans Se&T\ Compiler Ase&ta\ kääntäjä +" -SEP3- +menutrans &Convert\ to\ HEX:%!xxd Muunna\ heksoiksi:%!xxd +menutrans Conve&rt\ back:%!xxd\ -r Muunna\ takaisin:%!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^Wn &Uusi\ ikkuna^Wn +menutrans S&plit^Ws &Jaa^Ws +menutrans Sp&lit\ To\ #^W^^ &Jaa\ #^W^^ +menutrans Split\ &Vertically^Wv Jaa\ &pystysuunnassa^Wv +menutrans Split\ File\ E&xplorer Jaa\ &tiedostonhallinnalle +" -SEP1- +menutrans &Close^Wc &Sulje^Wc +menutrans Close\ &Other(s)^Wo Sulje\ &muut^Wo +" -SEP2- +menutrans Move\ &To S&iirrä +" Submenu: +" Accels: YAOV +menutrans &Top^WK &Ylös^WK +menutrans &Bottom^WJ &Alas^WJ +menutrans &Left\ side^WH &Oikealle^WH +menutrans &Right\ side^WL &Vasemmalle^WL + +menutrans Rotate\ &Up^WR Vaihda\ &ylemmäs^WR +menutrans Rotate\ &Down^Wr Vaihda\ &alemmas^Wr +" -SEP3- +menutrans &Equal\ Size^W= Saman\ &kokoisiksi^W= +menutrans &Max\ Height^W_ Enimmäisk&orkeuteen^W_ +menutrans M&in\ Height^W1_ Vähimmäisk&orkeuteen^W1_ +menutrans Max\ &Width^W\| Enimmäis&leveyteen^W\| +menutrans Min\ Widt&h^W1\| Vähimmäis&leveyteen^W1\| + +" (Plugin menus here) +menutrans Plugin Liitännäiset + +menutrans &Help &Ohje +" Accels: YKUHTLROVI +menutrans &Overview &Yleiskatsaus +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_)\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 -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_fi_fi.utf-8.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_fi_fi.utf-8.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,3 @@ +" Menu Translations: Finnish for UTF-8 encoding + +source :p:h/menu_fi_fi.latin1.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/lang/menu_finnish_finland.1252.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lang/menu_finnish_finland.1252.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,3 @@ +" Menu Translations: Finnish for Windows CodePage 1252 encoding + +source :p:h/menu_fi_fi.latin1.vim diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/cdrdaoconf.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/cdrdaoconf.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,139 @@ +" Vim syntax file +" Language: cdrdao(1) configuration file +" Maintainer: Nikolai Weibull +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/coco.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/coco.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,33 @@ +" Vim syntax file +" Language: Coco/R +" Maintainer: Ashish Shukla +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/cuda.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/cuda.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,72 @@ +" Vim syntax file +" Language: CUDA (NVIDIA Compute Unified Device Architecture) +" Maintainer: Timothy B. Terriberry +" Last Change: 2007 Oct 13 + +" 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 +endif + +" Read the C syntax to start with +if version < 600 + source :p:h/c.vim +else + runtime! syntax/c.vim +endif + +" CUDA extentions +syn keyword cudaStorageClass __device__ __global__ __host__ +syn keyword cudaStorageClass __constant__ __shared__ +syn keyword cudaStorageClass __inline__ __align__ __thread__ +"syn keyword cudaStorageClass __import__ __export__ __location__ +syn keyword cudaStructure template +syn keyword cudaType char1 char2 char3 char4 +syn keyword cudaType uchar1 uchar2 uchar3 uchar4 +syn keyword cudaType short1 short2 short3 short4 +syn keyword cudaType ushort1 ushort2 ushort3 ushort4 +syn keyword cudaType int1 int2 int3 int4 +syn keyword cudaType uint1 uint2 uint3 uint4 +syn keyword cudaType long1 long2 long3 long4 +syn keyword cudaType ulong1 ulong2 ulong3 ulong4 +syn keyword cudaType float1 float2 float3 float4 +syn keyword cudaType ufloat1 ufloat2 ufloat3 ufloat4 +syn keyword cudaType dim3 texture textureReference +syn keyword cudaType cudaError_t cudaDeviceProp cudaMemcpyKind +syn keyword cudaType cudaArray cudaChannelFormatKind +syn keyword cudaType cudaChannelFormatDesc cudaTextureAddressMode +syn keyword cudaType cudaTextureFilterMode cudaTextureReadMode +syn keyword cudaVariable gridDim blockIdx blockDim threadIdx +syn keyword cudaConstant __DEVICE_EMULATION__ +syn keyword cudaConstant cudaSuccess +" Many more errors are defined, but only these are listed in the maunal +syn keyword cudaConstant cudaErrorMemoryAllocation +syn keyword cudaConstant cudaErrorInvalidDevicePointer +syn keyword cudaConstant cudaErrorInvalidSymbol +syn keyword cudaConstant cudaErrorMixedDeviceExecution +syn keyword cudaConstant cudaMemcpyHostToHost +syn keyword cudaConstant cudaMemcpyHostToDevice +syn keyword cudaConstant cudaMemcpyDeviceToHost +syn keyword cudaConstant cudaMemcpyDeviceToDevice +syn keyword cudaConstant cudaReadModeElementType +syn keyword cudaConstant cudaReadModeNormalizedFloat +syn keyword cudaConstant cudaFilterModePoint +syn keyword cudaConstant cudaFilterModeLinear +syn keyword cudaConstant cudaAddressModeClamp +syn keyword cudaConstant cudaAddressModeWrap +syn keyword cudaConstant cudaChannelFormatKindSigned +syn keyword cudaConstant cudaChannelFormatKindUnsigned +syn keyword cudaConstant cudaChannelFormatKindFloat + +hi def link cudaStorageClass StorageClass +hi def link cudaStructure Structure +hi def link cudaType Type +hi def link cudaVariable Identifier +hi def link cudaConstant Constant + +let b:current_syntax = "cuda" + +" vim: ts=8 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/denyhosts.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/denyhosts.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,289 @@ +" Vim syntax file +" Language: denyhosts configuration file +" Maintainer: Nikolai Weibull +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/dtrace.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/dtrace.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,150 @@ +" DTrace D script syntax file. To avoid confusion with the D programming +" language, I call this script dtrace.vim instead of d.vim. +" Language: D script as described in "Solaris Dynamic Tracing Guide", +" http://docs.sun.com/app/docs/doc/817-6223 +" Version: 1.5 +" Last Change: 2008/04/05 +" Maintainer: Nicolas Weber + +" dtrace lexer and parser are at +" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_lex.l +" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_grammar.y + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Read the C syntax to start with +if version < 600 + so :p:h/c.vim +else + runtime! syntax/c.vim + unlet b:current_syntax +endif + +syn clear cCommentL " dtrace doesn't support // style comments + +" First line may start with #!, also make sure a '-s' flag is somewhere in +" that line. +syn match dtraceComment "\%^#!.*-s.*" + +" Probe descriptors need explicit matches, so that keywords in probe +" descriptors don't show up as errors. Note that this regex detects probes +" as "something with three ':' in it". This works in practice, but it's not +" really correct. Also add special case code for BEGIN, END and ERROR, since +" they are common. +" Be careful not to detect '/*some:::node*/\n/**/' as probe, as it's +" commented out. +" XXX: This allows a probe description to end with ',', even if it's not +" followed by another probe. +" XXX: This doesn't work if followed by a comment. +let s:oneProbe = '\%(BEGIN\|END\|ERROR\|\S\{-}:\S\{-}:\S\{-}:\S\{-}\)\_s*' +exec 'syn match dtraceProbe "'.s:oneProbe.'\%(,\_s*'.s:oneProbe.'\)*\ze\_s\%({\|\/[^*]\|\%$\)"' + +" Note: We have to be careful to not make this match /* */ comments. +" Also be careful not to eat `c = a / b; b = a / 2;`. We use the same +" technique as the dtrace lexer: a predicate has to be followed by {, ;, or +" EOF. Also note that dtrace doesn't allow an empty predicate // (we do). +" This regex doesn't allow a divison operator in the predicate. +" Make sure that this matches the empty predicate as well. +" XXX: This doesn't work if followed by a comment. +syn match dtracePredicate "/\*\@!\_[^/]*/\ze\_s*\%({\|;\|\%$\)" + "contains=ALLBUT,dtraceOption " this lets the region contain too much stuff + +" Pragmas. +" dtrace seems not to support whitespace before or after the '='. dtrace +" supports only one option per #pragma, and no continuations of #pragma over +" several lines with '\'. +" Note that dtrace treats units (Hz etc) as case-insenstive, we allow only +" sane unit capitalization in this script (ie 'ns', 'us', 'ms', 's' have to be +" small, Hertz can be 'Hz' or 'hz') +" XXX: "cpu" is always highlighted as builtin var, not as option + +" auto or manual: bufresize +syn match dtraceOption contained "bufresize=\%(auto\|manual\)\s*$" + +" scalar: cpu jstackframes jstackstrsize nspec stackframes stackindent ustackframes +syn match dtraceOption contained "\%(cpu\|jstackframes\|jstackstrsize\|nspec\|stackframes\|stackindent\|ustackframes\)=\d\+\s*$" + +" size: aggsize bufsize dynvarsize specsize strsize +" size defaults to something if no unit is given (ie., having no unit is ok) +syn match dtraceOption contained "\%(aggsize\|bufsize\|dynvarsize\|specsize\|strsize\)=\d\+\%(k\|m\|g\|t\|K\|M\|G\|T\)\=\s*$" + +" time: aggrate cleanrate statusrate switchrate +" time defaults to hz if no unit is given +syn match dtraceOption contained "\%(aggrate\|cleanrate\|statusrate\|switchrate\)=\d\+\%(hz\|Hz\|ns\|us\|ms\|s\)\=\s*$" + +" No type: defaultargs destructive flowindent grabanon quiet rawbytes +syn match dtraceOption contained "\%(defaultargs\|destructive\|flowindent\|grabanon\|quiet\|rawbytes\)\s*$" + + +" Turn reserved but unspecified keywords into errors +syn keyword dtraceReservedKeyword auto break case continue counter default do +syn keyword dtraceReservedKeyword else for goto if import probe provider +syn keyword dtraceReservedKeyword register restrict return static switch while + +" Add dtrace-specific stuff +syn keyword dtraceOperator sizeof offsetof stringof xlate +syn keyword dtraceStatement self inline xlate this translator + +" Builtin variables +syn keyword dtraceIdentifier arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 +syn keyword dtraceIdentifier args caller chip cpu curcpu curlwpsinfo curpsinfo +syn keyword dtraceIdentifier curthread cwd epid errno execname gid id ipl lgrp +syn keyword dtraceIdentifier pid ppid probefunc probemod probename probeprov +syn keyword dtraceIdentifier pset root stackdepth tid timestamp uid uregs +syn keyword dtraceIdentifier vtimestamp walltimestamp +syn keyword dtraceIdentifier ustackdepth + +" Macro Variables +syn match dtraceConstant "$[0-9]\+" +syn match dtraceConstant "$\(egid\|euid\|gid\|pgid\|ppid\)" +syn match dtraceConstant "$\(projid\|sid\|target\|taskid\|uid\)" + +" Data Recording Actions +syn keyword dtraceFunction trace tracemem printf printa stack ustack jstack + +" Process Destructive Actions +syn keyword dtraceFunction stop raise copyout copyoutstr system + +" Kernel Destructive Actions +syn keyword dtraceFunction breakpoint panic chill + +" Special Actions +syn keyword dtraceFunction speculate commit discard exit + +" Subroutines +syn keyword dtraceFunction alloca basename bcopy cleanpath copyin copyinstr +syn keyword dtraceFunction copyinto dirname msgdsize msgsize mutex_owned +syn keyword dtraceFunction mutex_owner mutex_type_adaptive progenyof +syn keyword dtraceFunction rand rw_iswriter rw_write_held speculation +syn keyword dtraceFunction strjoin strlen + +" Aggregating Functions +syn keyword dtraceAggregatingFunction count sum avg min max lquantize quantize + +syn keyword dtraceType int8_t int16_t int32_t int64_t intptr_t +syn keyword dtraceType uint8_t uint16_t uint32_t uint64_t uintptr_t +syn keyword dtraceType string +syn keyword dtraceType pid_t id_t + + +" Define the default highlighting. +" We use `hi def link` directly, this requires 5.8. +hi def link dtraceReservedKeyword Error +hi def link dtracePredicate String +hi def link dtraceProbe dtraceStatement +hi def link dtraceStatement Statement +hi def link dtraceConstant Constant +hi def link dtraceIdentifier Identifier +hi def link dtraceAggregatingFunction dtraceFunction +hi def link dtraceFunction Function +hi def link dtraceType Type +hi def link dtraceOperator Operator +hi def link dtraceComment Comment +hi def link dtraceNumber Number +hi def link dtraceOption Identifier + +let b:current_syntax = "dtrace" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/git.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/git.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,67 @@ +" Vim syntax file +" Language: generic git output +" Maintainer: Tim Pope +" 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=// 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/gitcommit.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/gitcommit.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,65 @@ +" Vim syntax file +" Language: git commit file +" Maintainer: Tim Pope +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/gitconfig.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/gitconfig.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,38 @@ +" Vim syntax file +" Language: git config file +" Maintainer: Tim Pope +" Filenames: gitconfig, .gitconfig, *.git/config +" Last Change: 2008 Jun 04 + +if exists("b:current_syntax") + finish +endif + +setlocal iskeyword+=- +setlocal iskeyword-=_ +syn case ignore +syn sync minlines=10 + +syn match gitconfigComment "[#;].*" +syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]" +syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]' +syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite +syn region gitconfigAssignment matchgroup=gitconfigNone start=+=\s*+ skip=+\\+ end=+\s*$+ contained contains=gitconfigBoolean,gitconfigNumber,gitConfigString,gitConfigEscape,gitConfigError,gitconfigComment keepend +syn keyword gitconfigBoolean true false yes no contained +syn match gitconfigNumber "\d\+" contained +syn region gitconfigString matchgroup=gitconfigDelim start=+"+ skip=+\\+ end=+"+ matchgroup=gitconfigError end=+[^\\"]\%#\@!$+ contained contains=gitconfigEscape,gitconfigEscapeError +syn match gitconfigError +\\.+ contained +syn match gitconfigEscape +\\[\\"ntb]+ contained +syn match gitconfigEscape +\\$+ contained + +hi def link gitconfigComment Comment +hi def link gitconfigSection Keyword +hi def link gitconfigVariable Identifier +hi def link gitconfigBoolean Boolean +hi def link gitconfigNumber Number +hi def link gitconfigString String +hi def link gitconfigDelim Delimiter +hi def link gitconfigEscape Delimiter +hi def link gitconfigError Error + +let b:current_syntax = "gitconfig" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/gitrebase.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/gitrebase.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,31 @@ +" Vim syntax file +" Language: git rebase --interactive +" Maintainer: Tim Pope +" Filenames: git-rebase-todo +" Last Change: 2008 Apr 16 + +if exists("b:current_syntax") + finish +endif + +syn case match + +syn match gitrebaseHash "\v<\x{7,40}>" contained +syn match gitrebaseCommit "\v<\x{7,40}>" nextgroup=gitrebaseSummary skipwhite +syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite +syn match gitrebaseSummary ".*" contains=gitrebaseHash contained +syn match gitrebaseComment "^#.*" contains=gitrebaseHash +syn match gitrebaseSquashError "\v%^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite + +hi def link gitrebaseCommit gitrebaseHash +hi def link gitrebaseHash Identifier +hi def link gitrebasePick Statement +hi def link gitrebaseEdit PreProc +hi def link gitrebaseSquash Type +hi def link gitrebaseSummary String +hi def link gitrebaseComment Comment +hi def link gitrebaseSquashError Error + +let b:current_syntax = "gitrebase" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/gitsendemail.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/gitsendemail.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,19 @@ +" Vim syntax file +" Language: git send-email message +" Maintainer: Tim Pope +" Filenames: *.msg.[0-9]* (first line is "From ... # This line is ignored.") +" Last Change: 2007 Dec 16 + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/mail.vim +syn case match + +syn match gitsendemailComment "\%^From.*#.*" +syn match gitsendemailComment "^GIT:.*" + +hi def link gitsendemailComment Comment + +let b:current_syntax = "gitsendemail" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/haml.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/haml.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,89 @@ +" Vim syntax file +" Language: Haml +" Maintainer: Tim Pope +" Filenames: *.haml + +if exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'haml' +endif +let b:ruby_no_expensive = 1 + +runtime! syntax/html.vim +unlet! b:current_syntax +silent! syn include @hamlSassTop syntax/sass.vim +unlet! b:current_syntax +syn include @hamlRubyTop syntax/ruby.vim + +syn case match + +syn cluster hamlComponent contains=hamlAttributes,hamlClassChar,hamlIdChar,hamlObject,hamlDespacer,hamlSelfCloser,hamlRuby,hamlPlainChar,hamlInterpolatable +syn cluster hamlEmbeddedRuby contains=hamlAttributes,hamlObject,hamlRuby,hamlRubyFilter +syn cluster hamlTop contains=hamlBegin,hamlPlainFilter,hamlRubyFilter,hamlSassFilter,hamlComment,hamlHtmlComment + +syn match hamlBegin "^\s*[<>&]\@!" nextgroup=hamlTag,hamlAttributes,hamlClassChar,hamlIdChar,hamlObject,hamlRuby,hamlPlainChar,hamlInterpolatable + +syn match hamlTag "%\w\+" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@hamlComponent +syn region hamlAttributes matchgroup=hamlAttributesDelimiter start="{" end="}" contained contains=@hamlRubyTop nextgroup=@hamlComponent +syn region hamlObject matchgroup=hamlObjectDelimiter start="\[" end="\]" contained contains=@hamlRubyTop nextgroup=@hamlComponent +syn match hamlDespacer "[<>]" contained nextgroup=hamlDespacer,hamlSelfCloser,hamlRuby,hamlPlainChar,hamlInterpolatable +syn match hamlSelfCloser "/" contained +syn match hamlClassChar "\." contained nextgroup=hamlClass +syn match hamlIdChar "#" contained nextgroup=hamlId +syn match hamlClass "\%(\w\|-\)\+" contained nextgroup=@hamlComponent +syn match hamlId "\%(\w\|-\)\+" contained nextgroup=@hamlComponent +syn region hamlDocType start="^\s*!!!" end="$" + +syn region hamlRuby matchgroup=hamlRubyOutputChar start="[=~]" end="$" contained contains=@hamlRubyTop keepend +syn region hamlRuby matchgroup=hamlRubyChar start="-" end="$" contained contains=@hamlRubyTop keepend +syn match hamlPlainChar "\\" contained +syn region hamlInterpolatable matchgroup=hamlInterpolatableChar start="==" end="$" keepend contained contains=hamlInterpolation +syn region hamlInterpolation matchgroup=hamlInterpolationDelimiter start="#{" end="}" contained contains=@hamlRubyTop +syn region hamlErbInterpolation matchgroup=hamlInterpolationDelimiter start="<%[=-]\=" end="-\=%>" contained contains=@hamlRubyTop + +syn match hamlHelper "\[^]]*]" contained containedin=hamlHtmlComment + +hi def link hamlSelfCloser Special +hi def link hamlDespacer Special +hi def link hamlClassChar Special +hi def link hamlIdChar Special +hi def link hamlTag Special +hi def link hamlClass Type +hi def link hamlId Identifier +hi def link hamlPlainChar Special +hi def link hamlInterpolatableChar hamlRubyChar +hi def link hamlRubyOutputChar hamlRubyChar +hi def link hamlRubyChar Special +hi def link hamlInterpolationDelimiter Delimiter +hi def link hamlDocType PreProc +hi def link hamlFilter PreProc +hi def link hamlAttributesDelimiter Delimiter +hi def link hamlObjectDelimiter Delimiter +hi def link hamlHelper Function +hi def link hamlHtmlComment hamlComment +hi def link hamlComment Comment +hi def link hamlIEConditional SpecialComment +hi def link hamlError Error + +let b:current_syntax = "haml" + +" vim:set sw=2: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/haste.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/haste.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,145 @@ +" Vim syntax file +" Language: HASTE - a language for VLSI IC programming +" Maintainer: M. Tranchero - maurizio.tranchero?gmail.com +" Credits: some parts have been taken from vhdl, verilog, and C syntax +" files +" Version: 0.9 +" Last Change: 0.9 improvement of haste numbers detection +" Change: 0.8 error matching for wrong hierarchical connections +" Change: 0.7 added more rules to highlight pre-processor directives + +" HASTE +if exists("b:current_syntax") + finish +endif +" 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 +endif + +" case is significant +syn case match + +" HASTE keywords +syn keyword hasteStatement act alias arb array begin bitvec +syn keyword hasteStatement bitwidth boolvec broad case +syn keyword hasteStatement cast chan const dataprobe do edge +syn keyword hasteStatement else end export false ff fi file +syn keyword hasteStatement fit for forever func if import +syn keyword hasteStatement inprobe is les main narb narrow +syn keyword hasteStatement negedge od of or outprobe pas +syn keyword hasteStatement posedge probe proc ram ramreg +syn keyword hasteStatement repeat rom romreg sample sel si +syn keyword hasteStatement sign sizeof skip stop then true +syn keyword hasteStatement type until var wait wire +syn keyword hasteFutureExt Z ffe partial +syn keyword hasteVerilog buf reg while + +" Special match for "if", "or", and "else" since "else if" +" and other "else+if" combination shouldn't be highlighted. +" The right keyword is "or" +syn match hasteStatement "\<\(if\|then\|else\|fi\)\>" +syn match hasteNone "\$" +syn match hasteNone "\\s" +syn match hasteNone "\\s" +syn match hasteNone "\\s" +syn match hasteStatement "\<\(case\|is\|si\)\>" +syn match hasteStatement "\<\(repeat\|until\)\>" +syn match hasteStatement "\<\(forever\|do\|od\)\>" +syn match hasteStatement "\<\(for\|do\|od\)\>" +syn match hasteStatement "\<\(do\|or\|od\)\>" +syn match hasteStatement "\<\(sel\|les\)\>" +syn match hasteError "\<\d\+[_a-zA-Z]\+\>" +syn match hasteError "\(\([[:alnum:]]\+\s*(\s\+\|)\s*,\)\)\s*\([[:alnum:]]\+\s*(\)" + +" Predifined Haste types +syn keyword hasteType bool + +" Values for standard Haste types +" syn match hasteVector "\'[0L1HXWZU\-\?]\'" + +syn match hasteVector "0b\"[01_]\+\"" +syn match hasteVector "0x\"[0-9a-f_]\+\"" +syn match hasteCharacter "'.'" +" syn region hasteString start=+"+ end=+"+ +syn match hasteIncluded display contained "<[^>]*>" +syn match hasteIncluded display contained "<[^"]*>" +syn region hasteInclude start="^\s*#include\>\s*" end="$" contains=hasteIncluded,hasteString + +" integer numbers +syn match hasteNumber "\d\+\^[[:alnum:]]*[-+]\{0,1\}[[:alnum:]]*" +syn match hasteNumber "-\=\<\d\+\(\^[+\-]\=\d\+\)\>" +syn match hasteNumber "-\=\<\d\+\>" +" syn match hasteNumber "0*2#[01_]\+#\(\^[+\-]\=\d\+\)\=" +" syn match hasteNumber "0*16#[0-9a-f_]\+#\(\^[+\-]\=\d\+\)\=" +" operators +syn keyword hasteSeparators & , . \| +syn keyword hasteExecution \|\| ; @ +syn keyword hasteOperator := ? ! : +syn keyword hasteTypeConstr "[" << >> .. "]" ~ +syn keyword hasteExprOp < <= >= > = # <> + - * == ## +syn keyword hasteMisc ( ) 0x 0b +" +syn match hasteSeparators "[&:\|,.]" +syn match hasteOperator ":=" +syn match hasteOperator ":" +syn match hasteOperator "?" +syn match hasteOperator "!" +syn match hasteExecution "||" +syn match hasteExecution ";" +syn match hasteExecution "@" +syn match hasteType "\[\[" +syn match hasteType "\]\]" +syn match hasteType "<<" +syn match hasteType ">>" +syn match hasteExprOp "<" +syn match hasteExprOp "<=" +syn match hasteExprOp ">=" +syn match hasteExprOp ">" +syn match hasteExprOp "<>" +syn match hasteExprOp "=" +syn match hasteExprOp "==" +syn match hasteExprOp "##" +" syn match hasteExprOp "#" +syn match hasteExprOp "*" +syn match hasteExprOp "+" + +syn region hasteComment start="/\*" end="\*/" contains=@Spell +syn region hasteComment start="{" end="}" contains=@Spell +syn match hasteComment "//.*" contains=@Spell + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link hasteSpecial Special +hi def link hasteStatement Statement +hi def link hasteCharacter String +hi def link hasteString String +hi def link hasteVector String +hi def link hasteBoolean String +hi def link hasteComment Comment +hi def link hasteNumber String +hi def link hasteTime String +hi def link hasteType Type +hi def link hasteGlobal Error +hi def link hasteError Error +hi def link hasteAttribute Type +" +hi def link hasteSeparators Special +hi def link hasteExecution Special +hi def link hasteTypeConstr Special +hi def link hasteOperator Type +hi def link hasteExprOp Type +hi def link hasteMisc String +hi def link hasteFutureExt Error +hi def link hasteVerilog Error +hi def link hasteDefine Macro +hi def link hasteInclude Include +" hi def link hastePreProc Preproc +" hi def link hastePreProcVar Special + +let b:current_syntax = "haste" + +" vim: ts=8 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/hastepreproc.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/hastepreproc.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,49 @@ +" Vim syntax file +" Language: Haste preprocessor files +" Maintainer: M. Tranchero - maurizio.tranchero@gmail.com +" Credits: some parts have been taken from vhdl, verilog, and C syntax +" files +" Version: 0.5 + +" HASTE +if exists("b:current_syntax") + finish +endif +" 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 +endif +" Read the C syntax to start with +if version < 600 + so :p:h/haste.vim +else + runtime! syntax/haste.vim + unlet b:current_syntax +endif + +" case is significant +syn case match + +" C pre-processor directives +syn match hastepreprocVar display "\$[[:alnum:]_]*" +syn region hastepreprocVar start="\${" end="}" contains=hastepreprocVar +" +"syn region hastepreproc start="#\[\s*tg[:alnum:]*" end="]#" contains=hastepreprocVar,hastepreproc,hastepreprocError,@Spell +syn region hastepreproc start="#\[\s*\(\|tgfor\|tgif\)" end="$" contains=hastepreprocVar,hastepreproc,@Spell +syn region hastepreproc start="}\s\(else\)\s{" end="$" contains=hastepreprocVar,hastepreproc,@Spell +syn region hastepreproc start="^\s*#\s*\(ifndef\|ifdef\|else\|endif\)\>" end="$" contains=@hastepreprocGroup,@Spell +syn region hastepreproc start="\s*##\s*\(define\|undef\)\>" end="$" contains=@hastepreprocGroup,@Spell +syn match hastepreproc "}\{0,1}\s*]#" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link hastepreproc Preproc +hi def link hastepreprocVar Special +hi def link hastepreprocError Error + +let b:current_syntax = "hastepreproc" + +" vim: ts=8 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/hostconf.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/hostconf.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,147 @@ +" Vim syntax file +" Language: host.conf(5) configuration file +" Maintainer: Nikolai Weibull +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/lsl.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/lsl.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,272 @@ +" Vim syntax file +" Language: Linden Scripting Language +" Maintainer: Timo Frenay +" 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/mmp.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/mmp.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,53 @@ +" Vim syntax file +" Language: Symbian meta-makefile definition (MMP) +" Maintainer: Ron Aaron +" Last Change: 2007/11/07 +" URL: http://ronware.org/wiki/vim/mmp +" Filetypes: *.mmp + +" 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 +endif + +syn case ignore + +syn match mmpComment "//.*" +syn region mmpComment start="/\*" end="\*\/" + +syn keyword mmpKeyword aif asspabi assplibrary aaspexports baseaddress +syn keyword mmpKeyword debuglibrary deffile document epocheapsize +syn keyword mmpKeyword epocprocesspriority epocstacksize exportunfrozen +syn keyword mmpStorage lang library linkas macro nostrictdef option +syn keyword mmpStorage resource source sourcepath srcdbg startbitmap +syn keyword mmpStorage start end staticlibrary strictdepend systeminclude +syn keyword mmpStorage systemresource target targettype targetpath uid +syn keyword mmpStorage userinclude win32_library + +syn match mmpIfdef "\#\(include\|ifdef\|ifndef\|if\|endif\|else\|elif\)" + +syn match mmpNumber "\d+" +syn match mmpNumber "0x\x\+" + + +" 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 !exists("did_mmp_syntax_inits") + let did_mmp_syntax_inits=1 + + hi def link mmpComment Comment + hi def link mmpKeyword Keyword + hi def link mmpStorage StorageClass + hi def link mmpString String + hi def link mmpNumber Number + hi def link mmpOrdinal Operator + hi def link mmpIfdef PreCondit +endif + +let b:current_syntax = "mmp" + +" vim: ts=8 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/msmessages.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/msmessages.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,135 @@ +" Vim syntax file +" Language: MS Message Text files (*.mc) +" Maintainer: Kevin Locke +" Last Change: 2008 April 09 +" Location: http://kevinlocke.name/programs/vim/syntax/msmessages.vim + +" See format description at +" This file is based on the rc.vim and c.vim + +" 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 +endif + +" Common MS Messages keywords +syn case ignore +syn keyword msmessagesIdentifier MessageIdTypedef +syn keyword msmessagesIdentifier SeverityNames +syn keyword msmessagesIdentifier FacilityNames +syn keyword msmessagesIdentifier LanguageNames +syn keyword msmessagesIdentifier OutputBase + +syn keyword msmessagesIdentifier MessageId +syn keyword msmessagesIdentifier Severity +syn keyword msmessagesIdentifier Facility +syn keyword msmessagesIdentifier OutputBase + +syn match msmessagesIdentifier /\/ nextgroup=msmessagesIdentEq skipwhite +syn match msmessagesIdentEq transparent /=/ nextgroup=msmessagesIdentDef skipwhite contained +syn match msmessagesIdentDef display /\w\+/ contained +" Note: The Language keyword is highlighted as part of an msmessagesLangEntry + +" Set value +syn case match +syn region msmessagesSet start="(" end=")" transparent fold contains=msmessagesName keepend +syn match msmessagesName /\w\+/ nextgroup=msmessagesSetEquals skipwhite contained +syn match msmessagesSetEquals /=/ display transparent nextgroup=msmessagesNumVal skipwhite contained +syn match msmessagesNumVal display transparent "\<\d\|\.\d" contains=msmessagesNumber,msmessagesFloat,msmessagesOctalError,msmessagesOctal nextgroup=msmessagesValSep +syn match msmessagesValSep /:/ display nextgroup=msmessagesNameDef contained +syn match msmessagesNameDef /\w\+/ display contained + + +" Comments are converted to C source (by removing leading ;) +" So we highlight the comments as C +syn include @msmessagesC syntax/c.vim +unlet b:current_syntax +syn region msmessagesCComment matchgroup=msmessagesComment start=/;/ end=/$/ contains=@msmessagesC keepend + +" String and Character constants +" Highlight special characters (those which have a escape) differently +syn case ignore +syn region msmessagesLangEntry start=/\\s*=\s*\S\+\s*$/hs=e+1 end=/^\./ contains=msmessagesFormat,msmessagesLangEntryEnd,msmessagesLanguage keepend +syn match msmessagesLanguage /\" +"hex number +syn match msmessagesNumber display contained "\<0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +syn match msmessagesOctal display contained "\<0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=msmessagesOctalZero +syn match msmessagesOctalZero display contained "\<0" +" flag an octal number with wrong digits +syn match msmessagesOctalError display contained "\<0\o*[89]\d*" +syn match msmessagesFloat display contained "\d\+f" +"floating point number, with dot, optional exponent +syn match msmessagesFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match msmessagesFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match msmessagesFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" +"hexadecimal floating point number, optional leading digits, with dot, with exponent +syn match msmessagesFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>" +"hexadecimal floating point number, with leading digits, optional dot, with exponent +syn match msmessagesFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>" + +" Types (used in MessageIdTypedef statement) +syn case match +syn keyword msmessagesType int long short char +syn keyword msmessagesType signed unsigned +syn keyword msmessagesType size_t ssize_t sig_atomic_t +syn keyword msmessagesType int8_t int16_t int32_t int64_t +syn keyword msmessagesType uint8_t uint16_t uint32_t uint64_t +syn keyword msmessagesType int_least8_t int_least16_t int_least32_t int_least64_t +syn keyword msmessagesType uint_least8_t uint_least16_t uint_least32_t uint_least64_t +syn keyword msmessagesType int_fast8_t int_fast16_t int_fast32_t int_fast64_t +syn keyword msmessagesType uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t +syn keyword msmessagesType intptr_t uintptr_t +syn keyword msmessagesType intmax_t uintmax_t +" Add some Windows datatypes that will be common in msmessages files +syn keyword msmessagesType BYTE CHAR SHORT SIZE_T SSIZE_T TBYTE TCHAR UCHAR USHORT +syn keyword msmessagesType DWORD DWORDLONG DWORD32 DWORD64 +syn keyword msmessagesType INT INT32 INT64 UINT UINT32 UINT64 +syn keyword msmessagesType LONG LONGLONG LONG32 LONG64 +syn keyword msmessagesType ULONG ULONGLONG ULONG32 ULONG64 + +" Sync to language entries, since they should be most common +syn sync match msmessagesLangSync grouphere msmessagesLangEntry "\ +" Last Change: 2007 Dec 16 + +if exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'pdf' +endif + +syn include @pdfXML syntax/xml.vim + +syn case match + +syn cluster pdfObjects contains=pdfBoolean,pdfConstant,pdfNumber,pdfFloat,pdfName,pdfHexString,pdfString,pdfArray,pdfHash,pdfReference,pdfComment +syn keyword pdfBoolean true false contained +syn keyword pdfConstant null contained +syn match pdfNumber "[+-]\=\<\d\+\>" +syn match pdfFloat "[+-]\=\<\%(\d\+\.\|\d*\.\d\+\)\>" contained + +syn match pdfNameError "#\X\|#\x\X\|#00" contained containedin=pdfName +syn match pdfSpecialChar "#\x\x" contained containedin=pdfName +syn match pdfName "/[^[:space:]\[\](){}<>/]*" contained +syn match pdfHexError "[^[:space:][:xdigit:]<>]" contained +"syn match pdfHexString "<\s*\x[^<>]*\x\s*>" contained contains=pdfHexError +"syn match pdfHexString "<\s*\x\=\s*>" contained +syn region pdfHexString matchgroup=pdfDelimiter start="<<\@!" end=">" contained contains=pdfHexError +syn match pdfStringError "\\." contained containedin=pdfString +syn match pdfSpecialChar "\\\%(\o\{1,3\}\|[nrtbf()\\]\)" contained containedin=pdfString +syn region pdfString matchgroup=pdfDelimiter start="\\\@>" contains=@pdfObjects contained +syn match pdfReference "\<\d\+\s\+\d\+\s\+R\>" +"syn keyword pdfOperator R contained containedin=pdfReference + +syn region pdfObject matchgroup=pdfType start="\" end="\" contains=@pdfObjects +syn region pdfObject matchgroup=pdfType start="\ - +" First Release: Mon Oct 16 08:49:46 CEST 2006 +" Last Change: Thu Aug 7 21:22:48 CEST 2008 +" Version: 0.5 + +" 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 +endif + +" case is significant +" syn case ignore +" ProMeLa Keywords +syn keyword promelaStatement proctype if else while chan do od fi break goto unless +syn keyword promelaStatement active assert label atomic +syn keyword promelaFunctions skip timeout run +syn keyword promelaTodo contained TODO +" ProMeLa Types +syn keyword promelaType bit bool byte short int +" Operators and special characters +syn match promelaOperator "!" +syn match promelaOperator "?" +syn match promelaOperator "->" +syn match promelaOperator "=" +syn match promelaOperator "+" +syn match promelaOperator "*" +syn match promelaOperator "/" +syn match promelaOperator "-" +syn match promelaOperator "<" +syn match promelaOperator ">" +syn match promelaOperator "<=" +syn match promelaOperator ">=" +syn match promelaSpecial "\[" +syn match promelaSpecial "\]" +syn match promelaSpecial ";" +syn match promelaSpecial "::" +" ProMeLa Comments +syn region promelaComment start="/\*" end="\*/" contains=promelaTodo,@Spell +syn match promelaComment "//.*" contains=promelaTodo,@Spell + +" Class Linking +hi def link promelaStatement Statement +hi def link promelaType Type +hi def link promelaComment Comment +hi def link promelaOperator Type +hi def link promelaSpecial Special +hi def link promelaFunctions Special +hi def link promelaString String +hi def link promelaTodo Todo + +let b:current_syntax = "promela" diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/reva.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/reva.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,191 @@ +" Vim syntax file +" Language: Reva Forth +" Version: 7.1 +" Last Change: 2008/01/11 +" Maintainer: Ron Aaron +" URL: http://ronware.org/reva/ +" Filetypes: *.rf *.frt +" NOTE: You should also have the ftplugin/reva.vim file to set 'isk' + +" For version 5.x: Clear all syntax items and don't load +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear + echo "Reva syntax file requires version 6.0 or later of vim!" + finish +elseif exists("b:current_syntax") + finish +endif + +syn clear + +" Synchronization method +syn sync ccomment +syn sync maxlines=100 + + +syn case ignore +" Some special, non-FORTH keywords +"syn keyword revaTodo contained todo fixme bugbug todo: bugbug: note: +syn match revaTodo contained '\(todo\|fixme\|bugbug\|note\)[:]*' +syn match revaTodo contained 'copyright\(\s(c)\)\=\(\s[0-9]\{2,4}\)\=' + +syn match revaHelpDesc '\S.*' contained +syn match revaHelpStuff '\<\(def\|stack\|ctx\|ver\|os\|related\):\s.*' +syn region revaHelpStuff start='\' end='^\S' contains=revaHelpDesc +syn region revaEOF start='\<|||\>' end='{$}' contains=revaHelpStuff + + +syn case match +" basic mathematical and logical operators +syn keyword revaoperators + - * / mod /mod negate abs min max umin umax +syn keyword revaoperators and or xor not invert 1+ 1- +syn keyword revaoperators m+ */ */mod m* um* m*/ um/mod fm/mod sm/rem +syn keyword revaoperators d+ d- dnegate dabs dmin dmax > < = >> << u< <> + + +" stack manipulations +syn keyword revastack drop nip dup over tuck swap rot -rot ?dup pick roll +syn keyword revastack 2drop 2nip 2dup 2over 2swap 2rot 3drop +syn keyword revastack >r r> r@ rdrop +" syn keyword revastack sp@ sp! rp@ rp! + +" address operations +syn keyword revamemory @ ! +! c@ c! 2@ 2! align aligned allot allocate here free resize +syn keyword revaadrarith chars char+ cells cell+ cell cell- 2cell+ 2cell- 3cell+ 4cell+ +syn keyword revamemblks move fill + +" conditionals +syn keyword revacond if else then =if >if if if0 ;; catch throw + +" iterations +syn keyword revaloop while repeat until again +syn keyword revaloop do loop i j leave unloop skip more + +" new words +syn match revaColonDef '\ immediate +syn keyword revadefine compile literal ' ['] + +" Built in words +com! -nargs=+ Builtin syn keyword revaBuiltin +Builtin execute ahead interp bye >body here pad words make +Builtin accept close cr creat delete ekey emit fsize ioerr key? +Builtin mtime open/r open/rw read rename seek space spaces stat +Builtin tell type type_ write (seek) (argv) (save) 0; 0drop; +Builtin >class >lz >name >xt alias alias: appname argc asciiz, asciizl, +Builtin body> clamp depth disassemble findprev fnvhash getenv here, +Builtin iterate last! last@ later link lz> lzmax os parse/ peek +Builtin peek-n pop prior push put rp@ rpick save setenv slurp +Builtin stack-empty? stack-iterate stack-size stack: THROW_BADFUNC +Builtin THROW_BADLIB THROW_GENERIC used xt>size z, +Builtin +lplace +place -chop /char /string bounds c+lplace c+place +Builtin chop cmp cmpi count lc lcount lplace place quote rsplit search split +Builtin zcount zt \\char +Builtin chdir g32 k32 u32 getcwd getpid hinst osname stdin stdout +Builtin (-lib) (bye) (call) (else) (find) (func) (here) (if (lib) (s0) (s^) +Builtin (to~) (while) >in >rel ?literal appstart cold compiling? context? d0 default_class +Builtin defer? dict dolstr dostr find-word h0 if) interp isa onexit +Builtin onstartup pdoes pop>ebx prompt rel> rp0 s0 src srcstr state str0 then,> then> tib +Builtin tp vector vector! word? xt? .ver revaver revaver# && '' 'constant 'context +Builtin 'create 'defer 'does 'forth 'inline 'macro 'macront 'notail 'value 'variable +Builtin (.r) (context) (create) (header) (hide) (inline) (p.r) (words~) (xfind) +Builtin ++ -- , -2drop -2nip -link -swap . .2x .classes .contexts .funcs .libs .needs .r +Builtin .rs .x 00; 0do 0if 1, 2, 3, 2* 2/ 2constant 2variable 3dup 4dup ;then >base >defer +Builtin >rr ? ?do @execute @rem appdir argv as back base base! between chain cleanup-libs +Builtin cmove> context?? ctrl-c ctx>name data: defer: defer@def dictgone do_cr eleave +Builtin endcase endof eval exception exec false find func: header heapgone help help/ +Builtin hex# hide inline{ last lastxt lib libdir literal, makeexename mnotail ms ms@ +Builtin newclass noop nosavedict notail nul of off on p: padchar parse parseln +Builtin parsews rangeof rdepth remains reset reva revaused rol8 rr> scratch setclass sp +Builtin strof super> temp time&date true turnkey? undo vfunc: w! w@ +Builtin xchg xchg2 xfind xt>name xwords { {{ }} } _+ _1+ _1- pathsep case \|| +" p[ [''] [ ['] + + +" debugging +syn keyword revadebug .s dump see + +" basic character operations +" syn keyword revaCharOps (.) CHAR EXPECT FIND WORD TYPE -TRAILING EMIT KEY +" syn keyword revaCharOps KEY? TIB CR +" syn match revaCharOps '\d >digit digit> >single >double >number >float + +" contexts +syn keyword revavocs forth macro inline +syn keyword revavocs context: +syn match revavocs /\<\~[^~ ]*/ +syn match revavocs /[^~ ]*\~\>/ + +" numbers +syn keyword revamath decimal hex base binary octal +syn match revainteger '\<-\=[0-9.]*[0-9.]\+\>' +" recognize hex and binary numbers, the '$' and '%' notation is for greva +syn match revainteger '\<\$\x*\x\+\>' " *1* --- dont't mess +syn match revainteger '\<\x*\d\x*\>' " *2* --- this order! +syn match revainteger '\<%[0-1]*[0-1]\+\>' +syn match revainteger "\<'.\>" + +" Strings +" syn region revaString start=+\.\?\"+ end=+"+ end=+$+ +syn region revaString start=/"/ skip=/\\"/ end=/"/ + +" Comments +syn region revaComment start='\\S\s' end='.*' contains=revaTodo +syn match revaComment '\.(\s[^)]\{-})' contains=revaTodo +syn region revaComment start='(\s' skip='\\)' end=')' contains=revaTodo +syn match revaComment '(\s[^\-]*\-\-[^\-]\{-})' contains=revaTodo +syn match revaComment '\<|\s.*$' contains=revaTodo +syn match revaColonDef '\<:m\?\s*[^ \t]\+\>' contains=revaComment + +" Include files +syn match revaInclude '\<\(include\|needs\)\s\+\S\+' + + +" Define the default highlighting. +if !exists("did_reva_syntax_inits") + let did_reva_syntax_inits=1 + " The default methods for highlighting. Can be overriden later. + hi def link revaEOF cIf0 + hi def link revaHelpStuff special + hi def link revaHelpDesc Comment + hi def link revaTodo Todo + hi def link revaOperators Operator + hi def link revaMath Number + hi def link revaInteger Number + hi def link revaStack Special + hi def link revaFStack Special + hi def link revaSP Special + hi def link revaMemory Operator + hi def link revaAdrArith Function + hi def link revaMemBlks Function + hi def link revaCond Conditional + hi def link revaLoop Repeat + hi def link revaColonDef Define + hi def link revaEndOfColonDef Define + hi def link revaDefine Define + hi def link revaDebug Debug + hi def link revaCharOps Character + hi def link revaConversion String + hi def link revaForth Statement + hi def link revaVocs Statement + hi def link revaString String + hi def link revaComment Comment + hi def link revaClassDef Define + hi def link revaEndOfClassDef Define + hi def link revaObjectDef Define + hi def link revaEndOfObjectDef Define + hi def link revaInclude Include + hi def link revaBuiltin Keyword +endif + +let b:current_syntax = "reva" + +" vim: ts=8:sw=4:nocindent:smartindent: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/sass.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/sass.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,56 @@ +" Vim syntax file +" Language: Sass +" Maintainer: Tim Pope +" Filenames: *.sass + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/css.vim + +syn case ignore + +syn cluster sassCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp +syn cluster sassCssAttributes contains=css.*Attr,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp + +syn match sassProperty "^\s*\zs\s\%([[:alnum:]-]\+:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute +syn match sassCssAttribute ".*$" contained contains=@sassCssAttributes,sassConstant +syn match sassConstant "![[:alnum:]_-]\+" +syn match sassConstantAssignment "\%(![[:alnum:]_]\+\s*\)\@<==" nextgroup=sassCssAttribute skipwhite +syn match sassMixin "^=.*" +syn match sassMixing "^\s\+\zs+.*" + +syn match sassEscape "^\s*\zs\\" +syn match sassIdChar "#[[:alnum:]_-]\@=" nextgroup=sassId +syn match sassId "[[:alnum:]_-]\+" contained +syn match sassClassChar "\.[[:alnum:]_-]\@=" nextgroup=sassClass +syn match sassClass "[[:alnum:]_-]\+" contained +syn match sassAmpersand "&" + +" TODO: Attribute namespaces +" TODO: Arithmetic (including strings and concatenation) + +syn region sassInclude start="@import" end=";\|$" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType + +syn keyword sassTodo FIXME NOTE TODO OPTIMIZE XXX contained +syn region sassComment start="^\z(\s*\)//" end="^\%(\z1 \)\@!" contains=sassTodo +syn region sassCssComment start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=sassTodo + +hi def link sassCssComment sassComment +hi def link sassComment Comment +hi def link sassConstant Identifier +hi def link sassMixing PreProc +hi def link sassMixin PreProc +hi def link sassTodo Todo +hi def link sassInclude Include +hi def link sassEscape Special +hi def link sassIdChar Special +hi def link sassClassChar Special +hi def link sassAmpersand Character +hi def link sassId Identifier +hi def link sassClass Type + +let b:current_syntax = "sass" + +" vim:set sw=2: diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/voscm.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/voscm.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,94 @@ +" Vim syntax file +" Language: VOS CM macro +" Maintainer: Andrew McGill andrewm at lunch.za.net +" Last Change: Apr 06, 2007 +" Version: 1 +" URL: http://lunch.za.net/ +" + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syn case match +" set iskeyword=48-57,_,a-z,A-Z + +syn match voscmStatement "^!" +syn match voscmStatement "&\(label\|begin_parameters\|end_parameters\|goto\|attach_input\|break\|continue\|control\|detach_input\|display_line\|display_line_partial\|echo\|eof\|eval\|if\|mode\|return\|while\|set\|set_string\|then\|else\|do\|done\|end\)\>" +syn match voscmJump "\(&label\|&goto\) *" nextgroup=voscmLabelId +syn match voscmLabelId contained "\<[A-Za-z][A-Z_a-z0-9]* *$" +syn match voscmSetvar "\(&set_string\|&set\) *" nextgroup=voscmVariable +syn match voscmError "\(&set_string\|&set\) *&" +syn match voscmVariable contained "\<[A-Za-z][A-Z_a-z0-9]\+\>" +syn keyword voscmParamKeyword contained number req string switch allow byte disable_input hidden length longword max min no_abbrev output_path req required req_for_form word +syn region voscmParamList matchgroup=voscmParam start="&begin_parameters" end="&end_parameters" contains=voscmParamKeyword,voscmString,voscmParamName,voscmParamId +syn match voscmParamName contained "\(^\s*[A-Za-z_0-9]\+\s\+\)\@<=\k\+" +syn match voscmParamId contained "\(^\s*\)\@<=\k\+" +syn region par1 matchgroup=par1 start=/(/ end=/)/ contains=voscmFunction,voscmIdentifier,voscmString transparent +" FIXME: functions should only be allowed after a bracket ... ie (ask ...): +syn keyword voscmFunction contained abs access after ask before break byte calc ceil command_status concat +syn keyword voscmFunction contained contents path_name copy count current_dir current_module date date_time +syn keyword voscmFunction contained decimal directory_name end_of_file exists file_info floor given group_name +syn keyword voscmFunction contained has_access hexadecimal home_dir index iso_date iso_date_time language_name +syn keyword voscmFunction contained length lock_type locked ltrim master_disk max message min mod module_info +syn keyword voscmFunction contained module_name object_name online path_name person_name process_dir process_info +syn keyword voscmFunction contained process_type quote rank referencing_dir reverse rtrim search +syn keyword voscmFunction contained software_purchased string substitute substr system_name terminal_info +syn keyword voscmFunction contained terminal_name time translate trunc unique_string unquote user_name verify +syn keyword voscmFunction contained where_path +syn keyword voscmTodo contained TODO FIXME XXX DEBUG NOTE +syn match voscmTab "\t\+" + +syn keyword voscmCommand add_entry_names add_library_path add_profile analyze_pc_samples attach_default_output attach_port batch bind break_process c c_preprocess call_thru cancel_batch_requests cancel_device_reservation cancel_print_requests cc change_current_dir check_posix cobol comment_on_manual compare_dirs compare_files convert_text_file copy_dir copy_file copy_tape cpp create_data_object create_deleted_record_index create_dir create_file create_index create_record_index create_tape_volumes cvt_fixed_to_stream cvt_stream_to_fixed debug delete_dir delete_file delete_index delete_library_path detach_default_output detach_port dismount_tape display display_access display_access_list display_batch_status display_current_dir display_current_module display_date_time display_default_access_list display_device_info display_dir_status display_disk_info display_disk_usage display_error display_file display_file_status display_line display_notices display_object_module_info display_print_defaults display_print_status display_program_module display_system_usage display_tape_params display_terminal_parameters dump_file dump_record dump_tape edit edit_form emacs enforce_region_locks fortran get_external_variable give_access give_default_access handle_sig_dfl harvest_pc_samples help kill line_edit link link_dirs list list_batch_requests list_devices list_gateways list_library_paths list_modules list_port_attachments list_print_requests list_process_cmd_limits list_save_tape list_systems list_tape list_terminal_types list_users locate_files locate_large_files login logout mount_tape move_device_reservation move_dir move_file mp_debug nls_edit_form pascal pl1 position_tape preprocess_file print profile propagate_access read_tape ready remove_access remove_default_access rename reserve_device restore_object save_object send_message set set_cpu_time_limit set_expiration_date set_external_variable set_file_allocation set_implicit_locking set_index_flags set_language set_library_paths set_line_wrap_width set_log_protected_file set_owner_access set_pipe_file set_priority set_ready set_safety_switch set_second_tape set_tape_drive_params set_tape_file_params set_tape_mount_params set_terminal_parameters set_text_file set_time_zone sleep sort start_logging start_process stop_logging stop_process tail_file text_data_merge translate_links truncate_file unlink update_batch_requests update_print_requests update_process_cmd_limits use_abbreviations use_message_file vcc verify_posix_access verify_save verify_system_access walk_dir where_command where_path who_locked write_tape + +syn match voscmIdentifier "&[A-Za-z][a-z0-9_A-Z]*&" + +syn match voscmString "'[^']*'" + +" Number formats +syn match voscmNumber "\<\d\+\>" +"Floating point number part only +syn match voscmDecimalNumber "\.\d\+\([eE][-+]\=\d\)\=\>" + +"syn region voscmComment start="^[ ]*&[ ]+" end="$" +"syn match voscmComment "^[ ]*&[ ].*$" +"syn match voscmComment "^&$" +syn region voscmComment start="^[ ]*&[ ]" end="$" contains=voscmTodo +syn match voscmComment "^&$" +syn match voscmContinuation "&+$" + +"syn match voscmIdentifier "[A-Za-z0-9&._-]\+" + +"Synchronization with Statement terminator $ +" syn sync maxlines=100 + +hi def link voscmConditional Conditional +hi def link voscmStatement Statement +hi def link voscmSetvar Statement +hi def link voscmNumber Number +hi def link voscmDecimalNumber Float +hi def link voscmString String +hi def link voscmIdentifier Identifier +hi def link voscmVariable Identifier +hi def link voscmComment Comment +hi def link voscmJump Statement +hi def link voscmContinuation Macro +hi def link voscmLabelId String +hi def link voscmParamList NONE +hi def link voscmParamId Identifier +hi def link voscmParamName String +hi def link voscmParam Statement +hi def link voscmParamKeyword Statement +hi def link voscmFunction Function +hi def link voscmCommand Structure +"hi def link voscmIdentifier NONE +"hi def link voscmSpecial Special " not used +hi def link voscmTodo Todo +hi def link voscmTab Error +hi def link voscmError Error + +let b:current_syntax = "voscm" + +" vim: ts=8 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/syntax/xbl.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/xbl.vim Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,29 @@ +" Vim syntax file +" Language: XBL 1.0 +" Maintainer: Doug Kearns +" Latest Revision: 2007 November 5 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +runtime! syntax/xml.vim +unlet b:current_syntax + +syn include @javascriptTop syntax/javascript.vim +unlet b:current_syntax + +syn region xblJavascript + \ matchgroup=xmlCdataStart start=++ + \ contains=@javascriptTop keepend extend + +let b:current_syntax = "xbl" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/README.el.cp737.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/README.el.cp737.txt Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,24 @@ +’¦ 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/README.el.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/README.el.txt Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,24 @@ +Ôï 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.ca.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.ca.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -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 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 (per estar segurs que esteu en el mode Normal). + + 2. Teclegeu: :q! . + +---> Amb això sortireu de l'editor SENSE desar els canvis que hàgiu pogut + fer. Si voleu desar els canvis teclegeu: + :wq + + 3. Quan vegeu l'introductor de la shell escriviu l'ordre amb la qual heu + arribat a aquest tutor. Podria ser: vimtutor + O bé: vim tutor + +---> '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 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 + + 3. Per sortir teclegeu: :q! per descartar els canvis. + O BÉ teclegeu: :wq 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 + +NOTA: La tecla 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 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 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 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 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 . + +---> 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' . 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 . 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 . 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 + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 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 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 , 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 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 . + + 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 (si en teniu alguna) + - premeu la tecla (si en teniu alguna) + - escriviu :help + + Teclegeu :q 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 ): + + :help w + :help c_ 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 , 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 Taste (um sicherzustellen, dass Du im Normalmodus bist). + + 2. Tippe: :q! . + 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 + + 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! 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 , 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 , 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 + '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 + + 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 + + 3. Um Vim zu verlassen und alle Änderungen zu verwerfen, tippe: + :q! . + ODER tippe: :wq , 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 Einfügen vor dem Cursor + A Anzufügenden Text eingeben Anfügen nach dem Zeilendene + +Bemerkung: Drücken von 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 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 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 , 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 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 . + +---> 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' . 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 . 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 . 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 + 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 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 , 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 , + 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 , 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 . + + 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 + + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 . + + 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 - Taste (falls Du eine besitzt) + - Drücke die Taste (falls Du eine besitzt) + - Tippe :help + + 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 , um das Hilfefenster zu schließen. + + Du kannst Hilfe zu praktisch jedem Thema finden, indem Du dem ":help"- + Kommando ein Argument gibst. Probiere folgendes ( 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 ** + + 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 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 . Vim vervollständigt den Namen (falls er eindeutig ist). + +Bemerkung: Vervollständigung funktioniert für viele Kommandos. Versuche + einfach CTRL-D und . Dies ist insbesondere nützlich für :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ZUSAMMENFASSUNG VON LEKTION 7 + + + 1. Tippe :help oder drücke oder , 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 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.el Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,815 @@ +=============================================================================== += Ê áë ù ó Þ ñ è á ô å ó ô ï V I M T u t o r - ¸êäïóç 1.5 = +=============================================================================== + + Ï Vim åßíáé Ýíáò ðáíßó÷õñïò óõíôÜêôçò ðïõ Ý÷åé ðïëëÝò åíôïëÝò, ðÜñá + ðïëëÝò ãéá íá åîçãÞóïõìå óå ìßá ðåñéÞãçóç üðùò áõôÞ. ÁõôÞ ç ðåñéÞãçóç + ó÷åäéÜóôçêå ãéá íá ðåñéãñÜøåé éêáíïðïéçôéêÜ ôéò åíôïëÝò ðïõ èá óáò + êÜíïõí íá ÷ñçóéìïðïéåßôå åýêïëá ôïí Vim óáí Ýíáí ãåíéêÞò ÷ñÞóçò óõíôÜêôç. + + Ï êáôÜ ðñïóÝããéóç ÷ñüíïò ðïõ áðáéôåßôáé ãéá íá ïëïêëçñþóåôå ôçí ðåñéÞãçóç + åßíáé 25-30 ëåðôÜ, åîáñôþíôáò áðü ôï ðüóï ÷ñüíï èá îïäÝøåôå ãéá + ðåéñáìáôéóìïýò. + + Ïé åíôïëÝò óôá ìáèÞìáôá èá ôñïðïðïéÞóïõí ôï êåßìåíï. ÄçìéïõñãÞóôå Ýíá + áíôßãñáöï áõôïý ôïõ áñ÷åßïõ ãéá íá åîáóêçèåßôå (áí îåêéíÞóáôå ôï + "Vimtutor" áõôü åßíáé Þäç Ýíá áíôßãñáöï). + + Åßíáé óçìáíôéêü íá èõìÜóôå üôé áõôÞ ç ðåñéÞãçóç åßíáé ïñãáíùìÝíç Ýôóé + þóôå íá äéäÜóêåé ìÝóù ôçò ÷ñÞóçò. Áõôü óçìáßíåé üôé ÷ñåéÜæåôáé íá + åêôåëåßôå ôéò åíôïëÝò ãéá íá ôéò ìÜèåôå óùóôÜ. Áí äéáâÜæåôå ìüíï ôï + êåßìåíï, èá ôéò îå÷Üóåôå! + + Ôþñá, âåâáéùèåßôå üôé ôï ðëÞêôñï Shift-Lock ÄÅÍ åßíáé ðáôçìÝíï êáé + ðáôÞóôå ôï ðëÞêôñï j áñêåôÝò öïñÝò ãéá íá ìåôáêéíÞóåôå ôïí äñïìÝá Ýôóé + þóôå ôï ÌÜèçìá 1.1 íá ãåìßóåé ðëÞñùò ôçí ïèüíç. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÜèçìá 1.1: ÌÅÔÁÊÉÍÏÍÔÁÓ ÔÏÍ ÄÑÏÌÅÁ + + ** Ãéá íá êéíÞóåôå ôïí äñïìÝá, ðáôÞóôå ôá ðëÞêôñá h,j,k,l üðùò äåß÷íåôáé. ** + ^ + k Hint: Ôï ðëÞêôñï h åßíáé áñéóôåñÜ êáé êéíåß óô' áñéóôåñÜ. + < h l > Ôï ðëÞêôñï l åßíáé äåîéÜ êáé êéíåß óôá äåîéÜ. + j Ôï ðëÞêôñï j ìïéÜæåé ìå âåëÜêé ðñïò ôá êÜôù. + v + + 1. Ìåôáêéíåßóôå ôïí äñïìÝá ôñéãýñù óôçí ïèüíç ìÝ÷ñé íá íïéþèåôå Üíåôá. + + 2. ÊñáôÞóôå ðáôçìÝíï ôï êÜôù ðëÞêôñï (j) ìÝ÷ñé íá åðáíáëçöèåß. +---> Ôþñá îÝñåôå ðþò íá ìåôáêéíçèåßôå óôï åðüìåíï ìÜèçìá. + + 3. ×ñçóéìïðïéþíôáò ôï êÜôù ðëÞêôñï, ìåôáêéíçèåßôå óôï ÌÜèçìá 1.2. + +Óçìåßùóç: Áí áìöéâÜëëåôå ãéá êÜôé ðïõ ðáôÞóáôå, ðáôÞóôå ãéá íá âñåèåßôå + óôçí ÊáíïíéêÞ ÊáôÜóôáóç. ÌåôÜ ðáôÞóôå îáíÜ ôçí åíôïëÞ ðïõ èÝëáôå. + +Óçìåßùóç: Ôá ðëÞêôñá ôïõ äñïìÝá èá ðñÝðåé åðßóçò íá äïõëåýïõí. ÁëëÜ ìå ôá hjkl + èá ìðïñåßôå íá êéíçèåßôå ðïëý ãñçãïñüôåñá, ìüëéò ôá óõíçèßóåôå. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÜèçìá 1.2: ÌÐÁÉÍÏÍÔÁÓ ÊÁÉ ÂÃÁÉÍÏÍÔÁÓ ÓÔÏÍ VIM + + !! ÓÇÌÅÉÙÓÇ: Ðñéí åêôåëÝóåôå êÜðïéï áðü ôá âÞìáôá, äéáâÜóôå üëï ôï ìÜèçìá!! + + 1. ÐáôÞóôå ôï ðëÞêôñï (ãéá íá åßóôå óßãïõñá óôçí ÊáíïíéêÞ ÊáôÜóôáóç). + + 2. ÐëçêôñïëïãÞóôå: :q! . + +---> Áõôü åîÝñ÷åôáé áðü ôïí óõíôÜêôç ×ÙÑÉÓ íá óþóåé üðïéåò áëëáãÝò Ý÷åôå êÜíåé. + Áí èÝëåôå íá óþóåôå ôéò áëëáãÝò êáé íá åîÝñèåôå ðëçêôñïëïãÞóôå: + :wq + + 3. ¼ôáí äåßôå ôçí ðñïôñïðÞ ôïõ öëïéïý, ðëçêôñïëïãÞóôå ôçí åíôïëÞ ìå ôçí ïðïßá + ìðÞêáôå óå áõôÞí ôçí ðåñéÞãçóç. Ìðïñåß íá åßíáé: vimtutor + ÊáíïíéêÜ èá ÷ñçóéìïðïéïýóáôå: vim tutor + +---> '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. Êáèþò äéïñèþíåôå êÜèå ëÜèïò ðáôÞóôå ãéá íá åðéóôñÝøåôå óôçí + ÊáíïíéêÞ ÊáôÜóôáóç. ÅðáíáëÜâåôå ôá âÞìáôá 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 ÁÑ×ÅÉÏ + + 3. Ãéá íá âãåßôå ãñÜøôå: :q! ãéá áðüññéøç ôùí áëëáãþí. + ¹ ãñÜøôå: :wq ãéá áðïèÞêåõóç ôùí áëëáãþí. + + 4. Ãéá íá äéáãñÜøåôå Ýíáí ÷áñáêôÞñá êÜôù áðü ôïí äñïìÝá óå + ÊáíïíéêÞ ÊáôÜóôáóç ðáôÞóôå: x + + 5. Ãéá íá åéóÜãåôå êåßìåíï óôïí äñïìÝá üóï åßóôå óå ÊáíïíéêÞ ÊáôÜóôáóç ãñÜøôå: + i ðëçêôñïëïãÞóôå ôï êåßìåíï + +ÓÇÌÅÉÙÓÇ: Ðáôþíôáò èá ôïðïèåôçèåßôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç Þ èá + áêõñþóåôå ìßá áíåðéèýìçôç êáé ìåñéêþò ïëïêëçñùìÝíç åíôïëÞ. + +Ôþñá óõíå÷ßóôå ìå ôï ÌÜèçìá 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÜèçìá 2.1: ÅÍÔÏËÅÓ ÄÉÁÃÑÁÖÇÓ + + ** ÃñÜøôå dw ãéá íá äéáãñÜøåôå ìÝ÷ñé ôï ôÝëïò ìßáò ëÝîçò. ** + + 1. ÐáôÞóôå ãéá íá âåâáéùèåßôå üôé åßóôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç. + + 2. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå --->. + + 3. Ðçãáßíåôå ôïí äñïìÝá óôçí áñ÷Þ ôçò ëÝîçò ðïõ ðñÝðåé íá äéáãñáöåß. + + 4. ÃñÜøôå dw ãéá íá êÜíåôå ôçí ëÝîç íá åîáöáíéóôåß. + +ÓÇÌÅÉÙÓÇ: Ôá ãñÜììáôá dw èá åìöáíéóôïýí óôçí ôåëåõôáßá ãñáììÞ ôçò ïèüíçò üóï + ôá ðëçêôñïëïãåßôå. Áí ãñÜøáôå êÜôé ëÜèïò, ðáôÞóôå êáé + îåêéíÞóôå áðü ôçí áñ÷Þ. + +---> There are a some words fun that don't belong paper in this sentence. + + 5. ÅðáíáëÜâåôå ôá âÞìáôá 3 êáé 4 ìÝ÷ñé ç ðñüôáóç íá åßíáé óùóôÞ êáé + ðçãáßíåôå óôï ÌÜèçìá 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÜèçìá 2.2: ÐÅÑÉÓÓÏÔÅÑÅÓ ÅÍÔÏËÅÓ ÄÉÁÃÑÁÖÇÓ + + ** ÐëçêôñïëïãÞóôå d$ ãéá íá äéáãñÜøåôå ìÝ÷ñé ôï ôÝëïò ôçò ãñáììÞò. ** + + 1. ÐáôÞóôå ãéá íá âåâáéùèåßôå üôé åßóôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç. + + 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. ÐáôÞóôå êáé ðçãáßíåôå óôï åðüìåíï ëÜèïò (óôïí ðñþôï + ÷áñáêôÞñá ðñïò áëëáãÞ). + + 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$ ãéá íá êÜíåôå ôï õðüëïéðï ôçò ãñáììÞò ßäéï ìå ôç äåýôåñç + êáé ðáôÞóôå . + +---> 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' . ÁõôÞ åßíáé ç ëÝîç ðïõ èÝëåôå íá øÜîåôå. + + 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 . Óçìåéþóôå üôé áõôÞ ç åíôïëÞ áëëÜæåé ìüíï + ôçí ðñþôç åìöÜíéóç óôç ãñáììÞ. + + 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 ìåôÜ áðü ôï ! êáé ðáôÞóôå . Áõôü èá + óáò åìöáíßóåé ìßá ëßóôá ôïõ êáôáëüãïõ óáò, áêñéâþò óáí íá Þóáóôáí óôçí + ðñïôñïðÞ ôïõ öëïéïý. ¹ ÷ñçóéìïðïéÞóôå :!dir áí ôï ls äåí äïõëåýåé. + +---> Óçìåßùóç: Åßíáé äõíáôüí íá åêôåëÝóåôå ïðïéáäÞðïôå åîùôåñéêÞ åíôïëÞ + ìå áõôüí ôïí ôñüðï. + +---> Óçìåßùóç: ¼ëåò ïé åíôïëÝò : ðñÝðåé íá ôåñìáôßæïíôáé ðáôþíôáò ôï . + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÜèçìá 5.2: ÐÅÑÉÓÓÏÔÅÑÁ ÐÅÑÉ ÅÃÃÑÁÖÇÓ ÁÑ×ÅÉÙÍ + + + ** Ãéá íá óþóåôå ôéò áëëÜãåò ðïõ êÜíáôå óôï áñ÷åßï, ãñÜøôå :w ÁÑ×ÅÉÏ. ** + + 1. ÃñÜøôå :!dir Þ :!ls ãéá íá ðÜñåôå ìßá ëßóôá ôïõ êáôáëüãïõ óáò. + ¹äç îÝñåôå üôé ðñÝðåé íá ðáôÞóåôå ìåôÜ áðü áõôü. + + 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. Ôþñá áíôéãñÜøôå ôç óçìåéùìÝíç ìå ---> ãñáììÞ êáé ðáôÞóôå ãéá íá + âãåßôå áðü ôçí ÊáôÜóôáóç ÊåéìÝíïõ. + +---> 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 , ôïí ôåëåõôáßï ÷áñáêôÞñá, ôï + êåßìåíï ôçò åéóáãùãÞò, , äñïìÝá-äåîéÜ, êáé ôÝëïò, 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. Óçìåéþóôå üôé üôáí ðáôÜôå ãéá íá âãåßôå, ðáñáìÝíåé ïðïéïäÞðïôå + áíáëëïßùôï êåßìåíï. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÜèçìá 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 åéóÝñ÷åôáé óôçí ÊáôÜóôáç ÁíôéêáôÜóôáóçò ìÝ÷ñé íá + ðáôçèåß ôï êáé íá åîÝëèåé. + + 4. ÃñÜöïíôáò ":set xxx" ñõèìßæåé ôçí åðéëïãÞ "xxx". + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ÌÁÈÇÌÁ 7: ON-LINE ÅÍÔÏËÅÓ ÂÏÇÈÅÉÁÓ + + + ** ×ñçóéìïðïéÞóôå ôï on-line óýóôçìá âïÞèåéáò ** + + Ï Vim Ý÷åé Ýíá ðåñéåêôéêü on-line óýóôçìá âïÞèåéáò. Ãéá íá îåêéíÞóåé, + äïêéìÜóôå êÜðïéï áðü ôá ôñßá: + - ðáôÞóôå ôï ðëÞêôñï (áí Ý÷åôå êÜðïéï) + - ðáôÞóôå ôï ðëÞêôñï (áí Ý÷åôå êÜðïéï) + - ãñÜøôå :help + + ÃñÜøôå :q ãéá íá êëåßóåôå ôï ðáñÜèõñï ôçò âïÞèåéáò. + + Ìðïñåßôå íá âñåßôå âïÞèåéá ðÜíù óå êÜèå áíôéêåßìåíï, äßíïíôáò ìßá ðáñÜìåôñï + óôçí åíôïëÞ ":help". ÄïêéìÜóôå áõôÜ (ìçí îå÷íÜôå íá ðáôÜôå ): + + :help w + :help c_ ’¦ §¢ã¡«¨¦ l œå¤˜  ›œ¥ á ¡˜  ¡ ¤œå ©«˜ ›œ¥ á. + j ’¦ §¢ã¡«¨¦ j £¦ áœ  £œ ™œ¢á¡  §¨¦ª «˜ ¡á«à. + v + + 1. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ «¨ šç¨à ©«ž¤ ¦Ÿæ¤ž £â®¨  ¤˜ ¤¦ éŸœ«œ ᤜ«˜. + + 2. ‰¨˜«ã©«œ §˜«ž£â¤¦ «¦ ¡á«à §¢ã¡«¨¦ (j) £â®¨  ¤˜ œ§˜¤˜¢ž­Ÿœå. +---> ’騘 ¥â¨œ«œ §éª ¤˜ £œ«˜¡ ¤žŸœå«œ ©«¦ œ§æ£œ¤¦ £áŸž£˜. + + 3. •¨ž© £¦§¦ é¤«˜ª «¦ ¡á«à §¢ã¡«¨¦, £œ«˜¡ ¤žŸœå«œ ©«¦ ‹áŸž£˜ 1.2. + +‘ž£œåà©ž: €¤ ˜£­ ™á¢¢œ«œ š ˜ ¡á«  §¦¬ §˜«ã©˜«œ, §˜«ã©«œ š ˜ ¤˜ ™¨œŸœå«œ + ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. ‹œ«á §˜«ã©«œ ¥˜¤á «ž¤ œ¤«¦¢ã §¦¬ Ÿâ¢˜«œ. + +‘ž£œåà©ž: ’˜ §¢ã¡«¨˜ «¦¬ ›¨¦£â˜ Ÿ˜ §¨â§œ  œ§å©žª ¤˜ ›¦¬¢œç¦¬¤. €¢¢á £œ «˜ hjkl + Ÿ˜ £§¦¨œå«œ ¤˜ ¡ ¤žŸœå«œ §¦¢ç š¨žš¦¨æ«œ¨˜, £æ¢ ª «˜ ©¬¤žŸå©œ«œ. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ‹áŸž£˜ 1.2: ‹€ˆŒŽŒ’€‘ ‰€ˆ ‚€ˆŒŽŒ’€‘ ‘’ŽŒ VIM + + !! ‘†‹„ˆ—‘†: ¨ ¤ œ¡«œ¢â©œ«œ ¡á§¦ ¦ ˜§æ «˜ ™ã£˜«˜, › ˜™á©«œ 梦 «¦ £áŸž£˜!! + + 1. ˜«ã©«œ «¦ §¢ã¡«¨¦ (š ˜ ¤˜ œå©«œ ©åš¦¬¨˜ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž). + + 2. ¢ž¡«¨¦¢¦šã©«œ: :q! . + +---> €¬«æ œ¥â¨®œ«˜  ˜§æ «¦¤ ©¬¤«á¡«ž •—ˆ‘ ¤˜ ©é©œ  槦 œª ˜¢¢˜šâª ⮜«œ ¡á¤œ . + €¤ Ÿâ¢œ«œ ¤˜ ©é©œ«œ « ª ˜¢¢˜šâª ¡˜  ¤˜ œ¥â¨Ÿœ«œ §¢ž¡«¨¦¢¦šã©«œ: + :wq + + 3. ¤ ›œå«œ «ž¤ §¨¦«¨¦§ã «¦¬ ­¢¦ ¦ç, §¢ž¡«¨¦¢¦šã©«œ «ž¤ œ¤«¦¢ã £œ «ž¤ ¦§¦å˜ + £§ã¡˜«œ ©œ ˜¬«ã¤ «ž¤ §œ¨ ãšž©ž. ‹§¦¨œå ¤˜ œå¤˜ : vimtutor + ‰˜¤¦¤ ¡á Ÿ˜ ®¨ž© £¦§¦ ¦ç©˜«œ: vim tutor + +---> '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. ‰˜Ÿéª › ¦¨Ÿé¤œ«œ ¡áŸœ ¢áŸ¦ª §˜«ã©«œ š ˜ ¤˜ œ§ ©«¨â¯œ«œ ©«ž¤ + ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 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 €•„ˆŽ + + 3. ‚ ˜ ¤˜ ™šœå«œ š¨á¯«œ: :q! š ˜ ˜§æ¨¨ ¯ž «à¤ ˜¢¢˜šé¤. + ì š¨á¯«œ: :wq š ˜ ˜§¦Ÿã¡œ¬©ž «à¤ ˜¢¢˜šé¤. + + 4. ‚ ˜ ¤˜ › ˜š¨á¯œ«œ ⤘¤ ®˜¨˜¡«ã¨˜ ¡á«à ˜§æ «¦¤ ›¨¦£â˜ ©œ + ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž §˜«ã©«œ: x + + 5. ‚ ˜ ¤˜ œ ©ášœ«œ ¡œå£œ¤¦ ©«¦¤ ›¨¦£â˜ 橦 œå©«œ ©œ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž š¨á¯«œ: + i §¢ž¡«¨¦¢¦šã©«œ «¦ ¡œå£œ¤¦ + +‘†‹„ˆ—‘†: ˜«é¤«˜ª Ÿ˜ «¦§¦Ÿœ«žŸœå«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž ã Ÿ˜ + ˜¡¬¨é©œ«œ £å˜ ˜¤œ§ Ÿç£ž«ž ¡˜  £œ¨ ¡éª ¦¢¦¡¢ž¨à£â¤ž œ¤«¦¢ã. + +’騘 ©¬¤œ®å©«œ £œ «¦ ‹áŸž£˜ 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ‹áŸž£˜ 2.1: „Œ’ŽŠ„‘ ƒˆ€‚€”†‘ + + ** ‚¨á¯«œ dw š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª £å˜ª ¢â¥žª. ** + + 1. ˜«ã©«œ š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. + + 2. ‹œ«˜¡ ¤œå©«œ «¦¤ ›¨¦£â˜ ©«ž¤ §˜¨˜¡á«à š¨˜££ã ©ž£œ à£â¤ž £œ --->. + + 3. žš˜å¤œ«œ «¦¤ ›¨¦£â˜ ©«ž¤ ˜¨®ã «žª ¢â¥žª §¦¬ §¨â§œ  ¤˜ › ˜š¨˜­œå. + + 4. ‚¨á¯«œ dw š ˜ ¤˜ ¡á¤œ«œ «ž¤ ¢â¥ž ¤˜ œ¥˜­˜¤ ©«œå. + +‘†‹„ˆ—‘†: ’˜ š¨á££˜«˜ dw Ÿ˜ œ£­˜¤ ©«¦ç¤ ©«ž¤ «œ¢œ¬«˜å˜ š¨˜££ã «žª ¦Ÿæ¤žª 橦 + «˜ §¢ž¡«¨¦¢¦šœå«œ. €¤ š¨á¯˜«œ ¡á«  ¢áŸ¦ª, §˜«ã©«œ ¡˜  + ¥œ¡ ¤ã©«œ ˜§æ «ž¤ ˜¨®ã. + +---> There are a some words fun that don't belong paper in this sentence. + + 5. „§˜¤˜¢á™œ«œ «˜ ™ã£˜«˜ 3 ¡˜  4 £â®¨  ž §¨æ«˜©ž ¤˜ œå¤˜  ©à©«ã ¡˜  + §žš˜å¤œ«œ ©«¦ ‹áŸž£˜ 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ‹áŸž£˜ 2.2: „ˆ‘‘Ž’„„‘ „Œ’ŽŠ„‘ ƒˆ€‚€”†‘ + + ** ¢ž¡«¨¦¢¦šã©«œ d$ š ˜ ¤˜ › ˜š¨á¯œ«œ £â®¨  «¦ «â¢¦ª «žª š¨˜££ãª. ** + + 1. ˜«ã©«œ š ˜ ¤˜ ™œ™˜ àŸœå«œ æ«  œå©«œ ©«ž¤ ‰˜¤¦¤ ¡ã ‰˜«á©«˜©ž. + + 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. ˜«ã©«œ ¡˜  §žš˜å¤œ«œ ©«¦ œ§æ£œ¤¦ ¢áŸ¦ª (©«¦¤ §¨é«¦ + ®˜¨˜¡«ã¨˜ §¨¦ª ˜¢¢˜šã). + + 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$ š ˜ ¤˜ ¡á¤œ«œ «¦ ¬§æ¢¦ §¦ «žª š¨˜££ãª å› ¦ £œ «ž ›œç«œ¨ž + ¡˜  §˜«ã©«œ . + +---> 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' . €¬«ã œå¤˜  ž ¢â¥ž §¦¬ Ÿâ¢œ«œ ¤˜ ¯á¥œ«œ. + + 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 . ‘ž£œ é©«œ æ«  ˜¬«ã ž œ¤«¦¢ã ˜¢¢áœ  £æ¤¦ + «ž¤ §¨é«ž œ£­á¤ ©ž ©«ž š¨˜££ã. + + 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 £œ«á ˜§æ «¦ ! ¡˜  §˜«ã©«œ . €¬«æ Ÿ˜ + ©˜ª œ£­˜¤å©œ  £å˜ ¢å©«˜ «¦¬ ¡˜«˜¢æš¦¬ ©˜ª, ˜¡¨ ™éª ©˜¤ ¤˜ 㩘©«˜¤ ©«ž¤ + §¨¦«¨¦§ã «¦¬ ­¢¦ ¦ç. ì ®¨ž© £¦§¦ ã©«œ :!dir ˜¤ «¦ ls ›œ¤ ›¦¬¢œçœ . + +---> ‘ž£œåà©ž: „夘  ›¬¤˜«æ¤ ¤˜ œ¡«œ¢â©œ«œ ¦§¦ ˜›ã§¦«œ œ¥à«œ¨ ¡ã œ¤«¦¢ã + £œ ˜¬«æ¤ «¦¤ «¨æ§¦. + +---> ‘ž£œåà©ž: ª ¦  œ¤«¦¢âª : §¨â§œ  ¤˜ «œ¨£˜«å¦¤«˜  §˜«é¤«˜ª «¦ . + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ‹áŸž£˜ 5.2: „ˆ‘‘Ž’„€ „ˆ „‚‚€”†‘ €•„ˆ—Œ + + + ** ‚ ˜ ¤˜ ©é©œ«œ « ª ˜¢¢ášœª §¦¬ ¡á¤˜«œ ©«¦ ˜¨®œå¦, š¨á¯«œ :w €•„ˆŽ. ** + + 1. ‚¨á¯«œ :!dir ã :!ls š ˜ ¤˜ §á¨œ«œ £å˜ ¢å©«˜ «¦¬ ¡˜«˜¢æš¦¬ ©˜ª. + 웞 ¥â¨œ«œ æ«  §¨â§œ  ¤˜ §˜«ã©œ«œ £œ«á ˜§æ ˜¬«æ. + + 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. ’騘 ˜¤« š¨á¯«œ «ž ©ž£œ à£â¤ž £œ ---> š¨˜££ã ¡˜  §˜«ã©«œ š ˜ ¤˜ + ™šœå«œ ˜§æ «ž¤ ‰˜«á©«˜©ž ‰œ £â¤¦¬. + +---> 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 , «¦¤ «œ¢œ¬«˜å¦ ®˜¨˜¡«ã¨˜, «¦ + ¡œå£œ¤¦ «žª œ ©˜šàšãª, , ›¨¦£â˜-›œ¥ á, ¡˜  «â¢¦ª, 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. ‘ž£œ é©«œ æ«  櫘¤ §˜«á«œ š ˜ ¤˜ ™šœå«œ, §˜¨˜£â¤œ  ¦§¦ ¦›ã§¦«œ + ˜¤˜¢¢¦å૦ ¡œå£œ¤¦. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ‹áŸž£˜ 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 œ ©â¨®œ«˜  ©«ž¤ ‰˜«á©«˜ž €¤« ¡˜«á©«˜©žª £â®¨  ¤˜ + §˜«žŸœå «¦ ¡˜  ¤˜ œ¥â¢Ÿœ . + + 4. ‚¨á­¦¤«˜ª ":set xxx" ¨¬Ÿ£åœ  «ž¤ œ§ ¢¦šã "xxx". + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ‹€‡†‹€ 7: ON-LINE „Œ’ŽŠ„‘ Ž†‡„ˆ€‘ + + + ** •¨ž© £¦§¦ ã©«œ «¦ on-line ©ç©«ž£˜ ™¦ãŸœ ˜ª ** + + Ž Vim ⮜  ⤘ §œ¨ œ¡« ¡æ on-line ©ç©«ž£˜ ™¦ãŸœ ˜ª. ‚ ˜ ¤˜ ¥œ¡ ¤ã©œ , + ›¦¡ £á©«œ ¡á§¦ ¦ ˜§æ «˜ «¨å˜: + - §˜«ã©«œ «¦ §¢ã¡«¨¦ (˜¤ ⮜«œ ¡á§¦ ¦) + - §˜«ã©«œ «¦ §¢ã¡«¨¦ (˜¤ ⮜«œ ¡á§¦ ¦) + - š¨á¯«œ :help + + ‚¨á¯«œ :q š ˜ ¤˜ ¡¢œå©œ«œ «¦ §˜¨áŸ¬¨¦ «žª ™¦ãŸœ ˜ª. + + ‹§¦¨œå«œ ¤˜ ™¨œå«œ ™¦ãŸœ ˜ §á¤à ©œ ¡áŸœ ˜¤« ¡œå£œ¤¦, ›å¤¦¤«˜ª £å˜ §˜¨á£œ«¨¦ + ©«ž¤ œ¤«¦¢ã ":help". ƒ¦¡ £á©«œ ˜¬«á (£ž¤ ¥œ®¤á«œ ¤˜ §˜«á«œ ): + + :help w + :help c_ Το πλήκτÏο l είναι δεξιά και κινεί στα δεξιά. + j Το πλήκτÏο j μοιάζει με βελάκι Ï€Ïος τα κάτω. + v + + 1. Μετακινείστε τον δÏομέα Ï„ÏιγÏÏω στην οθόνη μέχÏι να νοιώθετε άνετα. + + 2. ΚÏατήστε πατημένο το κάτω πλήκτÏο (j) μέχÏι να επαναληφθεί. +---> ΤώÏα ξέÏετε πώς να μετακινηθείτε στο επόμενο μάθημα. + + 3. ΧÏησιμοποιώντας το κάτω πλήκτÏο, μετακινηθείτε στο Μάθημα 1.2. + +Σημείωση: Αν αμφιβάλλετε για κάτι που πατήσατε, πατήστε για να βÏεθείτε + στην Κανονική Κατάσταση. Μετά πατήστε ξανά την εντολή που θέλατε. + +Σημείωση: Τα πλήκτÏα του δÏομέα θα Ï€Ïέπει επίσης να δουλεÏουν. Αλλά με τα hjkl + θα μποÏείτε να κινηθείτε Ï€Î¿Î»Ï Î³ÏηγοÏότεÏα, μόλις τα συνηθίσετε. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Μάθημα 1.2: ΜΠΑΙÎΟÎΤΑΣ ΚΑΙ ΒΓΑΙÎΟÎΤΑΣ ΣΤΟΠVIM + + !! ΣΗΜΕΙΩΣΗ: ΠÏιν εκτελέσετε κάποιο από τα βήματα, διαβάστε όλο το μάθημα!! + + 1. Πατήστε το πλήκτÏο (για να είστε σίγουÏα στην Κανονική Κατάσταση). + + 2. ΠληκτÏολογήστε: :q! . + +---> Αυτό εξέÏχεται από τον συντάκτη ΧΩΡΙΣ να σώσει όποιες αλλαγές έχετε κάνει. + Αν θέλετε να σώσετε τις αλλαγές και να εξέÏθετε πληκτÏολογήστε: + :wq + + 3. Όταν δείτε την Ï€ÏοτÏοπή του φλοιοÏ, πληκτÏολογήστε την εντολή με την οποία + μπήκατε σε αυτήν την πεÏιήγηση. ΜποÏεί να είναι: vimtutor + Κανονικά θα χÏησιμοποιοÏσατε: vim tutor + +---> '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. Καθώς διοÏθώνετε κάθε λάθος πατήστε για να επιστÏέψετε στην + Κανονική Κατάσταση. Επαναλάβετε τα βήματα 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 ΑΡΧΕΙΟ + + 3. Για να βγείτε γÏάψτε: :q! για απόÏÏιψη των αλλαγών. + Ή γÏάψτε: :wq για αποθήκευση των αλλαγών. + + 4. Για να διαγÏάψετε έναν χαÏακτήÏα κάτω από τον δÏομέα σε + Κανονική Κατάσταση πατήστε: x + + 5. Για να εισάγετε κείμενο στον δÏομέα όσο είστε σε Κανονική Κατάσταση γÏάψτε: + i πληκτÏολογήστε το κείμενο + +ΣΗΜΕΙΩΣΗ: Πατώντας θα τοποθετηθείτε στην Κανονική Κατάσταση ή θα + ακυÏώσετε μία ανεπιθÏμητη και μεÏικώς ολοκληÏωμένη εντολή. + +ΤώÏα συνεχίστε με το Μάθημα 2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Μάθημα 2.1: ΕÎΤΟΛΕΣ ΔΙΑΓΡΑΦΗΣ + + ** ΓÏάψτε dw για να διαγÏάψετε μέχÏι το τέλος μίας λέξης. ** + + 1. Πατήστε για να βεβαιωθείτε ότι είστε στην Κανονική Κατάσταση. + + 2. Μετακινείστε τον δÏομέα στην παÏακάτω γÏαμμή σημειωμένη με --->. + + 3. Πηγαίνετε τον δÏομέα στην αÏχή της λέξης που Ï€Ïέπει να διαγÏαφεί. + + 4. ΓÏάψτε dw για να κάνετε την λέξη να εξαφανιστεί. + +ΣΗΜΕΙΩΣΗ: Τα γÏάμματα dw θα εμφανιστοÏν στην τελευταία γÏαμμή της οθόνης όσο + τα πληκτÏολογείτε. Αν γÏάψατε κάτι λάθος, πατήστε και + ξεκινήστε από την αÏχή. + +---> There are a some words fun that don't belong paper in this sentence. + + 5. Επαναλάβετε τα βήματα 3 και 4 μέχÏι η Ï€Ïόταση να είναι σωστή και + πηγαίνετε στο Μάθημα 2.2. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Μάθημα 2.2: ΠΕΡΙΣΣΟΤΕΡΕΣ ΕÎΤΟΛΕΣ ΔΙΑΓΡΑΦΗΣ + + ** ΠληκτÏολογήστε d$ για να διαγÏάψετε μέχÏι το τέλος της γÏαμμής. ** + + 1. Πατήστε για να βεβαιωθείτε ότι είστε στην Κανονική Κατάσταση. + + 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. Πατήστε και πηγαίνετε στο επόμενο λάθος (στον Ï€Ïώτο + χαÏακτήÏα Ï€Ïος αλλαγή). + + 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$ για να κάνετε το υπόλοιπο της γÏαμμής ίδιο με τη δεÏτεÏη + και πατήστε . + +---> 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' . Αυτή είναι η λέξη που θέλετε να ψάξετε. + + 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 . Σημειώστε ότι αυτή η εντολή αλλάζει μόνο + την Ï€Ïώτη εμφάνιση στη γÏαμμή. + + 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 μετά από το ! και πατήστε . Αυτό θα + σας εμφανίσει μία λίστα του καταλόγου σας, ακÏιβώς σαν να ήσασταν στην + Ï€ÏοτÏοπή του φλοιοÏ. Ή χÏησιμοποιήστε :!dir αν το ls δεν δουλεÏει. + +---> Σημείωση: Είναι δυνατόν να εκτελέσετε οποιαδήποτε εξωτεÏική εντολή + με αυτόν τον Ï„Ïόπο. + +---> Σημείωση: Όλες οι εντολές : Ï€Ïέπει να τεÏματίζονται πατώντας το . + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Μάθημα 5.2: ΠΕΡΙΣΣΟΤΕΡΑ ΠΕΡΙ ΕΓΓΡΑΦΗΣ ΑΡΧΕΙΩΠ+ + + ** Για να σώσετε τις αλλάγες που κάνατε στο αÏχείο, γÏάψτε :w ΑΡΧΕΙΟ. ** + + 1. ΓÏάψτε :!dir ή :!ls για να πάÏετε μία λίστα του καταλόγου σας. + Ήδη ξέÏετε ότι Ï€Ïέπει να πατήσετε μετά από αυτό. + + 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. ΤώÏα αντιγÏάψτε τη σημειωμένη με ---> γÏαμμή και πατήστε για να + βγείτε από την Κατάσταση Κειμένου. + +---> 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 , τον τελευταίο χαÏακτήÏα, το + κείμενο της εισαγωγής, , δÏομέα-δεξιά, και τέλος, 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. Σημειώστε ότι όταν πατάτε για να βγείτε, παÏαμένει οποιοδήποτε + αναλλοίωτο κείμενο. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Μάθημα 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 εισέÏχεται στην Κατάσταη Αντικατάστασης μέχÏι να + πατηθεί το και να εξέλθει. + + 4. ΓÏάφοντας ":set xxx" Ïυθμίζει την επιλογή "xxx". + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ΜΑΘΗΜΑ 7: ON-LINE ΕÎΤΟΛΕΣ ΒΟΗΘΕΙΑΣ + + + ** ΧÏησιμοποιήστε το on-line σÏστημα βοήθειας ** + + Ο Vim έχει ένα πεÏιεκτικό on-line σÏστημα βοήθειας. Για να ξεκινήσει, + δοκιμάστε κάποιο από τα Ï„Ïία: + - πατήστε το πλήκτÏο (αν έχετε κάποιο) + - πατήστε το πλήκτÏο (αν έχετε κάποιο) + - γÏάψτε :help + + ΓÏάψτε :q για να κλείσετε το παÏάθυÏο της βοήθειας. + + ΜποÏείτε να βÏείτε βοήθεια πάνω σε κάθε αντικείμενο, δίνοντας μία παÏάμετÏο + στην εντολή ":help". Δοκιμάστε αυτά (μην ξεχνάτε να πατάτε ): + + :help w + :help c_ La klavo l estas la plej dekstra kaj movas dekstren. + j La klavo j aspektas kiel malsuprena sago. + v + 1. Movu la kursoron sur la ekrano Äis kiam vi sentas vin komforta. + + 2. Premu la klavon (j) Äis kiam Äi ripetas. + Vi nun scias, kiel moviÄi al la sekvanta leciono + + 3. Uzante la malsuprenan klavon, moviÄu al la leciono 1.2. + +RIMARKO: Se vi dubas pri tio, kion vi premis, premu por reiri al + la normala reÄimo. Tiam repremu la deziratan komandon. + +RIMARKO: La klavoj de la kursoro devus ankaÅ­ funkcii. Sed uzante hjkl, + vi kapablos moviÄi pli rapide post kiam vi kutimiÄos. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.2: ELIRI EL VIM + + + !! RIMARKO: AntaÅ­ ol plenumi iujn subajn paÅojn ajn, legu la tutan lecionon!! + + 1. Premu la klavon (por certigi, ke vi estas en normala reÄimo). + + 2. Tajpu: :q! . + Tio eliras el la rekdaktilo, SEN konservi la ÅanÄojn, kion vi faris. + + 3. Kiam vi vidas la Åelinviton, tajpu la komandon kiun vi uzis por eniri + en ĉi tiu instruilo. Tio estus: vimtutor + + 4. Se vi memoris tiujn paÅojn kaj sentas vin memfida, plenumu la paÅojn + 1 Äis 3 por eliri kaj reeniri la redaktilon. + +RIMARKO: :q! eliras sen konservi la ÅanÄojn kion vi faris. + Post kelkaj lecionoj, vi lernos kiel konservi la ÅanÄojn al dosiero. + + 5. Movu la kursoron suben Äis la leciono 1.3. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.3: REDAKTO DE TEKSTO - FORVIÅœO + + + ** Premu x por forviÅi la signon sub la kursoro. ** + + 1. Movu la kursoron al la suba linio markita per --->. + + 2. Por korekti la erarojn, movu la kursoron Äis kiam Äi estas sur la + forviÅenda signo. + + 3. Premu la klavon x por forviÅi la nedeziratan signon. + + 4. Ripetu paÅojn 2 Äis 4 Äis kiam la frazo estas Äusta. + + +---> La boovinno saaltiss ssur laa luuno. + + 5. Post kiam la linio estas Äusta, iru al la leciono 1.4 + +RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.4: REDAKTO DE TEKSTO - ENMETO + + + ** Premu i por enmeti tekston. ** + + 1. Movu la kursoron al la unua suba linio markita per --->. + + 2. Por igi la unuan linion sama ol la dua, movu la kursoron sur la unuan + signon post kie la teksto estas enmetenda. + + 3. Premu i kaj tajpu la bezonatajn aldonojn. + + 4. Premu kiam la eraroj estas korektitaj por reiri al la normala + reÄimo. Ripetu la paÅojn 2 Äis 4 por korekti la frazon. + +---> Mank en ĉi linio. +---> Mankas tekston en ĉi tiu linio. + + 5. Kiam vi sentas vin komforta pri enmeto de teksto, moviÄu al la + leciono 1.5. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.5: REDAKTO DE TEKSTO - POSTALDONO + + + ** Premu A por postaldoni tekston. ** + + 1. Movu la kursoron al la unua suba linio markita per --->. + Ne gravas sur kiu signo estas la kursoro. + + 2. Premu A kaj tajpu la bezonatajn aldonojn. + + 3. Post kiam la teksto estas aldonita, premu por reiri al la normala + reÄimo. + + 4. Movu la kursoron al la dua linio markita per ---> kaj ripetu la + paÅojn 2 kaj 3 por korekti la frazon. + +---> Mankas teksto el ti + Mankas teksto el tiu linio. +---> Mankas ankaÅ­ teks + Mankas ankaÅ­ teksto ĉi tie. + + 5 Kiam vi sentas vin komforta pri postaldono de teksto, moviÄu al la + leciono 1.6 + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1.6: REDAKTI DOSIERON + + ** Uzu :wq por konservi dosieron kaj eliri. ** + + !! RIMARKO: AntaÅ­ ol plenumi iun suban paÅon ajn, legu la tutan lecionon!! + + 1. Eliru el la instruilo kiel vi faris en la leciono 1.2: :q! + + 2. Ĉe la Åelinvito, tajpu ĉi tiun komandon: vim tutor + 'vim' estas la komando por lanĉi la redaktilon Vim, 'tutor' estas la + dosiernomo de la dosiero, kiun vi volas redakti. Uzu dosieron, kiu + ÅanÄeblas. + + 3. Enmetu kaj forviÅu tekston, kiel vi lernis en la antaÅ­aj lecionoj. + + 4. Konservu la dosieron kun ÅanÄoj kaj eliru el Vim per: :qw + + 5. Relanĉu la instruilon vimtutor kaj moviÄu suben al la sekvanta resumo. + + 6. Post kiam vi legis la suprajn paÅojn, kaj komprenis ilin: faru ilin. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 1 RESUMO + + 1. La kursoro moviÄas aÅ­ per la sagoklavoj, aÅ­ per la klavoj hjkl. + h (liven) j (suben) k (supren) l (dekstren) + + 2. Por lanĉi Vim el la Åelinvito, tajpu: vim DOSIERNOMO + + 3. Por eliri el Vim, tajpu: :q! por rezigni la ÅanÄojn + + 4. Por forviÅi la signojn ĉe la pozicio de la kursoro, tajpu: x + + 5. Por enmeti aÅ­ postaldoni tekston, tajpu: + i tajpu enmetendan tekston + enmetas tekston antaÅ­ la kursoro + + A tajpu la postaldonendan tekston + postaldonas post la kursoro + +RIMARKO: Premo de iras al la normala reÄimo, aÅ­ rezignas la + nedeziratan aÅ­ parte plenumita komando. + +Nun daÅ­rigu al la leciono 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.1: KOMANDOJ DE FORVIÅœO + + + ** Tajpu dw por forviÅi vorton. ** + + 1. Premu por certigi, ke vi estas en normala reÄimo. + + 2. Movu la kursoron al la linio markita per --->. + + 3. Movu la kursoron al la komenco de vorto, kiu forviÅendas. + + 4. Tajpu dw por forviÅi la vorton. + + RIMARKO: La litero d aperos en la lasta linio sur la ekrano kiam vi + tajpas Äin. Vim atendas Äis kiam vi tajpas w . Se vi vidas + alian signon ol d vi tajpis ion mise; premu kaj + rekomencu. + +---> Estas iuj vortoj kiuj Zamenhof ne devus esti akuzativo en ĉi tiu frazo. + + 5. Ripetu paÅojn 3 kaj 4 Äis kiam la frazo estas Äusta kaj moviÄu al la + leciono 2.2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.2: PLIAJ KOMANDOJ DE FORVIÅœO + + ** Tajpu d$ por forviÅi la finon de la linio. ** + + 1. Premu por certigi, ke vi estas en normala reÄimo. + + 2. Movu la kursoron sur la suban linion markita per --->. + + 3. Movu la kursoron ĉe la fino de la Äusta linio (POST la unua . ). + + 4. Tajpu d$ por forivÅi Äis la fino de la linio. + +---> Iu tajpis la finon de ĉi tiu linio dufoje. fino de ĉi tiu linio dufoje. + + + 5. MoviÄu al la leciono 2.3 por kompreni kio okazas. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.3: PRI OPERATOROJ KAJ MOVOJ + + + Multaj komandoj, kiuj ÅanÄas la tekston, estas faritaj de operatoro kaj + movo. La formato de komando de forviÅo per la operatoro de forviÅo d + estas kiel sekvas: + + d movo + + Kie: + d - estas la operatoro de movo + movo - estas tio, pri kio la operatoro operacios (listigita sube) + + Mallonga listo de movoj: + w - Äis la komenco de la sekvanta vorto, krom Äian unuan signon. + e - Äis la fino de la nuna vorto, krom la lasta signo. + $ - Äis la fino de la linio, krom la lasta signo. + + Do tajpo de 'de' forviÅos ekde la kursoro Äis la fino de la vorto. + +RIMARKO: Premo de nur la movo en Normala reÄimo sen operatoro movos + la kursoron kiel specifite. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.4: UZI NOMBRON POR MOVO + + ** Tajpo de nombro antaÅ­ movo ripetas Äin laÅ­foje. ** + + 1. Movu la kursoron ĉe la komenco de la suba linio markita per --->. + + 2. Tajpu 2w por movi la kursoron je du vortoj antaÅ­en. + + 3. Tajpu 3e por movi la kursoron ĉe la fino de la tria vorto antaÅ­en. + + 4. Tajpu 0 (nul) por moviÄi ĉe la komenco de la linio. + + + 5. Ripetu paÅojn 2 Äis 3 kun malsamaj nombroj. + +---> Tio estas nur linio kun vortoj, kie vi povas moviÄi. + + 6. MoviÄu al la leciono 2.5. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.5: UZI NOMBRON POR FORVIÅœI PLI + + ** Tajpo de nombro kun operatoro ripetas Äin laÅ­foje. ** + + En la kombinaĵo de la operatoro de forviÅo, kaj movo kiel menciita + ĉi-supre, eblas aldoni nombron antaÅ­ la movo por pli forviÅi: + d nombro movo + + 1. Movu la kursoron ĉe la unua MAJUSKLA vorto en la linio markita per --->. + + 2. Tajpu d2w por forviÅi la du MAJUSKLAJN vortojn + + 3. Ripetu paÅojn 1 Äis 2 per malsama nombro por forviÅi la sinsekvajn + MAJUSKLAJN vortojn per unu komando + +---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.6: OPERACII SUR LINIOJ + + ** Tajpu dd por forviÅi tutan linion. ** + + Pro la ofteco de forviÅo de tuta linio, la verkisto de Vi decidis, ke + estus pli facile simple tajpi du d-ojn por forviÅi linion. + + 1. Movu la kursoron sur la duan linion en la suba frazo. + 2. Tajpu dd por forviÅi la linion. + 3. Nun moviÄu al la kvara linio. + 4. Tajpu 2dd por forviÅi du liniojn. + +---> 1) Rozoj estas ruÄaj, +---> 2) Åœlimo estas amuza, +---> 3) Violoj estas bluaj, +---> 4) Mi havas aÅ­ton, +---> 5) HorloÄoj diras kioma horo estas, +---> 6) Sukero estas dolĉa, +---> 7) Kaj tiel vi estas. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2.7: LA KOMANDO DE MALFARO + + ** Premu u por malfari la lastajn komandojn, U por ripari la tutan linion. ** + + 1. Movu la kursoron ĉe la suba linio markita per ---> kaj metu Äin sur + la unuan eraron. + 2. Tajpu x por forviÅi la unuan nedeziratan signon. + 3. Nun tajpu u por malfari la lastan plenumitan komandon. + 4. Ĉi-foje, riparu ĉiujn erarojn en la linio kaj Äia originala stato. + 5. Nun tajpu majusklan U por igi la linion al Äia antaÅ­a stato. + 6. Nun tajpu u kelkfoje por malfari la U kaj antaÅ­ajn komandojn. + 7. Nun tajpu CTRL-R (premante la CTRL klavon dum vi premas R) kelkfoje + por refari la komandojn (malfari la malfarojn). + +---> Koorektii la erarojn sur tiuu ĉi liniio kaj remettu illlin per malfaro. + + 8. Tiuj estas tre utilaj komandoj. Nun moviÄu al la leciono 2 RESUMO. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 2 RESUMO + + 1. Por forviÅi ekde la kursoro Äis la sekvanta vorto, tajpu: dw + 2. Por forviÅi ekde la kursoro Äis la fino de la linio, tajpu: d$ + 3. Por forviÅi tutan linion, tajpu: dd + + 4. Por ripeti movon, antaÅ­metu nombron: 2w + 5. La formato de ÅanÄa komando estas: + operatoro [nombro] movo + + kie: + operatoro - estas tio, kio farendas, kiel d por forviÅi + [nombro] - estas opcia nombro por ripeti la movon + movo - movas sur la teksto por operacii, kiel ekzemple w (vorto), + $ (Äis fino de linio), ktp. + + 6. Por moviÄi al la komenco de la linio, uzu nul: 0 + + 7. Por malfari antaÅ­ajn agojn, tajpu: u (minuskla u) + Por malfari ĉiujn ÅanÄojn sur la linio, tajpu: U (majuskla U) + Por refari la malfarojn, tajpu: CTRL-R + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.1 LA KOMANDO DE METO + + ** Tajpu p por meti tekston forviÅitan antaÅ­e post la kursoro. ** + + 1. Movu la kursoron ĉe la unua ---> suba linio. + + 2. Tajpu dd por forviÅi la linion kaj konservi Äin ene de reÄistro de Vim. + + 3. Movu la kursoron ĉe la linio c), SUPER kie la forviÅita linio devus esti. + + 4. Tajpu p por meti la linion sub la kursoron. + + 5. Ripetu la paÅojn 2 Äis 4 por meti ĉiujn liniojn en la Äusta ordo. + +---> d) Ĉu ankaÅ­ vi povas lerni? +---> b) Violoj estas bluaj, +---> c) Inteligenteco lerneblas, +---> a) Rozoj estas ruÄaj, + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.2 LA KOMANDO DE ANSTATAŬIGO + + ** Tajpu rx por anstataÅ­igi la signon ĉe la kursoro per x . ** + + + 1. Movu la kursoron ĉe la unua suba linio markita per --->. + + 2. Movu la kursoron Äis la unua eraro. + + 3. Tajpu r kaj la signon, kiu devus esti tie. + + 4. Ripetu paÅojn 2 kaj 3 Äis kiam la unua linio egalas la duan. + +---> Kiem tiu lanio estis tajpita, iu pramis la naÄuftajn klovojn! +---> Kiam tiu linio estis tajpita, iu premis la neÄustajn klavojn! + + 5. Nun moviÄu al la leciono 3.3. + +Rimarko: Memoru, ke vi devus lerni per uzo, kaj ne per memorado. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.3 LA OPERATORO DE ÅœANÄœO + + ** Por ÅanÄi Äis la fino de la vorto, tajpu ce . ** + + 1. Movu la kursoron ĉe la unua suba linio markita per --->. + + 2. Metu la kursoron sur la d en lduzw + + 3. Tajpu ce kaj la Äustan vorton (en tiu ĉi kazo, tajpu inio ). + + 4. Premu kaj moviÄu al la sekvanta signo, kiu bezonas ÅanÄon. + + 5. Ripetu la paÅojn 3 kaj 4 Äis kiam la unua frazo egalas la duan. + +---> Tiu lduzw havas kelkajn vortojn, kiii bezas ÅanÄon per la ÅanÄooto. +---> Tiu linio havas kelkajn vortojn, kiuj bezonas ÅanÄon per la ÅanÄoperatoro. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3.4 PLIAJ ÅœANÄœOJ PER c + + ** La operatoro de ÅanÄo uzeblas kun la sama movo ol forviÅo. ** + + 1. La operatoro de ÅanÄo funkcias sammaniere kiel forviÅo. La formato estas: + + c [nombro] movo + + 2. La movoj estas samaj, kiel ekzemple w (vorto) kaj $ (fino de linio). + + 3. MoviÄu ĉe la unua suba linio markita per --->. + + 4. Movu la kursoron al la unua eraro. + + 5. Tajpu c$ kaj tajpu la reston de la linio kiel la dua kaj premu . + +---> La fino de ĉi tiu linio bezonas helpon por igi Äin same kiel la dua. +---> La fino de ĉi tiu linio bezonas korektojn per uzo de la komando c$ + +RIMARKO: Vi povas uzi la klavon RetropaÅo por korekti erarojn dum vi tajpas. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 3 RESUMO + + 1. Por remeti tekston, kiun vi ĵus forviÅis, tajpu p. Tio metas la + forviÅitan tekston POST la kursoro (se linio estis forviÅita, Äi + iros en la linion sub la kursoro). + + 2. Por anstataÅ­igi la signon sub la kursoro, tajpu r kaj tiam la signon + kion vi deziras havi tie. + + 3. La operatoro de ÅanÄo ebligas al vi ÅanÄi ekde la kursoro, Äis kie + la movo iras. Ekz. tajpu ce por ÅanÄi ekde la kursoro Äis la fino + de la vorto, c$ por ÅanÄi Äis la fino de la linio. + + 4. La formato de ÅanÄo estas: + + c [nombro] movo + +Nun daÅ­rigu al la sekvanta leciono. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.1: POZICIO DE KURSORO KAJ STATO DE DOSIERO + + ** Tajpu CTRL-G por montri vian pozicion en la dosiero kaj la dosierstaton. + Tajpu G por moviÄi al linio en la dosiero. ** + + RIMARKO: Legu la tutan lecionon antaÅ­ ol plenumi iun paÅon ajn!! + + 1. Premu la klavon Ctrl kaj premu g . Oni nomas tion CTRL-G. + MesaÄo aperos ĉe la suba parto de la paÄo kun la dosiernomo kaj la + pozicio en la dosiero. Memoru la numeron de la linio por paÅo 3. + + RIMARKO: Vi eble vidas la pozicion de la kursoro ĉe la suba dekstra + angulo de la ekrano. Tio okazas kiam la agordo 'ruler' estas + Åaltita (vidu :help 'ruler') + + 2. Premu G por moviÄi ĉe la subo de la dosiero. + Tajpu gg por moviÄi ĉe la komenco de la dosiero. + + 3. Tajpu la numeron de la linio kie vi estis kaj poste G . Tio removos + vin al la linio, kie vi estis kiam vi unue premis CTRL-G. + + 4. Se vi sentas vin komforta, plenumu paÅojn 1 Äis 3. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.2 LA KOMANDO DE SERĈO + + ** Tajpu / kaj poste frazon por serĉi la frazon. ** + + 1. En normala reÄimo, tajpu la / signon. Rimarku, ke Äi kaj la kursoro + aperas ĉe la suba parto de la ekrano kiel por la : komando. + + 2. Nun tajpu 'errarro' . + Tio estas la vorto, kion vi volas serĉi. + + 3. Por serĉi la saman frazon denove, simple tajpu n . + Por serĉi la saman frazon denove en la retrodirekto, tajpu N . + + 4. Por serĉi frazon en la retrodirekto, uzu ? anstataÅ­ / . + + 5. Por reiri tien, el kie vi venis, premu CTRL-O (Premu Ctrl kaj o + literon o). Ripetu por pli retroiri. CTRL-I iras antaÅ­en. + +---> "errarro" ne estas maniero por literumi eraro; errarro estas eraro. + +RIMARKO: Kiam la serĉo atingas la finon de la dosiero, Äi daÅ­ras ĉe la + komenco, krom se la agordo 'wrapscan' estas malÅaltita. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.3 SERĈO DE KONGRUAJ KRAMPOJ + + ** Tajpu % por trovi kongruan ), [ aÅ­ } ** + + 1. Poziciu la kursoron sur iun (, [ aÅ­ { en la linio markita per --->. + + 2. Nun tajpu la % signon. + + 3. La kursoro moviÄas al la kongrua krampo. + + 4. Tajpu % por movi la kursoron al la alia kongrua krampo. + + 5. Movu la kursoron al la alia (, ), [, ], {, } kaj observu tion, + kion % faras. + +---> Ĉi tiu ( estas testa linio kun (-oj, [-oj, ]-oj kaj {-oj, }-oj en Äi. )) + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4.4 LA KOMANDO DE ANSTATAÅ­IGO + + + ** Tajpu :s/malnova/nova/g por anstataÅ­igi 'nova' per 'malnova'. ** + + 1. Movu la kursoron al la suba linio markita per --->. + + 2. Tajpu :s/laa/la . Rimarku, ke la komando ÅanÄas nur la + unuan okazaĵon de "laa" en la linio. + + 3. Nun tajpu :s/laa/la/g . Aldono de g opcio signifas mallokan + anstataÅ­igon en la linio. Äœi ÅanÄas ĉiujn okazaĵojn de "laa" en la + linio. + +---> laa plej bona tempo por vidi florojn estas en laa printempo. + + 4. Por ÅanÄi ĉiujn okazaĵojn de iu ĉena signo inter du linioj, + tajpu :#,#s/malnova/nova/g kie #,# estas la numeroj de linioj de la + intervalo de la linioj kie la anstataÅ­igo + okazos. + Tajpu :%s/malnova/nova/g por ÅanÄi ĉiujn okazaĵojn en la tuta + dosiero. + Tajpu :s/malnova/nova/gc por trovi ĉiujn okazaĵojn en la tuta + dosiero, kun invitilo ĉu anstataÅ­igi + aÅ­ ne. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 4 RESUMO + + 1. CTRL-G vidigas vian pozicion en la dosiero kaj la staton de la dosiero. + G movas la kursoron al la fino de la dosiero. + numero G movas la kursoron al tiu numero de linio. + gg movas la kursoron al la unua linio. + + 2. Tajpo de / kaj frazon serĉas la frazon antaÅ­en. + Tajpo de ? kaj frazon serĉas la frazon malantaÅ­en. + Post serĉo, tajpu n por trovi la sekvantan okazaĵon en la sama direkto aÅ­ + N por serĉi en la mala direkto. + CTRL-O movas vin al la antaÅ­aj pozicioj, CTRL-I al la novaj pozicioj. + + 3. Tajpo de % kiam la kursoro estas sur (,),[,],{ aÅ­ } moviÄas al Äia + kongruo. + + 4. Por anstataÅ­igi 'nova' en la unua 'malnova' en linio :s/malnova/nova + Por anstataÅ­igi 'nova' en ĉiuj 'malnova'-oj en linio :s/malnova/nova/g + Por anstataÅ­igi frazon inter du #-aj linioj :#,#s/malnova/nova/g + Por anstataÅ­igi ĉiujn okazaĵojn en la dosiero :%s/malnova/nova/g + Por demandi konfirmon ĉiu-foje, aldonu 'c' :%s/malnova/nova/gc + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.1 KIEL PLENUMI EKSTERAN KOMANDON + + ** Tajpu :! sekvata de ekstera komando por plenumi la komandon. ** + + 1. Tajpu la konatan komandon : por pozicii la kursoron ĉe la suba parto + de la ekrano. Tio ebligas tajpadon de komando en komanda linio. + + 2. Nun tajpu la ! (krisigno) signon. Tio ebligas al vi plenumi iun + eksteran Åelan komandon ajn. + + 3. Ekzemple, tajpu ls post ! kaj tajpu . Tio listigos la + enhavon de la dosierujo, same kiel se vi estis en Åela invito. + AÅ­ uzu :!dir se ls ne funkcias. + +RIMARKO: Eblas plenumi iun eksteran komandon ajn tiamaniere, ankaÅ­ kun + argumentoj. + +RIMARKO: Ĉiuj : komandoj devas finiÄi per tajpo de + Ekde nun, ni ne plu mencios tion. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.2 PLI PRI KONSERVO DE DOSIERO + + ** Por konservi la faritajn ÅanÄojn en la teksto, tajpu :w DOSIERNOMO. ** + + 1. Tajpu !dir aÅ­ !ls por akiri liston de via dosierujo. + Vi jam scias, ke vi devas tajpi post tio. + + 2. Elektu dosieron, kiu ne jam ekzistas, kiel ekzemple TESTO. + + 3. Nun tajpu: :w TESTO (kie TESTO estas la elektita dosiernomo) + + 4. Tio konservas la tutan dosieron (instruilo de Vim) per la nomo TESTO. + Por kontroli tion, tajpu :!dir aÅ­ !ls denove por vidigi vian + dosierujon. + +RIMARKO: Se vi volus eliri el Vim kaj restartigi Äin denove per vim TESTO, + la dosiero estus precize same kiel kopio de la instruilo kiam vi + konservis Äin. + + 5. Nun forviÅu la dosieron tajpante (MS-DOS): :!del TESTO + aÅ­ (UNIKSO): :!rm TESTO + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.3 APARTIGI KONSERVENDAN TESTON + + ** Por konservi parton de la dosiero, tajpu v movo :w DOSIERNOMO ** + + 1. Movu la kursoron al tiu linio. + + 2. Premu v kaj movu la kursoron al la kvina suba ero. Rimarku, ke la + teksto emfaziÄas. + + 3. Premu la : signon. Ĉe la fino de la ekrano :'<,'> aperos. + + 4. Tajpu w TESTO , kie TESTO estas dosiernomo, kiu ne jam ekzistas. + Kontrolu, ke vi vidas :'<,'>w TESTO antaÅ­ premi . + + 5. Vim konservos la apartigitajn liniojn al la dosiero TESTO. Uzu :dir + aÅ­ :!ls por vidigi Äin. Ne jam forviÅu Äin. Ni uzos Äin en la + sekvanta leciono. + +RIMARKO: PREMO DE v komencas Viduman apartigon. Vi povas movi la kursoron + por pligrandigi aÅ­ malpligrandigi la apartigon. Tiam vi povas uzi + operatoron por plenumi ion kun la teksto. Ekzemple, d forviÅas + la tekston. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5.4 AKIRI KAJ KUNFANDI DOSIEROJN + + + ** Por enmeti la enhavon de dosiero, tajpu :r DOSIERNOMON ** + + 1. Movu la kursoron ĵus super ĉi tiu linio. + +RIMARKO: Post plenumo de paÅo 2, vi vidos tekston el la leciono 5.3. Tiam + moviÄu SUBEN por vidi tiun lecionon denove. + + 2. Nun akiru vian dosieron TESTO uzante la komandon :r TESTO kie TESTO + estas la nomo de la dosiero, kiun vi uzis. + La dosiero, kion vi akiras, estas metita sub la linio de la kursoro. + + 3. Por kontroli, ĉu la dosiero akiriÄis, retromovu la kursoron kaj rimarku, + ke estas nun du kopioj de la leciono 5.3, la originala kaj la versio mem + de la dosiero. + +RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple, + :r !ls legas la eliron de la komando ls kaj metas Äin sub la + kursoron. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 5 RESUMO + + + 1. :!komando plenumas eksteran komandon. + + Iuj utilaj ekzemploj estas: + (MS-DOS) (UNIKSO) + :!dir :!ls - listigas dosierujon + :!del DOSIERNOMO :!rm DOSIERNOMO - forviÅas la dosieron DOSIERNOMO + + 2. :w DOSIERNOMO konservas la nunan dosieron de Vim al disko kun la + nomo DOSIERNOMO. + + 3. v movo :w DOSIERNOMO konservas la Viduman apartigo de linioj en + dosiero DOSIERNOMO. + + 4. :r DOSIERNOMO akiras la dosieron DOSIERNOMO el la disko kaj metas + Äin sub la pozicion de la kursoro. + + 5. :r !dir legas la eligon de la komando dir kaj metas Äin sub la + pozicion de la kursoro. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.1 LA KOMANDO DE MALFERMO + + + ** Tajpu o por malfermi linion sub la kursoro kaj eniri Enmetan reÄimon. ** + + 1. Movu la kursoron al la suba linio markita per --->. + + 2. Tajpu la minusklan literon o por malfermi linion SUB la kursoro kaj + eniri la Enmetan reÄimon. + + 3. Nun tajpu tekston kaj premu por eliri la Enmetan reÄimon. + +---> Post tajpo de o la kursoro moviÄas al la malfermata linio en + Enmeta reÄimo. + + 4. Por malfermi linion SUPER la kursoro, nur tajpu majusklan O , + anstataÅ­ minusklan o. Provu tion per la suba linio. + +---> Malfermu linion SUPER tiu tajpante O dum la kursoro estas sur tiu linio. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.2 LA KOMANDO DE POSTALDONO + + + ** Tajpu a por enmeti POST la kursoro. ** + + 1. Movu la kursoron ĉe la komenco de la linio markita per --->. + + 2. Premu e Äis kiam la kursoro estas ĉe la fino de li. + + 3. Tajpu a (minuskle) por aldoni tekston POST la kursoro. + + 4. Kompletigu la vorton same kiel la linio sub Äi. Premu por + eliri la Enmetan reÄimon. + + 5. Uzu e por moviÄi al la sekvanta nekompleta vorto kaj ripetu + paÅojn 3 kaj 4. + +---> Ĉi tiu lin ebligos vin ekz vin postal tekston al linio. +---> Ĉi tiu linio ebligos vin ekzerci vin postaldoni tekston al linio. + +RIMARKO: Ĉiu a, i kaj A iras al la sama Enmeta reÄimo, la nura malsamo + estas tie, kie la signoj estas enmetitaj. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.3 ALIA MANIERO POR ANSTATAŬIGI + + + ** Tajpu majusklan R por anstataÅ­igi pli ol unu signo. ** + + 1. Movu la kursoron al la unua suba linio markita per --->. Movu la + kursoron al la komenco de la unua xxx . + + 2. Nun premu R kaj tajpu la nombron sub Äi en la dua linio, por ke Äi + anstataÅ­igu la xxx . + + 3. Premu por foriri la AnstataÅ­igan reÄimon. Rimarku, ke la cetera + parto de la linio restas neÅanÄata. + + 4. Ripetu la paÅojn por anstataÅ­igi la restantajn xxx. + +---> Aldono de 123 al xxx donas al vi xxx. +---> Aldono de 123 al 456 donas al vi 579. + +RIMARKO: AnstataÅ­iga reÄimo estas same kiel Enmeta reÄimo, sed ĉiu signo + tajpita forviÅas ekzistan signon. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.4 KOPII KAJ ALGLUI TEKSTON + + + ** Uzu la y operatoron por kopii tekston, kaj p por alglui Äin ** + + + 1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)". + + 2. Komencu la Viduman reÄimon per v kaj movu la kursoron ĵus antaÅ­ "unua". + + 3. Tajpu y por kopii la emfazitan tekston. + + 4. Movu la kursoron ĉe la fino de la linio: j$ + + 5. Tajpu p por alglui la tekston. Tiam tajpu: a dua . + + 6. Uzu Viduman reÄimon por apartigi " ero.", kopiu Äin per y , moviÄu + ĉe la fino de la sekvanta linio per j$ kaj algluu la tekston tie + per p . + +---> a) tio estas la unua ero. + b) + +RIMARKO: vi povas ankaÅ­ uzi y kiel operatoro; yw kopias unu vorton. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6.5 AGORDI OPCION + + ** Agordu opcion por ke serĉo aÅ­ anstataÅ­go ignoru usklecon ** + + 1. Serĉu 'ignori' per tajpo de /ignori + Ripetu plurfoje premante n . + + 2. Åœaltu la opcion 'ic' (ignori usklecon) per: :set ic + + 3. Nun serĉu 'ignori' denove premante n + Rimarku, ke Ignori kaj IGNORI estas nun troveblas. + + 4. Åœaltu la opciojn 'hlsearch' kaj 'incsearch': :set hls is + + 5. Nun retajpu la serĉan komandon kaj vidu kio okazas: /ignore + + 6. Por malÅalti ignoron de uskleco: :set noic + +RIMARKO: Por forigi emfazon de kongruo, tajpu: :nohlsearch +RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu \c + en la frazo: /ignore\c + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 6 RESUMO + + 1. Tajpu o por malfermi linion SUB la kursoro kaj eki en Enmeta reÄimo. + 1. Tajpu O por malfermi linion SUPER la kursoro. + + 2. Tajpu a por enmeti tekston POST la kursoro. + Tajpu A por enmeti tekston post la fino de la linio. + + 3. La e komando movas la kursoron al la fino de vorto. + + 4. la y operatoro kopias tekston, p algluas Äin. + + 5. Tajpo de majuskla R eniras la AnstataÅ­igan reÄimon Äis kiam + estas premita. + + 6. Tajpo de ":set xxx" Åaltas la opcion "xxx". Iuj opcioj estas: + 'ic' 'ignorecase' ignori usklecon dum serĉo + 'is' 'incsearch' montru partan kongruon dum serĉo + 'hls' 'hlsearch' emfazas ĉiujn kongruajn frazojn + Vi povas uzi aÅ­ la longan, aÅ­ la mallongan nomon de opcio. + + 7. AntaÅ­aldonu "no" por malÅalti la opcion: :set noic + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7.1 AKIRI HELPON + + ** Uzu la helpan sistemon ** + + Vim havas ampleksan helpan sistemon. Por komenciÄi, provu unu el la tiuj + tri: + - premu la klavon (se vi havas Äin) + - premu la klavon (se vi havas Äin) + - tajpu :help + + Legu la tekston en la helpfenestro por trovi kiel helpo funkcias. + Tajpu CTRL-W CTRL-W por salti de unu fenestro al la alia. + Tajpu :q por fermi la helpan fenestron. + + Vi povas trovi helpon pri io ajn aldonante argumenton al la komando + ":help". Provu tiujn (ne forgesu premi ): + + :help w + :help c_CTRL-D + :help insert-index + :help user-manual + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7.2 KREI STARTAN SKRIPTON + + ** Ebligu eblecojn de Vim ** + + Vim havas multe pli da eblecoj ol Vi, sed la plej multaj estas defaÅ­lte + malÅaltitaj. Por ekuzi la eblecojn, vi devas krei dosieron "vimrc. + + 1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo: + :e ~/.vimrc por Unikso + :e $VIM/_vimrc por MS-Vindozo + + 2. Nun legu la enhavon de la ekzempla "vimrc" + :r $VIMRUNTIME/vimrc_example.vim + + 3. Konservu la dosieron per: + :w + + La sekvanta fojo, kiam vi lanĉas Vim, Äi uzos sintaksan emfazon. + Vi povas aldoni ĉiujn viajn preferatajn agordojn al tiu dosiero "vimrc". + Por pli da informoj, tajpu :help vimrc-intro + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7.3 KOMPLETIGO + + ** Kompletigo de komanda linio per CTRL-D kaj ** + + 1. Certigu ke Vim estas en kongrua reÄimo: :set nocp + + 2. Rigardu tiujn dosierojn, kiuj ekzistas en la dosierujo: :!ls aÅ­ :!dir + + 3. Tajpu la komencon de komando: :e + + 4. Premu CTRL-D kaj Vim montros liston de komandoj, kiuj komencas per "e". + + 5. Premu kaj Vim kompletigos la nomon de la komando al ":edit". + + 6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI + + 7. Premu . Vim kompletigos la nomon (se Äi estas unika) + +RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj + . Estas aparte utila por :help . + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Leciono 7 RESUMO + + + 1. Tajpu :help aÅ­ premu aÅ­ por malfermi helpan fenestron. + + 2. Tajpu :help kmd por trovi helpon pri kmd. + + 3. Tajpu CTRL-W CTRL-W por salti al alia fenestro. + + 4. Tajpu :q to fermi la helpan fenestron. + + 5. Kreu komencan skripton vimrc por konservi viajn agordojn. + + 6. Kiam vi tajpas : komandon, premu CTRL-D por vidi ĉiujn kompleteblojn. + Premu por uzi unu kompletigon. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Tio konkludas la instruilon de Vim. Äœi celis doni mallongan superrigardon + de la redaktilo Vim, nur tio kio sufiĉas por ebligi al vi facilan uzon de + la redaktilo. Estas nepre nekompleta, ĉar Vim havas multajn multajn pliajn + komandojn. Legu la manlibron: ":help user-manual". + + Tiu instruilo estis verkita de Michael C. Pierce kaj Robert K. Ware, + el la Koloradia Lernejo de Minejoj (Colorado School of Mines) uzante + ideojn provizitajn de Charles Smith el la Stata Universitato de Koloradio + (Colorado State University) + + RetpoÅto: bware@mines.colorado.edu. + + Modifita por Vim de Bram Moolenaar. + + Tradukita en Esperanto de Dominique Pellé, 2008-04-01 + RetpoÅto: dominique.pelle@gmail.com + Lasta ÅanÄo: 2008-04-02 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.es.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.es.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -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 + 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 (para asegurarse de que está en modo Normal). + + 2. Escriba: :q! + +---> Esto provoca la salida del editor SIN guardar ningún cambio que se haya + hecho. Si quiere guardar los cambios y salir escriba: + :wq + + 3. Cuando vea el símbolo del sistema, escriba el mandato que le trajo a este + tutor. Éste puede haber sido: vimtutor + Normalmente se usaría: vim tutor + +---> '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 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 + + 3. Para salir de Vim escriba: :q! 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 + +NOTA: Pulsando 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 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 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 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 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 . + +---> 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 . 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/ . 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 . 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 . + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 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 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, + , 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 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 . + + 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 (si dispone de ella) + - pulse la tecla (si dispone de ella) + - escriba :help + + Escriba :q 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 + :help c_ + :help insert-index + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.fr.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.fr.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,809 @@ +=============================================================================== += 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! + +---> Ceci quitte l'éditeur SANS sauver les changements que vous avez faits. + Si vous voulez enregistrer les changements et sortir, tapez: + :wq + + 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 + Normalement, vous utiliseriez: vim tutor + +---> '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 + + 3. Pour quitter Vim tapez: <Échap> :q! pour perdre tous les + changements. + OU tapez: <Échap> :wq 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' . 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 . 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 . 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 . + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 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 (si vous en avez une) + - appuyez la touche (si vous en avez une) + - tapez :help + + Tapez :q 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 ): + + :help w + :help c_ 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 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 tipku (Vim je sada u Normal modu). + + 2. Otipkajte: :q! . + Izlaz iz editora, GUBE se sve napravljene promjene. + + 3. Kada se pojavi ljuska, utipkajte naredbu koja je pokrenula + ovaj priruènik: vimtutor + + 4. Ako ste upamtili ove korake, izvr¹ite ih redom od 1 do 3 + kako bi ponovno pokrenuli editor. + +NAPOMENA: :q! 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 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 + 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 + '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 + + 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 + + 3. Izlaz: :q! sve promjene su izgubljene. + ILI: :wq promjene su saèuvane. + + 4. Brisanje znaka na kojem se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i utipkajte tekst unos ispred kursora + A utipkajte tekst dodavanje na kraju linije + +NAPOMENA: Tipkanjem tipke 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 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 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 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 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 . + +---> 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' . 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è . 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 . + 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 + 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 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 . + + 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 + 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 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 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 . + + 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 + 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 + + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 . + + 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 tipku (ako je va¹a tipkovnica ima) + - pritisnite tipku (ako je va¹a tipkovnica ima) + - utipkajte :help + + 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 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 ): + + :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 ** + + 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 i Vim æe dopuniti unos u naredbu ":edit". + + 6. Dodajte razmak i poèetak datoteke: :edit FIL + + 7. Pritisnite . Vim æe nadopuniti ime datoteke (ako je jedinstveno). + +NAPOMENA: Moguæe je dopuniti mnoge naredbe. Koristite CTRL-D i . + Naroèito je korisno za :help naredbe. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7 SA®ETAK + + + 1. Otipkajte :help ili pritisnite ili 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 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 + Preinaka 1.42, Lipanj 2008 + + diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.hr.cp1250 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.hr.cp1250 Wed Aug 13 17:36:09 2008 +0900 @@ -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 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 tipku (Vim je sada u Normal modu). + + 2. Otipkajte: :q! . + Izlaz iz editora, GUBE se sve napravljene promjene. + + 3. Kada se pojavi ljuska, utipkajte naredbu koja je pokrenula + ovaj priruènik: vimtutor + + 4. Ako ste upamtili ove korake, izvršite ih redom od 1 do 3 + kako bi ponovno pokrenuli editor. + +NAPOMENA: :q! 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 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 + 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 + '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 + + 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 + + 3. Izlaz: :q! sve promjene su izgubljene. + ILI: :wq promjene su saèuvane. + + 4. Brisanje znaka na kojem se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i utipkajte tekst unos ispred kursora + A utipkajte tekst dodavanje na kraju linije + +NAPOMENA: Tipkanjem tipke 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 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 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 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 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 . + +---> 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' . 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è . 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 . + 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 + 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 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 . + + 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 + 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 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 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 . + + 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 + 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 + + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 . + + 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 tipku (ako je vaša tipkovnica ima) + - pritisnite tipku (ako je vaša tipkovnica ima) + - utipkajte :help + + 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 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 ): + + :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 ** + + 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 i Vim æe dopuniti unos u naredbu ":edit". + + 6. Dodajte razmak i poèetak datoteke: :edit FIL + + 7. Pritisnite . Vim æe nadopuniti ime datoteke (ako je jedinstveno). + +NAPOMENA: Moguæe je dopuniti mnoge naredbe. Koristite CTRL-D i . + Naroèito je korisno za :help naredbe. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7 SAŽETAK + + + 1. Otipkajte :help ili pritisnite ili 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 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 + Preinaka 1.42, Lipanj 2008 + + diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.hr.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.hr.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -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 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 tipku (Vim je sada u Normal modu). + + 2. Otipkajte: :q! . + Izlaz iz editora, GUBE se sve napravljene promjene. + + 3. Kada se pojavi ljuska, utipkajte naredbu koja je pokrenula + ovaj priruÄnik: vimtutor + + 4. Ako ste upamtili ove korake, izvrÅ¡ite ih redom od 1 do 3 + kako bi ponovno pokrenuli editor. + +NAPOMENA: :q! 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 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 + 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 + '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 + + 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 + + 3. Izlaz: :q! sve promjene su izgubljene. + ILI: :wq promjene su saÄuvane. + + 4. Brisanje znaka na kojem se nalazi kursor: x + + 5. Ubacivanja ili dodavanje teksta: + i utipkajte tekst unos ispred kursora + A utipkajte tekst dodavanje na kraju linije + +NAPOMENA: Tipkanjem tipke 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 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 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 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 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 . + +---> 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' . 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Ä . 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 . + 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 + 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 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 . + + 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 + 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 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 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 . + + 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 + 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 + + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 . + + 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 tipku (ako je vaÅ¡a tipkovnica ima) + - pritisnite tipku (ako je vaÅ¡a tipkovnica ima) + - utipkajte :help + + 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 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 ): + + :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 ** + + 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 i Vim će dopuniti unos u naredbu ":edit". + + 6. Dodajte razmak i poÄetak datoteke: :edit FIL + + 7. Pritisnite . Vim će nadopuniti ime datoteke (ako je jedinstveno). + +NAPOMENA: Moguće je dopuniti mnoge naredbe. Koristite CTRL-D i . + NaroÄito je korisno za :help naredbe. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lekcija 7 SAŽETAK + + + 1. Otipkajte :help ili pritisnite ili 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 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 + Preinaka 1.42, Lipanj 2008 + + diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.hu.cp1250 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.hu.cp1250 Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,823 @@ +=============================================================================== += Ü 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 -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 gombot (hogy biztosan normál módban legyen). + + 2. Írja: :q! . + +---> 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 + + 3. Amikor a shell promptot látja, írja be a parancsot, amely ebbe a + tutorba hozza: + Ez valószínûleg: vimtutor + Normális esetben ezt írná: vim tutor.hu + +---> '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 -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 + + 3. A Vimbõl így léphet ki: :q! a változtatások eldobásával. + vagy így: :wq 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 + +MEGJ: Az 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 -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 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 -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. 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 -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' ! 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 . 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 -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 -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 -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 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 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 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 gombot (ha van ilyen) + - nyomja meg az gombot (ha van ilyen) + - írja be: :help + + :q 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 (-t ne felejtsük): + + :help w + :help c_ 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 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 (per assicurarti di essere in Modalità Normale). + + 2. Batti: :q! . + 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 + + 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! 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 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 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 + '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 + + 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 + + 3. Per uscire da Vim batti: :q! per uscire senza salvare. + oppure batti: :wq 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 inserisci prima del cursore + A batti testo aggiunto aggiungi a fine linea + +NOTA: premendo 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 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 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 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 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 + +---> 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' . 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 . 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 . 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 + 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 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 . + + 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 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 + 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 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 . + + 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 + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 . + + 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 (se ce n'è uno) + - premi il tasto (se ce n'è uno) + - batti :help OPPURE :h + + 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 per chiudere la finestra di aiuto. + + Puoi trovare aiuto su quasi tutto, dando un argomento al comando ":help" + Prova questi (non dimenticare di premere ): + + :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 ** + + 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 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 . Vim completerà il nome del file (se è il solo possibile). + +NOTA: Il completamento è disponibile per molti comandi. Prova a battere + CTRL-D e . Particolarmente utile per :help . + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lezione 7 Sommario + + + 1. Batti :help o premi o 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 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.no.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.no.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,973 @@ +=============================================================================== += 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 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 -tasten (for Ã¥ forsikre deg om at du er i normalmodus). + + 2. Skriv: :q! . + 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 + + 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! 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 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 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 + «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 + + 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 + + 3. For Ã¥ avslutte Vim, skriv: :q! for Ã¥ forkaste endringer. + ELLER skriv: :wq 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 sett inn før markøren + A skriv tillagt tekst legg til pÃ¥ slutten av linjen + +MERK: NÃ¥r du trykker 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 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 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 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 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 . + +---> 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 . 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/ . 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 . 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 . 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 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 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 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 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 . + + 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 + 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 + + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 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 + + 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 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 ): + + :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 ** + + 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 og Vim vil fullføre kommandonavnet til «:edit». + + 6. Legg til et mellomrom og starten pÃ¥ et eksisterende filnavn: :edit FIL + + 7. Trykk . Vim vil fullføre navnet (hvis det er unikt). + +MERK: Fullføring fungerer for mange kommandoer. Prøv ved Ã¥ trykke CTRL-D og + . Det er spesielt nyttig for bruk sammen med :help . +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + OPPSUMMERING AV LEKSJON 7 + + + 1. Skriv :help eller trykk eller 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 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.sv.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.sv.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,830 @@ +=============================================================================== += 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 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 -tangenten (för att se till att du är i Normal-läge). + + 2. Skriv: :q! . + +---> Detta avslutar redigeraren UTAN att spara nÃ¥gra ändringar du gjort. + Om du vill spara ändringarna och avsluta skriv: + :wq + + 3. När du ser skal-prompten, skriv kommandot som tog dig in i den här + handledningen. Det kan vara: vimtutor + Normalt vill du använda: vim tutor + +---> '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 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 + + 3. För att avsluta Vim skriv: :q! för att kasta ändringar. + ELLER skriv: :wq 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 + +NOTERA: Genom att trycka 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 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 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 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 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 + . + +---> 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" . 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 . 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 . 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Ã¥ + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 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 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, , 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 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 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 tangenten (om du har nÃ¥gon) + - tryck tangenten (om du har nÃ¥gon) + - skriv :help + + Skriv :q 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 ): + + :help w + :help c_ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -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 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 key (to make sure you are in Normal mode). + + 2. Type: :q! . + 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 + + 4. If you have these steps memorized and are confident, execute steps + 1 through 3 to exit and re-enter the editor. + +NOTE: :q! 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 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 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 + '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 + + 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 + + 3. To exit Vim type: :q! to trash all changes. + OR type: :wq 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 insert before the cursor + A type appended text append after the line + +NOTE: Pressing 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 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 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 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 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 . + +---> 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' . 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 . 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 . 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 + 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 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 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 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 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 . + + 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 + 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 + + 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 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 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 key (if you have one) + - press the key (if you have one) + - type :help + + 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 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 ): + + :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 ** + + 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 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 . Vim will complete the name (if it is unique). + +NOTE: Completion works for many commands. Just try pressing CTRL-D and + . It is especially useful for :help . + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 7 SUMMARY + + + 1. Type :help or press or 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 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 -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.vi.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.vi.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,812 @@ +=============================================================================== += Xin chào mừng bạn đến vá»›i HÆ°á»›ng dẫn dùng Vim - Phiên bản 1.5 = +=============================================================================== + Vim là má»™t trình soạn thảo rất mạnh. Vim có rất nhiá»u câu lệnh, + chính vì thế không thể trình bày hết được trong cuốn hÆ°á»›ng dẫn này. + Cuốn hÆ°á»›ng dẫn chỉ Ä‘Æ°a ra những câu lệnh để giúp bạn sá»­ dụng Vim + được dá»… dàng hÆ¡n. Äây cÅ©ng chính là mục Ä‘ich của sách + + Cần khoảng 25-30 phút để hoàn thành bài há»c, phụ thuá»™c vào thá»i + gian thá»±c hành. + + Các câu lệnh trong bài há»c sẽ thay đổi văn bản này. Vì thế hãy tạo + má»™t bản sao của tập tin này để thá»±c hành (nếu bạn dùng "vimtutor" + thì đây đã là bản sao). + + Hãy nhá»› rằng hÆ°á»›ng dẫn này viết vá»›i nguyên tắc "há»c Ä‘i đôi vá»›i hành". + Có nghÄ©a là bạn cần chạy các câu lệnh để há»c chúng. Nếu chỉ Ä‘á»c, bạn + sẽ quên các câu lệnh! + + Bây giá», cần chắc chắn là phím Shift KHÔNG bị nhấn và hãy nhấn phím + j đủ số lần cần thiết (di chuyển con trá») để Bài 1.1 hiện ra đầy đủ + trên màn hình. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 1.1: DI CHUYỂN CON TRỎ + + + ** Äể di chuyển con trá», nhấn các phím h,j,k,l nhÆ° đã chỉ ra. ** + ^ + k Gợi ý: phím h ở phía trái và di chuyển sang trái. + < h l > phím l ở bên phải và di chuyển sang phải. + j phím j trong nhÆ° má»™t mÅ©i tên chỉ xuống + v + 1. Di chuyển con trá» quanh màn hình cho đến khi bạn quen dùng. + + 2. Nhấn và giữ phím (j) cho đến khi nó lặp lại. +---> Bây giá» bạn biết cách chuyển tá»›i bài há»c thứ hai. + + 3. Sá»­ dụng phím di chuyển xuống bài 1.2. + +Chú ý: Nếu bạn không chắc chắn vá» những gì đã gõ, hãy nhấn để chuyển vào + chế Ä‘á»™ Câu lệnh, rồi gõ lại những câu lệnh mình muốn. + +Chú ý: Các phím mÅ©i tên cÅ©ng làm việc. NhÆ°ng má»™t khi sá»­ dụng thành thạo hjkl, + bạn sẽ di chuyển con trá» nhanh hÆ¡n so vá»›i các phím mÅ©i tên. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 1.2: VÀO VÀ THOÃT VIM + + + !! CHÚ Ã: TrÆ°á»›c khi thá»±c hiện bất kỳ lệnh nào, xin hãy Ä‘á»c cả bài há»c này!! + + 1. Nhấn phím (để chắc chắn là bạn Ä‘ang ở chế Ä‘á»™ Câu lệnh). + + 2. Gõ: :q! . + +---> Lệnh này sẽ thoát trình soạn thảo mà KHÔNG ghi nhá»› bất kỳ thay đổi nào mà bạn đã làm. + Nếu bạn muốn ghi nhá»› những thay đổi đó và thoát thì hãy gõ: + :wq + + 3. Khi thấy dấu nhắc shell, hãy gõ câu lệnh đã Ä‘Æ°a bạn tá»›i hÆ°á»›ng dẫn này. Có + thể là lệnh: vimtutor vi + Thông thÆ°á»ng bạn dùng: vim tutor.vi + +---> 'vim' là trình soạn thảo vim, 'tutor.vi' là tập tin bạn muốn soạn thảo. + + 4. Nếu bạn đã nhá»› và nắm chắc những câu lệnh trên, hãy thá»±c hiện các bÆ°á»›c từ + 1 tá»›i 3 để thoát và quay vào trình soạn thảo. Sau đó di chuyển con trá» + tá»›i Bài 1.3. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 1.3: SOẠN THẢO VÄ‚N BẢN - XÓA + + +** Trong chế Ä‘á»™ Câu lệnh nhấn x để xóa ký tá»± nằm dÆ°á»›i con trá». ** + + 1. Di chuyển con trá» tá»›i dòng có dấu --->. + + 2. Äể sá»­a lá»—i, di chuyển con trỠđể nó nằm trên ký tá»± sẽ bị + xóa. + + 3. Nhấn phím x để xóa ký tá»± không mong muốn. + + 4. Lặp lại các bÆ°á»›c từ 2 tá»›i 4 để sá»­a lại câu. + +---> Emm xiinh em đứnng chá»— nào cÅ©nkg xinh. + + 5. Câu trên đã sá»­a xong, hãy chuyển tá»›i Bài 1.4. + +Chú ý: Khi há»c theo cuốn hÆ°á»›ng dẫn này đừng cố nhá»›, mà há»c từ thá»±c hành. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 1.4: SOẠN THẢO VÄ‚N BẢN - CHÈN + + + ** Trong chế Ä‘á»™ Câu lệnh nhấn i để chèn văn bản. ** + + 1. Di chuyển con trá» tá»›i dòng có dấu ---> đầu tiên. + + 2. Äể dòng thứ nhất giống hệt vá»›i dòng thứ hai, di chuyển con trá» lên ký tá»± + đầu tiên NGAY SAU chá»— muốn chèn văn bản. + + 3. Nhấn i và gõ văn bản cần thêm. + + 4. Sau má»—i lần chèn từ còn thiếu nhấn để trở lại chế dá»™ Câu lệnh. + Lặp lại các bÆ°á»›c từ 2 tá»›i 4 để sá»­a câu này. + +---> Mot lam chang nen , ba cay chum lai hon cao. +---> Mot cay lam chang nen non, ba cay chum lai nen hon nui cao. + + 5. Sau khi thấy quen vá»›i việc chèn văn bản hãy chuyển tá»›i phần tổng kết + ở dÆ°á»›i. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Tá»”NG KẾT BÀI 1 + + + 1. Con trỠđược di chuyển bởi các phím mÅ©i tên hoặc các phím hjkl. + h (trái) j (xuống) k (lên) l (phải) + + 2. Äể vào Vim (từ dấu nhắc %) gõ: vim TÊNTẬPTIN + + 3. Muốn thoát Vim gõ: :q! để vứt bá» má»i thay đổi. + HOẶC gõ: :wq để ghi nhá»› thay đổi. + + 4. Äể xóa bá» ký tá»± nằm dÆ°á»›i con trá» trong chế Ä‘á»™ Câu lệnh gõ: x + + 5. Äể chèn văn bản tại vị trí con trá» trong chế Ä‘á»™ Câu lệnh gõ: + i văn bản sẽ nhập + +CHÚ Ã: Nhấn sẽ Ä‘Æ°a bạn vào chế Ä‘á»™ Câu lệnh hoặc sẽ hủy bá» má»™t câu lệnh + hay Ä‘oạn câu lệnh không mong muốn. + +Bây giá» chúng ta tiếp tục vá»›i Bài 2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 2.1: CÃC LỆNH XÓA + + + ** Gõ dw để xóa tá»›i cuối má»™t từ. ** + + 1. Nhấn để chắc chắn là bạn Ä‘ang trong chế Ä‘á»™ Câu lệnh. + + 2. Di chuyển con trá» tá»›i dòng có dấu --->. + + 3. Di chuyển con trá» tá»›i ký tá»± đầu của từ cần xóa. + + 4. Gõ dw để làm từ đó biến mất. + + CHÚ Ã: các ký tá»± dw sẽ xuất hiện trên dòng cuối cùng của màn hình khi bạn gõ + chúng. Nếu bạn gõ nhầm, hãy nhấn và làm lại từ đầu. + +---> Khi trái tỉm tìm tim ai nhÆ° mùa đông giá lạnh lanh + Anh đâu thành cánh én nhá» trùng khÆ¡i. + + 5. Lặp lại các bÆ°á»›c cho đến khi sá»­a xong câu thÆ¡ rồi chuyển tá»›i Bài 2.2. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 2.2: CÃC CÂU LỆNH XÓA KHÃC + + + ** gõ d$ để xóa tá»›i cuối má»™t dòng. ** + + 1. Nhấn để chắc chắn là bạn Ä‘ang trong chế Ä‘á»™ Câu lệnh. + + 2. Di chuyển con trá» tá»›i dòng có dấu --->. + + 3. Di chuyển con trá» tá»›i cuối câu đúng (SAU dấu . đầu tiên). + + 4. Gõ d$ để xóa tá»›i cuối dòng. + +---> Äã qua Ä‘i những tháng năm khá» dại. thừa thãi. + + + 5. Chuyển tá»›i Bài 2.3 để hiểu cái gì Ä‘ang xảy ra. + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 2.3: CÂU LỆNH VÀ Äá»I TƯỢNG + + + Câu lệnh xóa d có dạng nhÆ° sau: + + [số] d đối_tượng HOẶC d [số] đối_tượng + Trong đó: + số - là số lần thá»±c hiện câu lệnh (không bắt buá»™c, mặc định=1). + d - là câu lệnh xóa. + đối_tượng - câu lệnh sẽ thá»±c hiện trên chúng (liệt kê phía dÆ°á»›i). + + Danh sách ngắn của đối tượng: + w - từ con trá» tá»›i cuối má»™t từ, bao gồm cả khoảng trắng. + e - từ con trá» tá»›i cuối má»™t từ, KHÔNG bao gồm khoảng trắng. + $ - từ con trá» tá»›i cuối má»™t dòng. + +CHÚ Ã: Dành cho những ngÆ°á»i ham tìm hiểu, chỉ nhấn đối tượng trong chế Ä‘á»™ Câu + lệnh mà không có câu lệnh sẽ di chuyển con trá» nhÆ° trong danh sách trên. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 2.4: TRƯỜNG HỢP NGOẠI LỆ CỦA QUY LUẬT 'CÂU LỆNH-Äá»I TƯỢNG' + + + ** Gõ dd để xóa cả má»™t dòng. ** + + NgÆ°á»i dùng thÆ°á»ng xuyên xóa cả má»™t dòng, vì thế các nhà phát triển Vi đã + quyết định dùng hai chữ d để Ä‘Æ¡n giản hóa thao tác này. + + 1. Di chuyển con trá» tá»›i dòng thứ hai trong cụm phía dÆ°á»›i. + 2. Gõ dd để xóa dòng này. + 3. Bây giá» di chuyển tá»›i dòng thứ tÆ°. + 4. Gõ 2dd (hãy nhá»› lại bá»™ ba số-câu lệnh-đối tượng) để xóa hai dòng. + + 1) Trong tim em khắc sâu bao kỉ niệm + 2) Tình yêu chân thành em dành cả cho anh + 3) Dẫu cuá»™c Ä‘á»i nhÆ° bể dâu thay đổi + 4) Anh mãi là ngá»n lá»­a ấm trong đêm + 5) Äã qua Ä‘i những tháng năm khá» dại + 7) Hãy để tá»± em lau nÆ°á»›c mắt của mình + 8) Lặng lẽ sống những đêm dài bất tận + 9) Bao khổ Ä‘au chá» tia nắng bình minh + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 2.5: CÂU LỆNH "HỦY THAO TÃC" + + + ** Nhấn u để hủy bá» những câu lệnh cuối cùng, U để sá»­a cả má»™t dòng. ** + + 1. Di chuyển con trá» tá»›i dòng có dấu ---> và đặt con trá» trên từ có lá»—i + đầu tiên + 2. Gõ x để xóa chữ cái gây ra lá»—i đầu tiên. + 3. Bây giá» gõ u để hủy bá» câu lệnh vừa thá»± hiện (xóa chữ cái). + 4. Dùng câu lệnh x để sá»­a lá»—i cả dòng này. + 5. Bây giá» gõ chữ U hoa để phục hồi trạng thái ban đầu của dòng. + 6. Bây giá» gõ u vài lần để hủy bá» câu lệnh U và các câu lệnh trÆ°á»›c. + 7. Bây giá» gõ CTRL-R (giữ phím CTRL và gõ R) và lầu để thá»±c hiện + lại các câu lệnh (hủy bá» các câu lệnh hủy bá»). + +---> Câyy ccó cá»™ii, nuÆ°á»›c csó nguuồn. + + 8. Äây là những câu lệnh rất hữu ích. Bây giá» chuyển tá»›i Tổng kết Bài 2. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Tá»”NG KẾT BÀI 2 + + + 1. Äể xóa từ con trá» tá»›i cuối má»™t từ gõ: dw + + 2. Äể xóa từ con trá» tá»›i cuối má»™t dòng gõ: d$ + + 3. Äể xóa cả má»™t dòng gõ: dd + + 4. Má»™t câu lệnh trong chế Ä‘á»™ Câu lệnh có dạng: + + [số] câu_lệnh đối_tượng HOẶC câu_lệnh [số] đối_tượng + trong đó: + số - là số lần thá»±c hiện câu lệnh (không bắt buá»™c, mặc định=1). + câu_lệnh - là những gì thá»±c hiện, ví dụ d dùng để xóa. + đối_tượng - câu lệnh sẽ thá»±c hiện trên chúng, ví dụ w (từ), + $ (tá»›i cuối má»™t dòng), v.v... + + 5. Äể hủy bá» thao tác trÆ°á»›c, gõ: u (chữ u thÆ°á»ng) + Äể hủy bá» tất cả các thao tác trên má»™t dòng, gõ: U (chữ U hoa) + Äể hủy bá» các câu lệnh hủy bá», gõ: CTRL-R + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 3.1: CÂU LỆNH DÃN + + + ** Gõ p để dán những gì vừa xóa tá»›i sau con trá». ** + + 1. Di chuyển con trá» tá»›i dòng đầu tiên trong cụm ở dÆ°á»›i. + + 2. Gõ dd để xóa và ghi lại má»™t dòng trong bá»™ nhá»› đệm của Vim. + + 3. Di chuyển con trá» tá»›i dòng Ở TRÊN chá»— cần dán. + + 4. Trong chế Ä‘á»™ Câu lệnh, gõ p để thay thế dòng. + + 5. Lặp lại các bÆ°á»›c từ 2 tá»›i 4 để đặt các dòng theo đúng thứ tá»± của chúng. + + d) Niá»m vui nhÆ° gió xÆ°a bay nhè nhẹ + b) Em vẫn mong anh sẽ đến vá»›i em + c) Äừng để em mất Ä‘i niá»m hy vá»ng đó + a) Ai sẽ giúp em vượt qua sóng gió + e) Dá»… ra Ä‘i khó giữ lại bên mình + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 3.2: CÂU LỆNH THAY THẾ + + + ** Gõ r và má»™t ký tá»± để thay thế ký tá»± nằm dÆ°á»›i con trá». ** + + 1. Di chuyển con trá» tá»›i dòng có dấu --->. + + 2. Di chuyển con trá» tá»›i ký tá»± gõ sai đầu tiên. + + 3. Gõ r và ký tá»± đúng. + + 4. Lặp lại các bÆ°á»›c từ 2 đến 4 để sá»­a cả dòng. + +---> "Trên Ä‘á»i nài làm gì có Ä‘Æ°á»mg, ngÆ°á»i to Ä‘i mãi rồi thànk Ä‘Æ°á»ng là tHôi" +---> "Trên Ä‘á»i này làm gì có Ä‘Æ°á»ng, ngÆ°á»i ta Ä‘i mãi rồi thành Ä‘Æ°á»ng mà thôi" + + 5. Bây giá» chuyển sang Bài 3.3. + +CHÚ Ã: Hãy nhá»› rằng bạn cần thá»±c hành, không nên "há»c vẹt". + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 3.3: CÂU LỆNH THAY Äá»”I + + + ** Äể thay đổi má»™t phần hay cả má»™t từ, gõ cw . ** + + 1. Di chuyển con trá» tá»›i dòng có dấu --->. + + 2. Äặt con trá» trên chữ trong. + + 3. Gõ cw và sá»­a lại từ (trong trÆ°á»ng hợp này, gõ 'ine'.) + + 4. Gõ và chuyển tá»›i lá»—i tiếp theo (chữ cái đầu tiên trong số cần thay.) + + 5. Lặp lại các bÆ°á»›c 3 và 4 cho tá»›i khi thu được dòng nhÆ° dòng thứ hai. + +---> Trên dùgn này có má»™t dầy từ cần tyays đổi, sá»­ dunk câu lệnh thay đổi. +---> Trên dong này có má»™t vai từ cần thay đổi, sá»­ dung câu lệnh thay đổi. + +Chú ý rằng cw không chỉ thay đổi từ, nhÆ°ng còn Ä‘Æ°a bạn vào chế Ä‘á»™ chèn. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 3.4: TIẾP TỤC THAY Äá»”I VỚI c + + + ** Câu lệnh thay đổi được sá»­ dụng vá»›i cùng đối tượng nhÆ° câu lệnh xóa. ** + + 1. Câu lệnh thay đổi làm việc tÆ°Æ¡ng tá»± nhÆ° câu lệnh xóa. Äịnh dạng nhÆ° sau: + + [số] c đối_tượng HOẶC c [số] đối_tượng + + 2. Äối tượng cÅ©ng giống nhÆ° ở trên, ví dụ w (từ), $ (cuối dòng), v.v... + + 3. Di chuyển con trá» tá»›i dòng có dấu --->. + + 4. Di chuyển con trá» tá»›i dòng có lá»—i đầu tiên. + + 5. Gõ c$ để sá»­a cho giống vá»›i dòng thứ hai và gõ . + +---> Doan cuoi dong nay can sua de cho giong voi dong thu hai. +---> Doan cuoi dong nay can su dung cau lenh c$ de sua. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Tá»”NG KẾT BÀI 3 + + + 1. Äể dán Ä‘oạn văn bản vừa xóa, gõ p. Câu lệnh này sẽ đặt Ä‘oạn văn bản này + PHÃA SAU con trá» (nếu má»™t dòng vừa bị xóa, dòng này sẽ được đặt vào dòng + nằm dÆ°á»›i con trá»). + + 2. Äể thay thế ký tá»± dÆ°á»›i con trá», gõ r và sau đó gõ + ký tá»± muốn thay vào. + + 3. Câu lệnh thay đổi cho phép bạn thay đổi đối tượng chỉ ra từ con + trá» tá»›i cuối đối tượng. vd. Gõ cw để thay đổi từ + con trá» tá»›i cuối má»™t từ, c$ để thay đổi tá»›i cuối má»™t dòng. + + 4. Äịnh dạng để thay đổi: + + [số] c đối_tượng HOẶC c [số] đối_tượng + +Bây giá» chúng ta tiếp tục bài há»c má»›i. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 4.1: THÔNG TIN VỀ TẬP TIN VÀ VỊ TRà TRONG TẬP TIN + + + ** Gõ CTRL-g để hiển thị vị trí của bạn trong tập tin và thông tin vá» tập tin. + Gõ SHIFT-G để chuyển tá»›i má»™t dòng trong tập tin. ** + + Chú ý: Äá»c toàn bá»™ bài há»c này trÆ°á»›c khi thá»±c hiện bất kỳ bÆ°á»›c nào!! + + 1. Giữ phím Ctrl và nhấn g . Má»™t dòng thông tin xuất hiện tại cuối trang + vá»›i tên tập tin và dòng mà bạn Ä‘ang nằm trên. Hãy nhá»› số dòng này + Cho bÆ°á»›c số 3. + + 2. Nhấn shift-G để chuyển tá»›i cuối tập tin. + + 3. Gõ số dòng mà bạn đã nằm trên và sau đó shift-G. Thao tác này sẽ Ä‘Æ°a bạn + trở lại dòng mà con trỠđã ở trÆ°á»›c khi nhấn tổ hợp Ctrl-g. + (Khi bạn gõ số, chúng sẽ KHÔNG hiển thị trên màn hình.) + + 4. Nếu bạn cảm thấy đã hiểu rõ, hãy thá»±c hiện các bÆ°á»›c từ 1 tá»›i 3. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 4.2: CÂU LỆNH TÃŒM KIẾM + + + ** Gõ / và theo sau là cụm từ muốn tìm kiếm. ** + + 1. Trong chế Ä‘á»™ Câu lệnh gõ ký tá»± / .Chú ý rằng ký tá»± này và con trá» sẽ + xuất hiện tại cuối màn hình giống nhÆ° câu lệnh : . + + 2. Bây giá» gõ 'loiiiii' . Äây là từ bạn muốn tìm. + + 3. Äể tìm kiếm cụm từ đó lần nữa, Ä‘Æ¡n giản gõ n . + Äể tìm kiếm cụm từ theo hÆ°á»›ng ngược lại, gõ Shift-N . + + 4. Nếu bạn muối tìm kiếm cụm từ theo hÆ°á»›ng ngược lại đầu tập tin, sá»­ dụng + câu lệnh ? thay cho /. + +---> "loiiiii" là những gì không đúng lắm; loiiiii thÆ°á»ng xuyên xảy ra. + +Chú ý: Khi tìm kiếm đến cuối tập tin, việc tìm kiếm sẽ tiếp tục từ đầu + tập tin này. + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 4.3: TÃŒM KIẾM CÃC DẤU NGOẶC SÃNH ÄÔI + + + ** Gõ % để tìm kiếm ),], hay } . ** + + 1. Äặt con trá» trên bất kỳ má»™t (, [, hay { nào trong dòng có dấu --->. + + 2. Bây giá» gõ ký tá»± % . + + 3. Con trá» sẽ di chuyển đến dấu ngoặc tạo cặp (dấu đóng ngoặc). + + 4. Gõ % để chuyển con trá» trở lại dấu ngoặc đầu tiên (dấu mở ngoặc). + +---> Äây là ( má»™t dòng thá»­ nghiệm vá»›i các dấu ngoặc (, [ ] và { } . )) + +Chú ý: Rất có ích khi sá»­a lá»—i chÆ°Æ¡ng trình, khi có các lá»—i thừa thiếu dấu ngoặc! + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 4.4: MỘT CÃCH SỬA Lá»–I + + + ** Gõ :s/cÅ©/má»›i/g để thay thế 'má»›i' vào 'cÅ©'. ** + + 1. Di chuyển con trá» tá»›i dòng có dấu --->. + + 2. Gõ :s/duou/ruou . Chú ý rằng câu lệnh này chỉ thay đổi từ tìm + thấy đầu tiên trên dòng (từ 'duou' đầu dòng). + + 3. Bây giá» gõ :s/duou/ruou/g để thá»±c hiện thay thế trên toàn bá»™ dòng. + Lệnh này sẽ thay thế tất cả những từ ('duou') tìm thấy trên dòng. + +---> duou ngon phai co ban hie. Khong duou cung khong hoa. + + 4. Äể thay thế thá»±c hiện trong Ä‘oạn văn bản giữa hai dòng, + gõ :#,#s/cÅ©/má»›i/g trong đó #,# là số thứ tá»± của hai dòng. + Gõ :%s/cÅ©/má»›i/g để thá»±c hiện thay thế trong toàn bá»™ tập tin. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Tá»”NG KẾT BÀI 4 + + + 1. Ctrl-g vị trí của con trá» trong tập tin và thông tin vá» tập tin. + Shift-G di chuyển con trá» tá»›i cuối tập tin. Số dòng và theo sau + là Shift-G di chuyển con trá» tá»›i dòng đó. + + 2. Gõ / và cụm từ theo sau để tìm kiếm cụm từ VỀ PHÃA TRƯỚC. + Gõ ? và cụm từ theo sau để tìm kiếm cụm từ NGƯỢC TRỞ LẠI. + Sau má»™t lần tìm kiếm gõ n để tìm kiếm cụm từ lại má»™t lần nữa theo hÆ°á»›ng + đã tìm hoặc Shift-N để tìm kiếm theo hÆ°á»›ng ngược lại. + + 3. Gõ % khi con trá» nằm trên má»™t (,),[,],{, hay } sẽ chỉ ra vị trí của + dấu ngoặc còn lại trong cặp. + + 4. Äể thay thế 'má»›i' cho 'cÅ©' đầu tiên trên dòng, gõ :s/cÅ©/má»›i + Äể thay thế 'má»›i' cho tất cả 'cÅ©' trên dòng, gõ :s/cÅ©/má»›i/g + Äể thay thế giữa hai dòng, gõ :#,#s/cÅ©/má»›i/g + Äể thay thế trong toàn bá»™ tập tin, gõ :%s/cÅ©/má»›i/g + Äể chÆ°Æ¡ng trình há»i lại trÆ°á»›c khi thay thế, thêm 'c' :%s/cÅ©/má»›i/gc + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Lesson 5.1: CÃCH THá»°C HIỆN MỘT CÂU LỆNH NGOẠI TRÚ + + + ** Gõ :! theo sau là má»™t câu lệnh ngoại trú để thá»±c hiện câu lệnh đó. ** + + 1. Gõ câu lệnh quen thuá»™c : để đặt con trá» tại cuối màn hình. + Thao tác này cho phép bạn nhập má»™t câu lệnh. + + 2. Bây giá» gõ ký tá»± ! (chấm than). Ký tá»± này cho phép bạn + thá»±c hiện bất kỳ má»™t câu lệnh shell nào. + + 3. Ví dụ gõ ls theo sau dấu ! và gõ . Lệnh này + sẽ hiển thị ná»™i dung của thÆ° mục hiện thá»i, hoặc sá»­ dụng + lệnh :!dir nếu ls không làm việc. + +Chú ý: Có thể thá»±c hiện bất kỳ câu lệnh ngoại trú nào theo cách này. + +Chú ý: Tất cả các câu lệnh : cần kết thúc bởi phím + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 5.2: GHI LẠI CÃC TẬP TIN + + + ** Äể ghi lại các thay đổi, gõ :w TÊNTỆPTIN. ** + + 1. Gõ :!dir hoặc :!ls để lấy bảng liệt kê thÆ° mục hiện thá»i. + NhÆ° bạn đã biết, bạn cần gõ để thá»±c hiện. + + 2. Chá»n má»™t tên tập tin chÆ°a có, ví dụ TEST. + + 3. Bây giá» gõ: :w TEST (trong đó TEST là tên tập tin bạn đã chá»n.) + + 4. Thao tác này ghi toàn bá»™ tập tin (HÆ°á»›ng dẫn dùng Vim) dÆ°á»›i tên TEST. + Äể kiểm tra lại, gõ :!dir má»™t lần nữa để liệt kê thÆ° mục. + +Chú ý: Nếu bạn thoát khá»i Vim và quay trở lại vá»›i tên tập tin TEST, thì tập + tin sẽ là bản sao của hÆ°á»›ng dẫn tại thá»i Ä‘iểm bạn ghi lại. + + 5. Bây giá» xóa bá» tập tin (MS-DOS): :!del TEST + hay (Unix): :!rm TEST + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 5.3: CÂU LỆNH GHI CHỌN LỌC + + + ** Äể ghi má»™t phần của tập tin, gõ :#,# w TÊNTẬPTIN ** + + 1. Gõ lại má»™t lần nữa :!dir hoặc :!ls để liệt kê ná»™i dung thÆ° mục + rồi chá»n má»™t tên tập tin thích hợp, ví dụ TEST. + + 2. Di chuyển con trá» tá»›i đầu trang này, rồi gõ Ctrl-g để tìm ra số thứ + tá»± của dòng đó. HÃY NHỚ Sá» THỨ Tá»° NÀY! + + 3. Bây giá» di chuyển con trá» tá»›i dòng cuối trang và gõ lại Ctrl-g lần nữa. + HÃY NHỚ CẢ Sá» THỨ Tá»° NÀY! + + 4. Äể CHỈ ghi lại má»™t phần vào má»™t tập tin, gõ :#,# w TEST trong đó #,# + là hai số thứ tá»± bạn đã nhá»› (đầu,cuối) và TEST là tên tập tin. + + 5. Nhắc lại, xem tập tin của bạn có ở đó không vá»›i :!dir nhÆ°ng ÄỪNG xóa. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 5.4: ÄỌC VÀ KẾT HỢP CÃC TẬP TIN + + + ** Äể chèn ná»™i dung của má»™t tập tin, gõ :r TÊNTẬPTIN ** + + 1. Gõ :!dir để chắc chắn là có tệp tin TEST. + + 2. Äặt con trá» tại đầu trang này. + +CHÚ Ã: Sau khi thá»±c hiện BÆ°á»›c 3 bạn sẽ thấy Bài 5.3. Sau đó cần di chuyển + XUá»NG bài há»c này lần nữa. + + 3. Bây giá» dùng câu lệnh :r TEST để Ä‘á»c tập tin TEST, trong đó TEST là + tên của tập tin. + +CHÚ Ã: Tập tin được Ä‘á»c sẽ đặt bắt đầu từ vị trí của con trá». + + 4. Äể kiểm tra lại, di chuyển con trá» ngược trở lại và thấy rằng bây giá» + có hai Bài 5.3, bản gốc và bản vừa chèn. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Tá»”NG KẾT BÀI 5 + + + 1. :!câulệnh thá»±c hiện má»™t câu lệnh ngoại trú + + Má»™t vài ví dụ hữu ích: + (MS-DOS) (Unix) + :!dir :!ls - liệt kê ná»™i dung má»™t thÆ° mục. + :!del TÊNTẬPTIN :!rm TÊNTẬPTIN - xóa bá» tập tin TÊNTẬPTIN. + + 2. :w TÊNTẬPTIN ghi tập tin hiện thá»i của Vim lên Ä‘Ä©a vá»›i tên TÊNTẬPTIN. + + 3. :#,#w TÊNTẬPTIN ghi các dòng từ # tá»›i # vào tập tin TÊNTẬPTIN. + + 4. :r TÊNTẬPTIN Ä‘á»c tập tin trên Ä‘Ä©a TÊNTẬPTIN và chèn ná»™i dung của nó vào + tập tin hiện thá»i sau vị trí của con trá». + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 6.1: CÂU LỆNH TẠO DÃ’NG + + + ** Gõ o để mở má»™t dòng phía dÆ°á»›i con trá» và chuyển vào chế Ä‘á»™ Soạn thảo. ** + + 1. Di chuyển con trá» tá»›i dòng có dấu --->. + + 2. Gõ o (chữ thÆ°á»ng) để mở má»™t dòng BÊN DƯỚI con trá» và chuyển vào chế Ä‘á»™ + Soạn thảo. + + 3. Bây giá» sao chép dòng có dấu ---> và nhấn để thoát khá»i chế Ä‘á»™ Soạn + thảo. + +---> Sau khi gõ o con trá» sẽ đặt trên dòng vừa mở trong chế Ä‘á»™ Soạn thảo. + + 4. Äể mở má»™t dòng Ở TRÊN con trá», Ä‘Æ¡n giản gõ má»™t chữ O hoa, thay cho + chữ o thÆ°á»ng. Hãy thá»­ thá»±c hiện trên dòng dÆ°á»›i đây. +Di chuyển con trá» tá»›i dòng này, rồi gõ Shift-O sẽ mở má»™t dòng trên nó. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 6.2: CÂU LỆNH THÊM VÀO + + + ** Gõ a để chèn văn bản vào SAU con trá». ** + + 1. Di chuyển con trá» tá»›i cuối dòng đầu tiên có ký hiệu ---> + bằng cách gõ $ trong chế Ä‘á»™ câu lệnh. + + 2. Gõ a (chữ thÆ°á»ng) để thêm văn bản vào SAU ký tá»± dÆ°á»›i con trá». + (Chữ A hoa thêm văn bản vào cuối má»™t dòng.) + +Chú ý: Lệnh này thay cho việc gõ i , ký tá»± cuối cùng, văn bản muốn chèn, + , mÅ©i tên sang phải, và cuối cùng, x , chỉ để thêm vào cuối dòng! + + 3. Bây giá» thêm cho đủ dòng thứ nhất. Chú ý rằng việc thêm giống hệt vá»›i + việc chèn, trừ vị trí chèn văn bản. + +---> Dong nay cho phep ban thuc hanh +---> Dong nay cho phep ban thuc hanh viec them van ban vao cuoi dong. + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 6.3: MỘT CÃCH THAY THẾ KHÃC + + + ** Gõ chữ cái R hoa để thay thế nhiá»u ký tá»±. ** + + 1. Di chuyển con trá» tá»›i cuối dòng đầu tiên có ký hiệu --->. + + 2. Äặt con trá» tại chữ cái đầu của từ đầu tiên khác vá»›i dòng có dấu + ---> tiếp theo (từ 'tren'). + + 3. Bây giá» gõ R và thay thế phần còn lại của dòng thứ nhất bằng cách gõ + đè lên văn bản cÅ© để cho hai dòng giống nhau. + +---> De cho dong thu nhat giong voi dong thu hai tren trang nay. +---> De cho dong thu nhat giong voi dong thu hai, go R va van ban moi. + + 4. Chú ý rằng khi bạn nhấn để thoát, Ä‘oạn văn bản không sá»­a đổi sẽ + được giữ nguyên. + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 6.4: THIẾT LẬP CÃC THAM Sá» + + ** Thiết lập má»™t tùy chá»n để việc tìm kiếm hay thay thế lá» Ä‘i kiểu chữ ** + + 1. Tìm kiếm từ 'lodi' bằng cách gõ: + /lodi + Lặp lại vài lần bằng phím n. + + 2. Äặt tham số 'ic' (Lodi - ignore case) bằng cách gõ: + :set ic + + 3. Bây giá» thá»­ lại tìm kiếm 'lodi' bằng cách gõ: n + Lặp lại vài lần bằng phím n. + + 4. Äặt các tham số 'hlsearch' và 'incsearch': + :set hls is + + 5. Bây giá» nhập lại câu lệnh tìm kiếm má»™t lần nữa và xem cái gì xảy ra: + /lodi + + 6. Äể xóa bá» việc hiện sáng từ tìm thấy, gõ: + :nohlsearch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Tá»”NG KẾT BÀI 6 + + + 1. Gõ o mở má»™t dòng phía DƯỚI con trá» và đặt con trá» trên dòng vừa mở + trong chế Ä‘á»™ Soạn thảo. + Gõ má»™t chữ O hoa để mở dòng phía TRÊN dòng của con trá». + + 2. Gõ a để chèn văn bản vào SAU ký tá»± nằm dÆ°á»›i con trá». + Gõ má»™t chữ A hoa tá»± Ä‘á»™ng thêm văn bản vào cuối má»™t dòng. + + 3. Gõ má»™t chữ R hoa chuyển vào chế Ä‘á»™ Thay thế cho đến khi nhấn . + + 4. Gõ ":set xxx" sẽ đặt tham số "xxx" + + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Bài 7: CÂU LỆNH TRỢ GIÚP + + + ** Sá»­ dụng hệ thống trợ giúp có sẵn ** + + Vim có má»™t hệ thống trợ giúp đầy đủ. Äể bắt đầu, thá»­ má»™t trong ba + lệnh sau: + - nhấn phím (nếu bàn phím có) + - nhấn phím (nếu bàn phím có) + - gõ :help + + Gõ :q để đóng cá»­a sổ trợ giúp. + + Bạn có thể tìm thấy trợ giúp theo má»™t Ä‘á» tài, bằng cách Ä‘Æ°a tham số tá»›i + câu lệnh ":help". Hãy thá»­ (đừng quên gõ ): + + :help w + :help c_, 2005 + Translator: Phan Vinh Thịnh , 2005 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff -r 7d3c79a9b40a -r db46d51a3939 runtime/tutor/tutor.zh.utf-8 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/tutor/tutor.zh.utf-8 Wed Aug 13 17:36:09 2008 +0900 @@ -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. ç¾åœ¨è«‹ä½¿ç”¨ä¸‹è¡Œéµï¼Œå°‡å…‰æ¨™ç§»å‹•åˆ°ç¬¬äºŒè¬›ã€‚ + +æ示︰如果您ä¸æ•¢ç¢ºå®šæ‚¨æ‰€æŒ‰ä¸‹çš„å­—æ¯ï¼Œè«‹æŒ‰ä¸‹éµå›žåˆ°æ­£å¸¸(Normal)模å¼ã€‚ + 然後å†æ¬¡å¾žéµç›¤è¼¸å…¥æ‚¨æƒ³è¦çš„命令。 + +æ示︰光標éµæ‡‰ç•¶ä¹Ÿèƒ½æ­£å¸¸å·¥ä½œçš„。但是使用hjkléµï¼Œåœ¨ç¿’慣之後您就能夠快速 + 地在å±å¹•å…§å››è™•ç§»å‹•å…‰æ¨™äº†ã€‚ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第一講第二節︰VIM的進入和退出 + + + !! 特別æ示︰敬請閱讀完整本一節的內容,然後æ‰èƒ½åŸ·è¡Œä»¥ä¸‹æ‰€è¬›è§£çš„命令。 + + 1. 請按éµ(這是為了確ä¿æ‚¨è™•åœ¨æ­£å¸¸æ¨¡å¼)。 + + 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. 所有文本都修正完畢,請按下 éµè¿”回正常模å¼ã€‚ + é‡å¾©æ­¥é©Ÿ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編輯器,請輸入以下命令放棄所有修改︰ + + :q! <回車> + + 或者輸入以下命令ä¿å­˜æ‰€æœ‰ä¿®æ”¹ï¸° + + :wq <回車> + + 4. 在正常模å¼ä¸‹åˆªé™¤å…‰æ¨™æ‰€åœ¨ä½ç½®çš„字符,請按︰ x + + 5. 在正常模å¼ä¸‹è¦åœ¨å…‰æ¨™æ‰€åœ¨ä½ç½®é–‹å§‹æ’入文本,請按︰ + + i 輸入必è¦æ–‡æœ¬ + +特別æ示︰按下 éµæœƒå¸¶æ‚¨å›žåˆ°æ­£å¸¸æ¨¡å¼æˆ–者å–消一個ä¸æœŸæœ›æˆ–è€…éƒ¨åˆ†å®Œæˆ +的命令。 + +好了,第一講到此çµæŸã€‚下é¢æŽ¥ä¸‹ä¾†ç¹¼çºŒç¬¬äºŒè¬›çš„內容。 + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第一節︰刪除類命令 + + + ** 輸入 dw å¯ä»¥å¾žå…‰æ¨™è™•åˆªé™¤è‡³ä¸€å€‹å–®å­—/單詞的末尾。** + + 1. 請按下 éµç¢ºä¿æ‚¨è™•äºŽæ­£å¸¸æ¨¡å¼ã€‚ + + 2. 請將光標移動到本節中下é¢æ¨™è¨˜æœ‰ ---> 的那一行。 + + 3. 請將光標移至準備è¦åˆªé™¤çš„單詞的開始。 + + 4. 接著輸入 dw 刪除掉該單詞。 + + 特別æ示︰您所輸入的 dw 會在您輸入的åŒæ™‚出ç¾åœ¨å±å¹•çš„最後一行。如果您輸 + 入有誤,請按下 éµå–消,然後é‡æ–°å†ä¾†ã€‚ + +---> There are a some words fun that don't belong paper in this sentence. + + 5. é‡å¾©æ­¥é©Ÿ3至步驟4,直至å¥å­ä¿®æ­£å®Œç•¢ã€‚接著繼續第二講第二節內容。 + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第二講第二節︰其他刪除類命令 + + + ** 輸入 d$ 從當å‰å…‰æ¨™åˆªé™¤åˆ°è¡Œæœ«ã€‚** + + 1. 請按下 éµç¢ºä¿æ‚¨è™•äºŽæ­£å¸¸æ¨¡å¼ã€‚ + + 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. 然後在正常模å¼ä¸‹(éµé€²å…¥),輸入 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. 最後按 éµï¼Œç„¶å¾Œå…‰æ¨™å®šä½åˆ°ä¸‹ä¸€å€‹éŒ¯èª¤ç¬¬ä¸€å€‹æº–備更改的字æ¯è™•ã€‚ + + 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$ 使得該行剩下的部分更正得åŒç¬¬äºŒè¡Œä¸€æ¨£ã€‚最後按 éµã€‚ + +---> 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. 然後復制標記有 ---> 的行並按 éµé€€å‡ºæ’入模å¼è€Œé€²å…¥æ­£å¸¸æ¨¡å¼ã€‚ + +---> 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,光標定ä½åˆ° + 最後一個字符,輸入的文本, 回復正常模å¼ï¼Œç®­é ­å³éµç§»å‹•å…‰æ¨™ä»¥åŠ + 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. 請注æ„︰如果您按 退出置æ›æ¨¡å¼å›žå¾©æ­£å¸¸æ¨¡å¼ï¼Œå°šæœªæ›¿æ›çš„æ–‡æœ¬å°‡ä» + 然ä¿æŒåŽŸç‹€ã€‚ + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第六講第四節︰設置類命令的é¸é … + + + ** 設置å¯ä½¿æŸ¥æ‰¾æˆ–者替æ›å¯å¿½ç•¥å¤§å°å¯«çš„é¸é … ** + + + 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 將進入替æ›æ¨¡å¼ï¼Œç›´è‡³æŒ‰ éµé€€å‡ºæ›¿æ›æ¨¡å¼è€Œé€²å…¥æ­£å¸¸ + 模å¼ã€‚ + + 4. 輸入 :set xxx å¯ä»¥è¨­ç½® xxx é¸é …。 + + + + + + + + + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 第七講︰在線幫助命令 + + ** 使用在線幫助系統 ** + + Vim æ“有一個細致全é¢çš„在線幫助系統。è¦å•Ÿå‹•è©²å¹«åŠ©ç³»çµ±ï¼Œè«‹é¸æ“‡å¦‚下三種方 + 法之一︰ + - 按下 éµ (如果éµç›¤ä¸Šæœ‰çš„話) + - 按下 éµ (如果éµç›¤ä¸Šæœ‰çš„話) + - 輸入 :help <回車> + + 輸入 :q <回車> å¯ä»¥é—œé–‰å¹«åŠ©çª—å£ã€‚ + + æ供一個正確的åƒæ•¸çµ¦":help"命令,您å¯ä»¥æ‰¾åˆ°é—œäºŽè©²ä¸»é¡Œçš„幫助。請試驗以 + 下åƒæ•¸(å¯åˆ¥å¿˜äº†æŒ‰å›žè»Šéµå“¦ã€‚:)︰ + + :help w <回車> + :help c_ + :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進行修訂。 + + + + 譯制者附言︰ + =========== + 簡體中文教程翻譯版之譯制者為æ¢æ˜Œæ³° ,還有 + å¦å¤–一個è¯ç³»åœ°å€ï¸°linuxrat@gnuchina.org。 + + ç¹é«”中文教程是從簡體中文教程翻譯版使用 Debian GNU/Linux ä¸­æ–‡é …ç›®å° + 組的于廣è¼å…ˆç”Ÿç·¨å¯«çš„中文漢字轉碼器 autoconvert 轉æ›è€Œæˆçš„,並å°è½‰ + æ›çš„çµæžœåšäº†ä¸€äº›ç´°ç¯€çš„改動。 + + 變更記錄︰ + ========= + 2002å¹´08月30æ—¥ æ¢æ˜Œæ³° + æ„Ÿè¬ RMS@SMTH 的指正,將多處錯誤修正。 + + 2002å¹´04月22æ—¥ æ¢æ˜Œæ³° + æ„Ÿè¬ xuandong@sh163.net 的指正,將兩處錯別字修正。 + + 2002å¹´03月18æ—¥ æ¢æ˜Œæ³° + 根據Bram Molenaar先生在2002å¹´03月16日的來信è¦æ±‚,將vimtutor1.4中譯 + 版å‡ç´šåˆ°vimtutor1.5。 + + 2001å¹´11月15æ—¥ æ¢æ˜Œæ³° + å°‡vimtutor1.4中譯版æ交給Bram Molenaarå’ŒSven Guckes。 + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff -r 7d3c79a9b40a -r db46d51a3939 src/INSTALLx.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/INSTALLx.txt Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,165 @@ +INSTALLx.txt - cross-compiling Vim on Unix + +Content: + 1. Introduction + 2. Necessary arguments for "configure" + 3. Necessary environment variables for "configure" + 4. Example + + +1. INTRODUCTION +=============== + +This document discusses cross-compiling VIM on Unix-like systems. We assume +you are already familiar with cross-compiling and have a working cross-compile +environment with at least the following components: + + * a cross-compiler + * a libc to link against + * ncurses library to link against + +Discussing how to set up a cross-compile environment would go beyond the scope +of this document. See http://www.kegel.com/crosstool/ for more information and +a script that aids in setting up such an environment. + + +The problem is that "configure" needs to compile and run small test programs +to check for certain features. Running these test programs can't be done when +cross-compiling so we need to pass the results these checks would produce via +environment variables. See the list of variables and the examples at the end of +this document. + + +2. NECESSARY ARGUMENTS FOR "configure" +====================================== + +You need to set the following "configure" command line switches: + +--build=... : + The build system (i.e. the platform name of the system you compile on + right now). + For example, "i586-linux". + +--host=... : + The system on which VIM will be run. Quite often this the name of your + cross-compiler without the "-gcc". + For example, "powerpc-603-linux-gnu". + +--target=... : + Only relevant for compiling compilers. Set this to the same value as + --host. + +--with-tlib=... : + Which terminal library to. + For example, "ncurses". + + +3. NECESSARY ENVIRONMENT VARIABLES FOR "configure" +================================================== + +Additionally to the variables listed here you might want to set the CPPFLAGS +environment variable to enable optimization for your target system (e.g. +"CPPFLAGS=-march=arm5te"). + +The following variables need to be set: + +ac_cv_sizeof_int: + The size of an "int" C type in bytes. Should be "4" on all 32bit + machines. + +vi_cv_path_python_conf: + If Python support is enabled, set this variables to the path for + Python's library implementation. This is a path like + "/usr/lib/pythonX.Y/config" (the directory contains a file + "config.c"). + +vi_cv_var_python_epfx: + If Python support is enabled, set this variables to the execution + prefix of your Python interpreter (that is, where it thinks it is + running). + This is the output of the following Python script: + import sys; print sys.exec_prefix + +vi_cv_var_python_pfx: + If Python support is enabled, set this variables to the prefix of your + Python interpreter (that is, where was installed). + This is the output of the following Python script: + import sys; print sys.prefix + +vi_cv_var_python_version: + If Python support is enabled, set this variables to the version of the + Python interpreter that will be used. + This is the output of the following Python script: + import sys; print sys.version[:3] + +vim_cv_bcopy_handles_overlap: + Whether the "memmove" C library call is able to copy overlapping + memory regions. Set to "yes" if it does or "no" if it does not. + You only need to set this if vim_cv_memmove_handles_overlap is set + to "no". + +vim_cv_getcwd_broken: + Whether the "getcwd" C library call is broken. Set to "yes" if you + know that "getcwd" is implemented as 'system("sh -c pwd")', set to + "no" otherwise. + +vim_cv_memcpy_handles_overlap: + Whether the "memcpy" C library call is able to copy overlapping + memory regions. Set to "yes" if it does or "no" if it does not. + You only need to set this if both vim_cv_memmove_handles_overlap + and vim_cv_bcopy_handles_overlap are set to "no". + +vim_cv_memmove_handles_overlap: + Whether the "memmove" C library call is able to copy overlapping + memory regions. Set to "yes" if it does or "no" if it does not. + +vim_cv_stat_ignores_slash: + Whether the "stat" C library call ignores trailing slashes in the path + name. Set to "yes" if it ignores them or "no" if it does not ignore + them. + +vim_cv_tgetent: + Whether the "tgetent" terminal library call returns a zero or non-zero + value when it encounters an unknown terminal. Set to either the string + "zero" or "non-zero", corresponding. + +vim_cv_terminfo: + Whether the environment has terminfo support. Set to "yes" if so, + otherwise set to "no". + +vim_cv_toupper_broken: + Whether the "toupper" C library function works correctly. Set to "yes" + if you know it's broken, otherwise set to "no". + +vim_cv_tty_group: + The default group of pseudo terminals. Either set to the numeric value + of the your tty group or to "world" if they are world accessable. + +vim_cv_tty_mode: + The default mode of pseudo terminals if they are not world accessable. + Most propably the value "0620". + + +4. EXAMPLE: +=========== + +Assuming the target system string is "armeb-xscale-linux-gnu" (a Intel XScale +system) with glibc and ncurses, the call to configure would look like this: + +ac_cv_sizeof_int=4 \ +vim_cv_getcwd_broken=no \ +vim_cv_memmove_handles_overlap=yes \ +vim_cv_stat_ignores_slash=yes \ +vim_cv_tgetent=zero \ +vim_cv_terminfo=yes \ +vim_cv_toupper_broken=no \ +vim_cv_tty_group=world \ +./configure \ + --build=i586-linux \ + --host=armeb-xscale-linux-gnu \ + --target=armeb-xscale-linux-gnu \ + --with-tlib=ncurses + + + +Written 2007 by Marc Haisenko for the VIM project. diff -r 7d3c79a9b40a -r db46d51a3939 src/gvimtutor --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gvimtutor Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,8 @@ +#!/bin/sh + +# Start GUI Vim on a copy of the tutor file. + +# Usage: gvimtutor [xx] +# See vimtutor for usage. + +exec `dirname $0`/vimtutor -g "$@" diff -r 7d3c79a9b40a -r db46d51a3939 src/msvc2008.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/msvc2008.bat Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,5 @@ +rem To be used on MS-Windows for Visual C++ 2008 Express Edition +rem aka Microsoft Visual Studio 9.0. +rem See INSTALLpc.txt for information. + +call "%VS90COMNTOOLS%%vsvars32.bat" diff -r 7d3c79a9b40a -r db46d51a3939 src/po/eo.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/po/eo.po Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,6302 @@ +# Esperanto Translation for Vim +# +# Do ":help uganda" in Vim to read copying and usage conditions. +# Do ":help credits" in Vim to see a list of people who contributed. +# +# UNUA TRADUKISTO Dominique PELLE +# PROVLEGANTO(J) Felipe CASTRO +# Antono MECHELYNCK +# Yves NEVELSTEEN +# +# Uzitaj vortaroj kaj fakvortaroj: +# Revo: http://www.reta-vortaro.de/revo/ +# Komputeko: http://komputeko.net/index_eo.php +# Komputada leksikono: http://bertilow.com/div/komputada_leksikono/ +# +# Lasta versio: +# http://svn.ikso.net/programtradukoj/vim/vim7/src/po/eo.po +# +# Ĉiu komento estas bonvenata... +# Every remark is welcome... +# +msgid "" +msgstr "" +"Project-Id-Version: Vim(Esperanto)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-07-19 10:37+0200\n" +"PO-Revision-Date: 2008-07-19 10:43+0200\n" +"Last-Translator: Dominique PELLÉ \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "E82: Cannot allocate any buffer, exiting..." +msgstr "E82: Ne eblas disponigi iun ajn bufron, nun eliras..." + +msgid "E83: Cannot allocate buffer, using other one..." +msgstr "E83: Ne eblas disponigi bufron, nun uzas alian..." + +msgid "E515: No buffers were unloaded" +msgstr "E515: Neniu bufro estis malÅargita" + +msgid "E516: No buffers were deleted" +msgstr "E516: Neniu bufro estis forviÅita" + +msgid "E517: No buffers were wiped out" +msgstr "E517: Neniu bufro estis detruita" + +msgid "1 buffer unloaded" +msgstr "1 bufro malÅargita" + +#, c-format +msgid "%d buffers unloaded" +msgstr "%d bufroj malÅargitaj" + +msgid "1 buffer deleted" +msgstr "1 bufro forviÅita" + +#, c-format +msgid "%d buffers deleted" +msgstr "%d bufroj forviÅitaj" + +msgid "1 buffer wiped out" +msgstr "1 bufro detruita" + +#, c-format +msgid "%d buffers wiped out" +msgstr "%d bufroj detruitaj" + +msgid "E84: No modified buffer found" +msgstr "E84: Neniu modifita bufro trovita" + +#. back where we started, didn't find anything. +msgid "E85: There is no listed buffer" +msgstr "E85: Estas neniu listigita bufro" + +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: La bufro %ld ne ekzistas" + +msgid "E87: Cannot go beyond last buffer" +msgstr "E87: Ne eblas iri preter la lastan bufron" + +msgid "E88: Cannot go before first buffer" +msgstr "E88: Ne eblas iri antaÅ­ la unuan bufron" + +#, c-format +msgid "E89: No write since last change for buffer %ld (add ! to override)" +msgstr "" +"E89: Neniu skribo de post la lasta ÅanÄo de la bufro %ld (aldonu ! por " +"transpasi)" + +msgid "E90: Cannot unload last buffer" +msgstr "E90: Ne eblas malÅargi la lastan bufron" + +msgid "W14: Warning: List of file names overflow" +msgstr "W14: Averto: Listo de dosiernomoj troas" + +#, c-format +msgid "E92: Buffer %ld not found" +msgstr "E92: Bufro %ld ne trovita" + +#, c-format +msgid "E93: More than one match for %s" +msgstr "E93: Pli ol unu kongruo kun %s" + +#, c-format +msgid "E94: No matching buffer for %s" +msgstr "E94: Neniu bufro kongruas kun %s" + +#, c-format +msgid "line %ld" +msgstr "linio %ld" + +msgid "E95: Buffer with this name already exists" +msgstr "E95: Bufro kun tiu nomo jam ekzistas" + +msgid " [Modified]" +msgstr "[Modifita]" + +msgid "[Not edited]" +msgstr "[Ne redaktita]" + +msgid "[New file]" +msgstr "[Nova dosiero]" + +msgid "[Read errors]" +msgstr "[Eraroj de legado]" + +msgid "[readonly]" +msgstr "[nurlegebla]" + +#, c-format +msgid "1 line --%d%%--" +msgstr "1 linio --%d%%--" + +#, c-format +msgid "%ld lines --%d%%--" +msgstr "%ld linioj --%d%%--" + +#, c-format +msgid "line %ld of %ld --%d%%-- col " +msgstr "linio %ld de %ld --%d%%-- kol " + +msgid "[No Name]" +msgstr "[Neniu nomo]" + +#. must be a help buffer +msgid "help" +msgstr "helpo" + +msgid "[Help]" +msgstr "[Helpo]" + +msgid "[Preview]" +msgstr "[AntaÅ­vido]" + +msgid "All" +msgstr "Ĉio" + +msgid "Bot" +msgstr "Subo" + +msgid "Top" +msgstr "Supro" + +#, c-format +msgid "" +"\n" +"# Buffer list:\n" +msgstr "" +"\n" +"# Listo de bufroj:\n" + +msgid "[Location List]" +msgstr "[Listo de lokoj]" + +# DP: Ĉu vere indas traduki Quickfix? +msgid "[Quickfix List]" +msgstr "[Listo de rapidriparoj]" + +# DP: Vidu ":help sign-support" por klarigo pri "Sign" +msgid "" +"\n" +"--- Signs ---" +msgstr "" +"\n" +"--- Emfazaj simbolaĵoj ---" + +#, c-format +msgid "Signs for %s:" +msgstr "Emfazaj simbolaĵoj de %s:" + +#, c-format +msgid " line=%ld id=%d name=%s" +msgstr " linio=%ld id=%d nomo=%s" + +#, c-format +msgid "E96: Can not diff more than %ld buffers" +msgstr "E96: Ne eblas dosierdiferenci pli ol %ld bufrojn" + +msgid "E97: Cannot create diffs" +msgstr "E97: Ne eblas krei dosierdiferencojn" + +msgid "Patch file" +msgstr "Flika dosiero" + +msgid "E98: Cannot read diff output" +msgstr "E98: Ne eblas legi eliron de dosierdiferenco" + +msgid "E99: Current buffer is not in diff mode" +msgstr "E99: Aktuala bufro ne estas en dosierdiferenca reÄimo" + +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: Neniu alia bufro en dosierdiferenca reÄimo estas modifebla" + +msgid "E100: No other buffer in diff mode" +msgstr "E100: Neniu alia bufro en dosierdiferenca reÄimo" + +msgid "E101: More than two buffers in diff mode, don't know which one to use" +msgstr "E101: Pli ol du bufroj en dosierdiferenca reÄimo, ne scias kiun uzi" + +#, c-format +msgid "E102: Can't find buffer \"%s\"" +msgstr "E102: Ne eblas trovi bufron \"%s\"" + +#, c-format +msgid "E103: Buffer \"%s\" is not in diff mode" +msgstr "E103: Bufro \"%s\" ne estas en dosierdiferenca reÄimo" + +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: Bufro ÅanÄiÄis neatendite" + +msgid "E104: Escape not allowed in digraph" +msgstr "E104: Eskapsigno malpermesita en duliteraĵo" + +msgid "E544: Keymap file not found" +msgstr "E544: Dosiero de klavmapo ne troveblas" + +msgid "E105: Using :loadkeymap not in a sourced file" +msgstr "E105: Uzo de \":loadkeymap\" nur eblas en vim-skripto" + +msgid "E791: Empty keymap entry" +msgstr "E791: Malplena rikordo en klavmapo" + +msgid " Keyword completion (^N^P)" +msgstr " Kompletigo de Ålosilvorto (^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 " ReÄimo ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" + +msgid " Whole line completion (^L^N^P)" +msgstr " Kompletigo de tuta linio (^L^N^P)" + +msgid " File name completion (^F^N^P)" +msgstr " Kompletigo de dosiernomo (^F^N^P)" + +msgid " Tag completion (^]^N^P)" +msgstr " Kompletigo de etikedo (^]^N^P)" + +msgid " Path pattern completion (^N^P)" +msgstr " Kompletigo de Åablona dosierindiko (^N^P)" + +msgid " Definition completion (^D^N^P)" +msgstr " Kompletigo de difino (^D^N^P)" + +msgid " Dictionary completion (^K^N^P)" +msgstr " Kompletigo de vortaro (^K^N^P)" + +msgid " Thesaurus completion (^T^N^P)" +msgstr " Kompletigo de tesaÅ­ro (^T^N^P)" + +msgid " Command-line completion (^V^N^P)" +msgstr " Kompletigo de komanda linio (^V^N^P)" + +msgid " User defined completion (^U^N^P)" +msgstr " Kompletigo difinita de uzanto (^U^N^P)" + +# DP: Ĉu eblas trovi pli bonan tradukon? +msgid " Omni completion (^O^N^P)" +msgstr " Kompletigo Omni (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr " Sugesto de literumo (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Kompletigo loka de Ålosilvorto (^N/^P)" + +msgid "Hit end of paragraph" +msgstr "Atingis finon de alineo" + +msgid "'dictionary' option is empty" +msgstr "La opcio 'dictionary' estas malplena" + +msgid "'thesaurus' option is empty" +msgstr "La opcio 'thesaurus' estas malplena" + +#, c-format +msgid "Scanning dictionary: %s" +msgstr "Analizas vortaron: %s" + +msgid " (insert) Scroll (^E/^Y)" +msgstr " (enmeto) Rulumo (^E/^Y)" + +msgid " (replace) Scroll (^E/^Y)" +msgstr " (anstataÅ­igo) Rulumo (^E/^Y)" + +#, c-format +msgid "Scanning: %s" +msgstr "Analizas: %s" + +#, c-format +msgid "Scanning tags." +msgstr "Analizas etikedojn." + +msgid " Adding" +msgstr " Aldonanta" + +#. 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 "-- Serĉanta..." + +msgid "Back at original" +msgstr "Reveninta al originalo" + +msgid "Word from other line" +msgstr "Vorto el alia linio" + +msgid "The only match" +msgstr "La sola kongruo" + +#, c-format +msgid "match %d of %d" +msgstr "kongruo %d de %d" + +#, c-format +msgid "match %d" +msgstr "kongruo %d" + +msgid "E18: Unexpected characters in :let" +msgstr "E18: Neatenditaj signoj en \":let\"" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: indekso de listo ekster limoj: %ld" + +#, c-format +msgid "E121: Undefined variable: %s" +msgstr "E121: Nedifinita variablo: %s" + +msgid "E111: Missing ']'" +msgstr "E111: Mankas ']'" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Argumento de %s devas esti Listo" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Argumento de %s devas esti Listo aÅ­ Vortaro" + +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Ne eblas uzi malplenan Ålosilon de Vortaro" + +msgid "E714: List required" +msgstr "E714: Listo bezonata" + +msgid "E715: Dictionary required" +msgstr "E715: Vortaro bezonata" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Tro da argumentoj por funkcio: %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Åœlosilo malekzistas en Vortaro: %s" + +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: La funkcio %s jam ekzistas (aldonu ! por anstataÅ­igi Äin)" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Rikordo de vortaro jam ekzistas" + +msgid "E718: Funcref required" +msgstr "E718: Funcref bezonata" + +msgid "E719: Cannot use [:] with a Dictionary" +msgstr "E719: Uzo de [:] ne eblas kun Vortaro" + +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Nevalida datumtipo de variablo de %s=" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Nekonata funkcio: %s" + +#, c-format +msgid "E461: Illegal variable name: %s" +msgstr "E461: Nevalida nomo de variablo: %s" + +msgid "E687: Less targets than List items" +msgstr "E687: Malpli da celoj ol Listeroj" + +msgid "E688: More targets than List items" +msgstr "E688: Pli da celoj ol Listeroj" + +msgid "Double ; in list of variables" +msgstr "Duobla ; en listo de variabloj" + +#, c-format +msgid "E738: Can't list variables for %s" +msgstr "E738: Ne eblas listigi variablojn de %s" + +msgid "E689: Can only index a List or Dictionary" +msgstr "E689: Nur eblas indeksi Liston aÅ­ Vortaron" + +msgid "E708: [:] must come last" +msgstr "E708: [:] devas esti laste" + +msgid "E709: [:] requires a List value" +msgstr "E709: [:] bezonas listan valoron" + +msgid "E710: List value has more items than target" +msgstr "E710: Lista valoro havas pli da eroj ol la celo" + +msgid "E711: List value has not enough items" +msgstr "E711: Lista valoro ne havas sufiĉe da eroj" + +msgid "E690: Missing \"in\" after :for" +msgstr "E690: \"in\" mankas malantaÅ­ \":for\"" + +#, c-format +msgid "E107: Missing braces: %s" +msgstr "E107: Mankas kramposigno malantaÅ­: %s" + +#, c-format +msgid "E108: No such variable: \"%s\"" +msgstr "E108: Ne estas tia variablo: \"%s\"" + +msgid "E743: variable nested too deep for (un)lock" +msgstr "E743: variablo ingita tro profunde por malÅlosi" + +msgid "E109: Missing ':' after '?'" +msgstr "E109: Mankas ':' malantaÅ­ '?'" + +msgid "E691: Can only compare List with List" +msgstr "E691: Eblas nur kompari Liston kun Listo" + +msgid "E692: Invalid operation for Lists" +msgstr "E692: Nevalida operacio de Listoj" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Eblas nur kompari Vortaron kun Vortaro" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Nevalida operacio de Vortaro" + +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Eblas nur kompari Funcref kun Funcref" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Nevalida operacio de Funcref-oj" + +msgid "E804: Cannot use '%' with Float" +msgstr "E804: Ne eblas uzi '%' kun Glitpunktnombro" + +msgid "E110: Missing ')'" +msgstr "E110: Mankas ')'" + +msgid "E695: Cannot index a Funcref" +msgstr "E695: Ne eblas indeksi Funcref" + +#, c-format +msgid "E112: Option name missing: %s" +msgstr "E112: Mankas nomo de opcio: %s" + +#, c-format +msgid "E113: Unknown option: %s" +msgstr "E113: Nekonata opcio: %s" + +#, c-format +msgid "E114: Missing quote: %s" +msgstr "E114: Mankas citilo: %s" + +#, c-format +msgid "E115: Missing quote: %s" +msgstr "E115: Mankas citilo: %s" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Mankas komo en Listo: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Mankas fino de Listo ']': %s" + +#, c-format +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Mankas dupunkto en la vortaro: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Ripetita Ålosilo en la vortaro: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Mankas komo en la vortaro: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Mankas fino de vortaro '}': %s" + +msgid "E724: variable nested too deep for displaying" +msgstr "E724: variablo ingita tro profunde por vidigi" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Nekonata funkcio: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Ne sufiĉe da argumentoj de funkcio: %s" + +#, c-format +msgid "E120: Using not in a script context: %s" +msgstr "E120: estas uzata ekster kunteksto de skripto: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Alvoko de funkcio dict sen Vortaro: %s" + +msgid "E808: Number or Float required" +msgstr "E808: Nombro aÅ­ Glitpunktnombro bezonata" + +msgid "E699: Too many arguments" +msgstr "E699: Tro da argumentoj" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() uzeblas nur en Enmeta reÄimo" + +#. +#. * 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 "&Bone" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Åœlosilo jam ekzistas: %s" + +#, c-format +msgid "+-%s%3ld lines: " +msgstr "+-%s%3ld linioj: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Nekonata funkcio: %s" + +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&Bone\n" +"&Rezigni" + +msgid "called inputrestore() more often than inputsave()" +msgstr "alvokis inputrestore() pli ofte ol inputsave()" + +msgid "E786: Range not allowed" +msgstr "E786: Amplekso malpermesita" + +msgid "E701: Invalid type for len()" +msgstr "E701: Nevalida datumtipo de len()" + +msgid "E726: Stride is zero" +msgstr "E726: PaÅo estas nul" + +msgid "E727: Start past end" +msgstr "E727: Komenco preter fino" + +msgid "" +msgstr "" + +msgid "E240: No connection to Vim server" +msgstr "E240: Neniu konekto al Vim-servilo" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Ne eblas sendi al %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Ne eblas legi respondon de servilo" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)" + +msgid "E258: Unable to send to client" +msgstr "E258: Ne eblas sendi al kliento" + +msgid "E702: Sort compare function failed" +msgstr "E702: Ordiga funkcio fiaskis" + +msgid "(Invalid)" +msgstr "(Nevalida)" + +msgid "E677: Error writing temp file" +msgstr "E677: Eraro dum skribo de provizora dosiero" + +msgid "E805: Using a Float as a Number" +msgstr "E805: Uzo de Glitpunktnombro kiel Nombro" + +msgid "E703: Using a Funcref as a Number" +msgstr "E703: Uzo de Funcref kiel Nombro" + +msgid "E745: Using a List as a Number" +msgstr "E745: Uzo de Listo kiel Nombro" + +msgid "E728: Using a Dictionary as a Number" +msgstr "E728: Uzo de Vortaro kiel Nombro" + +msgid "E729: using Funcref as a String" +msgstr "E729: uzo de Funcref kiel Ĉeno" + +msgid "E730: using List as a String" +msgstr "E730: uzo de Listo kiel Ĉeno" + +msgid "E731: using Dictionary as a String" +msgstr "E731: uzo de Vortaro kiel Ĉeno" + +msgid "E806: using Float as a String" +msgstr "E806: uzo de Glitpunktnumbro kiel Ĉeno" + +#, c-format +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: Nomo de variablo Funcref ekendas per majusklo: %s" + +#, c-format +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Nomo de variablo konfliktas kun ekzistanta funkcio: %s" + +#, c-format +msgid "E706: Variable type mismatch for: %s" +msgstr "E706: Nekongrua datumtipo de variablo: %s" + +#, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: Ne eblas forviÅi variablon %s" + +#, c-format +msgid "E741: Value is locked: %s" +msgstr "E741: Valoro estas Ålosita: %s" + +msgid "Unknown" +msgstr "Nekonata" + +#, c-format +msgid "E742: Cannot change value of %s" +msgstr "E742: Ne eblas ÅanÄi valoron de %s" + +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: variablo ingita tro profunde por fari kopion" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Mankas '(': %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Nevalida argumento: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Mankas \":endfunction\"" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Nomo de funkcio ne kongruas kun dosiernomo de skripto: %s" + +msgid "E129: Function name required" +msgstr "E129: Nomo de funkcio bezonata" + +#, c-format +msgid "E128: Function name must start with a capital or contain a colon: %s" +msgstr "E128: Nomo de funkcio devas eki per majusklo aÅ­ enhavi dupunkton: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Ne eblas forviÅi funkcion %s: Estas nuntempe uzata" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Profundo de funkcia alvoko superas 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "alvokas %s" + +#, c-format +msgid "%s aborted" +msgstr "%s ĉesigita" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s liveras #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s liveras %s" + +#, c-format +msgid "continuing in %s" +msgstr "daÅ­rigas en %s" + +msgid "E133: :return not inside a function" +msgstr "E133: \":return\" ekster funkcio" + +#, c-format +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# mallokaj variabloj:\n" + +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tLaste Åaltita de " + +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, Deksesuma %02x, Okuma %03o" + +#, c-format +msgid "> %d, Hex %04x, Octal %o" +msgstr "> %d, Deksesuma %04x, Okuma %o" + +#, c-format +msgid "> %d, Hex %08x, Octal %o" +msgstr "> %d, Deksesuma %08x, Okuma %o" + +msgid "E134: Move lines into themselves" +msgstr "E134: Movas liniojn en ilin mem" + +msgid "1 line moved" +msgstr "1 linio movita" + +#, c-format +msgid "%ld lines moved" +msgstr "%ld linioj movitaj" + +#, c-format +msgid "%ld lines filtered" +msgstr "%ld linioj filtritaj" + +msgid "E135: *Filter* Autocommands must not change current buffer" +msgstr "E135: *Filtraj* AÅ­tokomandoj ne rajtas ÅanÄi aktualan bufron" + +msgid "[No write since last change]\n" +msgstr "[Neniu skribo de post lasta ÅanÄo]\n" + +#, c-format +msgid "%sviminfo: %s in line: " +msgstr "%sviminfo: %s en linio: " + +msgid "E136: viminfo: Too many errors, skipping rest of file" +msgstr "E136: viminfo: Tro da eraroj, nun ignoras la reston de la dosiero" + +#, c-format +msgid "Reading viminfo file \"%s\"%s%s%s" +msgstr "Legado de dosiero viminfo \"%s\"%s%s%s" + +msgid " info" +msgstr " informo" + +msgid " marks" +msgstr " markoj" + +msgid " FAILED" +msgstr " FIASKIS" + +#. avoid a wait_return for this message, it's annoying +#, c-format +msgid "E137: Viminfo file is not writable: %s" +msgstr "E137: Dosiero viminfo ne skribeblas: %s" + +#, c-format +msgid "E138: Can't write viminfo file %s!" +msgstr "E138: Ne eblas skribi dosieron viminfo %s!" + +#, c-format +msgid "Writing viminfo file \"%s\"" +msgstr "Skribas dosieron viminfo \"%s\"" + +#. Write the info: +#, c-format +msgid "# This viminfo file was generated by Vim %s.\n" +msgstr "# Tiu dosiero viminfo estis kreita de Vim %s.\n" + +#, c-format +msgid "" +"# You may edit it if you're careful!\n" +"\n" +msgstr "" +"# Vi povas redakti Äin se vi estas singarda.\n" +"\n" + +#, c-format +msgid "# Value of 'encoding' when this file was written\n" +msgstr "# Valoro de 'encoding' kiam tiu dosiero estis kreita\n" + +msgid "Illegal starting char" +msgstr "Nevalida eka signo" + +msgid "Save As" +msgstr "Konservi kiel" + +msgid "Write partial file?" +msgstr "Ĉu skribi partan dosieron?" + +msgid "E140: Use ! to write partial buffer" +msgstr "E140: Uzu ! por skribi partan bufron" + +#, c-format +msgid "Overwrite existing file \"%s\"?" +msgstr "Ĉu anstataÅ­igi ekzistantan dosieron \"%s\"?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "Permutodosiero .swp \"%s\" ekzistas, ĉu tamen anstataÅ­igi Äin?" + +#, c-format +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: Permutodosiero .swp ekzistas: %s (:silent! por transpasi)" + +#, c-format +msgid "E141: No file name for buffer %ld" +msgstr "E141: Neniu dosiernomo de bufro %ld" + +msgid "E142: File not written: Writing is disabled by 'write' option" +msgstr "E142: Dosiero ne skribita: Skribo malÅaltita per la opcio 'write'" + +#, c-format +msgid "" +"'readonly' option is set for \"%s\".\n" +"Do you wish to write anyway?" +msgstr "" +"La opcio 'readonly' estas Åaltita por \"%s\".\n" +"Ĉu vi tamen volas skribi?" + +#, 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 "" +"Permesoj de dosiero \"%s\" estas nur-legeblaj.\n" +"BonÅance Äi eble skribeblus.\n" +"Ĉu vi volas provi?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: \"%s\" estas nurlegebla (aldonu ! por transpasi)" + +msgid "Edit File" +msgstr "Redakti dosieron" + +#, c-format +msgid "E143: Autocommands unexpectedly deleted new buffer %s" +msgstr "E143: AÅ­tokomandoj neatendite forviÅis novan bufron %s" + +msgid "E144: non-numeric argument to :z" +msgstr "E144: nenumera argumento de :z" + +msgid "E145: Shell commands not allowed in rvim" +msgstr "E145: Åœelkomandoj ne permesataj en rvim" + +msgid "E146: Regular expressions can't be delimited by letters" +msgstr "E146: Ne eblas limigi regulesprimon per literoj" + +#, c-format +msgid "replace with %s (y/n/a/q/l/^E/^Y)?" +msgstr "ĉu anstataÅ­igi per %s (y/n/a/q/l/^E/^Y)?" + +msgid "(Interrupted) " +msgstr "(Interrompita) " + +msgid "1 match" +msgstr "1 kongruo" + +msgid "1 substitution" +msgstr "1 anstataÅ­igo" + +#, c-format +msgid "%ld matches" +msgstr "%ld kongruoj" + +#, c-format +msgid "%ld substitutions" +msgstr "%ld anstataÅ­igoj" + +msgid " on 1 line" +msgstr " en 1 linio" + +#, c-format +msgid " on %ld lines" +msgstr " en %ld linioj" + +msgid "E147: Cannot do :global recursive" +msgstr "E147: Ne eblas fari \":global\" rekursie" + +# DP: global estas por ":global" do mi ne tradukis Äin +msgid "E148: Regular expression missing from global" +msgstr "E148: Regulesprimo mankas el global" + +#, c-format +msgid "Pattern found in every line: %s" +msgstr "Åœablono trovita en ĉiuj linioj: %s" + +#, c-format +msgid "" +"\n" +"# Last Substitute String:\n" +"$" +msgstr "" +"\n" +"# Lasta anstataÅ­igita ĉeno:\n" +"$" + +# This message should *so* be E42! +msgid "E478: Don't panic!" +msgstr "E478: Ne paniku!" + +#, c-format +msgid "E661: Sorry, no '%s' help for %s" +msgstr "E661: BedaÅ­rinde estas neniu helpo '%s' por %s" + +#, c-format +msgid "E149: Sorry, no help for %s" +msgstr "E149: BedaÅ­rinde estas neniu helpo por %s" + +#, c-format +msgid "Sorry, help file \"%s\" not found" +msgstr "BedaÅ­rinde, la helpdosiero \"%s\" ne troveblas" + +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: Ne estas dosierujo: %s" + +#, c-format +msgid "E152: Cannot open %s for writing" +msgstr "E152: Ne eblas malfermi %s en skribreÄimo" + +#, c-format +msgid "E153: Unable to open %s for reading" +msgstr "E153: Ne eblas malfermi %s en legreÄimo" + +#, c-format +msgid "E670: Mix of help file encodings within a language: %s" +msgstr "E670: Miksaĵo de kodoprezento de helpa dosiero en lingvo: %s" + +#, c-format +msgid "E154: Duplicate tag \"%s\" in file %s/%s" +msgstr "E154: Ripetita etikedo \"%s\" en dosiero %s/%s" + +#, c-format +msgid "E160: Unknown sign command: %s" +msgstr "E160: Nekonata simbola komando: %s" + +msgid "E156: Missing sign name" +msgstr "E156: Mankas nomo de simbolo" + +msgid "E612: Too many signs defined" +msgstr "E612: Tro da simboloj estas difinitaj" + +#, c-format +msgid "E239: Invalid sign text: %s" +msgstr "E239: Nevalida teksto de simbolo: %s" + +#, c-format +msgid "E155: Unknown sign: %s" +msgstr "E155: Nekonata simbolo: %s" + +msgid "E159: Missing sign number" +msgstr "E159: Mankas numero de simbolo" + +#, c-format +msgid "E158: Invalid buffer name: %s" +msgstr "E158: Nevalida nomo de bufro: %s" + +#, c-format +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: Nevalida identigilo de simbolo: %ld" + +msgid " (NOT FOUND)" +msgstr " (NETROVITA)" + +msgid " (not supported)" +msgstr " (nesubtenita)" + +msgid "[Deleted]" +msgstr "[ForviÅita]" + +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Eniras sencimigan reÄimon. Tajpu \"cont\" por daÅ­rigi." + +#, c-format +msgid "line %ld: %s" +msgstr "linio %ld: %s" + +#, c-format +msgid "cmd: %s" +msgstr "kmd: %s" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Kontrolpunkto en \"%s%s\" linio %ld" + +#, c-format +msgid "E161: Breakpoint not found: %s" +msgstr "E161: Kontrolpunkto ne trovita: %s" + +msgid "No breakpoints defined" +msgstr "Neniu kontrolpunkto estas difinita" + +#, c-format +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s linio %ld" + +msgid "E750: First use :profile start " +msgstr "E750: Uzu unue \":profile start \"" + +#, c-format +msgid "Save changes to \"%s\"?" +msgstr "Ĉu konservi ÅanÄojn al \"%s\"?" + +msgid "Untitled" +msgstr "Sen titolo" + +#, c-format +msgid "E162: No write since last change for buffer \"%s\"" +msgstr "E162: Neniu skribo de post la lasta ÅanÄo por bufro \"%s\"" + +msgid "Warning: Entered other buffer unexpectedly (check autocommands)" +msgstr "Averto: Eniris neatendite alian bufron (kontrolu aÅ­tokomandojn)" + +msgid "E163: There is only one file to edit" +msgstr "E163: Estas nur unu redaktenda dosiero" + +msgid "E164: Cannot go before first file" +msgstr "E164: Ne eblas iri antaÅ­ ol la unuan dosieron" + +msgid "E165: Cannot go beyond last file" +msgstr "E165: Ne eblas iri preter la lastan dosieron" + +#, c-format +msgid "E666: compiler not supported: %s" +msgstr "E666: kompililo nesubtenita: %s" + +#, c-format +msgid "Searching for \"%s\" in \"%s\"" +msgstr "Serĉado de \"%s\" en \"%s\"" + +#, c-format +msgid "Searching for \"%s\"" +msgstr "Serĉado de \"%s\"" + +#, c-format +msgid "not found in 'runtimepath': \"%s\"" +msgstr "ne trovita en 'runtimepath': \"%s\"" + +msgid "Source Vim script" +msgstr "Ruli Vim-skripton" + +#, c-format +msgid "Cannot source a directory: \"%s\"" +msgstr "Ne eblas ruli dosierujon: \"%s\"" + +#, c-format +msgid "could not source \"%s\"" +msgstr "ne eblis ruli \"%s\"" + +#, c-format +msgid "line %ld: could not source \"%s\"" +msgstr "linio %ld: ne eblis ruli \"%s\"" + +#, c-format +msgid "sourcing \"%s\"" +msgstr "rulas \"%s\"" + +#, c-format +msgid "line %ld: sourcing \"%s\"" +msgstr "linio %ld: rulas \"%s\"" + +#, c-format +msgid "finished sourcing %s" +msgstr "finis ruli %s" + +msgid "modeline" +msgstr "reÄimlinio" + +msgid "--cmd argument" +msgstr "--cmd argumento" + +msgid "-c argument" +msgstr "-c argumento" + +msgid "environment variable" +msgstr "medivariablo" + +msgid "error handler" +msgstr "erartraktilo" + +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "W15: Averto: NeÄusta disigilo de linio, ^M eble mankas" + +msgid "E167: :scriptencoding used outside of a sourced file" +msgstr "E167: \":scriptencoding\" uzita ekster rulita dosiero" + +msgid "E168: :finish used outside of a sourced file" +msgstr "E168: \":finish\" uzita ekster rulita dosiero" + +#, c-format +msgid "Current %slanguage: \"%s\"" +msgstr "Aktuala %slingvo: \"%s\"" + +#, c-format +msgid "E197: Cannot set language to \"%s\"" +msgstr "E197: Ne eblas ÅanÄi la lingvon al \"%s\"" + +msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." +msgstr "Eniras reÄimon Ex. Tajpu \"visual\" por iri al reÄimo Normala." + +msgid "E501: At end-of-file" +msgstr "E501: Ĉe fino-de-dosiero" + +msgid "E169: Command too recursive" +msgstr "E169: Komando tro rekursia" + +#, c-format +msgid "E605: Exception not caught: %s" +msgstr "E605: Escepto nekaptita: %s" + +msgid "End of sourced file" +msgstr "Fino de rulita dosiero" + +msgid "End of function" +msgstr "Fino de funkcio" + +msgid "E464: Ambiguous use of user-defined command" +msgstr "E464: Ambigua uzo de komando difinita de uzanto" + +msgid "E492: Not an editor command" +msgstr "E492: Ne estas redaktila komando" + +msgid "E493: Backwards range given" +msgstr "E493: Inversa amplekso donita" + +msgid "Backwards range given, OK to swap" +msgstr "Inversa amplekso donita, permuteblas" + +msgid "E494: Use w or w>>" +msgstr "E494: Uzu w aÅ­ w>>" + +msgid "E319: Sorry, the command is not available in this version" +msgstr "E319: BedaÅ­rinde, tiu komando ne haveblas en tiu versio" + +msgid "E172: Only one file name allowed" +msgstr "E172: Nur unu dosiernomo permesita" + +msgid "1 more file to edit. Quit anyway?" +msgstr "1 plia redaktenda dosiero. Ĉu tamen eliri?" + +#, c-format +msgid "%d more files to edit. Quit anyway?" +msgstr "%d pliaj redaktendaj dosieroj. Ĉu tamen eliri?" + +msgid "E173: 1 more file to edit" +msgstr "E173: 1 plia redaktenda dosiero" + +#, c-format +msgid "E173: %ld more files to edit" +msgstr "E173: %ld pliaj redaktendaj dosieroj" + +msgid "E174: Command already exists: add ! to replace it" +msgstr "E174: La komando jam ekzistas: aldonu ! por anstataÅ­igi Äin" + +# DP: malfacilas traduki tion, kaj samtempe honori spacetojn +msgid "" +"\n" +" Name Args Range Complete Definition" +msgstr "" +"\n" +" Nomo Arg Interv Kompleto Difino" + +msgid "No user-defined commands found" +msgstr "Neniu komando difinita de uzanto trovita" + +msgid "E175: No attribute specified" +msgstr "E175: Neniu atributo specifita" + +msgid "E176: Invalid number of arguments" +msgstr "E176: Nevalida nombro de argumentoj" + +msgid "E177: Count cannot be specified twice" +msgstr "E177: Kvantoro ne povas aperi dufoje" + +msgid "E178: Invalid default value for count" +msgstr "E178: Nevalida defaÅ­lta valoro de kvantoro" + +msgid "E179: argument required for -complete" +msgstr "E179: argumento bezonata por -complete" + +#, c-format +msgid "E181: Invalid attribute: %s" +msgstr "E181: Nevalida atributo: %s" + +msgid "E182: Invalid command name" +msgstr "E182: Nevalida komanda nomo" + +msgid "E183: User defined commands must start with an uppercase letter" +msgstr "E183: Komandoj difinataj de uzanto devas eki per majusklo" + +#, c-format +msgid "E184: No such user-defined command: %s" +msgstr "E184: Neniu komando-difinita-de-uzanto kiel: %s" + +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Nevalida valoro de kompletigo: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "" +"E468: Argumento de kompletigo nur permesata por kompletigo difinita de uzanto" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Uzula kompletigo bezonas funkcian argumenton" + +#, c-format +msgid "E185: Cannot find color scheme %s" +msgstr "E185: Ne eblas trovi agordaron de koloroj %s" + +msgid "Greetings, Vim user!" +msgstr "Bonvenon, uzanto de Vim!" + +msgid "E784: Cannot close last tab page" +msgstr "E784: Ne eblas fermi lastan langeton" + +msgid "Already only one tab page" +msgstr "Jam nur unu langeto" + +msgid "Edit File in new window" +msgstr "Redakti Dosieron en nova fenestro" + +#, c-format +msgid "Tab page %d" +msgstr "Langeto %d" + +msgid "No swap file" +msgstr "Neniu permutodosiero .swp" + +msgid "Append File" +msgstr "Postaldoni dosieron" + +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" +msgstr "" +"E747: Ne eblas ÅanÄi dosierujon, bufro estas ÅanÄita (aldonu ! por transpasi)" + +msgid "E186: No previous directory" +msgstr "E186: Neniu antaÅ­a dosierujo" + +msgid "E187: Unknown" +msgstr "E187: Nekonata" + +msgid "E465: :winsize requires two number arguments" +msgstr "E465: \":winsize\" bezonas du numerajn argumentojn" + +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "Pozicio de fenestro: X %d, Y %d" + +msgid "E188: Obtaining window position not implemented for this platform" +msgstr "" +"E188: Akiro de pozicio de fenestro ne estas realigita por tiu platformo" + +msgid "E466: :winpos requires two number arguments" +msgstr "E466: \":winpos\" bezonas du numerajn argumentojn" + +msgid "Save Redirection" +msgstr "Konservi alidirekton" + +# DP: mi ne certas pri superflugo +msgid "Save View" +msgstr "Konservi superflugon" + +msgid "Save Session" +msgstr "Konservi seancon" + +msgid "Save Setup" +msgstr "Konservi agordaron" + +#, c-format +msgid "E739: Cannot create directory: %s" +msgstr "E739: Ne eblas krei dosierujon %s" + +#, c-format +msgid "E189: \"%s\" exists (add ! to override)" +msgstr "E189: \"%s\" ekzistas (aldonu ! por transpasi)" + +#, c-format +msgid "E190: Cannot open \"%s\" for writing" +msgstr "E190: Ne eblas malfermi \"%s\" por skribi" + +#. set mark +msgid "E191: Argument must be a letter or forward/backward quote" +msgstr "E191: Argumento devas esti litero, citilo aÅ­ retrocitilo" + +msgid "E192: Recursive use of :normal too deep" +msgstr "E192: Tro profunda rekursia alvoko de \":normal\"" + +msgid "E194: No alternate file name to substitute for '#'" +msgstr "E194: Neniu alterna dosiernomo por anstataÅ­igi al '#'" + +# DP: mi ne certas, ĉu tradukeblas +# AM: laÅ­ mi ne +msgid "E495: no autocommand file name to substitute for \"\"" +msgstr "E495: neniu dosiernomo de aÅ­tokomando por anstataÅ­igi al \"\"" + +# DP: mi ne certas, ĉu tradukeblas +# AM: laÅ­ mi ne +msgid "E496: no autocommand buffer number to substitute for \"\"" +msgstr "" +"E496: neniu numero de bufro de aÅ­tokomando por anstataÅ­igi al \"\"" + +# DP: mi ne certas, ĉu tradukeblas +# AM: laÅ­ mi ne +# DP: ĉu match estas verbo aÅ­ nomo en la angla version? +# AM: ĉi tie, nomo, Åajnas al mi +msgid "E497: no autocommand match name to substitute for \"\"" +msgstr "" +"E497: neniu nomo de kongruo de aÅ­tokomando por anstataÅ­igi al \"\"" + +# DP: mi ne certas, ĉu tradukeblas +# AM: laÅ­ mi ne +msgid "E498: no :source file name to substitute for \"\"" +msgstr "E498: neniu dosiernomo \":source\" por anstataÅ­igi al \"\"" + +#, no-c-format +msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" +msgstr "E499: Malplena dosiernomo por '%' aÅ­ '#', nur funkcias kun \":p:h\"" + +msgid "E500: Evaluates to an empty string" +msgstr "E500: Liveras malplenan ĉenon" + +msgid "E195: Cannot open viminfo file for reading" +msgstr "E195: Ne eblas malfermi dosieron viminfo en lega reÄimo" + +msgid "E196: No digraphs in this version" +msgstr "E196: Neniu duliteraĵo en tiu versio" + +msgid "E608: Cannot :throw exceptions with 'Vim' prefix" +msgstr "E608: Ne eblas lanĉi (:throw) escepton kun prefikso 'Vim'" + +#. always scroll up, don't overwrite +#, c-format +msgid "Exception thrown: %s" +msgstr "Escepto lanĉita: %s" + +#, c-format +msgid "Exception finished: %s" +msgstr "Escepto finiÄis: %s" + +#, c-format +msgid "Exception discarded: %s" +msgstr "Escepto ne konservita: %s" + +#, c-format +msgid "%s, line %ld" +msgstr "%s, linio %ld" + +#. always scroll up, don't overwrite +#, c-format +msgid "Exception caught: %s" +msgstr "Kaptis escepton: %s" + +#, c-format +msgid "%s made pending" +msgstr "%s iÄis atendanta(j)" + +#, c-format +msgid "%s resumed" +msgstr "%s daÅ­rigita(j)" + +#, c-format +msgid "%s discarded" +msgstr "%s ne konservita(j)" + +msgid "Exception" +msgstr "Escepto" + +msgid "Error and interrupt" +msgstr "Eraro kaj interrompo" + +msgid "Error" +msgstr "Eraro" + +#. if (pending & CSTP_INTERRUPT) +msgid "Interrupt" +msgstr "Interrompo" + +msgid "E579: :if nesting too deep" +msgstr "E579: \":if\" tro profunde ingita" + +msgid "E580: :endif without :if" +msgstr "E580: \":endif\" sen \":if\"" + +msgid "E581: :else without :if" +msgstr "E581: \":else\" sen \":if\"" + +msgid "E582: :elseif without :if" +msgstr "E582: \":elseif\" sen \":if\"" + +msgid "E583: multiple :else" +msgstr "E583: pluraj \":else\"" + +msgid "E584: :elseif after :else" +msgstr "E584: \":elseif\" malantaÅ­ \":else\"" + +msgid "E585: :while/:for nesting too deep" +msgstr "E585: \":while/:for\" ingita tro profunde" + +msgid "E586: :continue without :while or :for" +msgstr "E586: \":continue\" sen \":while\" aÅ­ \":for\"" + +msgid "E587: :break without :while or :for" +msgstr "E587: \":break\" sen \":while\" aÅ­ \":for\"" + +msgid "E732: Using :endfor with :while" +msgstr "E732: Uzo de \":endfor\" kun \":while\"" + +msgid "E733: Using :endwhile with :for" +msgstr "E733: Uzo de \":endwhile\" kun \":for\"" + +msgid "E601: :try nesting too deep" +msgstr "E601: \":try\" ingita tro profunde" + +msgid "E603: :catch without :try" +msgstr "E603: \":catch\" sen \":try\"" + +#. Give up for a ":catch" after ":finally" and ignore it. +#. * Just parse. +msgid "E604: :catch after :finally" +msgstr "E604: \":catch\" malantaÅ­ \":finally\"" + +msgid "E606: :finally without :try" +msgstr "E606: \":finally\" sen \":try\"" + +#. Give up for a multiple ":finally" and ignore it. +msgid "E607: multiple :finally" +msgstr "E607: pluraj \":finally\"" + +msgid "E602: :endtry without :try" +msgstr "E602: \":endtry\" sen \":try\"" + +msgid "E193: :endfunction not inside a function" +msgstr "E193: \":endfunction\" ekster funkcio" + +msgid "E788: Not allowed to edit another buffer now" +msgstr "E788: Nun malpermesas redakti alian bufron" + +msgid "tagname" +msgstr "nomo de etikedo" + +msgid " kind file\n" +msgstr " tipo de dosiero\n" + +msgid "'history' option is zero" +msgstr "opcio 'history' estas nul" + +#, c-format +msgid "" +"\n" +"# %s History (newest to oldest):\n" +msgstr "" +"\n" +"# Historio %s (de plej nova al plej malnova):\n" + +msgid "Command Line" +msgstr "Komanda linio" + +msgid "Search String" +msgstr "Serĉa ĉeno" + +msgid "Expression" +msgstr "Esprimo" + +msgid "Input Line" +msgstr "Eniga linio" + +msgid "E198: cmd_pchar beyond the command length" +msgstr "E198: cmd_pchar preter la longo de komando" + +msgid "E199: Active window or buffer deleted" +msgstr "E199: Aktiva fenestro aÅ­ bufro forviÅita" + +msgid "Illegal file name" +msgstr "Nevalida dosiernomo" + +msgid "is a directory" +msgstr "estas dosierujo" + +msgid "is not a file" +msgstr "ne estas dosiero" + +msgid "is a device (disabled with 'opendevice' option)" +msgstr "estas aparatdosiero (malÅaltita per la opcio 'opendevice')" + +msgid "[New File]" +msgstr "[Nova dosiero]" + +msgid "[New DIRECTORY]" +msgstr "[Nova DOSIERUJO]" + +msgid "[File too big]" +msgstr "[Dosiero tro granda]" + +msgid "[Permission Denied]" +msgstr "[Permeso rifuzita]" + +msgid "E200: *ReadPre autocommands made the file unreadable" +msgstr "E200: La aÅ­tokomandoj *ReadPre igis la dosieron nelegebla" + +msgid "E201: *ReadPre autocommands must not change current buffer" +msgstr "E201: La aÅ­tokomandoj *ReadPre ne rajtas ÅanÄi la aktualan bufron" + +msgid "Vim: Reading from stdin...\n" +msgstr "Vim: Legado el stdin...\n" + +msgid "Reading from stdin..." +msgstr "Legado el stdin..." + +#. Re-opening the original file failed! +msgid "E202: Conversion made file unreadable!" +msgstr "E202: Konverto igis la dosieron nelegebla!" + +msgid "[fifo/socket]" +msgstr "[rektvica memoro/kontaktoskatolo]" + +msgid "[fifo]" +msgstr "[rektvica memoro]" + +msgid "[socket]" +msgstr "[kontaktoskatolo]" + +msgid "[character special]" +msgstr "[speciala signo]" + +msgid "[RO]" +msgstr "[Nurlegebla]" + +msgid "[CR missing]" +msgstr "[CR mankas]" + +# DP: ĉu traduki NL? +msgid "[NL found]" +msgstr "[NL trovita]" + +msgid "[long lines split]" +msgstr "[divido de longaj linioj]" + +msgid "[NOT converted]" +msgstr "[NE konvertita]" + +msgid "[converted]" +msgstr "[konvertita]" + +msgid "[crypted]" +msgstr "[ĉifrita]" + +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ERARO DE KONVERTO ĉe linio %ld]" + +#, c-format +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[NEVALIDA BAJTO en linio %ld]" + +msgid "[READ ERRORS]" +msgstr "[ERAROJ DE LEGADO]" + +msgid "Can't find temp file for conversion" +msgstr "Ne eblas trovi provizoran dosieron por konverti" + +msgid "Conversion with 'charconvert' failed" +msgstr "Konverto kun 'charconvert' fiaskis" + +msgid "can't read output of 'charconvert'" +msgstr "ne eblas legi la eligon de 'charconvert'" + +msgid "E676: No matching autocommands for acwrite buffer" +msgstr "E676: Neniu kongrua aÅ­tokomando por la bufro acwrite" + +msgid "E203: Autocommands deleted or unloaded buffer to be written" +msgstr "E203: AÅ­tokomandoj forviÅis aÅ­ malÅargis la skribendan bufron" + +msgid "E204: Autocommand changed number of lines in unexpected way" +msgstr "E204: AÅ­tokomando ÅanÄis la nombron de linioj neatendite" + +msgid "NetBeans disallows writes of unmodified buffers" +msgstr "NetBeans malpermesas skribojn de neÅanÄitaj bufroj" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Partaj skriboj malpermesitaj ĉe bufroj NetBeans" + +msgid "is not a file or writable device" +msgstr "ne estas dosiero aÅ­ skribebla aparatdosiero" + +msgid "writing to device disabled with 'opendevice' option" +msgstr "skribo al aparatdosiero malÅaltita per la opcio 'opendevice'" + +msgid "is read-only (add ! to override)" +msgstr "estas nurlegebla (aldonu ! por transpasi)" + +msgid "E506: Can't write to backup file (add ! to override)" +msgstr "E506: Ne eblas skribi restaÅ­rkopion (aldonu ! por transpasi)" + +msgid "E507: Close error for backup file (add ! to override)" +msgstr "E507: Eraro dum fermo de restaÅ­rkopio (aldonu ! transpasi)" + +msgid "E508: Can't read file for backup (add ! to override)" +msgstr "E508: Ne eblas legi restaÅ­rkopion (aldonu ! por transpasi)" + +msgid "E509: Cannot create backup file (add ! to override)" +msgstr "E509: Ne eblas krei restaÅ­rkopion (aldonu ! por transpasi)" + +msgid "E510: Can't make backup file (add ! to override)" +msgstr "E510: Ne eblas krei restaÅ­rkopion (aldonu ! por transpasi)" + +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: La rimeda forko estus perdita (aldonu ! por transpasi)" + +msgid "E214: Can't find temp file for writing" +msgstr "E214: Ne eblas trovi provizoran dosieron por skribi" + +msgid "E213: Cannot convert (add ! to write without conversion)" +msgstr "E213: Ne eblas konverti (aldonu ! por skribi sen konverto)" + +msgid "E166: Can't open linked file for writing" +msgstr "E166: Ne eblas malfermi ligitan dosieron por skribi" + +msgid "E212: Can't open file for writing" +msgstr "E212: Ne eblas malfermi la dosieron por skribi" + +# AM: fsync: ne traduku (nomo de C-komando) +msgid "E667: Fsync failed" +msgstr "E667: Fsync fiaskis" + +msgid "E512: Close failed" +msgstr "E512: Fermo fiaskis" + +msgid "E513: write error, conversion failed (make 'fenc' empty to override)" +msgstr "E513: Skriberaro, konverto fiaskis (igu 'fenc' malplena por transpasi)" + +msgid "E514: write error (file system full?)" +msgstr "E514: skriberaro (ĉu plena dosiersistemo?)" + +msgid " CONVERSION ERROR" +msgstr " ERARO DE KONVERTO" + +msgid "[Device]" +msgstr "[Aparatdosiero]" + +msgid "[New]" +msgstr "[Nova]" + +msgid " [a]" +msgstr " [a]" + +msgid " appended" +msgstr " postaldonita(j)" + +msgid " [w]" +msgstr " [s]" + +msgid " written" +msgstr " skribita(j)" + +msgid "E205: Patchmode: can't save original file" +msgstr "E205: Patchmode: ne eblas konservi originalan dosieron" + +msgid "E206: patchmode: can't touch empty original file" +msgstr "E206: patchmode: ne eblas tuÅi malplenan originalan dosieron" + +msgid "E207: Can't delete backup file" +msgstr "E207: Ne eblas forviÅi restaÅ­rkopion" + +msgid "" +"\n" +"WARNING: Original file may be lost or damaged\n" +msgstr "" +"\n" +"AVERTO: Originala dosiero estas eble perdita aÅ­ difekta\n" + +msgid "don't quit the editor until the file is successfully written!" +msgstr "ne eliru el la redaktilo Äis kiam la dosiero estas sukcese konservita!" + +msgid "[dos]" +msgstr "[dos]" + +msgid "[dos format]" +msgstr "[formato dos]" + +msgid "[mac]" +msgstr "[mac]" + +msgid "[mac format]" +msgstr "[formato mac]" + +msgid "[unix]" +msgstr "[unikso]" + +msgid "[unix format]" +msgstr "[formato unikso]" + +msgid "1 line, " +msgstr "1 linio, " + +#, c-format +msgid "%ld lines, " +msgstr "%ld linioj, " + +msgid "1 character" +msgstr "1 signo" + +#, c-format +msgid "%ld characters" +msgstr "%ld signoj" + +msgid "[noeol]" +msgstr "[sen EOL]" + +msgid "[Incomplete last line]" +msgstr "[Nekompleta lasta linio]" + +#. 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 "AVERTO: La dosiero estas ÅanÄita de post kiam Äi estis legita!!!" + +msgid "Do you really want to write to it" +msgstr "Ĉu vi vere volas skribi al Äi" + +#, c-format +msgid "E208: Error writing to \"%s\"" +msgstr "E208: Eraro dum skribo de \"%s\"" + +#, c-format +msgid "E209: Error closing \"%s\"" +msgstr "E209: Eraro dum fermo de \"%s\"" + +#, c-format +msgid "E210: Error reading \"%s\"" +msgstr "E210: Eraro dum lego de \"%s\"" + +msgid "E246: FileChangedShell autocommand deleted buffer" +msgstr "E246: AÅ­tokomando FileChangedShell forviÅis bufron" + +#, c-format +msgid "E211: File \"%s\" no longer available" +msgstr "E211: Dosiero \"%s\" ne plu haveblas" + +#, c-format +msgid "" +"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " +"well" +msgstr "" +"W12: Averto: Dosiero \"%s\" ÅanÄiÄis kaj la bufro estis ÅanÄita ankaÅ­ en Vim" + +msgid "See \":help W12\" for more info." +msgstr "Vidu \":help W12\" por pliaj informoj." + +#, c-format +msgid "W11: Warning: File \"%s\" has changed since editing started" +msgstr "W11: Averto: La dosiero \"%s\" ÅanÄiÄis ekde redakti Äin" + +msgid "See \":help W11\" for more info." +msgstr "Vidu \":help W11\" por pliaj informoj." + +#, c-format +msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" +msgstr "W16: Averto: Permeso de dosiero \"%s\" ÅanÄiÄis ekde redakti Äin" + +msgid "See \":help W16\" for more info." +msgstr "Vidu \":help W16\" por pliaj informoj." + +#, c-format +msgid "W13: Warning: File \"%s\" has been created after editing started" +msgstr "W13: Averto: Dosiero \"%s\" kreiÄis post la komenco de redaktado" + +msgid "Warning" +msgstr "Averto" + +msgid "" +"&OK\n" +"&Load File" +msgstr "" +"&Bone\n" +"Åœ&argi Dosieron" + +#, c-format +msgid "E462: Could not prepare for reloading \"%s\"" +msgstr "E462: Ne eblis prepari por reÅargi \"%s\"" + +#, c-format +msgid "E321: Could not reload \"%s\"" +msgstr "E321: Ne eblis reÅargi \"%s\"" + +msgid "--Deleted--" +msgstr "--ForviÅita--" + +#, c-format +msgid "auto-removing autocommand: %s " +msgstr "aÅ­to-forviÅas aÅ­tokomandon: %s " + +#. the group doesn't exist +#, c-format +msgid "E367: No such group: \"%s\"" +msgstr "E367: Ne ekzistas tia grupo: \"%s\"" + +#, c-format +msgid "E215: Illegal character after *: %s" +msgstr "E215: Nevalida signo malantaÅ­ *: %s" + +#, c-format +msgid "E216: No such event: %s" +msgstr "E216: Ne estas tia evento: %s" + +#, c-format +msgid "E216: No such group or event: %s" +msgstr "E216: Ne ekzistas tia grupo aÅ­ evento: %s" + +#. Highlight title +msgid "" +"\n" +"--- Auto-Commands ---" +msgstr "" +"\n" +"--- AÅ­to-Komandoj ---" + +#, c-format +msgid "E680: : invalid buffer number " +msgstr "E680: : nevalida numero de bufro " + +msgid "E217: Can't execute autocommands for ALL events" +msgstr "E217: Ne eblas plenumi aÅ­tokomandojn por ĈIUJ eventoj" + +msgid "No matching autocommands" +msgstr "Neniu kongrua aÅ­tokomando" + +msgid "E218: autocommand nesting too deep" +msgstr "E218: aÅ­tokomando tro ingita" + +#, c-format +msgid "%s Auto commands for \"%s\"" +msgstr "%s AÅ­tokomandoj por \"%s\"" + +#, c-format +msgid "Executing %s" +msgstr "Plenumado de %s" + +#, c-format +msgid "autocommand %s" +msgstr "aÅ­tokomando %s" + +msgid "E219: Missing {." +msgstr "E219: Mankas {." + +msgid "E220: Missing }." +msgstr "E220: Mankas }." + +msgid "E490: No fold found" +msgstr "E490: Neniu faldo trovita" + +msgid "E350: Cannot create fold with current 'foldmethod'" +msgstr "E350: Ne eblas krei faldon per la aktuala 'foldmethod'" + +msgid "E351: Cannot delete fold with current 'foldmethod'" +msgstr "E351: Ne eblas forviÅi faldon per la aktuala 'foldmethod'" + +#, c-format +msgid "+--%3ld lines folded " +msgstr "+--%3ld linioj falditaj " + +msgid "E222: Add to read buffer" +msgstr "E222: Aldoni al lega bufro" + +msgid "E223: recursive mapping" +msgstr "E223: rekursia mapo" + +#, c-format +msgid "E224: global abbreviation already exists for %s" +msgstr "E224: malloka mallongigo jam ekzistas por %s" + +#, c-format +msgid "E225: global mapping already exists for %s" +msgstr "E225: malloka mapo jam ekzistas por %s" + +#, c-format +msgid "E226: abbreviation already exists for %s" +msgstr "E226: mallongigo jam ekzistas por %s" + +#, c-format +msgid "E227: mapping already exists for %s" +msgstr "E227: mapo jam ekzistas por %s" + +msgid "No abbreviation found" +msgstr "Neniu mallongigo trovita" + +msgid "No mapping found" +msgstr "Neniu mapo trovita" + +msgid "E228: makemap: Illegal mode" +msgstr "E228: makemap: Nevalida reÄimo" + +msgid "E229: Cannot start the GUI" +msgstr "E229: Ne eblas lanĉi la grafikan interfacon" + +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Ne eblas legi el \"%s\"" + +msgid "E665: Cannot start GUI, no valid font found" +msgstr "" +"E665: Ne eblas startigi grafikan interfacon, neniu valida tiparo trovita" + +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' nevalida" + +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Valoro de 'imactivatekey' estas nevalida" + +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: Ne eblas disponigi koloron %s" + +msgid "No match at cursor, finding next" +msgstr "Neniu kongruo ĉe kursorpozicio, trovas sekvan" + +msgid " " +msgstr " " + +#, c-format +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: ne eblas akiri tiparon %s" + +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: ne eblas reveni al la aktuala dosierujo" + +msgid "Pathname:" +msgstr "Serĉvojo:" + +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: ne eblas akiri aktualan dosierujon" + +msgid "OK" +msgstr "Bone" + +msgid "Cancel" +msgstr "Rezigni" + +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "" +"Fenestraĵo de rulumskalo: Ne eblis akiri geometrion de reduktita rastrumbildo" + +msgid "Vim dialog" +msgstr "Vim dialogo" + +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: Ne eblas krei BalloonEval kun ambaÅ­ mesaÄo kaj reagfunkcio" + +msgid "Vim dialog..." +msgstr "Vim dialogo..." + +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Jes\n" +"&Ne\n" +"&Rezigni" + +# todo '_' is for hotkey, i guess? +msgid "Input _Methods" +msgstr "Enigaj _metodoj" + +msgid "VIM - Search and Replace..." +msgstr "VIM - Serĉi kaj anstataÅ­igi..." + +msgid "VIM - Search..." +msgstr "VIM- Serĉi..." + +msgid "Find what:" +msgstr "Serĉi kion:" + +msgid "Replace with:" +msgstr "AnstataÅ­igi per:" + +#. whole word only button +msgid "Match whole word only" +msgstr "Kongrui nur plenan vorton" + +#. match case button +msgid "Match case" +msgstr "Uskleca kongruo" + +msgid "Direction" +msgstr "Direkto" + +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "Supren" + +msgid "Down" +msgstr "Suben" + +msgid "Find Next" +msgstr "Trovi sekvantan" + +msgid "Replace" +msgstr "AnstataÅ­igi" + +msgid "Replace All" +msgstr "AnstataÅ­igi ĉiujn" + +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: Ricevis peton \"die\" (morti) el la seanca administrilo\n" + +msgid "Close" +msgstr "Fermi" + +msgid "New tab" +msgstr "Nova langeto" + +msgid "Open Tab..." +msgstr "Malfermi langeton..." + +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Ĉefa fenestro neatendite detruiÄis\n" + +msgid "Font Selection" +msgstr "Elekto de tiparo" + +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Uzis CUT_BUFFER0 anstataÅ­ malplenan apartigon" + +msgid "&Filter" +msgstr "&Filtri" + +msgid "&Cancel" +msgstr "&Rezigni" + +msgid "Directories" +msgstr "Dosierujoj" + +msgid "Filter" +msgstr "Filtri" + +msgid "&Help" +msgstr "&Helpo" + +msgid "Files" +msgstr "Dosieroj" + +msgid "&OK" +msgstr "&Bone" + +msgid "Selection" +msgstr "Apartigo" + +msgid "Find &Next" +msgstr "Trovi &Sekvanta" + +msgid "&Replace" +msgstr "&AnstataÅ­igi" + +msgid "Replace &All" +msgstr "AnstataÅ­igi ĉi&on" + +msgid "&Undo" +msgstr "&Malfari" + +#, c-format +msgid "E610: Can't load Zap font '%s'" +msgstr "E610: Ne eblas Åargi la tiparon Zap \"%s\"" + +#, c-format +msgid "E611: Can't use font %s" +msgstr "E611: Ne eblas uzi tiparon %s" + +msgid "" +"\n" +"Sending message to terminate child process.\n" +msgstr "" +"\n" +"Sendas mesaÄon por finigi idan procezon\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Ne eblas trovi titolon de fenestro \"%s\"" + +#, c-format +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: Ne subtenita argumento: \"-%s\"; Uzu la version OLE." + +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Ne eblas malfermi fenestron interne de aplikaĵo MDI" + +msgid "Close tab" +msgstr "Fermi langeton" + +msgid "Open tab..." +msgstr "Malfermi langeton..." + +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Trovi ĉenon (uzu '\\\\' por trovi '\\')" + +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Trovi kaj anstataÅ­igi (uzu '\\\\' por trovi '\\')" + +#. 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 "Ne uzata" + +msgid "Directory\t*.nothing\n" +msgstr "Dosierujo\t*.nenio\n" + +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "" +"Vim E458: Ne eblas disponigi rikordon de kolormapo, iuj koloroj estas eble " +"neÄustaj" + +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: Tiparoj de tiuj signaroj mankas en aro de tiparo %s:" + +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: Nomo de tiparo: %s" + +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "Tiparo \"%s\" ne estas egallarÄa" + +#, c-format +msgid "E253: Fontset name: %s\n" +msgstr "E253: Nomo de tiparo: %s\n" + +#, c-format +msgid "Font0: %s\n" +msgstr "Font0: %s\n" + +#, c-format +msgid "Font1: %s\n" +msgstr "Font1: %s\n" + +#, c-format +msgid "Font%ld width is not twice that of font0\n" +msgstr "Font%ld ne estas duoble pli larÄa ol font0\n" + +#, c-format +msgid "Font0 width: %ld\n" +msgstr "LarÄo de font0: %ld\n" + +#, c-format +msgid "" +"Font1 width: %ld\n" +"\n" +msgstr "" +"LarÄo de Font1: %ld\n" +"\n" + +msgid "Invalid font specification" +msgstr "Nevalida tiparo specifita" + +msgid "&Dismiss" +msgstr "&Forlasi" + +msgid "no specific match" +msgstr "Neniu specifa kongruo" + +msgid "Vim - Font Selector" +msgstr "Vim - Elektilo de tiparo" + +msgid "Name:" +msgstr "Nomo:" + +#. create toggle button +msgid "Show size in Points" +msgstr "Montri grandon en punktoj" + +msgid "Encoding:" +msgstr "Kodoprezento:" + +msgid "Font:" +msgstr "Tiparo:" + +msgid "Style:" +msgstr "Stilo:" + +msgid "Size:" +msgstr "Grando:" + +msgid "E256: Hangul automata ERROR" +msgstr "E256: ERARO en aÅ­tomato de korea alfabeto" + +msgid "E550: Missing colon" +msgstr "E550: Mankas dupunkto" + +msgid "E551: Illegal component" +msgstr "E551: Nevalida komponento" + +msgid "E552: digit expected" +msgstr "E552: cifero atendita" + +#, c-format +msgid "Page %d" +msgstr "PaÄo %d" + +msgid "No text to be printed" +msgstr "Neniu presenda teksto" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "Presas paÄon %d (%d%%)" + +#, c-format +msgid " Copy %d of %d" +msgstr " Kopio %d de %d" + +#, c-format +msgid "Printed: %s" +msgstr "Presis: %s" + +msgid "Printing aborted" +msgstr "Presado ĉesigita" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Eraro dum skribo de PostSkripta eliga dosiero" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: Ne eblas malfermi dosieron \"%s\"" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: Ne eblas legi dosieron de PostSkripta rimedo \"%s\"" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: \"%s\" ne estas dosiero de PostSkripta rimedo" + +#, c-format +msgid "E619: file \"%s\" is not a supported PostScript resource file" +msgstr "E619: \"%s\" ne estas subtenita dosiero de PostSkripta rimedo" + +#, c-format +msgid "E621: \"%s\" resource file has wrong version" +msgstr "E621: \"%s\" dosiero de rimedo havas neÄustan version" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Nekongrua plurbajta kodoprezento kaj signaro." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "" +"E674: printmbcharset ne rajtas esti malplena kun plurbajta kodoprezento." + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Neniu defaÅ­lta tiparo specifita por plurbajta presado." + +msgid "E324: Can't open PostScript output file" +msgstr "E324: Ne eblas malfermi eligan PostSkriptan dosieron" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: Ne eblas malfermi dosieron \"%s\"" + +msgid "E456: Can't find PostScript resource file \"prolog.ps\"" +msgstr "E456: Dosiero de PostSkripta rimedo \"prolog.ps\" ne troveblas" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: Dosiero de PostSkripta rimedo \"cidfont.ps\" ne troveblas" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: Dosiero de PostSkripta rimedo \"%s.ps\" ne troveblas" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: Ne eblas konverti al la presa kodoprezento \"%s\"" + +msgid "Sending to printer..." +msgstr "Sendas al presilo..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: Presado de PostSkripta dosiero fiaskis" + +msgid "Print job sent." +msgstr "Laboro de presado sendita" + +msgid "Add a new database" +msgstr "Aldoni novan datumbazon" + +msgid "Query for a pattern" +msgstr "Serĉi Åablonon" + +msgid "Show this message" +msgstr "Montri tiun mesaÄon" + +msgid "Kill a connection" +msgstr "Ĉesigi konekton" + +msgid "Reinit all connections" +msgstr "Repravalorizi ĉiujn konektojn" + +msgid "Show connections" +msgstr "Montri konektojn" + +#, c-format +msgid "E560: Usage: cs[cope] %s" +msgstr "E560: Uzo: cs[cope] %s" + +msgid "This cscope command does not support splitting the window.\n" +msgstr "Tiu ĉi komando de cscope ne subtenas dividon de fenestro.\n" + +msgid "E562: Usage: cstag " +msgstr "E562: Uzo: cstag " + +msgid "E257: cstag: tag not found" +msgstr "E257: cstag: etikedo netrovita" + +#, c-format +msgid "E563: stat(%s) error: %d" +msgstr "E563: Eraro de stat(%s): %d" + +msgid "E563: stat error" +msgstr "E563: Eraro de stat" + +#, c-format +msgid "E564: %s is not a directory or a valid cscope database" +msgstr "E564: %s ne estas dosierujo aÅ­ valida datumbazo de cscope" + +#, c-format +msgid "Added cscope database %s" +msgstr "Aldonis datumbazon de cscope %s" + +#, c-format +msgid "E262: error reading cscope connection %ld" +msgstr "E262: eraro dum legado de konekto de cscope %ld" + +msgid "E561: unknown cscope search type" +msgstr "E561: nekonata tipo de serĉo de cscope" + +msgid "E566: Could not create cscope pipes" +msgstr "E566: Ne eblis krei duktojn de cscope" + +msgid "E622: Could not fork for cscope" +msgstr "E622: Ne eblis forki cscope" + +msgid "cs_create_connection exec failed" +msgstr "plenumo de cs_create_connection fiaskis" + +msgid "cs_create_connection: fdopen for to_fp failed" +msgstr "cs_create_connection: fdopen de to_fp fiaskis" + +msgid "cs_create_connection: fdopen for fr_fp failed" +msgstr "cs_create_connection: fdopen de fr_fp fiaskis" + +msgid "E623: Could not spawn cscope process" +msgstr "E623: Ne eblis naskigi procezon cscope" + +msgid "E567: no cscope connections" +msgstr "E567: neniu konekto al cscope" + +#, c-format +msgid "E259: no matches found for cscope query %s of %s" +msgstr "E259: neniu kongruo trovita por serĉo per cscope %s de %s" + +#, c-format +msgid "E469: invalid cscopequickfix flag %c for %c" +msgstr "E469: nevalida flago cscopequickfix %c de %c" + +msgid "cscope commands:\n" +msgstr "komandoj de cscope:\n" + +#, c-format +msgid "%-5s: %-30s (Usage: %s)" +msgstr "%-5s: %-30s (Uzo: %s)" + +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: ne eblas malfermi datumbazon de cscope: %s" + +msgid "E626: cannot get cscope database information" +msgstr "E626: ne eblas akiri informojn pri la datumbazo de cscope" + +msgid "E568: duplicate cscope database not added" +msgstr "E568: ripetita datumbazo de cscope ne aldonita" + +msgid "E569: maximum number of cscope connections reached" +msgstr "E569: atingis maksimuman nombron de konektoj de cscope" + +#, c-format +msgid "E261: cscope connection %s not found" +msgstr "E261: konekto cscope %s netrovita" + +#, c-format +msgid "cscope connection %s closed" +msgstr "konekto cscope %s fermita" + +#. should not reach here +msgid "E570: fatal error in cs_manage_matches" +msgstr "E570: neriparebla eraro en cs_manage_matches" + +#, c-format +msgid "Cscope tag: %s" +msgstr "Etikedo de cscope: %s" + +msgid "" +"\n" +" # line" +msgstr "" +"\n" +" nro linio" + +msgid "filename / context / line\n" +msgstr "dosiernomo / kunteksto / linio\n" + +#, c-format +msgid "E609: Cscope error: %s" +msgstr "E609: Eraro de cscope: %s" + +msgid "All cscope databases reset" +msgstr "ReÅargo de ĉiuj datumbazoj de cscope" + +msgid "no cscope connections\n" +msgstr "neniu konekto de cscope\n" + +msgid " # pid database name prepend path\n" +msgstr " # pid nomo de datumbazo prefiksa vojo\n" + +msgid "" +"???: Sorry, this command is disabled, the MzScheme library could not be " +"loaded." +msgstr "" +"???: BedaÅ­rinde tiu komando estas malÅaltita: la biblioteko MzScheme ne " +"Åargeblis." + +msgid "invalid expression" +msgstr "nevalida esprimo" + +msgid "expressions disabled at compile time" +msgstr "esprimoj malÅaltitaj dum kompilado" + +msgid "hidden option" +msgstr "kaÅita opcio" + +msgid "unknown option" +msgstr "nekonata opcio" + +msgid "window index is out of range" +msgstr "indekso de fenestro estas ekster limoj" + +msgid "couldn't open buffer" +msgstr "ne eblis malfermi bufron" + +msgid "cannot save undo information" +msgstr "ne eblas konservi informojn de malfaro" + +msgid "cannot delete line" +msgstr "ne eblas forviÅi linion" + +msgid "cannot replace line" +msgstr "ne eblas anstataÅ­igi linion" + +msgid "cannot insert line" +msgstr "ne eblas enmeti linion" + +msgid "string cannot contain newlines" +msgstr "ĉeno ne rajtas enhavi liniavancojn" + +msgid "Vim error: ~a" +msgstr "Eraro de Vim: ~a" + +msgid "Vim error" +msgstr "Eraro de Vim" + +msgid "buffer is invalid" +msgstr "bufro estas nevalida" + +msgid "window is invalid" +msgstr "fenestro estas nevalida" + +msgid "linenr out of range" +msgstr "numero de linio ekster limoj" + +msgid "not allowed in the Vim sandbox" +msgstr "nepermesita en sabloludejo de Vim" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: BedaÅ­rinde tiu komando estas malÅaltita: la biblioteko de Pitono ne " +"Åargeblis." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Ne eblas alvoki Pitonon rekursie" + +msgid "can't delete OutputObject attributes" +msgstr "ne eblas forviÅi atributojn de OutputObject" + +msgid "softspace must be an integer" +msgstr "malmolspaceto (softspace) devas esti entjero" + +msgid "invalid attribute" +msgstr "nevalida atributo" + +msgid "writelines() requires list of strings" +msgstr "writelines() bezonas liston de ĉenoj" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Pitono: Eraro de pravalorizo de eneligaj objektoj" + +msgid "attempt to refer to deleted buffer" +msgstr "provo de referenco al forviÅita bufro" + +msgid "line number out of range" +msgstr "numero de linio ekster limoj" + +#, c-format +msgid "" +msgstr "" + +msgid "invalid mark name" +msgstr "nevalida nomo de marko" + +msgid "no such buffer" +msgstr "ne estas tia bufro" + +msgid "attempt to refer to deleted window" +msgstr "provo de referenco al forviÅita fenestro" + +msgid "readonly attribute" +msgstr "nurlegebla atributo" + +msgid "cursor position outside buffer" +msgstr "kursoro poziciita ekster bufro" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +msgid "no such window" +msgstr "ne estas tia fenestro" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ devas esti apero de Ĉeno" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "" +"E266: BedaÅ­rinde tiu komando estas malÅaltita, la biblioteko Ruby ne " +"Åargeblis." + +msgid "E267: unexpected return" +msgstr "E267: \"return\" neatendita" + +msgid "E268: unexpected next" +msgstr "E268: \"next\" neatendita" + +msgid "E269: unexpected break" +msgstr "E269: \"break\" neatendita" + +msgid "E270: unexpected redo" +msgstr "E270: \"redo\" neatendita" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: \"retry\" ekster klaÅ­zo \"rescue\"" + +msgid "E272: unhandled exception" +msgstr "E272: netraktita escepto" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: nekonata stato de longjmp: %d" + +msgid "Toggle implementation/definition" +msgstr "Baskuli realigon/difinon" + +msgid "Show base class of" +msgstr "Vidigi bazan klason de" + +msgid "Show overridden member function" +msgstr "Montri anajn homonimigajn funkciojn" + +msgid "Retrieve from file" +msgstr "Rekuperi el dosiero" + +msgid "Retrieve from project" +msgstr "Rekuperi el projekto" + +msgid "Retrieve from all projects" +msgstr "Rekuperi de ĉiuj projektoj" + +msgid "Retrieve" +msgstr "Rekuperi" + +msgid "Show source of" +msgstr "Vidigi fonton de" + +msgid "Find symbol" +msgstr "Trovi simbolon" + +msgid "Browse class" +msgstr "Foliumi klasojn" + +msgid "Show class in hierarchy" +msgstr "Montri klason en hierarkio" + +msgid "Show class in restricted hierarchy" +msgstr "Montri klason en hierarkio restriktita" + +# todo +msgid "Xref refers to" +msgstr "Xref ligas al" + +msgid "Xref referred by" +msgstr "Xref ligiÄas de" + +msgid "Xref has a" +msgstr "Xref havas" + +msgid "Xref used by" +msgstr "Xref uzita de" + +# DP: mi ne certas pri kio temas +msgid "Show docu of" +msgstr "Vidigi dokumentaron de" + +msgid "Generate docu for" +msgstr "Krei dokumentaron de" + +msgid "" +"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " +"$PATH).\n" +msgstr "" +"Konekto al SNiFF+ neeblas. Kontrolu medion (sniffemacs trovendas en $PATH).\n" + +msgid "E274: Sniff: Error during read. Disconnected" +msgstr "E274: Sniff: Eraro dum lego. Malkonektita" + +# DP: Tiuj 3 mesaÄoj estas kune +msgid "SNiFF+ is currently " +msgstr "SNiFF+ estas aktuale " + +msgid "not " +msgstr "ne " + +msgid "connected" +msgstr "konektita" + +#, c-format +msgid "E275: Unknown SNiFF+ request: %s" +msgstr "E275: Nekonata peto de SNiFF+: %s" + +msgid "E276: Error connecting to SNiFF+" +msgstr "E276: Eraro dum konekto al SNiFF+" + +msgid "E278: SNiFF+ not connected" +msgstr "E278: SNiFF+ ne estas konektita" + +msgid "E279: Not a SNiFF+ buffer" +msgstr "E279: Ne estas bufro SNiFF+" + +msgid "Sniff: Error during write. Disconnected" +msgstr "Sniff: Eraro dum skribo. Malkonektita" + +msgid "invalid buffer number" +msgstr "nevalida nombro de bufroj" + +msgid "not implemented yet" +msgstr "ne jam realigita" + +#. ??? +msgid "cannot set line(s)" +msgstr "ne eblas meti la linio(j)n" + +msgid "mark not set" +msgstr "marko ne estas metita" + +#, c-format +msgid "row %d column %d" +msgstr "linio %d kolumno %d" + +msgid "cannot insert/append line" +msgstr "ne eblas enmeti/postaldoni linion" + +msgid "unknown flag: " +msgstr "nekonata flago: " + +# DP: ĉu traduki vimOption +msgid "unknown vimOption" +msgstr "nekonata vimOption" + +msgid "keyboard interrupt" +msgstr "klavara interrompo" + +msgid "vim error" +msgstr "eraro de Vim" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "ne eblas krei komandon de bufro/fenestro: objekto estas forviÅiÄanta" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "" +"ne eblas registri postalvokan komandon: bufro/fenestro estas jam forviÅiÄanta" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: NERIPAREBLA TCL-ERARO: reflist difekta!? Bv. retpoÅti al vim-dev@vim." +"org" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "" +"ne eblas registri postalvokan komandon: referenco de bufro/fenestro ne " +"troveblas" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "" +"E571: BedaÅ­rinde tiu komando estas malÅaltita: la biblioteko Tcl ne " +"Åargeblis." + +msgid "" +"E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" +msgstr "" +"E281: TCL-ERARO: elira kodo ne estas entjera!? Bv. retpoÅti al vim-dev@vim." +"org" + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: elira kodo %d" + +msgid "cannot get line" +msgstr "ne eblas akiri linion" + +msgid "Unable to register a command server name" +msgstr "Ne eblas registri nomon de komanda servilo" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Sendo de komando al cela programo fiaskis" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: Nevalida identigilo de servilo uzita: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "" +"E251: Ecoj de registro de apero de VIM estas nevalide formata. ForviÅita!" + +msgid "Unknown option argument" +msgstr "Nekonata argumento de opcio" + +msgid "Too many edit arguments" +msgstr "Tro da argumentoj de redakto" + +msgid "Argument missing after" +msgstr "Argumento mankas malantaÅ­" + +msgid "Garbage after option argument" +msgstr "Forĵetindaĵo malantaÅ­ argumento de opcio" + +msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" +msgstr "Tro da argumentoj \"+komando\", \"-c komando\" aÅ­ \"--cmd komando\"" + +msgid "Invalid argument for" +msgstr "Nevalida argumento por" + +#, c-format +msgid "%d files to edit\n" +msgstr "%d redaktendaj dosieroj\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "Tiu Vim ne estis kompilita kun la kompara eblo" + +msgid "Attempt to open script file again: \"" +msgstr "Provas malfermi skriptan dosieron denove: \"" + +msgid "Cannot open for reading: \"" +msgstr "Ne eblas malfermi en lega reÄimo: \"" + +msgid "Cannot open for script output: \"" +msgstr "Ne eblas malfermi por eligo de skripto: \"" + +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Eraro: Fiaskis lanĉi gvim el NetBeans\n" + +msgid "Vim: Warning: Output is not to a terminal\n" +msgstr "Vim: Averto: Eligo ne estas al terminalo\n" + +msgid "Vim: Warning: Input is not from a terminal\n" +msgstr "Vim: Averto: Enigo ne estas el terminalo\n" + +#. just in case.. +msgid "pre-vimrc command line" +msgstr "komanda linio pre-vimrc" + +#, c-format +msgid "E282: Cannot read from \"%s\"" +msgstr "E282: Ne eblas legi el \"%s\"" + +msgid "" +"\n" +"More info with: \"vim -h\"\n" +msgstr "" +"\n" +"Pliaj informoj per: \"vim -h\"\n" + +# DP: tajpu "vim --help" por testi tiujn mesaÄojn +msgid "[file ..] edit specified file(s)" +msgstr "[dosiero...] redakti specifita(j)n dosiero(j)n" + +msgid "- read text from stdin" +msgstr "- legi tekston el stdin" + +msgid "-t tag edit file where tag is defined" +msgstr "-t etikedo redakti dosieron kie etikedo estas difinata" + +msgid "-q [errorfile] edit file with first error" +msgstr "-q [erardosiero] redakti dosieron kun unua eraro" + +msgid "" +"\n" +"\n" +"usage:" +msgstr "" +"\n" +"\n" +" uzo:" + +msgid " vim [arguments] " +msgstr " vim [argumentoj] " + +msgid "" +"\n" +" or:" +msgstr "" +"\n" +" aÅ­:" + +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Kie uskleco estas ignorita antaÅ­aldonu / por igi flagon majuskla" + +msgid "" +"\n" +"\n" +"Arguments:\n" +msgstr "" +"\n" +"\n" +"Argumentoj:\n" + +msgid "--\t\t\tOnly file names after this" +msgstr "--\t\t\tNur dosiernomoj malantaÅ­ tio" + +msgid "--literal\t\tDon't expand wildcards" +msgstr "--literal\t\tNe ekspansii ĵokerojn" + +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\tRegistri tiun gvim al OLE" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tMalregistri gvim de OLE" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tRuli per grafika interfaco (kiel \"gvim\")" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f aÅ­ --nofork\tMalfono: ne forki kiam lanĉas grafikan interfacon" + +msgid "-v\t\t\tVi mode (like \"vi\")" +msgstr "-v\t\t\tReÄimo Vi (kiel \"vi\")" + +msgid "-e\t\t\tEx mode (like \"ex\")" +msgstr "-e\t\t\tReÄimo Ex (kiel \"ex\")" + +msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" +msgstr "-s\t\t\tSilenta (stapla) reÄimo (nur por \"ex\")" + +msgid "-d\t\t\tDiff mode (like \"vimdiff\")" +msgstr "-d\t\t\tKompara reÄimo (kiel \"vimdiff\")" + +msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" +msgstr "-y\t\t\tFacila reÄimo (kiel \"evim\", senreÄima)" + +msgid "-R\t\t\tReadonly mode (like \"view\")" +msgstr "-R\t\t\tNurlegebla reÄimo (kiel \"view\")" + +msgid "-Z\t\t\tRestricted mode (like \"rvim\")" +msgstr "-Z\t\t\tLimigita reÄimo (kiel \"rvim\")" + +msgid "-m\t\t\tModifications (writing files) not allowed" +msgstr "-m\t\t\tÅœanÄoj (skribo al dosieroj) malpermesitaj" + +msgid "-M\t\t\tModifications in text not allowed" +msgstr "-M\t\t\tÅœanÄoj al teksto malpermesitaj" + +msgid "-b\t\t\tBinary mode" +msgstr "-b\t\t\tDuuma reÄimo" + +msgid "-l\t\t\tLisp mode" +msgstr "-l\t\t\tReÄimo Lisp" + +msgid "-C\t\t\tCompatible with Vi: 'compatible'" +msgstr "-C\t\t\tKongrua kun Vi: 'compatible'" + +msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" +msgstr "-N\t\t\tNe tute kongrua kun Vi: 'nocompatible'" + +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "" +"-V[N][dosiernomo]\tEsti babilema [nivelo N] [konservi mesaÄojn al dosiernomo]" + +msgid "-D\t\t\tDebugging mode" +msgstr "-D\t\t\tSencimiga reÄimo" + +msgid "-n\t\t\tNo swap file, use memory only" +msgstr "-n\t\t\tNeniu permutodosiero .swp, uzas nur memoron" + +msgid "-r\t\t\tList swap files and exit" +msgstr "-r\t\t\tListigi permutodosierojn .swp kaj eliri" + +msgid "-r (with file name)\tRecover crashed session" +msgstr "-r (kun dosiernomo)\tRestaÅ­ri kolapsitan seancon" + +msgid "-L\t\t\tSame as -r" +msgstr "-L\t\t\tKiel -r" + +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\tNe uzi newcli por malfermi fenestrojn" + +msgid "-dev \t\tUse for I/O" +msgstr "-dev \t\tUzi -n por eneligo" + +msgid "-A\t\t\tstart in Arabic mode" +msgstr "-A\t\t\tKomenci en araba reÄimo" + +msgid "-H\t\t\tStart in Hebrew mode" +msgstr "-H\t\t\tKomenci en hebrea reÄimo" + +msgid "-F\t\t\tStart in Farsi mode" +msgstr "-F\t\t\tKomenci en persa reÄimo" + +msgid "-T \tSet terminal type to " +msgstr "-T \tAgordi terminalon al " + +msgid "-u \t\tUse instead of any .vimrc" +msgstr "-u \t\tUzi anstataÅ­ iun ajn .vimrc" + +msgid "-U \t\tUse instead of any .gvimrc" +msgstr "-U \t\tUzi anstataÅ­ iun ajn .gvimrc" + +msgid "--noplugin\t\tDon't load plugin scripts" +msgstr "--noplugin\t\tNe Åargi kromaĵajn skriptojn" + +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tMalfermi N langetojn (defaÅ­lto: po unu por ĉiu dosiero)" + +msgid "-o[N]\t\tOpen N windows (default: one for each file)" +msgstr "-o[N]\t\tMalfermi N fenestrojn (defaÅ­lto: po unu por ĉiu dosiero)" + +msgid "-O[N]\t\tLike -o but split vertically" +msgstr "-O[N]\t\tKiel -o sed dividi vertikale" + +msgid "+\t\t\tStart at end of file" +msgstr "+\t\t\tKomenci ĉe la fino de la dosiero" + +msgid "+\t\tStart at line " +msgstr "+\t\tKomenci ĉe linio " + +msgid "--cmd \tExecute before loading any vimrc file" +msgstr "" +"--cmd \tPlenumi -n antaÅ­ ol Åargi iun ajn dosieron vimrc" + +msgid "-c \t\tExecute after loading the first file" +msgstr "-c \t\tPlenumi -n post kiam la unua dosiero ÅargiÄis" + +msgid "-S \t\tSource file after loading the first file" +msgstr "" +"-S \t\tRuli dosieron -n post kiam la unua dosiero ÅargiÄis" + +msgid "-s \tRead Normal mode commands from file " +msgstr "-s \t\tLegi komandojn en Normala reÄimo el dosiero " + +msgid "-w \tAppend all typed commands to file " +msgstr "" +"-w \tPostaldoni ĉiujn tajpitajn komandojn al dosiero " +"" + +msgid "-W \tWrite all typed commands to file " +msgstr "" +"-W \tSkribi ĉiujn tajpitajn komandojn al dosiero " + +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tRedakti ĉifradan dosieron" + +msgid "-display \tConnect vim to this particular X-server" +msgstr "-display \tKonekti Vim al tiu X-servilo" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tNe konekti al X-servilo" + +msgid "--remote \tEdit in a Vim server if possible" +msgstr "--remote \tRedakti -n en Vim-servilo se eblas" + +msgid "--remote-silent Same, don't complain if there is no server" +msgstr "--remote-silent Same, sed ne plendi se ne estas servilo" + +msgid "" +"--remote-wait As --remote but wait for files to have been edited" +msgstr "" +"--remote-wait Kiel --remote sed atendi Äis dosieroj estas " +"redaktitaj" + +msgid "" +"--remote-wait-silent Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent Same, sed ne plendi se ne estas servilo" + +msgid "" +"--remote-tab[-wait][-silent] As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] Kiel --remote sed uzi langeton por " +"ĉiu dosiero" + +msgid "--remote-send \tSend to a Vim server and exit" +msgstr "--remote-send Sendi -n al Vim-servilo kaj eliri" + +msgid "--remote-expr \tEvaluate in a Vim server and print result" +msgstr "--remote-expr \tKomputi en Vim-servilo kaj afiÅi rezulton" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "--serverlist\t\tListigi haveblajn nomojn de Vim-serviloj kaj eliri" + +msgid "--servername \tSend to/become the Vim server " +msgstr "--servername \tSendu al/iÄi la Vim-servilo " + +msgid "-i \t\tUse instead of .viminfo" +msgstr "-i \t\tUzi anstataÅ­ .viminfo" + +msgid "-h or --help\tPrint Help (this message) and exit" +msgstr "-h aÅ­ --help\tAfiÅi Helpon (tiun mesaÄon) kaj eliri" + +msgid "--version\t\tPrint version information and exit" +msgstr "--version\t\tAfiÅi informon de versio kaj eliri" + +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio Motif):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio neXtaw):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio Athena):\n" + +msgid "-display \tRun vim on " +msgstr "-display \tLanĉi vim sur " + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tLanĉi vim piktograme" + +msgid "-name \t\tUse resource as if vim was " +msgstr "-name \t\tUzi rimedon kvazaÅ­ vim estus " + +msgid "\t\t\t (Unimplemented)\n" +msgstr "\t\t\t (Nerealigita)\n" + +msgid "-background \tUse for the background (also: -bg)" +msgstr "-background \tUzi -n por la fona koloro (ankaÅ­: -bg)" + +msgid "-foreground \tUse for normal text (also: -fg)" +msgstr "" +"-foreground \tUzi -n por la malfona koloro (ankaÅ­: -fg)" + +msgid "-font \t\tUse for normal text (also: -fn)" +msgstr "-font \tUzi -n por normala teksto (ankaÅ­: -fn)" + +msgid "-boldfont \tUse for bold text" +msgstr "-boldfont \tUzi -n por grasa teksto" + +msgid "-italicfont \tUse for italic text" +msgstr "-italicfont \tUzi -n por kursiva teksto" + +msgid "-geometry \tUse for initial geometry (also: -geom)" +msgstr "-geometry \tUzi kiel komenca geometrio (ankaÅ­: -geom)" + +msgid "-borderwidth \tUse a border width of (also: -bw)" +msgstr "-borderwidth \tUzi -n kiel larÄo de bordero (ankaÅ­: -bw)" + +msgid "-scrollbarwidth Use a scrollbar width of (also: -sw)" +msgstr "" +"-scrollbarwidth Uzi -n kiel larÄo de rulumskalo (ankaÅ­: -sw)" + +msgid "-menuheight \tUse a menu bar height of (also: -mh)" +msgstr "" +"-menuheight \tUzi -n kiel alto de menuzona alto (ankaÅ­: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tUzi inversan videon (ankaÅ­: -rv)" + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tNe uzi inversan videon (ankaÅ­: +rv)" + +msgid "-xrm \tSet the specified resource" +msgstr "-xrm \tAgordi la specifitan -n" + +msgid "" +"\n" +"Arguments recognised by gvim (RISC OS version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio RISC OS):\n" + +msgid "--columns \tInitial width of window in columns" +msgstr "--columns \tKomenca larÄo de fenestro en kolumnoj" + +msgid "--rows \tInitial height of window in rows" +msgstr "--rows \tKomenca alto de fenestro en vicoj" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio GTK+):\n" + +msgid "-display \tRun vim on (also: --display)" +msgstr "-display \tLanĉi Vim sur tiu (ankaÅ­: --display)" + +msgid "--role \tSet a unique role to identify the main window" +msgstr "--role \tDoni unikan rolon por identigi la ĉefan fenestron" + +msgid "--socketid \tOpen Vim inside another GTK widget" +msgstr "--socketid \tMalfermi Vim en alia GTK fenestraĵo" + +msgid "-P \tOpen Vim inside parent application" +msgstr "-P \tMalfermi Vim en gepatra aplikaĵo" + +msgid "--windowid \tOpen Vim inside another win32 widget" +msgstr "--windowid \tMalfermi Vim en alia win32 fenestraĵo" + +msgid "No display" +msgstr "Neniu ekrano" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": Sendo fiaskis.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Sendo fiaskis. Provo de loka plenumo\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d de %d redaktita(j)" + +msgid "No display: Send expression failed.\n" +msgstr "Neniu ekrano: Sendado de esprimo fiaskis.\n" + +msgid ": Send expression failed.\n" +msgstr ": Sendado de esprimo fiaskis.\n" + +msgid "No marks set" +msgstr "Neniu marko" + +#, c-format +msgid "E283: No marks matching \"%s\"" +msgstr "E283: Neniu marko kongruas kun \"%s\"" + +#. Highlight title +msgid "" +"\n" +"mark line col file/text" +msgstr "" +"\n" +"mark linio kol dosiero/teksto" + +#. Highlight title +msgid "" +"\n" +" jump line col file/text" +msgstr "" +"\n" +" salt linio kol dosiero/teksto" + +#. Highlight title +msgid "" +"\n" +"change line col text" +msgstr "" +"\n" +"ÅanÄo linio kol teksto" + +#, c-format +msgid "" +"\n" +"# File marks:\n" +msgstr "" +"\n" +"# Markoj de dosiero:\n" + +#. Write the jumplist with -' +#, c-format +msgid "" +"\n" +"# Jumplist (newest first):\n" +msgstr "" +"\n" +"# Saltlisto (plej novaj unue):\n" + +#, c-format +msgid "" +"\n" +"# History of marks within files (newest to oldest):\n" +msgstr "" +"\n" +"# Historio de markoj en dosieroj (de plej nova al plej malnova):\n" + +msgid "Missing '>'" +msgstr "Mankas '>'" + +msgid "E543: Not a valid codepage" +msgstr "E543: Nevalida kodpaÄo" + +msgid "E284: Cannot set IC values" +msgstr "E284: Ne eblas agordi valorojn de IC" + +msgid "E285: Failed to create input context" +msgstr "E285: Ne eblis krei enigan kuntekston" + +msgid "E286: Failed to open input method" +msgstr "E286: Ne eblis malfermi enigan metodon" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "E287: Averto: Ne eblis agordi detruan reagfunkcion al IM" + +msgid "E288: input method doesn't support any style" +msgstr "E288: eniga metodo subtenas neniun stilon" + +# DP: mi ne scias, kio estas "preedit" +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: eniga metodo ne subtenas mian antaÅ­redaktan tipon" + +msgid "E290: over-the-spot style requires fontset" +msgstr "E290: la stilo over-the-spot bezonas tiparon" + +msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled" +msgstr "E291: Via GTK+ estas pli malnova ol 1.2.3. Stata zono malÅaltita" + +msgid "E292: Input Method Server is not running" +msgstr "E292: Servilo de eniga metodo ne rulas" + +msgid "E293: block was not locked" +msgstr "E293: bloko ne estis Ålosita" + +msgid "E294: Seek error in swap file read" +msgstr "E294: Eraro de enpoziciigo dum lego de permutodosiero .swp" + +msgid "E295: Read error in swap file" +msgstr "E295: Eraro de lego en permutodosiero .swp" + +msgid "E296: Seek error in swap file write" +msgstr "E296: Eraro de enpoziciigo dum skribo de permutodosiero .swp" + +msgid "E297: Write error in swap file" +msgstr "E297: Eraro de skribo en permutodosiero .swp" + +msgid "E300: Swap file already exists (symlink attack?)" +msgstr "E300: Permutodosiero .swp jam ekzistas (ĉu atako per simbola ligilo?)" + +msgid "E298: Didn't get block nr 0?" +msgstr "E298: Ĉu ne akiris blokon n-ro 0?" + +msgid "E298: Didn't get block nr 1?" +msgstr "E298: Ĉu ne akiris blokon n-ro 1?" + +msgid "E298: Didn't get block nr 2?" +msgstr "E298: Ĉu ne akiris blokon n-ro 2?" + +#. could not (re)open the swap file, what can we do???? +msgid "E301: Oops, lost the swap file!!!" +msgstr "E301: Ve, perdis la permutodosieron .swp!!!" + +msgid "E302: Could not rename swap file" +msgstr "E302: Ne eblis renomi la permutodosieron .swp" + +#, c-format +msgid "E303: Unable to open swap file for \"%s\", recovery impossible" +msgstr "" +"E303: Ne eblas malfermi permutodosieron .swp de \"%s\", restaÅ­ro neeblas" + +msgid "E304: ml_upd_block0(): Didn't get block 0??" +msgstr "E304: ml_upd_block0(): Ne akiris blokon 0??" + +#, c-format +msgid "E305: No swap file found for %s" +msgstr "E305: Neniu permutodosiero .swp trovita por %s" + +msgid "Enter number of swap file to use (0 to quit): " +msgstr "Entajpu la uzendan numeron de permutodosiero .swp (0 por eliri): " + +#, c-format +msgid "E306: Cannot open %s" +msgstr "E306: Ne eblas malfermi %s" + +msgid "Unable to read block 0 from " +msgstr "Ne eblas legi blokon 0 de " + +msgid "" +"\n" +"Maybe no changes were made or Vim did not update the swap file." +msgstr "" +"\n" +"Eble neniu ÅanÄo estis farita aÅ­ Vim ne Äisdatigis la permutodosieron .swp." + +msgid " cannot be used with this version of Vim.\n" +msgstr " ne uzeblas per tiu versio de vim.\n" + +msgid "Use Vim version 3.0.\n" +msgstr "Uzu version 3.0 de Vim\n" + +#, c-format +msgid "E307: %s does not look like a Vim swap file" +msgstr "E307: %s ne aspektas kiel permutodosiero .swp de Vim" + +msgid " cannot be used on this computer.\n" +msgstr " ne uzeblas per tiu komputilo.\n" + +msgid "The file was created on " +msgstr "La dosiero estas kreita je " + +msgid "" +",\n" +"or the file has been damaged." +msgstr "" +",\n" +"aÅ­ la dosiero estas difekta." + +msgid " has been damaged (page size is smaller than minimum value).\n" +msgstr " difektiÄis (paÄa grando pli malgranda ol minimuma valoro).\n" + +#, c-format +msgid "Using swap file \"%s\"" +msgstr "Uzado de permutodosiero .swp \"%s\"" + +#, c-format +msgid "Original file \"%s\"" +msgstr "Originala dosiero \"%s\"" + +msgid "E308: Warning: Original file may have been changed" +msgstr "E308: Averto: Originala dosiero eble ÅanÄiÄis" + +#, c-format +msgid "E309: Unable to read block 1 from %s" +msgstr "E309: Ne eblas legi blokon 1 de %s" + +msgid "???MANY LINES MISSING" +msgstr "???MULTAJ LINIOJ MANKAS" + +msgid "???LINE COUNT WRONG" +msgstr "???NOMBRO DE LINIOJ NE ÄœUSTAS" + +msgid "???EMPTY BLOCK" +msgstr "???MALPLENA BLOKO" + +msgid "???LINES MISSING" +msgstr "???LINIOJ MANKANTAJ" + +#, c-format +msgid "E310: Block 1 ID wrong (%s not a .swp file?)" +msgstr "" +"E310: Nevalida identigilo de bloko 1 (ĉu %s ne estas permutodosiero .swp?)" + +msgid "???BLOCK MISSING" +msgstr "???MANKAS BLOKO" + +msgid "??? from here until ???END lines may be messed up" +msgstr "??? ekde tie Äis ???FINO linioj estas eble difektaj" + +msgid "??? from here until ???END lines may have been inserted/deleted" +msgstr "??? ekde tie Äis ???FINO linioj estas eble enmetitaj/forviÅitaj" + +msgid "???END" +msgstr "???FINO" + +msgid "E311: Recovery Interrupted" +msgstr "E311: RestaÅ­ro interrompita" + +msgid "" +"E312: Errors detected while recovering; look for lines starting with ???" +msgstr "E312: Eraroj dum restaÅ­ro; rigardu liniojn komencantajn per ???" + +msgid "See \":help E312\" for more information." +msgstr "Vidu \":help E312\" por pliaj informoj." + +msgid "Recovery completed. You should check if everything is OK." +msgstr "RestaÅ­ro finiÄis. Indus kontroli ĉu ĉio estas en ordo." + +msgid "" +"\n" +"(You might want to write out this file under another name\n" +msgstr "" +"\n" +"(Indas konservi tiun dosieron per alia nomo\n" + +msgid "and run diff with the original file to check for changes)\n" +msgstr "kaj lanĉi diff kun la originala dosiero por kontroli la ÅanÄojn)\n" + +msgid "" +"Delete the .swp file afterwards.\n" +"\n" +msgstr "" +"Poste forviÅi la permutodosieron .swp.\n" +"\n" + +#. use msg() to start the scrolling properly +msgid "Swap files found:" +msgstr "Permutodosiero .swp trovita:" + +msgid " In current directory:\n" +msgstr " En la aktuala dosierujo:\n" + +msgid " Using specified name:\n" +msgstr " Uzado de specifita nomo:\n" + +msgid " In directory " +msgstr " En dosierujo " + +msgid " -- none --\n" +msgstr " -- nenio --\n" + +msgid " owned by: " +msgstr " posedata de: " + +msgid " dated: " +msgstr " dato: " + +msgid " dated: " +msgstr " dato: " + +msgid " [from Vim version 3.0]" +msgstr " [de Vim versio 3.0]" + +msgid " [does not look like a Vim swap file]" +msgstr " [ne aspektas kiel permutodosiero .swp de Vim]" + +msgid " file name: " +msgstr " dosiernomo: " + +msgid "" +"\n" +" modified: " +msgstr "" +"\n" +" modifita: " + +msgid "YES" +msgstr "JES" + +msgid "no" +msgstr "ne" + +msgid "" +"\n" +" user name: " +msgstr "" +"\n" +" uzantonomo: " + +msgid " host name: " +msgstr " komputila nomo: " + +msgid "" +"\n" +" host name: " +msgstr "" +"\n" +" komputila nomo: " + +msgid "" +"\n" +" process ID: " +msgstr "" +"\n" +" proceza ID: " + +msgid " (still running)" +msgstr " (ankoraÅ­ rulas)" + +msgid "" +"\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [ne uzebla per tiu versio de Vim]" + +msgid "" +"\n" +" [not usable on this computer]" +msgstr "" +"\n" +" [neuzebla per tiu komputilo]" + +msgid " [cannot be read]" +msgstr " [nelegebla]" + +msgid " [cannot be opened]" +msgstr " [nemalfermebla]" + +msgid "E313: Cannot preserve, there is no swap file" +msgstr "E313: Ne eblas konservi, ne estas permutodosiero .swp" + +msgid "File preserved" +msgstr "Dosiero konservita" + +msgid "E314: Preserve failed" +msgstr "E314: Konservo fiaskis" + +#, c-format +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get: nevalida lnum: %ld" + +#, c-format +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get: ne eblas trovi linion %ld" + +msgid "E317: pointer block id wrong 3" +msgstr "E317: nevalida referenco de bloko id 3" + +msgid "stack_idx should be 0" +msgstr "stack_idx devus esti 0" + +msgid "E318: Updated too many blocks?" +msgstr "E318: Ĉu Äisdatigis tro da blokoj?" + +msgid "E317: pointer block id wrong 4" +msgstr "E317: nevalida referenco de bloko id 4" + +msgid "deleted block 1?" +msgstr "ĉu forviÅita bloko 1?" + +#, c-format +msgid "E320: Cannot find line %ld" +msgstr "E320: Ne eblas trovi linion %ld" + +msgid "E317: pointer block id wrong" +msgstr "E317: nevalida referenco de bloko id" + +msgid "pe_line_count is zero" +msgstr "pe_line_count estas nul" + +#, c-format +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: numero de linio ekster limoj: %ld preter la fino" + +#, c-format +msgid "E323: line count wrong in block %ld" +msgstr "E323: nevalida nombro de linioj en bloko %ld" + +msgid "Stack size increases" +msgstr "Stako pligrandiÄas" + +msgid "E317: pointer block id wrong 2" +msgstr "E317: nevalida referenco de bloko id 2" + +#, c-format +msgid "E773: Symlink loop for \"%s\"" +msgstr "E773: Buklo de simbolaj ligiloj por \"%s\"" + +msgid "E325: ATTENTION" +msgstr "E325: ATENTO" + +msgid "" +"\n" +"Found a swap file by the name \"" +msgstr "" +"\n" +"Trovis permutodosieron .swp kun la nomo \"" + +msgid "While opening file \"" +msgstr "Dum malfermo de dosiero \"" + +msgid " NEWER than swap file!\n" +msgstr " PLI NOVA ol permutodosiero .swp!\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) Alia programo eble redaktas la saman dosieron.\n" +" Se jes, estu singarda por ne havi du malsamajn\n" +" aperojn de la sama dosiero, kiam vi faros ÅanÄojn.\n" + +msgid " Quit, or continue with caution.\n" +msgstr " Eliru, aÅ­ daÅ­rigu singarde.\n" + +msgid "" +"\n" +"(2) An edit session for this file crashed.\n" +msgstr "" +"\n" +"(2) Redakta seanco de tiu dosiero kolapsis.\n" + +msgid " If this is the case, use \":recover\" or \"vim -r " +msgstr " Se veras, uzu \":recover\" aÅ­ \"vim -r " + +msgid "" +"\"\n" +" to recover the changes (see \":help recovery\").\n" +msgstr "" +"\"\n" +" por restaÅ­ri la ÅanÄojn (vidu \":help recovery\").\n" + +msgid " If you did this already, delete the swap file \"" +msgstr " Se vi jam faris Äin, forviÅu la permutodosieron .swp \"" + +msgid "" +"\"\n" +" to avoid this message.\n" +msgstr "" +"\"\n" +" por eviti tiun mesaÄon.\n" + +msgid "Swap file \"" +msgstr "Permutodosiero .swp \"" + +msgid "\" already exists!" +msgstr "\" jam ekzistas!" + +msgid "VIM - ATTENTION" +msgstr "VIM - ATENTO" + +msgid "Swap file already exists!" +msgstr "Permutodosiero .swp jam ekzistas!" + +# AM: ĉu Vim konvertos la unuliterajn respondojn de la uzulo? +# DP: jes, la '&' respondoj bone funkcias (mi kontrolis) +msgid "" +"&Open Read-Only\n" +"&Edit anyway\n" +"&Recover\n" +"&Quit\n" +"&Abort" +msgstr "" +"&Malfermi nurlegreÄime\n" +"Tamen &redakti\n" +"Res&taÅ­ri\n" +"&Eliri\n" +"Ĉe&sigi" + +msgid "" +"&Open Read-Only\n" +"&Edit anyway\n" +"&Recover\n" +"&Delete it\n" +"&Quit\n" +"&Abort" +msgstr "" +"&Malfermi nurlegreÄime\n" +"Tamen &redakti\n" +"Res&taÅ­ri\n" +"&ForviÅi\n" +"&Eliri\n" +"Ĉe&sigi" + +msgid "E326: Too many swap files found" +msgstr "E326: Tro da dosieroj trovitaj" + +msgid "E327: Part of menu-item path is not sub-menu" +msgstr "E327: Parto de vojo de menuero ne estas sub-menuo" + +msgid "E328: Menu only exists in another mode" +msgstr "E328: Menuo nur ekzistas en alia reÄimo" + +#, c-format +msgid "E329: No menu \"%s\"" +msgstr "E329: Neniu menuo \"%s\"" + +#. Only a mnemonic or accelerator is not valid. +msgid "E792: Empty menu name" +msgstr "E792: Malplena nomo de menuo" + +msgid "E330: Menu path must not lead to a sub-menu" +msgstr "E330: Vojo de menuo ne rajtas konduki al sub-menuo." + +msgid "E331: Must not add menu items directly to menu bar" +msgstr "E331: Aldono de menueroj direkte al menuzono estas malpermesita" + +msgid "E332: Separator cannot be part of a menu path" +msgstr "E332: Disigilo ne rajtas esti ero de vojo de menuo" + +#. Now we have found the matching menu, and we list the mappings +#. Highlight title +msgid "" +"\n" +"--- Menus ---" +msgstr "" +"\n" +"--- Menuoj ---" + +msgid "Tear off this menu" +msgstr "Disigi tiun menuon" + +msgid "E333: Menu path must lead to a menu item" +msgstr "E333: Vojo de menuo devas konduki al menuero" + +#, c-format +msgid "E334: Menu not found: %s" +msgstr "E334: Menuo netrovita: %s" + +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Menuo ne estas difinita por reÄimo %s" + +msgid "E336: Menu path must lead to a sub-menu" +msgstr "E336: Vojo de menuo devas konduki al sub-menuo" + +msgid "E337: Menu not found - check menu names" +msgstr "E337: Menuo ne trovita - kontrolu nomojn de menuoj" + +#, c-format +msgid "Error detected while processing %s:" +msgstr "Eraro okazis dum traktado de %s:" + +#, c-format +msgid "line %4ld:" +msgstr "linio %4ld:" + +#, c-format +msgid "E354: Invalid register name: '%s'" +msgstr "E354: Nevalida nomo de reÄistro: '%s'" + +msgid "Messages maintainer: Bram Moolenaar " +msgstr "Flegado de mesaÄoj: Dominique PELLÉ " + +msgid "Interrupt: " +msgstr "Interrompo: " + +msgid "Press ENTER or type command to continue" +msgstr "Premu ENEN-KLAVON aÅ­ tajpu komandon por daÅ­rigi" + +#, c-format +msgid "%s line %ld" +msgstr "%s linio %ld" + +msgid "-- More --" +msgstr "-- Pli --" + +msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " +msgstr " SPACETO/d/j: ekrano/paÄo/sub linio, b/u/k: supre, q: eliri " + +msgid "Question" +msgstr "Demando" + +msgid "" +"&Yes\n" +"&No" +msgstr "" +"&Jes\n" +"&Ne" + +# AM: ĉu Vim konvertos unuliterajn respondojn? +# DP: jes, '&' bone funkcias (mi kontrolis) +msgid "" +"&Yes\n" +"&No\n" +"Save &All\n" +"&Discard All\n" +"&Cancel" +msgstr "" +"&Jes\n" +"&Ne\n" +"&Konservi Ĉion\n" +"&Forlasi Ĉion\n" +"&Rezigni" + +msgid "Select Directory dialog" +msgstr "Dialogujo de dosiera elekto" + +msgid "Save File dialog" +msgstr "Dialogujo de dosiera konservo" + +msgid "Open File dialog" +msgstr "Dialogujo de dosiera malfermo" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: BedaÅ­rinde ne estas dosierfoliumilo en konzola reÄimo" + +msgid "E766: Insufficient arguments for printf()" +msgstr "E766: Ne sufiĉaj argumentoj por printf()" + +msgid "E807: Expected Float argument for printf()" +msgstr "E807: Atendis Glitpunktnombron kiel argumento de printf()" + +msgid "E767: Too many arguments to printf()" +msgstr "E767: Tro da argumentoj al printf()" + +msgid "W10: Warning: Changing a readonly file" +msgstr "W10: Averto: ÅœanÄo de nurlegebla dosiero" + +msgid "Type number or click with mouse ( cancels): " +msgstr "Tajpu nombron aÅ­ musklaku ( rezignas): " + +msgid "Choice number ( cancels): " +msgstr "Tajpu numeron ( rezignas): " + +msgid "1 more line" +msgstr "1 plia linio" + +msgid "1 line less" +msgstr "1 malplia linio" + +#, c-format +msgid "%ld more lines" +msgstr "%ld pliaj linioj" + +#, c-format +msgid "%ld fewer lines" +msgstr "%ld malpliaj linioj" + +msgid " (Interrupted)" +msgstr " (Interrompita)" + +msgid "Beep!" +msgstr "Bip!" + +msgid "Vim: preserving files...\n" +msgstr "Vim: konservo de dosieroj...\n" + +#. close all memfiles, without deleting +msgid "Vim: Finished.\n" +msgstr "Vim: Finita.\n" + +#, c-format +msgid "ERROR: " +msgstr "ERARO: " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[bajtoj] totalaj disponigitaj/maldisponigitaj %lu-%lu, nun uzataj %lu, " +"kulmina uzo %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[alvokoj] totalaj re/malloc() %lu, totalaj free() %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: Linio iÄas tro longa" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: Interna eraro: lalloc(%ld, )" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: Ne plu restas memoro! (disponigo de %lu bajtoj)" + +#, c-format +msgid "Calling shell to execute: \"%s\"" +msgstr "Alvokas Åelon por plenumi: \"%s\"" + +msgid "E545: Missing colon" +msgstr "E545: Mankas dupunkto" + +msgid "E546: Illegal mode" +msgstr "E546: ReÄimo nepermesata" + +msgid "E547: Illegal mouseshape" +msgstr "E547: Nevalida formo de muskursoro" + +msgid "E548: digit expected" +msgstr "E548: cifero atendata" + +msgid "E549: Illegal percentage" +msgstr "E549: Nevalida procento" + +msgid "Enter encryption key: " +msgstr "Tajpu la Ålosilon de ĉifrado: " + +msgid "Enter same key again: " +msgstr "Tajpu la Ålosilon denove: " + +msgid "Keys don't match!" +msgstr "Åœlosiloj ne kongruas!" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: Nevalida vojo: '**[nombro]' devas esti ĉe la fino de la vojo aÅ­ " +"sekvita de '%s'." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: Ne eblas trovi dosierujon \"%s\" en cdpath" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: Ne eblas trovi dosieron \"%s\" en serĉvojo" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: Ne plu trovis dosierujon \"%s\" en cdpath" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: Ne plu trovis dosieron \"%s\" en serĉvojo" + +msgid "Cannot connect to Netbeans #2" +msgstr "Ne eblas konekti al Netbeans n-ro 2" + +msgid "Cannot connect to Netbeans" +msgstr "Ne eblas konekti al Netbeans" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "" +"E668: Nevalida permeso de dosiero de informo de konekto NetBeans: \"%s\"" + +msgid "read from Netbeans socket" +msgstr "lego el kontaktoskatolo de Netbeans" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: Konekto de NetBeans perdita por bufro %ld" + +msgid "E505: " +msgstr "E505: " + +msgid "E774: 'operatorfunc' is empty" +msgstr "E774: 'operatorfunc' estas malplena" + +# DP: ĉu Eval devas esti tradukita? +msgid "E775: Eval feature not available" +msgstr "E775: Eval eblo ne disponeblas" + +msgid "Warning: terminal cannot highlight" +msgstr "Averto: terminalo ne povas emfazi" + +msgid "E348: No string under cursor" +msgstr "E348: Neniu ĉeno sub la kursoro" + +msgid "E349: No identifier under cursor" +msgstr "E349: Neniu identigilo sub la kursoro" + +msgid "E352: Cannot erase folds with current 'foldmethod'" +msgstr "E352: Ne eblas forviÅi faldon per aktuala 'foldmethod'" + +msgid "E664: changelist is empty" +msgstr "E664: Listo de ÅanÄoj estas malplena" + +msgid "E662: At start of changelist" +msgstr "E662: Ĉe komenco de ÅanÄlisto" + +msgid "E663: At end of changelist" +msgstr "E663: Ĉe fino de ÅanÄlisto" + +msgid "Type :quit to exit Vim" +msgstr "Tajpu \":quit\" por eliri el Vim" + +#, c-format +msgid "1 line %sed 1 time" +msgstr "1 linio %sita 1 foje" + +#, c-format +msgid "1 line %sed %d times" +msgstr "1 linio %sita %d foje" + +#, c-format +msgid "%ld lines %sed 1 time" +msgstr "%ld linio %sita 1 foje" + +#, c-format +msgid "%ld lines %sed %d times" +msgstr "%ld linioj %sitaj %d foje" + +#, c-format +msgid "%ld lines to indent... " +msgstr "%ld krommarÄenendaj linioj... " + +msgid "1 line indented " +msgstr "1 linio krommarÄenita " + +#, c-format +msgid "%ld lines indented " +msgstr "%ld linioj krommarÄenitaj " + +msgid "E748: No previously used register" +msgstr "E748: Neniu reÄistro antaÅ­e uzata" + +#. must display the prompt +msgid "cannot yank; delete anyway" +msgstr "ne eblas kopii; forviÅi tamene" + +msgid "1 line changed" +msgstr "1 linio ÅanÄita" + +#, c-format +msgid "%ld lines changed" +msgstr "%ld linioj ÅanÄitaj" + +#, c-format +msgid "freeing %ld lines" +msgstr "malokupas %ld liniojn" + +msgid "block of 1 line yanked" +msgstr "bloko de 1 linio kopiita" + +msgid "1 line yanked" +msgstr "1 linio kopiita" + +#, c-format +msgid "block of %ld lines yanked" +msgstr "bloko de %ld linioj kopiita" + +#, c-format +msgid "%ld lines yanked" +msgstr "%ld linioj kopiitaj" + +#, c-format +msgid "E353: Nothing in register %s" +msgstr "E353: Nenio en reÄistro %s" + +#. Highlight title +msgid "" +"\n" +"--- Registers ---" +msgstr "" +"\n" +"--- ReÄistroj ---" + +msgid "Illegal register name" +msgstr "Nevalida nomo de reÄistro" + +#, c-format +msgid "" +"\n" +"# Registers:\n" +msgstr "" +"\n" +"# ReÄistroj:\n" + +#, c-format +msgid "E574: Unknown register type %d" +msgstr "E574: Nekonata tipo de reÄistro %d" + +#, c-format +msgid "%ld Cols; " +msgstr "%ld Kolumnoj; " + +#, c-format +msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" +msgstr "Apartigis %s%ld de %ld Linioj; %ld de %ld Vortoj; %ld de %ld Bajtoj" + +#, c-format +msgid "" +"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld " +"Bytes" +msgstr "" +"Apartigis %s%ld de %ld Linioj; %ld de %ld Vortoj; %ld de %ld Signoj; %ld de %" +"ld Bajtoj" + +#, c-format +msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" +msgstr "Kol %s de %s; Linio %ld de %ld; Vorto %ld de %ld; Bajto %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 "" +"Kol %s de %s; Linio %ld de %ld; Vorto %ld de %ld; Signo %ld de %ld; Bajto %" +"ld de %ld" + +#, c-format +msgid "(+%ld for BOM)" +msgstr "(+%ld por BOM)" + +msgid "%<%f%h%m%=Page %N" +msgstr "%<%f%h%m%=Folio %N" + +msgid "Thanks for flying Vim" +msgstr "Dankon pro flugi per Vim" + +msgid "E518: Unknown option" +msgstr "E518: Nekonata opcio" + +msgid "E519: Option not supported" +msgstr "E519: Opcio ne subtenita" + +msgid "E520: Not allowed in a modeline" +msgstr "E520: Ne permesita en reÄimlinio" + +msgid "E521: Number required after =" +msgstr "E521: Nombro bezonata malantaÅ­ =" + +msgid "E522: Not found in termcap" +msgstr "E522: Netrovita en termcap" + +#, c-format +msgid "E539: Illegal character <%s>" +msgstr "E539: Nevalida signo <%s>" + +msgid "E529: Cannot set 'term' to empty string" +msgstr "E529: Ne eblas agordi 'term' al malplena ĉeno" + +msgid "E530: Cannot change term in GUI" +msgstr "E530: term ne ÅanÄeblas en grafika interfaco" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: Uzu \":gui\" por lanĉi la grafikan interfacon" + +msgid "E589: 'backupext' and 'patchmode' are equal" +msgstr "E589: 'backupext' kaj 'patchmode' estas egalaj" + +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: Ne ÅanÄeblas en la grafika interfaco GTK+ 2" + +msgid "E524: Missing colon" +msgstr "E524: Mankas dupunkto" + +msgid "E525: Zero length string" +msgstr "E525: Ĉeno de nula longo" + +#, c-format +msgid "E526: Missing number after <%s>" +msgstr "E526: Mankas nombro malantaÅ­ <%s>" + +msgid "E527: Missing comma" +msgstr "E527: Mankas komo" + +msgid "E528: Must specify a ' value" +msgstr "E528: Devas specifi ' valoron" + +msgid "E595: contains unprintable or wide character" +msgstr "E595: enhavas nepreseblan aÅ­ plurĉellarÄan signon" + +msgid "E596: Invalid font(s)" +msgstr "E596: Nevalida(j) tiparo(j)" + +msgid "E597: can't select fontset" +msgstr "E597: ne eblas elekti tiparon" + +msgid "E598: Invalid fontset" +msgstr "E598: Nevalida tiparo" + +msgid "E533: can't select wide font" +msgstr "E533: ne eblas elekti larÄan tiparon" + +msgid "E534: Invalid wide font" +msgstr "E534: Nevalida larÄa tiparo" + +#, c-format +msgid "E535: Illegal character after <%c>" +msgstr "E535: Nevalida signo malantaÅ­ <%c>" + +msgid "E536: comma required" +msgstr "E536: komo bezonata" + +#, c-format +msgid "E537: 'commentstring' must be empty or contain %s" +msgstr "E537: 'commentstring' devas esti malplena aÅ­ enhavi %s" + +msgid "E538: No mouse support" +msgstr "E538: Neniu muso subtenita" + +msgid "E540: Unclosed expression sequence" +msgstr "E540: '}' mankas" + +msgid "E541: too many items" +msgstr "E541: tro da elementoj" + +msgid "E542: unbalanced groups" +msgstr "E542: misekvilibritaj grupoj" + +msgid "E590: A preview window already exists" +msgstr "E590: AntaÅ­vida fenestro jam ekzistas" + +msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" +msgstr "W17: La araba bezonas UTF-8, tajpu \":set encoding=utf-8\"" + +#, c-format +msgid "E593: Need at least %d lines" +msgstr "E593: Bezonas almenaÅ­ %d liniojn" + +#, c-format +msgid "E594: Need at least %d columns" +msgstr "E594: Bezonas almenaÅ­ %d kolumnojn" + +#, c-format +msgid "E355: Unknown option: %s" +msgstr "E355: Nekonata opcio: %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: Nombro bezonata: &%s = '%s'" + +msgid "" +"\n" +"--- Terminal codes ---" +msgstr "" +"\n" +"--- Kodoj de terminalo ---" + +msgid "" +"\n" +"--- Global option values ---" +msgstr "" +"\n" +"--- Mallokaj opcioj ---" + +msgid "" +"\n" +"--- Local option values ---" +msgstr "" +"\n" +"--- Valoroj de lokaj opcioj ---" + +msgid "" +"\n" +"--- Options ---" +msgstr "" +"\n" +"--- Opcioj ---" + +msgid "E356: get_varp ERROR" +msgstr "E356: ERARO get_varp" + +#, c-format +msgid "E357: 'langmap': Matching character missing for %s" +msgstr "E357: 'langmap': Kongrua signo mankas por %s" + +#, c-format +msgid "E358: 'langmap': Extra characters after semicolon: %s" +msgstr "E358: 'langmap': Ekstraj signoj malantaÅ­ punktokomo: %s" + +msgid "cannot open " +msgstr "ne eblas malfermi " + +msgid "VIM: Can't open window!\n" +msgstr "VIM: Ne eblas malfermi fenestron!\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Bezonas version 2.04 de Amigados aÅ­ pli novan\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "Bezonas %s-on versio %ld\n" + +msgid "Cannot open NIL:\n" +msgstr "Ne eblas malfermi NIL:\n" + +msgid "Cannot create " +msgstr "Ne eblas krei " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim eliras kun %d\n" + +msgid "cannot change console mode ?!\n" +msgstr "ne eblas ÅanÄi reÄimon de konzolo?!\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize: ne estas konzolo??\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: Ne eblas plenumi Åelon kun opcio -f" + +msgid "Cannot execute " +msgstr "Ne eblas plenumi " + +msgid "shell " +msgstr "Åelo " + +msgid " returned\n" +msgstr " liveris\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE tro malgranda." + +msgid "I/O ERROR" +msgstr "ERARO DE ENIGO/ELIGO" + +msgid "Message" +msgstr "MesaÄo" + +msgid "'columns' is not 80, cannot execute external commands" +msgstr "'columns' ne estas 80, ne eblas plenumi eksternajn komandojn" + +msgid "E237: Printer selection failed" +msgstr "E237: Elekto de presilo fiaskis" + +#, c-format +msgid "to %s on %s" +msgstr "al %s de %s" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: Nekonata tiparo de presilo: %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: Eraro de presado: %s" + +#, c-format +msgid "Printing '%s'" +msgstr "Presas \"%s\"" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "E244: Nevalida nomo de signaro \"%s\" en nomo de tiparo \"%s\"" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: Nevalida signo '%c' en nomo de tiparo \"%s\"" + +# DP: ĉu traduki Text? +msgid "E366: Invalid 'osfiletype' option - using Text" +msgstr "E366: Nevalida opcio 'osfiletype' - uzas Text" + +msgid "Vim: Double signal, exiting\n" +msgstr "Vim: Duobla signalo, eliranta\n" + +#, c-format +msgid "Vim: Caught deadly signal %s\n" +msgstr "Vim: Kaptis mortigantan signalon %s\n" + +#, c-format +msgid "Vim: Caught deadly signal\n" +msgstr "Vim: Kaptis mortigantan signalon\n" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "Malfermo de vidigo X daÅ­ris %ld msek" + +msgid "" +"\n" +"Vim: Got X error\n" +msgstr "" +"\n" +"Vim: Alvenis X eraro\n" + +msgid "Testing the X display failed" +msgstr "Testo de la vidigo X fiaskis" + +msgid "Opening the X display timed out" +msgstr "Tempolimo okazis dum malfermo de vidigo X" + +msgid "" +"\n" +"Could not get security context for " +msgstr "" +"\n" +"Ne povis akiri kuntekston de sekureco por " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Ne povis Åalti kuntekston de sekureco por " + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Ne eblas plenumi Åelon " + +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"Ne eblas plenumi Åelon sh\n" + +msgid "" +"\n" +"shell returned " +msgstr "" +"\n" +"Åelo liveris " + +msgid "" +"\n" +"Cannot create pipes\n" +msgstr "" +"\n" +"Ne eblas krei duktojn\n" + +msgid "" +"\n" +"Cannot fork\n" +msgstr "" +"\n" +"Ne eblas forki\n" + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"Komando terminigita\n" + +msgid "XSMP lost ICE connection" +msgstr "XSMP perdis la konekton ICE" + +#, c-format +msgid "dlerror = \"%s\"" +msgstr "dlerror = \"%s\"" + +msgid "Opening the X display failed" +msgstr "Malfermo de vidigo X fiaskis" + +msgid "XSMP handling save-yourself request" +msgstr "XSMP: traktado de peto konservi-mem" + +msgid "XSMP opening connection" +msgstr "XSMP: malfermo de konekto" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP: kontrolo de konekto ICE fiaskis" + +#, c-format +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP: SmcOpenConnection fiaskis: %s" + +msgid "At line" +msgstr "Ĉe linio" + +msgid "Could not load vim32.dll!" +msgstr "Ne eblis Åargi vim32.dll!" + +msgid "VIM Error" +msgstr "Eraro de VIM" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "Ne eblis ripari referencojn de funkcioj al la DLL!" + +#, c-format +msgid "shell returned %d" +msgstr "la Åelo liveris %d" + +# DP: la eventoj estas tiuj, kiuj estas en la sekvantaj ĉenoj +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim: Kaptis eventon %s\n" + +msgid "close" +msgstr "fermo" + +msgid "logoff" +msgstr "elsaluto" + +msgid "shutdown" +msgstr "sistemfermo" + +msgid "E371: Command not found" +msgstr "E371: Netrovebla komando" + +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 ne troveblas en via $PATH.\n" +"Eksteraj komandoj ne paÅ­zos post kompletigo.\n" +"Vidu :help win32-vimrun por pliaj informoj." + +msgid "Vim Warning" +msgstr "Averto de Vim" + +#, c-format +msgid "E372: Too many %%%c in format string" +msgstr "E372: Tro da %%%c en formata ĉeno" + +#, c-format +msgid "E373: Unexpected %%%c in format string" +msgstr "E373: Neatendita %%%c en formata ĉeno" + +msgid "E374: Missing ] in format string" +msgstr "E374: Mankas ] en formata ĉeno" + +#, c-format +msgid "E375: Unsupported %%%c in format string" +msgstr "E375: Nesubtenita %%%c en formata ĉeno" + +#, c-format +msgid "E376: Invalid %%%c in format string prefix" +msgstr "E376: Nevalida %%%c en prefikso de formata ĉeno" + +#, c-format +msgid "E377: Invalid %%%c in format string" +msgstr "E377: Nevalida %%%c en formata ĉeno" + +msgid "E378: 'errorformat' contains no pattern" +msgstr "E378: 'errorformat' enhavas neniun Åablonon" + +msgid "E379: Missing or empty directory name" +msgstr "E379: Nomo de dosierujo mankas aÅ­ estas malplena" + +msgid "E553: No more items" +msgstr "E553: Ne plu estas eroj" + +#, c-format +msgid "(%d of %d)%s%s: " +msgstr "(%d de %d)%s%s: " + +msgid " (line deleted)" +msgstr " (forviÅita linio)" + +msgid "E380: At bottom of quickfix stack" +msgstr "E380: Ĉe la subo de stako de rapidriparo" + +msgid "E381: At top of quickfix stack" +msgstr "E381: Ĉe la supro de stako de rapidriparo" + +#, c-format +msgid "error list %d of %d; %d errors" +msgstr "listo de eraroj %d de %d; %d eraroj" + +msgid "E382: Cannot write, 'buftype' option is set" +msgstr "E382: Ne eblas skribi, opcio 'buftype' estas Åaltita" + +msgid "E683: File name missing or invalid pattern" +msgstr "E683: Dosiernomo mankas aÅ­ nevalida Åablono" + +#, c-format +msgid "Cannot open file \"%s\"" +msgstr "Ne eblas malfermi dosieron \"%s\"" + +msgid "E681: Buffer is not loaded" +msgstr "E681: Bufro ne estas Åargita" + +msgid "E777: String or List expected" +msgstr "E777: Ĉeno aÅ­ Listo atendita" + +#, c-format +msgid "E369: invalid item in %s%%[]" +msgstr "E369: nevalida ano en %s%%[]" + +msgid "E339: Pattern too long" +msgstr "E339: Åœablono tro longa" + +msgid "E50: Too many \\z(" +msgstr "E50: Tro da \\z(" + +#, c-format +msgid "E51: Too many %s(" +msgstr "E51: Tro da %s(" + +msgid "E52: Unmatched \\z(" +msgstr "E52: Neekvilibra \\z(" + +#, c-format +msgid "E53: Unmatched %s%%(" +msgstr "E53: Neekvilibra %s%%(" + +#, c-format +msgid "E54: Unmatched %s(" +msgstr "E54: Neekvilibra %s(" + +#, c-format +msgid "E55: Unmatched %s)" +msgstr "E55: Neekvilibra %s" + +#, c-format +msgid "E59: invalid character after %s@" +msgstr "E59: nevalida signo malantaÅ­ %s@" + +#, c-format +msgid "E60: Too many complex %s{...}s" +msgstr "E60: Tro da kompleksaj %s{...}-oj" + +#, c-format +msgid "E61: Nested %s*" +msgstr "E61: Ingita %s*" + +#, c-format +msgid "E62: Nested %s%c" +msgstr "E62: Ingita %s%c" + +msgid "E63: invalid use of \\_" +msgstr "E63: nevalida uzo de \\_" + +#, c-format +msgid "E64: %s%c follows nothing" +msgstr "E64: %s%c sekvas nenion" + +msgid "E65: Illegal back reference" +msgstr "E65: Nevalida retro-referenco" + +msgid "E66: \\z( not allowed here" +msgstr "E66: \\z( estas malpermesa tie" + +# DP: vidu http://www.thefreedictionary.com/et+al. +msgid "E67: \\z1 et al. not allowed here" +msgstr "E67: \\z1 kaj aliaj estas malpermesataj tie" + +msgid "E68: Invalid character after \\z" +msgstr "E68: Nevalida signo malantaÅ­ \\z" + +#, c-format +msgid "E69: Missing ] after %s%%[" +msgstr "E69: Mankas ] malantaÅ­ %s%%[" + +#, c-format +msgid "E70: Empty %s%%[]" +msgstr "E70: Malplena %s%%[]" + +#, c-format +msgid "E678: Invalid character after %s%%[dxouU]" +msgstr "E678: Nevalida signo malantaÅ­ %s%%[dxouU]" + +#, c-format +msgid "E71: Invalid character after %s%%" +msgstr "E71: Nevalida signo malantaÅ­ %s%%" + +#, c-format +msgid "E769: Missing ] after %s[" +msgstr "E769: Mankas ] malantaÅ­ %s[" + +#, c-format +msgid "E554: Syntax error in %s{...}" +msgstr "E554: Sintaksa eraro en %s{...}" + +msgid "External submatches:\n" +msgstr "Eksteraj subkongruoj:\n" + +msgid " VREPLACE" +msgstr " V-ANSTATAŬIGO" + +msgid " REPLACE" +msgstr " ANSTATAŬIGO" + +msgid " REVERSE" +msgstr " INVERSI" + +msgid " INSERT" +msgstr " ENMETO" + +msgid " (insert)" +msgstr " (enmeto)" + +msgid " (replace)" +msgstr " (anstataÅ­igo)" + +msgid " (vreplace)" +msgstr " (v-anstataÅ­igo)" + +msgid " Hebrew" +msgstr " hebrea" + +msgid " Arabic" +msgstr " araba" + +msgid " (lang)" +msgstr " (lingvo)" + +msgid " (paste)" +msgstr " (algluo)" + +msgid " VISUAL" +msgstr " VIDUMA" + +msgid " VISUAL LINE" +msgstr " VIDUMA LINIO" + +msgid " VISUAL BLOCK" +msgstr " VIDUMA BLOKO" + +msgid " SELECT" +msgstr " APARTIGO" + +msgid " SELECT LINE" +msgstr " APARTIGITA LINIO" + +msgid " SELECT BLOCK" +msgstr " APARTIGITA BLOKO" + +msgid "recording" +msgstr "registrado" + +#, c-format +msgid "E383: Invalid search string: %s" +msgstr "E383: Nevalida serĉenda ĉeno: %s" + +#, c-format +msgid "E384: search hit TOP without match for: %s" +msgstr "E384: serĉo atingis SUPRON sen trovi: %s" + +#, c-format +msgid "E385: search hit BOTTOM without match for: %s" +msgstr "E385: serĉo atingis SUBON sen trovi: %s" + +msgid "E386: Expected '?' or '/' after ';'" +msgstr "E386: Atendis '?' aÅ­ '/' malantaÅ­ ';'" + +msgid " (includes previously listed match)" +msgstr " (enhavas antaÅ­e listigitajn kongruojn)" + +#. cursor at status line +msgid "--- Included files " +msgstr "--- Inkluzivitaj dosieroj " + +msgid "not found " +msgstr "netrovita " + +msgid "in path ---\n" +msgstr "en serĉvojo ---\n" + +msgid " (Already listed)" +msgstr " (Jam listigita)" + +msgid " NOT FOUND" +msgstr " NETROVITA" + +#, c-format +msgid "Scanning included file: %s" +msgstr "Skanado de inkluzivitaj dosieroj: %s" + +#, c-format +msgid "Searching included file %s" +msgstr "Serĉado de inkluzivitaj dosieroj %s" + +msgid "E387: Match is on current line" +msgstr "E387: Kongruo estas ĉe aktuala linio" + +msgid "All included files were found" +msgstr "Ĉiuj inkluzivitaj dosieroj estis trovitaj" + +msgid "No included files" +msgstr "Neniu inkluzivita dosiero" + +msgid "E388: Couldn't find definition" +msgstr "E388: Ne eblis trovi difinon" + +msgid "E389: Couldn't find pattern" +msgstr "E389: Ne eblis trovi Åablonon" + +msgid "Substitute " +msgstr "AnstataÅ­igi " + +#, c-format +msgid "" +"\n" +"# Last %sSearch Pattern:\n" +"~" +msgstr "" +"\n" +"# Lasta serĉa Åablono %s:\n" +"~" + +msgid "E759: Format error in spell file" +msgstr "E759: Eraro de formato en literuma dosiero" + +msgid "E758: Truncated spell file" +msgstr "E758: Trunkita literuma dosiero" + +#, c-format +msgid "Trailing text in %s line %d: %s" +msgstr "Vosta teksto en %s linio %d: %s" + +#, c-format +msgid "Affix name too long in %s line %d: %s" +msgstr "Nomo de afikso tro longa en %s linio %d: %s" + +msgid "E761: Format error in affix file FOL, LOW or UPP" +msgstr "E761: Eraro de formato en afiksa dosiero FOL, LOW aÅ­ UPP" + +msgid "E762: Character in FOL, LOW or UPP is out of range" +msgstr "E762: Signo en FOL, LOW aÅ­ UPP estas ekster limoj" + +msgid "Compressing word tree..." +msgstr "Densigas arbon de vortoj" + +msgid "E756: Spell checking is not enabled" +msgstr "E756: Literumilo ne estas Åaltita" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Averto: Ne eblas trovi vortliston \"%s.%s.spl\" aÅ­ \"%s.ascii.spl\"" + +#, c-format +msgid "Reading spell file \"%s\"" +msgstr "Legado de literuma dosiero \"%s\"" + +msgid "E757: This does not look like a spell file" +msgstr "E757: Tio ne Åajnas esti literuma dosiero" + +msgid "E771: Old spell file, needs to be updated" +msgstr "E771: Malnova literuma dosiero, Äisdatigo bezonata" + +msgid "E772: Spell file is for newer version of Vim" +msgstr "E772: Literuma dosiero estas por pli nova versio de Vim" + +msgid "E770: Unsupported section in spell file" +msgstr "E770: Nesubtenita sekcio en literuma dosiero" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Averto: regiono %s ne subtenita" + +#, c-format +msgid "Reading affix file %s ..." +msgstr "Legado de afiksa dosiero %s..." + +#, c-format +msgid "Conversion failure for word in %s line %d: %s" +msgstr "Malsukceso dum konverto de vorto en %s linio %d: %s" + +#, c-format +msgid "Conversion in %s not supported: from %s to %s" +msgstr "Konverto en %s nesubtenita: de %s al %s" + +#, c-format +msgid "Conversion in %s not supported" +msgstr "Konverto en %s nesubtenita" + +#, c-format +msgid "Invalid value for FLAG in %s line %d: %s" +msgstr "Nevalida valoro de FLAG en %s linio %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG maltantaÅ­ flagoj en %s linio %d: %s" + +#, c-format +msgid "" +"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"Difino de COMPOUNDFORBIDFLAG malantaÅ­ ano PFX povas doni neÄustajn rezultojn " +"en %s linio %d" + +#, c-format +msgid "" +"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"Difino de COMPOUNDPERMITFLAG malantaÅ­ ano PFX povas doni neÄustajn rezultojn " +"en %s linio %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Nevalida valoro de COMPOUNDWORDMAX en %s linio %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Nevalida valoro de COMPOUNDMIN en %s linio %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Nevalida valoro de COMPOUNDSYLMAX en %s linio %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Nevalida valoro de CHECKCOMPOUNDPATTERN en %s linio %d: %s" + +#, c-format +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "Malsama flago de kombino en daÅ­ra bloko de afikso en %s linio %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Ripetita afikso en %s linio %d: %s" + +#, c-format +msgid "" +"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " +"line %d: %s" +msgstr "" +"Afikso ankaÅ­ uzata por BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST en " +"%s linio %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "Y aÅ­ N atendita en %s linio %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Nevalida kondiĉo en %s linio %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "Neatendita nombro REP(SAL) en %s linio %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "Neatendita nombro de MAPen %s linio %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Ripetita signo en MAP en %s linio %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Neagnoskita aÅ­ ripetita ano en %s linio %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Mankas linio FOL/LOW/UPP en %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "COMPOUNDSYLMAX uzita sen SYLLABLE" + +msgid "Too many postponed prefixes" +msgstr "Tro da prokrastitaj prefiksoj" + +msgid "Too many compound flags" +msgstr "Tro da kunmetitaj flagoj" + +msgid "Too many postponed prefixes and/or compound flags" +msgstr "Tro da prokrastitaj prefiksoj kaj/aÅ­ kunmetitaj flagoj" + +#, c-format +msgid "Missing SOFO%s line in %s" +msgstr "Mankas SOFO%s-aj linioj en %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "AmbaÅ­ SAL kaj SOFO linioj en %s" + +#, c-format +msgid "Flag is not a number in %s line %d: %s" +msgstr "Flago ne estas nombro en %s linio %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Nevalida flago en %s linio %d: %s" + +#, c-format +msgid "%s value differs from what is used in another .aff file" +msgstr "Valoro de %s malsamas ol tiu en alia dosiero .aff" + +#, c-format +msgid "Reading dictionary file %s ..." +msgstr "Legado de vortardosiero %s..." + +#, c-format +msgid "E760: No word count in %s" +msgstr "E760: Ne estas nombro de vortoj en %s" + +#, c-format +msgid "line %6d, word %6d - %s" +msgstr "linio %6d, vorto %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Ripetita vorto en %s linio %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "Unua ripetita vorto en %s linio %d: %s" + +#, c-format +msgid "%d duplicate word(s) in %s" +msgstr "%d ripetita(j) vorto(j) en %s" + +#, c-format +msgid "Ignored %d word(s) with non-ASCII characters in %s" +msgstr "%d ignorita(j) vorto(j) kun neaskiaj signoj en %s" + +#, c-format +msgid "Reading word file %s ..." +msgstr "Legado de dosiero de vortoj %s ..." + +#, c-format +msgid "Duplicate /encoding= line ignored in %s line %d: %s" +msgstr "Ripetita linio /encoding= ignorita en %s linio %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "Linio /encoding= malantaÅ­ vorto ignorita en %s linio %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "Ripetita linio /regions= ignorita en %s linio %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "Tro da regionoj en %s linio %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "Linio / ignorita en %s linio %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Nevalida regiono nr en %s linio %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Nekonata flago en %s linio %d: %s" + +#, c-format +msgid "Ignored %d words with non-ASCII characters" +msgstr "Ignoris %d vorto(j)n kun neaskiaj signoj" + +#, c-format +msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +msgstr "Densigis %d de %d nodoj; %d (%d%%) restantaj" + +msgid "Reading back spell file..." +msgstr "Relegas la dosieron de literumo..." + +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. +msgid "Performing soundfolding..." +msgstr "Fonetika analizado..." + +#, c-format +msgid "Number of words after soundfolding: %ld" +msgstr "Nombro de vortoj post fonetika analizado: %ld" + +#, c-format +msgid "Total number of words: %d" +msgstr "Totala nombro de vortoj: %d" + +#, c-format +msgid "Writing suggestion file %s ..." +msgstr "Skribado de dosiero de sugesto %s ..." + +#, c-format +msgid "Estimated runtime memory use: %d bytes" +msgstr "Evaluo de memoro uzata: %d bajtoj" + +msgid "E751: Output file name must not have region name" +msgstr "E751: Nomo de eliga dosiero ne devas havi nomon de regiono" + +msgid "E754: Only up to 8 regions supported" +msgstr "E754: Nur 8 regionoj subtenitaj" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Nevalida regiono en %s" + +msgid "Warning: both compounding and NOBREAK specified" +msgstr "Averto: ambaÅ­ NOBREAK kaj NOBREAK specifitaj" + +#, c-format +msgid "Writing spell file %s ..." +msgstr "Skribado de literuma dosiero %s..." + +msgid "Done!" +msgstr "Farita!" + +#, c-format +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' ne havas %ld rikordojn" + +#, c-format +msgid "Word removed from %s" +msgstr "Vorto fortirita el %s" + +#, c-format +msgid "Word added to %s" +msgstr "Vorto aldonita al %s" + +msgid "E763: Word characters differ between spell files" +msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj" + +msgid "Sorry, no suggestions" +msgstr "BedaÅ­rinde ne estas sugestoj" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "BedaÅ­rinde estas nur %ld sugestoj" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "AnstataÅ­igi \"%.*s\" per:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Neniu antaÅ­a literuma anstataÅ­igo" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Netrovita: %s" + +#, c-format +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Tio ne Åajnas esti dosiero .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Malnova dosiero .sug, bezonas Äisdatigon: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Dosiero .sug estas por pli nova versio de Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Dosiero .sug ne kongruas kun dosiero .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: eraro dum legado de dosiero .sug: %s" + +#. This should have been checked when generating the .spl +#. * file. +msgid "E783: duplicate char in MAP entry" +msgstr "E783: ripetita signo en rikordo MAP" + +#, c-format +msgid "E390: Illegal argument: %s" +msgstr "E390: Nevalida argumento: %s" + +#, c-format +msgid "E391: No such syntax cluster: %s" +msgstr "E391: Nenia sintaksa fasko: %s" + +msgid "No Syntax items defined for this buffer" +msgstr "Neniu sintaksa elemento difinita por tiu bufro" + +msgid "syncing on C-style comments" +msgstr "sinkronigo per C-stilaj komentoj" + +msgid "no syncing" +msgstr "neniu sinkronigo" + +msgid "syncing starts " +msgstr "sinkronigo ekas " + +msgid " lines before top line" +msgstr " linioj antaÅ­ supra linio" + +msgid "" +"\n" +"--- Syntax sync items ---" +msgstr "" +"\n" +"--- Eroj de sintaksa sinkronigo ---" + +msgid "" +"\n" +"syncing on items" +msgstr "" +"\n" +"sinkronigo per eroj" + +msgid "" +"\n" +"--- Syntax items ---" +msgstr "" +"\n" +"--- Sintakseroj ---" + +#, c-format +msgid "E392: No such syntax cluster: %s" +msgstr "E392: Nenia sintaksa fasko: %s" + +msgid "minimal " +msgstr "minimuma " + +msgid "maximal " +msgstr "maksimuma " + +msgid "; match " +msgstr "; kongruo " + +msgid " line breaks" +msgstr " liniavancoj" + +msgid "E395: contains argument not accepted here" +msgstr "E395: La argumento \"contains\" ne akcepteblas tie" + +msgid "E396: containedin argument not accepted here" +msgstr "E396: La argumento \"containedin\" ne akcepteblas tie" + +msgid "E393: group[t]here not accepted here" +msgstr "E393: La argumento \"group[t]here\" ne akcepteblas tie" + +#, c-format +msgid "E394: Didn't find region item for %s" +msgstr "E394: Ne trovis regionan elementon por %s" + +msgid "E397: Filename required" +msgstr "E397: Dosiernomo bezonata" + +#, c-format +msgid "E789: Missing ']': %s" +msgstr "E789: Mankas ']': %s" + +#, c-format +msgid "E398: Missing '=': %s" +msgstr "E398: Mankas '=': %s" + +#, c-format +msgid "E399: Not enough arguments: syntax region %s" +msgstr "E399: Ne sufiĉaj argumentoj: sintaksa regiono %s" + +msgid "E400: No cluster specified" +msgstr "E400: Neniu fasko specifita" + +#, c-format +msgid "E401: Pattern delimiter not found: %s" +msgstr "E401: Disigilo de Åablono netrovita: %s" + +#, c-format +msgid "E402: Garbage after pattern: %s" +msgstr "E402: Forĵetindaĵo malantaÅ­ Åablono: %s" + +msgid "E403: syntax sync: line continuations pattern specified twice" +msgstr "E403: sintaksa sinkronigo: Åablono de linia daÅ­rigo specifita dufoje" + +#, c-format +msgid "E404: Illegal arguments: %s" +msgstr "E404: Nevalidaj argumentoj: %s" + +#, c-format +msgid "E405: Missing equal sign: %s" +msgstr "E405: Mankas egalsigno: %s" + +#, c-format +msgid "E406: Empty argument: %s" +msgstr "E406: Malplena argumento: %s" + +#, c-format +msgid "E407: %s not allowed here" +msgstr "E407: %s ne estas permesata tie" + +#, c-format +msgid "E408: %s must be first in contains list" +msgstr "E408: %s devas esti la unua ano de la listo \"contains\"" + +#, c-format +msgid "E409: Unknown group name: %s" +msgstr "E409: Nekonata nomo de grupo: %s" + +#, c-format +msgid "E410: Invalid :syntax subcommand: %s" +msgstr "E410: Nevalida \":syntax\" subkomando: %s" + +msgid "E679: recursive loop loading syncolor.vim" +msgstr "E679: rekursia buklo dum Åargo de syncolor.vim" + +#, c-format +msgid "E411: highlight group not found: %s" +msgstr "E411: emfaza grupo netrovita: %s" + +#, c-format +msgid "E412: Not enough arguments: \":highlight link %s\"" +msgstr "E412: Ne sufiĉaj argumentoj: \":highlight link %s\"" + +#, c-format +msgid "E413: Too many arguments: \":highlight link %s\"" +msgstr "E413: Tro argumentoj: \":highlight link %s\"" + +msgid "E414: group has settings, highlight link ignored" +msgstr "E414: grupo havas agordojn, ligilo de emfazo ignorita" + +#, c-format +msgid "E415: unexpected equal sign: %s" +msgstr "E415: neatendita egalsigno: %s" + +#, c-format +msgid "E416: missing equal sign: %s" +msgstr "E416: mankas egalsigno: %s" + +#, c-format +msgid "E417: missing argument: %s" +msgstr "E417: mankas argumento: %s" + +#, c-format +msgid "E418: Illegal value: %s" +msgstr "E418: Nevalida valoro: %s" + +msgid "E419: FG color unknown" +msgstr "E419: Nekonata malfona koloro" + +msgid "E420: BG color unknown" +msgstr "E420: Nekonata fona koloro" + +#, c-format +msgid "E421: Color name or number not recognized: %s" +msgstr "E421: Kolora nomo aÅ­ nombro nerekonita: %s" + +#, c-format +msgid "E422: terminal code too long: %s" +msgstr "E422: kodo de terminalo estas tro longa: %s" + +#, c-format +msgid "E423: Illegal argument: %s" +msgstr "E423: Nevalida argumento: %s" + +msgid "E424: Too many different highlighting attributes in use" +msgstr "E424: Tro da malsamaj atributoj de emfazo uzataj" + +msgid "E669: Unprintable character in group name" +msgstr "E669: Nepresebla signo en nomo de grupo" + +msgid "W18: Invalid character in group name" +msgstr "W18: Nevalida signo en nomo de grupo" + +msgid "E555: at bottom of tag stack" +msgstr "E555: ĉe subo de stako de etikedoj" + +msgid "E556: at top of tag stack" +msgstr "E556: ĉe supro de stako de etikedoj" + +msgid "E425: Cannot go before first matching tag" +msgstr "E425: Ne eblas iri antaÅ­ la unuan kongruan etikedon" + +#, c-format +msgid "E426: tag not found: %s" +msgstr "E426: etikedo netrovita: %s" + +# DP: "pri" estas "priority" +msgid " # pri kind tag" +msgstr "nro pri tipo etikedo" + +msgid "file\n" +msgstr "dosiero\n" + +msgid "E427: There is only one matching tag" +msgstr "E427: Estas nur unu kongrua etikedo" + +msgid "E428: Cannot go beyond last matching tag" +msgstr "E428: Ne eblas iri preter lastan kongruan etikedon" + +#, c-format +msgid "File \"%s\" does not exist" +msgstr "La dosiero \"%s\" ne ekzistas" + +#. Give an indication of the number of matching tags +#, c-format +msgid "tag %d of %d%s" +msgstr "etikedo %d de %d%s" + +msgid " or more" +msgstr " aÅ­ pli" + +msgid " Using tag with different case!" +msgstr " Uzo de etikedo kun malsama uskleco!" + +#, c-format +msgid "E429: File \"%s\" does not exist" +msgstr "E429: Dosiero \"%s\" ne ekzistas" + +#. Highlight title +msgid "" +"\n" +" # TO tag FROM line in file/text" +msgstr "" +"\n" +"nro AL etikedo DE linio en dosiero/teksto" + +#, c-format +msgid "Searching tags file %s" +msgstr "Serĉado de dosiero de etikedoj %s" + +#, c-format +msgid "E430: Tag file path truncated for %s\n" +msgstr "E430: Vojo de etikeda dosiero trunkita por %s\n" + +#, c-format +msgid "E431: Format error in tags file \"%s\"" +msgstr "E431: Eraro de formato en etikeda dosiero \"%s\"" + +#, c-format +msgid "Before byte %ld" +msgstr "AntaÅ­ bajto %ld" + +#, c-format +msgid "E432: Tags file not sorted: %s" +msgstr "E432: Etikeda dosiero ne estas ordigita: %s" + +#. never opened any tags file +msgid "E433: No tags file" +msgstr "E433: Neniu etikeda dosiero" + +msgid "E434: Can't find tag pattern" +msgstr "E434: Ne eblas trovi Åablonon de etikedo" + +msgid "E435: Couldn't find tag, just guessing!" +msgstr "E435: Ne eblis trovi etikedon, nur divenas!" + +msgid "' not known. Available builtin terminals are:" +msgstr "' nekonata. Haveblaj terminaloj estas:" + +msgid "defaulting to '" +msgstr "defaÅ­lto al '" + +msgid "E557: Cannot open termcap file" +msgstr "E557: Ne eblas malfermi la dosieron termcap" + +msgid "E558: Terminal entry not found in terminfo" +msgstr "E558: Ne trovis rikordon de terminalo terminfo" + +msgid "E559: Terminal entry not found in termcap" +msgstr "E559: Ne trovis rikordon de terminalo en termcap" + +#, c-format +msgid "E436: No \"%s\" entry in termcap" +msgstr "E436: Neniu rikordo \"%s\" en termcap" + +msgid "E437: terminal capability \"cm\" required" +msgstr "E437: kapablo de terminalo \"cm\" bezonata" + +#. Highlight title +msgid "" +"\n" +"--- Terminal keys ---" +msgstr "" +"\n" +"--- Klavoj de terminalo ---" + +msgid "new shell started\n" +msgstr "nova Åelo lanĉita\n" + +msgid "Vim: Error reading input, exiting...\n" +msgstr "Vim: Eraro dum legado de eniro, elironta...\n" + +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "Malfaro neebla; daÅ­rigi tamene" + +msgid "Already at oldest change" +msgstr "Jam al la plej malnova ÅanÄo" + +msgid "Already at newest change" +msgstr "Jam al la plej nova ÅanÄo" + +#, c-format +msgid "Undo number %ld not found" +msgstr "Malfaro numero %ld netrovita" + +msgid "E438: u_undo: line numbers wrong" +msgstr "E438: u_undo: nevalidaj numeroj de linioj" + +msgid "more line" +msgstr "plia linio" + +msgid "more lines" +msgstr "pliaj linioj" + +msgid "line less" +msgstr "malpli linio" + +msgid "fewer lines" +msgstr "malpli linioj" + +msgid "change" +msgstr "ÅanÄo" + +msgid "changes" +msgstr "ÅanÄoj" + +#, c-format +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" + +msgid "before" +msgstr "antaÅ­" + +msgid "after" +msgstr "malantaÅ­" + +msgid "Nothing to undo" +msgstr "Nenio por malfari" + +msgid "number changes time" +msgstr "numero ÅanÄoj tempo" + +#, c-format +msgid "%ld seconds ago" +msgstr "antaÅ­ %ld sekundoj" + +msgid "E790: undojoin is not allowed after undo" +msgstr "E790: undojoin estas nepermesita malantaÅ­ malfaro" + +msgid "E439: undo list corrupt" +msgstr "E439: listo de malfaro estas difekta" + +msgid "E440: undo line missing" +msgstr "E440: linio de malfaro mankas" + +#. Only MS VC 4.1 and earlier can do Win32s +msgid "" +"\n" +"MS-Windows 16/32-bit GUI version" +msgstr "" +"\n" +"Grafika versio MS-Vindozo 16/32-bitoj" + +msgid "" +"\n" +"MS-Windows 64-bit GUI version" +msgstr "" +"\n" +"Grafika versio MS-Vindozo 64-bitoj" + +msgid "" +"\n" +"MS-Windows 32-bit GUI version" +msgstr "" +"\n" +"Grafika versio MS-Vindozo 32-bitoj" + +msgid " in Win32s mode" +msgstr " en reÄimo Win32s" + +msgid " with OLE support" +msgstr " kun subteno de OLE" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"Versio konzola MS-Vindozo 64-bitoj" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"Versio konzola MS-Vindozo 32-bitoj" + +msgid "" +"\n" +"MS-Windows 16-bit version" +msgstr "" +"\n" +"Versio MS-Vindozo 16-bitoj" + +msgid "" +"\n" +"32-bit MS-DOS version" +msgstr "" +"\n" +"Versio MS-DOS 32-bitoj" + +msgid "" +"\n" +"16-bit MS-DOS version" +msgstr "" +"\n" +"Versio MS-DOS 16-bitoj" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"Versio Mak OS X (unikso)" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"Versio Mak OS X" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"Versio Mak OS" + +msgid "" +"\n" +"RISC OS version" +msgstr "" +"\n" +"Versio RISC operaciumo" + +msgid "" +"\n" +"Included patches: " +msgstr "" +"\n" +"Flikaĵoj inkluzivitaj: " + +msgid "Modified by " +msgstr "Modifita de " + +msgid "" +"\n" +"Compiled " +msgstr "" +"\n" +"Kompilita " + +msgid "by " +msgstr "de " + +msgid "" +"\n" +"Huge version " +msgstr "" +"\n" +"Grandega versio " + +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Granda versio " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Normala versio " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Malgranda versio " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Malgrandega versio " + +msgid "without GUI." +msgstr "sen grafika interfaco." + +msgid "with GTK2-GNOME GUI." +msgstr "kun grafika interfaco GTK2-GNOME." + +msgid "with GTK-GNOME GUI." +msgstr "kun grafika interfaco GTK-GNOME." + +msgid "with GTK2 GUI." +msgstr "kun grafika interfaco GTK2." + +msgid "with GTK GUI." +msgstr "kun grafika interfaco GTK." + +msgid "with X11-Motif GUI." +msgstr "kun grafika interfaco X11-Motif." + +msgid "with X11-neXtaw GUI." +msgstr "kun grafika interfaco X11-neXtaw." + +msgid "with X11-Athena GUI." +msgstr "kun grafika interfaco X11-Athena." + +msgid "with Photon GUI." +msgstr "kun grafika interfaco Photon." + +msgid "with GUI." +msgstr "sen grafika interfaco." + +msgid "with Carbon GUI." +msgstr "kun grafika interfaco Carbon." + +msgid "with Cocoa GUI." +msgstr "kun grafika interfaco Cocoa." + +msgid "with (classic) GUI." +msgstr "kun (klasika) grafika interfaco." + +msgid " Features included (+) or not (-):\n" +msgstr " Ebloj inkluzivitaj (+) aÅ­ ne (-):\n" + +msgid " system vimrc file: \"" +msgstr " sistema dosiero vimrc: \"" + +msgid " user vimrc file: \"" +msgstr " dosiero vimrc de uzanto: \"" + +msgid " 2nd user vimrc file: \"" +msgstr " 2-a dosiero vimrc de uzanto: \"" + +msgid " 3rd user vimrc file: \"" +msgstr " 3-a dosiero vimrc de uzanto: \"" + +msgid " user exrc file: \"" +msgstr " dosiero exrc de uzanto: \"" + +msgid " 2nd user exrc file: \"" +msgstr " 2-a dosiero exrc de uzanto: \"" + +msgid " system gvimrc file: \"" +msgstr " sistema dosiero gvimrc: \"" + +msgid " user gvimrc file: \"" +msgstr " dosiero gvimrc de uzanto: \"" + +msgid "2nd user gvimrc file: \"" +msgstr " 2-a dosiero gvimrc de uzanto: \"" + +msgid "3rd user gvimrc file: \"" +msgstr " 3-a dosiero gvimrc de uzanto: \"" + +msgid " system menu file: \"" +msgstr " dosiero de sistema menuo: \"" + +msgid " fall-back for $VIM: \"" +msgstr " defaÅ­lto de $VIM: \"" + +msgid " f-b for $VIMRUNTIME: \"" +msgstr " defaÅ­lto de VIMRUNTIME: \"" + +msgid "Compilation: " +msgstr "Kompilado: " + +msgid "Compiler: " +msgstr "Kompililo: " + +msgid "Linking: " +msgstr "Ligado: " + +msgid " DEBUG BUILD" +msgstr " SENCIMIGA MUNTO" + +msgid "VIM - Vi IMproved" +msgstr "VIM - Vi plibonigita" + +msgid "version " +msgstr "versio " + +# DP: vidu http://www.thefreedictionary.com/et+al. +msgid "by Bram Moolenaar et al." +msgstr "de Bram Moolenaar kaj aliuloj" + +msgid "Vim is open source and freely distributable" +msgstr "Vim estas libera programo kaj disdoneblas libere" + +msgid "Help poor children in Uganda!" +msgstr "Helpu malriĉajn infanojn en Ugando!" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help iccf for information " +msgstr "tajpu :help iccf por pliaj informoj " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :q to exit " +msgstr "tajpu :q por eliri " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help or for on-line help" +msgstr "tajpu :help aÅ­ por aliri la helpon " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help version7 for version info" +msgstr "tajpu :help version7 por informo de versio" + +msgid "Running in Vi compatible mode" +msgstr "Rulas en reÄimo kongrua kun Vi" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :set nocp for Vim defaults" +msgstr "tajpu :set nocp por Vim defaÅ­ltoj " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help cp-default for info on this" +msgstr "tajpu :help cp-default por pliaj informoj " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "menu Help->Orphans for information " +msgstr "menuo Help->Orfinoj por pliaj informoj " + +msgid "Running modeless, typed text is inserted" +msgstr "Rulas senreÄime, tajpita teksto estas enmetita" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "menuo Redakti->Mallokaj Agordoj->Baskuli Enmetan ReÄimon" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid " for two modes " +msgstr " por du reÄimoj " + +# DP: tiu ĉeno pli longas (mi ne volas igi ĉiujn aliajn ĉenojn +# pli longajn) +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "menuo Redakti->Mallokaj Agordoj->Baskuli ReÄimon Kongruan kun Vi" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid " for Vim defaults " +msgstr " por defaÅ­ltoj de Vim " + +msgid "Sponsor Vim development!" +msgstr "Subtenu la programadon de Vim!" + +msgid "Become a registered Vim user!" +msgstr "IÄu registrita uzanto de Vim!" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help sponsor for information " +msgstr "tajpu :help sponsor por pliaj informoj " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help register for information " +msgstr "tajpu :help register por pliaj informoj " + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "menu Help->Sponsor/Register for information " +msgstr "menuo Helpo->Subteni/Registri por pliaj informoj " + +msgid "WARNING: Windows 95/98/ME detected" +msgstr "AVERTO: Trovis Vindozon 95/98/ME" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "type :help windows95 for info on this" +msgstr "tajpu :help windows95 por pliaj informoj " + +msgid "Already only one window" +msgstr "Jam nur unu fenestro" + +msgid "E441: There is no preview window" +msgstr "E441: Ne estas antaÅ­vida fenestro" + +msgid "E442: Can't split topleft and botright at the same time" +msgstr "E442: Ne eblas dividi supralivan kaj subdekstran samtempe" + +msgid "E443: Cannot rotate when another window is split" +msgstr "E443: Ne eblas rotacii kiam alia fenestro estas dividita" + +msgid "E444: Cannot close last window" +msgstr "E444: Ne eblas fermi la lastan fenestron" + +msgid "E445: Other window contains changes" +msgstr "E445: La alia fenestro enhavas ÅanÄojn" + +msgid "E446: No file name under cursor" +msgstr "E446: Neniu dosiernomo sub la kursoro" + +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: Ne eblas trovi dosieron \"%s\" en serĉvojo" + +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Ne eblis Åargi bibliotekon %s" + +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"BedaÅ­rinde tiu komando estas malÅaltita: la biblioteko de Perl ne Åargeblis." + +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "" +"E299: Plenumo de Perl esprimoj malpermesata en sabloludejo sen la modulo Safe" + +msgid "Edit with &multiple Vims" +msgstr "Redakti per &pluraj Vim-oj" + +msgid "Edit with single &Vim" +msgstr "Redakti per unuopa &Vim" + +msgid "Diff with Vim" +msgstr "Kompari per Vim" + +msgid "Edit with &Vim" +msgstr "Redakti per &Vim" + +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "Redakti per ekzistanta Vim - " + +msgid "Edits the selected file(s) with Vim" +msgstr "Redakti la apartigita(j)n dosiero(j)n per Vim" + +msgid "Error creating process: Check if gvim is in your path!" +msgstr "Eraro dum kreo de procezo: Kontrolu ĉu gvim estas en via serĉvojo!" + +msgid "gvimext.dll error" +msgstr "Eraro de gvimext.dll" + +msgid "Path length too long!" +msgstr "Serĉvojo estas tro longa!" + +msgid "--No lines in buffer--" +msgstr "--Neniu linio en bufro--" + +#. +#. * 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: komando ĉesigita" + +msgid "E471: Argument required" +msgstr "E471: Argumento bezonata" + +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: \\ devus esti sekvita de /, ? aÅ­ &" + +msgid "E11: Invalid in command-line window; executes, CTRL-C quits" +msgstr "" +"E11: Nevalida en fenestro de komanda linio; plenumas, CTRL-C eliras" + +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: Malpermesata komando el exrc/vimrc en aktuala dosierujo aÅ­ etikeda serĉo" + +msgid "E171: Missing :endif" +msgstr "E171: Mankas \":endif\"" + +msgid "E600: Missing :endtry" +msgstr "E600: Mankas \":endtry\"" + +msgid "E170: Missing :endwhile" +msgstr "E170: Mankas \":endwhile\"" + +msgid "E170: Missing :endfor" +msgstr "E170: Mankas \":endfor\"" + +msgid "E588: :endwhile without :while" +msgstr "E588: \":endwhile\" sen \":while\"" + +msgid "E588: :endfor without :for" +msgstr "E588: \":endfor\" sen \":for\"" + +msgid "E13: File exists (add ! to override)" +msgstr "E13: Dosiero ekzistas (aldonu ! por transpasi)" + +msgid "E472: Command failed" +msgstr "E472: La komando fiaskis" + +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: Nekonata familio de tiparo: %s" + +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: Nekonata tiparo: %s" + +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: La tiparo \"%s\" ne estas egallarÄa" + +msgid "E473: Internal error" +msgstr "E473: Interna eraro" + +msgid "Interrupted" +msgstr "Interrompita" + +msgid "E14: Invalid address" +msgstr "E14: Nevalida adreso" + +msgid "E474: Invalid argument" +msgstr "E474: Nevalida argumento" + +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: Nevalida argumento: %s" + +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: Nevalida esprimo: %s" + +msgid "E16: Invalid range" +msgstr "E16: Nevalida amplekso" + +msgid "E476: Invalid command" +msgstr "E476: Nevalida komando" + +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: \"%s\" estas dosierujo" + +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: Alvoko al biblioteko fiaskis por \"%s()\"" + +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: Ne eblis Åargi bibliotekan funkcion %s" + +msgid "E19: Mark has invalid line number" +msgstr "E19: Marko havas nevalidan numeron de linio" + +msgid "E20: Mark not set" +msgstr "E20: Marko ne estas agordita" + +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "E21: Ne eblas fari ÅanÄojn, 'modifiable' estas malÅaltita" + +msgid "E22: Scripts nested too deep" +msgstr "E22: Tro profunde ingitaj skriptoj" + +msgid "E23: No alternate file" +msgstr "E23: Neniu alterna dosiero" + +msgid "E24: No such abbreviation" +msgstr "E24: Ne estas tia mallongigo" + +msgid "E477: No ! allowed" +msgstr "E477: Neniu ! permesita" + +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: Grafika interfaco ne uzeblas: MalÅaltita dum kompilado" + +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: La hebrea ne uzeblas: MalÅaltita dum kompilado\n" + +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: La persa ne uzeblas: MalÅaltita dum kompilado\n" + +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: La araba ne uzeblas: MalÅaltita dum kompilado\n" + +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: Neniu grupo de emfazo kiel: %s" + +msgid "E29: No inserted text yet" +msgstr "E29: AnkoraÅ­ neniu enmetita teksto" + +msgid "E30: No previous command line" +msgstr "E30: Neniu antaÅ­a komanda linio" + +msgid "E31: No such mapping" +msgstr "E31: Neniu tiel mapo" + +msgid "E479: No match" +msgstr "E479: Neniu kongruo" + +#, c-format +msgid "E480: No match: %s" +msgstr "E480: Neniu kongruo: %s" + +msgid "E32: No file name" +msgstr "E32: Neniu dosiernomo" + +msgid "E33: No previous substitute regular expression" +msgstr "E33: Neniu antaÅ­a regulesprimo de anstataÅ­igo" + +msgid "E34: No previous command" +msgstr "E34: Neniu antaÅ­a komando" + +msgid "E35: No previous regular expression" +msgstr "E35: Neniu antaÅ­a regulesprimo" + +msgid "E481: No range allowed" +msgstr "E481: Amplekso ne permesita" + +msgid "E36: Not enough room" +msgstr "E36: Ne sufiĉe da spaco" + +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: neniu registrita servilo nomita \"%s\"" + +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: Ne eblas krei dosieron %s" + +msgid "E483: Can't get temp file name" +msgstr "E483: Ne eblas akiri provizaran dosiernomon" + +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: Ne eblas malfermi dosieron %s" + +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: Ne eblas legi dosieron %s" + +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Neniu skribo de post lasta ÅanÄo (aldonu ! por transpasi)" + +msgid "E38: Null argument" +msgstr "E38: Nula argumento" + +msgid "E39: Number expected" +msgstr "E39: Nombro atendita" + +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: Ne eblas malfermi eraran dosieron %s" + +msgid "E233: cannot open display" +msgstr "E233: ne eblas malfermi vidigon" + +msgid "E41: Out of memory!" +msgstr "E41: Ne plu restas memoro!" + +msgid "Pattern not found" +msgstr "Åœablono ne trovita" + +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: Åœablono ne trovita: %s" + +msgid "E487: Argument must be positive" +msgstr "E487: La argumento devas esti pozitiva" + +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Ne eblas reiri al antaÅ­a dosierujo" + +msgid "E42: No Errors" +msgstr "E42: Neniu eraro" + +msgid "E776: No location list" +msgstr "E776: Neniu listo de loko" + +msgid "E43: Damaged match string" +msgstr "E43: Difekta kongruenda ĉeno" + +msgid "E44: Corrupted regexp program" +msgstr "E44: Difekta programo de regulesprimo" + +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: La opcio 'readonly' estas Åaltita '(aldonu ! por transpasi)" + +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: Ne eblas ÅanÄi nurlegeblan variablon \"%s\"" + +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: Ne eblas agordi variablon en la sabloludejo: \"%s\"" + +msgid "E47: Error while reading errorfile" +msgstr "E47: Eraro dum legado de erardosiero" + +msgid "E48: Not allowed in sandbox" +msgstr "E48: Ne permesita en sabloludejo" + +msgid "E523: Not allowed here" +msgstr "E523: Ne permesita tie" + +msgid "E359: Screen mode setting not supported" +msgstr "E359: ReÄimo de ekrano ne subtenita" + +msgid "E49: Invalid scroll size" +msgstr "E49: Nevalida grando de rulumo" + +msgid "E91: 'shell' option is empty" +msgstr "E91: La opcio 'shell' estas malplena" + +msgid "E255: Couldn't read in sign data!" +msgstr "E255: Ne eblis legi datumojn de simboloj!" + +msgid "E72: Close error on swap file" +msgstr "E72: Eraro dum malfermo de permutodosiero .swp" + +msgid "E73: tag stack empty" +msgstr "E73: malplena stako de etikedo" + +msgid "E74: Command too complex" +msgstr "E74: Komando tro kompleksa" + +msgid "E75: Name too long" +msgstr "E75: Nomo tro longa" + +msgid "E76: Too many [" +msgstr "E76: Tro da [" + +msgid "E77: Too many file names" +msgstr "E77: Tro da dosiernomoj" + +msgid "E488: Trailing characters" +msgstr "E488: Vostaj signoj" + +msgid "E78: Unknown mark" +msgstr "E78: Nekonata marko" + +msgid "E79: Cannot expand wildcards" +msgstr "E79: Ne eblas ekspansi ĵokerojn" + +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: 'winheight' ne rajtas esti malpli ol 'winminheight'" + +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: 'winwidth' ne rajtas esti malpli ol 'winminwidth'" + +msgid "E80: Error while writing" +msgstr "E80: Eraro dum skribado" + +msgid "Zero count" +msgstr "Nul kvantoro" + +msgid "E81: Using not in a script context" +msgstr "E81: Uzo de ekster kunteksto de skripto" + +msgid "E449: Invalid expression received" +msgstr "E449: Nevalida esprimo ricevita" + +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Regiono estas gardita, ne eblas ÅanÄi" + +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans ne permesas ÅanÄojn en nurlegeblaj dosieroj" + +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Interna eraro: %s" + +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: Åablono uzas pli da memoro ol 'maxmempattern'" + +msgid "E749: empty buffer" +msgstr "E749: malplena bufro" + +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Nevalida serĉa Åablono aÅ­ disigilo" + +msgid "E139: File is loaded in another buffer" +msgstr "E139: Dosiero estas Åargita en alia bufro" + +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: La opcio '%s' ne estas Åaltita" + +msgid "search hit TOP, continuing at BOTTOM" +msgstr "serĉo atingis SUPRON, daÅ­rigonte al SUBO" + +msgid "search hit BOTTOM, continuing at TOP" +msgstr "serĉo atingis SUBON, daÅ­rigonte al SUPRO" diff -r 7d3c79a9b40a -r db46d51a3939 src/po/fi.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/po/fi.po Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,6264 @@ +# Finnish translation for Vim. +# Copyright (C) 2003-2006 Free Software Foundation, Inc. +# 2007-2008, Flammie Pirinen +# +# 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 .) +# +msgid "" +msgstr "" +"Project-Id-Version: Vim 7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-07-23 16:57+0300\n" +"PO-Revision-Date: 2008-07-23 17:15+0300\n" +"Last-Translator: Flammie Pirinen \n" +"Language-Team: Finnish \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 "E804: Cannot use '%' with Float" +msgstr "E804: Ei voi käyttää '%':a Floatin kanssa" + +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 not in a script context: %s" +msgstr "E120: skriptin ulkopuolella: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: dict-funktio ilman sanakirjaa: %s" + +msgid "E808: Number or Float required" +msgstr "E808: Number tai Float vaaditaan" + +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 "" +msgstr "" + +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ä (mahdollinen 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 "E805: Using a Float as a Number" +msgstr "E805: Float ei käy Numberista" + +msgid "E703: Using a Funcref as a Number" +msgstr "E703: Funcref ei käy Numberista" + +msgid "E745: Using a List as a Number" +msgstr "E745: Lista ei käy Numberista" + +msgid "E728: Using a Dictionary as a Number" +msgstr "E728: Sanakirja ei käy Numberista" + +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" + +msgid "E806: using Float as a String" +msgstr "E806: Float 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 " + +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 " +msgstr "E750: Aloita käskyllä :profile start " + +msgid "Save As" +msgstr "Tallenna nimellä" + +#, 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" + +# 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: *Filter*-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 "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 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 \"\"" +msgstr "E495: ei autocommand-tiedostoa kohteelle " + +msgid "E496: no autocommand buffer number to substitute for \"\"" +msgstr "E496: ei autocommand-puskurinumeroa kohteelle " + +msgid "E497: no autocommand match name to substitute for \"\"" +msgstr "E497: ei autocommand-täsmäysnimeä kohteella " + +msgid "E498: no :source file name to substitute for \"\"" +msgstr "E498: ei :source-tiedostonimeä kohteelle " + +#, 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 disallows 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 " +msgstr "poistetaan autocommand automaattisesti: %s " + +#. 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" +"--- Autocommandit ---" + +#, c-format +msgid "E680: : invalid buffer number " +msgstr "E680: : 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 " " +msgstr " " + +#, 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 "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 "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 "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 " +msgstr "E562: Käyttö: cstag " + +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 "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 "E623: Could not spawn cscope process" +msgstr "E623: Cscope-prosessin luonti 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 "" +msgstr "" + +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 "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +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 "Xref viitattu kohteesta" + +msgid "Xref has a" +msgstr "Xref sisältää kohteen" + +msgid "Xref used by" +msgstr "Xrefiä käyttää" + +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 "" +"Ei voida yhdistää SNiFF+:aan. Tarkista ympäristömuuttujat (sniffemacsin " +"löytyä polkumuuttujasta $PATH).\n" + +msgid "E274: Sniff: Error during read. Disconnected" +msgstr "E274: Sniff: Virhe luettaessa, yhteys katkaistu" + +msgid "SNiFF+ is currently " +msgstr "SNiFF+ " + +msgid "not " +msgstr "ei ole " + +msgid "connected" +msgstr "yhdistetty" + +#, c-format +msgid "E275: Unknown SNiFF+ request: %s" +msgstr "E275: Tuntematon SNiFF+-pyyntö: %s" + +msgid "E276: Error connecting to SNiFF+" +msgstr "E276: Virhe yhdistettäessä SNiFF+:aan" + +msgid "E278: SNiFF+ not connected" +msgstr "E278: SNiFF+ ei ole yhdistetty" + +msgid "E279: Not a SNiFF+ buffer" +msgstr "E279: Ei ole SNiFF+-puskuri" + +msgid "Sniff: Error during write. Disconnected" +msgstr "Sniff: Virhe kirjoituksessa, yhteys katkaistu" + +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 \t\tUse for I/O" +msgstr "-dev \t\tKäytä 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 \tSet terminal type to " +msgstr "-T \tAseta terminaalin tyypiksi " + +msgid "-u \t\tUse instead of any .vimrc" +msgstr "-u \t\tKäytä -tiedostoa .vimrc:iden sijasta" + +msgid "-U \t\tUse instead of any .gvimrc" +msgstr "-U \t\tKäytä -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 "+\t\tStart at line " +msgstr "+\t\t\tAloita riviltä " + +msgid "--cmd \tExecute before loading any vimrc file" +msgstr "--cmd \tSuorita ennen vimrc:iden latausta" + +msgid "-c \t\tExecute after loading the first file" +msgstr "-c \t\tSuorita ensimmäisen tiedoston latauduttua" + +msgid "-S \t\tSource file after loading the first file" +msgstr "-S \t\tLataa ensimmäisen tiedoston latauduttua" + +msgid "-s \tRead Normal mode commands from file " +msgstr "-s \tLue normaalitilan komentoja -tiedostosta" + +msgid "-w \tAppend all typed commands to file " +msgstr "-w \tLisää kirjoitetut komennot -tiedostoon" + +msgid "-W \tWrite all typed commands to file " +msgstr "-W \tKirjoita komennot -tiedostoon" + +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tMuokkaa salattua tiedostoa" + +msgid "-display \tConnect vim to this particular X-server" +msgstr "-display \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 \tEdit in a Vim server if possible" +msgstr "" +"--remote \tMuokkaa Vim-palvelimessa, jos mahdollista" + +msgid "--remote-silent Same, don't complain if there is no server" +msgstr "" +"--remote-silent \tSama, mutta älä ilmoita puuttuvasta " +"palvelimesta" + +msgid "" +"--remote-wait As --remote but wait for files to have been edited" +msgstr "" +"--remote-wait kuten --remote, mutta odota tiedostojen " +"muokkaamista" + +msgid "" +"--remote-wait-silent Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent sama, mutta älä ilmoita puuttuvasta " +"palvelimesta" + +msgid "" +"--remote-tab[-wait][-silent] As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] kuten --remote, mutta avaa " +"välilehti joka tiedostolle" + +msgid "--remote-send \tSend to a Vim server and exit" +msgstr "" +"--remote-send \tLähetä painalluksina Vimille ja lopeta" + +msgid "--remote-expr \tEvaluate in a Vim server and print result" +msgstr "" +"--remote-expr \tKäsittele 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 \tSend to/become the Vim server " +msgstr "--servername \tLähetä Vim-palvelimelle tai luo se" + +msgid "-i \t\tUse instead of .viminfo" +msgstr "-i \t\tKäytä -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 \tRun vim on " +msgstr "-display \tSuorita vim " + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tKäynnistä pienennettynä" + +msgid "-name \t\tUse resource as if vim was " +msgstr "-name \t\tKäytä resurssia vim " + +msgid "\t\t\t (Unimplemented)\n" +msgstr "\t\t\t (toteuttamatta)\n" + +msgid "-background \tUse for the background (also: -bg)" +msgstr "-background \tKäytä taustavärinä (myös: -bg)" + +msgid "-foreground \tUse for normal text (also: -fg)" +msgstr "-foreground \tKäytä tekstin värinä (myös: -fg)" + +msgid "-font \t\tUse for normal text (also: -fn)" +msgstr "-font \t\tKäytä tekstissä (myös: -fn)" + +msgid "-boldfont \tUse for bold text" +msgstr "-boldfont \tKäytä lihavoidussa tekstissä" + +msgid "-italicfont \tUse for italic text" +msgstr "-italicfont \tKäytä kursivoidussa tekstissä" + +msgid "-geometry \tUse for initial geometry (also: -geom)" +msgstr "" +"-geometry \tKäytä mittoja ikkunan asetteluun (myös: -geom)" + +msgid "-borderwidth \tUse a border width of (also: -bw)" +msgstr "-borderwidt \tKäytä reunuksissa (myös: -bw) " + +msgid "-scrollbarwidth Use a scrollbar width of (also: -sw)" +msgstr "" +"-scrollbarwidth Käytä vierityspalkissa (myös: -sw)" + +msgid "-menuheight \tUse a menu bar height of (also: -mh)" +msgstr "-menuheight \tKäytä 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 \tSet the specified resource" +msgstr "-xrm \tAseta resurssi" + +msgid "" +"\n" +"Arguments recognised by gvim (RISC OS version):\n" +msgstr "" +"\n" +"Gvimin (RISC OS -version) tuntemat argumentit:\n" + +msgid "--columns \tInitial width of window in columns" +msgstr "--columns \tIkkunan alkuleveys sarakkeina" + +msgid "--rows \tInitial height of window in rows" +msgstr "--rows \tIkkunan alkukorkeus riveinä" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"Gvimin (GTK+-version) tuntemat argumentit:\n" + +msgid "-display \tRun vim on (also: --display)" +msgstr "-display \tSuorita vim näytöllä (myös: --display)" + +# X-ikkunointijärjestelmässä saman sovelluksen saman luokan ikkunat +# tunnistetaan rooliresursseista +msgid "--role \tSet a unique role to identify the main window" +msgstr "--role \tAseta pääikkunalle ainutlaatuinen rooli tunnisteeksi" + +msgid "--socketid \tOpen Vim inside another GTK widget" +msgstr "--socketid \tAvaa Vim annettuun GTK-olioon " + +msgid "-P \tOpen Vim inside parent application" +msgstr "-P \tAvaa Vim isäntäohjelman sisään" + +msgid "--windowid \tOpen Vim inside another win32 widget" +msgstr "--windowid \tAvaa Vim annettuun win32-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 "E290: over-the-spot-tyylissä pitää olla fontset" + +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 " +msgstr "Käännöksen ylläpitäjä: Flammie Pirinen " + +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 "E807: Expected Float argument for printf()" +msgstr "E807: Odotettiin Float-argumenttia printf():lle" + +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 ( cancels): " +msgstr "Kirjoita numero tai valitse hiirellä ( peruu): " + +msgid "Choice number ( cancels): " +msgstr "Valitse numero ( 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" + +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 to exit Vim" +msgstr "Komento :quit 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" + +# mikä security context? +msgid "" +"\n" +"Could not get security context for " +msgstr "" +"\n" +"Ei saatu turvallisuuskontekstia kohteelle " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Ei voitu asettaa turvallisuuskontekstia kohteelle " + +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 "XSMP kadotti ICE-yhteyden" + +#, 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 "XSMP käsittelee save-yourself-pyyntöä" + +msgid "XSMP opening connection" +msgstr "XSMP avaa yhteyttä" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP:n ICE-yhteyden tarkkailu epäonnistui" + +#, c-format +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP SmcOpenConnection epäonnistui: %s" + +msgid "At line" +msgstr "Rivillä" + +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 "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" + +#, 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" + +msgid "Substitute " +msgstr "Korvaa " + +#, c-format +msgid "" +"\n" +"# Last %sSearch Pattern:\n" +"~" +msgstr "" +"\n" +"# Edellinen %sHakulauseke:\n" +"~" + +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 "E761: Affiksitiedoston FOL-, LOW- tai UPP-muotovirhe " + +msgid "E762: Character in FOL, LOW or UPP is out of range" +msgstr "E762: Merkki FOL:ssä, LOW:ssä tai UPP:ssä ei kuulu arvoalueeseen" + +msgid "Compressing word tree..." +msgstr "Tiivistetään sanapuuta..." + +msgid "E756: Spell checking is not enabled" +msgstr "E756: Oikaisuluku ei ole päällä" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Varoitus: Ei löydetty sanalistaa %s.%s.spl tai %s.ascii.spl" + +#, c-format +msgid "Reading spell file \"%s\"" +msgstr "Luetaan oikaisulukutiedosta %s" + +msgid "E757: This does not look like a spell file" +msgstr "E757: Ei vaikuta oikaisulukutiedostolta" + +msgid "E771: Old spell file, needs to be updated" +msgstr "E771: Vanha oikaisulukutiedosto vaatii päivittämistä" + +msgid "E772: Spell file is for newer version of Vim" +msgstr "E772: Oikaisulukutiedosto on uudemmalle Vimille" + +msgid "E770: Unsupported section in spell file" +msgstr "E770: Tukematon osio oikaisulukutiedostossa" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Varoitus: osaa %s ei tueta" + +#, c-format +msgid "Reading affix file %s ..." +msgstr "Luetaan affiksitiedostoa %s..." + +#, c-format +msgid "Conversion failure for word in %s line %d: %s" +msgstr "Muunnosvirhe sanalle %s rivillä %d: %s" + +#, c-format +msgid "Conversion in %s not supported: from %s to %s" +msgstr "Muunnosta kohteessa %s ei tueta: kohteesta %s kohteeseen %s" + +#, c-format +msgid "Conversion in %s not supported" +msgstr "Muutosta kohteessa %s ei tueta" + +#, c-format +msgid "Invalid value for FLAG in %s line %d: %s" +msgstr "Tuntematon FLAG kohteessa %s rivillä %d: %s" + +#, c-format +msgid "FLAG after using flags in %s line %d: %s" +msgstr "FLAG kohteessa %s lippujen jälkeen rivillä %d: %s" + +#, c-format +msgid "" +"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"COMPOUNDFORBIDFLAG PFX:n jälkeen voi antaa vääriä tuloksia kohteessa %s " +"rivillä %d" + +#, c-format +msgid "" +"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " +"%d" +msgstr "" +"COMPOUNDPERMITFLAG PFX:n jälkeen voi antaa vääriä tuloksia kohteessa %s " +"rivillä %d" + +#, c-format +msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" +msgstr "Väärä COMPOUNDWORDMAX-arvo kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Wrong COMPOUNDMIN value in %s line %d: %s" +msgstr "Väärä COMPOUNDMIN-arvo kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" +msgstr "Väärä COMPOUNDSYLMAX-arvo kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" +msgstr "Väärä CHECKCOMPOUNDPATTERN-arvo kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Different combining flag in continued affix block in %s line %d: %s" +msgstr "" +"Eri yhdistelmälippu jatketussa affiksilohkossa kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Duplicate affix in %s line %d: %s" +msgstr "Kaksoiskappale affiksista kohteessa %s rivillä %d: %s" + +#, c-format +msgid "" +"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " +"line %d: %s" +msgstr "" +"Affiksia käytetty myös BAD-, RARE-, KEEPCASE-, NEEDAFFIX-, NEEDCOMPOUND- tai " +"NOSUGGEST-arvossa kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Expected Y or N in %s line %d: %s" +msgstr "Odotettiin Y:tä tai N:ää kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Broken condition in %s line %d: %s" +msgstr "Viallinen ehto kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Expected REP(SAL) count in %s line %d" +msgstr "Odotettiin REP(SAL)-arvoa kohteessa %s rivillä %d" + +#, c-format +msgid "Expected MAP count in %s line %d" +msgstr "Odotettiin MAP-arvoa kohteessa %s rivillä %d" + +#, c-format +msgid "Duplicate character in MAP in %s line %d" +msgstr "Kaksoiskappale merkistä MAP:ssä kohteessa %s rivillä %d" + +#, c-format +msgid "Unrecognized or duplicate item in %s line %d: %s" +msgstr "Tunnistamaton tai kaksoiskappale arvosta kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Missing FOL/LOW/UPP line in %s" +msgstr "Puuttuva FOL, LOW tai UPP rivi kohteessa %s" + +msgid "COMPOUNDSYLMAX used without SYLLABLE" +msgstr "COMPOUNDSYLMAX ilman SYLLABLEa" + +msgid "Too many postponed prefixes" +msgstr "Liikaa jälkikäteistettyjä prefiksejä" + +msgid "Too many compound flags" +msgstr "Liikaa yhdyssanalippuja" + +msgid "Too many posponed prefixes and/or compound flags" +msgstr "Liikaa jälkikäteistettyjä prefiksejä tai yhdyssanalippuja" + +#, c-format +msgid "Missing SOFO%s line in %s" +msgstr "Puuttuva SOFO%s-rivi kohteessa %s" + +#, c-format +msgid "Both SAL and SOFO lines in %s" +msgstr "SAL- ja SOFO-rivit kohteessa %s" + +#, c-format +msgid "Flag is not a number in %s line %d: %s" +msgstr "Lippu ei ole lukuarvo kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Illegal flag in %s line %d: %s" +msgstr "Tuntematon lippu kohteessa %s rivillä %d: %s" + +#, c-format +msgid "%s value differs from what is used in another .aff file" +msgstr "%s-arvo eroaa toisessa .aff-tiedostossa olevasta" + +#, c-format +msgid "Reading dictionary file %s ..." +msgstr "Luetaan sanakirjatiedostoa %s" + +#, c-format +msgid "E760: No word count in %s" +msgstr "E760: Ei sanalaskuria kohteessa %s" + +#, c-format +msgid "line %6d, word %6d - %s" +msgstr "rivi %6d, sana %6d - %s" + +#, c-format +msgid "Duplicate word in %s line %d: %s" +msgstr "Toistettu sana kohteessa %s rivillä %d: %s" + +#, c-format +msgid "First duplicate word in %s line %d: %s" +msgstr "Ensimmäinen kappale kohteessa %s rivillä %d: %s" + +#, c-format +msgid "%d duplicate word(s) in %s" +msgstr "toistettuja sanoja %d kohteessa %s" + +#, c-format +msgid "Ignored %d word(s) with non-ASCII characters in %s" +msgstr "Ei-ASCII-merkkien takia ohitettuja sanoja %d kohteessa %s" + +#, c-format +msgid "Reading word file %s ..." +msgstr "Luetaan sanatiedostoa %s..." + +#, c-format +msgid "Duplicate /encoding= line ignored in %s line %d: %s" +msgstr "Toistettu /encoding= ohitettu kohteessa %s rivillä %d: %s" + +#, c-format +msgid "/encoding= line after word ignored in %s line %d: %s" +msgstr "/encoding= sanojen jälkeen ohitettu kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Duplicate /regions= line ignored in %s line %d: %s" +msgstr "Toistettu /regions= ohitettu kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Too many regions in %s line %d: %s" +msgstr "Liikaa regionseja kohteessa %s rivillä %d: %s" + +#, c-format +msgid "/ line ignored in %s line %d: %s" +msgstr "/ ohitettu kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Invalid region nr in %s line %d: %s" +msgstr "Virheellinen region-luku kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Unrecognized flags in %s line %d: %s" +msgstr "Tunnistamaton lippu kohteessa %s rivillä %d: %s" + +#, c-format +msgid "Ignored %d words with non-ASCII characters" +msgstr "Ei-ASCIIn takia ohitettuja sanoja %d" + +#, c-format +msgid "Compressed %d of %d nodes; %d (%d%%) remaining" +msgstr "Tiivistetty %d/%d noodia. %d (%d %%) jäljellä" + +msgid "Reading back spell file..." +msgstr "Luetaan taas oikaisulukutiedostoa..." + +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. +msgid "Performing soundfolding..." +msgstr "Ääntämyksen mukaan yhdistellään..." + +#, c-format +msgid "Number of words after soundfolding: %ld" +msgstr "Sanoja ääntämysyhdistelyn jälkeen: %ld" + +#, c-format +msgid "Total number of words: %d" +msgstr "Sanoja yhteensä: %d" + +#, c-format +msgid "Writing suggestion file %s ..." +msgstr "Kirjoitetaan ehdotustiedostoa %s..." + +#, c-format +msgid "Estimated runtime memory use: %d bytes" +msgstr "Arvioitu käyttömuisti: %d tavua" + +msgid "E751: Output file name must not have region name" +msgstr "E751: Tulostetiedostonimessä ei saa olla alueen nimeä" + +msgid "E754: Only up to 8 regions supported" +msgstr "E754: Enintään 8 aluetta tuetaan" + +#, c-format +msgid "E755: Invalid region in %s" +msgstr "E755: Virheellinen alue kohteelle %s" + +msgid "Warning: both compounding and NOBREAK specified" +msgstr "Varoitus: sekä yhdyssanamuodostus että NOBREAK käytössä" + +#, c-format +msgid "Writing spell file %s ..." +msgstr "Kirjoitetaan oikaisulukutiedostoa %s..." + +msgid "Done!" +msgstr "Valmista." + +#, c-format +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: spellfile ei sisällä %ld kohtaa" + +#, c-format +msgid "Word removed from %s" +msgstr "Sana poistettu kohteesta %s" + +#, c-format +msgid "Word added to %s" +msgstr "Sana lisätty kohteeseen %s" + +msgid "E763: Word characters differ between spell files" +msgstr "E763: Sanan merkit muuttuvat oikaisulukutiedostojen välillä" + +msgid "Sorry, no suggestions" +msgstr "Sori, ei ehdotuksia" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Sori, vain %ld ehdotusta" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Muuta %.*s:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < %.*s" + +msgid "E752: No previous spell replacement" +msgstr "E752: Ei edellistä oikaisulukukorjausta" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Ei löytynyt: %s" + +#, c-format +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Ei vaikuta .sug-tiedostolta: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Vanha .sug-tiedosto pitää päivittää: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: .sug-tiedosto on uudemmalle Vimille: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: .sug-tiedosto ei täsmää .spl-tiedostoon: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: virhe luettaessa .sug-tiedostoa: %s" + +#. This should have been checked when generating the .spl +#. * file. +msgid "E783: duplicate char in MAP entry" +msgstr "E783: kaksoiskappale merkistä MAP-kohdassa" + +#, 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 " # arvo tyyppi tägi" + +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 " Tägissä eri kirjaintaso" + +#, 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 "E430: Tägitiedoston polku katkaistu kohdassa %s\n" + +#, 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-bittinen GUI-version" + +msgid " in Win32s mode" +msgstr " Win32s-tilassa" + +msgid " with OLE support" +msgstr " OLE-tuella" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"MS-Windows 32-bittinen konsoliversio" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"MS-Windows 32-bittinen konsoliversio" + +msgid "" +"\n" +"MS-Windows 16-bit version" +msgstr "" +"\n" +"MS-Windows 16-bittinen versio" + +msgid "" +"\n" +"32-bit MS-DOS version" +msgstr "" +"\n" +"32-bittinen MS-DOS-versio" + +msgid "" +"\n" +"16-bit MS-DOS version" +msgstr "" +"\n" +"16-bittinen MS-DOS-versio" + +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" +"Pätsit: " + +msgid "Modified by " +msgstr "Muokannut " + +msgid "" +"\n" +"Compiled " +msgstr "" +"\n" +"Kääntänyt " + +msgid "by " +msgstr ": " + +msgid "" +"\n" +"Huge version " +msgstr "" +"\n" +"Huge-versio " + +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Big-version " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Normal-versio " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Small-versio " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Tiny-versio " + +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 Moolenaar 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 for information " +msgstr "kirjoita :help iccf lisätietoa varten " + +msgid "type :q to exit " +msgstr "kirjoita :q lopettaaksesi " + +msgid "type :help or for on-line help" +msgstr "kirjoita :help tai ohjetta varten " + +msgid "type :help version7 for version info" +msgstr "kirjoita :help version7 versiotietoja varten " + +msgid "Running in Vi compatible mode" +msgstr "Suoritetaan Vi-yhteensopivuustilaa" + +msgid "type :set nocp for Vim defaults" +msgstr "kirjoita :set nocp Vimin oletuksiin " + +msgid "type :help cp-default for info on this" +msgstr "kirjoita :help cp-default 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 for information " +msgstr "kirjoita :help sponsor lisätietoja varten" + +msgid "type :help register for information " +msgstr "kirjoita :help register 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 for info on this" +msgstr "kirjoita :help windows95 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; executes, CTRL-C quits" +msgstr "E11: Virheellinen komentorivi-ikkuna, suorittaa, Ctrl C lopettaa" + +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: Komentoa ei tueta exrc:ssä tai vimrc:ssä tässä hakemistossa tai" +" tägihaussa" + +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 not in a script context" +msgstr "E81: 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 -r 7d3c79a9b40a -r db46d51a3939 src/po/pt_BR.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/po/pt_BR.po Wed Aug 13 17:36:09 2008 +0900 @@ -0,0 +1,6131 @@ +# Brazilian Portuguese Translation for Vim vim:set foldmethod=marker: +# +msgid "" +msgstr "" +"Project-Id-Version: Vim 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-07-11 19:38-0300\n" +"PO-Revision-Date: 2008-07-13 13:14-0300\n" +"Last-Translator: Eduardo S. Dobay \n" +"Language-Team: Brazilian Portuguese \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ão foi possível alocar nenhum buffer, saindo do Vim..." + +msgid "E83: Cannot allocate buffer, using other one..." +msgstr "E83: Impossível alocar buffer; tentando usar outro..." + +msgid "E515: No buffers were unloaded" +msgstr "E515: Nenhum buffer foi descarregado" + +msgid "E516: No buffers were deleted" +msgstr "E516: Nenhum buffer foi apagado" + +msgid "E517: No buffers were wiped out" +msgstr "E517: Nenhum buffer foi eliminado" + +msgid "1 buffer unloaded" +msgstr "1 buffer descarregado" + +#, c-format +msgid "%d buffers unloaded" +msgstr "%d buffers descarregados" + +msgid "1 buffer deleted" +msgstr "1 buffer apagado" + +#, c-format +msgid "%d buffers deleted" +msgstr "%d buffers apagados" + +msgid "1 buffer wiped out" +msgstr "1 buffer eliminado" + +#, c-format +msgid "%d buffers wiped out" +msgstr "%d buffers eliminados" + +msgid "E84: No modified buffer found" +msgstr "E84: Não foram encontrados buffers modificados" + +#. back where we started, didn't find anything. +msgid "E85: There is no listed buffer" +msgstr "E85: Não há buffers listados" + +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Buffer %ld não existe" + +msgid "E87: Cannot go beyond last buffer" +msgstr "E87: Não é possível ir além do último buffer" + +msgid "E88: Cannot go before first buffer" +msgstr "E88: Não é possível ir para antes do primeiro buffer" + +#, c-format +msgid "E89: No write since last change for buffer %ld (add ! to override)" +msgstr "E89: Alterações no buffer %ld não foram gravadas (adicione ! para forçar)" + +msgid "E90: Cannot unload last buffer" +msgstr "E90: Impossível descarregar último buffer" + +msgid "W14: Warning: List of file names overflow" +msgstr "W14: Aviso: Estouro da lista de nomes de arquivos" + +#, c-format +msgid "E92: Buffer %ld not found" +msgstr "E92: Buffer %ld não encontrado" + +#, c-format +msgid "E93: More than one match for %s" +msgstr "E93: Mais de uma correspondência com %s" + +#, c-format +msgid "E94: No matching buffer for %s" +msgstr "E94: Nenhum buffer coincide com %s" + +#, c-format +msgid "line %ld" +msgstr "linha %ld" + +msgid "E95: Buffer with this name already exists" +msgstr "E95: Já existe um buffer com esse nome" + +msgid " [Modified]" +msgstr " [Modificado]" + +msgid "[Not edited]" +msgstr "[Não editado]" + +msgid "[New file]" +msgstr "[Novo arquivo]" + +msgid "[Read errors]" +msgstr "[Erros de leitura]" + +msgid "[readonly]" +msgstr "[somente-leitura]" + +#, c-format +msgid "1 line --%d%%--" +msgstr "1 linha --%d%%--" + +#, c-format +msgid "%ld lines --%d%%--" +msgstr "%ld linhas --%d%%--" + +#, c-format +msgid "line %ld of %ld --%d%%-- col " +msgstr "linha %ld de %ld --%d%%-- col " + +msgid "[No Name]" +msgstr "[Sem nome]" + +#. must be a help buffer +msgid "help" +msgstr "ajuda" + +msgid "[Help]" +msgstr "[Ajuda]" + +msgid "[Preview]" +msgstr "[Visualização]" + +msgid "All" +msgstr "Tudo" + +msgid "Bot" +msgstr "Fim" + +msgid "Top" +msgstr "Topo" + +#, c-format +msgid "" +"\n" +"# Buffer list:\n" +msgstr "" +"\n" +"# Lista de buffers:\n" + +msgid "[Location List]" +msgstr "[Lista de locais]" + +msgid "[Quickfix List]" +msgstr "[Lista quickfix]" + +msgid "" +"\n" +"--- Signs ---" +msgstr "" +"\n" +"--- Sinais ---" + +#, c-format +msgid "Signs for %s:" +msgstr "Sinais para %s:" + +#, c-format +msgid " line=%ld id=%d name=%s" +msgstr " linha=%ld id=%d nome=%s" + +#, c-format +msgid "E96: Can not diff more than %ld buffers" +msgstr "E96: Não é possível usar diff com mais de %ld buffers" + +msgid "E97: Cannot create diffs" +msgstr "E97: diff não funcionou" + +msgid "Patch file" +msgstr "Selecionar arquivo de patch" + +msgid "E98: Cannot read diff output" +msgstr "E98: Não foi possível ler o resultado do diff" + +msgid "E99: Current buffer is not in diff mode" +msgstr "E99: O buffer atual não está no modo diff" + +msgid "E793: No other buffer in diff mode is modifiable" +msgstr "E793: Não há nenhum outro buffer modificável em modo diff" + +msgid "E100: No other buffer in diff mode" +msgstr "E100: Não há nenhum outro buffer no modo diff" + +msgid "E101: More than two buffers in diff mode, don't know which one to use" +msgstr "E101: Há mais de dois buffers no modo diff; não sei quais usar" + +#, c-format +msgid "E102: Can't find buffer \"%s\"" +msgstr "E102: Buffer \"%s\" não encontrado" + +#, c-format +msgid "E103: Buffer \"%s\" is not in diff mode" +msgstr "E103: Buffer \"%s\" não está no modo diff" + +msgid "E787: Buffer changed unexpectedly" +msgstr "E787: Buffer foi alterado inesperadamente" + +msgid "E104: Escape not allowed in digraph" +msgstr "E104: Caractere escape não é permitido em dígrafos" + +msgid "E544: Keymap file not found" +msgstr "E544: Arquivo de mapa de teclado não encontrado" + +msgid "E105: Using :loadkeymap not in a sourced file" +msgstr "E105: :loadkeymap usado fora de um script Vim" + +msgid "E791: Empty keymap entry" +msgstr "E791: Entrada vazia no mapa de teclado" + +msgid " Keyword completion (^N^P)" +msgstr " Completar palavra-chave (^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 " modo ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" + +msgid " Whole line completion (^L^N^P)" +msgstr " Completar linha inteira (^L^N^P)" + +msgid " File name completion (^F^N^P)" +msgstr " Completar nome de arquivo (^F^N^P)" + +msgid " Tag completion (^]^N^P)" +msgstr " Completar marcador (^]^N^P)" + +msgid " Path pattern completion (^N^P)" +msgstr " Completar padrão de caminho (^N^P)" + +msgid " Definition completion (^D^N^P)" +msgstr " Completar definição (^D^N^P)" + +msgid " Dictionary completion (^K^N^P)" +msgstr " Completar do dicionário (^K^N^P)" + +msgid " Thesaurus completion (^T^N^P)" +msgstr " Completar do dicionário de sinônimos (^T^N^P)" + +msgid " Command-line completion (^V^N^P)" +msgstr " Completar da linha de comando (^V^N^P)" + +msgid " User defined completion (^U^N^P)" +msgstr " Completar definido pelo usuário (^U^N^P)" + +msgid " Omni completion (^O^N^P)" +msgstr " Completação inteligente (^O^N^P)" + +msgid " Spelling suggestion (s^N^P)" +msgstr " Sugestão de ortografia (s^N^P)" + +msgid " Keyword Local completion (^N^P)" +msgstr " Completar palavra-chave local (^N^P)" + +msgid "Hit end of paragraph" +msgstr "Fim do parágrafo atingido" + +msgid "'dictionary' option is empty" +msgstr "opção 'dictionary' vazia" + +msgid "'thesaurus' option is empty" +msgstr "opção 'thesaurus' vazia" + +#, c-format +msgid "Scanning dictionary: %s" +msgstr "Examinando dicionário: %s" + +msgid " (insert) Scroll (^E/^Y)" +msgstr " (inserção) Rolagem (^E/^Y)" + +msgid " (replace) Scroll (^E/^Y)" +msgstr " (substituição) Rolagem (^E/^Y)" + +#, c-format +msgid "Scanning: %s" +msgstr "Examinando: %s" + +#, c-format +msgid "Scanning tags." +msgstr "Examinando tags." + +msgid " Adding" +msgstr " Adicionando" + +#. 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 "-- Procurando..." + +msgid "Back at original" +msgstr "De volta ao original" + +msgid "Word from other line" +msgstr "Palavra de outra linha" + +msgid "The only match" +msgstr "A única correspondência" + +#, c-format +msgid "match %d of %d" +msgstr "correspondência %d de %d" + +#, c-format +msgid "match %d" +msgstr "correspondência %d" + +msgid "E18: Unexpected characters in :let" +msgstr "E18: Caracteres inesperados em :let" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: índice da lista fora dos limites: %ld" + +#, c-format +msgid "E121: Undefined variable: %s" +msgstr "E121: Variável indefinida: %s" + +msgid "E111: Missing ']'" +msgstr "E111: ']' faltando" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Argumento de %s deve ser uma Lista" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Argumento de %s deve ser uma Lista ou Dicionário" + +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Impossível usar chave vazia num Dicionário" + +msgid "E714: List required" +msgstr "E714: Lista requerida" + +msgid "E715: Dictionary required" +msgstr "E715: Dicionário requerido" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Muitos argumentos para a função: %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Chave inexistente no Dicionário: %s" + +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Função %s já existe, adicione ! para substituí-la" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Entrada do Dicionário já existente" + +msgid "E718: Funcref required" +msgstr "E718: Referência de função (Funcref) requerida" + +msgid "E719: Cannot use [:] with a Dictionary" +msgstr "E719: Não é possível usar [:] com um Dicionário" + +#, c-format +msgid "E734: Wrong variable type for %s=" +msgstr "E734: Variável de tipo errado para %s=" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Função desconhecida: %s" + +#, c-format +msgid "E461: Illegal variable name: %s" +msgstr "E461: Nome ilegal para variável: %s" + +msgid "E687: Less targets than List items" +msgstr "E687: Há menos destinos que itens na Lista" + +msgid "E688: More targets than List items" +msgstr "E688: Há mais destinos que itens na Lista" + +msgid "Double ; in list of variables" +msgstr "; duplo na lista de variáveis" + +#, c-format +msgid "E738: Can't list variables for %s" +msgstr "E738: Impossível listar variáveis %s" + +msgid "E689: Can only index a List or Dictionary" +msgstr "E689: Só Listas ou Dicionários podem ser indexados" + +msgid "E708: [:] must come last" +msgstr "E708: [:] deve vir por último" + +msgid "E709: [:] requires a List value" +msgstr "E709: [:] requer uma Lista" + +msgid "E710: List value has more items than target" +msgstr "E710: a Lista tem mais itens que o destino" + +msgid "E711: List value has not enough items" +msgstr "E711: a Lista não tem itens suficientes" + +msgid "E690: Missing \"in\" after :for" +msgstr "E690: \"in\" faltando após :for" + +#, c-format +msgid "E107: Missing braces: %s" +msgstr "E107: Parênteses faltando: %s" + +#, c-format +msgid "E108: No such variable: \"%s\"" +msgstr "E108: Variável inexistente: \"%s\"" + +msgid "E743: variable nested too deep for (un)lock" +msgstr "E743: variável aninhada demais para ser (des)bloqueada" + +msgid "E109: Missing ':' after '?'" +msgstr "E109: ':' faltando depois de '?'" + +msgid "E691: Can only compare List with List" +msgstr "E691: Uma Lista só pode ser comparada com outra Lista" + +msgid "E692: Invalid operation for Lists" +msgstr "E692: Operação inválida para Listas" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Um Dicionário só pode ser comparado com outro Dicionário" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Operação inválida para um Dicionário" + +msgid "E693: Can only compare Funcref with Funcref" +msgstr "E693: Funcref só pode ser comparada com outra Funcref" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Operação inválida para Funcrefs" + +msgid "E110: Missing ')'" +msgstr "E110: ')' faltando" + +msgid "E695: Cannot index a Funcref" +msgstr "E695: Não é possível indexar uma Funcref" + +#, c-format +msgid "E112: Option name missing: %s" +msgstr "E112: Nome de opção faltando: %s" + +#, c-format +msgid "E113: Unknown option: %s" +msgstr "E113: Opção desconhecida: %s" + +#, c-format +msgid "E114: Missing quote: %s" +msgstr "E114: Aspas duplas (\") faltando: %s" + +#, c-format +msgid "E115: Missing quote: %s" +msgstr "E115: Aspas simples (') faltando: %s" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Falta uma vírgula na Lista: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Lista não finalizada com ']': %s" + +#, c-format +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Dois-pontos faltando no Dicionário: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Chave duplicada no Dicionário: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Vírgula faltando no Dicionário: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Dicionário não finalizado com '}': %s" + +msgid "E724: variable nested too deep for displaying" +msgstr "E724: variável aninhada demais para ser exibida" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Função desconhecida: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Argumentos insuficientes para a função: %s" + +#, c-format +msgid "E120: Using not in a script context: %s" +msgstr "E120: usado fora de um script: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Função dict chamada sem um Dicionário: %s" + +msgid "E699: Too many arguments" +msgstr "E699: Argumentos demais" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() só pode ser usado no modo de Inserção" + +#. +#. * 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: Chave já existe: %s" + +#, c-format +msgid "+-%s%3ld lines: " +msgstr "+-%s%3ld linhas: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Função desconhecida: %s" + +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&OK\n" +"&Cancelar" + +msgid "called inputrestore() more often than inputsave()" +msgstr "inputrestore() foi chamado mais vezes que inputsave()" + +msgid "E786: Range not allowed" +msgstr "E786: Intervalos não são permitidos" + +msgid "E701: Invalid type for len()" +msgstr "E701: Tipo inválido para len()" + +msgid "E726: Stride is zero" +msgstr "E726: Incremento nulo" + +msgid "E727: Start past end" +msgstr "E727: O início está depois do fim" + +msgid "" +msgstr "" + +msgid "E240: No connection to Vim server" +msgstr "E240: Nenhuma conexão a um servidor do Vim" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Não foi possível enviar para %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Não foi possível ler a resposta do servidor" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Links simbólicos em excesso (cíclicos?)" + +msgid "E258: Unable to send to client" +msgstr "E258: Não foi possível enviar ao cliente" + +msgid "E702: Sort compare function failed" +msgstr "E702: A função de comparação para a classificação falhou" + +msgid "(Invalid)" +msgstr "(Inválido)" + +msgid "E677: Error writing temp file" +msgstr "E677: Erro ao gravar o arquivo temporário" + +msgid "E703: Using a Funcref as a number" +msgstr "E703: Funcref usada como número" + +msgid "E745: Using a List as a number" +msgstr "E745: Lista usada como número" + +msgid "E728: Using a Dictionary as a number" +msgstr "E728: Dicionário usado como número" + +msgid "E729: using Funcref as a String" +msgstr "E729: Funcref usada como String" + +msgid "E730: using List as a String" +msgstr "E730: Lista usada como String" + +msgid "E731: using Dictionary as a String" +msgstr "E731: Dicionário usado como String" + +#, c-format +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: Nome de variável Funcref deve começar com letra maiúscula: %s" + +#, c-format +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Nome da variável em conflito com função já existente: %s" + +#, c-format +msgid "E706: Variable type mismatch for: %s" +msgstr "E706: Tipo de variável incoerente para: %s" + +#, c-format +msgid "E795: Cannot delete variable %s" +msgstr "E795: Impossível excluir variável %s" + +#, c-format +msgid "E741: Value is locked: %s" +msgstr "E741: Valor bloqueado: %s" + +msgid "Unknown" +msgstr "Desconhecido" + +#, c-format +msgid "E742: Cannot change value of %s" +msgstr "E742: Não é possível mudar valor de %s" + +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: variável aninhada demais para fazer uma cópia" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: '(' faltando: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Argumento inválido: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: :endfunction faltando" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Nome da função não coincide com o nome de arquivo do script: %s" + +msgid "E129: Function name required" +msgstr "E129: Nome da função requerido" + +#, c-format +msgid "E128: Function name must start with a capital or contain a colon: %s" +msgstr "E128: Nome da função deve começar com letra maiúscula ou conter dois-pontos: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Não é possível excluir a função %s: ela está em uso" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Profundidade de chamadas de função é maior que 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "chamando %s" + +#, c-format +msgid "%s aborted" +msgstr "%s cancelada" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s devolveu #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s devolveu %s" + +#, c-format +msgid "continuing in %s" +msgstr "continuando em %s" + +msgid "E133: :return not inside a function" +msgstr "E133: :return fora de uma função" + +#, c-format +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# variáveis globais:\n" + +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tDefinido pela última vez em " + +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, Hex %02x, Octal %03o" + +#, c-format +msgid "> %d, Hex %04x, Octal %o" +msgstr "> %d, Hex %04x, Octal %o" + +#, c-format +msgid "> %d, Hex %08x, Octal %o" +msgstr "> %d, Hex %08x, Octal %o" + +msgid "E134: Move lines into themselves" +msgstr "E134: O destino coincide com a origem" + +msgid "1 line moved" +msgstr "1 linha movida" + +#, c-format +msgid "%ld lines moved" +msgstr "%ld linhas movidas" + +#, c-format +msgid "%ld lines filtered" +msgstr "%ld linhas filtradas" + +msgid "E135: *Filter* Autocommands must not change current buffer" +msgstr "E135: Os autocomandos *Filter* não devem modificar o buffer atual" + +msgid "[No write since last change]\n" +msgstr "[Alterações não gravadas]\n" + +#, c-format +msgid "%sviminfo: %s in line: " +msgstr "%sviminfo: %s na linha: " + +msgid "E136: viminfo: Too many errors, skipping rest of file" +msgstr "E136: viminfo: Há erros demais; abandonando a leitura do arquivo" + +#, c-format +msgid "Reading viminfo file \"%s\"%s%s%s" +msgstr "Lendo arquivo viminfo \"%s\"%s%s%s" + +msgid " info" +msgstr " info" + +msgid " marks" +msgstr " marcas" + +msgid " FAILED" +msgstr " FALHOU" + +#. avoid a wait_return for this message, it's annoying +#, c-format +msgid "E137: Viminfo file is not writable: %s" +msgstr "E137: O arquivo viminfo não pode ser escrito: %s" + +#, c-format +msgid "E138: Can't write viminfo file %s!" +msgstr "E138: Não é possível gravar o arquivo viminfo %s!" + +#, c-format +msgid "Writing viminfo file \"%s\"" +msgstr "Gravando arquivo viminfo \"%s\"" + +#. Write the info: +#, c-format +msgid "# This viminfo file was generated by Vim %s.\n" +msgstr "# Este arquivo viminfo foi gerado pelo Vim %s.\n" + +#, c-format +msgid "" +"# You may edit it if you're careful!\n" +"\n" +msgstr "" +"# Você pode editá-lo se for cuidadoso!\n" +"\n" + +#, c-format +msgid "# Value of 'encoding' when this file was written\n" +msgstr "# Valor de 'encoding' quando este arquivo foi escrito\n" + +msgid "Illegal starting char" +msgstr "Caractere inicial inválido" + +msgid "Save As" +msgstr "Salvar como" + +msgid "Write partial file?" +msgstr "Gravar arquivo parcial?" + +msgid "E140: Use ! to write partial buffer" +msgstr "E140: Use ! para gravar o buffer apenas parcialmente" + +#, c-format +msgid "Overwrite existing file \"%s\"?" +msgstr "Sobrescrever arquivo existente \"%s\"?" + +#, c-format +msgid "Swap file \"%s\" exists, overwrite anyway?" +msgstr "O arquivo de troca \"%s\" existe. Sobrescrevê-lo?" + +#, c-format +msgid "E768: Swap file exists: %s (:silent! overrides)" +msgstr "E768: Arquivo de troca existe: %s (:silent! para forçar)" + +#, c-format +msgid "E141: No file name for buffer %ld" +msgstr "E141: Sem nome de arquivo para o buffer %ld" + +msgid "E142: File not written: Writing is disabled by 'write' option" +msgstr "E142: Arquivo não gravado: gravação desativada pela opção 'write'" + +#, c-format +msgid "" +"'readonly' option is set for \"%s\".\n" +"Do you wish to write anyway?" +msgstr "" +"\"%s\" está com a opção 'readonly' (somente-leitura) ativada.\n" +"Você deseja gravar assim mesmo?" + +#, 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 "" +"As permissões para \"%s\" são somente-leitura.\n" +"Ainda pode ser possível gravar no arquivo.\n" +"Você deseja tentar?" + +#, c-format +msgid "E505: \"%s\" is read-only (add ! to override)" +msgstr "E505: \"%s\" é somente-leitura (adicione ! para forçar)" + +msgid "Edit File" +msgstr "Editar arquivo" + +#, c-format +msgid "E143: Autocommands unexpectedly deleted new buffer %s" +msgstr "E143: Algum autocomando inesperadamente apagou o buffer %s recém-criado" + +msgid "E144: non-numeric argument to :z" +msgstr "E144: argumento não-numérico passado a :z" + +msgid "E145: Shell commands not allowed in rvim" +msgstr "E145: Comandos do shell não são permitidos no rvim" + +msgid "E146: Regular expressions can't be delimited by letters" +msgstr "E146: Expressões regulares não podem ser delimitadas por letras" + +#, c-format +msgid "replace with %s (y/n/a/q/l/^E/^Y)?" +msgstr "substituir por %s (y/n/a/q/l/^E/^Y)?" + +msgid "(Interrupted) " +msgstr "(Interrompido) " + +msgid "1 match" +msgstr "1 correspondência" + +msgid "1 substitution" +msgstr "1 substituição" + +#, c-format +msgid "%ld matches" +msgstr "%ld correspondências" + +#, c-format +msgid "%ld substitutions" +msgstr "%ld substituições" + +msgid " on 1 line" +msgstr " em 1 linha" + +#, c-format +msgid " on %ld lines" +msgstr " em %ld linhas" + +msgid "E147: Cannot do :global recursive" +msgstr "E147: :global não pode ser executado recursivamente" + +msgid "E148: Regular expression missing from global" +msgstr "E148: Expressão regular faltando no comando :global" + +#, c-format +msgid "Pattern found in every line: %s" +msgstr "Padrão encontrado em toda linha: %s" + +#, c-format +msgid "" +"\n" +"# Last Substitute String:\n" +"$" +msgstr "" +"\n" +"# Última string de substituição:\n" +"$" + +msgid "E478: Don't panic!" +msgstr "E478: Não entre em pânico!" + +#, c-format +msgid "E661: Sorry, no '%s' help for %s" +msgstr "E661: Desculpe, nenhuma ajuda para %s em '%s'" + +#, c-format +msgid "E149: Sorry, no help for %s" +msgstr "E149: Desculpe, nenhuma ajuda para %s" + +#, c-format +msgid "Sorry, help file \"%s\" not found" +msgstr "Desculpe, arquivo de ajuda \"%s\" não encontrado" + +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: Não é um diretório: %s" + +#, c-format +msgid "E152: Cannot open %s for writing" +msgstr "E152: Não foi possível abrir %s para escrita" + +#, c-format +msgid "E153: Unable to open %s for reading" +msgstr "E153: Não foi possível abrir %s para leitura" + +#, c-format +msgid "E670: Mix of help file encodings within a language: %s" +msgstr "E670: Mistura de codificações nos arquivos de ajuda na língua: %s" + +#, c-format +msgid "E154: Duplicate tag \"%s\" in file %s/%s" +msgstr "E154: Marcador duplicado \"%s\" no arquivo %s/%s" + +#, c-format +msgid "E160: Unknown sign command: %s" +msgstr "E160: Subcomando sign desconhecido: %s" + +msgid "E156: Missing sign name" +msgstr "E156: Nome do sinal faltando" + +msgid "E612: Too many signs defined" +msgstr "E612: Muitos sinais definidos" + +#, c-format +msgid "E239: Invalid sign text: %s" +msgstr "E239: Texto de sinal inválido: %s" + +#, c-format +msgid "E155: Unknown sign: %s" +msgstr "E155: Sinal desconhecido: %s" + +msgid "E159: Missing sign number" +msgstr "E159: Número do sinal faltando" + +#, c-format +msgid "E158: Invalid buffer name: %s" +msgstr "E158: Nome de buffer inválido: %s" + +#, c-format +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: ID de sinal inválido: %ld" + +msgid " (NOT FOUND)" +msgstr " (NÃO ENCONTRADO)" + +msgid " (not supported)" +msgstr " (não suportado)" + +msgid "[Deleted]" +msgstr "[Excluído]" + +msgid "Entering Debug mode. Type \"cont\" to continue." +msgstr "Entrando modo de depuração. Digite \"cont\" para continuar." + +#, c-format +msgid "line %ld: %s" +msgstr "linha %ld: %s" + +#, c-format +msgid "cmd: %s" +msgstr "cmdo: %s" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Ponto de interrupção em \"%s%s\", linha %ld" + +#, c-format +msgid "E161: Breakpoint not found: %s" +msgstr "E161: Ponto de interrupção não encontrado: %s" + +msgid "No breakpoints defined" +msgstr "Nenhum ponto de interrupção definido" + +#, c-format +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s linha %ld" + +msgid "E750: First use :profile start " +msgstr "E750: Primeiramente digite :profile start " + +#, c-format +msgid "Save changes to \"%s\"?" +msgstr "Salvar as alterações em \"%s\"?" + +msgid "Untitled" +msgstr "(Sem título)" + +#, c-format +msgid "E162: No write since last change for buffer \"%s\"" +msgstr "E162: Alterações no buffer \"%s\" não foram gravadas" + +msgid "Warning: Entered other buffer unexpectedly (check autocommands)" +msgstr "Aviso: Entrada inesperada em outro buffer (verifique os autocomandos)" + +msgid "E163: There is only one file to edit" +msgstr "E163: Só há um arquivo para editar" + +msgid "E164: Cannot go before first file" +msgstr "E164: Impossível ir antes do primeiro arquivo" + +msgid "E165: Cannot go beyond last file" +msgstr "E165: Impossível ir além do último arquivo" + +#, c-format +msgid "E666: compiler not supported: %s" +msgstr "E666: compilador não suportado: %s" + +#, c-format +msgid "Searching for \"%s\" in \"%s\"" +msgstr "Procurando por \"%s\" em \"%s\"" + +#, c-format +msgid "Searching for \"%s\"" +msgstr "Procurando por \"%s\"" + +#, c-format +msgid "not found in 'runtimepath': \"%s\"" +msgstr "não encontrado em 'runtimepath': \"%s\"" + +msgid "Source Vim script" +msgstr "Executar script do Vim" + +#, c-format +msgid "Cannot source a directory: \"%s\"" +msgstr "Impossível executar um diretório: \"%s\"" + +#, c-format +msgid "could not source \"%s\"" +msgstr "não foi possível executar \"%s\"" + +#, c-format +msgid "line %ld: could not source \"%s\"" +msgstr "linha %ld: não foi possível executar \"%s\"" + +#, c-format +msgid "sourcing \"%s\"" +msgstr "executando \"%s\"" + +#, c-format +msgid "line %ld: sourcing \"%s\"" +msgstr "linha %ld: executando \"%s\"" + +#, c-format +msgid "finished sourcing %s" +msgstr "fim da execução de %s" + +msgid "modeline" +msgstr "modeline" + +msgid "--cmd argument" +msgstr "argumento --cmd" + +msgid "-c argument" +msgstr "argumento -c" + +msgid "environment variable" +msgstr "variável de ambiente" + +msgid "error handler" +msgstr "tratador de erro" + +msgid "W15: Warning: Wrong line separator, ^M may be missing" +msgstr "W15: Aviso: Separador de linha incorreto; ^M pode estar faltando" + +msgid "E167: :scriptencoding used outside of a sourced file" +msgstr "E167: :scriptencoding usado fora de um script" + +msgid "E168: :finish used outside of a sourced file" +msgstr "E168: :finish usado fora de um script" + +#, c-format +msgid "Current %slanguage: \"%s\"" +msgstr "Idioma atual para %s: \"%s\"" + +#, c-format +msgid "E197: Cannot set language to \"%s\"" +msgstr "E197: Impossível definir idioma como \"%s\"" + +msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." +msgstr "Entrando no modo Ex. Digite \"visual\" para ir para o modo Normal." + +msgid "E501: At end-of-file" +msgstr "E501: Fim do arquivo" + +msgid "E169: Command too recursive" +msgstr "E169: Comando recursivo demais" + +#, c-format +msgid "E605: Exception not caught: %s" +msgstr "E605: Exceção não interceptada: %s" + +msgid "End of sourced file" +msgstr "Fim do arquivo executado" + +msgid "End of function" +msgstr "Fim da função" + +msgid "E464: Ambiguous use of user-defined command" +msgstr "E464: Uso ambíguo de comando definido pelo usuário" + +msgid "E492: Not an editor command" +msgstr "E492: Não é um comando do editor" + +msgid "E493: Backwards range given" +msgstr "E493: Intervalo com limites invertidos" + +msgid "Backwards range given, OK to swap" +msgstr "O intervalo dado está com os limites invertidos. OK para reverter" + +msgid "E494: Use w or w>>" +msgstr "E494: Use w ou w>>" + +msgid "E319: Sorry, the command is not available in this version" +msgstr "E319: Desculpe, esse comando não está disponível nesta versão" + +msgid "E172: Only one file name allowed" +msgstr "E172: Só é permitido um nome de arquivo" + +msgid "1 more file to edit. Quit anyway?" +msgstr "Ainda há 1 arquivo para editar. Sair mesmo assim?" + +#, c-format +msgid "%d more files to edit. Quit anyway?" +msgstr "Há mais %d arquivos para editar. Sair mesmo assim?" + +msgid "E173: 1 more file to edit" +msgstr "E173: Mais 1 arquivo para editar" + +#, c-format +msgid "E173: %ld more files to edit" +msgstr "E173: Mais %ld arquivos para editar" + +msgid "E174: Command already exists: add ! to replace it" +msgstr "E174: Comando já existe; adicione ! para substituí-lo" + +msgid "" +"\n" +" Name Args Range Complete Definition" +msgstr "" +"\n" +" Nome Args Intrv Complet. Definição" + +msgid "No user-defined commands found" +msgstr "Nenhum comando definido pelo usuário foi encontrado" + +msgid "E175: No attribute specified" +msgstr "E175: Nenhum atributo foi especificado" + +msgid "E176: Invalid number of arguments" +msgstr "E176: Número inválido de argumentos" + +msgid "E177: Count cannot be specified twice" +msgstr "E177: Quantificador não pode ser especificado duas vezes" + +msgid "E178: Invalid default value for count" +msgstr "E178: Valor padrão inválido para o quantificador" + +msgid "E179: argument required for -complete" +msgstr "E179: argumento necessário para -complete" + +#, c-format +msgid "E181: Invalid attribute: %s" +msgstr "E181: Atributo inválido: %s" + +msgid "E182: Invalid command name" +msgstr "E182: Nome de comando inválido" + +msgid "E183: User defined commands must start with an uppercase letter" +msgstr "E183: Comandos definidos pelo usuário devem começar com letra maiúscula" + +#, c-format +msgid "E184: No such user-defined command: %s" +msgstr "E184: Não existe tal comando definido pelo usuário: %s" + +#, c-format +msgid "E180: Invalid complete value: %s" +msgstr "E180: Valor inválido para -complete: %s" + +msgid "E468: Completion argument only allowed for custom completion" +msgstr "E468: Argumento só é permitido para completação personalizada" + +msgid "E467: Custom completion requires a function argument" +msgstr "E467: Completação automática requer função como argumento" + +#, c-format +msgid "E185: Cannot find color scheme %s" +msgstr "E185: Esquema de cores %s não encontrado" + +msgid "Greetings, Vim user!" +msgstr "Saudações, usuário do Vim!" + +msgid "E784: Cannot close last tab page" +msgstr "E784: Não é possível fechar a última aba" + +msgid "Already only one tab page" +msgstr "Já há apenas uma aba" + +msgid "Edit File in new window" +msgstr "Editar arquivo em nova janela" + +#, c-format +msgid "Tab page %d" +msgstr "Aba %d" + +msgid "No swap file" +msgstr "Sem arquivo de troca" + +msgid "Append File" +msgstr "Adicionar arquivo" + +msgid "E747: Cannot change directory, buffer is modified (add ! to override)" +msgstr "E747: Impossível mudar de diretório, o buffer foi alterado (adicione ! para forçar)" + +msgid "E186: No previous directory" +msgstr "E186: Não há diretório anterior" + +msgid "E187: Unknown" +msgstr "E187: Desconhecido" + +msgid "E465: :winsize requires two number arguments" +msgstr "E465: :winsize requer dois argumentos numéricos" + +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "Posição da janela: X %d, Y %d" + +msgid "E188: Obtaining window position not implemented for this platform" +msgstr "E188: A obtenção da posição da janela não foi implementada para esta plataforma" + +msgid "E466: :winpos requires two number arguments" +msgstr "E466: :winpos requer dois argumentos numéricos" + +msgid "Save Redirection" +msgstr "Salvar redirecionamento" + +msgid "Save View" +msgstr "Salvar visão atual" + +msgid "Save Session" +msgstr "Salvar sessão" + +msgid "Save Setup" +msgstr "Salvar configurações" + +#, c-format +msgid "E739: Cannot create directory: %s" +msgstr "E739: Diretório não pode ser criado: %s" + +#, c-format +msgid "E189: \"%s\" exists (add ! to override)" +msgstr "E189: \"%s\" existe (adicione ! para forçar)" + +#, c-format +msgid "E190: Cannot open \"%s\" for writing" +msgstr "E190: \"%s\" não pode ser aberto para escrita" + +#. set mark +msgid "E191: Argument must be a letter or forward/backward quote" +msgstr "E191: Argumento deve ser uma letra ou aspa (` ou ')" + +msgid "E192: Recursive use of :normal too deep" +msgstr "E192: Recursão excessiva de :normal" + +msgid "E194: No alternate file name to substitute for '#'" +msgstr "E194: Sem nome de arquivo alternativo para substituir '#'" + +msgid "E495: no autocommand file name to substitute for \"\"" +msgstr "E495: nenhum nome de arquivo de autocomandos para substituir \"\"" + +msgid "E496: no autocommand buffer number to substitute for \"\"" +msgstr "E496: nenhum número de buffer de autocomandos para substituir \"\"" + +msgid "E497: no autocommand match name to substitute for \"\"" +msgstr "E497: nenhum critério de autocomando para substituir \"\"" + +msgid "E498: no :source file name to substitute for \"\"" +msgstr "E498: nenhum nome de arquivo :source para substituir \"\"" + +#, no-c-format +msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" +msgstr "E499: Nome de arquivo vazio para '%' ou '#' só funciona com \":p:h\"" + +msgid "E500: Evaluates to an empty string" +msgstr "E500: Expressão resulta em string vazia" + +msgid "E195: Cannot open viminfo file for reading" +msgstr "E195: O arquivo viminfo não pode ser aberto para leitura" + +msgid "E196: No digraphs in this version" +msgstr "E196: Sem suporte a dígrafos nesta versão" + +msgid "E608: Cannot :throw exceptions with 'Vim' prefix" +msgstr "E608: Não é possível lançar exceções com o prefixo 'Vim'" + +#. always scroll up, don't overwrite +#, c-format +msgid "Exception thrown: %s" +msgstr "Exceção lançada: %s" + +#, c-format +msgid "Exception finished: %s" +msgstr "Exceção concluída: %s" + +#, c-format +msgid "Exception discarded: %s" +msgstr "Exceção descartada: %s" + +#, c-format +msgid "%s, line %ld" +msgstr "%s, linha %ld" + +#. always scroll up, don't overwrite +#, c-format +msgid "Exception caught: %s" +msgstr "Exceção interceptada: %s" + +#, c-format +msgid "%s made pending" +msgstr "%s tornado(s) pendente(s)" + +#, c-format +msgid "%s resumed" +msgstr "%s continuado(s)" + +#, c-format +msgid "%s discarded" +msgstr "%s descartado(s)" + +msgid "Exception" +msgstr "Exceção" + +msgid "Error and interrupt" +msgstr "Erro e interrupção" + +msgid "Error" +msgstr "Erro" + +#. if (pending & CSTP_INTERRUPT) +msgid "Interrupt" +msgstr "Interrupção" + +msgid "E579: :if nesting too deep" +msgstr "E579: :if aninhado demais" + +msgid "E580: :endif without :if" +msgstr "E580: :endif sem :if" + +msgid "E581: :else without :if" +msgstr "E581: :else sem :if" + +msgid "E582: :elseif without :if" +msgstr "E582: :elseif sem :if" + +msgid "E583: multiple :else" +msgstr "E583: mais de um :else" + +msgid "E584: :elseif after :else" +msgstr "E584: :elseif depois de :else" + +msgid "E585: :while/:for nesting too deep" +msgstr "E585: :while/:for aninhados demais" + +msgid "E586: :continue without :while or :for" +msgstr "E586: :continue sem :while ou :for" + +msgid "E587: :break without :while or :for" +msgstr "E587: :break sem :while ou :for" + +msgid "E732: Using :endfor with :while" +msgstr "E732: :endfor usado com :while" + +msgid "E733: Using :endwhile with :for" +msgstr "E733: :endwhile usado com :for" + +msgid "E601: :try nesting too deep" +msgstr "E601: :try aninhado demais" + +msgid "E603: :catch without :try" +msgstr "E603: :catch sem :try" + +#. Give up for a ":catch" after ":finally" and ignore it. +#. * Just parse. +msgid "E604: :catch after :finally" +msgstr "E604: :catch depois de :finally" + +msgid "E606: :finally without :try" +msgstr "E606: :finally sem :try" + +#. Give up for a multiple ":finally" and ignore it. +msgid "E607: multiple :finally" +msgstr "E607: mais de um :finally" + +msgid "E602: :endtry without :try" +msgstr "E602: :endtry sem :try" + +msgid "E193: :endfunction not inside a function" +msgstr "E193: :endfunction fora de uma função" + +msgid "E788: Not allowed to edit another buffer now" +msgstr "E788: Não é possível editar outro buffer agora" + +msgid "tagname" +msgstr "marcador" + +msgid " kind file\n" +msgstr " tipo arquivo\n" + +msgid "'history' option is zero" +msgstr "opção 'history' vale zero" + +#, c-format +msgid "" +"\n" +"# %s History (newest to oldest):\n" +msgstr "" +"\n" +"# Histórico de %s (mais recente primeiro):\n" + +msgid "Command Line" +msgstr "Linha de comando" + +msgid "Search String" +msgstr "Expressões de busca" + +msgid "Expression" +msgstr "Expressão" + +msgid "Input Line" +msgstr "Linhas de entrada" + +msgid "E198: cmd_pchar beyond the command length" +msgstr "E198: cmd_pchar além do final do comando" + +msgid "E199: Active window or buffer deleted" +msgstr "E199: A janela ou buffer ativo foi apagado" + +msgid "Illegal file name" +msgstr "Nome de arquivo inválido" + +msgid "is a directory" +msgstr "é um diretório" + +msgid "is not a file" +msgstr "não é um arquivo" + +msgid "is a device (disabled with 'opendevice' option)" +msgstr "é um dispositivo (desativado pela opção 'opendevice')" + +msgid "[New File]" +msgstr "[Novo arquivo]" + +msgid "[New DIRECTORY]" +msgstr "[Novo DIRETÓRIO]" + +msgid "[File too big]" +msgstr "[Arquivo muito grande]" + +msgid "[Permission Denied]" +msgstr "[Permissão negada]" + +msgid "E200: *ReadPre autocommands made the file unreadable" +msgstr "E200: Autocomandos *ReadPre tornaram o arquivo ilegível" + +msgid "E201: *ReadPre autocommands must not change current buffer" +msgstr "E201: Os autocomandos *ReadPre não devem alterar o buffer atual" + +msgid "Vim: Reading from stdin...\n" +msgstr "Vim: Lendo da entrada padrão...\n" + +msgid "Reading from stdin..." +msgstr "Lendo da entrada padrão..." + +#. Re-opening the original file failed! +msgid "E202: Conversion made file unreadable!" +msgstr "E202: A conversão tornou o arquivo ilegível!" + +msgid "[fifo/socket]" +msgstr "[fifo/socket]" + +msgid "[fifo]" +msgstr "[fifo]" + +msgid "[socket]" +msgstr "[socket]" + +msgid "[character special]" +msgstr "[dispositivo de caractere]" + +msgid "[RO]" +msgstr "[S/L]" + +msgid "[CR missing]" +msgstr "[CR faltando]" + +msgid "[NL found]" +msgstr "[NL encontrado]" + +msgid "[long lines split]" +msgstr "[linhas longas divididas]" + +msgid "[NOT converted]" +msgstr "[NÃO convertido]" + +msgid "[converted]" +msgstr "[convertido]" + +msgid "[crypted]" +msgstr "[criptografado]" + +#, c-format +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ERRO DE CONVERSÃO na linha %ld]" + +#, c-format +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[BYTE INVÁLIDO na linha %ld]" + +msgid "[READ ERRORS]" +msgstr "[ERROS DE LEITURA]" + +msgid "Can't find temp file for conversion" +msgstr "Não foi possível encontrar um arquivo temporário para a conversão" + +msgid "Conversion with 'charconvert' failed" +msgstr "Conversão com 'charconvert' falhou" + +msgid "can't read output of 'charconvert'" +msgstr "não foi possível ler o resultado de 'charconvert'" + +msgid "E676: No matching autocommands for acwrite buffer" +msgstr "E676: Nenhum comando automático correspondente para acwrite buffer" + +msgid "E203: Autocommands deleted or unloaded buffer to be written" +msgstr "E203: Os autocomandos apagaram ou descarregaram o buffer a ser gravado" + +msgid "E204: Autocommand changed number of lines in unexpected way" +msgstr "E204: Autocomando alterou número de linhas de maneira inesperada" + +msgid "NetBeans dissallows writes of unmodified buffers" +msgstr "NetBeans não permite gravação de buffers não modificados" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Gravação parcial não é permitida em buffers do NetBeans" + +msgid "is not a file or writable device" +msgstr "não é um arquivo ou dispositivo com permissão de escrita" + +msgid "writing to device disabled with 'opendevice' option" +msgstr "escrita em dispositivo desativada pela opção 'opendevice'" + +msgid "is read-only (add ! to override)" +msgstr "é somente-leitura (adicione ! para forçar)" + +msgid "E506: Can't write to backup file (add ! to override)" +msgstr "E506: Impossível gravar arquivo de backup (adicione ! para forçar)" + +msgid "E507: Close error for backup file (add ! to override)" +msgstr "E507: Erro de fechamento no arquivo de backup (adicione ! para forçar)" + +msgid "E508: Can't read file for backup (add ! to override)" +msgstr "E508: Impossível ler o arquivo para backup (adicione ! para forçar)" + +msgid "E509: Cannot create backup file (add ! to override)" +msgstr "E509: Impossível criar arquivo de backup (adicione ! para forçar)" + +msgid "E510: Can't make backup file (add ! to override)" +msgstr "E510: Impossível fazer o backup (adicione ! para forçar)" + +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: O resource fork seria perdido (adicione ! para forçar)" + +msgid "E214: Can't find temp file for writing" +msgstr "E214: Não foi possível encontrar arquivo temporário para escrita" + +msgid "E213: Cannot convert (add ! to write without conversion)" +msgstr "E213: Impossível converter (adicione ! para gravar sem converter)" + +msgid "E166: Can't open linked file for writing" +msgstr "E166: Impossível abrir ligação para escrita" + +msgid "E212: Can't open file for writing" +msgstr "E212: Impossível abrir arquivo para escrita" + +msgid "E667: Fsync failed" +msgstr "E667: Fsync falhou" + +msgid "E512: Close failed" +msgstr "E512: Falha no fechamento do arquivo" + +msgid "E513: write error, conversion failed (make 'fenc' empty to override)" +msgstr "E513: erro de gravação, conversão falhou (torne 'fenc' vazio para forçar)" + +msgid "E514: write error (file system full?)" +msgstr "E514: erro de gravação (sistema de arquivos cheio?)" + +msgid " CONVERSION ERROR" +msgstr " ERRO DE CONVERSÃO" + +msgid "[Device]" +msgstr "[Dispositivo]" + +msgid "[New]" +msgstr "[Novo]" + +msgid " [a]" +msgstr " [a]" + +msgid " appended" +msgstr " adicionado(s)" + +msgid " [w]" +msgstr " [g]" + +msgid " written" +msgstr " gravado(s)" + +msgid "E205: Patchmode: can't save original file" +msgstr "E205: patchmode: impossível salvar o arquivo original" + +msgid "E206: patchmode: can't touch empty original file" +msgstr "E206: patchmode: impossível criar arquivo original vazio" + +msgid "E207: Can't delete backup file" +msgstr "E207: Impossível excluir arquivo de backup" + +msgid "" +"\n" +"WARNING: Original file may be lost or damaged\n" +msgstr "" +"\n" +"AVISO: O arquivo original pode ter sido perdido ou danificado\n" + +msgid "don't quit the editor until the file is successfully written!" +msgstr "não saia do editor até que o arquivo tenha sido gravado com sucesso!" + +msgid "[dos]" +msgstr "[dos]" + +msgid "[dos format]" +msgstr "[formato dos]" + +msgid "[mac]" +msgstr "[mac]" + +msgid "[mac format]" +msgstr "[formato mac]" + +msgid "[unix]" +msgstr "[unix]" + +msgid "[unix format]" +msgstr "[formato unix]" + +msgid "1 line, " +msgstr "1 linha, " + +#, c-format +msgid "%ld lines, " +msgstr "%ld linhas, " + +msgid "1 character" +msgstr "1 caractere" + +#, c-format +msgid "%ld characters" +msgstr "%ld caracteres" + +msgid "[noeol]" +msgstr "[sem fim de linha]" + +msgid "[Incomplete last line]" +msgstr "[Última linha incompleta]" + +#. 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 "AVISO: O arquivo foi alterado desde que foi carregado!!!" + +msgid "Do you really want to write to it" +msgstr "Você realmente deseja gravá-lo" + +#, c-format +msgid "E208: Error writing to \"%s\"" +msgstr "E208: Erro ao gravar \"%s\"" + +#, c-format +msgid "E209: Error closing \"%s\"" +msgstr "E209: Erro ao fechar \"%s\"" + +#, c-format +msgid "E210: Error reading \"%s\"" +msgstr "E210: Erro ao ler \"%s\"" + +msgid "E246: FileChangedShell autocommand deleted buffer" +msgstr "E246: O autocomando FileChangedShell apagou o buffer" + +#, c-format +msgid "E211: File \"%s\" no longer available" +msgstr "E211: Arquivo \"%s\" não está mais disponível" + +#, c-format +msgid "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as well" +msgstr "W12: Aviso: O arquivo \"%s\" foi alterado e o buffer também foi alterado no Vim!" + +msgid "See \":help W12\" for more info." +msgstr "Veja \":help W12\" para mais informações." + +#, c-format +msgid "W11: Warning: File \"%s\" has changed since editing started" +msgstr "W11: Aviso: O arquivo \"%s\" foi alterado desde o início da edição!" + +msgid "See \":help W11\" for more info." +msgstr "Veja \":help W11\" para mais informações." + +#, c-format +msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" +msgstr "W16: Aviso: O modo do arquivo \"%s\" foi alterado desde o início da edição!" + +msgid "See \":help W16\" for more info." +msgstr "Veja \":help W16\" para mais informações." + +#, c-format +msgid "W13: Warning: File \"%s\" has been created after editing started" +msgstr "W13: Aviso: O arquivo \"%s\" foi criado após o início da edição!" + +msgid "Warning" +msgstr "Aviso" + +msgid "" +"&OK\n" +"&Load File" +msgstr "" +"&OK\n" +"&Carregar arquivo" + +#, c-format +msgid "E462: Could not prepare for reloading \"%s\"" +msgstr "E462: Não foi possível preparar \"%s\" para ser recarregado" + +#, c-format +msgid "E321: Could not reload \"%s\"" +msgstr "E321: Não foi possível recarregar \"%s\"" + +msgid "--Deleted--" +msgstr "--Excluído--" + +#, c-format +msgid "auto-removing autocommand: %s " +msgstr "removendo automaticamente o autocomando: %s " + +#. the group doesn't exist +#, c-format +msgid "E367: No such group: \"%s\"" +msgstr "E367: Grupo inexistente: \"%s\"" + +#, c-format +msgid "E215: Illegal character after *: %s" +msgstr "E215: Caractere inválido após *: %s" + +#, c-format +msgid "E216: No such event: %s" +msgstr "E216: Evento inexistente: %s" + +#, c-format +msgid "E216: No such group or event: %s" +msgstr "E216: Grupo ou evento inexistente: %s" + +#. Highlight title +msgid "" +"\n" +"--- Auto-Commands ---" +msgstr "" +"\n" +"--- Autocomandos ---" + +#, c-format +msgid "E680: : invalid buffer number " +msgstr "E680: : número inválido de buffer " + +msgid "E217: Can't execute autocommands for ALL events" +msgstr "E217: Não é possível executar autocomandos para TODOS os eventos" + +msgid "No matching autocommands" +msgstr "Nenhum autocomando coincidente" + +msgid "E218: autocommand nesting too deep" +msgstr "E218: autocomandos aninhados demais" + +#, c-format +msgid "%s Auto commands for \"%s\"" +msgstr "Comandos automáticos %s para \"%s\"" + +#, c-format +msgid "Executing %s" +msgstr "Executando %s" + +#, c-format +msgid "autocommand %s" +msgstr "autocomando %s" + +msgid "E219: Missing {." +msgstr "E219: { faltando." + +msgid "E220: Missing }." +msgstr "E220: } faltando." + +msgid "E490: No fold found" +msgstr "E490: Nenhuma dobra encontrada" + +msgid "E350: Cannot create fold with current 'foldmethod'" +msgstr "E350: Impossível criar dobra com a configuração atual de 'foldmethod'" + +msgid "E351: Cannot delete fold with current 'foldmethod'" +msgstr "E351: Impossível excluir dobra com a configuração atual de 'foldmethod'" + +#, c-format +msgid "+--%3ld lines folded " +msgstr "+--%3ld linhas dobradas " + +msgid "E222: Add to read buffer" +msgstr "E222: Adição a um buffer já lido" + +msgid "E223: recursive mapping" +msgstr "E223: associação recursiva" + +#, c-format +msgid "E224: global abbreviation already exists for %s" +msgstr "E224: já existe uma abreviação global para %s" + +#, c-format +msgid "E225: global mapping already exists for %s" +msgstr "E225: já existe uma associação global para %s" + +#, c-format +msgid "E226: abbreviation already exists for %s" +msgstr "E226: já existe uma abreviação para %s" + +#, c-format +msgid "E227: mapping already exists for %s" +msgstr "E227: já existe uma associação para %s" + +msgid "No abbreviation found" +msgstr "Nenhuma abreviação encontrada" + +msgid "No mapping found" +msgstr "Nenhuma associação encontrada" + +msgid "E228: makemap: Illegal mode" +msgstr "E228: makemap: Modo inválido" + +msgid "E229: Cannot start the GUI" +msgstr "E229: Não é possível iniciar a interface gráfica" + +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Impossível ler de \"%s\"" + +msgid "E665: Cannot start GUI, no valid font found" +msgstr "E665: Impossível iniciar a interface gráfica, nenhuma fonte válida encontrada" + +msgid "E231: 'guifontwide' invalid" +msgstr "E231: Valor inválido para 'guifontwide'" + +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Valor inválido para 'imactivatekey'" + +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: Impossível alocar cor %s" + +msgid "No match at cursor, finding next" +msgstr "Nenhum resultado sob o cursor; procurando próximo" + +msgid " " +msgstr " " + +#, c-format +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: impossível obter fonte %s" + +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: impossível voltar ao diretório atual" + +msgid "Pathname:" +msgstr "Caminho:" + +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: impossível obter diretório atual" + +msgid "OK" +msgstr "OK" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "Widget barra de rolagem: impossível obter geometria do pixmap 'thumb'" + +msgid "Vim dialog" +msgstr "Diálogo do Vim" + +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: Impossível criar BalloonEval com mensagem E callback" + +msgid "Vim dialog..." +msgstr "Diálogo do Vim..." + +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Sim\n" +"&Não\n" +"&Cancelar" + +msgid "Input _Methods" +msgstr "_Métodos de entrada" + +msgid "VIM - Search and Replace..." +msgstr "VIM - Procurar e substituir..." + +msgid "VIM - Search..." +msgstr "VIM - Procurar..." + +msgid "Find what:" +msgstr "Localizar:" + +msgid "Replace with:" +msgstr "Substituir por:" + +#. whole word only button +msgid "Match whole word only" +msgstr "Coincidir palavra inteira" + +#. match case button +msgid "Match case" +msgstr "Diferenciar maiúsculas/minúsculas" + +msgid "Direction" +msgstr "Direção" + +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "Acima" + +msgid "Down" +msgstr "Abaixo" + +msgid "Find Next" +msgstr "Localizar próxima" + +msgid "Replace" +msgstr "Substituir" + +msgid "Replace All" +msgstr "Substituir todas" + +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: Recebido um pedido \"die\" do gerenciador de sessão\n" + +msgid "Close" +msgstr "Fechar" + +msgid "New tab" +msgstr "Nova aba" + +msgid "Open Tab..." +msgstr "Abrir aba..." + +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Janela principal destruída inesperadamente\n" + +msgid "Font Selection" +msgstr "Selecionar fonte" + +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Foi usado CUT_BUFFER0 em vez de uma seleção vazia" + +msgid "&Filter" +msgstr "&Filtrar" + +msgid "&Cancel" +msgstr "&Cancelar" + +msgid "Directories" +msgstr "Diretórios" + +msgid "Filter" +msgstr "Filtro" + +msgid "&Help" +msgstr "A&juda" + +msgid "Files" +msgstr "Arquivos" + +msgid "&OK" +msgstr "&OK" + +msgid "Selection" +msgstr "Seleção" + +msgid "Find &Next" +msgstr "Localizar &próxima" + +msgid "&Replace" +msgstr "&Substituir" + +msgid "Replace &All" +msgstr "Substituir &todas" + +msgid "&Undo" +msgstr "&Desfazer" + +#, c-format +msgid "E610: Can't load Zap font '%s'" +msgstr "E610: Impossível carregar a fonte Zap '%s'" + +#, c-format +msgid "E611: Can't use font %s" +msgstr "E611: Impossível usar a fonte %s" + +msgid "" +"\n" +"Sending message to terminate child process.\n" +msgstr "" +"\n" +"Enviando mensagem para terminar processo-filho.\n" + +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Impossível encontrar janela de título \"%s\"" + +#, c-format +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: Argumento não suportado: \"-%s\"; Use a versão OLE." + +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Impossível abrir janela dentro de aplicação MDI" + +msgid "Close tab" +msgstr "Fechar aba" + +msgid "Open tab..." +msgstr "Abrir aba..." + +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Localizar cadeia de caracteres (use '\\\\' para procurar por '\\')" + +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Localizar e Substituir (use '\\\\' para procurar por '\\')" + +#. 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 "Não usado" + +msgid "Directory\t*.nothing\n" +msgstr "Diretório\t*.nada\n" + +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "Vim E458: Impossível alocar entrada do mapa de cores; algumas cores podem estar erradas" + +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: Faltam fontes para os seguintes conjuntos de caracteres no conjunto de fontes %s:" + +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: Nome do conjunto de fontes: %s" + +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "Fonte '%s' não é de largura fixa" + +#, c-format +msgid "E253: Fontset name: %s\n" +msgstr "E253: Nome do conjunto de fontes: %s\n" + +#, c-format +msgid "Font0: %s\n" +msgstr "Fonte0: %s\n" + +#, c-format +msgid "Font1: %s\n" +msgstr "Fonte1: %s\n" + +#, c-format +msgid "Font%ld width is not twice that of font0\n" +msgstr "O tamanho da Fonte%ld não é o dobro do da Fonte0\n" + +#, c-format +msgid "Font0 width: %ld\n" +msgstr "Tamanho da Fonte0: %ld\n" + +#, c-format +msgid "" +"Font1 width: %ld\n" +"\n" +msgstr "" +"Tamanho da Fonte1: %ld\n" +"\n" + +msgid "Invalid font specification" +msgstr "Especificação de fonte inválida" + +msgid "&Dismiss" +msgstr "&Dispensar" + +msgid "no specific match" +msgstr "nenhuma coincidência exata" + +msgid "Vim - Font Selector" +msgstr "Vim - Seletor de fontes" + +msgid "Name:" +msgstr "Nome:" + +#. create toggle button +msgid "Show size in Points" +msgstr "Mostrar tamanho em pontos" + +msgid "Encoding:" +msgstr "Codificação:" + +msgid "Font:" +msgstr "Fonte:" + +msgid "Style:" +msgstr "Estilo:" + +msgid "Size:" +msgstr "Tamanho:" + +msgid "E256: Hangul automata ERROR" +msgstr "E256: ERRO no autômato Hangul" + +msgid "E550: Missing colon" +msgstr "E550: Dois-pontos faltando" + +msgid "E551: Illegal component" +msgstr "E551: Elemento inválido" + +msgid "E552: digit expected" +msgstr "E552: era esperado um algarismo" + +#, c-format +msgid "Page %d" +msgstr "Página %d" + +msgid "No text to be printed" +msgstr "Sem texto para imprimir" + +#, c-format +msgid "Printing page %d (%d%%)" +msgstr "Imprimindo página %d (%d%%)" + +#, c-format +msgid " Copy %d of %d" +msgstr " Cópia %d de %d" + +#, c-format +msgid "Printed: %s" +msgstr "Impresso: %s" + +msgid "Printing aborted" +msgstr "Impressão cancelada" + +msgid "E455: Error writing to PostScript output file" +msgstr "E455: Erro ao escrever no arquivo PostScript" + +#, c-format +msgid "E624: Can't open file \"%s\"" +msgstr "E624: Impossível abrir arquivo \"%s\"" + +#, c-format +msgid "E457: Can't read PostScript resource file \"%s\"" +msgstr "E457: Impossível ler o arquivo de recursos de PostScript \"%s\"" + +#, c-format +msgid "E618: file \"%s\" is not a PostScript resource file" +msgstr "E618: arquivo \"%s\" não é um arquivo de recursos de PostScript" + +#, c-format +msgid "E619: file \"%s\" is not a supported PostScript resource file" +msgstr "E619: arquivo \"%s\" não é um arquivo de recursos de PostScript suportado" + +#, c-format +msgid "E621: \"%s\" resource file has wrong version" +msgstr "E621: versão errada do arquivo de recursos \"%s\"" + +msgid "E673: Incompatible multi-byte encoding and character set." +msgstr "E673: Codificação multi-byte incompatível com o conjunto de caracteres." + +msgid "E674: printmbcharset cannot be empty with multi-byte encoding." +msgstr "E674: 'printmbcharset' não pode estar vazio com codificações multi-byte." + +msgid "E675: No default font specified for multi-byte printing." +msgstr "E675: Nenhuma fonte padrão especificada para impressão em multi-byte." + +msgid "E324: Can't open PostScript output file" +msgstr "E324: Impossível abrir arquivo PostScript para saída" + +#, c-format +msgid "E456: Can't open file \"%s\"" +msgstr "E456: Impossível abrir arquivo \"%s\"" + +msgid "E456: Can't find PostScript resource file \"prolog.ps\"" +msgstr "E456: Arquivo de recursos de PostScript \"prolog.ps\" não encontrado" + +msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" +msgstr "E456: Arquivo de recursos de PostScript \"cidfont.ps\" não encontrado" + +#, c-format +msgid "E456: Can't find PostScript resource file \"%s.ps\"" +msgstr "E456: Arquivo de recursos de PostScript \"%s.ps\" não encontrado" + +#, c-format +msgid "E620: Unable to convert to print encoding \"%s\"" +msgstr "E620: Impossível converter para a codificação \"%s\" para impressão" + +msgid "Sending to printer..." +msgstr "Enviando à impressora..." + +msgid "E365: Failed to print PostScript file" +msgstr "E365: Não foi possível imprimir o arquivo PostScript" + +msgid "Print job sent." +msgstr "Trabalho de impressão enviado." + +msgid "Add a new database" +msgstr "Adicionar novo banco de dados" + +msgid "Query for a pattern" +msgstr "Procurar por um padrão" + +msgid "Show this message" +msgstr "Mostrar esta mensagem" + +msgid "Kill a connection" +msgstr "Terminar uma conexão" + +msgid "Reinit all connections" +msgstr "Reinicializar todas as conexões" + +msgid "Show connections" +msgstr "Mostrar conexões" + +#, c-format +msgid "E560: Usage: cs[cope] %s" +msgstr "E560: Forma de uso: cs[cope] %s" + +msgid "This cscope command does not support splitting the window.\n" +msgstr "Este comando cscope não suporta a divisão da janela.\n" + +msgid "E562: Usage: cstag " +msgstr "E562: Forma de uso: cstag " + +msgid "E257: cstag: tag not found" +msgstr "E257: cstag: marcador não encontrado" + +#, c-format +msgid "E563: stat(%s) error: %d" +msgstr "E563: erro em stat(%s): %d" + +msgid "E563: stat error" +msgstr "E563: erro em stat" + +#, c-format +msgid "E564: %s is not a directory or a valid cscope database" +msgstr "E564: %s não é um diretório ou um banco de dados válido do cscope" + +#, c-format +msgid "Added cscope database %s" +msgstr "Adicionado banco de dados do cscope %s" + +#, c-format +msgid "E262: error reading cscope connection %ld" +msgstr "E262: erro ao ler a conexão %ld do cscope" + +msgid "E561: unknown cscope search type" +msgstr "E561: tipo desconhecido de busca do cscope" + +msgid "E566: Could not create cscope pipes" +msgstr "E566: Não foi possível criar os pipes para comunicação com o cscope" + +msgid "E622: Could not fork for cscope" +msgstr "E622: Não foi possível fazer a bifurcação de processo para o cscope" + +msgid "cs_create_connection exec failed" +msgstr "a execução do cscope em cs_create_connection falhou" + +msgid "cs_create_connection: fdopen for to_fp failed" +msgstr "cs_create_connection: fdopen para to_fp falhou" + +msgid "cs_create_connection: fdopen for fr_fp failed" +msgstr "cs_create_connection: fdopen para fr_fp falhou" + +msgid "E623: Could not spawn cscope process" +msgstr "E623: Não foi possível invocar o processo do cscope" + +msgid "E567: no cscope connections" +msgstr "E567: não há conexões com o cscope" + +#, c-format +msgid "E259: no matches found for cscope query %s of %s" +msgstr "E259: nenhum resultado para a busca cscope %s de %s" + +#, c-format +msgid "E469: invalid cscopequickfix flag %c for %c" +msgstr "E469: marca %c inválida para %c em 'cscopequickfix'" + +msgid "cscope commands:\n" +msgstr "comandos do cscope:\n" + +#, c-format +msgid "%-5s: %-30s (Usage: %s)" +msgstr "%-5s: %-30s (Forma de uso: %s)" + +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: impossível abrir banco de dados do cscope: %s" + +msgid "E626: cannot get cscope database information" +msgstr "E626: impossível obter informações do banco de dados do cscope" + +msgid "E568: duplicate cscope database not added" +msgstr "E568: banco de dados do cscope repetido; não foi adicionado" + +msgid "E569: maximum number of cscope connections reached" +msgstr "E569: atingido o número máximo de conexões com o cscope" + +#, c-format +msgid "E261: cscope connection %s not found" +msgstr "E261: conexão %s com o cscope não encontrada" + +#, c-format +msgid "cscope connection %s closed" +msgstr "conexão %s com o cscope fechada" + +#. should not reach here +msgid "E570: fatal error in cs_manage_matches" +msgstr "E570: erro fatal em cs_manage_matches" + +#, c-format +msgid "Cscope tag: %s" +msgstr "Tag do cscope: %s" + +msgid "" +"\n" +" # line" +msgstr "" +"\n" +" # linha" + +msgid "filename / context / line\n" +msgstr "arquivo / contexto / linha\n" + +#, c-format +msgid "E609: Cscope error: %s" +msgstr "E609: Erro do cscope: %s" + +msgid "All cscope databases reset" +msgstr "Todos os bancos de dados do cscope redefinidos" + +msgid "no cscope connections\n" +msgstr "nenhuma conexão ao cscope\n" + +msgid " # pid database name prepend path\n" +msgstr " # pid nome do banco de dados adicionar caminho\n" + +msgid "???: Sorry, this command is disabled, the MzScheme library could not be loaded." +msgstr "???: Desculpe, este comando está desativado. A biblioteca MzScheme não pôde ser carregada." + +msgid "invalid expression" +msgstr "expressão inválida" + +msgid "expressions disabled at compile time" +msgstr "expressões desativadas na compilação" + +msgid "hidden option" +msgstr "opção oculta" + +msgid "unknown option" +msgstr "opção desconhecida" + +msgid "window index is out of range" +msgstr "número da janela fora dos limites" + +msgid "couldn't open buffer" +msgstr "impossível abrir buffer" + +msgid "cannot save undo information" +msgstr "impossível salvar informações para desfazer" + +msgid "cannot delete line" +msgstr "impossível excluir linha" + +msgid "cannot replace line" +msgstr "impossível substituir linha" + +msgid "cannot insert line" +msgstr "impossível inserir linha" + +msgid "string cannot contain newlines" +msgstr "a cadeia não pode conter quebras de linha" + +msgid "Vim error: ~a" +msgstr "Erro do Vim: ~a" + +msgid "Vim error" +msgstr "Erro do Vim" + +msgid "buffer is invalid" +msgstr "buffer inválido" + +msgid "window is invalid" +msgstr "janela inválida" + +msgid "linenr out of range" +msgstr "número de linha fora dos limites" + +msgid "not allowed in the Vim sandbox" +msgstr "não permitido na caixa de areia do Vim" + +msgid "E263: Sorry, this command is disabled, the Python library could not be loaded." +msgstr "E263: Desculpe, este comando está desativado. A biblioteca do Python não pôde ser carregada." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Não é possível invocar o Python recursivamente" + +msgid "can't delete OutputObject attributes" +msgstr "impossível excluir os atributos do OutputObject" + +msgid "softspace must be an integer" +msgstr "'softspace' deve ser um inteiro" + +msgid "invalid attribute" +msgstr "atributo inválido" + +msgid "writelines() requires list of strings" +msgstr "writelines() requer uma lista de cadeias de caracteres" + +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Erro ao inicializar objetos de E/S" + +msgid "attempt to refer to deleted buffer" +msgstr "tentativa de referência a buffer apagado" + +msgid "line number out of range" +msgstr "número de linha fora dos limites" + +#, c-format +msgid "" +msgstr "" + +msgid "invalid mark name" +msgstr "nome de marca inválido" + +msgid "no such buffer" +msgstr "buffer inexistente" + +msgid "attempt to refer to deleted window" +msgstr "tentativa de referência a janela excluída" + +msgid "readonly attribute" +msgstr "atributo somente-leitura" + +msgid "cursor position outside buffer" +msgstr "cursor posicionado fora do buffer" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +#, c-format +msgid "" +msgstr "" + +msgid "no such window" +msgstr "janela inexistente" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ deve ser uma instância de String" + +msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "E266: Desculpe, este comando está desativado. A biblioteca do Ruby não pôde ser carregada." + +msgid "E267: unexpected return" +msgstr "E267: \"return\" inesperado" + +msgid "E268: unexpected next" +msgstr "E268: \"next\" inesperado" + +msgid "E269: unexpected break" +msgstr "E269: \"break\" inesperado" + +msgid "E270: unexpected redo" +msgstr "E270: \"redo\" inesperado" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: \"retry\" fora de bloco \"rescue\"" + +msgid "E272: unhandled exception" +msgstr "E272: exceção não tratada" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: status %d de longjmp desconhecido" + +msgid "Toggle implementation/definition" +msgstr "Alternar implementação/definição" + +msgid "Show base class of" +msgstr "Mostrar classe base de" + +msgid "Show overridden member function" +msgstr "Mostrar função membro sobrescrita" + +msgid "Retrieve from file" +msgstr "Recuperar do arquivo" + +msgid "Retrieve from project" +msgstr "Recuperar do projeto" + +msgid "Retrieve from all projects" +msgstr "Recuperar de todos os projetos" + +msgid "Retrieve" +msgstr "Recuperar" + +msgid "Show source of" +msgstr "Mostrar código de" + +msgid "Find symbol" +msgstr "Procurar símbolo" + +msgid "Browse class" +msgstr "Navegador de classe" + +msgid "Show class in hierarchy" +msgstr "Mostrar classe na hierarquia" + +msgid "Show class in restricted hierarchy" +msgstr "Mostrar classe em hierarquia restrita" + +msgid "Xref refers to" +msgstr "Xref refere-se a" + +msgid "Xref referred by" +msgstr "Xref referido por" + +msgid "Xref has a" +msgstr "Xref tem um" + +msgid "Xref used by" +msgstr "Xref usado por" + +msgid "Show docu of" +msgstr "Mostrar docum. de" + +msgid "Generate docu for" +msgstr "Gerar docum. para" + +msgid "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in $PATH).\n" +msgstr "Não foi possível conectar-se ao SNiFF+. Verifique o ambiente (sniffemacs precisa ser encontrado no $PATH).\n" + +msgid "E274: Sniff: Error during read. Disconnected" +msgstr "E274: Sniff: Erro durante a leitura. Desconectado" + +msgid "SNiFF+ is currently " +msgstr "SNiFF+ está atualmente " + +msgid "not " +msgstr "des" + +msgid "connected" +msgstr "conectado" + +#, c-format +msgid "E275: Unknown SNiFF+ request: %s" +msgstr "E275: Pedido do SNiFF+ desconhecido: %s" + +msgid "E276: Error connecting to SNiFF+" +msgstr "E276: Erro ao conectar-se ao SNiFF+" + +msgid "E278: SNiFF+ not connected" +msgstr "E278: SNiFF+ desconectado" + +msgid "E279: Not a SNiFF+ buffer" +msgstr "E279: Não é um buffer do SNiFF+" + +msgid "Sniff: Error during write. Disconnected" +msgstr "Sniff: Erro durante a gravação. Desconectado" + +msgid "invalid buffer number" +msgstr "número inválido de buffer" + +msgid "not implemented yet" +msgstr "ainda não implementado" + +#. ??? +msgid "cannot set line(s)" +msgstr "não foi possível redefinir a(s) linha(s)" + +msgid "mark not set" +msgstr "marca não definida" + +#, c-format +msgid "row %d column %d" +msgstr "linha %d coluna %d" + +msgid "cannot insert/append line" +msgstr "impossível inserir/adicionar linha" + +msgid "unknown flag: " +msgstr "opção desconhecida: " + +msgid "unknown vimOption" +msgstr "opção do Vim desconhecida" + +msgid "keyboard interrupt" +msgstr "interrompido pelo teclado" + +msgid "vim error" +msgstr "erro do vim" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "impossível criar comando de buffer/janela: o objeto está sendo excluído" + +msgid "cannot register callback command: buffer/window is already being deleted" +msgstr "não foi possível registrar o comando de callback: o buffer/janela já está sendo excluído" + +#. This should never happen. Famous last word? +msgid "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim.org" +msgstr "E280: ERRO FATAL DO TCL: reflist corrompida!? Por favor relate isso para vim-dev@vim.org" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "não foi possível registrar o comando de callback: referência a buffer/janela não encontrada" + +msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "E571: Desculpe, este comando está desativado. A biblioteca do Tcl não pôde ser carregada." + +msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org" +msgstr "E281: ERRO DO TCL: código de saída não é int!? Por favor relate isso para vim-dev@vim.org" + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: código de saída %d" + +msgid "cannot get line" +msgstr "não foi possível obter a linha" + +msgid "Unable to register a command server name" +msgstr "Não foi possível registrar um nome para o servidor de comandos" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Falha ao enviar comando ao programa de destino" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: Foi usada uma id de servidor inválida: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "E251: Propriedade de registro de instância do VIM malformada encontrada e excluída!" + +msgid "Unknown option argument" +msgstr "Argumento de opção desconhecido" + +msgid "Too many edit arguments" +msgstr "Argumentos de edição em excesso" + +msgid "Argument missing after" +msgstr "Argumento faltando após" + +msgid "Garbage after option argument" +msgstr "Lixo após argumento de opção" + +msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" +msgstr "Demasiados argumentos \"+comando\", \"-c comando\" ou \"--cmd comando\"" + +msgid "Invalid argument for" +msgstr "Argumento inválido para" + +#, c-format +msgid "%d files to edit\n" +msgstr "%d arquivos para editar\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "Este Vim não foi compilado com o recurso diff." + +msgid "Attempt to open script file again: \"" +msgstr "Tentando abrir novamente arquivo de script: \"" + +msgid "Cannot open for reading: \"" +msgstr "Impossível abrir para leitura: \"" + +msgid "Cannot open for script output: \"" +msgstr "Impossível abrir para transcrição do script: \"" + +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Erro: Não foi possível iniciar o gvim a partir do NetBeans\n" + +msgid "Vim: Warning: Output is not to a terminal\n" +msgstr "Vim: Aviso: Saída não é um terminal\n" + +msgid "Vim: Warning: Input is not from a terminal\n" +msgstr "Vim: Aviso: Entrada não é de um terminal\n" + +#. just in case.. +msgid "pre-vimrc command line" +msgstr "linha de comando pré-vimrc" + +#, c-format +msgid "E282: Cannot read from \"%s\"" +msgstr "E282: Impossível ler de \"%s\"" + +msgid "" +"\n" +"More info with: \"vim -h\"\n" +msgstr "" +"\n" +"Mais informações com: \"vim -h\"\n" + +msgid "[file ..] edit specified file(s)" +msgstr "[arquivo ..] abrir o(s) arquivo(s) especificado(s)" + +msgid "- read text from stdin" +msgstr "- ler texto a partir da entrada padrão" + +msgid "-t tag edit file where tag is defined" +msgstr "-t marcador editar arquivo onde o marcador é definido" + +msgid "-q [errorfile] edit file with first error" +msgstr "-q [arq.erro] editar arquivo e abrir no primeiro erro" + +msgid "" +"\n" +"\n" +"usage:" +msgstr "" +"\n" +"\n" +"uso:" + +msgid " vim [arguments] " +msgstr " vim [argumentos] " + +msgid "" +"\n" +" or:" +msgstr "" +"\n" +" ou:" + +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Se a caixa é ignorada, insira / antes da opção para torná-la maiúscula" + +msgid "" +"\n" +"\n" +"Arguments:\n" +msgstr "" +"\n" +"\n" +"Argumentos:\n" + +msgid "--\t\t\tOnly file names after this" +msgstr "--\t\t\tApenas nomes de arquivo depois daqui" + +msgid "--literal\t\tDon't expand wildcards" +msgstr "--literal\t\tNão expandir caracteres-curinga" + +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\tRegistrar o gvim para o OLE" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tDesregistrar o gvim para o OLE" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tExecutar a interface gráfica (como \"gvim\")" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f ou --nofork\tPrimeiro plano: Não separar a interface gráfica do terminal" + +msgid "-v\t\t\tVi mode (like \"vi\")" +msgstr "-v\t\t\tModo Vi (como \"vi\")" + +msgid "-e\t\t\tEx mode (like \"ex\")" +msgstr "-e\t\t\tModo Ex (como \"ex\")" + +msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" +msgstr "-s\t\t\tModo silencioso ou \"batch\" (apenas para \"ex\")" + +msgid "-d\t\t\tDiff mode (like \"vimdiff\")" +msgstr "-d\t\t\tModo diff (como \"vimdiff\")" + +msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" +msgstr "-y\t\t\tModo fácil (como \"evim\", o Vim não modal)" + +msgid "-R\t\t\tReadonly mode (like \"view\")" +msgstr "-R\t\t\tmodo somente-leitura (como \"view\")" + +msgid "-Z\t\t\tRestricted mode (like \"rvim\")" +msgstr "-Z\t\t\tmodo restrito (como \"rvim\")" + +msgid "-m\t\t\tModifications (writing files) not allowed" +msgstr "-m\t\t\tNão permitir alterações (gravação de arquivos)" + +msgid "-M\t\t\tModifications in text not allowed" +msgstr "-M\t\t\tNão permitir alterações no texto" + +msgid "-b\t\t\tBinary mode" +msgstr "-b\t\t\tModo binário" + +msgid "-l\t\t\tLisp mode" +msgstr "-l\t\t\tModo Lisp" + +msgid "-C\t\t\tCompatible with Vi: 'compatible'" +msgstr "-C\t\t\tCompatível com o Vi: 'compatible'" + +msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" +msgstr "-N\t\t\tNão totalmente compatível com o Vi: 'nocompatible'" + +msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" +msgstr "-V[N][arq]\t\tDetalhado [nível N] [gravar mensagens em 'arq']" + +msgid "-D\t\t\tDebugging mode" +msgstr "-D\t\t\tModo de depuração (debug)" + +msgid "-n\t\t\tNo swap file, use memory only" +msgstr "-n\t\t\tNão usar arquivo de troca, apenas a memória" + +msgid "-r\t\t\tList swap files and exit" +msgstr "-r\t\t\tListar arquivos de troca e sair" + +msgid "-r (with file name)\tRecover crashed session" +msgstr "-r (nome de arquivo)\tRecuperar sessão perdida" + +msgid "-L\t\t\tSame as -r" +msgstr "-L\t\t\tMesmo que -r" + +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\tNão usar newcli para abrir janela" + +msgid "-dev \t\tUse for I/O" +msgstr "-dev \tUsar para E/S" + +msgid "-A\t\t\tstart in Arabic mode" +msgstr "-A\t\t\tiniciar no modo Árabe" + +msgid "-H\t\t\tStart in Hebrew mode" +msgstr "-H\t\t\tIniciar no modo Hebraico" + +msgid "-F\t\t\tStart in Farsi mode" +msgstr "-F\t\t\tIniciar no modo Farsi (persa)" + +msgid "-T \tSet terminal type to " +msgstr "-T \tDefinir tipo de terminal como " + +msgid "-u \t\tUse instead of any .vimrc" +msgstr "-u \t\tUsar em vez de qualquer outro .vimrc" + +msgid "-U \t\tUse instead of any .gvimrc" +msgstr "-U \t\tUsar em vez de qualquer outro .gvimrc" + +msgid "--noplugin\t\tDon't load plugin scripts" +msgstr "--noplugin\t\tNão carregar scripts de plugins" + +msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" +msgstr "-p[N]\t\tAbrir N abas (padrão: uma para cada arquivo)" + +msgid "-o[N]\t\tOpen N windows (default: one for each file)" +msgstr "-o[N]\t\tAbrir N janelas (padrão: uma para cada arquivo)" + +msgid "-O[N]\t\tLike -o but split vertically" +msgstr "-O[N]\t\tComo -o, mas dividindo verticalmente" + +msgid "+\t\t\tStart at end of file" +msgstr "+\t\t\tAbrir no final do arquivo" + +msgid "+\t\tStart at line " +msgstr "+\t\tComeçar na linha " + +msgid "--cmd \tExecute before loading any vimrc file" +msgstr "--cmd \tExecutar antes de carregar qualquer vimrc" + +msgid "-c \t\tExecute after loading the first file" +msgstr "-c \t\tExecutar depois de carregar o primeiro arquivo" + +msgid "-S \t\tSource file after loading the first file" +msgstr "" +"-S \t\tExecutar o arquivo depois de carregar o\n" +"\t\t\tprimeiro arquivo" + +msgid "-s \tRead Normal mode commands from file " +msgstr "-s