changeset 1123:c4cd8ad60bee

updated for version 7.1a
author vimboss
date Sat, 05 May 2007 17:59:48 +0000
parents 2ad54fcf37e3
children da2a955f150a
files README_unix.txt runtime/doc/usr_31.txt runtime/doc/windows.txt runtime/ftplugin/ruby.vim runtime/syntax/apache.vim runtime/syntax/django.vim runtime/tutor/tutor runtime/tutor/tutor.tr.iso9 src/po/no.po src/proto/fileio.pro src/proto/ui.pro
diffstat 11 files changed, 2450 insertions(+), 555 deletions(-) [+]
line wrap: on
line diff
--- a/README_unix.txt
+++ b/README_unix.txt
@@ -1,4 +1,4 @@
-README_unix.txt for version 7.0 of Vim: Vi IMproved.
+README_unix.txt for version 7.1a of Vim: Vi IMproved.
 
 This file explains the installation of Vim on Unix systems.
 See "README.txt" for general information about Vim.
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_31.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.0.  Last change: 2006 Apr 24
+*windows.txt*   For Vim version 7.1a.  Last change: 2007 Mar 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -200,6 +200,7 @@ window will appear.
 :vert[ical] {cmd}
 		Execute {cmd}.  If it contains a command that splits a window,
 		it will be split vertically.
+		Doesn't work for |:execute| and |:normal|.
 
 :lefta[bove] {cmd}				*:lefta* *:leftabove*
 :abo[veleft] {cmd}				*:abo* *:aboveleft*
@@ -207,6 +208,7 @@ window will appear.
 		it will be opened left (vertical split) or above (horizontal
 		split) the current window.  Overrules 'splitbelow' and
 		'splitright'.
+		Doesn't work for |:execute| and |:normal|.
 
 :rightb[elow] {cmd}				*:rightb* *:rightbelow*
 :bel[owright] {cmd}				*:bel* *:belowright*
@@ -214,6 +216,7 @@ window will appear.
 		it will be opened right (vertical split) or below (horizontal
 		split) the current window.  Overrules 'splitbelow' and
 		'splitright'.
+		Doesn't work for |:execute| and |:normal|.
 
 						*:topleft* *E442*
 :to[pleft] {cmd}
@@ -221,6 +224,7 @@ window will appear.
 		it will appear at the top and occupy the full width of the Vim
 		window.  When the split is vertical the window appears at the
 		far left and occupies the full height of the Vim window.
+		Doesn't work for |:execute| and |:normal|.
 
 						*:botright*
 :bo[tright] {cmd}
@@ -228,6 +232,7 @@ window will appear.
 		it will appear at the bottom and occupy the full width of the
 		Vim window.  When the split is vertical the window appears at
 		the far right and occupies the full height of the Vim window.
+		Doesn't work for |:execute| and |:normal|.
 
 These command modifiers can be combined to make a vertically split window
 occupy the full height.  Example: >
@@ -447,6 +452,8 @@ 6. Window resizing					*window-resize*
 						*CTRL-W_=*
 CTRL-W =	Make all windows (almost) equally high and wide, but use
 		'winheight' and 'winwidth' for the current window.
+		Windows with 'winfixheight' set keep their height and windows
+		with 'winfixwidth' set keep their width.
 
 :res[ize] -N					*:res* *:resize* *CTRL-W_-*
 CTRL-W -	Decrease current window height by N (default 1).
@@ -1118,7 +1125,7 @@ list of buffers. |unlisted-buffer|
 		of windows opened ('winwidth' if |:vertical| was prepended).
 		Buf/Win Enter/Leave autocommands are not executed for the new
 		windows here, that's only done when they are really entered.
-		When the |:tab| modifier is used new windows are opended in a
+		When the |:tab| modifier is used new windows are opened in a
 		new tab, up to 'tabpagemax'.
 
 Note: All the commands above that start editing another buffer, keep the
--- a/runtime/ftplugin/ruby.vim
+++ b/runtime/ftplugin/ruby.vim
@@ -4,10 +4,10 @@
 " Info:			$Id$
 " URL:			http://vim-ruby.rubyforge.org
 " Anon CVS:		See above site
-" Release Coordinator:	Doug Kearns <dougkearns@gmail.com>
+" Release Coordinator:  Doug Kearns <dougkearns@gmail.com>
 " ----------------------------------------------------------------------------
 "
-" Original matchit support thanks to Ned Konz.	See his ftplugin/ruby.vim at
+" Original matchit support thanks to Ned Konz.  See his ftplugin/ruby.vim at
 "   http://bike-nomad.com/vim/ruby.vim.
 " ----------------------------------------------------------------------------
 
@@ -20,31 +20,37 @@ let b:did_ftplugin = 1
 let s:cpo_save = &cpo
 set cpo&vim
 
+if has("gui_running") && !has("gui_win32")
+  setlocal keywordprg=ri\ -T
+else
+  setlocal keywordprg=ri
+endif
+
 " Matchit support
 if exists("loaded_matchit") && !exists("b:match_words")
   let b:match_ignorecase = 0
 
  " TODO: improve optional do loops
- let b:match_words =
-    \ '\%(' .
-    \	  '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
-    \	'\|' .
-    \	  '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
-    \ '\)' .
-    \ ':' .
-    \ '\%(' .
-    \	  '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
-    \	'\|' .
-    \	  '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
-    \ '\)' .
-    \ ':' .
-    \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' .
-    \ ',{:},\[:\],(:)'
+  let b:match_words =
+	\ '\%(' .
+	\     '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
+	\   '\|' .
+	\     '\%(\%(^\|\.\.\.\=\|[{\:\,;([<>~\*/%&^|+-]\|\%(\<[_[\:lower\:]][_[\:alnum\:]]*\)\@<![!=?]\)\s*\)\@<=\%(if\|unless\|while\|until\)\>' .
+	\ '\)' .
+	\ ':' .
+	\ '\%(' .
+	\     '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
+	\   '\|' .
+	\     '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
+	\ '\)' .
+	\ ':' .
+	\ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>' .
+	\ ',{:},\[:\],(:)'
 
   let b:match_skip =
-     \ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
-     \ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Interpolation\\|" .
-     \ "NoInterpolation\\|Escape\\|Comment\\|Documentation\\)\\>'"
+	\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
+	\ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Interpolation\\|" .
+	\ "NoInterpolation\\|Escape\\|Comment\\|Documentation\\)\\>'"
 
 endif
 
@@ -54,10 +60,16 @@ setlocal include=^\\s*\\<\\(load\\\|\w*r
 setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
 setlocal suffixesadd=.rb
 
-if version >= 700
+if exists("&ofu") && has("ruby")
   setlocal omnifunc=rubycomplete#Complete
 endif
 
+" To activate, :set ballooneval
+if has('balloon_eval') && exists('+balloonexpr')
+  setlocal balloonexpr=RubyBalloonexpr()
+endif
+
+
 " TODO:
 "setlocal define=^\\s*def
 
@@ -65,7 +77,10 @@ setlocal comments=:#
 setlocal commentstring=#\ %s
 
 if !exists("s:rubypath")
-  if executable("ruby")
+  if has("ruby") && has("win32")
+    ruby VIM::command( 'let s:rubypath = "%s"' % ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,}) )
+    let s:rubypath = '.,' . substitute(s:rubypath, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
+  elseif executable("ruby")
     let s:code = "print ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,})"
     if &shellxquote == "'"
       let s:rubypath = system('ruby -e "' . s:code . '"')
@@ -84,21 +99,78 @@ let &l:path = s:rubypath
 
 if has("gui_win32") && !exists("b:browsefilter")
   let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
-		     \ "All Files (*.*)\t*.*\n"
+                     \ "All Files (*.*)\t*.*\n"
 endif
 
-let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< "
+let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< kp<"
       \ "| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
+      \ "| if exists('&ofu') && has('ruby') | setl ofu< | endif"
+      \ "| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
+if exists("g:did_ruby_ftplugin_functions")
+  finish
+endif
+let g:did_ruby_ftplugin_functions = 1
+
+function! RubyBalloonexpr()
+  if !exists('s:ri_found')
+    let s:ri_found = executable('ri')
+  endif
+  if s:ri_found
+    let line = getline(v:beval_lnum)
+    let b = matchstr(strpart(line,0,v:beval_col),'\%(\w\|[:.]\)*$')
+    let a = substitute(matchstr(strpart(line,v:beval_col),'^\w*\%([?!]\|\s*=\)\?'),'\s\+','','g')
+    let str = b.a
+    let before = strpart(line,0,v:beval_col-strlen(b))
+    let after  = strpart(line,v:beval_col+strlen(a))
+    if str =~ '^\.'
+      let str = substitute(str,'^\.','#','g')
+      if before =~ '\]\s*$'
+        let str = 'Array'.str
+      elseif before =~ '}\s*$'
+        " False positives from blocks here
+        let str = 'Hash'.str
+      elseif before =~ "[\"'`]\\s*$" || before =~ '\$\d\+\s*$'
+        let str = 'String'.str
+      elseif before =~ '\$\d\+\.\d\+\s*$'
+        let str = 'Float'.str
+      elseif before =~ '\$\d\+\s*$'
+        let str = 'Integer'.str
+      elseif before =~ '/\s*$'
+        let str = 'Regexp'.str
+      else
+        let str = substitute(str,'^#','.','')
+      endif
+    endif
+    let str = substitute(str,'.*\.\s*to_f\s*\.\s*','Float#','')
+    let str = substitute(str,'.*\.\s*to_i\%(nt\)\=\s*\.\s*','Integer#','')
+    let str = substitute(str,'.*\.\s*to_s\%(tr\)\=\s*\.\s*','String#','')
+    let str = substitute(str,'.*\.\s*to_sym\s*\.\s*','Symbol#','')
+    let str = substitute(str,'.*\.\s*to_a\%(ry\)\=\s*\.\s*','Array#','')
+    let str = substitute(str,'.*\.\s*to_proc\s*\.\s*','Proc#','')
+    if str !~ '^\w'
+      return ''
+    endif
+    silent! let res = substitute(system("ri -f simple -T \"".str.'"'),'\n$','','')
+    if res =~ '^Nothing known about' || res =~ '^Bad argument:'
+      return ''
+    endif
+    return res
+  else
+    return ""
+  endif
+endfunction
+
+
 "
 " Instructions for enabling "matchit" support:
 "
 " 1. Look for the latest "matchit" plugin at
 "
-"	  http://www.vim.org/scripts/script.php?script_id=39
+"         http://www.vim.org/scripts/script.php?script_id=39
 "
 "    It is also packaged with Vim, in the $VIMRUNTIME/macros directory.
 "
@@ -109,16 +181,16 @@ unlet s:cpo_save
 " 4. Ensure this file (ftplugin/ruby.vim) is installed.
 "
 " 5. Ensure you have this line in your $HOME/.vimrc:
-"	  filetype plugin on
+"         filetype plugin on
 "
 " 6. Restart Vim and create the matchit documentation:
 "
-"	  :helptags ~/.vim/doc
+"         :helptags ~/.vim/doc
 "
 "    Now you can do ":help matchit", and you should be able to use "%" on Ruby
-"    keywords.	Try ":echo b:match_words" to be sure.
+"    keywords.  Try ":echo b:match_words" to be sure.
 "
-" Thanks to Mark J. Reed for the instructions.	See ":help vimrc" for the
+" Thanks to Mark J. Reed for the instructions.  See ":help vimrc" for the
 " locations of plugin directories, etc., as there are several options, and it
 " differs on Windows.  Email gsinclair@soyabean.com.au if you need help.
 "
--- a/runtime/syntax/apache.vim
+++ b/runtime/syntax/apache.vim
@@ -4,9 +4,9 @@
 " Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
 " License: This file can be redistribued and/or modified under the same terms
 "		as Vim itself.
-" Last Change: 2006-04-12
+" Last Change: 2006-12-13
 " URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim
-" Notes: Last synced with apache-2.2.0, version 1.x is no longer supported
+" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
 " TODO: see particular FIXME's scattered through the file
 "		make it really linewise?
 "		+ add `display' where appropriate
@@ -94,7 +94,7 @@ syn keyword apacheDeclaration AddAlt Add
 syn keyword apacheDeclaration IndexStyleSheet
 syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified
 syn keyword apacheOption Ascending Descending Name Date Size Description
-syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort XHTML
+syn keyword apacheOption HTMLTable SuppressIcon SuppressRules VersionSort XHTML
 syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules
 syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer
 syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate
@@ -161,7 +161,7 @@ syn keyword apacheDeclaration RewriteBas
 syn keyword apacheOption inherit
 syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
 syn keyword apacheDeclaration LoadFile LoadModule
-syn keyword apacheDeclaration CheckSpelling
+syn keyword apacheDeclaration CheckSpelling CheckCaseOnly
 syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth
 syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>"
 syn keyword apacheOption builtin sem
--- a/runtime/syntax/django.vim
+++ b/runtime/syntax/django.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Django template
 " Maintainer:	Dave Hodder <dmh@dmh.org.uk>
-" Last Change:	2006 Mar 23
+" Last Change:	2007 Jan 26
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -13,9 +13,12 @@ endif
 
 syntax case match
 
+" Mark illegal characters
+syn match djangoError "%}\|}}\|#}"
+
 " Django template built-in tags and parameters
 " 'comment' doesn't appear here because it gets special treatment
-syn keyword djangoStatement contained as block endblock by cycle debug else
+syn keyword djangoStatement contained and as block endblock by cycle debug else
 syn keyword djangoStatement contained extends filter endfilter firstof for
 syn keyword djangoStatement contained endfor if endif ifchanged endifchanged
 syn keyword djangoStatement contained ifequal endifequal ifnotequal
@@ -23,7 +26,11 @@ syn keyword djangoStatement contained en
 syn keyword djangoStatement contained parsed regroup reversed spaceless
 syn keyword djangoStatement contained endspaceless ssi templatetag openblock
 syn keyword djangoStatement contained closeblock openvariable closevariable
-syn keyword djangoStatement contained widthratio with
+syn keyword djangoStatement contained openbrace closebrace opencomment
+syn keyword djangoStatement contained closecomment widthratio with
+syn keyword djangoStatement contained get_current_language trans noop blocktrans
+syn keyword djangoStatement contained endblocktrans get_available_languages
+syn keyword djangoStatement contained get_current_language_bidi plural
 
 " Django templete built-in filters
 syn keyword djangoFilter contained add addslashes capfirst center cut date
@@ -34,19 +41,28 @@ syn keyword djangoFilter contained float
 syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust
 syn keyword djangoFilter contained lower make_list phone2numeric pluralize
 syn keyword djangoFilter contained pprint random removetags rjust slice slugify
-syn keyword djangoFilter contained stringformat striptags time timesince title
+syn keyword djangoFilter contained stringformat striptags
+syn keyword djangoFilter contained time timesince timeuntil title
 syn keyword djangoFilter contained truncatewords unordered_list upper urlencode
 syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno
 
+" Keywords to highlight within comments
+syn keyword djangoTodo contained TODO FIXME XXX
+
 " Django template constants (always surrounded by double quotes)
 syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/
 
+" Mark illegal characters within tag and variables blocks
+syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!=&#]"
+syn match djangoVarError contained "#}\|{%\|%}\|[<>!=&#%]"
+
 " Django template tag and variable blocks
-syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument display
-syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument display
+syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display
+syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
 
-" Django template 'comment' tag
-syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}"
+" Django template 'comment' tag and comment block
+syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
+syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
@@ -64,7 +80,12 @@ if version >= 508 || !exists("did_django
   HiLink djangoStatement Statement
   HiLink djangoFilter Identifier
   HiLink djangoArgument Constant
+  HiLink djangoTagError Error
+  HiLink djangoVarError Error
+  HiLink djangoError Error
   HiLink djangoComment Comment
+  HiLink djangoComBlock Comment
+  HiLink djangoTodo Todo
 
   delcommand HiLink
 endif
--- a/runtime/tutor/tutor
+++ b/runtime/tutor/tutor
@@ -29,7 +29,7 @@
 	     ^
 	     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
+	     j			   The j key looks like a down arrow.
 	     v
   1. Move the cursor around the screen until you are comfortable.
 
@@ -38,10 +38,10 @@
 
   3. Using the down key, move to Lesson 1.2.
 
-Note: If you are ever unsure about something you typed, press <ESC> to place
+NOTE: If you are ever unsure about something you typed, press <ESC> to place
       you in Normal mode.  Then retype the command you wanted.
 
-Note: The cursor keys should also work.  But using hjkl you will be able to
+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!
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -109,7 +109,7 @@ NOTE: As you go through this tutor, do n
 ---> There is text misng this .
 ---> There is some text missing from this line.
 
-  5. When you are comfortable inserting text move to the summary below.
+  5. When you are comfortable inserting text move to lesson 1.5.
 
 
 
@@ -160,7 +160,7 @@ NOTE: As you go through this tutor, do n
 
   
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 1 SUMMARY
+			       Lesson 1 SUMMARY
 
 
   1. The cursor is moved using either the arrow keys or the hjkl keys.
@@ -286,15 +286,15 @@ NOTE:  Pressing just the motion while in
 
   1. Move the cursor to the first UPPER CASE word in the line marked --->.
 
-  2. Type  2dw  to delete the two UPPER CASE words
+  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.
 
-NOTE:  A count between the operator  d  and the motion works similar to
-       using the motion without an operator.
+
+
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -344,10 +344,10 @@ NOTE:  A count between the operator  d  
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 2 SUMMARY
+			       Lesson 2 SUMMARY
 
 
-  1. To delete from the cursor upto the next word type:    dw
+  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
 
@@ -357,7 +357,7 @@ NOTE:  A count between the operator  d  
      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 operator on, such as  w (word),
+       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
@@ -406,7 +406,7 @@ NOTE:  A count between the operator  d  
 --->  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.2.
+  5. Now move on to Lesson 3.3.
 
 NOTE: Remember that you should be learning by doing, not memorization.
 
@@ -428,8 +428,8 @@ NOTE: Remember that you should be learni
 
   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 command.
----> This line has a few words that need changing using the change command.
+---> 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.
 
@@ -439,7 +439,7 @@ Notice that  ce  deletes the word and pl
 		       Lesson 3.4: MORE CHANGES USING c
 
 
-     ** The change command is used with the same motions as delete. **
+     ** 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:
 
@@ -459,7 +459,7 @@ Notice that  ce  deletes the word and pl
 NOTE:  You can use the Backspace key to correct mistakes while typing.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 3 SUMMARY
+			       Lesson 3 SUMMARY
 
 
   1. To put back text that has just been deleted, type   p .  This puts the
@@ -487,14 +487,14 @@ Now go on to the next lesson.
   ** 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!!
+  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 (explained in lesson 6).
+       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.
@@ -523,8 +523,8 @@ NOTE:  You may see the cursor position i
   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.
 
-Note: "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
+--->  "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.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -546,7 +546,7 @@ Note: When the search reaches the end of
 ---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
 
 
-Note: This is very useful in debugging a program with unmatched parentheses!
+NOTE: This is very useful in debugging a program with unmatched parentheses!
 
 
 
@@ -568,13 +568,13 @@ Note: This is very useful in debugging a
 
   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 subsitution is to be done.
+                               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 wether to substitute or not.
+     			       with a prompt whether to substitute or not.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 4 SUMMARY
+			       Lesson 4 SUMMARY
 
 
   1. CTRL-G  displays your location in the file and the file status.
@@ -612,11 +612,11 @@ Note: This is very useful in debugging a
      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
+NOTE:  It is possible to execute any external command this way, also with
        arguments.
 
-Note:  All  :  commands must be finished by hitting <ENTER>
-       From here one we will not always mention it.
+NOTE:  All  :  commands must be finished by hitting <ENTER>
+       From here on we will not always mention it.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -635,7 +635,7 @@ Note:  All  :  commands must be finished
   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
+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
@@ -689,7 +689,7 @@ NOTE:  You can also read the output of a
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 5 SUMMARY
+			       Lesson 5 SUMMARY
 
 
   1.  :!command  executes an external command.
@@ -708,7 +708,7 @@ NOTE:  You can also read the output of a
       cursor position.
 
   5.  :r !dir  reads the output of the dir command and puts it below the
-      cursor position
+      cursor position.
 
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -754,7 +754,7 @@ NOTE:  You can also read the output of a
 ---> 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
+NOTE:  a, i and A all go to the same Insert mode, the only difference is where
        the characters are inserted.
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -772,7 +772,7 @@ Note:  a, i and A all go to the same Ins
   3. Press <ESC> to leave Replace mode.  Notice that the rest of the line
      remains unmodified.
 
-  5. Repeat the steps to replace the remaining xxx.
+  4. Repeat the steps to replace the remaining xxx.
 
 ---> Adding 123 to xxx gives you xxx.
 ---> Adding 123 to 456 gives you 579.
@@ -784,7 +784,7 @@ NOTE:  Replace mode is like Insert mode,
 			Lesson 6.4: COPY AND PASTE TEXT
 
 
-	  ** use the  y  operator to copy text and  p  to paste it **
+	  ** 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)".
   
@@ -802,7 +802,7 @@ NOTE:  Replace mode is like Insert mode,
 --->  a) this is the first item.
       b)
 
-  Note: you can also use  y  as an operator;  yw  yanks one word.
+  NOTE: you can also use  y  as an operator;  yw  yanks one word.
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 			    Lesson 6.5: SET OPTION
 
@@ -823,11 +823,11 @@ NOTE:  Replace mode is like Insert mode,
 
   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
+NOTE:  To remove the highlighting of matches enter:   :nohlsearch 
+NOTE:  If you want to ignore case for just one search command, use  \c
        in the phrase:  /ignore\c  <ENTER>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 6 SUMMARY
+			       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.
@@ -850,7 +850,7 @@ Note:  If you want to ignore case for ju
   7. Prepend "no" to switch an option off:   :set noic
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		       LESSON 7.1: GETTING HELP
+		       Lesson 7.1: GETTING HELP
 
 
 		      ** Use the on-line help system **
@@ -862,7 +862,7 @@ Note:  If you want to ignore case for ju
 	- type   :help <ENTER>
 
   Read the text in the help window to find out how the help works.
-  type  CTRL-W CTRL-W   to jump from one window to another
+  Type  CTRL-W CTRL-W   to jump from one window to another.
   Type    :q <ENTER>    to close the help window.
 
   You can find help on just about any subject, by giving an argument to the
@@ -873,7 +873,7 @@ Note:  If you want to ignore case for ju
 	:help insert-index
 	:help user-manual
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-		      LESSON 7.2: CREATE A STARTUP SCRIPT
+		      Lesson 7.2: CREATE A STARTUP SCRIPT
 
 
 			  ** Enable Vim features **
@@ -896,7 +896,7 @@ Note:  If you want to ignore case for ju
   For more information type  :help vimrc-intro
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			     LESSON 7.3: COMPLETION
+			     Lesson 7.3: COMPLETION
 
 
 	      ** Command line completion with CTRL-D and <TAB> **
@@ -919,7 +919,7 @@ NOTE:  Completion works for many command
        <TAB>.  It is especially useful for  :help .
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-			       LESSON 7 SUMMARY
+			       Lesson 7 SUMMARY
 
 
   1. Type  :help  or press <F1> or <Help>  to open a help window.
new file mode 100644
--- /dev/null
+++ b/runtime/tutor/tutor.tr.iso9
@@ -0,0 +1,813 @@
+===============================================================================
+=    	V I M   T u t o r'a Hoþ Geldiniz    -    Sürüm 1.5      =
+===============================================================================
+
+     Vim, bu gibi bir eðitmen ile açýklanmasý gereken çok fazla komut barýndýran,
+     oldukça kuvvetli bir metin düzenleyicidir. Bu eðitmen Vim'i çok amaçlý bir
+     düzenleyici olarak kolaylýkla kullanabileceðiniz yeterli sayýda komutu açýklamak
+     için tasarlanmýþtýr.
+
+     Eðitmeni tamamlama süresi yapacaðýnýz denemelere baðlý olarak 25-30
+     dakikadýr.
+
+     Derslerdeki komutlar bu metini deðiþtirecektir. Üzerinde çalýþmak için
+     bu dosyanýn bir kopyasýný alýn (eðer "vimtutor" uygulamasýný çalýþtýrdýysanýz
+     zaten bir kopyasýný almýþ oldunuz).
+
+     Bu eðitmenin, kullanarak öðretmeye ayarlandýðýný unutmamak önemlidir. Bu þu
+     anlama gelir; komutlarý öðrenmek için doðru bir þekilde çalýþtýrmanýz gerekir.
+     Eðer sadece yazýlanlarý okursanýz komutlarý unutursunuz.
+
+     Þimdi Shift-Lock tuþlarýnýzýn basýlý olmadýðýna emin olun ve Ders 1.1'in
+     ekraný tamamen doldurmasý için   j   tuþuna yeterli miktarda basýn.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Ders 1.1:  ÝMLECÝ HAREKET ETTÝRMEK
+
+  Ç.N: Tüm derslerde <ENTER> gördüðünüz yerde bu tuþa basmanýz gerekir.
+
+   ** Ýmleci hareket ettirmek için, h,j,k,l tuþlarýna gösterildiði gibi basýn. **
+   	     ^
+	     k		    Ýpucu: h tuþu soldadýr ve sola hareket eder.
+       < h	 l >		   l tuþu saðdadýr ve saða hareket eder.
+	     j			   j tuþu aþaðý yönlü bir ok gibidir.
+	     v
+  1. Yeterli hissedinceye kadar imleci ekranda hareket ettirin.
+
+  2. Aþaðý tuþunu  (j)  tekrar edene kadar basýlý tutun.
+---> Þimdi, bir sonraki derse nasýl geçeceðinizi biliyorsunuz.
+
+  3. Aþaðý tuþunu kullanarak, Ders 1.2'ye geçin.
+  Not:  Eðer yazdýðýnýz bir þeyden emin deðilseniz, Normal kipe geçmek için <ESC> tuþuna basýn.
+        Daha sonra istediðiniz komutu yeniden yazýn.
+  Not:  Ýmleç tuþlarý da ayný zamanda iþe yararlar ancak   hjkl   tuþlarýný kullanmaya alýþtýðýnýzda etrafta daha hýzlý
+        hareket edersiniz.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Ders 1.2: VIM'E GÝRÝÞ VE VIM'DEN ÇIKIÞ
+
+
+  !! NOT: Aþaðýdaki adýmlarý yapmadan önce, bu dersi tamamen okuyun.
+
+  1. <ESC> tuþuna basýn (Normal kipte olmayý garantilemek için).
+
+  2. Yazýn:			:q! <ENTER>.
+
+---> Bu düzenleyicinin yaptýðýnýz deðiþiklikleri KAYDETMEDEN kapanmasýný saðlar.
+     Eðer yaptýklarýnýzýn kaydedilmesini istiyorsanýz þunu yazýn:
+				:wq  <ENTER>
+
+  3. Kabuk istemcisini (shell prompt) gördüðünüzde, sizi bu eðitmene getiren
+     komutu yazýn. Bu:	vimtutor <ENTER> komutudur.
+     Normalde:	vim tutor <ENTER> komutu kullanýlýr.
+---> 'vim' vim düzenleyicisine gir anlamýna gelir, 'tutor' ise açmak istediðiniz dosyadýr.
+
+  4. Eðer bu adýmlarý ezberlediyseniz ve kendinizden eminseniz, 1'den 3'e kadar olan adýmlarý,
+     düzenleyiciden çýkmak ve yeniden girmek için uygulayýn.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Ders 1.3: METÝN DÜZENLEME - SÝLME
+
+
+** Normal kipteyken imlecin altýndaki karakteri silmek için   x  'e basýn.**
+
+  1. Ýmleci aþaðýda iþaretlenmiþ (-->) satýra götürün.
+
+  2. Hatalarý düzeltmek için, imleci silinmesi gereken karakterin üzerine getirin
+
+  3. Ýstenmeyen karakteri silmek için   x   tuþuna basýn.
+
+  4. Cümle düzelene kadar 2'den 4'e kadar olan adýmlarý tekrar edin.
+
+---> Ýinek ayyýn üzzerinden attladý.
+
+  5. Þimdi satýr düzeldi, Ders 1.4'e geçin.
+
+NOT: Bu eðitmende ilerledikçe ezberlemeye çalýþmayýn, kullanarak öðrenin.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Ders 1.4: METÝN DÜZENLEME - EKLEME
+
+
+	  ** Normal kipteyken metin eklemek için   i  'ye basýn. **
+
+  1. Ýmleci aþaðýdaki iþaretlenmiþ (-->) ilk satýra götürün.
+
+  2. Ýlk satýrý ikincisinin aynýsý gibi yapmak için, imleci eklenmesi gereken
+     metinden sonraki ilk karakterin üzerine götürün.
+
+  3. i  'ye basýn ve gerekli eklemeleri yapýn.
+
+  4. Her hata düzeltildiðinde <ESC> tuþuna basarak Normal kipe dönün.
+     Cümleyi düzeltmek için 2'den 4'e kadar olan adýmlarý tekrar edin.
+
+---> Bu metinde eksk.
+---> Bu metinde birþey eksik.
+
+  5. Metin ekleme çalýþmalarýný yeterli görüyorsanýz aþaðýdaki özete geçin.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       DERS 1 ÖZET
+
+
+  1. Ýmleç hem ok tuþlarý hem de   hjkl   tuþlarý ile hareket ettirilir.
+	 h (sol)	j (aþaðý)       k (yukarý)	    l (sað)
+
+  2. (Konsoldan) Vim'e girmek içn  yazýn:  vim DOSYAÝSMÝ <ENTER>
+
+  3. Tüm deðiþiklikleri göz ardý edip vimden çýkmak için yazýn:
+     <ESC>	:q!	<ENTER>
+     veya tüm deðiþiklikleri kaydetmek için yazýn:
+     <ESC>	:wq	<ENTER>
+
+  4. Ýmlecin altýndaki bir karakteri silmek için Normal kipte   x   yazýn.
+
+  5. Ýmlecin altýnda metin eklemek için Normal kipte yazýn:
+	 i     yazýlacak metin	<ESC>
+
+NOT: <ESC> tuþuna basmak sizi Normal kipe götürür ya da istenmeyen tamamlanmamýþ bir komutu
+     iptal eder.
+
+Þimdi Ders 2 ile devam edin.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Ders 2.1: SÝLME KOMUTLARI
+
+	    ** Bir kelimeyi silmek için  dw  yazýn.**
+
+  1. Normal kipte olmakten emin olmak için <ESC> tuþuna basýn.
+
+  2. Ýmleci aþaðýdaki iþaretlenmiþ (-->) satýra götürün.
+
+  3. Ýmleci silinmesi gereken kelimenin baþýna götürün.
+
+  4. Kelimeyi silmek için   dw   yazýn.
+
+  NOT:  dw  harfleri siz yazdýkça ekranýn son satýrýnda görülecektir.
+        Eðer yanlýþ bir þeyler yazarsanýz, yeniden baþlamak için <ESC> tuþuna basýn.
+
+---> Bu satýrda çerez cümleye ait olmayan leblebi kelimeler var.
+
+
+  5. Cümle düzelene kadar adým 3 ve 4'ü tekrar edin, daha sonra Ders 2.2'ye gidin.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Ders 2.2: DAHA FAZLA SÝLME KOMUTU
+
+
+	   ** Satýrý sonuna kadar silmek için   d$   yazýn.**
+
+  1. Normal kipte olmaktan emin olmak için <ESC> tuþuna basýn.
+
+  2. Ýmleci aþaðýdaki iþaretlenmiþ (-->) satýra götürün.
+
+  3. Ýmleci doðru olan satýrýn sonuna götürün. (Birinciden SONRA. )
+
+  4. Satýrý sonuna kadar silmek için   d$   yazýn.
+  ( d$  yazarken d'den sonra <ALT> ile beraber $ tuþuna basýn)
+
+---> Birileri bu satýrýn sonunu iki defa yazmýþ. Birileri bu satýrýn sonunu iki defa yazmýþ.
+
+  5. Neler olduðunu anlamak için Ders 2.3'e gidin.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Ders 2.3: KOMUTLAR VE NESNELER
+
+
+   d   silme komutu için biçim aþaðýdaki gibidir:
+
+	 [sayý]   d	nesne	    VEYA     d	 [sayý]   nesne
+  Burada:
+    sayý   - komutun kaç defa çalýþtýrlacaðý (isteðe baðlý, varsayýlan=1).
+    d      - silme komutu
+    nesne  - komutun ne þekilde çalýþacaðý (aþaðýda listlendi).
+
+  Nesnelerin kýsa bir listesi.
+    w - Boþluðu da içererek, imleçten itibaren kelimenin sonuna kadar.
+    e - Boþluðu ÝÇERMEDEN, imleçten itibaren kelimenin sonuna kadar.
+    $ - imleçten satýrýn sonuna kadar.
+
+NOT:   Serüven sevenler için, Normal kipte iken, komut olmadan sadece nesnenin kendisine basmak
+       imleci yukardaki listede olduðu gibi hareket ettirecektir.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Ders 2.4:   'KOMUT-NESNE'ye BÝR ÝSTÝSNA
+
+
+		 ** Bütün bir satýrý silmek için   dd   yazýn. **
+
+  Bütün bir satýr silme sýklýðýndan dolayý, Vi tasarýmcýlarý bir satýrý
+  tamamen silmek için iki d yazmanýn daha kolay olacaðýna karar verdiler.
+
+  1. Ýmleci aþaðýdaki tümceciðin ikinci satýrýna götürün.
+  2. Satýrý silmek için    dd   yazýn.
+  3. Þimdi de dördüncü satýra gidin.
+  4. Ýki satýrý birden silmek için   2dd   (sayý-komut-nesne'yi hatýrlayýn) yazýn.
+
+	1)  Güller kýrmýzýdýr,
+	2)  Çamur eðlenceli,
+	3)  Menekþeler mavi,
+	4)  Bir arabam var,
+        5)  Saat bana söyler,
+	6)  Þeker tatlýdýr
+ 	7)  Ve sen de öylesin
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Ders 2.5: GERÝ AL KOMUTU
+
+
+   ** Son komutu geri almak için    u   , bütün bir satýrý düzeltmek için U yazýn.**
+
+  1. Ýmleci aþaðýdaki iþaretlenmiþ (-->) satýrdaki ilk hatanýn üzerine götürün.
+  2. Ýlk istenmeyen karakteri silmek için   x   yazýn.
+  3. Þimdi son çalýþtýrýlan komutu geri almak için   u   yazýn.
+  4. Bu sefer   x    komutunu kullanarak satýrdaki tüm hatalarý düzeltin.
+  5. Þimdi satýrý ilk haline çevirmek için büyük   U    yazýn.
+  6. Þimdi   U    ve daha önceki komutlarý geri almak için birkaç defa   u    yazýn.
+  7. Þimdi birkaç defa CTRL-R (CTRL'yi basýlý tutarken R ye basýn) yazarak geri almalarý da geri alýn.
+
+---> Buu satýýrdaki hatalarý düüzeltinn ve sonra koomutu geri alllýn.
+
+  8. Bunlar son derece kullanýþlý komutlardýr. Þimdi Ders 2 Özete geçin.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       DERS 2 ÖZET
+
+
+  1. Ýmleçten itibaren bir kelimeyi silmek için yazýn:	dw
+
+  2. Ýmleçten itibaren bir satýrý silmek için yazýn:	d$
+
+  3. Bütün bir satýrý silmek için yazýn:		dd
+
+  4. Normal kipte bir komut biçimi þöyledir:
+
+       [sayý]   komut    nesne    VEYA     komut	[sayý]   nesne
+     burada:
+	 sayý  - komutun kaç kere tekrar edeceði
+	 komut - ne yapýlacaðý, silmek için   d   olduðu gibi
+	 nesne - komutun nasýl davranacaðý, w (kelime), $ (satýr sonu), vb gibi.
+
+  5. Önceki hareketleri geri almak için yazýn:		u	(küçük u)
+     Bir satýrdaki tüm deðiþiklikleri geri almak için yazýn:	U	(büyük u)
+     Geri almalarý geri almak için yazýn:	CTRL-R
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Ders 3.1: KOY KOMUTU
+
+
+       ** Son yaptýðýnýz silme iþlemini imleçten sona geri yerleþtirmek için	p   yazýn.**
+
+  1. Ýmleci aþaðýdaki tümceciðin ilk satýrýna götürün.
+
+  2. Satýrý silip Vim'in tamponuna yerleþtirmek için   dd   yazýn.
+
+  3. Ýmleci, silinmiþ satýrý nereye yerleþtirmek istiyorsanýz, o satýrýn ÜZERÝNE götürün.
+
+  4. Normal kipteyken, satýrý yerleþtirmek için   p   yazýn.
+
+  5. Tüm satýrlarý doðru sýraya koymak için 2'den 4'e kadar olan adýmlarý tekrar edin.
+
+     d) Sen de öðrendin mi?
+     b) Menekþeler mavidir,
+     c) Akýl öðrenilir,
+     a) Güller kýrmýzýdýr,
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Ders 3.2: YERLEÞTÝR KOMUTU
+
+
+  ** Ýmlecin altýnda bir karakter yerleþtirmek için    r    yazýn.**
+
+  1. Ýmleci aþaðýdaki iþaretlenmiþ(--->) ilk satýra götürün.
+
+  2. Ýmleci satýrdaki ilk hatanýn üzerine götürün.
+
+  3. Hatayý düzeltmek için önce   r    ardýndan da doðru karakteri yazýn.
+
+  4. Ýlk satýr düzelene kadar adým 2 ve 3'ü tekrar edin.
+
+--->  Bu satýv yazýlývken, bivileri yamlýþ tuþtara basmýþ.
+--->  Bu satýr yazýlýrken, birileri yanlýþ tuþlara basmýþ.
+
+  5. Ders 3.2'ye geçin.
+
+NOT: Unutmayýn, ezberleyerek deðil kullanarak öðrenin.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Ders 3.3: DEÐÝÞTÝR KOMUTU
+
+
+	   ** Bir kelimenin tamamýný veya parçasýný deðiþtirmek için   cw   yazýn.
+
+  1. Ýmleci aþaðýdaki iþaretlenmiþ(--->) satýra götürün.
+
+  2. Ýmleci "sutar" daki u'nun üzerine yerleþtirin.
+
+  3. Önce   cw   ardýndan doðru kelimeyi girin (bu durumda 'atýr'.)
+
+  4. <ESC> tuþuna basýn ve bir sonraki hataya gidin (deðiþmesi gereken ilk karakter.)
+
+  5. Ýlk cümle ikincisiyle ayný olana kadar adým 3 ve 4'ü tekrar edin.
+
+---> Bu sutar deðiþtir komutu ile deðiþneli gereken birkaç petime içeriyor.
+---> Bu satýr deðiþtir komutu ile deðiþmesi gereken birkaç kelime içeriyor.
+
+cw'nin sadece kelimeyi deðiþtirmediðini, ayný zamanda sizi insert kipine götürdüðüne de dikkat edin.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      	Ders 3.4: c'YÝ KULLANARAK DAHA FAZLA DEÐÝÞTÝRME
+
+
+     ** Deðiþtir komutu sil komutu ile ayný nesnelerle kullanýlýr.**
+
+  1. Deðiþtir komutu sil ile ayný yolla çalýþýr. Biçim þöyledir:
+
+       [sayý]   c   nesne	   VEYA	    c	[sayý]   nesne
+
+  2. Nesneler de ayný zamanda aynýdýr. Örneðin w (word), $ (satýr sonu), vb. gibi.
+
+  3. Aþaðýdaki iþaretlenmiþ(--->) ilk satýra gidin.
+
+  4. Ýmleci ilk hataya götürün.
+
+  5. Satýrýn geri kalan kýsmýný ikincisi gibi yapmak için   c$   yazýn ve daha sonra <ESC> tuþuna basýn.
+
+---> Bu satýrýn sonu düzeltilmek için biraz yardýma ihtiyaç duyuyor.
+---> Bu satýrýn sonu düzeltilmek için   c$   komutu kullanýlarak yardýma ihtiyaç duyuyor.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       DERS 3 ÖZET
+
+
+  1. Silinmiþ olan bir metini geri yerleþtirmek için   p   yazýn. Bu silinmiþ metini
+     imleçten hemen SONRA geri yerleþtirir (eðer bir satýr silinmiþse hemen imleçten sonra, alta
+     yerleþtirilecektir)
+
+  2. Ýmlecin altýndaki karakteri deðiþtirmek için önce   r    ardýndan da
+     asýl karakteri yazýn.
+
+  3. Deðiþtir komutu belirlenen nesneyi, imleçten nesnenin sonuna kadar deðiþtirme imkaný verir.
+     Örneðin, bir kelimeyi imleçten sonuna kadar deðiþtirmek için   cw   , bir satýrýn tamamýný
+     deðiþtirmek içinse   c$   yazýn.
+
+  4. Deðiþtir için biçim þöyledir:
+
+	 [sayý]   c	nesne	      VEYA	c   [sayý]   nesne
+
+Þimdi bir sonraki derse geçin.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		     Ders 4.1: KONUM VE DOSYA DURUMU
+
+
+  ** Dosya içerisindeki konumunuzu ve dosyanýn durumunu görmek için   CTRL-g    yazýn. **
+  ** Dosya içerisindeki bir satýra gitmek için   SHIFT-g   yazýn. **
+
+  Not: Adýmlardan herhangi birini yapmadan önce dersin tamamýný okuyun!!
+
+  1. Ctrl tuþunu basýlý tutun ve   g'ye   basýn. Dosyanýn sonunda dosya ismini ve bulunduðunuz konumu
+     gösteren bir durum satýrý görünecektir. Adým 3 için satýr numarasýný
+     unutmayýn.
+
+  2. Dosyanýn sonuna gitmek için   shift-G   'ye basýn.
+
+  3. Daha önce bulunduðunuz satýr numarasýný yazýn ve daha sonra    shift-G   'ye basýn.
+     Bu sizi daha önce bulunduðunuz ve    Ctrl-g   'ye bastýðýnýz satýra geri götürecektir.
+     (Sayýlar yazýlýrken ekranda GÖRÜNMEYECEKLERDÝR.)
+
+  4. Yapabileceðinizi düþündüðünüzde, adým 1'den 3'e kadar yapýn.
+
+  Ç.N: Bu kýsým orijinal metinde de biraz eksik anlatýlmýþ gibi. Bir satýr hakkýnda bilgi almak için
+       Ctrl-g'yi kullanýn. Herhangi bir satýra gitmek içinse, önce satýr numarasýný yazýn ve ardýnan
+       shift-g'ye basýn. Satýr numarasý girmeden basýlan shift-g sizi satýr sonuna götürür.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Ders 4.2: ARAMA KOMUTU
+
+
+     ** Bir kelime öbeðini aramak için   /   ile beraber kelime öbeðini girin. **
+
+  1. Normal kipteyken   /   karakterini yazýn. Komut bölümü yerine   /   karakterinin ve
+     imlecin ekranýn sonunda göründüðüne dikkat edin.
+
+  2. Þimdi, 'hatttaa' yazýp <ENTER> 'a basýn. Bu sizin aramak istediðiniz kelime.
+
+  3. Ayný kelime öbeðini tekrar aramak için, basitçe   n   yazýn.
+     Ayný kelime öbeðini zýt yönde aramak için, Shift-N yazýn.
+
+  4. Eðer zýt yöne doðru bir arama yapmak istiyorsanýz,  /   komutu yerine
+     ?   komutunu kullanýn.
+
+---> "hatttaa" hatayý yazmanýn doðru yolu deðil; hatttaa bir hata.
+
+Not: Arama dosyanýn sonuna ulaþtýðýnda, tekrar baþtan baþlayacaktýr.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   Ders 4.3: UYAN PARANTEZ ARAMASI
+
+
+	      ** Uyan bir ),] veya } bulmak için   %   yazýn. **
+
+  1. Ýmleci iþaretli (--->) satýrdaki herhangi bir (, [ veya { karakterinin
+     üzerine götürün.
+
+  2. Þimdi   %    karakterini yazýn.
+
+  3. Ýmleç uyan parantez veya ayracýn üzerine gider.
+
+  4. Uyan ilk parantezin üzerine geri dönmek için yine   %   yazýn.
+
+---> Bu ( içerisinde ('ler, ['ler ] ve {'ler } bulunan bir satýrdýr. ))
+
+Not: Bu içerisinde uymayan parantezler bulunan bir programýn yanlýþýný ayýklamak için
+     son derece yararlýdýr.
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Ders 4.4: HATALARI DÜZELTMEK ÝÇÝN BÝR YOL
+
+
+	** 'eski' yerine 'yeni' yerleþtirmek için   :s/eski/yeni/g   yazýn. **
+
+  1. Ýmleci aþaðýdaki iþaretli (--->) satýra götürün.
+
+  2. :s/buu/bu  yazýp <ENTER> 'a basýn. Bu komutun sadece satýrdaki ilk karþýlaþmayý
+     düzelttiðine dikkat edin.
+
+  3. Þimdi genel olarak satýrdaki tüm deðiþikliði  yapmak için   :s/buu/bu/g   yazýn.
+
+---> Buu birinci, buu ikinci, buu üçüncü bölüm.
+
+  4. Ýki satýr arasýndaki bir karakter katarýnýn tümünü deðiþtirmek için,
+     :#,#s/eski/yeni/g  yazýn, burada #,# iki satýrýn sayýlarýdýr.
+     Tüm dosyadaki karþýlaþýlan kelimeleri deðiþtirmek için  :%s/eski/yeni/g  yazýn.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       DERS 4 ÖZET
+
+
+  1. Ctrl-g sizin dosyadaki konumunuzu ve dosya durumunu gösterir.
+     Shift-G dosyanýn sonuna gider. Shift-G 'den önce bir sayý yazýlýrsa, o satýra
+     gidilir.
+
+  2. Bir sözcük öbeðinden önce / yazmak, ÝLERÝ yönde o öbeði aratýr.
+     Bir sözcük öbeðinden önce ? yazmak, GERÝ yönde o öbeði aratýr.
+     Bir aramadan sonra, ayný yöndeki bir sonraki karþýlaþmayý bulmak için   n   ,
+     veya zýt yöndekini bulmak için Shift-N yazýn.
+
+  3. Ýmleç bir (,),[,],{,} parantezi üzerindeyken   %   yazmak, uyan diðer eþ parantezi bulur.
+
+  4. Bir satýrdaki ilk 'eski'yi 'yeni' ile deðiþtirmek için    		:s/eski/yeni		yazýn.
+     Bir satýrdaki tüm 'eski'leri 'yeni' ile deðiþtirmek için  		:s/eski/yeni/g	 	yazýn.
+     Ýki satýr arasýndaki öbekleri deðiþtirmek için 			:#,#s/eski/yeni/g 	yazýn.
+     									 (#'lar satýr numaralarý)
+     Bir dosyadaki tüm karþýlaþmalarý deðiþtirmek için			:%s/eski/yeni/g 	yazýn.
+     Her seferinde onay sormasý için 'c' ekleyin.			:%s/eski/yeni/gc
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		Ders 5.1: BIR DIÞ KOMUT ÇALIÞTIRMAK
+
+
+   ** Bir dýþ komutu çalýþtýrmak için   :!      ve ardýndan istediðiniz dýþ komutu yazýn. **
+
+  1. Ýmleci ekranýn altýna götürmek için alýþýk olduðunuz  :  komutunu yazýn. Bu size
+     bir komut yazma imkaný verir.
+
+  2. Þimdi ! (ünlem) karakterini yazýn. Bu size bir dýþ komut çalýþtýrma
+     imkaný verir.
+
+  3. Örnek olarak ! karakterini takiben  ls  yazýn ve <ENTER>'a basýn. Bu size
+     o anda bulunduðunuz dizindeki dosyalarý gösterecektir. Veya ls çalýþmazsa :!dir
+     komutunu kullanýn.
+
+Not: Herhangi bir dýþ komutu bu yolla çalýþtýrmak mümkündür.
+
+Not: Tüm  :   komutlarýndan sonra <ENTER> tuþuna basýlmalýdýr.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		      Ders 5.2: DOSYA YAZMAYA DEVAM
+
+
+     ** Dosyaya yapýlan deðiþikliði kaydetmek için, :w DOSYAÝSMÝ  yazýn. **
+
+  1. Bulunduðunuz dizini listelemek için  :!dir  veya  :!ls  yazýn.
+     Komuttan sonra <ENTER> tuþuna basýcaðýnýzý zaten biliyorsunuz.
+
+  2. Mevcut olmayan bir dosya ismi seçin, örneðin DENEME.
+
+  3. Þimdi   :w DENEME   yazýn (DENEME sizin seçtiðiniz dosya ismi).
+
+  4. Bu tüm dosyayý (Vim Tutor) DENEME isminde baþka bir dosyaya yazar.
+     Bunu doðrulamak için,  :!dir   yazýn ve yeniden bulunduðunuz dizini listeleyin.
+
+Not: Eðer Vim'den çýkýp kaydettiðiniz DENEME dosyasýný açarsanýz, bunun kaydettiðiniz
+     vimtutor'un gerçek bir kopyasý olduðunu görürsünüz.
+
+  5. Þimdi dosyayý þu komutlarý vererek silin	(MS-DOS)     :!del DENEME
+  						(veya UNIX)  :!rm DENEME
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Ders 5.3: SEÇMELÝ YAZ KOMUTU
+
+
+	** Dosyanýn bir bölümünü kaydetmek için,  :#,# w DOSYAÝSMÝ  yazýn. **
+
+  1. Bir kez daha bulunduðunuz dizini görmek için  :!dir  veya  :!ls  yazýn,
+     ardýndan DENEME gibi uygun bir dosya ismi seçin.
+
+  2. Ýmleci bu sayfanýn baþýna götürün ve ardýndan CTRL-g'ye basarak satýr numarasýný
+     öðrenin. BU NUMARAYI UNUTMAYIN!
+
+  3. Þimdi sayfanýn sonuna gidib ve yine CTRL-g'ye basarak satýr numarasýný
+     öðrenin. BU NUMARAYI DA UNUTMAYIN!
+
+  4. Bir dosyaya sadece bir bölümü kaydetmek için, :#,# w DENEME yazýn. #,# sizin
+     baktýðýnýz sayýlar (üst,alt) ve DENEME dosyanýzýn ismidir.
+
+
+  5. Yine,  :!dir  yazarak dosyanýn orada olduðuna bakýn ama SÝLMEYÝN.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		   Ders 5.4: DOSYALARI BÝRLEÞTÝRMEK-BÖLÜM EKLEMEK
+
+
+       ** Bir dosyanýn içeriðini eklemek için  :r DOSYAÝSMÝ   yazýn. **
+
+  1. DENEME dosyanýzýn önceden bulunduðundan emin olmak için  :!dir   yazýn.
+
+  2. Ýmleci bu sayfanýn baþýna yerleþtirin.
+
+NOT: Adým 3'ü uyguladýktan sonra Ders 5.3'ü görüyor olacaksýnýz. Daha sonra bu
+     derse sayfasýna dönün.
+
+  3. Þimdi DENEME sayfasýný  :r DENEME  yazarak aktarýn.
+
+NOT: Aktardýðýnýz dosya imlecinizin hemen altýna eklenecektir.
+
+  4. Dosyanýn eklendiðini görmek için, geriye gidin. Ders 5.3'ten iki kopya
+     olduðunu göreceksiniz; asýl ve kopya olaný.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       DERS 5 ÖZET
+
+
+  1.  :!komut bir dýþ komut çalýþtýrýr.
+
+      Bazý yararlý örnekler:
+	 (MS-DOS)	  (Unix)
+	  :!dir		   :!ls		   -  bir dizini listeler.
+	  :!del DOSYA      :!rm DOSYA      -  DOSYA'yý siler.
+
+  2.  :w DOSYAÝSMÝ o anki Vim dosyasýný diske DOSYAÝSMÝ ile kaydeder.
+
+  3.  :#,#w DOSYAÝSMÝ # ile # satýr arasýný DOSYAÝSMÝ ile kaydeder.
+
+  4.  :r DOSYAÝSMÝ imlecin altýndan baþlayarak DOSYAÝSMÝ isimli dosyanýn içeriðini ekler.
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			 Ders 6.1: AÇ KOMUTU
+
+
+ ** Ýmlecin aþaðýsýna bir satýr açmak ve Insert kipine geçmek için   o    yazýn. **
+
+  1. Ýmleci aþaðýdaki iþaretlenmiþ (--->) satýra götürün.
+
+  2. Ýmlecin aþaðýsýna bir satýr açmak ve Insert kipine geçmek için
+     o   (küçük harfle) yazýn.
+
+  3. Þimdi iþaretlenmiþ satýrý kopyalayýn ve Insert kipinden çýkmak için <ESC>
+     tuþuna basýn.
+
+---> o  yazdýktan sonra imlec açýlan satýra gidicek ve Insert kipine geçilecek.
+
+  4. Ýmlecin üzerinde bir satýr açmak için, basitçe büyük O yazýn. Bunu aþaðýdaki
+     satýrda deneyin.
+Bu satýrýn üzerine bir satýr açmak için imleç bu satýrdayken   Shift-o   yazýn.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			Ders 6.2: EKLE KOMUTU
+
+
+	     ** Ýmleçten sonra metin eklemek için   a   yazýn. **
+
+  1. Ýmleci aþaðýdaki iþaretlenmiþ (--->) satýrýn sonuna götürmek için
+     Normal Kipteyken $ yazýn.
+
+  2. Ýmlecin altýndaki karakterden sonra metin eklemek için  a   (küçük harfle) yazýn.
+     (Büyük  A  satýrýn sonuna ekler).
+
+  3. Þimdi ilk satýrý tamamlayýn. Ekle komutunun Insert kipiyle ayný iþi yaptýðýna
+     dikkat edin. Tek fark metinin eklendiði yer.
+Ç.N: Eðer  a   yazarsanýz imlecin altýndaki karakterden hemen sonra ekleme yapabilirsiniz.
+     Eðer  Shift-a  yazarsanýz imleç satýr sonuna gidecek ve hemen ardýna ekleme yapabileceksiniz.
+     Doðal olarak bizim örneðimizde Shift-A'yý kullanmak daha güzel olacaktýr. Önce $ ardýnan a
+     yazmamýza gerek kalmaz.
+
+---> Bu satýrda çalýþabilirsiniz
+---> Bu satýrda çalýþabilirsiniz. Çalýþýrken metin eklemeyi kullanýn.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		    Ders 6.3: BÝR BAÞKA DEÐÝÞTÝR KOMUTU
+
+
+      ** Birden fazla karakter deðiþtirmek için büyük R yazýn. **
+
+  1. Ýmleci aþaðýdaki iþaretli (--->) satýrlarýn ilkine götürün.
+
+  2. Ýmleci iþaretli olan ikinci satýrdakinden farklý olan ilk kelimenin
+     baþýna götürün. ( "tuþlarý" kelimesi )
+
+  3. Þimdi büyük R yazýn ve ilk satýrý ikincisinin aynýsý yapmak için
+     eski metinin üzerinden yenisini yazýn. Siz yazdýkça metin deðiþecektir.
+
+---> Bu satýrý ikincisinin aynýsý yapmak için tuþlarý kullanýn.
+---> Bu satýrý ikincisinin aynýsý yapmak için R yazýn ve metini girin.
+
+  4. Çýkmak için <ESC> tuþuna bastýðýnýzda, deðiþmemiþ metinin aynen
+     kaldýðýna dikkat edin.
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			    Ders 6.4: SET SEÇENEÐÝ
+
+	  ** Bir seçenek ayarlayýn , böylece bir arama veya deðiþtirme **
+	  ** durumu görmezden gelsin.				       **
+
+  1. 'ignore' kelimesini aramak için:
+     /ignore
+     yazýn.
+     Bunu   n  tuþuna basarak birkaç kez tekrar edin
+
+  2. :set ic    yazarak 'ic' (Ignore case) ayarýný seçin.
+
+  3. Tekrar  n  tuþuna basarak 'ignore' kelimseini arayýn.
+     n   tuþuna basarak bu aramayý birden çok defa tekrar edin.
+
+  4. :set hls is   yazarak 'hlsearch' ve 'incsearch' ayarlarýný seçin.
+
+  5. /ignore  yazarak arama komutunu tekrar verin ve ne olacaðýný görün.
+
+  6. Karþýlaþma vurgularýný iptal etmek için,
+     :nohlsearch   yazýn.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+			       DERS 6 ÖZET
+
+
+  1. o   yazmak imlecin altýnda bir satýr açar ve imleci bu açýlmýþ satýra
+     Insert kipinde yerleþtirir.
+     Büyük O  yazmak imlecin üzerinde bir satýr açar.
+
+  2. Ýmlecin üzerindeki karakterden hemen sonra metin eklemek için  a   yazýn.
+     Büyük A  yazmak hemen satýr sonuna giderek metin eklemeye hazýr hale getirir.
+
+  3. Büyük  R   yazmak Deðiþtir kipine girer ve çýkmak için <ESC> tuþuna
+     basýlana kadar sizi bu kipte býrakýr.
+
+  4. ":set xxx"  yazmak  "xxx" seçeneðini ayarlar.
+
+
+
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Ders 7: ÇEVÝRÝMÝÇÝ (ON-LINE) YARDIM KOMUTLARI
+
+
+		      ** Çevirimiçi yardým sistemini kullanýn **
+
+  Vim geniþ bir çevirimiçi yardým sistemine sahiptir. Baþlamak için þu üçünü
+  deneyebilirsiniz.
+	- (eðer sahipseniz) <HELP> tuþuna basýn
+	- (eðer sahipseniz) <F1> tuþuna basýn
+	- :help yazýn ve <ENTER> tuþuna basýn
+
+  Yardým penceresini kapatmak için  :q yazýp <ENTER> tuþuna basýn.
+
+  ":help" komutuna deðiþken (argüman) vererek herhangi bir konu hakkýnda
+  yardým alabilirsini. Þunlarý deneyin (<ENTER> tuþuna basmayý unutmayýn) :
+
+	:help w
+	:help c_<T
+	:help insert-index
+	:help user-manual
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+		       Ders 8: BÝR BAÞLANGIÇ BETÝÐÝ OLUÞTURUN
+
+			  ** Switch on Vim features **
+			  ** Vim'in özelliklerine bakýn **
+
+  Vim Vi'dan çok daha fazla özelliðe sahiptir fakat birçoðu öntanýmlý olarak kapalýdýr.
+  Daha fazla özellik kullanabilmek için bir "vimrc" dosyasý oluþturmalýsýnýz.
+
+  1. "vimrc" dosyasýný düzenlemeye baþlayýn, bu iþletim sisteminize göre deðiþir:
+
+  Ç.N: (Bu komutu verdiðinizde eðer yoksa home dizininizde .vimrc isimli bir dosya oluþacaktýr.
+  Bu dosyaya vimrc örnek dosyasýný aktarmak için 2. adýmdaki komutu kullanacaksýnýz. Bu yüzden
+  vimrc dosyanýzý düzenlemeden önce aþaðýdaki adýmlarýn hepsini okuyun ve komutlarý hatýrlayýn.)
+
+	:edit ~/.vimrc			Unix için
+	:edit $VIM/_vimrc		MS-Windows için
+
+  2. Þimdi örnek "vimrc" dosyasýný okuyun
+
+	:read $VIMRUNTIME/vimrc_example.vim
+
+  3. Dosyayý kaydedin ve çýkýn
+
+	:write
+	:q
+
+  Vim'i bir dahaki sefer çalýþtýrdýðýnýzda sözdizim (sytax) vurgusu kullanýlacaktýr.
+  Tüm tercih ettiðiniz ayarlarý bu "vimrc" dosyasýna ekleyebilirsiniz.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  Burada Vim Eðitmeni tamamlanmýþ oldu. Eðitmendeki amaç Vim düzenleyicisi hakkýnda
+  kýsa bir bilgi vermek ve onu kolayca kullanmanýzý saðlamaktý. Vim'in tamamýný öðretmek
+  çok zordur zira Vim birçok komuta sahiptir.Bundan sonra :help user-manual" komutu ile
+  kullanýcý kýlavuzunu okumalýsýnýz.
+
+  Daha fazla okuma ve çalýþma için þu kitabý öneriyoruz:
+	Vim - Vi Improved - by Steve Oualline
+	Publisher: New Riders
+  Tamamiyle Vim için hazýrlanmýþ ilk kitap. Özellikle ilk kullanýcýlar için uygun.
+  Kitapta birçok örnek ve resim var.
+  http://iccf-holland.org/click5.html adresine bakabilirsiniz.
+
+  Bu kitap daha eskidir ve Vim'den daha çok Vi içindir ancak tavsiye edilir:
+	Learning the Vi Editor - by Linda Lamb
+	Publisher: O'Reilly & Associates Inc.
+  Vi hakkýnda bilmek isteyeceðiniz neredeyse herþeyin bulunduðu bir kitap.
+  6.Basým ayný zamanda Vim hakkýnda bilgi de içermekte.
+
+  Bu eðitmen Michael C. Pierce ve Robert K. Ware tarafýndan yazýldý,
+  Charles Smith tarafýndan saðlanan fikirlerle Colorado School Of Mines,
+  Colorado State University.  E-mail: bware@mines.colorado.edu.
+
+  Vim için deðiþtiren : Bram Moolenaar.
+
+  Türkçeye çeviren    : Serkan "heartsmagic" Çalýþ    Yýl 2005
+  E-mail	      : adresimeyaz (at) yahoo com
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/src/po/no.po
+++ b/src/po/no.po
@@ -1,7 +1,7 @@
 # Norwegian (Bokmål) translation of Vim.
-# Copyright (C) 2003-2004 Free Software Foundation, Inc.
-# FIRST AUTHOR Øyvind A. Holm <sunny@sunbase.org>, 2003-2004.
-# no.po 317 2004-06-11 12:54:59Z sunny
+# Copyright (C) 2003-2007 Free Software Foundation, Inc.
+# FIRST AUTHOR Øyvind A. Holm <sunny@sunbase.org>, 2003-2007.
+# Id: no.po 435 2007-03-21 10:52:22Z sunny256
 #
 # Comments and error reports appreciated.
 #
@@ -25,14 +25,14 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Vim 6.x\n"
-"POT-Creation-Date: 2004-06-11 14:38+0200\n"
-"PO-Revision-Date: 2003-05-13 08:19+0200\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-03-19 02:09+0100\n"
+"PO-Revision-Date: 2007-03-21 11:51+0100\n"
 "Last-Translator: Øyvind A. Holm <sunny@sunbase.org>\n"
 "Language-Team: Norwegian <vim.in.norwegian@sunbase.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: sunny@sunbase.org\n"
 
 msgid "E82: Cannot allocate any buffer, exiting..."
 msgstr "E82: Kan ikke reservere plass til noen buffere, avslutter ..."
@@ -145,15 +145,15 @@ msgstr "%ld linjer --%d%%--"
 msgid "line %ld of %ld --%d%%-- col "
 msgstr "linje %ld av %ld --%d%%-- kol "
 
-msgid "[No file]"
+msgid "[No Name]"
 msgstr "[Uten navn]"
 
 #. must be a help buffer
 msgid "help"
 msgstr "hjelp"
 
-msgid "[help]"
-msgstr "[hjelp]"
+msgid "[Help]"
+msgstr "[Hjelp]"
 
 msgid "[Preview]"
 msgstr "[Forhåndsvisning]"
@@ -167,6 +167,7 @@ msgstr "Bunn"
 msgid "Top"
 msgstr "Topp"
 
+#, c-format
 msgid ""
 "\n"
 "# Buffer list:\n"
@@ -174,11 +175,11 @@ msgstr ""
 "\n"
 "# Bufferliste:\n"
 
-msgid "[Error List]"
-msgstr "[Feilliste]"
-
-msgid "[No File]"
-msgstr "[Uten navn]"
+msgid "[Location List]"
+msgstr "[Plassliste]"
+
+#~ msgid "[Quickfix List]"
+#~ msgstr ""
 
 msgid ""
 "\n"
@@ -211,6 +212,9 @@ msgstr "E98: Kan ikke lese differanse-ut
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: Nåværende buffer er ikke i differansemodus"
 
+msgid "E793: No other buffer in diff mode is modifiable"
+msgstr "E793: Ingen annen buffer i differansemodus er redigerbar"
+
 msgid "E100: No other buffer in diff mode"
 msgstr "E100: Ingen annen buffer i differansemodus"
 
@@ -226,6 +230,9 @@ msgstr "E102: Kan ikke finne buffer \"%s
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: Bufferen \"%s\" er ikke i differansemodus"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: Uventet forandring i buffer"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: Escape er ikke lovlig i spesialtegn"
 
@@ -235,17 +242,16 @@ msgstr "E544: Fant ikke keymap-fil"
 msgid "E105: Using :loadkeymap not in a sourced file"
 msgstr "E105: Bruk av :loadkeymap utenfor en kjørt fil"
 
+msgid "E791: Empty keymap entry"
+msgstr "E791: Tom tastaturoppsett-oppføring"
+
 msgid " Keyword completion (^N^P)"
 msgstr " Nøkkelordfullføring (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^E^Y^L^]^F^I^K^D^V^N^P)"
-msgstr " ^X-modus (^E^Y^L^]^F^I^K^D^V^N^P)"
-
-#. Scroll has it's own msgs, in it's place there is the msg for local
-#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL)  -- Acevedo
-msgid " Keyword Local completion (^N^P)"
-msgstr " Lokal nøkkelordfullføring (^N^P)"
+#, fuzzy
+#~ msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+#~ msgstr " ^X-modus (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " Fullføring av hel linje (^L^N^P)"
@@ -271,15 +277,28 @@ msgstr " Thesaurus-fullføring (^T^N^P)"
 msgid " Command-line completion (^V^N^P)"
 msgstr " Kommandolinje-fullføring (^V^N^P)"
 
+msgid " User defined completion (^U^N^P)"
+msgstr " Brukerdefinert fullføring (^U^N^P)"
+
+msgid " Omni completion (^O^N^P)"
+msgstr " Omni-fullføring (^O^N^P)"
+
+#, fuzzy
+#~ msgid " Spelling suggestion (s^N^P)"
+#~ msgstr " Staveforslag (^S^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Lokal nøkkelordfullføring (^N^P)"
+
 msgid "Hit end of paragraph"
 msgstr "Kom til slutten av avsnittet"
 
+msgid "'dictionary' option is empty"
+msgstr "'dictionary'-valget er tomt"
+
 msgid "'thesaurus' option is empty"
 msgstr "'thesaurus'-valget er tomt"
 
-msgid "'dictionary' option is empty"
-msgstr "'dictionary'-valget er tomt"
-
 #, c-format
 msgid "Scanning dictionary: %s"
 msgstr "Leter gjennom ordliste: %s"
@@ -294,6 +313,7 @@ msgstr " (erstatt) Rulling (^E/^Y)"
 msgid "Scanning: %s"
 msgstr "Leter: %s"
 
+#, c-format
 msgid "Scanning tags."
 msgstr "Leter gjennom tagger."
 
@@ -324,11 +344,100 @@ msgstr "treff %d av %d"
 msgid "match %d"
 msgstr "treff %d"
 
-#. Skip further arguments but do continue to
-#. * search for a trailing command.
-#, c-format
-msgid "E106: Unknown variable: \"%s\""
-msgstr "E106: Ukjent variabel: \"%s\""
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Uventede tegn i :let"
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684: Listeindeks utenfor område: %ld"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Udefinert variabel: %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: Mangler ']'"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686: Parameter til %s må være en liste"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: Parameter til %s må være en liste eller ordliste"
+
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Kan ikke bruke tom nøkkel med ordliste"
+
+msgid "E714: List required"
+msgstr "E714: Liste påkrevet"
+
+msgid "E715: Dictionary required"
+msgstr "E715: Ordliste påkrevet"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: For mange parametere til funksjonen: %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: Nøkkelen finnes ikke i ordliste: %s"
+
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: Funksjonen %s eksisterer allerede, legg til ! for å erstatte den"
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: Ordlisteoppføring finnes allerede"
+
+msgid "E718: Funcref required"
+msgstr "E718: Funksjonsreferanse nødvendig"
+
+msgid "E719: Cannot use [:] with a Dictionary"
+msgstr "E719: Kan ikke bruke [:] sammen med en ordliste"
+
+#, c-format
+msgid "E734: Wrong variable type for %s="
+msgstr "E734: Feil variabeltype for %s="
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Ukjent funksjon: %s"
+
+#, c-format
+msgid "E461: Illegal variable name: %s"
+msgstr "E461: Ugyldig variabelnavn: %s"
+
+msgid "E687: Less targets than List items"
+msgstr "E687: Færre mål enn listeelementer"
+
+msgid "E688: More targets than List items"
+msgstr "E688: Flere mål enn listeelementer"
+
+msgid "Double ; in list of variables"
+msgstr "Dobbel ; i variabelliste"
+
+#, c-format
+msgid "E738: Can't list variables for %s"
+msgstr "E738: Kan ikke liste variabler for %s"
+
+msgid "E689: Can only index a List or Dictionary"
+msgstr "E689: Kan bare indeksere en liste eller ordliste"
+
+msgid "E708: [:] must come last"
+msgstr "E708: [:] må komme sist"
+
+msgid "E709: [:] requires a List value"
+msgstr "E709: [:] krever en listeverdi"
+
+msgid "E710: List value has more items than target"
+msgstr "E710: Listeverdien har flere elementer enn mål"
+
+msgid "E711: List value has not enough items"
+msgstr "E711: Listeverdien har ikke nok elementer"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: Mangler \"in\" etter :for"
 
 #, c-format
 msgid "E107: Missing braces: %s"
@@ -338,14 +447,35 @@ msgstr "E107: Mangler parenteser: %s"
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Variabelen finnes ikke: \"%s\""
 
+msgid "E743: variable nested too deep for (un)lock"
+msgstr "E743: Variabel nøstet for dypt for (un)lock"
+
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Mangler ':' etter '?'"
 
+msgid "E691: Can only compare List with List"
+msgstr "E691: Kan bare sammenligne liste med liste"
+
+msgid "E692: Invalid operation for Lists"
+msgstr "E692: Ugyldig operasjon for lister"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Kan bare sammenligne ordliste med ordliste"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Ugyldig operasjon for ordliste"
+
+msgid "E693: Can only compare Funcref with Funcref"
+msgstr "E693: Kan bare sammenligne funksjonsreferanse med funksjonsreferanse"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Ugyldig operasjon for funksjonsreferanser"
+
 msgid "E110: Missing ')'"
 msgstr "E110: Mangler ')'"
 
-msgid "E111: Missing ']'"
-msgstr "E111: Mangler ']'"
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Kan ikke indeksere en funksjonsreferanse"
 
 #, c-format
 msgid "E112: Option name missing: %s"
@@ -364,18 +494,37 @@ msgid "E115: Missing quote: %s"
 msgstr "E115: Mangler apostrof ('): %s"
 
 #, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116: Ugyldige parametere til funksjon %s"
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Mangler komma i liste: %s"
+
+#, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Mangler slutt på liste ']': %s"
+
+#, c-format
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Mangler kolon i ordliste: %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Duplisert nøkkel i ordliste: \"%s\""
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Mangler komma i ordliste: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Mangler slutt på ordliste '}': %s"
+
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: Variabel nøstet for dypt for visning"
 
 #, c-format
 msgid "E117: Unknown function: %s"
 msgstr "E117: Ukjent funksjon: %s"
 
 #, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118: For mange parametere til funksjonen: %s"
-
-#, c-format
 msgid "E119: Not enough arguments for function: %s"
 msgstr "E119: Ikke nok parametere til funksjonen: %s"
 
@@ -383,6 +532,16 @@ msgstr "E119: Ikke nok parametere til fu
 msgid "E120: Using <SID> not in a script context: %s"
 msgstr "E120: Bruk av \"<SID>\" utenfor skript-sammenheng: %s"
 
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Kaller ordlistefunksjon uten ordliste: %s"
+
+msgid "E699: Too many arguments"
+msgstr "E699: For mange parametere"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() kan bare brukes i innsettingsmodus"
+
 #.
 #. * 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
@@ -392,9 +551,17 @@ msgid "&Ok"
 msgstr "&Ok"
 
 #, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: Nøkkelen finnes allerede: %s"
+
+#, c-format
 msgid "+-%s%3ld lines: "
 msgstr "+-%s%3ld linjer: "
 
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Ukjent funksjon: %s"
+
 msgid ""
 "&OK\n"
 "&Cancel"
@@ -405,40 +572,93 @@ msgstr ""
 msgid "called inputrestore() more often than inputsave()"
 msgstr "kalte inputrestore() oftere enn inputsave()"
 
-msgid "E655: Too many symbolic links (cycle?)"
-msgstr "E655: For mange symbolske linker (runddans?)"
+msgid "E786: Range not allowed"
+msgstr "E786: Område ikke tillatt"
+
+msgid "E701: Invalid type for len()"
+msgstr "E701: Ugyldig type for len()"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Økning er null"
+
+msgid "E727: Start past end"
+msgstr "E727: Starten er bak slutten"
+
+msgid "<empty>"
+msgstr "<tom>"
 
 msgid "E240: No connection to Vim server"
 msgstr "E240: Ingen forbindelse med Vim-tjeneren"
 
-msgid "E277: Unable to read a server reply"
-msgstr "E277: Klarer ikke lese svar fra tjeneren"
-
-msgid "E258: Unable to send to client"
-msgstr "E258: Klarer ikke sende til klienten"
-
 #, c-format
 msgid "E241: Unable to send to %s"
 msgstr "E241: Klarer ikke sende til %s"
 
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Klarer ikke lese svar fra tjeneren"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: For mange symbolske linker (runddans?)"
+
+msgid "E258: Unable to send to client"
+msgstr "E258: Klarer ikke sende til klienten"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702: Funksjon for sorteringssammenligning feilet"
+
 msgid "(Invalid)"
 msgstr "(Ugyldig)"
 
-#, c-format
-msgid "E121: Undefined variable: %s"
-msgstr "E121: Udefinert variabel: %s"
-
-#, c-format
-msgid "E461: Illegal variable name: %s"
-msgstr "E461: Ugyldig variabelnavn: %s"
-
-#, c-format
-msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E122: Funksjonen %s eksisterer allerede, legg til ! for å erstatte den"
-
-#, c-format
-msgid "E123: Undefined function: %s"
-msgstr "E123: Udefinert funksjon: %s"
+msgid "E677: Error writing temp file"
+msgstr "E677: Feil under skriving til midlertidig fil"
+
+msgid "E703: Using a Funcref as a number"
+msgstr "E703: Bruker en funksjonsreferanse som et nummer"
+
+msgid "E745: Using a List as a number"
+msgstr "E745: Bruker en liste som et nummer"
+
+msgid "E728: Using a Dictionary as a number"
+msgstr "E728: Bruker en ordliste som et nummer"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: Bruker en funksjonsreferanse som en streng"
+
+msgid "E730: using List as a String"
+msgstr "E730: Bruker en liste som en streng"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: Bruker en ordliste som en streng"
+
+#, c-format
+msgid "E704: Funcref variable name must start with a capital: %s"
+msgstr "E704: Variabelnavn for funksjonsreferanse må ha stor forbokstav: %s"
+
+#, c-format
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Variabelnavn er i konflikt med en eksisterende funksjon: %s"
+
+#, c-format
+msgid "E706: Variable type mismatch for: %s"
+msgstr "E706: Variabeltype samsvarer ikke med: %s"
+
+#, c-format
+msgid "E795: Cannot delete variable %s"
+msgstr "E795: Kan ikke slette variabel %s"
+
+#, c-format
+msgid "E741: Value is locked: %s"
+msgstr "E741: Verdi er låst: %s"
+
+msgid "Unknown"
+msgstr "Ukjent"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: Kan ikke forandre verdi for %s"
+
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: Variabel nøstet for dypt til å lage en kopi"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -452,19 +672,15 @@ msgid "E126: Missing :endfunction"
 msgstr "E126: Mangler :endfunction"
 
 #, c-format
-msgid "E127: Cannot redefine function %s: It is in use"
-msgstr "E127: Kan ikke omdefinere funksjonen %s: Den er i bruk"
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Funksjonsnavn samsvarer ikke med skriptfilnavn: %s"
 
 msgid "E129: Function name required"
 msgstr "E129: Funksjonsnavn nødvendig"
 
 #, c-format
-msgid "E128: Function name must start with a capital: %s"
-msgstr "E128: Funksjonsnavn må ha stor forbokstav: %s"
-
-#, c-format
-msgid "E130: Undefined function: %s"
-msgstr "E130: Udefinert funksjon: %s"
+msgid "E128: Function name must start with a capital or contain a colon: %s"
+msgstr "E128: Funksjonsnavn må ha stor forbokstav eller inneholde et kolon: %s"
 
 #, c-format
 msgid "E131: Cannot delete function %s: It is in use"
@@ -473,7 +689,6 @@ msgstr "E131: Kan ikke slette funksjonen
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr "E132: Funksjonskalldybden er større enn 'maxfuncdepth'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "calling %s"
 msgstr "kaller %s"
@@ -487,10 +702,9 @@ msgid "%s returning #%ld"
 msgstr "%s returnerer #%ld"
 
 #, c-format
-msgid "%s returning \"%s\""
-msgstr "%s returnerer \"%s\""
-
-#. always scroll up, don't overwrite
+msgid "%s returning %s"
+msgstr "%s returnerer %s"
+
 #, c-format
 msgid "continuing in %s"
 msgstr "fortsetter i %s"
@@ -498,6 +712,7 @@ msgstr "fortsetter i %s"
 msgid "E133: :return not inside a function"
 msgstr "E133: :return er ikke innenfor en funksjon"
 
+#, c-format
 msgid ""
 "\n"
 "# global variables:\n"
@@ -505,6 +720,13 @@ msgstr ""
 "\n"
 "# globale variabler:\n"
 
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tSist satt fra "
+
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
 msgstr "<%s>%s%s  %d,  Hex %02x,  Oktal %03o"
@@ -557,6 +779,7 @@ msgstr " merker"
 msgid " FAILED"
 msgstr " FEILET"
 
+#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
 msgstr "E137: Viminfo-fil er ikke skrivbar: %s"
@@ -574,6 +797,7 @@ msgstr "Lagrer viminfo-fil \"%s\""
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Denne viminfo-filen ble generert av Vim %s.\n"
 
+#, c-format
 msgid ""
 "# You may edit it if you're careful!\n"
 "\n"
@@ -581,6 +805,7 @@ msgstr ""
 "# Du kan redigere den hvis du er forsiktig!\n"
 "\n"
 
+#, c-format
 msgid "# Value of 'encoding' when this file was written\n"
 msgstr "# Verdien av 'encoding' når denne filen ble skrevet\n"
 
@@ -590,11 +815,6 @@ msgstr "Ulovlig starttegn"
 msgid "Save As"
 msgstr "Lagre som"
 
-#. Overwriting a file that is loaded in another buffer is not a
-#. * good idea.
-msgid "E139: File is loaded in another buffer"
-msgstr "E139: Filen er lastet i en annen buffer"
-
 msgid "Write partial file?"
 msgstr "Skrive delvis fil?"
 
@@ -602,8 +822,16 @@ msgid "E140: Use ! to write partial buff
 msgstr "E140: Bruk ! for å skrive delvis buffer"
 
 #, c-format
-msgid "Overwrite existing file \"%.*s\"?"
-msgstr "Overskrive eksisterende fil \"%.*s\"?"
+msgid "Overwrite existing file \"%s\"?"
+msgstr "Overskrive eksisterende fil \"%s\"?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "Swapfilen \"%s\" finnes, overskriv likevel?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: Swapfilen finnes: %s (:silent! overstyrer)"
 
 #, c-format
 msgid "E141: No file name for buffer %ld"
@@ -614,10 +842,10 @@ msgstr "E142: Filen ble ikke lagret: Lag
 
 #, c-format
 msgid ""
-"'readonly' option is set for \"%.*s\".\n"
+"'readonly' option is set for \"%s\".\n"
 "Do you wish to write anyway?"
 msgstr ""
-"'readonly'-valget er satt for \"%.*s\".\n"
+"'readonly'-valget er satt for \"%s\".\n"
 "Vil du lagre likevel?"
 
 msgid "Edit File"
@@ -643,10 +871,17 @@ msgstr "Erstatt med %s (y/n/a/q/l/^E/^Y)
 msgid "(Interrupted) "
 msgstr "(Avbrutt) "
 
+msgid "1 match"
+msgstr "1 treff"
+
 msgid "1 substitution"
 msgstr "1 erstatning"
 
 #, c-format
+msgid "%ld matches"
+msgstr "%ld treff"
+
+#, c-format
 msgid "%ld substitutions"
 msgstr "%ld erstatninger"
 
@@ -667,6 +902,7 @@ msgstr "E148: Regulært uttrykk mangler i global kommando"
 msgid "Pattern found in every line: %s"
 msgstr "Søkestreng funnet i alle linjene: %s"
 
+#, c-format
 msgid ""
 "\n"
 "# Last Substitute String:\n"
@@ -775,9 +1011,12 @@ msgstr "Ingen stoppunkt definert"
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s  linje %ld"
 
-#, c-format
-msgid "Save changes to \"%.*s\"?"
-msgstr "Lagre forandringer til \"%.*s\"?"
+msgid "E750: First use :profile start <fname>"
+msgstr "E750: Bruk først :profile start <filnavn>"
+
+#, c-format
+msgid "Save changes to \"%s\"?"
+msgstr "Lagre forandringer til \"%s\"?"
 
 msgid "Untitled"
 msgstr "Uten navn"
@@ -841,6 +1080,24 @@ msgstr "linje %ld: kjører \"%s\""
 msgid "finished sourcing %s"
 msgstr "ferdig med kjøring av %s"
 
+#, fuzzy
+#~ msgid "modeline"
+#~ msgstr "1 linje lagt til"
+
+#, fuzzy
+#~ msgid "--cmd argument"
+#~ msgstr " vim [parametere] "
+
+#, fuzzy
+#~ msgid "-c argument"
+#~ msgstr " vim [parametere] "
+
+msgid "environment variable"
+msgstr "miljøvariabel"
+
+msgid "error handler"
+msgstr "feilbehandler"
+
 msgid "W15: Warning: Wrong line separator, ^M may be missing"
 msgstr "W15: Advarsel: Feil linjeseparator, det er mulig ^M mangler"
 
@@ -851,78 +1108,6 @@ msgid "E168: :finish used outside of a s
 msgstr "E168: :finish brukt utenfor en kjørt fil"
 
 #, c-format
-msgid "Page %d"
-msgstr "Side %d"
-
-msgid "No text to be printed"
-msgstr "Ingen tekst for utskrift"
-
-#, c-format
-msgid "Printing page %d (%d%%)"
-msgstr "Skriver ut side %d (%d%%)"
-
-#, c-format
-msgid " Copy %d of %d"
-msgstr " Kopi %d av %d"
-
-#, c-format
-msgid "Printed: %s"
-msgstr "Skrevet ut: %s"
-
-msgid "Printing aborted"
-msgstr "Utskrift avbrutt"
-
-msgid "E455: Error writing to PostScript output file"
-msgstr "E455: Feil under skriving til Postscript-fil"
-
-#, c-format
-msgid "E624: Can't open file \"%s\""
-msgstr "E624: Kan ikke åpne filen \"%s\""
-
-#, c-format
-msgid "E457: Can't read PostScript resource file \"%s\""
-msgstr "E457: Kan ikke lese Postscript-ressursfil \"%s\""
-
-#, c-format
-msgid "E618: file \"%s\" is not a PostScript resource file"
-msgstr "E618: Filen \"%s\" er ikke en Postscript-ressursfil"
-
-#, c-format
-msgid "E619: file \"%s\" is not a supported PostScript resource file"
-msgstr "E619: Det er ikke støtte for Postscript-ressursfilen \"%s\""
-
-#, c-format
-msgid "E621: \"%s\" resource file has wrong version"
-msgstr "E621: Ressursfilen \"%s\" er feil versjon"
-
-msgid "E324: Can't open PostScript output file"
-msgstr "E324: Kan ikke åpne Postscript-fil for skriving"
-
-#, c-format
-msgid "E456: Can't open file \"%s\""
-msgstr "E456: Kan ikke åpne filen \"%s\""
-
-msgid "E456: Can't find PostScript resource file \"prolog.ps\""
-msgstr "E456: Fant ikke Postscript-ressursfilen \"prolog.ps\""
-
-#, c-format
-msgid "E456: Can't find PostScript resource file \"%s.ps\""
-msgstr "E456: Fant ikke Postscript-ressursfilen \"%s.ps\""
-
-#, c-format
-msgid "E620: Unable to convert from multi-byte to \"%s\" encoding"
-msgstr "E620: Klarte ikke konvertere fra multibyte til \"%s\"-tegnsett"
-
-msgid "Sending to printer..."
-msgstr "Sender til skriver ..."
-
-msgid "E365: Failed to print PostScript file"
-msgstr "E365: Feil under utskrift av Postscript-fil"
-
-msgid "Print job sent."
-msgstr "Skriverjobb sendt."
-
-#, c-format
 msgid "Current %slanguage: \"%s\""
 msgstr "Nåværende %sspråk: \"%s\""
 
@@ -933,7 +1118,6 @@ msgstr "E197: Kan ikke sette språk til \"%s\""
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "Går inn i Ex-modus. Skriv \"visual\" for å gå til normalmodus."
 
-#. must be at EOF
 msgid "E501: At end-of-file"
 msgstr "E501: Ved slutten av filen"
 
@@ -1010,18 +1194,8 @@ msgstr "E177: Antall repeteringer kan ik
 msgid "E178: Invalid default value for count"
 msgstr "E178: Ugyldig standardverdi for antall repeteringer"
 
-msgid "E179: argument required for complete"
-msgstr "E179: Trenger parameter til \"complete\""
-
-#, c-format
-msgid "E180: Invalid complete value: %s"
-msgstr "E180: Ugyldig \"complete\"-verdi: %s"
-
-msgid "E468: Completion argument only allowed for custom completion"
-msgstr "E468: Fullføringsparameter er bare tillatt for tilpasset fullføring"
-
-msgid "E467: Custom completion requires a function argument"
-msgstr "E467: Tilpassede fullføringer trenger et funksjonsparameter"
+msgid "E179: argument required for -complete"
+msgstr "E179: Trenger parameter til -complete"
 
 #, c-format
 msgid "E181: Invalid attribute: %s"
@@ -1038,21 +1212,48 @@ msgid "E184: No such user-defined comman
 msgstr "E184: Brukerdefinert kommando finnes ikke: %s"
 
 #, c-format
+msgid "E180: Invalid complete value: %s"
+msgstr "E180: Ugyldig \"complete\"-verdi: %s"
+
+msgid "E468: Completion argument only allowed for custom completion"
+msgstr "E468: Fullføringsparameter er bare tillatt for tilpasset fullføring"
+
+msgid "E467: Custom completion requires a function argument"
+msgstr "E467: Tilpassede fullføringer trenger et funksjonsparameter"
+
+#, c-format
 msgid "E185: Cannot find color scheme %s"
 msgstr "E185: Kan ikke finne fargeoppsettet %s"
 
 msgid "Greetings, Vim user!"
 msgstr "Vær hilset, Vim-bruker!"
 
+#, fuzzy
+#~ msgid "E784: Cannot close last tab page"
+#~ msgstr "E444: Kan ikke lukke det siste vinduet"
+
+#, fuzzy
+#~ msgid "Already only one tab page"
+#~ msgstr "Allerede bare ett vindu"
+
 msgid "Edit File in new window"
 msgstr "Rediger fil i nytt vindu"
 
+#, fuzzy, c-format
+#~ msgid "Tab page %d"
+#~ msgstr "Side %d"
+
 msgid "No swap file"
 msgstr "Ingen swapfil"
 
 msgid "Append File"
 msgstr "Legg til fil"
 
+msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgstr ""
+"E747: Kan ikke skifte katalog, bufferen er forandret (legg til ! for å "
+"overstyre)"
+
 msgid "E186: No previous directory"
 msgstr "E186: Ingen tidligere katalog"
 
@@ -1086,6 +1287,10 @@ msgid "Save Setup"
 msgstr "Lagre oppsett"
 
 #, c-format
+msgid "E739: Cannot create directory: %s"
+msgstr "E739: Kan ikke lage katalog: %s"
+
+#, c-format
 msgid "E189: \"%s\" exists (add ! to override)"
 msgstr "E189: \"%s\" finnes (legg til ! for å overstyre)"
 
@@ -1201,14 +1406,20 @@ msgstr "E583: Flere forekomster av :else
 msgid "E584: :elseif after :else"
 msgstr "E584: :elseif etter :else"
 
-msgid "E585: :while nesting too deep"
-msgstr "E585: Nøsting av :while for dyp"
-
-msgid "E586: :continue without :while"
-msgstr "E586: :continue uten :while"
-
-msgid "E587: :break without :while"
-msgstr "E587: :break uten :while"
+msgid "E585: :while/:for nesting too deep"
+msgstr "E585: Nøsting av :while/:for er for dyp"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: :continue uten :while eller :for"
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: :break uten :while eller :for"
+
+msgid "E732: Using :endfor with :while"
+msgstr "E732: Bruker :endfor sammen med :while"
+
+msgid "E733: Using :endwhile with :for"
+msgstr "E733: Bruker :endwhile sammen med :for"
 
 msgid "E601: :try nesting too deep"
 msgstr "E601: Nøsting av :try for dyp"
@@ -1234,6 +1445,9 @@ msgstr "E602: :endtry uten :try"
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction er ikke innenfor en funksjon"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: Ikke tillatt å redigere en annen buffer nå"
+
 msgid "tagname"
 msgstr "navn på tag"
 
@@ -1278,9 +1492,18 @@ msgstr "er en katalog"
 msgid "is not a file"
 msgstr "er ikke en fil"
 
+msgid "is a device (disabled with 'opendevice' option"
+msgstr "er en enhet (frakoblet med 'opendevice'-valg"
+
 msgid "[New File]"
 msgstr "[Ny fil]"
 
+msgid "[New DIRECTORY]"
+msgstr "[Ny KATALOG]"
+
+msgid "[File too big]"
+msgstr "[Filen er for stor]"
+
 msgid "[Permission Denied]"
 msgstr "[Tilgang nektet]"
 
@@ -1330,8 +1553,9 @@ msgstr "[konvertert]"
 msgid "[crypted]"
 msgstr "[kryptert]"
 
-msgid "[CONVERSION ERROR]"
-msgstr "[KONVERTERINGSFEIL]"
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[KONVERTERINGSFEIL i linje %ld]"
 
 #, c-format
 msgid "[ILLEGAL BYTE in line %ld]"
@@ -1349,6 +1573,9 @@ msgstr "Konvertering med 'charconvert' f
 msgid "can't read output of 'charconvert'"
 msgstr "Kan ikke lese utdata fra 'charconvert'"
 
+msgid "E676: No matching autocommands for acwrite buffer"
+msgstr "E676: Ingen samsvarende autokommandoer for 'acwrite'-buffer"
+
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
 msgstr "E203: Autokommandoer slettet eller lastet ut buffer som skulle lagres"
 
@@ -1364,6 +1591,9 @@ msgstr "Delvis lagring ikke tillatt for 
 msgid "is not a file or writable device"
 msgstr "er ikke en fil eller skrivbar enhet"
 
+msgid "writing to device disabled with 'opendevice' option"
+msgstr "skriving til enhet er slått av med 'opendevice'-valg"
+
 msgid "is read-only (add ! to override)"
 msgstr "er skrivebeskyttet (legg til ! for å overstyre)"
 
@@ -1403,8 +1633,10 @@ msgstr "E667: Fsync feilet"
 msgid "E512: Close failed"
 msgstr "E512: Lukking feilet"
 
-msgid "E513: write error, conversion failed"
-msgstr "E513: Feil under skriving, konvertering feilet"
+msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
+msgstr ""
+"E513: Feil under skriving, konvertering feilet (gjør 'fenc' tom for å "
+"overstyre)"
 
 msgid "E514: write error (file system full?)"
 msgstr "E514: Feil under lagring (full disk?)"
@@ -1512,8 +1744,8 @@ msgid "E246: FileChangedShell autocomman
 msgstr "E246: Autokommandoen \"FileChangedShell\" slettet buffer"
 
 #, c-format
-msgid "E211: Warning: File \"%s\" no longer available"
-msgstr "E211: Advarsel: Filen \"%s\" er ikke lenger tilgjengelig"
+msgid "E211: File \"%s\" no longer available"
+msgstr "E211: Filen \"%s\" er ikke lenger tilgjengelig"
 
 #, c-format
 msgid ""
@@ -1522,24 +1754,30 @@ msgid ""
 msgstr ""
 "W12: Advarsel: Filen \"%s\" er forandret og bufferen var også forandret i Vim"
 
+msgid "See \":help W12\" for more info."
+msgstr "Se \":help W12\" for mer informasjon."
+
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
 msgstr "W11: Advarsel: Filen \"%s\" er forandret siden redigeringen startet"
 
+msgid "See \":help W11\" for more info."
+msgstr "Se \":help W11\" for mer informasjon."
+
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
 msgstr ""
 "W16: Advarsel: Rettighetene til filen \"%s\" er forandret siden redigeringen "
 "startet"
 
+msgid "See \":help W16\" for more info."
+msgstr "Se \":help W16\" for mer informasjon."
+
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
 msgstr ""
 "W13: Advarsel: Filen \"%s\" er blitt opprettet etter at redigeringen startet"
 
-msgid "See \":help W11\" for more info."
-msgstr "Se \":help W11\" for mer informasjon."
-
 msgid "Warning"
 msgstr "Advarsel"
 
@@ -1561,6 +1799,10 @@ msgstr "E321: Kunne ikke laste \"%s\" på nytt"
 msgid "--Deleted--"
 msgstr "--Slettet--"
 
+#, c-format
+msgid "auto-removing autocommand: %s <buffer=%d>"
+msgstr "fjerner autokommando automatisk: %s <buffer=%d>"
+
 #. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
@@ -1586,6 +1828,10 @@ msgstr ""
 "\n"
 "--- Autokommandoer ---"
 
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <buffer=%d>: Ugyldig buffernummer"
+
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Kan ikke utføre autokommandoer for ALLE hendelser"
 
@@ -1603,7 +1849,6 @@ msgstr "%s Autokommandoer for \"%s\""
 msgid "Executing %s"
 msgstr "Utfører %s"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "autocommand %s"
 msgstr "autokommando %s"
@@ -1623,8 +1868,12 @@ msgstr "E350: Kan ikke lage fold med nåværende 'foldmethod'"
 msgid "E351: Cannot delete fold with current 'foldmethod'"
 msgstr "E351: Kan ikke slette fold med nåværende 'foldmethod'"
 
-#~ msgid "E222: Add to read buffer"
-#~ msgstr ""
+#, c-format
+msgid "+--%3ld lines folded "
+msgstr "+--%3ld linjer foldet "
+
+msgid "E222: Add to read buffer"
+msgstr "E222: Legger til allerede lest buffer"
 
 msgid "E223: recursive mapping"
 msgstr "E223: Rekursiv mapping"
@@ -1675,6 +1924,9 @@ msgstr "E599: Verdien for 'imactivatekey
 msgid "E254: Cannot allocate color %s"
 msgstr "E254: Kan ikke reservere farge %s"
 
+msgid "No match at cursor, finding next"
+msgstr "Ingen treff ved markøren, finner neste"
+
 msgid "<cannot open> "
 msgstr "<kan ikke åpne> "
 
@@ -1718,8 +1970,8 @@ msgstr ""
 "&Nei\n"
 "&Avbryt"
 
-#~ msgid "Input _Methods"
-#~ msgstr ""
+msgid "Input _Methods"
+msgstr "Inndata-_metoder"
 
 msgid "VIM - Search and Replace..."
 msgstr "VIM - Søk og erstatt ..."
@@ -1763,6 +2015,15 @@ msgstr "Erstatt alle"
 msgid "Vim: Received \"die\" request from session manager\n"
 msgstr "Vim: Mottok \"dø\"-forespørsel fra øktbehandleren\n"
 
+msgid "Close"
+msgstr "Lukk"
+
+#~ msgid "New tab"
+#~ msgstr ""
+
+#~ msgid "Open Tab..."
+#~ msgstr ""
+
 msgid "Vim: Main window unexpectedly destroyed\n"
 msgstr "Vim: Uventet ødeleggelse av hovedvinduet\n"
 
@@ -1772,23 +2033,41 @@ msgstr "Velge skrifttype"
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "Brukte CUT_BUFFER0 istedenfor tomt valg"
 
-msgid "Filter"
-msgstr "Filter"
+msgid "&Filter"
+msgstr "&Filter"
+
+msgid "&Cancel"
+msgstr "&Avbryt"
 
 msgid "Directories"
 msgstr "Kataloger"
 
-msgid "Help"
-msgstr "Hjelp"
+msgid "Filter"
+msgstr "Filter"
+
+msgid "&Help"
+msgstr "&Hjelp"
 
 msgid "Files"
 msgstr "Filer"
 
+msgid "&OK"
+msgstr "&OK"
+
 msgid "Selection"
 msgstr "Valg"
 
-msgid "Undo"
-msgstr "Angre"
+msgid "Find &Next"
+msgstr "Finn &neste"
+
+msgid "&Replace"
+msgstr "E&rstatt"
+
+msgid "Replace &All"
+msgstr "Erstatt &alle"
+
+msgid "&Undo"
+msgstr "&Angre"
 
 #, c-format
 msgid "E610: Can't load Zap font '%s'"
@@ -1816,12 +2095,26 @@ msgstr "E243: Parameter ikke støttet: \"-%s\"; Bruk OLE-versjonen."
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: Klarer ikke åpne vindu inne i MDI-applikasjon"
 
+#~ msgid "Close tab"
+#~ msgstr ""
+
+#~ msgid "Open tab..."
+#~ msgstr ""
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "Finn streng (bruk '\\\\' for å finne en '\\')"
 
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Søk og erstatt (bruk '\\\\' for å finne en '\\')"
 
+#. 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 "Ikke brukt"
+
+msgid "Directory\t*.nothing\n"
+msgstr "Katalog\t*.ingenting\n"
+
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
 msgstr "Vim E458: Kan ikke reservere fargekart, noen farger kan være feil"
 
@@ -1865,9 +2158,133 @@ msgstr ""
 "Font1-bredde: %ld\n"
 "\n"
 
+msgid "Invalid font specification"
+msgstr "Ugyldig skrifttypespesifisering"
+
+msgid "&Dismiss"
+msgstr "&Forkast"
+
+msgid "no specific match"
+msgstr "ingen spesifikke treff"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - Skrifttypevelger"
+
+msgid "Name:"
+msgstr "Navn:"
+
+#. create toggle button
+msgid "Show size in Points"
+msgstr "Vis størrelse i punkter"
+
+msgid "Encoding:"
+msgstr "Koding:"
+
+msgid "Font:"
+msgstr "Skrifttype:"
+
+msgid "Style:"
+msgstr "Stil:"
+
+msgid "Size:"
+msgstr "Størrelse:"
+
 #~ msgid "E256: Hangul automata ERROR"
 #~ msgstr ""
 
+msgid "E550: Missing colon"
+msgstr "E550: Mangler kolon"
+
+msgid "E551: Illegal component"
+msgstr "E551: Ulovlig komponent"
+
+msgid "E552: digit expected"
+msgstr "E552: Siffer forventet"
+
+#, c-format
+msgid "Page %d"
+msgstr "Side %d"
+
+msgid "No text to be printed"
+msgstr "Ingen tekst for utskrift"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Skriver ut side %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Kopi %d av %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Skrevet ut: %s"
+
+msgid "Printing aborted"
+msgstr "Utskrift avbrutt"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Feil under skriving til Postscript-fil"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Kan ikke åpne filen \"%s\""
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: Kan ikke lese Postscript-ressursfil \"%s\""
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: Filen \"%s\" er ikke en Postscript-ressursfil"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: Det er ikke støtte for Postscript-ressursfilen \"%s\""
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: Ressursfilen \"%s\" er feil versjon"
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Inkompatibel multibytekoding og tegnsett"
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr "E674: printmbcharset kan ikke være tom med multibytekoding"
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr "E675: Ingen standardfont spesifisert for multibyteutskrift"
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: Kan ikke åpne Postscript-fil for skriving"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Kan ikke åpne filen \"%s\""
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: Fant ikke Postscript-ressursfilen \"prolog.ps\""
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr "E456: Fant ikke Postscript-ressursfilen \"cidfont.ps\""
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: Fant ikke Postscript-ressursfilen \"%s.ps\""
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: Klarte ikke å konvertere til utskriftskoding \"%s\""
+
+msgid "Sending to printer..."
+msgstr "Sender til skriver ..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: Feil under utskrift av Postscript-fil"
+
+msgid "Print job sent."
+msgstr "Skriverjobb sendt."
+
 msgid "Add a new database"
 msgstr "Legg til en ny database"
 
@@ -2010,6 +2427,63 @@ msgid " # pid    database name          
 msgstr " # pid    databasenavn                        legg til sti\n"
 
 msgid ""
+"???: Sorry, this command is disabled, the MzScheme library could not be "
+"loaded."
+msgstr ""
+"???: Denne kommandoen er deaktivert, MzScheme-biblioteket kunne ikke lastes."
+
+msgid "invalid expression"
+msgstr "ugyldig uttrykk"
+
+msgid "expressions disabled at compile time"
+msgstr "uttrykk deaktivert på kompileringsstadiet"
+
+msgid "hidden option"
+msgstr "skjult valg"
+
+msgid "unknown option"
+msgstr "ukjent valg"
+
+msgid "window index is out of range"
+msgstr "indeks for vindu er utenfor område"
+
+msgid "couldn't open buffer"
+msgstr "klarte ikke å åpne buffer"
+
+msgid "cannot save undo information"
+msgstr "kan ikke lagre angre-informasjon"
+
+msgid "cannot delete line"
+msgstr "kan ikke slette linje"
+
+msgid "cannot replace line"
+msgstr "kan ikke erstatte linje"
+
+msgid "cannot insert line"
+msgstr "kan ikke sette inn linje"
+
+msgid "string cannot contain newlines"
+msgstr "streng kan ikke inneholde linjeskift"
+
+msgid "Vim error: ~a"
+msgstr "Vim-feil: ~a"
+
+msgid "Vim error"
+msgstr "Vim-feil"
+
+msgid "buffer is invalid"
+msgstr "buffer er ugyldig"
+
+msgid "window is invalid"
+msgstr "vindu er ugyldig"
+
+msgid "linenr out of range"
+msgstr "linjenummer utenfor område"
+
+msgid "not allowed in the Vim sandbox"
+msgstr "ikke tillatt i Vim-sandkassen"
+
+msgid ""
 "E263: Sorry, this command is disabled, the Python library could not be "
 "loaded."
 msgstr ""
@@ -2033,12 +2507,6 @@ msgstr "writelines() krever en liste av 
 msgid "E264: Python: Error initialising I/O objects"
 msgstr "E264: Python: Feil under initialisering av I/U-objekter"
 
-msgid "invalid expression"
-msgstr "ugyldig uttrykk"
-
-msgid "expressions disabled at compile time"
-msgstr "uttrykk deaktivert på kompileringsstadiet"
-
 msgid "attempt to refer to deleted buffer"
 msgstr "forsøk på å referere til slettet buffer"
 
@@ -2079,26 +2547,32 @@ msgstr "<vindu %d>"
 msgid "no such window"
 msgstr "vinduet finnes ikke"
 
-msgid "cannot save undo information"
-msgstr "kan ikke lagre angre-informasjon"
-
-msgid "cannot delete line"
-msgstr "kan ikke slette linje"
-
-msgid "cannot replace line"
-msgstr "kan ikke erstatte linje"
-
-msgid "cannot insert line"
-msgstr "kan ikke sette inn linje"
-
-msgid "string cannot contain newlines"
-msgstr "streng kan ikke inneholde linjeskift"
+#~ msgid "E265: $_ must be an instance of String"
+#~ msgstr ""
 
 msgid ""
 "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
 msgstr ""
 "E266: Denne kommandoen er deaktivert, Ruby-biblioteket kunne ikke lastes."
 
+msgid "E267: unexpected return"
+msgstr "E267: Uventet return"
+
+msgid "E268: unexpected next"
+msgstr "E268: Uvented next"
+
+msgid "E269: unexpected break"
+msgstr "E269: Uventet break"
+
+msgid "E270: unexpected redo"
+msgstr "E270: Uventet redo"
+
+#~ msgid "E271: retry outside of rescue clause"
+#~ msgstr ""
+
+msgid "E272: unhandled exception"
+msgstr "E272: Ubehandlet unntak"
+
 #, c-format
 msgid "E273: unknown longjmp status %d"
 msgstr "E273: Ukjent longjmp-status %d"
@@ -2198,9 +2672,6 @@ msgstr "ugyldig buffernummer"
 msgid "not implemented yet"
 msgstr "ikke implementert enda"
 
-msgid "unknown option"
-msgstr "ukjent valg"
-
 #. ???
 msgid "cannot set line(s)"
 msgstr "kan ikke sette linje(r)"
@@ -2258,6 +2729,10 @@ msgstr ""
 "E281: TCL-FEIL: Avslutningskode er ikke int!? Vennligst rapporter dette til "
 "vim-dev@vim.org"
 
+#, c-format
+msgid "E572: exit code %d"
+msgstr "E572: Avslutningskode %d"
+
 msgid "cannot get line"
 msgstr "kan ikke hente linje"
 
@@ -2271,11 +2746,12 @@ msgstr "E248: Klarte ikke sende kommando
 msgid "E573: Invalid server id used: %s"
 msgstr "E573: Ugyldig tjener-id brukt: %s"
 
-#~ msgid "E251: VIM instance registry property is badly formed.  Deleted!"
-#~ msgstr ""
-
-msgid "Unknown option"
-msgstr "Ukjent valg"
+msgid "E251: VIM instance registry property is badly formed.  Deleted!"
+msgstr ""
+"E251: Registry-egenskapen for VIM-oppføringen er ikke korrekt. Slettet!"
+
+msgid "Unknown option argument"
+msgstr "Ukjent parameter til valg"
 
 msgid "Too many edit arguments"
 msgstr "For mange redigeringsparametere"
@@ -2283,8 +2759,8 @@ msgstr "For mange redigeringsparametere"
 msgid "Argument missing after"
 msgstr "Parameter mangler etter"
 
-msgid "Garbage after option"
-msgstr "Søppel etter valg"
+msgid "Garbage after option argument"
+msgstr "Søppel etter valgparameter"
 
 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
 msgstr ""
@@ -2293,6 +2769,10 @@ msgstr ""
 msgid "Invalid argument for"
 msgstr "Ugyldig parameter for"
 
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d filer å redigere\n"
+
 msgid "This Vim was not compiled with the diff feature."
 msgstr "Denne Vim-versjonen er kompilert uten differansefunksjonen."
 
@@ -2305,9 +2785,8 @@ msgstr "Kan ikke åpne for lesing: \""
 msgid "Cannot open for script output: \""
 msgstr "Kan ikke åpne for skript-utdata: \""
 
-#, c-format
-msgid "%d files to edit\n"
-msgstr "%d filer å redigere\n"
+msgid "Vim: Error: Failure to start gvim from NetBeans\n"
+msgstr "Vim: Feil: Feil under start av gvim fra NetBeans\n"
 
 msgid "Vim: Warning: Output is not to a terminal\n"
 msgstr "Vim: Advarsel: Utdata går ikke til en terminal\n"
@@ -2361,6 +2840,11 @@ msgstr ""
 "\n"
 "   eller:"
 
+msgid "where case is ignored prepend / to make flag upper case"
+msgstr ""
+"der bokstavstørrelse ignoreres, legg til / i begynnelsen for\n"
+"å gjøre flagget om til stor bokstav"
+
 msgid ""
 "\n"
 "\n"
@@ -2455,7 +2939,7 @@ msgid "-A\t\t\tstart in Arabic mode"
 msgstr "-A\t\t\tStart i arabisk modus"
 
 msgid "-H\t\t\tStart in Hebrew mode"
-msgstr "-H\t\t\tStart in hebraisk modus"
+msgstr "-H\t\t\tStart i hebraisk modus"
 
 msgid "-F\t\t\tStart in Farsi mode"
 msgstr "-F\t\t\tStart i persisk (Farsi) modus"
@@ -2472,6 +2956,10 @@ msgstr "-U <gvimrc>\t\tBruk <gvimrc> ist
 msgid "--noplugin\t\tDon't load plugin scripts"
 msgstr "--noplugin\t\tIkke last plugin-skripts"
 
+#, fuzzy
+#~ msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+#~ msgstr "-o[N]\t\tÅpne N vinduer (standard: Ett for hver fil)"
+
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr "-o[N]\t\tÅpne N vinduer (standard: Ett for hver fil)"
 
@@ -2488,7 +2976,7 @@ msgid "--cmd <command>\tExecute <command
 msgstr "--cmd <kommando>\tKjør <kommando> før lasting av vimrc-filer"
 
 msgid "-c <command>\t\tExecute <command> after loading the first file"
-msgstr "-c <kommando>\t\tKjør <kommando> etter lasting av første fil"
+msgstr "-c <kommando>\tKjør <kommando> etter lasting av første fil"
 
 msgid "-S <session>\t\tSource file <session> after loading the first file"
 msgstr "-S <økt>\t\tKjør filen <økt> etter lasting av første fil"
@@ -2526,6 +3014,11 @@ msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-wait-silent <files>  Samme, ikke klag hvis tjeneren mangler"
 
+#, fuzzy
+#~ msgid "--remote-tab <files>  As --remote but open tab page for each file"
+#~ msgstr ""
+#~ "--remote-wait <filer>  Som --remote men vent på filer som blir redigert"
+
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <nøkler>\tSend <nøkler> til en Vim-tjener og avslutt"
 
@@ -2707,6 +3200,7 @@ msgstr ""
 "\n"
 "forand linje kol tekst"
 
+#, c-format
 msgid ""
 "\n"
 "# File marks:\n"
@@ -2715,6 +3209,7 @@ msgstr ""
 "# Filmerker:\n"
 
 #. Write the jumplist with -'
+#, c-format
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -2722,6 +3217,7 @@ msgstr ""
 "\n"
 "# Hoppliste (nyeste først):\n"
 
+#, c-format
 msgid ""
 "\n"
 "# History of marks within files (newest to oldest):\n"
@@ -2738,8 +3234,8 @@ msgstr "E543: Er ikke en gyldig codepage
 msgid "E284: Cannot set IC values"
 msgstr "E284: Kan ikke sette IC-verdier (\"Input Context\")"
 
-#~ msgid "E285: Failed to create input context"
-#~ msgstr ""
+msgid "E285: Failed to create input context"
+msgstr "E285: Klarte ikke opprette inndatakontekst"
 
 msgid "E286: Failed to open input method"
 msgstr "E286: Klarte ikke åpne inndatametode"
@@ -2748,11 +3244,11 @@ msgid "E287: Warning: Could not set dest
 msgstr ""
 "E287: Advarsel: Klarte ikke sette \"destroy callback\" til inndatametode"
 
-#~ msgid "E288: input method doesn't support any style"
-#~ msgstr ""
-
-#~ msgid "E289: input method doesn't support my preedit type"
-#~ msgstr ""
+msgid "E288: input method doesn't support any style"
+msgstr "E288: Inndatametode støtter ikke enhver stil"
+
+msgid "E289: input method doesn't support my preedit type"
+msgstr "E289: Inndatametode støtter ikke min \"preedit\" type"
 
 msgid "E290: over-the-spot style requires fontset"
 msgstr "E290: \"over-the-spot\"-stil trenger et skrifttypesett"
@@ -2801,8 +3297,8 @@ msgstr "E302: Klarte ikke skifte navn på swapfil"
 msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
 msgstr "E303: Klarte ikke åpne swapfil for \"%s\", gjenoppretting umulig"
 
-msgid "E304: ml_timestamp: Didn't get block 0??"
-msgstr "E304: ml_timestamp: Hentet ikke blokk 0??"
+msgid "E304: ml_upd_block0(): Didn't get block 0??"
+msgstr "E304: ml_upd_block0(): Hentet ikke blokk 0??"
 
 #, c-format
 msgid "E305: No swap file found for %s"
@@ -3073,6 +3569,10 @@ msgstr "Stackstørrelse øker"
 msgid "E317: pointer block id wrong 2"
 msgstr "E317: Pekerblokk-id feil 2"
 
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Symlenkesløyfe for \"%s\""
+
 msgid "E325: ATTENTION"
 msgstr "E325: VIKTIG"
 
@@ -3161,16 +3661,16 @@ msgid ""
 "&Open Read-Only\n"
 "&Edit anyway\n"
 "&Recover\n"
+"&Delete it\n"
 "&Quit\n"
-"&Abort\n"
-"&Delete it"
+"&Abort"
 msgstr ""
 "&Åpne skrivebeskyttet\n"
 "&Rediger likevel\n"
 "&Gjenopprett\n"
+"&Slett den\n"
 "&Avslutt\n"
-"Av&bryt\n"
-"&Slette den"
+"Av&bryt"
 
 msgid "E326: Too many swap files found"
 msgstr "E326: For mange swapfiler funnet"
@@ -3181,8 +3681,13 @@ msgstr "E327: Del av menyelement er ikke
 msgid "E328: Menu only exists in another mode"
 msgstr "E328: Menyen eksisterer bare i en annen modus"
 
-msgid "E329: No menu of that name"
-msgstr "E329: Ingen meny med dette navnet"
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Ingen \"%s\"-meny"
+
+#. Only a mnemonic or accelerator is not valid.
+msgid "E792: Empty menu name"
+msgstr "E792: Tomt menynavn"
 
 msgid "E330: Menu path must not lead to a sub-menu"
 msgstr "E330: Menysti kan ikke lede til en undermeny"
@@ -3230,8 +3735,9 @@ msgstr "Feil oppdaget under prosessering
 msgid "line %4ld:"
 msgstr "linje %4ld:"
 
-msgid "[string too long]"
-msgstr "[strengen er for lang]"
+#, c-format
+msgid "E354: Invalid register name: '%s'"
+msgstr "E354: Ugyldig registernavn: '%s'"
 
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
 msgstr ""
@@ -3240,22 +3746,18 @@ msgstr ""
 msgid "Interrupt: "
 msgstr "Avbryt: "
 
-msgid "Hit ENTER to continue"
-msgstr "Trykk ENTER for å fortsette"
-
-msgid "Hit ENTER or type command to continue"
-msgstr "Trykk ENTER eller skriv en kommando for å fortsette"
+msgid "Press ENTER or type command to continue"
+msgstr "Trykk ENTER eller skriv kommando for å fortsette"
+
+#, c-format
+msgid "%s line %ld"
+msgstr "%s linje %ld"
 
 msgid "-- More --"
 msgstr "-- Mer --"
 
-msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)"
-msgstr ""
-" (ENTER/BACKSPACE: Linje, MELLOMROM/b: Side, Pil ned/Pil opp: Halv side, q: "
-"Avslutt)"
-
-msgid " (RET: line, SPACE: page, d: half page, q: quit)"
-msgstr " (ENTER: Linje, MELLOMROM: Side, d: Halv side, q: Avslutt)"
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr "MELLOMROM/d/j: Skjerm/side/linje ned, b/u/k: Opp, q: Avslutt "
 
 msgid "Question"
 msgstr "Spørsmål"
@@ -3280,6 +3782,9 @@ msgstr ""
 "&Forkast alle\n"
 "&Avbryt"
 
+msgid "Select Directory dialog"
+msgstr "\"Velge katalog\"-dialogvindu"
+
 msgid "Save File dialog"
 msgstr "\"Lagre fil\"-dialogvindu"
 
@@ -3290,9 +3795,21 @@ msgstr "\"Åpne fil\"-dialogvindu"
 msgid "E338: Sorry, no file browser in console mode"
 msgstr "E338: Dessverre ingen filbehandler i konsollmodus"
 
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Ikke nok parametre for printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: For mange parametere for printf()"
+
 msgid "W10: Warning: Changing a readonly file"
 msgstr "W10: Advarsel: Forandrer en skrivebeskyttet fil"
 
+msgid "Type number or click with mouse (<Enter> cancels): "
+msgstr "Skriv nummer eller velg med musen (<Enter> avbryter)"
+
+msgid "Choice number (<Enter> cancels): "
+msgstr "Valgnummer (<Enter> avbryter)"
+
 msgid "1 more line"
 msgstr "1 linje lagt til"
 
@@ -3310,6 +3827,9 @@ msgstr "%ld linjer fjernet"
 msgid " (Interrupted)"
 msgstr " (Avbrutt)"
 
+msgid "Beep!"
+msgstr "Pip!"
+
 msgid "Vim: preserving files...\n"
 msgstr "Vim: Bevarer filer ...\n"
 
@@ -3317,6 +3837,7 @@ msgstr "Vim: Bevarer filer ...\n"
 msgid "Vim: Finished.\n"
 msgstr "Vim: Ferdig.\n"
 
+#, c-format
 msgid "ERROR: "
 msgstr "FEIL: "
 
@@ -3399,15 +3920,6 @@ msgstr "E346: Ingen flere katalog-\"%s\"
 msgid "E347: No more file \"%s\" found in path"
 msgstr "E347: Ingen flere fil-\"%s\" funnet i stien"
 
-msgid "E550: Missing colon"
-msgstr "E550: Mangler kolon"
-
-msgid "E551: Illegal component"
-msgstr "E551: Ulovlig komponent"
-
-msgid "E552: digit expected"
-msgstr "E552: Siffer forventet"
-
 #. Get here when the server can't be found.
 msgid "Cannot connect to Netbeans #2"
 msgstr "Kan ikke koble til Netbeans #2"
@@ -3427,6 +3939,15 @@ msgstr "les fra Netbeans-socket"
 msgid "E658: NetBeans connection lost for buffer %ld"
 msgstr "E658: Mistet NetBeans-forbindelse for buffer %ld"
 
+msgid "E505: "
+msgstr "E505: "
+
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' er tomt"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: Eval-funksjonaliteten er ikke tilgjengelig"
+
 msgid "Warning: terminal cannot highlight"
 msgstr "Advarsel: Terminalen kan ikke utheve"
 
@@ -3478,6 +3999,9 @@ msgstr "1 linje rykket inn "
 msgid "%ld lines indented "
 msgstr "%ld linjer rykket inn "
 
+msgid "E748: No previously used register"
+msgstr "E748: Register ikke tidligere brukt"
+
 #. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "kan ikke kopiere til utklippstavle; slett likevel"
@@ -3493,10 +4017,17 @@ msgstr "%ld linjer forandret"
 msgid "freeing %ld lines"
 msgstr "frigjør %ld linjer"
 
+msgid "block of 1 line yanked"
+msgstr "blokk med 1 linje kopiert til utklippstavlen"
+
 msgid "1 line yanked"
 msgstr "1 linje kopiert til utklippstavlen"
 
 #, c-format
+msgid "block of %ld lines yanked"
+msgstr "blokk med %ld linjer kopiert til utklippstavlen"
+
+#, c-format
 msgid "%ld lines yanked"
 msgstr "%ld linjer kopiert til utklippstavlen"
 
@@ -3515,6 +4046,7 @@ msgstr ""
 msgid "Illegal register name"
 msgstr "Ulovlig registernavn"
 
+#, c-format
 msgid ""
 "\n"
 "# Registers:\n"
@@ -3527,10 +4059,6 @@ msgid "E574: Unknown register type %d"
 msgstr "E574: Ukjent registertype %d"
 
 #, c-format
-msgid "E354: Invalid register name: '%s'"
-msgstr "E354: Ugyldig registernavn: '%s'"
-
-#, c-format
 msgid "%ld Cols; "
 msgstr "%ld Kol; "
 
@@ -3539,10 +4067,25 @@ msgid "Selected %s%ld of %ld Lines; %ld 
 msgstr "Valgte %s%ld av %ld linjer; %ld av %ld ord; %ld av %ld bytes"
 
 #, c-format
+msgid ""
+"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
+"Bytes"
+msgstr ""
+"Valgte %s%ld av %ld linjer; %ld av %ld ord; %ld av %ld tegn; %ld av %ld bytes"
+
+#, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
 msgstr "Kol %s av %s; Linje %ld av %ld; Ord %ld av %ld; Byte %ld av %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 av %s; linje %ld av %ld; ord %ld av %ld; tegn %ld av %ld; byte %ld av "
+"%ld"
+
+#, c-format
 msgid "(+%ld for BOM)"
 msgstr "(+%ld for BOM)"
 
@@ -3561,13 +4104,6 @@ msgstr "E519: Valget er ikke støttet"
 msgid "E520: Not allowed in a modeline"
 msgstr "E520: Ikke tillatt i moduslinje"
 
-msgid ""
-"\n"
-"\tLast set from "
-msgstr ""
-"\n"
-"\tSist satt fra "
-
 msgid "E521: Number required after ="
 msgstr "E521: Nummer nødvendig etter ="
 
@@ -3755,8 +4291,8 @@ msgstr "ANCHOR_BUF_SIZE for liten."
 msgid "I/O ERROR"
 msgstr "I/U-FEIL"
 
-msgid "...(truncated)"
-msgstr " ...(kuttet)"
+msgid "Message"
+msgstr "Melding"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' er ikke 80, kan ikke utføre eksterne kommandoer"
@@ -3776,9 +4312,6 @@ msgstr "E613: Ukjent skrifttype for skri
 msgid "E238: Print error: %s"
 msgstr "E238: Feil under utskrift: %s"
 
-msgid "Unknown"
-msgstr "Ukjent"
-
 #, c-format
 msgid "Printing '%s'"
 msgstr "Skriver ut '%s'"
@@ -3801,6 +4334,7 @@ msgstr "Vim: Dobbelt signal, avslutter\n
 msgid "Vim: Caught deadly signal %s\n"
 msgstr "Vim: Mottok dødelig signal %s\n"
 
+#, c-format
 msgid "Vim: Caught deadly signal\n"
 msgstr "Vim: Mottok dødelig signal\n"
 
@@ -3866,6 +4400,10 @@ msgstr ""
 msgid "XSMP lost ICE connection"
 msgstr "XSMP mistet ICE-forbindelsen"
 
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
+
 msgid "Opening the X display failed"
 msgstr "Åpning av X-display feilet"
 
@@ -3885,15 +4423,12 @@ msgstr "XSMP SmcOpenConnection feilet: %
 msgid "At line"
 msgstr "På linje"
 
-msgid "Could not allocate memory for command line."
-msgstr "Klarte ikke reservere hukommelse for kommandolinjen."
+msgid "Could not load vim32.dll!"
+msgstr "Klarte ikke laste vim32.dll!"
 
 msgid "VIM Error"
 msgstr "VIM-feil"
 
-msgid "Could not load vim32.dll!"
-msgstr "Klarte ikke laste vim32.dll!"
-
 msgid "Could not fix up function pointers to the DLL!"
 msgstr "Klarte ikke ordne opp i funksjonspekere til DLL-en!"
 
@@ -3981,6 +4516,19 @@ msgstr "feilliste %d av %d; %d feil"
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: Kan ikke lagre, 'buftype'-valget er satt"
 
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: Filnavn mangler eller ugyldig søkestreng"
+
+#, c-format
+msgid "Cannot open file \"%s\""
+msgstr "Kan ikke åpne filen \"%s\""
+
+msgid "E681: Buffer is not loaded"
+msgstr "E681: Bufferen er ikke lastet"
+
+msgid "E777: String or List expected"
+msgstr "E777: Streng eller liste forventet"
+
 #, c-format
 msgid "E369: invalid item in %s%%[]"
 msgstr "E369: Ugyldig element i %s%%[]"
@@ -4011,22 +4559,10 @@ msgid "E55: Unmatched %s)"
 msgstr "E55: Usamsvarende %s)"
 
 #, c-format
-msgid "E56: %s* operand could be empty"
-msgstr "E56: \"%s*\"-operatoren kunne være tom"
-
-#, c-format
-msgid "E57: %s+ operand could be empty"
-msgstr "E57: \"%s+\"-operatoren kunne være tom"
-
-#, c-format
 msgid "E59: invalid character after %s@"
 msgstr "E59: Ugyldig tegn etter %s@"
 
 #, c-format
-msgid "E58: %s{ operand could be empty"
-msgstr "E58: \"%s{\"-operatoren kunne være tom"
-
-#, c-format
 msgid "E60: Too many complex %s{...}s"
 msgstr "E60: For mange komplekse %s{...}s"
 
@@ -4066,26 +4602,24 @@ msgid "E70: Empty %s%%[]"
 msgstr "E70: Tom %s%%[]"
 
 #, c-format
+msgid "E678: Invalid character after %s%%[dxouU]"
+msgstr "E678: Ugyldig tegn etter %s%%[dxouU]"
+
+#, c-format
 msgid "E71: Invalid character after %s%%"
 msgstr "E71: Ugyldig tegn etter %s%%"
 
 #, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: Mangler ] etter %s["
+
+#, c-format
 msgid "E554: Syntax error in %s{...}"
 msgstr "E554: Syntaksfeil i %s{...}"
 
-msgid "E361: Crash intercepted; regexp too complex?"
-msgstr "E361: Kræsj fanget opp; regulært uttrykk for komplekst?"
-
-msgid "E363: pattern caused out-of-stack error"
-msgstr "E363: Søkestreng forårsaket ut-av-stack-feil"
-
 msgid "External submatches:\n"
 msgstr "Eksterne deltreff:\n"
 
-#, c-format
-msgid "+--%3ld lines folded "
-msgstr "+--%3ld linjer foldet "
-
 msgid " VREPLACE"
 msgstr " V-ERSTATT"
 
@@ -4140,12 +4674,6 @@ msgstr " VELG BLOKK"
 msgid "recording"
 msgstr "spiller inn"
 
-msgid "search hit TOP, continuing at BOTTOM"
-msgstr "Søket traff TOPPEN, fortsetter fra BUNNEN"
-
-msgid "search hit BOTTOM, continuing at TOP"
-msgstr "Søket traff BUNNEN, fortsetter fra TOPPEN"
-
 #, c-format
 msgid "E383: Invalid search string: %s"
 msgstr "E383: Ugyldig søkestreng: %s"
@@ -4184,6 +4712,10 @@ msgstr "  IKKE FUNNET"
 msgid "Scanning included file: %s"
 msgstr "Leter gjennom inkludert fil: %s"
 
+#, c-format
+msgid "Searching included file %s"
+msgstr "Leter gjennom inkludert fil %s"
+
 msgid "E387: Match is on current line"
 msgstr "E387: Treffet er på nåværende linje"
 
@@ -4200,6 +4732,371 @@ msgid "E389: Couldn't find pattern"
 msgstr "E389: Fant ikke søketeksten"
 
 #, c-format
+#~ msgid ""
+#~ "\n"
+#~ "# Last %sSearch Pattern:\n"
+#~ "~"
+#~ msgstr ""
+
+msgid "E759: Format error in spell file"
+msgstr "E759: Formateringsfeil i stavefil"
+
+msgid "E758: Truncated spell file"
+msgstr "E237: Valg av skriver feilet"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "Etterfølgende tekst i %s linje %d: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Affiksnavn for langt i %s linje %d: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Formatfeil i affiksfil FOL, LOW eller UPP"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Tegn i FOL, LOW eller UPP er utenfor område"
+
+msgid "Compressing word tree..."
+msgstr "Pakker ordtre ..."
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: Stavekontroll er ikke aktivisert"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "Advarsel: Kan ikke finne ordliste \"%s.%s.spl\" eller \"%s.ascii.spl\""
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "Leser stavefil \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Dette ser ikke ut som en stavefil"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: Gammel stavefil, trenger oppdatering"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Stavefilen er for en nyere versjon av Vim"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: Ustøttet seksjon i stavefil"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "Advarsel: Region %s ikke støttet"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "Leser affiksfil %s ..."
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "Konverteringsfeil for ord i %s linje %d: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "Konvertering i %s ikke støttet: Fra %s til %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "Konvertering i %s ikke støttet"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "Ugyldig verdi for FLAG i %s linje %d: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG etter bruk av flagg i %s linje %d: %s"
+
+#, c-format
+#~ msgid ""
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
+#~ msgstr ""
+
+#, c-format
+#~ msgid ""
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
+#~ msgstr ""
+
+#, c-format
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Feil COMPOUNDWORDMAX-verdi i %s linje %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Feil COMPOUNDMIN-verdi i %s linje %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Feil COMPOUNDSYLMAX-verdi i %s linje %d: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Feil CHECKCOMPOUNDPATTERN-verdi i %s linje %d: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr ""
+"Forskjellig kombinasjonsflagg i affiksblokk som fortsetter i %s linje %d: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Duplisert affiks i %s linje %d: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"Affiks også brukt for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST i %"
+"s linje %d: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Forventet Y eller N i %s linje %d: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "Brutt betingelse i %s linje %d: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Forventet REP(SAL)-antall i %s linje %d"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "Forventet MAP-antall i %s linje %d"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "Duplisert tegn i MAP i %s linje %d"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Ukjent eller duplisert element i %s linje %d: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Mangler FOL/LOW/UPP-linje i %s"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "COMPOUNDSYLMAX brukt uten SYLLABLE"
+
+msgid "Too many postponed prefixes"
+msgstr "For mange utsatte forstavelser"
+
+msgid "Too many compound flags"
+msgstr "For mange sammensatte flagg"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "For mange utsatte forstavelser og/eller sammensatte flagg"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "Mangler SOFO%s-linje i %s"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "Både SAL- og SOFO-linjer i %s"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Flagg er ikke et tall i %s linje %d: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Ulovlig flagg i %s linje %d: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s-verdi er forskjellig fra det som er bruk i en annen .aff-fil"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "Leser ordlistefil %s ..."
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: Ingen ord-antall i %s"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "linje %6d, ord %6d - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Duplisert ord i %s linje %d: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Første dupliserte ord i %s linje %d: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "%d duplisert(e) ord i %s"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "Ignorerte %d ord med ikke-ASCII-tegn i %s"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "Leser ordfil %s ..."
+
+#, c-format
+msgid "Duplicate /encoding= line ignored in %s line %d: %s"
+msgstr "Duplisert '/encoding='-linje ignorert i %s linje %d: %s"
+
+#, c-format
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "'/encoding='-linje etter ord ignorert i %s linje %d: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "Duplisert '/regions='-linje ignorert i %s linje %d: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "For mange regioner i %s linje %d: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "'/'-linje ignorert i %s linje %d: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "Ugyldig regionnummer i %s linje %d: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "Ukjent flagg i %s linje %d: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "Ignorerte %d ord med ikke-ASCII-tegn"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "Pakket %d av %d noder; %d (%d%%) igjen"
+
+#, fuzzy
+#~ msgid "Reading back spell file..."
+#~ msgstr "Leser stavefil \"%s\""
+
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+#~ msgid "Performing soundfolding..."
+#~ msgstr ""
+
+#, c-format
+#~ msgid "Number of words after soundfolding: %ld"
+#~ msgstr ""
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Totalt antall ord: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Skriver forslagsfil %s ..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Anslått hukommelsesbruk under kjøring: %d bytes"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Utdatafilnavn må ikke ha regionnavn"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: Kun opp til 8 regioner er støttet"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Ugyldig region i %s"
+
+#~ msgid "Warning: both compounding and NOBREAK specified"
+#~ msgstr ""
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "Lagrer stavefil %s ..."
+
+msgid "Done!"
+msgstr "Ferdig!"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E764: 'spellfile' har ikke %ld poster"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "Ord fjernet fra %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Ord lagt til %s"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: Tegn i ord varierer mellom stavefiler"
+
+msgid "Sorry, no suggestions"
+msgstr "Dessverre, ingen forslag"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Dessverre bare %ld forslag"
+
+#. for when 'cmdheight' > 1
+#. avoid more prompt
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Forandre \"%.*s\" til:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: Ingen tidligere staveerstatninger"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: Ikke funnet: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Dette ser ikke ut som en .sug-fil: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Gammel .sug-fil, trenger oppdatering: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: .sug-fila er for en nyere versjon av Vim: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: .sug-fil samsvarer ikke med .spl-fil: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: Feil under lesing av .sug-fil: %s"
+
+#. This should have been checked when generating the .spl
+#. * file.
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: Duplisert tegn i MAP-oppføring"
+
+#, c-format
 msgid "E390: Illegal argument: %s"
 msgstr "E390: Ulovlig parameter: %s"
 
@@ -4259,6 +5156,12 @@ msgstr "; samsvarer med "
 msgid " line breaks"
 msgstr " linjeskift"
 
+msgid "E395: contains argument not accepted here"
+msgstr "E395: \"contains\"-parameter aksepteres ikke her"
+
+msgid "E396: containedin argument not accepted here"
+msgstr "E396: \"containedin\"-parameter aksepteres ikke her"
+
 msgid "E393: group[t]here not accepted here"
 msgstr "E393: \"group[t]here\" aksepteres ikke her"
 
@@ -4266,16 +5169,14 @@ msgstr "E393: \"group[t]here\" akseptere
 msgid "E394: Didn't find region item for %s"
 msgstr "E394: Fant ikke regionelement for %s"
 
-msgid "E395: contains argument not accepted here"
-msgstr "E395: \"contains\"-parameter aksepteres ikke her"
-
-msgid "E396: containedin argument not accepted here"
-msgstr "E396: \"containedin\"-parameter aksepteres ikke her"
-
 msgid "E397: Filename required"
 msgstr "E397: Trenger filnavn"
 
 #, c-format
+msgid "E789: Missing ']': %s"
+msgstr "E789: Mangler ']': %s"
+
+#, c-format
 msgid "E398: Missing '=': %s"
 msgstr "E398: Mangler '=': %s"
 
@@ -4326,6 +5227,9 @@ msgstr "E409: Ukjent gruppenavn: %s"
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: Ugyldig \":syntax\"-delkommando: %s"
 
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: Rekursiv løkke laster syncolor.vim"
+
 #, c-format
 msgid "E411: highlight group not found: %s"
 msgstr "E411: Fant ikke uthevingsgruppe: %s"
@@ -4381,8 +5285,6 @@ msgstr "E424: For mange forskjellige uth
 msgid "E669: Unprintable character in group name"
 msgstr "E669: Ikke-skrivbart tegn i gruppenavn"
 
-#. This is an error, but since there previously was no check only
-#. * give a warning.
 msgid "W18: Invalid character in group name"
 msgstr "W18: Ugyldig tegn i gruppenavn"
 
@@ -4405,18 +5307,11 @@ msgstr "E426: Fant ikke tag: %s"
 msgid "file\n"
 msgstr "fil\n"
 
-#.
-#. * Ask to select a tag from the list.
-#. * When using ":silent" assume that <CR> was entered.
-#.
-msgid "Enter nr of choice (<CR> to abort): "
-msgstr "Velg tag fra listen (<CR> for å avbryte): "
-
 msgid "E427: There is only one matching tag"
 msgstr "E427: Det finnes bare en samsvarende tag"
 
 msgid "E428: Cannot go beyond last matching tag"
-msgstr "E428: Kan ikke gå bak siste samsvarende tag"
+msgstr "E428: Kan ikke gå forbi siste samsvarende tag"
 
 #, c-format
 msgid "File \"%s\" does not exist"
@@ -4515,15 +5410,59 @@ msgstr "Vim: Feil under lesing av inndata, avslutter ...\n"
 msgid "No undo possible; continue anyway"
 msgstr "Ingen angremuligheter; fortsett likevel"
 
+msgid "Already at oldest change"
+msgstr "Allerede ved eldste forandring"
+
+msgid "Already at newest change"
+msgstr "Allerede ved nyeste forandring"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Angrenummer %ld ikke funnet"
+
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: Gale linjenummer"
 
-msgid "1 change"
-msgstr "1 forandring"
-
-#, c-format
-msgid "%ld changes"
-msgstr "%ld forandringer"
+msgid "more line"
+msgstr "linje lagt til"
+
+msgid "more lines"
+msgstr "linjer lagt til"
+
+msgid "line less"
+msgstr "linje fjernet"
+
+msgid "fewer lines"
+msgstr "linjer fjernet"
+
+msgid "change"
+msgstr "forandring"
+
+msgid "changes"
+msgstr "forandringer"
+
+#, c-format
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "før"
+
+msgid "after"
+msgstr "etter"
+
+msgid "Nothing to undo"
+msgstr "Ingenting å angre"
+
+msgid "number changes  time"
+msgstr "nummer forandringer tidspunkt"
+
+#, c-format
+msgid "%ld seconds ago"
+msgstr "%ld sekunder siden"
+
+msgid "E790: undojoin is not allowed after undo"
+msgstr "E790: undojoin er ikke tillatt etter undo"
 
 msgid "E439: undo list corrupt"
 msgstr "E439: Angrelisten er skadet"
@@ -4537,7 +5476,14 @@ msgid ""
 "MS-Windows 16/32 bit GUI version"
 msgstr ""
 "\n"
-"MS-Windows 16/32-bits GUI-versjon"
+"MS Windows 16/32-bits grafisk versjon"
+
+msgid ""
+"\n"
+"MS-Windows 64 bit GUI version"
+msgstr ""
+"\n"
+"MS Windows 64-bits grafisk versjon"
 
 msgid ""
 "\n"
@@ -4687,9 +5633,6 @@ msgstr "med X11-neXtaw GUI."
 msgid "with X11-Athena GUI."
 msgstr "med X11-Athena GUI."
 
-msgid "with BeOS GUI."
-msgstr "med BeOS GUI."
-
 msgid "with Photon GUI."
 msgstr "med Photon GUI."
 
@@ -4783,8 +5726,8 @@ msgstr "skriv  :q<Enter>                  for å avslutte   "
 msgid "type  :help<Enter>  or  <F1>  for on-line help"
 msgstr "skriv  :help<Enter>  eller  <F1>  for on-line hjelp"
 
-msgid "type  :help version6<Enter>   for version info"
-msgstr "skriv  :help version6<Enter>      for versjonsinfo "
+msgid "type  :help version7<Enter>   for version info"
+msgstr "skriv  :help version7<Enter>      for versjonsinfo "
 
 msgid "Running in Vi compatible mode"
 msgstr "Kjører i Vi-kompatibel modus"
@@ -4834,6 +5777,9 @@ msgstr "ADVARSEL: Windows 95/98/ME oppda
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "skriv  :help windows95<Enter>     for informasjon  "
 
+msgid "Already only one window"
+msgstr "Allerede bare ett vindu"
+
 msgid "E441: There is no preview window"
 msgstr "E441: Vindu for forhåndsvisning finnes ikke"
 
@@ -4846,9 +5792,6 @@ msgstr "E443: Kan ikke rotere når et annet vindu er splittet"
 msgid "E444: Cannot close last window"
 msgstr "E444: Kan ikke lukke det siste vinduet"
 
-msgid "Already only one window"
-msgstr "Allerede bare ett vindu"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: Annet vindu inneholder forandringer"
 
@@ -4876,15 +5819,15 @@ msgstr "Rediger med &flere Vim-er"
 msgid "Edit with single &Vim"
 msgstr "Rediger med enkel &Vim"
 
-msgid "&Diff with Vim"
-msgstr "&Differanse med Vim"
+msgid "Diff with Vim"
+msgstr "Differanse med Vim"
 
 msgid "Edit with &Vim"
 msgstr "Rediger med &Vim"
 
 #. Now concatenate
-msgid "Edit with existing Vim - &"
-msgstr "Rediger med eksisterende Vim - &"
+msgid "Edit with existing Vim - "
+msgstr "Rediger med eksisterende Vim - "
 
 msgid "Edits the selected file(s) with Vim"
 msgstr "Redigerer de(n) valgte filen(e) med Vim"
@@ -4931,9 +5874,15 @@ msgstr "E600: Mangler :endtry"
 msgid "E170: Missing :endwhile"
 msgstr "E170: Mangler :endwhile"
 
+msgid "E170: Missing :endfor"
+msgstr "E170: Mangler :endfor"
+
 msgid "E588: :endwhile without :while"
 msgstr "E588: :endwhile uten :while"
 
+msgid "E588: :endfor without :for"
+msgstr "E588: :endfor uten :for"
+
 msgid "E13: File exists (add ! to override)"
 msgstr "E13: Filen finnes (legg til ! for å overstyre)"
 
@@ -4982,9 +5931,6 @@ msgstr "E476: Ugyldig kommando"
 msgid "E17: \"%s\" is a directory"
 msgstr "E17: \"%s\" er en katalog"
 
-msgid "E18: Unexpected characters before '='"
-msgstr "E18: Uventede tegn før '='"
-
 #, c-format
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Bibliotek-kall feilet for \"%s()\""
@@ -5119,6 +6065,9 @@ msgstr "E459: Kan ikke gå tilbake til tidligere katalog"
 msgid "E42: No Errors"
 msgstr "E42: Ingen feil"
 
+msgid "E776: No location list"
+msgstr "E776: Ingen plassliste"
+
 msgid "E43: Damaged match string"
 msgstr "E43: Ødelagt søkestreng"
 
@@ -5129,8 +6078,12 @@ msgid "E45: 'readonly' option is set (ad
 msgstr "E45: 'readonly'-valget er satt (legg til ! for å overstyre)"
 
 #, c-format
-msgid "E46: Cannot set read-only variable \"%s\""
-msgstr "E46: Kan ikke sette skrivebeskyttet variabel \"%s\""
+msgid "E46: Cannot change read-only variable \"%s\""
+msgstr "E46: Kan ikke forandre skrivebeskyttet variabel \"%s\""
+
+#, c-format
+msgid "E794: Cannot set variable in the sandbox: \"%s\""
+msgstr "E794: Kan ikke sette variabel i sandkassen: \"%s\""
 
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Feil under lesing av feilfilen"
@@ -5200,3 +6153,32 @@ msgstr "E449: Ugyldig uttrykk mottatt"
 
 msgid "E463: Region is guarded, cannot modify"
 msgstr "E463: Regionen er beskyttet og kan ikke modifiseres"
+
+msgid "E744: NetBeans does not allow changes in read-only files"
+msgstr "E744: NetBeans tillater ikke forandringer i skrivebeskyttede filer"
+
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Intern feil: %s"
+
+msgid "E363: pattern uses more memory than 'maxmempattern'"
+msgstr "E363: Søkestrengen bruker mer hukommelse enn 'maxmempattern'"
+
+msgid "E749: empty buffer"
+msgstr "E749: Tom buffer"
+
+msgid "E682: Invalid search pattern or delimiter"
+msgstr "E683: Ugyldig søkestreng eller skilletegn"
+
+msgid "E139: File is loaded in another buffer"
+msgstr "E139: Filen er lastet i en annen buffer"
+
+#, c-format
+msgid "E764: Option '%s' is not set"
+msgstr "E764: Valget '%s' er ikke satt"
+
+msgid "search hit TOP, continuing at BOTTOM"
+msgstr "Søket traff TOPPEN, fortsetter fra BUNNEN"
+
+msgid "search hit BOTTOM, continuing at TOP"
+msgstr "Søket traff BUNNEN, fortsetter fra TOPPEN"
--- a/src/proto/fileio.pro
+++ b/src/proto/fileio.pro
@@ -1,51 +1,51 @@
 /* fileio.c */
-extern void filemess __ARGS((buf_T *buf, char_u *name, char_u *s, int attr));
-extern int readfile __ARGS((char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags));
-extern int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
-extern int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
-extern void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
-extern void msg_add_lines __ARGS((int insert_space, long lnum, long nchars));
-extern char_u *shorten_fname __ARGS((char_u *full_path, char_u *dir_name));
-extern void shorten_fnames __ARGS((int force));
-extern void shorten_filenames __ARGS((char_u **fnames, int count));
-extern char_u *modname __ARGS((char_u *fname, char_u *ext, int prepend_dot));
-extern char_u *buf_modname __ARGS((int shortname, char_u *fname, char_u *ext, int prepend_dot));
-extern int vim_fgets __ARGS((char_u *buf, int size, FILE *fp));
-extern int tag_fgets __ARGS((char_u *buf, int size, FILE *fp));
-extern int vim_rename __ARGS((char_u *from, char_u *to));
-extern int check_timestamps __ARGS((int focus));
-extern int buf_check_timestamp __ARGS((buf_T *buf, int focus));
-extern void buf_reload __ARGS((buf_T *buf, int orig_mode));
-extern void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
-extern void write_lnum_adjust __ARGS((linenr_T offset));
-extern void vim_deltempdir __ARGS((void));
-extern char_u *vim_tempname __ARGS((int extra_char));
-extern void forward_slash __ARGS((char_u *fname));
-extern void aubuflocal_remove __ARGS((buf_T *buf));
-extern int au_has_group __ARGS((char_u *name));
-extern void do_augroup __ARGS((char_u *arg, int del_group));
-extern void free_all_autocmds __ARGS((void));
-extern int check_ei __ARGS((void));
-extern char_u *au_event_disable __ARGS((char *what));
-extern void au_event_restore __ARGS((char_u *old_ei));
-extern void do_autocmd __ARGS((char_u *arg, int forceit));
-extern int do_doautocmd __ARGS((char_u *arg, int do_msg));
-extern void ex_doautoall __ARGS((exarg_T *eap));
-extern void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
-extern void aucmd_restbuf __ARGS((aco_save_T *aco));
-extern int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
-extern int apply_autocmds_retval __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, int *retval));
-extern int has_cursorhold __ARGS((void));
-extern int trigger_cursorhold __ARGS((void));
-extern int has_cursormoved __ARGS((void));
-extern int has_cursormovedI __ARGS((void));
-extern int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
-extern char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
-extern char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
-extern char_u *get_event_name __ARGS((expand_T *xp, int idx));
-extern int autocmd_supported __ARGS((char_u *name));
-extern int au_exists __ARGS((char_u *arg));
-extern int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
-extern int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
-extern char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
+void filemess __ARGS((buf_T *buf, char_u *name, char_u *s, int attr));
+int readfile __ARGS((char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags));
+int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
+int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
+void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
+void msg_add_lines __ARGS((int insert_space, long lnum, long nchars));
+char_u *shorten_fname __ARGS((char_u *full_path, char_u *dir_name));
+void shorten_fnames __ARGS((int force));
+void shorten_filenames __ARGS((char_u **fnames, int count));
+char_u *modname __ARGS((char_u *fname, char_u *ext, int prepend_dot));
+char_u *buf_modname __ARGS((int shortname, char_u *fname, char_u *ext, int prepend_dot));
+int vim_fgets __ARGS((char_u *buf, int size, FILE *fp));
+int tag_fgets __ARGS((char_u *buf, int size, FILE *fp));
+int vim_rename __ARGS((char_u *from, char_u *to));
+int check_timestamps __ARGS((int focus));
+int buf_check_timestamp __ARGS((buf_T *buf, int focus));
+void buf_reload __ARGS((buf_T *buf, int orig_mode));
+void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
+void write_lnum_adjust __ARGS((linenr_T offset));
+void vim_deltempdir __ARGS((void));
+char_u *vim_tempname __ARGS((int extra_char));
+void forward_slash __ARGS((char_u *fname));
+void aubuflocal_remove __ARGS((buf_T *buf));
+int au_has_group __ARGS((char_u *name));
+void do_augroup __ARGS((char_u *arg, int del_group));
+void free_all_autocmds __ARGS((void));
+int check_ei __ARGS((void));
+char_u *au_event_disable __ARGS((char *what));
+void au_event_restore __ARGS((char_u *old_ei));
+void do_autocmd __ARGS((char_u *arg, int forceit));
+int do_doautocmd __ARGS((char_u *arg, int do_msg));
+void ex_doautoall __ARGS((exarg_T *eap));
+void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
+void aucmd_restbuf __ARGS((aco_save_T *aco));
+int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
+int apply_autocmds_retval __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, int *retval));
+int has_cursorhold __ARGS((void));
+int trigger_cursorhold __ARGS((void));
+int has_cursormoved __ARGS((void));
+int has_cursormovedI __ARGS((void));
+int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
+char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
+char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
+char_u *get_event_name __ARGS((expand_T *xp, int idx));
+int autocmd_supported __ARGS((char_u *name));
+int au_exists __ARGS((char_u *arg));
+int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
+int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
+char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
 /* vim: set ft=c : */
--- a/src/proto/ui.pro
+++ b/src/proto/ui.pro
@@ -1,61 +1,61 @@
 /* ui.c */
-extern void ui_write __ARGS((char_u *s, int len));
-extern void ui_inchar_undo __ARGS((char_u *s, int len));
-extern int ui_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
-extern int ui_char_avail __ARGS((void));
-extern void ui_delay __ARGS((long msec, int ignoreinput));
-extern void ui_suspend __ARGS((void));
-extern void suspend_shell __ARGS((void));
-extern int ui_get_shellsize __ARGS((void));
-extern void ui_set_shellsize __ARGS((int mustset));
-extern void ui_new_shellsize __ARGS((void));
-extern void ui_breakcheck __ARGS((void));
-extern void clip_init __ARGS((int can_use));
-extern void clip_update_selection __ARGS((void));
-extern void clip_own_selection __ARGS((VimClipboard *cbd));
-extern void clip_lose_selection __ARGS((VimClipboard *cbd));
-extern void clip_copy_selection __ARGS((void));
-extern void clip_auto_select __ARGS((void));
-extern int clip_isautosel __ARGS((void));
-extern void clip_modeless __ARGS((int button, int is_click, int is_drag));
-extern void clip_start_selection __ARGS((int col, int row, int repeated_click));
-extern void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
-extern void clip_may_redraw_selection __ARGS((int row, int col, int len));
-extern void clip_clear_selection __ARGS((void));
-extern void clip_may_clear_selection __ARGS((int row1, int row2));
-extern void clip_scroll_selection __ARGS((int rows));
-extern void clip_copy_modeless_selection __ARGS((int both));
-extern int clip_gen_own_selection __ARGS((VimClipboard *cbd));
-extern void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
-extern void clip_gen_set_selection __ARGS((VimClipboard *cbd));
-extern void clip_gen_request_selection __ARGS((VimClipboard *cbd));
-extern int vim_is_input_buf_full __ARGS((void));
-extern int vim_is_input_buf_empty __ARGS((void));
-extern int vim_free_in_input_buf __ARGS((void));
-extern int vim_used_in_input_buf __ARGS((void));
-extern char_u *get_input_buf __ARGS((void));
-extern void set_input_buf __ARGS((char_u *p));
-extern void add_to_input_buf __ARGS((char_u *s, int len));
-extern void add_to_input_buf_csi __ARGS((char_u *str, int len));
-extern void push_raw_key __ARGS((char_u *s, int len));
-extern void trash_input_buf __ARGS((void));
-extern int read_from_input_buf __ARGS((char_u *buf, long maxlen));
-extern void fill_input_buf __ARGS((int exit_on_error));
-extern void read_error_exit __ARGS((void));
-extern void ui_cursor_shape __ARGS((void));
-extern int check_col __ARGS((int col));
-extern int check_row __ARGS((int row));
-extern void open_app_context __ARGS((void));
-extern void x11_setup_atoms __ARGS((Display *dpy));
-extern void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
-extern void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
-extern int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
-extern void clip_x11_set_selection __ARGS((VimClipboard *cbd));
-extern int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
-extern int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
-extern win_T *mouse_find_win __ARGS((int *rowp, int *colp));
-extern int get_fpos_of_mouse __ARGS((pos_T *mpos));
-extern int vcol2col __ARGS((win_T *wp, linenr_T lnum, int vcol));
-extern void ui_focus_change __ARGS((int in_focus));
-extern void im_save_status __ARGS((long *psave));
+void ui_write __ARGS((char_u *s, int len));
+void ui_inchar_undo __ARGS((char_u *s, int len));
+int ui_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
+int ui_char_avail __ARGS((void));
+void ui_delay __ARGS((long msec, int ignoreinput));
+void ui_suspend __ARGS((void));
+void suspend_shell __ARGS((void));
+int ui_get_shellsize __ARGS((void));
+void ui_set_shellsize __ARGS((int mustset));
+void ui_new_shellsize __ARGS((void));
+void ui_breakcheck __ARGS((void));
+void clip_init __ARGS((int can_use));
+void clip_update_selection __ARGS((void));
+void clip_own_selection __ARGS((VimClipboard *cbd));
+void clip_lose_selection __ARGS((VimClipboard *cbd));
+void clip_copy_selection __ARGS((void));
+void clip_auto_select __ARGS((void));
+int clip_isautosel __ARGS((void));
+void clip_modeless __ARGS((int button, int is_click, int is_drag));
+void clip_start_selection __ARGS((int col, int row, int repeated_click));
+void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
+void clip_may_redraw_selection __ARGS((int row, int col, int len));
+void clip_clear_selection __ARGS((void));
+void clip_may_clear_selection __ARGS((int row1, int row2));
+void clip_scroll_selection __ARGS((int rows));
+void clip_copy_modeless_selection __ARGS((int both));
+int clip_gen_own_selection __ARGS((VimClipboard *cbd));
+void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
+void clip_gen_set_selection __ARGS((VimClipboard *cbd));
+void clip_gen_request_selection __ARGS((VimClipboard *cbd));
+int vim_is_input_buf_full __ARGS((void));
+int vim_is_input_buf_empty __ARGS((void));
+int vim_free_in_input_buf __ARGS((void));
+int vim_used_in_input_buf __ARGS((void));
+char_u *get_input_buf __ARGS((void));
+void set_input_buf __ARGS((char_u *p));
+void add_to_input_buf __ARGS((char_u *s, int len));
+void add_to_input_buf_csi __ARGS((char_u *str, int len));
+void push_raw_key __ARGS((char_u *s, int len));
+void trash_input_buf __ARGS((void));
+int read_from_input_buf __ARGS((char_u *buf, long maxlen));
+void fill_input_buf __ARGS((int exit_on_error));
+void read_error_exit __ARGS((void));
+void ui_cursor_shape __ARGS((void));
+int check_col __ARGS((int col));
+int check_row __ARGS((int row));
+void open_app_context __ARGS((void));
+void x11_setup_atoms __ARGS((Display *dpy));
+void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
+void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
+int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
+void clip_x11_set_selection __ARGS((VimClipboard *cbd));
+int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
+int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
+win_T *mouse_find_win __ARGS((int *rowp, int *colp));
+int get_fpos_of_mouse __ARGS((pos_T *mpos));
+int vcol2col __ARGS((win_T *wp, linenr_T lnum, int vcol));
+void ui_focus_change __ARGS((int in_focus));
+void im_save_status __ARGS((long *psave));
 /* vim: set ft=c : */