Compare commits

...

16 Commits

Author SHA1 Message Date
Bram Moolenaar
337ae06ff9 updated for version 7.3.151
Problem:    When "unnamedplus" is in 'clipboard' the selection is sometimes
            also copied to the star register.
Solution:   Avoid copy to the star register when undesired. (James Vega)
2011-04-01 16:28:38 +02:00
Bram Moolenaar
27b6056d85 updated for version 7.3.150
Problem:    readline() does not return the last line when the NL is missing.
            (Hong Xu)
Solution:   When at the end of the file Also check for a previous line.
2011-04-01 16:07:46 +02:00
Bram Moolenaar
96bcc5e6cd updated for version 7.3.149
Problem:    The cursor disappears after the processing of the 'setDot'
            netbeans command when vim runs in a terminal.
Solution:   Show the cursor after a screen update. (Xavier de Gaye, 2011
2011-04-01 15:33:59 +02:00
Bram Moolenaar
42431a7aa0 updated for version 7.3.148
Problem:    A syntax file with a huge number of items or clusters causes weird
            behavior, a hang or a crash. (Yukihiro Nakadaira)
Solution:   Check running out of IDs. (partly by Ben Schmidt)
2011-04-01 14:44:59 +02:00
Bram Moolenaar
316dca03ca updated for version 7.3.147
Problem:    Can't build on HP-UX.
Solution:   Remove an unnecessary backslash. (John Marriott)
2011-04-01 13:05:45 +02:00
Bram Moolenaar
4228bec0ae updated for version 7.3.146
Problem:    It's possible to assign to a read-only member of a dict.
            It's possible to create a global variable "0". (ZyX)
            It's possible to add a v: variable with ":let v:.name = 1".
Solution:   Add check for dict item being read-only.
            Check the name of g: variables.
            Disallow adding v: variables.
2011-03-27 16:03:15 +02:00
Bram Moolenaar
30fec7bc7f updated for version 7.3.145
Problem:    Can't build with Python dynamically loading.
Solution:   Add dll_PyType_Ready.
2011-03-26 18:32:05 +01:00
Bram Moolenaar
21377c8d5f updated for version 7.3.144
Problem:    Crash with ":python help(dir)". (Kearn Holliday)
Solution:   Fix the way the type is set on objects. (Tobias Columbus)
2011-03-26 13:56:48 +01:00
Bram Moolenaar
b3c5284c5b Add missing files for patch 7.3.143. 2011-03-22 20:52:37 +01:00
Bram Moolenaar
b05b10a3c0 updated for version 7.3.143
Problem:    Memfile is not tested sufficiently.  Looking up blocks in a
            memfile is slow when there are many blocks.
Solution:   Add high level test and unittest.  Adjust the number of hash
            buckets to the number of blocks.  (Ivan Krasilnikov)
2011-03-22 18:10:45 +01:00
Bram Moolenaar
cab49dff91 Updated runtime file. Fix Italian translations. 2011-03-22 17:40:10 +01:00
Bram Moolenaar
a29a37d533 updated for version 7.3.142
Problem:    Python stdout doesn't have a flush() method, causing an import to
            fail.
Solution:   Add a dummy flush() method. (Tobias Columbus)
2011-03-22 15:47:44 +01:00
Bram Moolenaar
0b2f94db23 updated for version 7.3.141
Problem:    When a key code is not set get a confusing error message.
Solution:   Change the error message to say the key code is not set.
2011-03-22 14:35:05 +01:00
Bram Moolenaar
662db673f9 Updated runtime files. 2011-03-22 14:05:35 +01:00
Bram Moolenaar
e9d4b58dda updated for version 7.3.140
Problem:    Crash when drawing the "$" at end-of-line for list mode just after
            the window border and 'cursorline' is set.
Solution:   Don't check for 'cursorline'. (Quentin Carbonneaux)
2011-03-22 13:29:24 +01:00
Bram Moolenaar
fd30cd41dc updated for version 7.3.139
Problem:    When 'lazyredraw' is set ":ver" output can't be read.
Solution:   Don't redraw the screen when at a prompt or command line.
2011-03-22 13:07:26 +01:00
50 changed files with 1645 additions and 642 deletions

View File

@@ -39,6 +39,7 @@ SRC_ALL = \
src/mark.c \
src/mbyte.c \
src/memfile.c \
src/memfile_test.c \
src/memline.c \
src/menu.c \
src/message.c \
@@ -686,6 +687,8 @@ LANG_GEN = \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.??.* \
runtime/tutor/tutor.bar \
runtime/tutor/tutor.bar.* \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2010 Jul 29
*change.txt* For Vim version 7.3. Last change: 2011 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -690,7 +690,8 @@ reason is that the flags can only be found by skipping the pattern, and in
order to skip the pattern the "magicness" must be known. Catch 22!
If the {pattern} for the substitute command is empty, the command uses the
pattern from the last substitute or ":global" command. With the [r] flag, the
pattern from the last substitute or ":global" command. If there is none, but
there is a previous search pattern, that one is used. With the [r] flag, the
command uses the pattern from the last substitute, ":global", or search
command.

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2011 Jan 27
*editing.txt* For Vim version 7.3. Last change: 2011 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -276,10 +276,11 @@ If you want to keep the changed buffer without saving it, switch on the
'readonly' option for this buffer. {not in Vi}
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file (equivalent to ":e #").
Mostly the alternate file is the previously edited
file. This is a quick way to toggle between two
files.
CTRL-^ Edit the alternate file. Mostly the alternate file is
the previously edited file. This is a quick way to
toggle between two files. It is equivalent to ":e #",
except that it also works when there is no file name.
If the 'autowrite' or 'autowriteall' option is on and
the buffer was changed, write it.
Mostly the ^ character is positioned on the 6 key,
@@ -1387,6 +1388,8 @@ To set the default method, used for new files, use one of these in your
|vimrc| file: >
set cm=zip
set cm=blowfish
The message given for reading and writing a file will show "[crypted]" when
using zip, "[blowfish]" when using blowfish.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2011 Feb 11
*eval.txt* For Vim version 7.3. Last change: 2011 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7072,7 +7072,9 @@ This would call the function "my_func_whizz(parameter)".
is terminated.
Example: >
:try | throw "oops" | catch /^oo/ | echo "caught" | endtry
<
< Note that "catch" may need to be on a separate line
for when an error causes the parsing to skip the whole
line and not see the "|" that separates the commands.
*:ec* *:echo*
:ec[ho] {expr1} .. Echoes each {expr1}, with a space in between. The

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.3. Last change: 2011 Jan 09
*indent.txt* For Vim version 7.3. Last change: 2011 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -320,9 +320,11 @@ assume a 'shiftwidth' of 4.
BaseClass(3) BaseClass(3)
{} {}
<
+N Indent a continuation line (a line that spills onto the next) N
additional characters. (default 'shiftwidth').
When the previous line ended in a backslash it's doubled.
+N Indent a continuation line (a line that spills onto the next)
inside a function N additional characters. (default
'shiftwidth').
Outside of a function, when the previous line ended in a
backslash, the 2 * N is used.
cino= cino=+10 >
a = b + 9 * a = b + 9 *

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2011 Feb 15
*options.txt* For Vim version 7.3. Last change: 2011 Mar 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -150,6 +150,18 @@ example, if Alt-b produces <Esc>b, use this: >
(the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it)
The advantage over a mapping is that it works in all situations.
You can define any key codes, e.g.: >
:set t_xy=^[foo;
There is no warning for using a name that isn't recognized. You can map these
codes as you like: >
:map <t_xy> something
< *E846*
When a key code is not set, it's like it does not exist. Trying to get its
value will result in an error: >
:set t_kb=
:set t_kb
E846: Key code not set: t_kb
The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
security reasons.

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.3. Last change: 2010 Jul 20
*pattern.txt* For Vim version 7.3. Last change: 2011 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -214,7 +214,8 @@ The last used pattern and offset are remembered. They can be used to repeat
the search, possibly in another direction or with another count. Note that
two patterns are remembered: One for 'normal' search commands and one for the
substitute command ":s". Each time an empty pattern is given, the previously
used pattern is used.
used pattern is used. However, if there is no previous search command, a
previous substitute pattern is used, if possible.
The 'magic' option sticks with the last used pattern. If you change 'magic',
this will not change how the last used pattern will be interpreted.

View File

@@ -3206,6 +3206,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<reg> map.txt /*<reg>*
<register> map.txt /*<register>*
<sfile> cmdline.txt /*<sfile>*
<slnum> cmdline.txt /*<slnum>*
<xCSI> intro.txt /*<xCSI>*
<xDown> term.txt /*<xDown>*
<xEnd> term.txt /*<xEnd>*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2011 Feb 25
*todo.txt* For Vim version 7.3. Last change: 2011 Mar 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,11 +30,31 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
New r and rhelp syntax files. (Jakson Alves de Aquino, 2011 Feb 20)
The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
Compare with how old Vi works and with posix spec. terminal is 80 x 24,
'scroll' option set to 11.
In file message show "blowfish" instead of "crypted" when using blowfish.
Crash with ":python help(dir)". (Kearn Holliday, 2011 Mar 19)
I can reproduce it. Don't know why it happens.
Patch to fix drag-n-drop in KDE. (Florian Degner, 2011 Feb 23)
'cursorline' is displayed too short when there are concealed characters and
'list' is set. (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
When opening file from windows explorer, characters inside [] cause
problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
Patch for Vim indent file. (Cocular, 2011 Mar)
:help c_Esc should work, but only :help c_<Esc> does.
Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
New version of Pascal indent file. (Neil Carter, 2011 Mar 9)
Help file foldexpr (ZyX)
upstart syntax file (James Hunt, Mar 11 2011)
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
@@ -43,15 +63,24 @@ only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
Crash with big .xpm file. (Yukihiro Nakadaira, 2011 Feb 18)
Patch from Ben Schmidt (2011 Mar 3). Needs some more work.
Patch for disappearing cursor after netbeans command. (Xavier de Gaye, 2011
Mar 4)
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
Compiler scripts for fortran (Hong Xu, 2011 March 19)
This line hangs Vim, because of syntax HL:
call append(line, "INFO ....12....18....24....30....36....42....48....54....60....66....72....78%$")
Building the MingW version without clipboard but with multi-byte doesn't
work. (Bill Lam, 2010 Sep 18)
Patch for handling of NL in substitute() with \= expression. (Motoya Kurotsu,
2011 Mar 16)
When using a Vim server, a # in the path causes an error message.
(Jeff Lanzarotta, 2011 Feb 17)
@@ -68,7 +97,7 @@ On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
right type.
Patch to improve mf_hash, dynamic sizing. (Ivan Krasilnikov, 2010 Dec 17)
Needs tests.
Update with tests: 2011 Feb 28.
string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23)
@@ -82,12 +111,14 @@ Update Nov 19. James Vega: still not right. Christian: it's difficult.
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \%{name}(re) and \%{name}g
Patch to use pattern from last :s when there is no last search pattern.
(Christian Brabandt, 2011 Jan 24) Would this break anything?
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
Improvement patch for filetype.vim. (Thilo Six, 2011 Mar 19)
Patch for "+ and "* getting same selection when "a" is not in 'guioptions'.
(James Vega, 2011 Mar 17)
Highlighting stops working after changing it many times. Script to reproduce
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
@@ -98,6 +129,10 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
Deleting a linewise selection that includes the last line of the file leaves
an empty line. (Ben Schmidt, 2011 Mar 17)
Patch by Christian Brabandt, 2011 Mar 19.
Two patches for xxd. (Florian Zumbiehl, 2011 Jan 11)
Two updates for second one Jan 12.
@@ -140,6 +175,9 @@ doesn't look right. (Dominique Pelle, 2010 Aug 8)
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
Win32: tear-off menu does not work when menu language is German. (Markus
Bossler, 2011 Mar 2) Fixed by 7.3.095?
Patch for adding 's' option to 'cino', C++ namespace indenting. (Konstantin
Lepa, 2011 Jan 18)
@@ -174,6 +212,9 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
- instead of a regexp use a hashtable. Expand '?', '*", '+'. What would be
the maximum repeat for * and +?
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
2011 Feb 27)
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17)
When putting text in the cut buffer (when exiting) and conversion doesn't work
@@ -200,6 +241,9 @@ Nov 25)
GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
Update 2011 Feb 3.
Patch to use pipes on Win32. (Vincent Berthoux, 2011 Feb 28)
Update Mar 1 using 'shelltemp'.
Python: Adding line to buffer other than the current one doesn't work
correctly. (Rozbujnik, 2010 Dec 19)
@@ -279,8 +323,6 @@ Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
":com" changes the multi-byte text of :echo. (Dimitar Dimitrov, 2011 Feb 11)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
@@ -397,6 +439,9 @@ find out why.
When completion inserts the first match, it may trigger the line to be folded.
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
Jun 1)
@@ -2334,6 +2379,9 @@ Problems that will (probably) not be solved:
- Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles
are not on the boot disk. This is caused by a wrong value of $HOMEDRIVE.
This is a bug in XP, see MSKB article 818134.
- Win32, MS-Windows: expanding plugin/**/*.vim also picks up
dir/ctags.vim,v. This is because the short file name is something like
"ctags~1.vim" and that matches the pattern.
- SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal
scroll bar for the "files" selection. This is a problem in the Motif
libraries, get a patch from Sun.
@@ -3752,6 +3800,10 @@ Insert mode:
<< "y";
9 "} else" causes following lines to be indented too much. (Rouben
Rostamian, 2008 Aug 30)
9 Wrapping a variable initialization should have extra indent:
char * veryLongName =
"very long string"
Also check if "cino=+10" is used correctly.
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Why are continuation lines outside of a {} block not indented? E.g.:
long_type foo =
@@ -4057,6 +4109,8 @@ Searching:
Use "&/" for searching the text in the Visual area?
9 Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
matching text.
8 Add a modifier to interpret a space like "\_s\+" to make it much easier to
search for a phrase.
8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
for "go recursive here" and \@( \) marks the recursive part.
Perl does it this way:

View File

@@ -661,7 +661,14 @@ Floating point computation: *float-functions*
sqrt() square root
sin() sine
cos() cosine
tan() tangent
asin() arc sine
acos() arc cosine
atan() arc tangent
atan2() arc tangent
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
Variables: *var-functions*
type() type of a variable

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2011 Feb 01
*various.txt* For Vim version 7.3. Last change: 2011 Mar 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -133,14 +133,14 @@ g8 Print the hex values of the bytes used in the
specified with {range}, or around the current line
if there is no {range}. If there is a {count}, that's
how many lines you'll see; if there is only one window
then the 'window' option is used, otherwise the
current window size is used.
then twice the value of the 'scroll' option is used,
otherwise the current window height minus 3 is used.
:z can be used either alone or followed by any of
several punctuation marks. These have the following
effect:
mark first line last line new location ~
mark first line last line new cursor line ~
---- ---------- --------- ------------
+ current line 1 scr forward 1 scr forward
- 1 scr back current line current line

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2011 Feb 23
" Last Change: 2011 Mar 22
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -325,7 +325,7 @@ au BufNewFile,BufRead */.calendar/*,
au BufNewFile,BufRead *.cs setf cs
" Cabal
au BufNewFile,BufRead *.cabal setf cabal
au BufNewFile,BufRead *.cabal setf cabal
" Cdrdao TOC
au BufNewFile,BufRead *.toc setf cdrtoc
@@ -536,7 +536,7 @@ au BufNewFile,BufRead *.qc setf c
au BufNewFile,BufRead *.cfg setf cfg
" Cucumber
au BufNewFile,BufRead *.feature setf cucumber
au BufNewFile,BufRead *.feature setf cucumber
" Communicating Sequential Processes
au BufNewFile,BufRead *.csp,*.fdr setf csp
@@ -678,7 +678,7 @@ au BufNewFile,BufRead *.exp setf expect
au BufNewFile,BufRead exports setf exports
" Falcon
au BufNewFile,BufRead *.fal setf falcon
au BufNewFile,BufRead *.fal setf falcon
" Fantom
au BufNewFile,BufRead *.fan,*.fwt setf fan
@@ -779,7 +779,7 @@ au BufNewFile,BufRead *.haml setf haml
au BufNewFile,BufRead *.hsc,*.hsm setf hamster
" Haskell
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
@@ -872,7 +872,9 @@ func! s:ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have
" comments, thus we can't match comments to see the difference.
if getline(2) =~ ';$'
" IDL files can have a single ';' in the second line, require at least one
" chacter before the ';'.
if getline(2) =~ '.;$'
setf cpp
else
exe 'setf ' . a:default
@@ -1405,7 +1407,7 @@ au BufNewFile,BufRead *.it,*.ih setf ppwiz
" Obj 3D file format
" TODO: is there a way to avoid MS-Windows Object files?
au BufNewFile,BufRead *.obj setf obj
au BufNewFile,BufRead *.obj setf obj
" Oracle Pro*C/C++
au BufNewFile,BufRead *.pc setf proc
@@ -1650,7 +1652,7 @@ au BufNewFile,BufRead *.sa setf sather
au BufNewFile,BufRead *.sci,*.sce setf scilab
" SCSS
au BufNewFile,BufRead *.scss setf scss
au BufNewFile,BufRead *.scss setf scss
" SD: Streaming Descriptors
au BufNewFile,BufRead *.sd setf sd
@@ -1811,7 +1813,7 @@ endfunc
" Z-Shell script
au BufNewFile,BufRead .zprofile,/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
au BufNewFile,BufRead *.zsh setf zsh
au BufNewFile,BufRead *.zsh setf zsh
" Scheme
au BufNewFile,BufRead *.scm,*.ss setf scheme
@@ -2101,6 +2103,9 @@ au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
" TPP - Text Presentation Program
au BufNewFile,BufReadPost *.tpp setf tpp
" Treetop
au BufRead,BufNewFile *.treetop setf treetop
" Trustees
au BufNewFile,BufRead trustees.conf setf trustees
@@ -2131,6 +2136,10 @@ au BufNewFile,BufRead *.uc setf uc
" Updatedb
au BufNewFile,BufRead /etc/updatedb.conf setf updatedb
" Upstart (init(8)) config files
au BufNewFile,BufRead */etc/init/*.conf,~/.init/*.conf setf upstart
au BufNewFile,BufRead */etc/init/*.override,~/.init/*.override setf upstart
" Vera
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera

View File

@@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=b:# commentstring=#\ %s formatoptions-=tcroq formatoptions+=l
let b:undo_ftplugin = "setl com< cms< fo<"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,38 @@
" Vim indent file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetTreetopIndent()
setlocal indentkeys=0{,0},!^F,o,O,=end
setlocal nosmartindent
if exists("*GetTreetopIndent")
finish
endif
function GetTreetopIndent()
let pnum = prevnonblank(v:lnum - 1)
if pnum == 0
return 0
endif
let ind = indent(pnum)
let line = getline(pnum)
if line =~ '^\s*\%(grammar\|module\|rule\)\>'
let ind += &sw
endif
let line = getline(v:lnum)
if line =~ '^\s*end\>'
let ind -= &sw
end
retur ind
endfunction

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jul 06
" Last Change: 2011 Mar 22
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -44,10 +44,18 @@ function GetVimIndent()
else
let ind = ind + &sw * 3
endif
elseif getline(lnum) =~ '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>'
let ind = ind + &sw
elseif getline(lnum) =~ '^\s*aug\%[roup]' && getline(lnum) !~ '^\s*aug\%[roup]\s*!\=\s\+END'
let ind = ind + &sw
else
let line = getline(lnum)
let i = match(line, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
if i >= 0
let ind += &sw
if strpart(line, i, 1) == '|' && has('syntax_items')
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
let ind -= &sw
endif
endif
endif
" If the previous line contains an "end" after a pipe, but not in an ":au"

View File

@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Feb 18
" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa
" Edit menu
menutrans &Edit <09><><EFBFBD><EFBFBD>(&E)
menutrans &Undo<Tab>u <09><><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans &Redo<Tab>^R <09>ٽ<EFBFBD>\ <20><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09><>Ǯ<EFBFBD><EFBFBD>(&e)<Tab>\.
menutrans Cu&t<Tab>"+x <09>ڸ<EFBFBD><DAB8><EFBFBD>(&t)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ <20><><EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ lines <09><><EFBFBD>ؽ<EFBFBD>Ʈ\ <20><>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&V)
menutrans Never <09><><EFBFBD><EFBFBD> <20><> <20><>
menutrans Never <09><><EFBFBD><EFBFBD>\ <20><>\ <20><>
menutrans Block\ Selection <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Insert\ mode <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>
menutrans Block\ and\ Insert <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-<EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD>Ʈ <20>ʺ<EFBFBD>(&S)
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD>Ʈ\ <20>ʺ<EFBFBD>(&S)
menutrans Soft\ &Tabstop <09><><EFBFBD><EFBFBD>Ʈ\ <20>ǽ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Te&xt\ Width\.\.\. <09>ؽ<EFBFBD>Ʈ\ <20>ʺ<EFBFBD>(&x)\.\.\.
menutrans &File\ Format\.\.\. <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages
" Tools.Fold Menu
menutrans &Folding <09><><EFBFBD><EFBFBD>(&F)
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&E)<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Ŀ<EFBFBD><EFBFBD>\ <20><>\ <20><><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Ŀ<EFBFBD><EFBFBD>\ <20>ٸ<EFBFBD>\ <20><><EFBFBD><EFBFBD>(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm <09><>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20>ݱ<EFBFBD>(&l)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM <09><><EFBFBD><EFBFBD>\ <20>κ<EFBFBD>\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <09><> <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&p)<Tab>zr
menutrans &Close\ all\ folds<Tab>zM <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20>ݱ<EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <09><>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR <09><><EFBFBD><EFBFBD>\ <20>κ<EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax
"menutrans &Diff &Diff
menutrans Ma&rker <09><><EFBFBD><EFBFBD>ǥ(&r)
" create and delete folds
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD <09><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width <09><><EFBFBD><EFBFBD>\ ĭ\ <20>ʺ<EFBFBD>(&w)
menutrans Fold\ column\ &width <09><><EFBFBD><EFBFBD>\ <EFBFBD>÷<EFBFBD>\ <20>ʺ<EFBFBD>(&w)
"menutrans &Diff &Diff
menutrans &Update <09><><EFBFBD><EFBFBD>(&U)

View File

@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Feb 18
" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa 끝내기(&x)<Tab>:qa
" Edit menu
menutrans &Edit 편집(&E)
menutrans &Undo<Tab>u 취소(&U)<Tab>u
menutrans &Redo<Tab>^R 다시 실행(&R)<Tab>^R
menutrans &Redo<Tab>^R 다시\ 실행(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 되풀이(&e)<Tab>\.
menutrans Cu&t<Tab>"+x 자르기(&t)<Tab>"+x
menutrans &Copy<Tab>"+y 복사(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic! 대소문자\ 구분\ 토글(&I)<Ta
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ 토글(&S)<Tab>:set\ sm!
menutrans &Context\ lines 콘텍스트\ (&C)
menutrans &Virtual\ Edit 가상\ 편집(&V)
menutrans Never 사용
menutrans Never 사용\ \
menutrans Block\ Selection 블럭\ 고르기
menutrans Insert\ mode 삽입\ 모드
menutrans Block\ and\ Insert 블럭과\ 삽입
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai! 자동인덴트\ 토글(&a)<Tab>:se
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-인덴팅\ 토글(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 쉬프트 너비(&S)
menutrans &Shiftwidth 쉬프트\ 너비(&S)
menutrans Soft\ &Tabstop 소프트\ 탭스톱(&T)
menutrans Te&xt\ Width\.\.\. 텍스트\ 너비(&x)\.\.\.
menutrans &File\ Format\.\.\. 파일\ 형식(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages 다른\ 언어\ 찾기(&F)
" Tools.Fold Menu
menutrans &Folding 접기(&F)
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi \ 기능\ 사용\ 토글(&E)<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi \ 사용\ 토글(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 커서\ \ 보기(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 커서\ 줄만\ 보기(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm \ 많은\ 접기\ 닫기(&l)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 접힌\ 부분\ 모두\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Close\ all\ folds<Tab>zM 모든\ 접기\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr \ 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 접힌\ 부분\ 모두\ 펴기(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 접는\ 방법(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax 신택스(&y)
"menutrans &Diff &Diff
menutrans Ma&rker 꼬리표(&r)
" create and delete folds
menutrans Create\ &Fold<Tab>zf 새로 접기(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 완전히 펴기(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 펴기(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf 접기\ 생성(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 접기\ 삭제(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 접기\ 삭제(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width \ \ 너비(&w)
menutrans Fold\ column\ &width \ 컬럼\ 너비(&w)
"menutrans &Diff &Diff
menutrans &Update 갱신(&U)

View File

@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2009 Feb 26
" Last Change: 2011 Mar 22
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@@ -101,7 +101,7 @@ an 10.320 &File.Sp&lit-Open\.\.\.<Tab>:sp :browse sp<CR>
an 10.320 &File.Open\ Tab\.\.\.<Tab>:tabnew :browse tabnew<CR>
an 10.325 &File.&New<Tab>:enew :confirm enew<CR>
an <silent> 10.330 &File.&Close<Tab>:close
\ :if winheight(2) < 0 <Bar>
\ :if winheight(2) < 0 && tabpagewinnr(2) == 0 <Bar>
\ confirm enew <Bar>
\ else <Bar>
\ confirm close <Bar>

View File

@@ -3,13 +3,18 @@
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
" Tom Payne <tom@tompayne.org>
" Last Change: Wed Sep 29, 2010 09:31AM
" Last Change: Sun Feb 20, 2011 12:06PM
" Filenames: *.R *.r *.Rhistory *.Rt
"
" NOTE: The highlighting of R functions is defined in the
" r-plugin/functions.vim, which is part of vim-r-plugin2:
" http://www.vim.org/scripts/script.php?script_id=2628
"
" CONFIGURATION:
" syntax folding can be turned on by
"
" let r_syntax_folding = 1
"
" Some lines of code were borrowed from Zhuojun Chen.
if exists("b:current_syntax")
@@ -18,18 +23,30 @@ endif
setlocal iskeyword=@,48-57,_,.
if exists("g:r_syntax_folding")
setlocal foldmethod=syntax
endif
syn case match
" Comment
syn match rComment contains=@Spell "\#.*"
" string enclosed in double quotes
syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
" string enclosed in single quotes
syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
if &filetype == "rhelp"
" string enclosed in double quotes
syn region rString contains=rSpecial,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
" string enclosed in single quotes
syn region rString contains=rSpecial,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
else
" string enclosed in double quotes
syn region rString contains=rSpecial,rStrError,@Spell start=/"/ skip=/\\\\\|\\"/ end=/"/
" string enclosed in single quotes
syn region rString contains=rSpecial,rStrError,@Spell start=/'/ skip=/\\\\\|\\'/ end=/'/
endif
syn match rStrError display contained "\\."
" New line, carriage return, tab, backspace, bell, feed, vertical tab, backslash
syn match rSpecial display contained "\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
@@ -42,9 +59,6 @@ syn match rSpecial display contained "\\U\x\{1,8}"
syn match rSpecial display contained "\\u{\x\{1,4}}"
syn match rSpecial display contained "\\U{\x\{1,8}}"
syn match rDollar "\$"
" Statement
syn keyword rStatement break next return
syn keyword rConditional if else
@@ -54,26 +68,18 @@ syn keyword rRepeat for in repeat while
syn keyword rConstant T F LETTERS letters month.ab month.name pi
syn keyword rConstant R.version.string
" Constant
syn keyword rNumber NA_integer_ NA_real_ NA_complex_ NA_character_
" Constants
syn keyword rConstant NULL
syn keyword rBoolean FALSE TRUE
syn keyword rNumber NA NA_integer_ NA_real_ NA_complex_ NA_character_
syn keyword rNumber Inf NaN
syn keyword rNumber NA Inf NaN
" integer
syn match rInteger "\<\d\+L"
syn match rInteger "\<0x\([0-9]\|[a-f]\|[A-F]\)\+L"
syn match rInteger "\<\d\+[Ee]+\=\d\+L"
syn match rOperator "[\*\!\&\+\-\<\>\=\^\|\~\`/:@]"
syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
syn match rComplex "\<\d\+i"
syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
" number with no fractional part or exponent
syn match rNumber "\<\d\+\>"
" hexadecimal number
@@ -86,6 +92,28 @@ syn match rFloat "\<\.\d\+\([Ee][-+]\=\d\+\)\="
" floating point number with no fractional part and optional exponent
syn match rFloat "\<\d\+[Ee][-+]\=\d\+"
" complex number
syn match rComplex "\<\d\+i"
syn match rComplex "\<\d\++\d\+i"
syn match rComplex "\<0x\([0-9]\|[a-f]\|[A-F]\)\+i"
syn match rComplex "\<\d\+\.\d*\([Ee][-+]\=\d\+\)\=i"
syn match rComplex "\<\.\d\+\([Ee][-+]\=\d\+\)\=i"
syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
syn match rOperator "&"
syn match rOperator '-'
syn match rOperator '*'
syn match rOperator '+'
syn match rOperator '='
syn match rOperator "[|!<>^~`/:@]"
syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
syn match rOpError '*\{3}'
syn match rOpError '//'
syn match rOpError '&&&'
syn match rOpError '|||'
syn match rOpError '<<'
syn match rOpError '>>'
syn match rArrow "<\{1,2}-"
syn match rArrow "->\{1,2}"
@@ -93,20 +121,50 @@ syn match rArrow "->\{1,2}"
syn match rDelimiter "[,;:]"
" Error
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
if exists("g:r_syntax_folding")
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError fold
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError fold
else
syn region rRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError
syn region rRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError
syn region rRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError
endif
syn match rError "[)\]}]"
syn match rBraceError "[)}]" contained
syn match rCurlyError "[)\]]" contained
syn match rParenError "[\]}]" contained
" Source list of R functions. The list is produced by the Vim-R-plugin
" http://www.vim.org/scripts/script.php?script_id=2628
runtime r-plugin/functions.vim
syn match rDollar display contained "\$"
" List elements will not be highlighted as functions:
syn match rLstElmt "\$[a-zA-Z0-9\\._]*" contains=rDollar
" Functions that may add new objects
syn keyword rPreProc library require attach detach source
if &filetype == "rhelp"
syn match rHelpIdent '\\method'
syn match rHelpIdent '\\S4method'
endif
" Type
syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame
" Name of object with spaces
syn region rNameWSpace start="`" end="`"
if &filetype == "rhelp"
syn match rhPreProc "^#ifdef.*"
syn match rhPreProc "^#endif.*"
syn match rhSection "\\dontrun\>"
endif
" Define the default highlighting.
hi def link rArrow Statement
hi def link rBoolean Boolean
@@ -120,9 +178,16 @@ hi def link rDelimiter Delimiter
hi def link rDollar SpecialChar
hi def link rError Error
hi def link rFloat Float
hi def link rFunction Function
hi def link rHelpIdent Identifier
hi def link rhPreProc PreProc
hi def link rhSection PreCondit
hi def link rInteger Number
hi def link rLstElmt Normal
hi def link rNameWSpace Normal
hi def link rNumber Number
hi def link rOperator Operator
hi def link rOpError Error
hi def link rParenError Error
hi def link rPreProc PreProc
hi def link rRepeat Repeat

View File

@@ -1,7 +1,8 @@
" Vim syntax file
" Language: R Help File
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
" Last Change: 2010 Nov 22
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
" Former Maintainer: Johannes Ranke <jranke@uni-bremen.de>
" Last Change: Sat Feb 19, 2011 02:13PM
" Version: 0.7.4
" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $
" Remarks: - Includes R syntax highlighting in the appropriate
@@ -24,36 +25,46 @@ endif
syn case match
" R help identifiers {{{
" R help identifiers {{{1
syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}" contains=rhelpLink
syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end="}" contained
syn region rhelpIdentifier matchgroup=rhelpSection start="\\Rdversion{" end="}"
" Highlighting of R code using an existing r.vim syntax file if available {{{1
syn include @R syntax/r.vim
syn match rhelpDots "\\dots" containedin=@R
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpSection
syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R
syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R contained
syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink contained
syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots contained
syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
" Strings {{{1
syn region rhelpString start=/"/ end=/"/
syn region rhelpString start=/"/ skip=/\\"/ end=/"/ contains=rhelpSpecialChar,rhelpCodeSpecial,rhelpLink contained
" Special characters ( \$ \& \% \# \{ \} \_) {{{1
" Special characters in R strings
syn match rhelpCodeSpecial display contained "\\\\\(n\|r\|t\|b\|a\|f\|v\|'\|\"\)\|\\\\"
" Special characters ( \$ \& \% \# \{ \} \_)
syn match rhelpSpecialChar "\\[$&%#{}_]"
" R code {{{1
syn match rhelpDots "\\dots" containedin=@R
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpLink,rhelpIdentifier,rhelpString,rhelpSpecialChar,rhelpSection
syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end="}" contains=@R,rhelpIdentifier,rhelpS4method
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end="}" contains=@R
syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end="}" contains=@R
syn region rhelpRcode matchgroup=Delimiter start="\\code{" skip='\\\@<!{.\{-}\\\@<!}' transparent end="}" contains=@R,rhelpDots,rhelpString,rhelpSpecialChar,rhelpLink keepend
syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=")" contains=@R,rhelpDots
syn region rhelpSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter transparent end="}" contains=@R
" PreProc {{{1
syn match rhelpPreProc "^#ifdef.*"
syn match rhelpPreProc "^#endif.*"
" Special Delimiters {{{1
syn match rhelpDelimiter "\\cr"
syn match rhelpDelimiter "\\tab "
" Keywords {{{1
syn match rhelpKeyword "\\R" contained
syn match rhelpKeyword "\\R"
syn match rhelpKeyword "\\ldots"
syn match rhelpKeyword "--"
syn match rhelpKeyword "---"
@@ -111,9 +122,13 @@ syn match rhelpKeyword "\\Psi"
syn match rhelpKeyword "\\Omega"
" Links {{{1
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend extend
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.\{-}\]{" end="}" contained keepend extend
syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend extend
" Verbatim like {{{1
syn region rhelpVerbatim matchgroup=rhelpType start="\\samp{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
syn region rhelpVerbatim matchgroup=rhelpType start="\\verb{" skip='\\\@<!{.\{-}\\\@<!}' end="}" contains=rhelpSpecialChar,rhelpComment
" Type Styles {{{1
syn match rhelpType "\\emph\>"
@@ -123,7 +138,6 @@ syn match rhelpType "\\sQuote\>"
syn match rhelpType "\\dQuote\>"
syn match rhelpType "\\preformatted\>"
syn match rhelpType "\\kbd\>"
syn match rhelpType "\\samp\>"
syn match rhelpType "\\eqn\>"
syn match rhelpType "\\deqn\>"
syn match rhelpType "\\file\>"
@@ -172,6 +186,8 @@ syn match rhelpSection "\\donttest\>"
syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end="}"
syn region rhelpFreesubsec matchgroup=Delimiter start="\\subsection{" matchgroup=Delimiter transparent end="}"
syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}"
" R help file comments {{{1
syn match rhelpComment /%.*$/
@@ -194,17 +210,21 @@ if version >= 508 || !exists("did_rhelp_syntax_inits")
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink rhelpVerbatim String
HiLink rhelpDelimiter Delimiter
HiLink rhelpIdentifier Identifier
HiLink rhelpString String
HiLink rhelpCodeSpecial Special
HiLink rhelpKeyword Keyword
HiLink rhelpDots Keyword
HiLink rhelpLink Underlined
HiLink rhelpType Type
HiLink rhelpType Type
HiLink rhelpSection PreCondit
HiLink rhelpError Error
HiLink rhelpBraceError Error
HiLink rhelpCurlyError Error
HiLink rhelpParenError Error
HiLink rhelpPreProc PreProc
HiLink rhelpDelimiter Delimiter
HiLink rhelpComment Comment
HiLink rhelpRComment Comment

110
runtime/syntax/treetop.vim Normal file
View File

@@ -0,0 +1,110 @@
" Vim syntax file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword treetopTodo
\ contained
\ TODO
\ FIXME
\ XXX
\ NOTE
syn match treetopComment
\ '#.*'
\ display
\ contains=treetopTodo
syn include @treetopRuby syntax/ruby.vim
unlet b:current_syntax
syn keyword treetopKeyword
\ require
\ end
syn region treetopKeyword
\ matchgroup=treetopKeyword
\ start='\<\%(grammar\|include\|module\)\>\ze\s'
\ end='$'
\ transparent
\ oneline
\ keepend
\ contains=@treetopRuby
syn keyword treetopKeyword
\ rule
\ nextgroup=treetopRuleName
\ skipwhite skipnl
syn match treetopGrammarName
\ '\u\w*'
\ contained
syn match treetopRubyModuleName
\ '\u\w*'
\ contained
syn match treetopRuleName
\ '\h\w*'
\ contained
syn region treetopString
\ matchgroup=treetopStringDelimiter
\ start=+"+
\ end=+"+
syn region treetopString
\ matchgroup=treetopStringDelimiter
\ start=+'+
\ end=+'+
syn region treetopCharacterClass
\ matchgroup=treetopCharacterClassDelimiter
\ start=+\[+
\ skip=+\\\]+
\ end=+\]+
syn region treetopRubyBlock
\ matchgroup=treetopRubyBlockDelimiter
\ start=+{+
\ end=+}+
\ contains=@treetopRuby
syn region treetopSemanticPredicate
\ matchgroup=treetopSemanticPredicateDelimiter
\ start=+[!&]{+
\ end=+}+
\ contains=@treetopRuby
syn region treetopSubclassDeclaration
\ matchgroup=treetopSubclassDeclarationDelimiter
\ start=+<+
\ end=+>+
\ contains=@treetopRuby
syn match treetopEllipsis
\ +''+
hi def link treetopTodo Todo
hi def link treetopComment Comment
hi def link treetopKeyword Keyword
hi def link treetopGrammarName Constant
hi def link treetopRubyModuleName Constant
hi def link treetopRuleName Identifier
hi def link treetopString String
hi def link treetopStringDelimiter treetopString
hi def link treetopCharacterClass treetopString
hi def link treetopCharacterClassDelimiter treetopCharacterClass
hi def link treetopRubyBlockDelimiter PreProc
hi def link treetopSemanticPredicateDelimiter PreProc
hi def link treetopSubclassDeclarationDelimiter PreProc
hi def link treetopEllipsis Special
let b:current_syntax = 'treetop'
let &cpo = s:cpo_save
unlet s:cpo_save

112
runtime/syntax/upstart.vim Normal file
View File

@@ -0,0 +1,112 @@
" Vim syntax file
" Language: Upstart job files
" Maintainer: Michael Biebl <biebl@debian.org>
" James Hunt <james.hunt@ubuntu.com>
" Last Change: 2011 Mar 22
" License: GPL v2
" Version: 0.4
" Remark: Syntax highlighting for Upstart (init(8)) job files.
"
" It is inspired by the initng syntax file and includes sh.vim to do the
" highlighting of script blocks.
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
let is_bash = 1
syn include @Shell syntax/sh.vim
syn case match
" avoid need to use 'match' for most events
setlocal iskeyword+=-
syn match upstartComment /#.*$/ contains=upstartTodo
syn keyword upstartTodo TODO FIXME contained
syn region upstartString start=/"/ end=/"/ skip=/\\"/
syn region upstartScript matchgroup=upstartStatement start="script" end="end script" contains=@upstartShellCluster
syn cluster upstartShellCluster contains=@Shell
" one argument
syn keyword upstartStatement description author version instance expect
syn keyword upstartStatement pid kill normal console env exit export
syn keyword upstartStatement umask nice oom chroot chdir exec
" two arguments
syn keyword upstartStatement limit
" one or more arguments (events)
syn keyword upstartStatement emits
syn keyword upstartStatement on start stop
" flag, no parameter
syn keyword upstartStatement respawn service instance manual debug task
" prefix for exec or script
syn keyword upstartOption pre-start post-start pre-stop post-stop
" option for kill
syn keyword upstartOption timeout
" option for oom
syn keyword upstartOption never
" options for console
syn keyword upstartOption output owner
" options for expect
syn keyword upstartOption fork daemon
" options for limit
syn keyword upstartOption unlimited
" 'options' for start/stop on
syn keyword upstartOption and or
" Upstart itself and associated utilities
syn keyword upstartEvent runlevel
syn keyword upstartEvent started
syn keyword upstartEvent starting
syn keyword upstartEvent startup
syn keyword upstartEvent stopped
syn keyword upstartEvent stopping
syn keyword upstartEvent control-alt-delete
syn keyword upstartEvent keyboard-request
syn keyword upstartEvent power-status-changed
" D-Bus
syn keyword upstartEvent dbus-activation
" Display Manager (ie gdm)
syn keyword upstartEvent desktop-session-start
syn keyword upstartEvent login-session-start
" mountall
syn keyword upstartEvent all-swaps
syn keyword upstartEvent filesystem
syn keyword upstartEvent mounted
syn keyword upstartEvent mounting
syn keyword upstartEvent local-filesystems
syn keyword upstartEvent remote-filesystems
syn keyword upstartEvent virtual-filesystems
" SysV umountnfs.sh
syn keyword upstartEvent mounted-remote-filesystems
" upstart-udev-bridge and ifup/down
syn match upstartEvent /\<\i\{-1,}-device-\(added\|removed\|up\|down\)/
" upstart-socket-bridge
syn keyword upstartEvent socket
hi def link upstartComment Comment
hi def link upstartTodo Todo
hi def link upstartString String
hi def link upstartStatement Statement
hi def link upstartOption Type
hi def link upstartEvent Define
let b:current_syntax = "upstart"

View File

@@ -6,7 +6,7 @@
# Similarly for Russian and Korean
all: tutor.utf-8 \
tutor.bj \
tutor.bar \
tutor.ca.utf-8 \
tutor.de.utf-8 \
tutor.el tutor.el.cp737 \
@@ -28,8 +28,8 @@ all: tutor.utf-8 \
tutor.utf-8: tutor
iconv -f ISO-8859-1 -t UTF-8 tutor > tutor.utf-8
tutor.bj: tutor.bj.utf-8
iconv -f UTF-8 -t ISO-8859-1 tutor.bj.utf-8 > tutor.bj
tutor.bar: tutor.bar.utf-8
iconv -f UTF-8 -t ISO-8859-1 tutor.bar.utf-8 > tutor.bar
tutor.ca.utf-8: tutor.ca
iconv -f ISO-8859-1 -t UTF-8 tutor.ca > tutor.ca.utf-8

View File

@@ -1,5 +1,5 @@
===============================================================================
= G o t i k a m i n n W I M M - S c h a i n e r - Fassung 1.7D =
= G o t i k a m i n n W I M M - S c h a i n e r - Fassung 1.7 =
===============================================================================
Dyr Wimm ist ayn gro mächtigs Blat, dös was mit aynn Wösn Befelh aufwartt; z
@@ -12,10 +12,10 @@
OBACHT:
Die Faudungen, wost daader finddst, gaand istig s Gwort öndern. Dösswögn
machst eyn n Böstn glei ayn Aamum von derer Dautticht daader. Haast alsnan
dös Gwort daader mit n Befelh "vimtutor bj" ausherlaassn, ist s ee schoon
dös Gwort daader mit n Befelh "vimtutor bar" ausherlaassn, ist s ee schoon
ayn Aamum.
Mir kan s nit oft gnueg sagn, däß der Schainer daader istig gan n Üebn
ghoert. Also muesst schoon aau die Befelh ausfüern, wennst ys gscheid ler-
ghoert. Also muesst schoon aau die Befelh +ausfüern, wennst ys gscheid ler-
nen willst. Mit n Lösn yllain ist s +nit taan!
Ietz schaust grad non, däß dein Föststölltastn nit druckt ist; und aft geest
@@ -24,7 +24,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 1.1: MIT N MÖRKL UMAYNANDFARN
** Dyrmitst mit n Mörkl umaynandkimmst, druck h, j, k und l wie unt zaigt. **
** Dyrmitst mit n Mörkl umaynandkimmst, druck h, j, k und l wie unt zaigt. **
^ Ayn Öslsbrugg:
k De Tastn h ist winster und +geet aau gan winster.
< h l > S l leit zesm und richtt si gan zesm.
@@ -32,13 +32,13 @@
v Mit n k kimmst gan n KOPF.
1. Ietz ruedertst ainfach mit n Mörkl auf n Bildschirm umaynand, hinst däßst
di sicher füelst.
2. Halt d Abhin-Tastn (j) druckt; aft rumplt s ainfach weiter. Netty yso
2. Halt d Abhin-Tastn (j) druckt; aft rumplt s ainfach weiter. Netty yso
kimmst gan dyr naehstn Letzn.
3. Wie gsait, ietz bewögst di also mit derer Tastn gan dyr Letzn 1.2.
Non öbbs: Allweil, wenn dyr niemer ganz wol ist, wasst öbbenn druckt haast, aft
zipfst <ESC>; naacherd bist wider ganz gwon in dyr Befelhs-Artweis.
zipfst <ESC> ; naacher bist wider ganz gwon in dyr Befelhs-Artweis.
Nöbnbei gsait kimmst gwonerweil aau mit de Pfeiltastnen weiter. Aber
@@ -53,17 +53,17 @@ Non
1. Druck d <ESC>-Tastn, dyrmitst aau gwiß in dyr Befelhs-Artweis bist.
2. Demmlt :q! <EIN>.
2. Demmlt :q!<EIN> .
Daa dyrmit benddst ys Blat und verwirffst allss, wasst öbbenn göndert
haast.
3. Balst önn Eingib seghst, gib dö Faudung ein, wo di zo dönn Schainer brun-
gen haat, also vimtutor bj <EIN>.
gen haat, also vimtutor bar<EIN> .
4. Also, wenn ietz allsse sitzt, naacherd füerst d Schritt 1 hinst 3 aus, mit
wasst ys Blat verlaasst und aft wider einhinkimmst.
Anmörkung: Mit :q! <EIN> verwirffst allss, wasst göndert older enther gschribn
Anmörkung: Mit :q!<EIN> verwirffst allss, wasst göndert older enther gschribn
haast. In aynn Öttlych Letznen lernst acht, wiest dös allss in ayner
Dautticht speichertst.
@@ -73,7 +73,7 @@ Anm
** Druck x , dyrmitst dös Zaichen unter n Mörkl löschst. **
1. Bewög di mit n Mörkl auf de mit ---> angmörkte Zeil unt.
1. Bewög di mit n Mörkl auf de mit ---> angmörkte Zeil unt.
2. Zo n Faeler Verbössern farst mit n Mörkl netty auf dös Zaichen, dös wo
glöscht ghoert.
@@ -96,14 +96,14 @@ Und ganz wichtig: Dyrweilst d
** Druck i , dyrmitst öbbs einfüegst. **
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil, wo mit ---> angeet.
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil, wo mit ---> angeet.
2. Dyrmitst de eerste Zeil wie de zwaitte machst, bewög önn Mörkl auf dös
eerste Zaichen NAACH derer Stöll, daa wo s Gwort eingfüegt werdn sollt.
3. Druck i und gib dös ein, was abgeet.
4. Wenn ieweils ayn Faeler verweitert ist, aft druck <ESC>; und dyrmit kimmst
4. Wenn ieweils ayn Faeler verweitert ist, aft druck <ESC> ; dyrmit kimmst
gan dyr Befelhsartweis zrugg.
So, und ietz tuest ainfach yso weiter, hinst däß dyr Saz stimmt.
@@ -119,15 +119,15 @@ Und ganz wichtig: Dyrweilst d
** Druck A gan n Gwort Anfüegn. **
1. Gee mit n Mörkl gan dyr eerstn untignen Zeil, wo ayn ---> dyrvor haat.
1. Gee mit n Mörkl gan dyr eerstn untignen Zeil, wo ayn ---> dyrvor haat.
Daa ist s gleich, wo gnaun dyr Mörkl in derer Zeil steet.
2. Demmlt A und gib de entspröchetn Ergöntzungen ein.
3. Wennst mit n Anfüegn förtig bist, aft druckst <ESC>, däßst wider eyn de
3. Wennst mit n Anfüegn förtig bist, aft druckst <ESC> , däßst wider eyn de
Befelhsartweis zruggkimmst.
4. So, und ietz geest aft non gan dyr zwaittn mit ---> angmörktn Zeil; und
4. So, und ietz geest aft non gan dyr zwaittn mit ---> angmörktn Zeil; und
daadl machst ys netty yso.
---> In derer Zeil gee
@@ -147,14 +147,14 @@ Und ganz wichtig: Dyrweilst d
1. Verlaaß also s Blat, wie s in dyr Letzn 1.2. haisst, mit :q! !
2. Gib dö Faudung eyn n Eingib ein: vim Schainer <EIN> . 'vim' ruefft s Blat
auf, und 'Schainer' haisst de Dautticht, wost barechtn willst. Dyrmit
2. Gib dö Faudung eyn n Eingib ein: vim Schainer<EIN> . 'vim' ruefft s Blat
auf, und 'Schainer' haisst de Dautticht, wost barechtn willst. Dyrmit
haast also ayn Dautticht, dö wost barechtn kanst.
3. Ietz füegst öbbs ein older löschst öbbs, wiest ys in de vorignen Letznen
glernt haast.
4. Speichert de gönderte Dautticht und verlaaß önn Wimm mit :wq <EIN> .
4. Speichert de gönderte Dautticht und verlaaß önn Wimm mit :wq<EIN> .
5. Schmeiß önn Wimmschainer neu an und gee gan dyr folgetn Zammenfassung.
@@ -166,31 +166,31 @@ Und ganz wichtig: Dyrweilst d
1. Dyr Mörkl werd mit de Tastnen hjkl older aau mit de Pfeiltastnen gsteuert.
h (winst) j (ab) k (auf) l (zes)
2. Um önn Wimm umbb n Eingib aus z ginnen, demmlt: vim DAUTTICHT <EIN> .
2. Um önn Wimm umbb n Eingib aus z ginnen, demmlt: vim DAUTTICHT<EIN> .
3. Willst önn Wimm verlaassn und aau allss verwerffen, aft gibst ein:
<ESC> :q! <EIN> .
Gan n Verlaassn und Speichern aber zipfst <ESC> :wq <EIN>.
<ESC> und :q!<EIN> .
Gan n Verlaassn und Speichern aber zipfst <ESC> und :wq<EIN> .
4. Willst dös Zaichen löschn, daa wo dyr Mörkl drauf ist, demmltst x .
5. Willst öbbs vor n Mörkl eingöbn, zipfst i und drafter <ESC> .
Mechst ys aber eyn s Zeilnend anhinhöngen, benutzt ys A .
Und ainfach naach n Mörkl füegst ys mit a ein .
Und ainfach naach n Mörkl füegst ys mit a ein.
Anmörkung: Druckst <ESC>, kimmst eyn de Befelhsartweis zrugg older brichst ayn
Faudung ab, dö wo dyr schiefgangen ist.
Anmörkung: Druckst <ESC> , kimmst eyn de Befelhsartweis zrugg older brichst
ayn Faudung ab, dö wo dyr schiefgangen ist.
Ietz tue mit dyr Letzn 2 weiter.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 2.1.: LÖSHFAUDUNGEN
** Demmlt dw , dyrmitst ayn Wort löschst **
** Demmlt dw , dyrmitst ayn Wort löschst. **
1. Druck <ESC>, dyrmit s aau gwiß ist, däßst in dyr Befelhsartweis bist.
1. Druck <ESC> , dyrmit s aau gwiß ist, däßst in dyr Befelhsartweis bist.
2. Bewög önn Mörkl zo dyr mit ---> angmörktn Zeil unt.
2. Bewög önn Mörkl zo dyr mit ---> angmörktn Zeil unt.
3. Und daa geest ietz auf n Anfang von aynn Wort, dös wo glöscht ghoert.
@@ -211,9 +211,9 @@ Anm
** Gib d$ ein, däßst hinst eyn s Zeilnend löschst. **
1. Druck <ESC> , dyrmitst aau gwiß in dyr Befelhsartweis bist.
1. Druck <ESC> , dyrmitst aau gwiß in dyr Befelhsartweis bist.
2. Bewög önn Mörkl hinst eyn de mit ---> angmörkte Zeil untn.
2. Bewög önn Mörkl hinst eyn de mit ---> angmörkte Zeil untn.
3. Gee mit n Mörkl auf s End von dyr faelerfreien Zeil, NAACH n eerstn . .
@@ -243,11 +243,11 @@ Anm
Daader also, was i wie löschn kan:
w - hinst eyn n Anfang von n naehstn Wort AANE dönn sein eersts Zaichen.
e - gan n End von n ietzundn Wort MIT dönn seinn lösstn Zaichen.
$ - zo n End von dyr Zeil MIT derer irn lösstn Zaichen.
w - hinst eyn n Anfang von n naehstn Wort AANE dönn sein eersts Zaichen.
e - gan n End von n ietzundn Wort MIT dönn seinn lösstn Zaichen.
$ - zo n End von dyr Zeil MIT derer irn lösstn Zaichen.
Also löscht de Tastnfolg de umbb n Mörkl hinst eyn s Wortend.
Also löscht de Tastnfolg de allss umbb n Mörkl hinst eyn s Wortend.
Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mörkl
entspröchet weiter.
@@ -255,9 +255,9 @@ Anm
Letzn 2.4: MIT AYNN ZÖLER D WOLENDER ÄFERN
** Gib i ayn Zal vor aynn Wolend ein, werd dös Sel halt widerholt. **
** Gib i ayn Zal vor aynn Wolend ein, werd dös Sel entspröchet oft gangen. **
1. Bewög önn Mörkl gan n Anfang von dyr Zeil mit ---> dyrvor unt.
1. Bewög önn Mörkl gan n Anfang von dyr Zeil mit ---> dyrvor unt.
2. Zipf 2w , däßst mit n Mörkl zwai Wörter weitergeest.
@@ -278,13 +278,13 @@ Anm
Letzn 2.5: DURCH AYNN ZÖLER GLEI MEERER LÖSCHN
** Ayn Zal vor aynn Pfemerer äfert dönn um seln Werd. **
** Ayn Zal vor aynn Pfemerer füert dönn entspröchet oft aus. **
Also, i mecht löschn, und zwaar öbbs Bestimmts, und dös so und so oft: Daa
dyrzue benutz i aynn Zöler:
d Zöler Wolend (also önn Bewögungsschrit)
1. Bewög önn Mörkl gan n eerstn Wort in GROOSSBUECHSTABN in dyr mit ---> an-
1. Bewög önn Mörkl zo n eerstn Wort in GROOSSBUECHSTABN in dyr mit ---> an-
gmörktn Zeil.
2. Demmlt d2w , dyrmitst de ganz grooßgschribnen Wörter löschst.
@@ -325,9 +325,9 @@ Anm
** Zipf u , dyrmitst de lösstn Faudungen ruggltst **
** older U , um ayn gantze Zeil widerherzstölln. **
** older U , um ayn gantze Zeil widerherzstölln. **
1. Bewög önn Mörkl gan dyr mit ---> angmörktn Zeil unt und gee dyrmit auf n
1. Bewög önn Mörkl gan dyr mit ---> angmörktn Zeil unt und gee dyrmit auf n
eerstn Faeler.
2. Zipf x , däßst dös eerste z vile Zaichen löschst.
3. Ietz demmlt u , dyrmitst de lösste Faudung ruggltst.
@@ -358,13 +358,13 @@ Anm
Dyr PFEMERER gibt an, WAS taan ghoert, öbbenn d = löschn (»delete«).
[ZAL] - Ayn Zal KAN myn angöbn, wenn myn halt ayn Wolend öfter habn will.
S WOLEND, also dyr Schrit WOHIN, besagt, auf was i aushin will, öbbenn
auf ayn Wort ( w ), s End von dyr Zeil ( $ ) und so weiter.
auf aynn Wortanfang ( w ), s End von dyr Zeil ( $ ) und so weiter.
6. Däßst eyn n Anfang von dyr Zeil hinkimmst, schreib aynn Nuller: 0
7. Um öbbs Vorigs wider z ruggln, gib ein: u (klain also)
Um allsand Önderungen in ayner Zeil z ruggln, haast: U (also grooß)
Um "rugg-z-ruggln", also allss wider herzstölln, zipf: <STRG>r
Um "rugg-z-ruggln", also allss wider herzstölln, zipf: <STRG>r
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 3.1: ANFÜEGN (»put«)
@@ -372,10 +372,10 @@ Anm
** Zipf p , dyrmitst öbbs gnetty Glöschts naach n Mörkl anfüegst. **
1. Bewög önn Mörkl gan dyr eerstn untignen Zeil mit ---> dyrvor.
1. Bewög önn Mörkl gan dyr eerstn untignen Zeil mit ---> dyrvor.
2. Zipf dd , um sele Zeil z löschn und dyrmit in aynn Wimm-"Roster" zo n
speichern.
2. Zipf dd , um sele Zeil z löschn und dyrmit in ayner Wimm-Osn zo n Spei-
chern.
3. Bewög önn Mörkl gan dyr Zeil c), ÜBER derer, daa wo de glöschte Zeil ein-
hinkemmen sollt.
@@ -395,7 +395,7 @@ Anm
** Zipf rx , um dös Zaichen unter n Mörkl durch x z ersötzn. **
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil mit ---> dyrvor.
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil mit ---> dyrvor.
2. Bewög önn Mörkl, hinst däß yr auf n eerstn Faeler steet.
@@ -418,13 +418,13 @@ Anm
** Um hinst eyn s Wortend z öndern, zipf ce . **
1. Gee mit n Mörkl auf de eerste mit ---> angmörkte Zeil.
1. Gee mit n Mörkl auf de eerste mit ---> angmörkte Zeil.
2. Ietz farst netty auf s "s" von Wstwr hin.
3. Zipf ce ein und aft d Wortberichtigung, daader also örter .
4. Druck <ESC> und bewög önn Mörkl gan n naehstn Zaichen, wo göndert ghoert.
4. Druck <ESC> und bewög önn Mörkl zo n naehstn Zaichen, wo göndert ghoert.
5. Äfert d Schritt 3 und 4, hinst däß dyr eerste Saz wie dyr zwaitte ist.
@@ -443,12 +443,12 @@ ce l
1. Dyr Önder-Pfemerer arechtt anleich wie d Löshfaudung mit d , und zwaar
yso:
c [Zal] Bewögungsschritt (Wolend)
c [Zal] Bewögungsschrit (Wolend)
2. D Wolender seind de gleichn, öbbenn w für Wort und $ für s Zeilnend.
2. D Wolender seind de gleichn, öbbenn w für Wort und $ für s Zeilnend.
3. Bewög di zo dyr eerstn untignen Zeil mit ---> .
3. Bewög di zo dyr eerstn untignen Zeil mit ---> .
4. Ietz geest auf dönn eerstn Faeler.
@@ -494,14 +494,14 @@ Anm
Mörk dyr de Zeilnnummer für n Schrit 3.
Anmörkung: Müglicherweis seghst aau önn Mörklbefand in n zesmen untern Bild-
schirmögg. Aft ist s "Lindl" (»ruler«) eingstöllt; schau dyrzue mit
n Befelh :help 'ruler' naach.
schirmögg. Aft ist s "Lindl" (»ruler«) eingstöllt; meerer über dös
laasst dyr dyr Befelh :help 'ruler' ausher.
2. Druck G , um an s End von dyr Dautticht z kemmen.
gg gibst ein, däßst gan n Anfang von dyr Dautticht aufhinkimmst.
3. Gib d Nummer von derer Zeil ein, daa wost vorher warst, und aft non G .
Dös bringt di zrugg gan seler Zeil, daa wost stuenddst, wiest dös eerste
Maal <STRG>g gadruckst.
Maal <STRG>g gadruckst.
4. Wennst di sicher gnueg füelst, aft füer d Schritt 1 hinst 3 aus.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -513,15 +513,15 @@ Anm
1. Du gibst also in dyr Befelhsartweis s Zaichen / ein. Dös sel wie aau dyr
Mörkl erscheinend drauf unt auf n Schirm, netty wie bei dyr Faudung : .
2. Ietz zipf 'Faeeler' <EIN>. Netty um dös 'Faeeler' willst ietz suechen.
2. Ietz zipf Faeeler<EIN> . Netty um dös 'Faeeler' willst ietz suechen.
3. Willst um gnaun dönn Ausdruk weitersuechen, zipf ainfach n (wie »next«).
Willst hinzrugg suechen, aft gibst N ein.
4. Um von Haus aus zruggaus z suechen, nimm ? statt / her.
5. Dyrmitst wider daa hinkimmst, wost herkemmen bist, druck <STRG>o, und dös
öfter, wennst weiter zrugg willst. Mit <STRG>i widerum kimmst vorwärts.
5. Dyrmitst wider daa hinkimmst, wost herkemmen bist, nimm <STRG>o , und dös
öfter, wennst weiter zrugg willst. Mit <STRG>i widerum kimmst vorwärts.
---> Aynn Faeler schreibt myn nit "Faeeler"; Faeeler ist ayn Faeler
@@ -534,7 +534,7 @@ Anm
** Zipf % , um de entspröchete Klammer ) , ] older } z finddn. **
1. Sötz önn Mörkl auf iewign aine von dene drei Klammern ( , [ older {
in dyr untignen Zeil, wo mit ---> angmörkt ist.
in dyr untignen Zeil, wo mit ---> angmörkt ist.
2. Ietzet zipf s Zaichen % .
@@ -556,7 +556,7 @@ Anm
** Zipf :s/alt/neu/g , um 'alt' durch 'neu' zo n Ersötzn. **
1. Gee mit n Mörkl zo dyr unt steehetn mit ---> angmörktn Zeil.
1. Gee mit n Mörkl zo dyr unt steehetn mit ---> angmörktn Zeil.
2. Zipf :s/dee/de <EIN> . Der Befelh ersötzt alsnan grad dös +eerste "dee",
wo vürkimmt.
@@ -577,60 +577,60 @@ Anm
ZAMMENFASSUNG VON DYR LETZN 4
1. <STRG>g zaigt dönn ietzundn Dauttichtbefand und önn Darstand dyrvon an.
G bringt di an s End von dyr Dautticht.
<Zal> G bringt di gan dyr entspröchetn Zeilnnummer.
gg bringt di zo dyr eerstn Zeil.
G bringt di an s End von dyr Dautticht.
<Zal>G bringt di gan dyr entspröchetn Zeilnnummer.
<Zal>gg geet +grad yso.
gg bringt di zo dyr eerstn Zeil.
2. D Eingaab von / mit aynn Ausdruk suecht VÜRSHLING um dönn Ausdruk.
Gibst ? und aynn Suechbegrif ein, suecht s um dönn ÄRSHLING.
Zipf naach ayner Suech n ; naacherd werd in de gleiche Richtung weiter-
gsuecht. Mit N geet s umkeerter weiter.
<STRG>o bringt di zo ölterne Befändd zrugg, <STRG>i zo neuerne.
gsuecht. Mit N geet s umkeerter weiter.
<STRG>o bringt di zo ölterne Befändd zrugg, <STRG>i zo neuerne.
3. D Eingaab von % , wenn dyr Mörkl auf ainer von dene Klammern steet: ({[
)]} , bringt di zo dyr Gögnklammer.
4. Um dös eerste Vürkemmen von "alt" in ayner Zeil durch "neu" z ersötzn,
zipf :s/alt/neu .
Um allsand in ayner Zeil z ersötzn, zipf :s/alt/neu/g .
4. Um dös eerste Vürkemmen von "alt" in ayner Zeil durch "neu" z ersötzn,
zipf :s/alt/neu .
Um allsand in ayner Zeil z ersötzn, zipf :s/alt/neu/g .
Mechst allss in zwo Zeiln ersötzn, demmlt zo n Beispil :5,6s/alt/neu/g .
Mechst allss in dyr gantzn Dautticht ersötzn, gib ein: :%s/alt/neu/g .
Mechst allss in dyr gantzn Dautticht ersötzn, gib ein: :%s/alt/neu/g .
Willst ayn ieds Maal bstaetln, höng 'c' wie »confirm« hint anhin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.1: ZWISCHNDRINN AYNN AUSSERIGNEN BEFELH AUSFÜERN
** Willst ayn Gfäßfaudung ausfüern, gib ainfach dö sel naach :! ein. **
** Willst ayn Gfäßfaudung ausfüern, gib ainfach dö sel naach :! ein. **
1. Zipf dönn bekanntn Befelh : , dyrmitst mit n Mörkl auf n Bildschirm
ganz abhin kimmst. Draufhin kanst aynn gwonen Gfäßbefelh eingöbn.
2. Zeerst kimmt aber non ayn Ruefzaichen ! . Und ietz haast de Müglich-
2. Zeerst kimmt aber non ayn Ruefzaichen ! . Und ietzet haast d Müglich-
keit, ayn beliebige ausserige Gfäßfaudung auszfüern.
3. Als Beispil zipf :!ls <EIN> ; und schoon haast ayn Auflistung von deinn
3. Als Beispil zipf :!ls<EIN> ; und schoon haast ayn Auflistung von deinn
Verzaichniss, netty wie wennst ganz gwon in n Eingib wärst. Geet ls
aus iewign aynn Grund nit, aft pröblt s mit :!dir <EIN> .
aus iewign aynn Grund nit, aft pröblt s mit :!dir<EIN> .
Also non aynmaal: Mit dönn Angang kan ayn iede beliebige ausserige Faudung aus-
gfüert werdn, aau mit Auerwerdd.
Und wolgmörkt: Allsand Befelh, wo mit : angeend, müessend mit <EIN> bstö-
tigt werdn. Dös dyrsagn myr vürbaß niemer.
Und wolgmörkt: Alle Befelh, wo mit : angeend, müessend mit <EIN> bstö-
tigt werdn. Dös dyrsagn myr fürbaß +niemer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.2: NON MEERER DRÜBER, WIE MYN DAUTTICHTN SCHREIBT
** Um öbbs Gönderts neu z speichern, zipf :w NEUER_DAUTTICHTNAM. **
** Um öbbs Gönderts neu z speichern, zipf :w NEUER_DAUTTICHTNAM . **
1. Zipf :!dir older :!ls , däßst dyr ayn Auflistung von deinn Verzaich-
niss ausherlaasst. Däßst dyrnaach <EIN> eingöbn muesst, waisst ee schoon.
niss ausherlaasst. Däßst drafter <EIN> eingöbn muesst, waisst ee schoon.
2. Suech dyr aynn Dauttichtnam aus, dönn wo s non nit geit, öbbenn POCH.
2. Suech dyr aynn Dauttichtnam aus, dönn wo s non nit geit, öbbenn POCH .
3. Ietz demmlt: :w POCH (also mit POCH als dönn neuen Dauttichtnam).
3. Ietz demmlt: :w POCH (also mit POCH als dönn neuen Dauttichtnam).
4. Dös speichert ietz de gantze Dautticht, also önn Wimmschainer, unter dönn
Nam POCH. Dös kanst leicht überprüeffen, indem däßst ainfach :!ls older
@@ -641,7 +641,7 @@ Anm
wiest n gspeichert haast.
5. Ietz verweitert dö Dautticht - fallsst s Fenstl haast - , mit :!del POCH
beziehungsweis bei aynn Ainslgebäu mit :!rm POCH .
beziehungsweis bei aynn Unixgebäu mit :!rm POCH .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.3: AYNN TAIL VON N GWORT ZO N SPEICHERN AUSWALN
@@ -655,15 +655,15 @@ Anm
3. Druck s Zaichen : . Ganz unt auf n Bildschirm erscheint :'<,'> .
4. Zipf w POCH , wobei s dönn Dauttichtnam POCH non nit geit. Vergwiß di,
däßst dös :'<,'>w POCH aau +seghst, ee wennst <EIN> druckst.
däßst dös :'<,'>w POCH aau +seghst, ee wennst <EIN> druckst.
5. Dyr Wimm schreibt de ausgwaltn Zeil eyn de Dautticht POCH einhin. Benutz
5. Dyr Wimm schreibt de ausgwaltn Zeiln eyn de Dautticht POCH einhin. Benutz
:!dir older :!ls , däßst dös überprüeffst. Lösh s fein nit öbbenn! Mir
brauchend s nömlich für de naehste Letzn.
Anmörkung: Druckt myn v , ginnt d Sichtisch-Auswal. Du kanst mit n Mörkl um-
aynandfarn, um d Auswal z veröndern. Drafter kan myn mit yn aynn
Pfemerer mit dönn Gwort öbbs machen. Zo n Beispil löscht d dös
Pfemerer mit dönn Gwort öbbs machen. Zo n Beispil löscht d dös
Gwort.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.4: EINLÖSN UND ZAMMENFÜERN VON DAUTTICHTN
@@ -692,10 +692,10 @@ Anm
ZAMMENFASSUNG VON DYR LETZN 5
1. :!FAUDUNG füert aynn ausserignen Befelh aus.
1. :!FAUDUNG füert aynn ausserignen Befelh aus.
Daader ayn Öttlych gwänddte Beispiler:
(Fenstl) (Ainsl - Leinsl)
(Fenstl) (Unix - Linux)
:!dir :!ls - listt s Verzaichniss auf.
:!del DAUTTICHT :!rm DAUTTICHT - verweitert sele Dautticht.
@@ -715,19 +715,19 @@ Anm
Letzn 6.1: ZEIL ÖFFNEN (»open«)
** Zipf o, um ayn Zeil unterhalb n Mörkl z öffnen und eyn d **
** Zipf o , um ayn Zeil unterhalb n Mörkl z öffnen und eyn d **
** Einfüegartweis z kemmen. **
1. Bewög önn Mörkl zo dyr eerstn mit ---> angmörktn Zeil unt.
1. Bewög önn Mörkl zo dyr eerstn mit ---> angmörktn Zeil unt.
2. Zipf o (klain), um ayn Zeil UNTERHALB n Mörkl z öffnen und mit dyr Ein-
2. Zipf o (klain), um ayn Zeil UNTERHALB n Mörkl z öffnen und mit dyr Ein-
füegartweis weiterztuen.
3. Ietz zipf ayn Weeng ayn Gwort und druck <ESC>, um d Einfüegartweis z ver-
3. Ietzet zipf ayn Weeng öbbs und druck <ESC> , um d Einfüegartweis z ver-
laassn.
---> Mit o werd dyr Mörkl auf de offene Zeil in dyr Einfüegartweis gsötzt.
---> Mit o werd dyr Mörkl in dyr Einfüegartweis auf de offene Zeil gsötzt.
4. Um ayn Zeil OBERHALB n Mörkl aufzmachen, gib ainfach aynn groosss O statt
4. Um ayn Zeil OBERHALB n Mörkl aufzmachen, gib ainfach ayn groosss O statt
yn aynn klainen ein. Versuech dös auf dyr untignen Zeil.
---> Öffnet ayn Zeil über derer daader mit O , wenn dyr Mörkl auf derer Zeil
@@ -740,14 +740,14 @@ Anm
** Zipf a , um öbbs NAACH n Mörkl einzfüegn. **
1. Bewög önn Mörkl gan n Anfang von dyr eerstn Üebungszeil mit ---> unt.
1. Bewög önn Mörkl gan n Anfang von dyr eerstn Üebungszeil mit ---> unt.
2. Druck e , hinst däß dyr Mörkl an n End von Zei steet.
3. Zipf ayn klains a , um öbbs NAACH n Mörkl anzfüegn.
4. Vergöntz dös Wort wie in dyr Zeil drunter. Druck <ESC>, um d Schreib-Art-
weis z verlaassn.
4. Vergöntz dös Wort wie in dyr Zeil drunter. Druck <ESC> , um d Schreib-
Artweis z verlaassn.
5. Bewög di mit e zo n naehstn ungantzn Wort und widerhol d Schritt 3 und
4.
@@ -763,13 +763,13 @@ Anm
** Demmlt ayn groosss R , um meerer als wie grad ain Zaichen z ersötzn. **
1. Bewög önn Mörkl zo dyr eerstn untignen, mit ---> angmörktn Zeil.
1. Bewög önn Mörkl zo dyr eerstn untignen, mit ---> angmörktn Zeil.
Gee mit n Mörkl gan n Anfang von n eerstn xxx .
2. Ietz druck R und zipf sele Zal, wo drunter in dyr zwaittn Zeil steet,
yso däß de sel s xxx ersötzt.
3. Druck <ESC> , um d Ersötzungsartweis z verlaassn. Du gspannst, däß dyr
3. Druck <ESC> , um d Ersötzungsartweis z verlaassn. Du gspannst, däß dyr
Rest von dyr Zeil unveröndert bleibt.
4. Äfert die Schritt, um dös überblibne xxx z ersötzn.
@@ -795,14 +795,14 @@ Anm
5. Demmlt p , um dös Gwort einzfüegn, und aft: a zwaitte <ESC> .
6. Benutz d Sichtischartweis, um " Eintrag." auszwaln, aam s pfelfs y, be-
6. Benutz d Sichtischartweis, um " Eintrag." auszwaln, aam s mittls y , be-
wög di gan n End von dyr naehstn Zeil mit j$ und füeg s Gwort dortn mit
p an.
---> a) dös ist dyr eerste Eintrag.
b)
Anmörkung: Du kanst y aau als Pfemerer verwenddn; yw aamt ain Wort.
Anmörkung: Du kanst y aau als Pfemerer verwenddn; yw zo n Beispil aamt
hinst eyn n naehstn Wortanfang (aane dönn selber).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 6.5: SCHALTTER SÖTZN
@@ -829,18 +829,18 @@ Anm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZAMMENFASSUNG VON DYR LETZN 6
1. Zipf o , um ayn Zeil UNTERHALB n Mörkl z öffnen und d Einfüegartweis z
ginnen.
Zipf O , um ayn Zeil OBERHALB n Mörkl z öffnen.
1. Zipf o , um ayn Zeil UNTERHALB n Mörkl z öffnen und d Einfüegartweis z
ginnen.
Zipf O , um ayn Zeil OBERHALB n Mörkl z öffnen.
2. Zipf a , um NAACH n Mörkl ayn Gwort einzfüegn.
Zipf A , um ayn Gwort naach n Zeilnend anzfüegn.
2. Zipf a , um NAACH n Mörkl ayn Gwort einzfüegn.
Zipf A , um ayn Gwort naach n Zeilnend anzfüegn.
3. D Faudung e bringt di gan n End von aynn Wort.
4. Dyr Pfemerer y (»yank«) aamt öbbs, p (»put«) füegt dös ein.
5. Ayn groosss R geet eyn d Ersötzungsartweis, hinst däß myn <ESC> druckt.
5. Ayn groosss R geet eyn d Ersötzungsartweis, hinst däß myn <ESC> druckt.
6. D Eingaab von ":set xxx" sötzt de Zwisl "xxx". Ayn Öttlych Zwisln seind:
'ic' 'ignorecase' Grooß/klain wurst bei ayner Suech
@@ -853,7 +853,7 @@ Anm
Letzn 7.1: AYN HILFGWORT AUFRUEFFEN
** Nutz dös einbaute Hilfgebäu, de "Betribsanlaittung" **
** Nutz dös einbaute Hilfgebäu, de "Betribsanlaittung". **
Eyn n Wimm ist ayn ausfüerliche "Gebrauchsanweisung" einbaut. Für s Eerste
pröblt ainfach ains von dene dreu aus:
@@ -866,7 +866,7 @@ Anm
Demmlt :q <EIN> , um s Hilffenster zo n Schliessn.
Du kanst zo so guet wie allssand ayn Hilf finddn, indem däßst yn dyr Faudung
:help aynn Auerwerd naachstöllst und istig <EIN> nit vergisst. Pröblt dös:
:help aynn Auerwerd naachstöllst und istig <EIN> nit vergisst. Pröblt dös:
:help w
:help c_CTRL-D
@@ -876,14 +876,14 @@ Anm
Letzn 7.2: ERSTÖLL AYN GIN-SCHRIPF
** Mutz önn Wimm mit de einbautn Faehigkeitn auf **
** Mutz önn Wimm mit de einbautn Faehigkeitn auf. **
Dyr Wimm besitzt ayn Wösn Schäftungen, wo über n Urwimm aushingeend, aber de
meerern dyrvon seind in dyr Vorgaab ausgschaltt. Dyrmitst meerer aus n Wimm
ausherholst, erstöllst ayn "vimrc"-Dautticht.
1. Lög ayn "vimrc"-Dautticht an; dös geet ie naach Betribsgebäu verschidn:
:e ~/.vimrc für s Ainsl
:e ~/.vimrc für s Unix
:e $VIM/_vimrc bei n Fenstl
2. Ietz lis önn Inhalt von dyr Beispil-"vimrc"-Dautticht ein:
@@ -892,14 +892,14 @@ Anm
3. Speichert de Dautticht mit:
:w
4. Bei n naehstn Gin von n Wimm ist aft d Füegnussvürherhöbung zuegschaltt.
4. Bei n naehstn Gin von n Wimm ist aft d Füegnussvürherhöbung zuegschalttn.
Du kanst dyr allss eyn dö Dautticht einhinschreibn, wasst bständig habn
willst. Meerer dyrzue erfarst unter: :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 7.3: VERGÖNTZN
** Befelhszeilnvergöntzung mit <STRG>d und <TAB> **
** Befelhszeilnvergöntzung mit <STRG>d und <TAB> **
1. Vergwiß di, däß dyr Wimm nit auf n Urwimm-"Glais" fart: :set nocp
@@ -907,22 +907,22 @@ Anm
older :!dir
3. Zipf önn Anfang von ayner Faudung: :e
4. Druck <STRG>d , und dyr Wimm zaigt ayn Listn von Faudungen, wo mit "e"
4. Druck <STRG>d , und dyr Wimm zaigt ayn Listn von Faudungen, wo mit "e"
angeend.
5. Druck <TAB> , und dyr Wimm vervollstöndigt önn Faudungsnam zo ":edit".
5. Druck <TAB> , und dyr Wimm vervollstöndigt önn Faudungsnam zo ":edit".
6. Füeg ayn Laerzaichen und önn Anfang von ayner besteehetn Dautticht an:
:edit DAU
7. Druck <TAB>. Dyr Wimm vergöntzt önn Nam, dös haisst, wenn yr aindeuttig
7. Druck <TAB> . Dyr Wimm vergöntzt önn Nam, dös haisst, wenn yr aindeuttig
ist.
Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfach
<STRG>d und <TAB>. Bsunders nützlich ist dös bei :help .
<STRG>d und <TAB> . Bsunders nützlich ist dös bei :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZAMMENFASSUNG VON DYR LETZN 7
1. Zipf :help older druck <F1> older <HILF>, um ayn Hilffenster z öffnen.
1. Zipf :help oder druck <F1> oder <HILF> , um ayn Hilffenster z öffnen.
2. Zipf :help FAUDUNG , um auf ayn Hilf gan aynn Befelh z kemmen.
@@ -932,9 +932,9 @@ Anm
5. Erstöll ayn vimrc-Ginschripf zuer Sicherung von deine Mötzneinstöllungen.
6. Druck <STRG>d, aft däßst naach : mit ayner Faudung angfangt haast, dyr-
6. Druck <STRG>d , aft däßst naach : ayn Faudung angfangt haast, dyr-
mitst mügliche Vergöntzungen anzaigt kriegst.
Druck <TAB> für ain Vervollstöndigung yllain.
Druck <TAB> für ain Vervollstöndigung yllain.
@@ -944,10 +944,10 @@ Anm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dös wär ietzet s End von n Wimmschainer. Gangen ist s daa drum, aynn kurtzn
und bündignen Überblik über s Blat WIMM z lifern, netty vil gnueg, däß myn
und bündignen Überblik über s Blat WIMM z lifern, netty vil gnueg, däß myn
für s Eerste wirklich öbbs dyrmit anfangen kan. Dyrmit ist s aber auf kain
Weitn non nit taan; dyr Wimm haat schoon non vil meerer auf Lager. Lis als
Naehsts aynmaal s Benutzerhandbuech: :help user-manual .
Naehsts aynmaal s Benutzerhandbuech: :help user-manual
Zo n Weiterlösn und Weiterlernen wör dös Buech daader zo n Empfelhen:
Vim - Vi Improved - von n OUALLINE Steve
@@ -962,26 +962,20 @@ Anm
3897211262
In dönn Buech kan myn fast allss finddn, was myn mit n Urwimm angeen mecht.
De söxte Ausgaab enthaltt aau schoon öbbs über n Wimm.
Als ietzunde Bezugniss für d Fassung 6.2 und ayn pfrenge Einfüerung dient
dös folgete Buech:
Als ietzunde Bezugniss für d Fassung 7 und ayn pfrenge Einfüerung dient dös
folgete Buech:
vim ge-packt von n WOBST Reinhard
mitp-Verlaag, Buechlaittzal 3-8266-1425-9
mitp-Verlaag, Buechlaittzal 978-3-8266-1781-2
Trotz dyr recht pfrengen Darstöllung ist s durch seine viln nützlichnen Bei-
spiler aau für Einsteiger grad grecht. Probhaeupster und de Beispilschripfer
seind zesig zo n Kriegn; see http://iccf-holland.org/click5.html
seind zesig zo n Kriegn; see http://iccf-holland.org/click5.html
Verfasst habnd dönn Schainer dyr PIERCE Michael C. und WARE Robert K. von dyr
Kolraader Knappnschuel (Colorado School of Mines). Er beruet auf Entwürff, wo
dyr SMITH Charles von dyr Kolraader Allschuel (Colorado State University)
zuer Verfüegung gstöllt haat. Gundpost: bware@mines.colorado.edu.
zuer Verfüegung gstöllt haat. Gundpost: bware@mines.colorado.edu
Für n Wimm haat n dyr MOOLENAAR Bram barechtt.
De bairische Übersötzung stammt von n HELL Sepp 2009. Sein Gundpostbrächt ist
sturmibund@t-online.de
De bairische Übersötzung stammt von n HELL Sepp 2009, ayn Weeng überarechtt
2011. Sein Gundpostbrächt ist sturmibund@t-online.de
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -1,5 +1,5 @@
===============================================================================
= G o t i k a m i n n W I M M - S c h a i n e r - Fassung 1.7D =
= G o t i k a m i n n W I M M - S c h a i n e r - Fassung 1.7 =
===============================================================================
Dyr Wimm ist ayn gro mächtigs Blat, dös was mit aynn Wösn Befelh aufwartt; z
@@ -12,10 +12,10 @@
OBACHT:
Die Faudungen, wost daader finddst, gaand istig s Gwort öndern. Dösswögn
machst eyn n Böstn glei ayn Aamum von derer Dautticht daader. Haast alsnan
dös Gwort daader mit n Befelh "vimtutor bj" ausherlaassn, ist s ee schoon
dös Gwort daader mit n Befelh "vimtutor bar" ausherlaassn, ist s ee schoon
ayn Aamum.
Mir kan s nit oft gnueg sagn, däß der Schainer daader istig gan n Üebn
ghoert. Also muesst schoon aau die Befelh ausfüern, wennst ys gscheid ler-
ghoert. Also muesst schoon aau die Befelh +ausfüern, wennst ys gscheid ler-
nen willst. Mit n Lösn yllain ist s +nit taan!
Ietz schaust grad non, däß dein Föststölltastn nit druckt ist; und aft geest
@@ -24,7 +24,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 1.1: MIT N MÖRKL UMAYNANDFARN
** Dyrmitst mit n Mörkl umaynandkimmst, druck h, j, k und l wie unt zaigt. **
** Dyrmitst mit n Mörkl umaynandkimmst, druck h, j, k und l wie unt zaigt. **
^ Ayn Öslsbrugg:
k De Tastn h ist winster und +geet aau gan winster.
< h l > S l leit zesm und richtt si gan zesm.
@@ -32,13 +32,13 @@
v Mit n k kimmst gan n KOPF.
1. Ietz ruedertst ainfach mit n Mörkl auf n Bildschirm umaynand, hinst däßst
di sicher füelst.
2. Halt d Abhin-Tastn (j) druckt; aft rumplt s ainfach weiter. Netty yso
2. Halt d Abhin-Tastn (j) druckt; aft rumplt s ainfach weiter. Netty yso
kimmst gan dyr naehstn Letzn.
3. Wie gsait, ietz bewögst di also mit derer Tastn gan dyr Letzn 1.2.
Non öbbs: Allweil, wenn dyr niemer ganz wol ist, wasst öbbenn druckt haast, aft
zipfst <ESC>; naacherd bist wider ganz gwon in dyr Befelhs-Artweis.
zipfst <ESC> ; naacher bist wider ganz gwon in dyr Befelhs-Artweis.
Nöbnbei gsait kimmst gwonerweil aau mit de Pfeiltastnen weiter. Aber
@@ -53,17 +53,17 @@ Non öbbs: Allweil, wenn dyr niemer ganz wol ist, wasst öbbenn druckt haast, af
1. Druck d <ESC>-Tastn, dyrmitst aau gwiß in dyr Befelhs-Artweis bist.
2. Demmlt :q! <EIN>.
2. Demmlt :q!<EIN> .
Daa dyrmit benddst ys Blat und verwirffst allss, wasst öbbenn göndert
haast.
3. Balst önn Eingib seghst, gib dö Faudung ein, wo di zo dönn Schainer brun-
gen haat, also vimtutor bj <EIN>.
gen haat, also vimtutor bar<EIN> .
4. Also, wenn ietz allsse sitzt, naacherd füerst d Schritt 1 hinst 3 aus, mit
wasst ys Blat verlaasst und aft wider einhinkimmst.
Anmörkung: Mit :q! <EIN> verwirffst allss, wasst göndert older enther gschribn
Anmörkung: Mit :q!<EIN> verwirffst allss, wasst göndert older enther gschribn
haast. In aynn Öttlych Letznen lernst acht, wiest dös allss in ayner
Dautticht speichertst.
@@ -73,7 +73,7 @@ Anmörkung: Mit :q! <EIN> verwirffst allss, wasst göndert older enther gschrib
** Druck x , dyrmitst dös Zaichen unter n Mörkl löschst. **
1. Bewög di mit n Mörkl auf de mit ---> angmörkte Zeil unt.
1. Bewög di mit n Mörkl auf de mit ---> angmörkte Zeil unt.
2. Zo n Faeler Verbössern farst mit n Mörkl netty auf dös Zaichen, dös wo
glöscht ghoert.
@@ -96,14 +96,14 @@ Und ganz wichtig: Dyrweilst dönn Schainer durcharechtst, versuech nit öbbenn
** Druck i , dyrmitst öbbs einfüegst. **
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil, wo mit ---> angeet.
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil, wo mit ---> angeet.
2. Dyrmitst de eerste Zeil wie de zwaitte machst, bewög önn Mörkl auf dös
eerste Zaichen NAACH derer Stöll, daa wo s Gwort eingfüegt werdn sollt.
3. Druck i und gib dös ein, was abgeet.
4. Wenn ieweils ayn Faeler verweitert ist, aft druck <ESC>; und dyrmit kimmst
4. Wenn ieweils ayn Faeler verweitert ist, aft druck <ESC> ; dyrmit kimmst
gan dyr Befelhsartweis zrugg.
So, und ietz tuest ainfach yso weiter, hinst däß dyr Saz stimmt.
@@ -119,15 +119,15 @@ Und ganz wichtig: Dyrweilst dönn Schainer durcharechtst, versuech nit öbbenn
** Druck A gan n Gwort Anfüegn. **
1. Gee mit n Mörkl gan dyr eerstn untignen Zeil, wo ayn ---> dyrvor haat.
1. Gee mit n Mörkl gan dyr eerstn untignen Zeil, wo ayn ---> dyrvor haat.
Daa ist s gleich, wo gnaun dyr Mörkl in derer Zeil steet.
2. Demmlt A und gib de entspröchetn Ergöntzungen ein.
3. Wennst mit n Anfüegn förtig bist, aft druckst <ESC>, däßst wider eyn de
3. Wennst mit n Anfüegn förtig bist, aft druckst <ESC> , däßst wider eyn de
Befelhsartweis zruggkimmst.
4. So, und ietz geest aft non gan dyr zwaittn mit ---> angmörktn Zeil; und
4. So, und ietz geest aft non gan dyr zwaittn mit ---> angmörktn Zeil; und
daadl machst ys netty yso.
---> In derer Zeil gee
@@ -147,14 +147,14 @@ Und ganz wichtig: Dyrweilst dönn Schainer durcharechtst, versuech nit öbbenn
1. Verlaaß also s Blat, wie s in dyr Letzn 1.2. haisst, mit :q! !
2. Gib dö Faudung eyn n Eingib ein: vim Schainer <EIN> . 'vim' ruefft s Blat
auf, und 'Schainer' haisst de Dautticht, wost barechtn willst. Dyrmit
2. Gib dö Faudung eyn n Eingib ein: vim Schainer<EIN> . 'vim' ruefft s Blat
auf, und 'Schainer' haisst de Dautticht, wost barechtn willst. Dyrmit
haast also ayn Dautticht, dö wost barechtn kanst.
3. Ietz füegst öbbs ein older löschst öbbs, wiest ys in de vorignen Letznen
glernt haast.
4. Speichert de gönderte Dautticht und verlaaß önn Wimm mit :wq <EIN> .
4. Speichert de gönderte Dautticht und verlaaß önn Wimm mit :wq<EIN> .
5. Schmeiß önn Wimmschainer neu an und gee gan dyr folgetn Zammenfassung.
@@ -166,31 +166,31 @@ Und ganz wichtig: Dyrweilst dönn Schainer durcharechtst, versuech nit öbbenn
1. Dyr Mörkl werd mit de Tastnen hjkl older aau mit de Pfeiltastnen gsteuert.
h (winst) j (ab) k (auf) l (zes)
2. Um önn Wimm umbb n Eingib aus z ginnen, demmlt: vim DAUTTICHT <EIN> .
2. Um önn Wimm umbb n Eingib aus z ginnen, demmlt: vim DAUTTICHT<EIN> .
3. Willst önn Wimm verlaassn und aau allss verwerffen, aft gibst ein:
<ESC> :q! <EIN> .
Gan n Verlaassn und Speichern aber zipfst <ESC> :wq <EIN>.
<ESC> und :q!<EIN> .
Gan n Verlaassn und Speichern aber zipfst <ESC> und :wq<EIN> .
4. Willst dös Zaichen löschn, daa wo dyr Mörkl drauf ist, demmltst x .
5. Willst öbbs vor n Mörkl eingöbn, zipfst i und drafter <ESC> .
Mechst ys aber eyn s Zeilnend anhinhöngen, benutzt ys A .
Und ainfach naach n Mörkl füegst ys mit a ein .
Und ainfach naach n Mörkl füegst ys mit a ein.
Anmörkung: Druckst <ESC>, kimmst eyn de Befelhsartweis zrugg older brichst ayn
Faudung ab, dö wo dyr schiefgangen ist.
Anmörkung: Druckst <ESC> , kimmst eyn de Befelhsartweis zrugg older brichst
ayn Faudung ab, dö wo dyr schiefgangen ist.
Ietz tue mit dyr Letzn 2 weiter.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 2.1.: LÖSHFAUDUNGEN
** Demmlt dw , dyrmitst ayn Wort löschst **
** Demmlt dw , dyrmitst ayn Wort löschst. **
1. Druck <ESC>, dyrmit s aau gwiß ist, däßst in dyr Befelhsartweis bist.
1. Druck <ESC> , dyrmit s aau gwiß ist, däßst in dyr Befelhsartweis bist.
2. Bewög önn Mörkl zo dyr mit ---> angmörktn Zeil unt.
2. Bewög önn Mörkl zo dyr mit ---> angmörktn Zeil unt.
3. Und daa geest ietz auf n Anfang von aynn Wort, dös wo glöscht ghoert.
@@ -211,9 +211,9 @@ Anmörkung: Druckst <ESC>, kimmst eyn de Befelhsartweis zrugg older brichst ayn
** Gib d$ ein, däßst hinst eyn s Zeilnend löschst. **
1. Druck <ESC> , dyrmitst aau gwiß in dyr Befelhsartweis bist.
1. Druck <ESC> , dyrmitst aau gwiß in dyr Befelhsartweis bist.
2. Bewög önn Mörkl hinst eyn de mit ---> angmörkte Zeil untn.
2. Bewög önn Mörkl hinst eyn de mit ---> angmörkte Zeil untn.
3. Gee mit n Mörkl auf s End von dyr faelerfreien Zeil, NAACH n eerstn . .
@@ -243,11 +243,11 @@ Anmörkung: Druckst <ESC>, kimmst eyn de Befelhsartweis zrugg older brichst ayn
Daader also, was i wie löschn kan:
w - hinst eyn n Anfang von n naehstn Wort AANE dönn sein eersts Zaichen.
e - gan n End von n ietzundn Wort MIT dönn seinn lösstn Zaichen.
$ - zo n End von dyr Zeil MIT derer irn lösstn Zaichen.
w - hinst eyn n Anfang von n naehstn Wort AANE dönn sein eersts Zaichen.
e - gan n End von n ietzundn Wort MIT dönn seinn lösstn Zaichen.
$ - zo n End von dyr Zeil MIT derer irn lösstn Zaichen.
Also löscht de Tastnfolg de umbb n Mörkl hinst eyn s Wortend.
Also löscht de Tastnfolg de allss umbb n Mörkl hinst eyn s Wortend.
Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mörkl
entspröchet weiter.
@@ -255,9 +255,9 @@ Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mör
Letzn 2.4: MIT AYNN ZÖLER D WOLENDER ÄFERN
** Gib i ayn Zal vor aynn Wolend ein, werd dös Sel halt widerholt. **
** Gib i ayn Zal vor aynn Wolend ein, werd dös Sel entspröchet oft gangen. **
1. Bewög önn Mörkl gan n Anfang von dyr Zeil mit ---> dyrvor unt.
1. Bewög önn Mörkl gan n Anfang von dyr Zeil mit ---> dyrvor unt.
2. Zipf 2w , däßst mit n Mörkl zwai Wörter weitergeest.
@@ -278,13 +278,13 @@ Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mör
Letzn 2.5: DURCH AYNN ZÖLER GLEI MEERER LÖSCHN
** Ayn Zal vor aynn Pfemerer äfert dönn um seln Werd. **
** Ayn Zal vor aynn Pfemerer füert dönn entspröchet oft aus. **
Also, i mecht löschn, und zwaar öbbs Bestimmts, und dös so und so oft: Daa
dyrzue benutz i aynn Zöler:
d Zöler Wolend (also önn Bewögungsschrit)
1. Bewög önn Mörkl gan n eerstn Wort in GROOSSBUECHSTABN in dyr mit ---> an-
1. Bewög önn Mörkl zo n eerstn Wort in GROOSSBUECHSTABN in dyr mit ---> an-
gmörktn Zeil.
2. Demmlt d2w , dyrmitst de ganz grooßgschribnen Wörter löschst.
@@ -325,9 +325,9 @@ Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mör
** Zipf u , dyrmitst de lösstn Faudungen ruggltst **
** older U , um ayn gantze Zeil widerherzstölln. **
** older U , um ayn gantze Zeil widerherzstölln. **
1. Bewög önn Mörkl gan dyr mit ---> angmörktn Zeil unt und gee dyrmit auf n
1. Bewög önn Mörkl gan dyr mit ---> angmörktn Zeil unt und gee dyrmit auf n
eerstn Faeler.
2. Zipf x , däßst dös eerste z vile Zaichen löschst.
3. Ietz demmlt u , dyrmitst de lösste Faudung ruggltst.
@@ -358,13 +358,13 @@ Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mör
Dyr PFEMERER gibt an, WAS taan ghoert, öbbenn d = löschn (»delete«).
[ZAL] - Ayn Zal KAN myn angöbn, wenn myn halt ayn Wolend öfter habn will.
S WOLEND, also dyr Schrit WOHIN, besagt, auf was i aushin will, öbbenn
auf ayn Wort ( w ), s End von dyr Zeil ( $ ) und so weiter.
auf aynn Wortanfang ( w ), s End von dyr Zeil ( $ ) und so weiter.
6. Däßst eyn n Anfang von dyr Zeil hinkimmst, schreib aynn Nuller: 0
7. Um öbbs Vorigs wider z ruggln, gib ein: u (klain also)
Um allsand Önderungen in ayner Zeil z ruggln, haast: U (also grooß)
Um "rugg-z-ruggln", also allss wider herzstölln, zipf: <STRG>r
Um "rugg-z-ruggln", also allss wider herzstölln, zipf: <STRG>r
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 3.1: ANFÜEGN (»put«)
@@ -372,10 +372,10 @@ Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mör
** Zipf p , dyrmitst öbbs gnetty Glöschts naach n Mörkl anfüegst. **
1. Bewög önn Mörkl gan dyr eerstn untignen Zeil mit ---> dyrvor.
1. Bewög önn Mörkl gan dyr eerstn untignen Zeil mit ---> dyrvor.
2. Zipf dd , um sele Zeil z löschn und dyrmit in aynn Wimm-"Roster" zo n
speichern.
2. Zipf dd , um sele Zeil z löschn und dyrmit in ayner Wimm-Osn zo n Spei-
chern.
3. Bewög önn Mörkl gan dyr Zeil c), ÜBER derer, daa wo de glöschte Zeil ein-
hinkemmen sollt.
@@ -395,7 +395,7 @@ Anmörkung: Gib i grad dös zwaitte Zaichen yllain ein, ruckt halt dyr Mör
** Zipf rx , um dös Zaichen unter n Mörkl durch x z ersötzn. **
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil mit ---> dyrvor.
1. Bewög önn Mörkl zo dyr eerstn untignen Zeil mit ---> dyrvor.
2. Bewög önn Mörkl, hinst däß yr auf n eerstn Faeler steet.
@@ -418,13 +418,13 @@ Anmörkung: Vergiß nit drauf, däßst mit n Anwenddn lernen solltst und nit öb
** Um hinst eyn s Wortend z öndern, zipf ce . **
1. Gee mit n Mörkl auf de eerste mit ---> angmörkte Zeil.
1. Gee mit n Mörkl auf de eerste mit ---> angmörkte Zeil.
2. Ietz farst netty auf s "s" von Wstwr hin.
3. Zipf ce ein und aft d Wortberichtigung, daader also örter .
4. Druck <ESC> und bewög önn Mörkl gan n naehstn Zaichen, wo göndert ghoert.
4. Druck <ESC> und bewög önn Mörkl zo n naehstn Zaichen, wo göndert ghoert.
5. Äfert d Schritt 3 und 4, hinst däß dyr eerste Saz wie dyr zwaitte ist.
@@ -443,12 +443,12 @@ ce löscht also s Wort und schlaaufft di eyn d Eingaab-Artweis.
1. Dyr Önder-Pfemerer arechtt anleich wie d Löshfaudung mit d , und zwaar
yso:
c [Zal] Bewögungsschritt (Wolend)
c [Zal] Bewögungsschrit (Wolend)
2. D Wolender seind de gleichn, öbbenn w für Wort und $ für s Zeilnend.
2. D Wolender seind de gleichn, öbbenn w für Wort und $ für s Zeilnend.
3. Bewög di zo dyr eerstn untignen Zeil mit ---> .
3. Bewög di zo dyr eerstn untignen Zeil mit ---> .
4. Ietz geest auf dönn eerstn Faeler.
@@ -494,14 +494,14 @@ Anmörkung: Lis dö gantze Letzn daader durch, ee wennst iewign öbbs unternimms
Mörk dyr de Zeilnnummer für n Schrit 3.
Anmörkung: Müglicherweis seghst aau önn Mörklbefand in n zesmen untern Bild-
schirmögg. Aft ist s "Lindl" (»ruler«) eingstöllt; schau dyrzue mit
n Befelh :help 'ruler' naach.
schirmögg. Aft ist s "Lindl" (»ruler«) eingstöllt; meerer über dös
laasst dyr dyr Befelh :help 'ruler' ausher.
2. Druck G , um an s End von dyr Dautticht z kemmen.
gg gibst ein, däßst gan n Anfang von dyr Dautticht aufhinkimmst.
3. Gib d Nummer von derer Zeil ein, daa wost vorher warst, und aft non G .
Dös bringt di zrugg gan seler Zeil, daa wost stuenddst, wiest dös eerste
Maal <STRG>g gadruckst.
Maal <STRG>g gadruckst.
4. Wennst di sicher gnueg füelst, aft füer d Schritt 1 hinst 3 aus.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -513,15 +513,15 @@ Anmörkung: Müglicherweis seghst aau önn Mörklbefand in n zesmen untern Bi
1. Du gibst also in dyr Befelhsartweis s Zaichen / ein. Dös sel wie aau dyr
Mörkl erscheinend drauf unt auf n Schirm, netty wie bei dyr Faudung : .
2. Ietz zipf 'Faeeler' <EIN>. Netty um dös 'Faeeler' willst ietz suechen.
2. Ietz zipf Faeeler<EIN> . Netty um dös 'Faeeler' willst ietz suechen.
3. Willst um gnaun dönn Ausdruk weitersuechen, zipf ainfach n (wie »next«).
Willst hinzrugg suechen, aft gibst N ein.
4. Um von Haus aus zruggaus z suechen, nimm ? statt / her.
5. Dyrmitst wider daa hinkimmst, wost herkemmen bist, druck <STRG>o, und dös
öfter, wennst weiter zrugg willst. Mit <STRG>i widerum kimmst vorwärts.
5. Dyrmitst wider daa hinkimmst, wost herkemmen bist, nimm <STRG>o , und dös
öfter, wennst weiter zrugg willst. Mit <STRG>i widerum kimmst vorwärts.
---> Aynn Faeler schreibt myn nit "Faeeler"; Faeeler ist ayn Faeler
@@ -534,7 +534,7 @@ Anmörkung: Wenn d Suech s Dauttichtend dyrraicht haat, geet s eyn n Anfang wi-
** Zipf % , um de entspröchete Klammer ) , ] older } z finddn. **
1. Sötz önn Mörkl auf iewign aine von dene drei Klammern ( , [ older {
in dyr untignen Zeil, wo mit ---> angmörkt ist.
in dyr untignen Zeil, wo mit ---> angmörkt ist.
2. Ietzet zipf s Zaichen % .
@@ -556,7 +556,7 @@ Anmörkung: Um dö Müglichkeit gaast bsunders froo sein, wennst aynmaal in ay
** Zipf :s/alt/neu/g , um 'alt' durch 'neu' zo n Ersötzn. **
1. Gee mit n Mörkl zo dyr unt steehetn mit ---> angmörktn Zeil.
1. Gee mit n Mörkl zo dyr unt steehetn mit ---> angmörktn Zeil.
2. Zipf :s/dee/de <EIN> . Der Befelh ersötzt alsnan grad dös +eerste "dee",
wo vürkimmt.
@@ -577,60 +577,60 @@ Anmörkung: Um dö Müglichkeit gaast bsunders froo sein, wennst aynmaal in ay
ZAMMENFASSUNG VON DYR LETZN 4
1. <STRG>g zaigt dönn ietzundn Dauttichtbefand und önn Darstand dyrvon an.
G bringt di an s End von dyr Dautticht.
<Zal> G bringt di gan dyr entspröchetn Zeilnnummer.
gg bringt di zo dyr eerstn Zeil.
G bringt di an s End von dyr Dautticht.
<Zal>G bringt di gan dyr entspröchetn Zeilnnummer.
<Zal>gg geet +grad yso.
gg bringt di zo dyr eerstn Zeil.
2. D Eingaab von / mit aynn Ausdruk suecht VÜRSHLING um dönn Ausdruk.
Gibst ? und aynn Suechbegrif ein, suecht s um dönn ÄRSHLING.
Zipf naach ayner Suech n ; naacherd werd in de gleiche Richtung weiter-
gsuecht. Mit N geet s umkeerter weiter.
<STRG>o bringt di zo ölterne Befändd zrugg, <STRG>i zo neuerne.
gsuecht. Mit N geet s umkeerter weiter.
<STRG>o bringt di zo ölterne Befändd zrugg, <STRG>i zo neuerne.
3. D Eingaab von % , wenn dyr Mörkl auf ainer von dene Klammern steet: ({[
)]} , bringt di zo dyr Gögnklammer.
4. Um dös eerste Vürkemmen von "alt" in ayner Zeil durch "neu" z ersötzn,
zipf :s/alt/neu .
Um allsand in ayner Zeil z ersötzn, zipf :s/alt/neu/g .
4. Um dös eerste Vürkemmen von "alt" in ayner Zeil durch "neu" z ersötzn,
zipf :s/alt/neu .
Um allsand in ayner Zeil z ersötzn, zipf :s/alt/neu/g .
Mechst allss in zwo Zeiln ersötzn, demmlt zo n Beispil :5,6s/alt/neu/g .
Mechst allss in dyr gantzn Dautticht ersötzn, gib ein: :%s/alt/neu/g .
Mechst allss in dyr gantzn Dautticht ersötzn, gib ein: :%s/alt/neu/g .
Willst ayn ieds Maal bstaetln, höng 'c' wie »confirm« hint anhin.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.1: ZWISCHNDRINN AYNN AUSSERIGNEN BEFELH AUSFÜERN
** Willst ayn Gfäßfaudung ausfüern, gib ainfach dö sel naach :! ein. **
** Willst ayn Gfäßfaudung ausfüern, gib ainfach dö sel naach :! ein. **
1. Zipf dönn bekanntn Befelh : , dyrmitst mit n Mörkl auf n Bildschirm
ganz abhin kimmst. Draufhin kanst aynn gwonen Gfäßbefelh eingöbn.
2. Zeerst kimmt aber non ayn Ruefzaichen ! . Und ietz haast de Müglich-
2. Zeerst kimmt aber non ayn Ruefzaichen ! . Und ietzet haast d Müglich-
keit, ayn beliebige ausserige Gfäßfaudung auszfüern.
3. Als Beispil zipf :!ls <EIN> ; und schoon haast ayn Auflistung von deinn
3. Als Beispil zipf :!ls<EIN> ; und schoon haast ayn Auflistung von deinn
Verzaichniss, netty wie wennst ganz gwon in n Eingib wärst. Geet ls
aus iewign aynn Grund nit, aft pröblt s mit :!dir <EIN> .
aus iewign aynn Grund nit, aft pröblt s mit :!dir<EIN> .
Also non aynmaal: Mit dönn Angang kan ayn iede beliebige ausserige Faudung aus-
gfüert werdn, aau mit Auerwerdd.
Und wolgmörkt: Allsand Befelh, wo mit : angeend, müessend mit <EIN> bstö-
tigt werdn. Dös dyrsagn myr vürbaß niemer.
Und wolgmörkt: Alle Befelh, wo mit : angeend, müessend mit <EIN> bstö-
tigt werdn. Dös dyrsagn myr fürbaß +niemer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.2: NON MEERER DRÜBER, WIE MYN DAUTTICHTN SCHREIBT
** Um öbbs Gönderts neu z speichern, zipf :w NEUER_DAUTTICHTNAM. **
** Um öbbs Gönderts neu z speichern, zipf :w NEUER_DAUTTICHTNAM . **
1. Zipf :!dir older :!ls , däßst dyr ayn Auflistung von deinn Verzaich-
niss ausherlaasst. Däßst dyrnaach <EIN> eingöbn muesst, waisst ee schoon.
niss ausherlaasst. Däßst drafter <EIN> eingöbn muesst, waisst ee schoon.
2. Suech dyr aynn Dauttichtnam aus, dönn wo s non nit geit, öbbenn POCH.
2. Suech dyr aynn Dauttichtnam aus, dönn wo s non nit geit, öbbenn POCH .
3. Ietz demmlt: :w POCH (also mit POCH als dönn neuen Dauttichtnam).
3. Ietz demmlt: :w POCH (also mit POCH als dönn neuen Dauttichtnam).
4. Dös speichert ietz de gantze Dautticht, also önn Wimmschainer, unter dönn
Nam POCH. Dös kanst leicht überprüeffen, indem däßst ainfach :!ls older
@@ -641,7 +641,7 @@ Anmörkung: Stigst ietz aus n Wimm aus und gännst n aft wider mit vim POCH
wiest n gspeichert haast.
5. Ietz verweitert dö Dautticht - fallsst s Fenstl haast - , mit :!del POCH
beziehungsweis bei aynn Ainslgebäu mit :!rm POCH .
beziehungsweis bei aynn Unixgebäu mit :!rm POCH .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.3: AYNN TAIL VON N GWORT ZO N SPEICHERN AUSWALN
@@ -655,15 +655,15 @@ Anmörkung: Stigst ietz aus n Wimm aus und gännst n aft wider mit vim POCH
3. Druck s Zaichen : . Ganz unt auf n Bildschirm erscheint :'<,'> .
4. Zipf w POCH , wobei s dönn Dauttichtnam POCH non nit geit. Vergwiß di,
däßst dös :'<,'>w POCH aau +seghst, ee wennst <EIN> druckst.
däßst dös :'<,'>w POCH aau +seghst, ee wennst <EIN> druckst.
5. Dyr Wimm schreibt de ausgwaltn Zeil eyn de Dautticht POCH einhin. Benutz
5. Dyr Wimm schreibt de ausgwaltn Zeiln eyn de Dautticht POCH einhin. Benutz
:!dir older :!ls , däßst dös überprüeffst. Lösh s fein nit öbbenn! Mir
brauchend s nömlich für de naehste Letzn.
Anmörkung: Druckt myn v , ginnt d Sichtisch-Auswal. Du kanst mit n Mörkl um-
aynandfarn, um d Auswal z veröndern. Drafter kan myn mit yn aynn
Pfemerer mit dönn Gwort öbbs machen. Zo n Beispil löscht d dös
Pfemerer mit dönn Gwort öbbs machen. Zo n Beispil löscht d dös
Gwort.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 5.4: EINLÖSN UND ZAMMENFÜERN VON DAUTTICHTN
@@ -692,10 +692,10 @@ Anmörkung: Du kanst aau d Ausgaab von aynn Ausserigbefelh einlösn. Zo n Bei
ZAMMENFASSUNG VON DYR LETZN 5
1. :!FAUDUNG füert aynn ausserignen Befelh aus.
1. :!FAUDUNG füert aynn ausserignen Befelh aus.
Daader ayn Öttlych gwänddte Beispiler:
(Fenstl) (Ainsl - Leinsl)
(Fenstl) (Unix - Linux)
:!dir :!ls - listt s Verzaichniss auf.
:!del DAUTTICHT :!rm DAUTTICHT - verweitert sele Dautticht.
@@ -715,19 +715,19 @@ Anmörkung: Du kanst aau d Ausgaab von aynn Ausserigbefelh einlösn. Zo n Bei
Letzn 6.1: ZEIL ÖFFNEN (»open«)
** Zipf o, um ayn Zeil unterhalb n Mörkl z öffnen und eyn d **
** Zipf o , um ayn Zeil unterhalb n Mörkl z öffnen und eyn d **
** Einfüegartweis z kemmen. **
1. Bewög önn Mörkl zo dyr eerstn mit ---> angmörktn Zeil unt.
1. Bewög önn Mörkl zo dyr eerstn mit ---> angmörktn Zeil unt.
2. Zipf o (klain), um ayn Zeil UNTERHALB n Mörkl z öffnen und mit dyr Ein-
2. Zipf o (klain), um ayn Zeil UNTERHALB n Mörkl z öffnen und mit dyr Ein-
füegartweis weiterztuen.
3. Ietz zipf ayn Weeng ayn Gwort und druck <ESC>, um d Einfüegartweis z ver-
3. Ietzet zipf ayn Weeng öbbs und druck <ESC> , um d Einfüegartweis z ver-
laassn.
---> Mit o werd dyr Mörkl auf de offene Zeil in dyr Einfüegartweis gsötzt.
---> Mit o werd dyr Mörkl in dyr Einfüegartweis auf de offene Zeil gsötzt.
4. Um ayn Zeil OBERHALB n Mörkl aufzmachen, gib ainfach aynn groosss O statt
4. Um ayn Zeil OBERHALB n Mörkl aufzmachen, gib ainfach ayn groosss O statt
yn aynn klainen ein. Versuech dös auf dyr untignen Zeil.
---> Öffnet ayn Zeil über derer daader mit O , wenn dyr Mörkl auf derer Zeil
@@ -740,14 +740,14 @@ Anmörkung: Du kanst aau d Ausgaab von aynn Ausserigbefelh einlösn. Zo n Bei
** Zipf a , um öbbs NAACH n Mörkl einzfüegn. **
1. Bewög önn Mörkl gan n Anfang von dyr eerstn Üebungszeil mit ---> unt.
1. Bewög önn Mörkl gan n Anfang von dyr eerstn Üebungszeil mit ---> unt.
2. Druck e , hinst däß dyr Mörkl an n End von Zei steet.
3. Zipf ayn klains a , um öbbs NAACH n Mörkl anzfüegn.
4. Vergöntz dös Wort wie in dyr Zeil drunter. Druck <ESC>, um d Schreib-Art-
weis z verlaassn.
4. Vergöntz dös Wort wie in dyr Zeil drunter. Druck <ESC> , um d Schreib-
Artweis z verlaassn.
5. Bewög di mit e zo n naehstn ungantzn Wort und widerhol d Schritt 3 und
4.
@@ -763,13 +763,13 @@ Anmörkung: a , i und A bringend ainn gleichermaaßn eyn d Einfüegartwei
** Demmlt ayn groosss R , um meerer als wie grad ain Zaichen z ersötzn. **
1. Bewög önn Mörkl zo dyr eerstn untignen, mit ---> angmörktn Zeil.
1. Bewög önn Mörkl zo dyr eerstn untignen, mit ---> angmörktn Zeil.
Gee mit n Mörkl gan n Anfang von n eerstn xxx .
2. Ietz druck R und zipf sele Zal, wo drunter in dyr zwaittn Zeil steet,
yso däß de sel s xxx ersötzt.
3. Druck <ESC> , um d Ersötzungsartweis z verlaassn. Du gspannst, däß dyr
3. Druck <ESC> , um d Ersötzungsartweis z verlaassn. Du gspannst, däß dyr
Rest von dyr Zeil unveröndert bleibt.
4. Äfert die Schritt, um dös überblibne xxx z ersötzn.
@@ -795,14 +795,14 @@ Anmörkung: D Ersötzungsartweis ist wie d Einfüegartweis, aber ayn ieds einde
5. Demmlt p , um dös Gwort einzfüegn, und aft: a zwaitte <ESC> .
6. Benutz d Sichtischartweis, um " Eintrag." auszwaln, aam s pfelfs y, be-
6. Benutz d Sichtischartweis, um " Eintrag." auszwaln, aam s mittls y , be-
wög di gan n End von dyr naehstn Zeil mit j$ und füeg s Gwort dortn mit
p an.
---> a) dös ist dyr eerste Eintrag.
b)
Anmörkung: Du kanst y aau als Pfemerer verwenddn; yw aamt ain Wort.
Anmörkung: Du kanst y aau als Pfemerer verwenddn; yw zo n Beispil aamt
hinst eyn n naehstn Wortanfang (aane dönn selber).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 6.5: SCHALTTER SÖTZN
@@ -829,18 +829,18 @@ Anmörkung: Sollt klain/grooß bei ayner ainzignen Suech wurst sein, benutz \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZAMMENFASSUNG VON DYR LETZN 6
1. Zipf o , um ayn Zeil UNTERHALB n Mörkl z öffnen und d Einfüegartweis z
ginnen.
Zipf O , um ayn Zeil OBERHALB n Mörkl z öffnen.
1. Zipf o , um ayn Zeil UNTERHALB n Mörkl z öffnen und d Einfüegartweis z
ginnen.
Zipf O , um ayn Zeil OBERHALB n Mörkl z öffnen.
2. Zipf a , um NAACH n Mörkl ayn Gwort einzfüegn.
Zipf A , um ayn Gwort naach n Zeilnend anzfüegn.
2. Zipf a , um NAACH n Mörkl ayn Gwort einzfüegn.
Zipf A , um ayn Gwort naach n Zeilnend anzfüegn.
3. D Faudung e bringt di gan n End von aynn Wort.
4. Dyr Pfemerer y (»yank«) aamt öbbs, p (»put«) füegt dös ein.
5. Ayn groosss R geet eyn d Ersötzungsartweis, hinst däß myn <ESC> druckt.
5. Ayn groosss R geet eyn d Ersötzungsartweis, hinst däß myn <ESC> druckt.
6. D Eingaab von ":set xxx" sötzt de Zwisl "xxx". Ayn Öttlych Zwisln seind:
'ic' 'ignorecase' Grooß/klain wurst bei ayner Suech
@@ -853,7 +853,7 @@ Anmörkung: Sollt klain/grooß bei ayner ainzignen Suech wurst sein, benutz \
Letzn 7.1: AYN HILFGWORT AUFRUEFFEN
** Nutz dös einbaute Hilfgebäu, de "Betribsanlaittung" **
** Nutz dös einbaute Hilfgebäu, de "Betribsanlaittung". **
Eyn n Wimm ist ayn ausfüerliche "Gebrauchsanweisung" einbaut. Für s Eerste
pröblt ainfach ains von dene dreu aus:
@@ -866,7 +866,7 @@ Anmörkung: Sollt klain/grooß bei ayner ainzignen Suech wurst sein, benutz \
Demmlt :q <EIN> , um s Hilffenster zo n Schliessn.
Du kanst zo so guet wie allssand ayn Hilf finddn, indem däßst yn dyr Faudung
:help aynn Auerwerd naachstöllst und istig <EIN> nit vergisst. Pröblt dös:
:help aynn Auerwerd naachstöllst und istig <EIN> nit vergisst. Pröblt dös:
:help w
:help c_CTRL-D
@@ -876,14 +876,14 @@ Anmörkung: Sollt klain/grooß bei ayner ainzignen Suech wurst sein, benutz \
Letzn 7.2: ERSTÖLL AYN GIN-SCHRIPF
** Mutz önn Wimm mit de einbautn Faehigkeitn auf **
** Mutz önn Wimm mit de einbautn Faehigkeitn auf. **
Dyr Wimm besitzt ayn Wösn Schäftungen, wo über n Urwimm aushingeend, aber de
meerern dyrvon seind in dyr Vorgaab ausgschaltt. Dyrmitst meerer aus n Wimm
ausherholst, erstöllst ayn "vimrc"-Dautticht.
1. Lög ayn "vimrc"-Dautticht an; dös geet ie naach Betribsgebäu verschidn:
:e ~/.vimrc für s Ainsl
:e ~/.vimrc für s Unix
:e $VIM/_vimrc bei n Fenstl
2. Ietz lis önn Inhalt von dyr Beispil-"vimrc"-Dautticht ein:
@@ -892,14 +892,14 @@ Anmörkung: Sollt klain/grooß bei ayner ainzignen Suech wurst sein, benutz \
3. Speichert de Dautticht mit:
:w
4. Bei n naehstn Gin von n Wimm ist aft d Füegnussvürherhöbung zuegschaltt.
4. Bei n naehstn Gin von n Wimm ist aft d Füegnussvürherhöbung zuegschalttn.
Du kanst dyr allss eyn dö Dautticht einhinschreibn, wasst bständig habn
willst. Meerer dyrzue erfarst unter: :help vimrc-intro
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Letzn 7.3: VERGÖNTZN
** Befelhszeilnvergöntzung mit <STRG>d und <TAB> **
** Befelhszeilnvergöntzung mit <STRG>d und <TAB> **
1. Vergwiß di, däß dyr Wimm nit auf n Urwimm-"Glais" fart: :set nocp
@@ -907,22 +907,22 @@ Anmörkung: Sollt klain/grooß bei ayner ainzignen Suech wurst sein, benutz \
older :!dir
3. Zipf önn Anfang von ayner Faudung: :e
4. Druck <STRG>d , und dyr Wimm zaigt ayn Listn von Faudungen, wo mit "e"
4. Druck <STRG>d , und dyr Wimm zaigt ayn Listn von Faudungen, wo mit "e"
angeend.
5. Druck <TAB> , und dyr Wimm vervollstöndigt önn Faudungsnam zo ":edit".
5. Druck <TAB> , und dyr Wimm vervollstöndigt önn Faudungsnam zo ":edit".
6. Füeg ayn Laerzaichen und önn Anfang von ayner besteehetn Dautticht an:
:edit DAU
7. Druck <TAB>. Dyr Wimm vergöntzt önn Nam, dös haisst, wenn yr aindeuttig
7. Druck <TAB> . Dyr Wimm vergöntzt önn Nam, dös haisst, wenn yr aindeuttig
ist.
Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfach
<STRG>d und <TAB>. Bsunders nützlich ist dös bei :help .
<STRG>d und <TAB> . Bsunders nützlich ist dös bei :help .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ZAMMENFASSUNG VON DYR LETZN 7
1. Zipf :help older druck <F1> older <HILF>, um ayn Hilffenster z öffnen.
1. Zipf :help oder druck <F1> oder <HILF> , um ayn Hilffenster z öffnen.
2. Zipf :help FAUDUNG , um auf ayn Hilf gan aynn Befelh z kemmen.
@@ -932,9 +932,9 @@ Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfa
5. Erstöll ayn vimrc-Ginschripf zuer Sicherung von deine Mötzneinstöllungen.
6. Druck <STRG>d, aft däßst naach : mit ayner Faudung angfangt haast, dyr-
6. Druck <STRG>d , aft däßst naach : ayn Faudung angfangt haast, dyr-
mitst mügliche Vergöntzungen anzaigt kriegst.
Druck <TAB> für ain Vervollstöndigung yllain.
Druck <TAB> für ain Vervollstöndigung yllain.
@@ -944,10 +944,10 @@ Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfa
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dös wär ietzet s End von n Wimmschainer. Gangen ist s daa drum, aynn kurtzn
und bündignen Überblik über s Blat WIMM z lifern, netty vil gnueg, däß myn
und bündignen Überblik über s Blat WIMM z lifern, netty vil gnueg, däß myn
für s Eerste wirklich öbbs dyrmit anfangen kan. Dyrmit ist s aber auf kain
Weitn non nit taan; dyr Wimm haat schoon non vil meerer auf Lager. Lis als
Naehsts aynmaal s Benutzerhandbuech: :help user-manual .
Naehsts aynmaal s Benutzerhandbuech: :help user-manual
Zo n Weiterlösn und Weiterlernen wör dös Buech daader zo n Empfelhen:
Vim - Vi Improved - von n OUALLINE Steve
@@ -962,26 +962,20 @@ Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfa
3897211262
In dönn Buech kan myn fast allss finddn, was myn mit n Urwimm angeen mecht.
De söxte Ausgaab enthaltt aau schoon öbbs über n Wimm.
Als ietzunde Bezugniss für d Fassung 6.2 und ayn pfrenge Einfüerung dient
dös folgete Buech:
Als ietzunde Bezugniss für d Fassung 7 und ayn pfrenge Einfüerung dient dös
folgete Buech:
vim ge-packt von n WOBST Reinhard
mitp-Verlaag, Buechlaittzal 3-8266-1425-9
mitp-Verlaag, Buechlaittzal 978-3-8266-1781-2
Trotz dyr recht pfrengen Darstöllung ist s durch seine viln nützlichnen Bei-
spiler aau für Einsteiger grad grecht. Probhaeupster und de Beispilschripfer
seind zesig zo n Kriegn; see http://iccf-holland.org/click5.html
seind zesig zo n Kriegn; see http://iccf-holland.org/click5.html
Verfasst habnd dönn Schainer dyr PIERCE Michael C. und WARE Robert K. von dyr
Kolraader Knappnschuel (Colorado School of Mines). Er beruet auf Entwürff, wo
dyr SMITH Charles von dyr Kolraader Allschuel (Colorado State University)
zuer Verfüegung gstöllt haat. Gundpost: bware@mines.colorado.edu.
zuer Verfüegung gstöllt haat. Gundpost: bware@mines.colorado.edu
Für n Wimm haat n dyr MOOLENAAR Bram barechtt.
De bairische Übersötzung stammt von n HELL Sepp 2009. Sein Gundpostbrächt ist
sturmibund@t-online.de
De bairische Übersötzung stammt von n HELL Sepp 2009, ayn Weeng überarechtt
2011. Sein Gundpostbrächt ist sturmibund@t-online.de
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@@ -561,7 +561,7 @@ CClink = $(CC)
#CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes
# Use this with GCC to check for mistakes, unused arguments, etc.
#CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -D_FORTIFY_SOURCE=1 -DU_DEBUG
#CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -D_FORTIFY_SOURCE=1
#CFLAGS = -g -O2 -Wall -Wextra -Wmissing-prototypes -D_FORTIFY_SOURCE=1 -DU_DEBUG
#PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
#MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
@@ -594,8 +594,9 @@ LINT_OPTIONS = -beprxzF
# PROFILING - Uncomment the next two lines to do profiling with gcc and gprof.
# Might not work with GUI or Perl.
# For unknown reasons adding "-lc" fixes a linking problem with GCC. That's
# probably a bug in the "-pg" implementation.
# For unknown reasons adding "-lc" fixes a linking problem with some versions
# of GCC. That's probably a bug in the "-pg" implementation.
# After running Vim see the profile result with: gmon vim gmon.out | vim -
# Need to recompile everything after changing this: "make clean" "make".
#PROFILE_CFLAGS = -pg -g -DWE_ARE_PROFILING
#PROFILE_LIBS = -pg
@@ -606,8 +607,8 @@ LINT_OPTIONS = -beprxzF
# Configuration is in the .ccmalloc or ~/.ccmalloc file.
# Doesn't work very well, since memory linked to from global variables
# (in libraries) is also marked as leaked memory.
#PROFILE_CFLAGS = -DEXITFREE
#PROFILE_LIBS = -lccmalloc
#LEAK_CFLAGS = -DEXITFREE
#LEAK_LIBS = -lccmalloc
#####################################################
### Specific systems, check if yours is listed! ### {{{
@@ -1329,7 +1330,7 @@ SHELL = /bin/sh
PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS)
POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS)
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS)
ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS)
# Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together
# with "-E".
@@ -1358,7 +1359,8 @@ ALL_LIBS = \
$(PYTHON3_LIBS) \
$(TCL_LIBS) \
$(RUBY_LIBS) \
$(PROFILE_LIBS)
$(PROFILE_LIBS) \
$(LEAK_LIBS)
# abbreviations
DEST_BIN = $(DESTDIR)$(BINDIR)
@@ -1480,8 +1482,15 @@ EXTRA_SRC = hangulin.c if_lua.c if_mzsch.c auto/if_perl.c if_perlsfio.c \
if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \
gui_beval.c workshop.c wsdebug.c integration.c netbeans.c
# Unittest files
MEMFILE_TEST_SRC = memfile_test.c
MEMFILE_TEST_TARGET = memfile_test$(EXEEXT)
UNITTEST_SRC = $(MEMFILE_TEST_SRC)
UNITTEST_TARGETS = $(MEMFILE_TEST_TARGET)
# All sources, also the ones that are not configured
ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(EXTRA_SRC)
ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) $(EXTRA_SRC)
# Which files to check with lint. Select one of these three lines. ALL_SRC
# checks more, but may not work well for checking a GUI that wasn't configured.
@@ -1492,7 +1501,7 @@ LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) $(PYTHON_SRC) $(PYTHON3_SRC)
#LINT_SRC = $(ALL_SRC)
#LINT_SRC = $(BASIC_SRC)
OBJ = \
OBJ_COMMON = \
objects/buffer.o \
objects/blowfish.o \
objects/charset.o \
@@ -1513,10 +1522,8 @@ OBJ = \
$(HANGULIN_OBJ) \
objects/if_cscope.o \
objects/if_xcmdsrv.o \
objects/main.o \
objects/mark.o \
objects/memfile.o \
objects/memline.o \
objects/memline.o \
objects/menu.o \
objects/message.o \
objects/misc1.o \
@@ -1541,6 +1548,7 @@ OBJ = \
objects/term.o \
objects/ui.o \
objects/undo.o \
objects/version.o \
objects/window.o \
$(GUI_OBJ) \
$(LUA_OBJ) \
@@ -1555,6 +1563,13 @@ OBJ = \
$(NETBEANS_OBJ) \
$(WSDEBUG_OBJ)
OBJ = $(OBJ_COMMON) \
objects/main.o \
objects/memfile.o
MEMFILE_TEST_OBJ = $(OBJ_COMMON) \
objects/memfile_test.o
PRO_AUTO = \
blowfish.pro \
buffer.pro \
@@ -1700,7 +1715,7 @@ CCC = $(CC) -c -I$(srcdir) $(ALL_CFLAGS)
$(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
$(CCC) version.c -o objects/version.o
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
-o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
-o $(VIMTARGET) $(OBJ) $(ALL_LIBS)" \
MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
sh $(srcdir)/link.sh
@@ -1825,6 +1840,15 @@ test check:
ln -s $(VIMTARGET) vim; \
fi
cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) $(GUI_TESTARG)
$(MAKE) -f Makefile unittest
unittesttargets:
$(MAKE) -f Makefile $(UNITTEST_TARGETS)
unittest unittests: $(UNITTEST_TARGETS)
@for t in $(UNITTEST_TARGETS); do \
./$$t || exit 1; echo $$t passed; \
done
testclean:
cd testdir; $(MAKE) -f Makefile clean
@@ -1832,6 +1856,17 @@ testclean:
cd $(PODIR); $(MAKE) checkclean; \
fi
# Unittests
# It's build just like Vim to satisfy all dependencies.
$(MEMFILE_TEST_TARGET): auto/config.mk objects $(MEMFILE_TEST_OBJ)
$(CCC) version.c -o objects/version.o
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
-o $(MEMFILE_TEST_TARGET) $(MEMFILE_TEST_OBJ) $(ALL_LIBS)" \
MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
sh $(srcdir)/link.sh
# install targets
install: $(GUI_INSTALL)
install_normal: installvim installtools $(INSTALL_LANGS) install-icons
@@ -2265,6 +2300,7 @@ clean celan: testclean
-rm -f *.o objects/* core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c
-rm -f conftest* *~ auto/link.sed
-rm -f $(UNITTEST_TARGETS)
-rm -f runtime pixmaps
-rm -rf $(APPDIR)
-rm -rf mzscheme_base.c
@@ -2559,6 +2595,9 @@ objects/mark.o: mark.c
objects/memfile.o: memfile.c
$(CCC) -o $@ memfile.c
objects/memfile_test.o: memfile_test.c
$(CCC) -o $@ memfile_test.c
objects/memline.o: memline.c
$(CCC) -o $@ memline.c
@@ -2877,7 +2916,7 @@ objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
arabic.h if_mzsch.h os_unixx.h
arabic.h os_unixx.h
objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
@@ -3016,6 +3055,10 @@ objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h arabic.h
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h \
proto.h globals.h farsi.h arabic.h farsi.c arabic.c memfile.c
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
@@ -3027,7 +3070,7 @@ objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
globals.h farsi.h arabic.h if_mzsch.h mzscheme_base.c
globals.h farsi.h arabic.h if_mzsch.h
objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
@@ -3048,7 +3091,7 @@ objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
arabic.h
objects/if_ruby.o: if_ruby.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
arabic.h version.h

View File

@@ -789,6 +789,8 @@ static void list_one_var_a __ARGS((char_u *prefix, char_u *name, int type, char_
static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
static int var_check_ro __ARGS((int flags, char_u *name));
static int var_check_fixed __ARGS((int flags, char_u *name));
static int var_check_func_name __ARGS((char_u *name, int new_var));
static int valid_varname __ARGS((char_u *varname));
static int tv_check_lock __ARGS((int lock, char_u *name));
static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
static char_u *find_option_end __ARGS((char_u **arg, int *opt_flags));
@@ -2716,8 +2718,27 @@ get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
lp->ll_list = NULL;
lp->ll_dict = lp->ll_tv->vval.v_dict;
lp->ll_di = dict_find(lp->ll_dict, key, len);
/* When assigning to g: check that a function and variable name is
* valid. */
if (rettv != NULL && lp->ll_dict == &globvardict)
{
if (rettv->v_type == VAR_FUNC
&& var_check_func_name(key, lp->ll_di == NULL))
return NULL;
if (!valid_varname(key))
return NULL;
}
if (lp->ll_di == NULL)
{
/* Can't add "v:" variable. */
if (lp->ll_dict == &vimvardict)
{
EMSG2(_(e_illvar), name);
return NULL;
}
/* Key does not exist in dict: may need to add it. */
if (*p == '[' || *p == '.' || unlet)
{
@@ -2737,6 +2758,10 @@ get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
p = NULL;
break;
}
/* existing variable, need to check if it can be changed */
else if (var_check_ro(lp->ll_di->di_flags, name))
return NULL;
if (len == -1)
clear_tv(&var1);
lp->ll_tv = &lp->ll_di->di_tv;
@@ -14280,9 +14305,9 @@ f_readfile(argvars, rettv)
{
if (buf[filtd] == '\n' || readlen <= 0)
{
/* Only when in binary mode add an empty list item when the
* last line ends in a '\n'. */
if (!binary && readlen == 0 && filtd == 0)
/* In binary mode add an empty list item when the last
* non-empty line ends in a '\n'. */
if (!binary && readlen == 0 && filtd == 0 && prev == NULL)
break;
/* Found end-of-line or end-of-file: add a text line to the
@@ -14347,25 +14372,28 @@ f_readfile(argvars, rettv)
if (tolist == 0)
{
/* "buf" is full, need to move text to an allocated buffer */
if (prev == NULL)
if (buflen >= FREAD_SIZE / 2)
{
prev = vim_strnsave(buf, buflen);
prevlen = buflen;
}
else
{
s = alloc((unsigned)(prevlen + buflen));
if (s != NULL)
/* "buf" is full, need to move text to an allocated buffer */
if (prev == NULL)
{
mch_memmove(s, prev, prevlen);
mch_memmove(s + prevlen, buf, buflen);
vim_free(prev);
prev = s;
prevlen += buflen;
prev = vim_strnsave(buf, buflen);
prevlen = buflen;
}
else
{
s = alloc((unsigned)(prevlen + buflen));
if (s != NULL)
{
mch_memmove(s, prev, prevlen);
mch_memmove(s + prevlen, buf, buflen);
vim_free(prev);
prev = s;
prevlen += buflen;
}
}
filtd = 0;
}
filtd = 0;
}
else
{
@@ -19786,7 +19814,6 @@ set_var(name, tv, copy)
dictitem_T *v;
char_u *varname;
hashtab_T *ht;
char_u *p;
ht = find_var_ht(name, &varname);
if (ht == NULL || *varname == NUL)
@@ -19796,25 +19823,8 @@ set_var(name, tv, copy)
}
v = find_var_in_ht(ht, varname, TRUE);
if (tv->v_type == VAR_FUNC)
{
if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
&& !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
? name[2] : name[0]))
{
EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name);
return;
}
/* Don't allow hiding a function. When "v" is not NULL we might be
* assigning another function to the same var, the type is checked
* below. */
if (v == NULL && function_exists(name))
{
EMSG2(_("E705: Variable name conflicts with existing function: %s"),
name);
return;
}
}
if (tv->v_type == VAR_FUNC && var_check_func_name(name, v == NULL))
return;
if (v != NULL)
{
@@ -19880,13 +19890,8 @@ set_var(name, tv, copy)
}
/* Make sure the variable name is valid. */
for (p = varname; *p != NUL; ++p)
if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
&& *p != AUTOLOAD_CHAR)
{
EMSG2(_(e_illvar), varname);
return;
}
if (!valid_varname(varname))
return;
v = (dictitem_T *)alloc((unsigned)(sizeof(dictitem_T)
+ STRLEN(varname)));
@@ -19950,6 +19955,55 @@ var_check_fixed(flags, name)
return FALSE;
}
/*
* Check if a funcref is assigned to a valid variable name.
* Return TRUE and give an error if not.
*/
static int
var_check_func_name(name, new_var)
char_u *name; /* points to start of variable name */
int new_var; /* TRUE when creating the variable */
{
if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':')
&& !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
? name[2] : name[0]))
{
EMSG2(_("E704: Funcref variable name must start with a capital: %s"),
name);
return TRUE;
}
/* Don't allow hiding a function. When "v" is not NULL we might be
* assigning another function to the same var, the type is checked
* below. */
if (new_var && function_exists(name))
{
EMSG2(_("E705: Variable name conflicts with existing function: %s"),
name);
return TRUE;
}
return FALSE;
}
/*
* Check if a variable name is valid.
* Return FALSE and give an error if not.
*/
static int
valid_varname(varname)
char_u *varname;
{
char_u *p;
for (p = varname; *p != NUL; ++p)
if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
&& *p != AUTOLOAD_CHAR)
{
EMSG2(_(e_illvar), varname);
return FALSE;
}
return TRUE;
}
/*
* Return TRUE if typeval "tv" is set to be locked (immutable).
* Also give an error message, using "name".

View File

@@ -2713,7 +2713,8 @@ vgetorpeek(advance)
* changed text so far. Also for when 'lazyredraw' is set and
* redrawing was postponed because there was something in the
* input buffer (e.g., termresponse). */
if (((State & INSERT) || p_lz) && advance && must_redraw != 0)
if (((State & INSERT) != 0 || p_lz) && (State & CMDLINE) == 0
&& advance && must_redraw != 0 && !need_wait_return)
{
update_screen(0);
setcursor(); /* put cursor back where it belongs */

View File

@@ -33,6 +33,7 @@ Python_Release_Vim(void)
static PyObject *OutputWrite(PyObject *, PyObject *);
static PyObject *OutputWritelines(PyObject *, PyObject *);
static PyObject *OutputFlush(PyObject *, PyObject *);
/* Function to write a line, points to either msg() or emsg(). */
typedef void (*writefn)(char_u *);
@@ -47,9 +48,10 @@ typedef struct
static struct PyMethodDef OutputMethods[] = {
/* name, function, calling, documentation */
{"write", OutputWrite, 1, "" },
{"writelines", OutputWritelines, 1, "" },
{ NULL, NULL, 0, NULL }
{"write", OutputWrite, 1, ""},
{"writelines", OutputWritelines, 1, ""},
{"flush", OutputFlush, 1, ""},
{ NULL, NULL, 0, NULL}
};
#define PyErr_SetVim(str) PyErr_SetString(VimError, str)
@@ -123,6 +125,15 @@ OutputWritelines(PyObject *self, PyObject *args)
return Py_None;
}
static PyObject *
OutputFlush(PyObject *self UNUSED, PyObject *args UNUSED)
{
/* do nothing */
Py_INCREF(Py_None);
return Py_None;
}
/* Buffer IO, we write one whole line at a time. */
static garray_T io_ga = {0, 0, 1, 80, NULL};
static writefn old_fn = NULL;

View File

@@ -165,6 +165,7 @@ struct PyMethodDef { Py_ssize_t a; };
# define PySys_SetObject dll_PySys_SetObject
# define PySys_SetArgv dll_PySys_SetArgv
# define PyType_Type (*dll_PyType_Type)
# define PyType_Ready (*dll_PyType_Ready)
# define Py_BuildValue dll_Py_BuildValue
# define Py_FindMethod dll_Py_FindMethod
# define Py_InitModule4 dll_Py_InitModule4
@@ -224,6 +225,7 @@ static PyTypeObject* dll_PyString_Type;
static int(*dll_PySys_SetObject)(char *, PyObject *);
static int(*dll_PySys_SetArgv)(int, char **);
static PyTypeObject* dll_PyType_Type;
static int (*dll_PyType_Ready)(PyTypeObject *type);
static PyObject*(*dll_Py_BuildValue)(char *, ...);
static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *);
static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int);
@@ -305,6 +307,7 @@ static struct
{"PySys_SetObject", (PYTHON_PROC*)&dll_PySys_SetObject},
{"PySys_SetArgv", (PYTHON_PROC*)&dll_PySys_SetArgv},
{"PyType_Type", (PYTHON_PROC*)&dll_PyType_Type},
{"PyType_Ready", (PYTHON_PROC*)&dll_PyType_Ready},
{"Py_BuildValue", (PYTHON_PROC*)&dll_Py_BuildValue},
{"Py_FindMethod", (PYTHON_PROC*)&dll_Py_FindMethod},
# if (PY_VERSION_HEX >= 0x02050000) && SIZEOF_SIZE_T != SIZEOF_INT
@@ -780,7 +783,7 @@ OutputSetattr(PyObject *self, char *name, PyObject *val)
PythonIO_Init(void)
{
/* Fixups... */
OutputType.ob_type = &PyType_Type;
PyType_Ready(&OutputType);
return PythonIO_Init_io();
}
@@ -1402,12 +1405,12 @@ PythonMod_Init(void)
static char *(argv[2]) = {"/must>not&exist/foo", NULL};
/* Fixups... */
BufferType.ob_type = &PyType_Type;
RangeType.ob_type = &PyType_Type;
WindowType.ob_type = &PyType_Type;
BufListType.ob_type = &PyType_Type;
WinListType.ob_type = &PyType_Type;
CurrentType.ob_type = &PyType_Type;
PyType_Ready(&BufferType);
PyType_Ready(&RangeType);
PyType_Ready(&WindowType);
PyType_Ready(&BufListType);
PyType_Ready(&WinListType);
PyType_Ready(&CurrentType);
/* Set sys.argv[] to avoid a crash in warn(). */
PySys_SetArgv(1, argv);

View File

@@ -92,37 +92,39 @@ typedef struct
#define EDIT_TAG 3 /* tag name argument given, use tagname */
#define EDIT_QF 4 /* start in quickfix mode */
#if defined(UNIX) || defined(VMS)
#if (defined(UNIX) || defined(VMS)) && !defined(NO_VIM_MAIN)
static int file_owned __ARGS((char *fname));
#endif
static void mainerr __ARGS((int, char_u *));
#ifndef NO_VIM_MAIN
static void main_msg __ARGS((char *s));
static void usage __ARGS((void));
static int get_number_arg __ARGS((char_u *p, int *idx, int def));
#if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
# if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
static void init_locale __ARGS((void));
#endif
# endif
static void parse_command_name __ARGS((mparm_T *parmp));
static void early_arg_scan __ARGS((mparm_T *parmp));
static void command_line_scan __ARGS((mparm_T *parmp));
static void check_tty __ARGS((mparm_T *parmp));
static void read_stdin __ARGS((void));
static void create_windows __ARGS((mparm_T *parmp));
#ifdef FEAT_WINDOWS
# ifdef FEAT_WINDOWS
static void edit_buffers __ARGS((mparm_T *parmp));
#endif
# endif
static void exe_pre_commands __ARGS((mparm_T *parmp));
static void exe_commands __ARGS((mparm_T *parmp));
static void source_startup_scripts __ARGS((mparm_T *parmp));
static void main_start_gui __ARGS((void));
#if defined(HAS_SWAP_EXISTS_ACTION)
# if defined(HAS_SWAP_EXISTS_ACTION)
static void check_swap_exists_action __ARGS((void));
#endif
#ifdef FEAT_CLIENTSERVER
# endif
# if defined(FEAT_CLIENTSERVER) || defined(PROTO)
static void exec_on_server __ARGS((mparm_T *parmp));
static void prepare_server __ARGS((mparm_T *parmp));
static void cmdsrv_main __ARGS((int *argc, char **argv, char_u *serverName_arg, char_u **serverStr));
static char_u *serverMakeName __ARGS((char_u *arg, char *cmd));
# endif
#endif
@@ -145,7 +147,8 @@ static char *(main_errors[]) =
#define ME_INVALID_ARG 5
};
#ifndef PROTO /* don't want a prototype for main() */
#ifndef NO_VIM_MAIN /* skip this for unittests */
#ifndef PROTO /* don't want a prototype for main() */
int
# ifdef VIMDLL
_export
@@ -966,6 +969,7 @@ main
return 0;
}
#endif /* PROTO */
#endif /* NO_VIM_MAIN */
/*
* Main loop: Execute Normal mode commands until exiting Vim.
@@ -1430,6 +1434,7 @@ getout(exitval)
mch_exit(exitval);
}
#ifndef NO_VIM_MAIN
/*
* Get a (optional) count for a Vim argument.
*/
@@ -2994,6 +2999,8 @@ main_start_gui()
#endif
}
#endif /* NO_VIM_MAIN */
/*
* Get an environment variable, and execute it as Ex commands.
* Returns FAIL if the environment variable was not executed, OK otherwise.
@@ -3033,7 +3040,7 @@ process_env(env, is_viminit)
return FAIL;
}
#if defined(UNIX) || defined(VMS)
#if (defined(UNIX) || defined(VMS)) && !defined(NO_VIM_MAIN)
/*
* Return TRUE if we are certain the user owns the file "fname".
* Used for ".vimrc" and ".exrc".
@@ -3091,6 +3098,7 @@ mainerr_arg_missing(str)
mainerr(ME_ARG_MISSING, str);
}
#ifndef NO_VIM_MAIN
/*
* print a message with three spaces prepended and '\n' appended.
*/
@@ -3311,6 +3319,8 @@ check_swap_exists_action()
}
#endif
#endif
#if defined(STARTUPTIME) || defined(PROTO)
static void time_diff __ARGS((struct timeval *then, struct timeval *now));
@@ -3420,7 +3430,7 @@ time_msg(mesg, tv_start)
#endif
#if defined(FEAT_CLIENTSERVER) || defined(PROTO)
#if (defined(FEAT_CLIENTSERVER) && !defined(NO_VIM_MAIN)) || defined(PROTO)
/*
* Common code for the X command server and the Win32 command server.
@@ -3887,6 +3897,32 @@ build_drop_cmd(filec, filev, tabs, sendReply)
return ga.ga_data;
}
/*
* Make our basic server name: use the specified "arg" if given, otherwise use
* the tail of the command "cmd" we were started with.
* Return the name in allocated memory. This doesn't include a serial number.
*/
static char_u *
serverMakeName(arg, cmd)
char_u *arg;
char *cmd;
{
char_u *p;
if (arg != NULL && *arg != NUL)
p = vim_strsave_up(arg);
else
{
p = vim_strsave_up(gettail((char_u *)cmd));
/* Remove .exe or .bat from the name. */
if (p != NULL && vim_strchr(p, '.') != NULL)
*vim_strchr(p, '.') = NUL;
}
return p;
}
#endif /* FEAT_CLIENTSERVER */
#if defined(FEAT_CLIENTSERVER) || defined(PROTO)
/*
* Replace termcodes such as <CR> and insert as key presses if there is room.
*/
@@ -3998,32 +4034,7 @@ serverConvert(client_enc, data, tofree)
# endif
return res;
}
/*
* Make our basic server name: use the specified "arg" if given, otherwise use
* the tail of the command "cmd" we were started with.
* Return the name in allocated memory. This doesn't include a serial number.
*/
static char_u *
serverMakeName(arg, cmd)
char_u *arg;
char *cmd;
{
char_u *p;
if (arg != NULL && *arg != NUL)
p = vim_strsave_up(arg);
else
{
p = vim_strsave_up(gettail((char_u *)cmd));
/* Remove .exe or .bat from the name. */
if (p != NULL && vim_strchr(p, '.') != NULL)
*vim_strchr(p, '.') = NUL;
}
return p;
}
#endif /* FEAT_CLIENTSERVER */
#endif
/*
* When FEAT_FKMAP is defined, also compile the Farsi source code.

View File

@@ -84,6 +84,13 @@ static int mf_write __ARGS((memfile_T *, bhdr_T *));
static int mf_write_block __ARGS((memfile_T *mfp, bhdr_T *hp, off_t offset, unsigned size));
static int mf_trans_add __ARGS((memfile_T *, bhdr_T *));
static void mf_do_open __ARGS((memfile_T *, char_u *, int));
static void mf_hash_init __ARGS((mf_hashtab_T *));
static void mf_hash_free __ARGS((mf_hashtab_T *));
static void mf_hash_free_all __ARGS((mf_hashtab_T *));
static mf_hashitem_T *mf_hash_find __ARGS((mf_hashtab_T *, blocknr_T));
static void mf_hash_add_item __ARGS((mf_hashtab_T *, mf_hashitem_T *));
static void mf_hash_rem_item __ARGS((mf_hashtab_T *, mf_hashitem_T *));
static int mf_hash_grow __ARGS((mf_hashtab_T *));
/*
* The functions for using a memfile:
@@ -119,7 +126,6 @@ mf_open(fname, flags)
int flags;
{
memfile_T *mfp;
int i;
off_t size;
#if defined(STATFS) && defined(UNIX) && !defined(__QNX__)
# define USE_FSTATFS
@@ -152,11 +158,8 @@ mf_open(fname, flags)
mfp->mf_used_last = NULL;
mfp->mf_dirty = FALSE;
mfp->mf_used_count = 0;
for (i = 0; i < MEMHASHSIZE; ++i)
{
mfp->mf_hash[i] = NULL; /* hash lists are empty */
mfp->mf_trans[i] = NULL; /* trans lists are empty */
}
mf_hash_init(&mfp->mf_hash);
mf_hash_init(&mfp->mf_trans);
mfp->mf_page_size = MEMFILE_PAGE_SIZE;
#ifdef FEAT_CRYPT
mfp->mf_old_key = NULL;
@@ -242,8 +245,6 @@ mf_close(mfp, del_file)
int del_file;
{
bhdr_T *hp, *nextp;
NR_TRANS *tp, *tpnext;
int i;
if (mfp == NULL) /* safety check */
return;
@@ -263,12 +264,8 @@ mf_close(mfp, del_file)
}
while (mfp->mf_free_first != NULL) /* free entries in free list */
vim_free(mf_rem_free(mfp));
for (i = 0; i < MEMHASHSIZE; ++i) /* free entries in trans lists */
for (tp = mfp->mf_trans[i]; tp != NULL; tp = tpnext)
{
tpnext = tp->nt_next;
vim_free(tp);
}
mf_hash_free(&mfp->mf_hash);
mf_hash_free_all(&mfp->mf_trans); /* free hashtable and its items */
vim_free(mfp->mf_fname);
vim_free(mfp->mf_ffname);
vim_free(mfp);
@@ -743,16 +740,7 @@ mf_ins_hash(mfp, hp)
memfile_T *mfp;
bhdr_T *hp;
{
bhdr_T *hhp;
int hash;
hash = MEMHASH(hp->bh_bnum);
hhp = mfp->mf_hash[hash];
hp->bh_hash_next = hhp;
hp->bh_hash_prev = NULL;
if (hhp != NULL)
hhp->bh_hash_prev = hp;
mfp->mf_hash[hash] = hp;
mf_hash_add_item(&mfp->mf_hash, (mf_hashitem_T *)hp);
}
/*
@@ -763,13 +751,7 @@ mf_rem_hash(mfp, hp)
memfile_T *mfp;
bhdr_T *hp;
{
if (hp->bh_hash_prev == NULL)
mfp->mf_hash[MEMHASH(hp->bh_bnum)] = hp->bh_hash_next;
else
hp->bh_hash_prev->bh_hash_next = hp->bh_hash_next;
if (hp->bh_hash_next)
hp->bh_hash_next->bh_hash_prev = hp->bh_hash_prev;
mf_hash_rem_item(&mfp->mf_hash, (mf_hashitem_T *)hp);
}
/*
@@ -780,12 +762,7 @@ mf_find_hash(mfp, nr)
memfile_T *mfp;
blocknr_T nr;
{
bhdr_T *hp;
for (hp = mfp->mf_hash[MEMHASH(nr)]; hp != NULL; hp = hp->bh_hash_next)
if (hp->bh_bnum == nr)
break;
return hp;
return (bhdr_T *)mf_hash_find(&mfp->mf_hash, nr);
}
/*
@@ -1187,7 +1164,6 @@ mf_trans_add(mfp, hp)
{
bhdr_T *freep;
blocknr_T new_bnum;
int hash;
NR_TRANS *np;
int page_count;
@@ -1235,12 +1211,8 @@ mf_trans_add(mfp, hp)
hp->bh_bnum = new_bnum;
mf_ins_hash(mfp, hp); /* insert in new hash list */
hash = MEMHASH(np->nt_old_bnum); /* insert in trans list */
np->nt_next = mfp->mf_trans[hash];
mfp->mf_trans[hash] = np;
if (np->nt_next != NULL)
np->nt_next->nt_prev = np;
np->nt_prev = NULL;
/* Insert "np" into "mf_trans" hashtable with key "np->nt_old_bnum" */
mf_hash_add_item(&mfp->mf_trans, (mf_hashitem_T *)np);
return OK;
}
@@ -1255,25 +1227,20 @@ mf_trans_del(mfp, old_nr)
memfile_T *mfp;
blocknr_T old_nr;
{
int hash;
NR_TRANS *np;
blocknr_T new_bnum;
hash = MEMHASH(old_nr);
for (np = mfp->mf_trans[hash]; np != NULL; np = np->nt_next)
if (np->nt_old_bnum == old_nr)
break;
np = (NR_TRANS *)mf_hash_find(&mfp->mf_trans, old_nr);
if (np == NULL) /* not found */
return old_nr;
mfp->mf_neg_count--;
new_bnum = np->nt_new_bnum;
if (np->nt_prev != NULL) /* remove entry from the trans list */
np->nt_prev->nt_next = np->nt_next;
else
mfp->mf_trans[hash] = np->nt_next;
if (np->nt_next != NULL)
np->nt_next->nt_prev = np->nt_prev;
/* remove entry from the trans list */
mf_hash_rem_item(&mfp->mf_trans, (mf_hashitem_T *)np);
vim_free(np);
return new_bnum;
@@ -1397,3 +1364,207 @@ mf_do_open(mfp, fname, flags)
mch_hide(mfp->mf_fname); /* try setting the 'hidden' flag */
}
}
/*
* Implementation of mf_hashtab_T follows.
*/
/*
* The number of buckets in the hashtable is increased by a factor of
* MHT_GROWTH_FACTOR when the average number of items per bucket
* exceeds 2 ^ MHT_LOG_LOAD_FACTOR.
*/
#define MHT_LOG_LOAD_FACTOR 6
#define MHT_GROWTH_FACTOR 2 /* must be a power of two */
/*
* Initialize an empty hash table.
*/
static void
mf_hash_init(mht)
mf_hashtab_T *mht;
{
vim_memset(mht, 0, sizeof(mf_hashtab_T));
mht->mht_buckets = mht->mht_small_buckets;
mht->mht_mask = MHT_INIT_SIZE - 1;
}
/*
* Free the array of a hash table. Does not free the items it contains!
* The hash table must not be used again without another mf_hash_init() call.
*/
static void
mf_hash_free(mht)
mf_hashtab_T *mht;
{
if (mht->mht_buckets != mht->mht_small_buckets)
vim_free(mht->mht_buckets);
}
/*
* Free the array of a hash table and all the items it contains.
*/
static void
mf_hash_free_all(mht)
mf_hashtab_T *mht;
{
long_u idx;
mf_hashitem_T *mhi;
mf_hashitem_T *next;
for (idx = 0; idx <= mht->mht_mask; idx++)
for (mhi = mht->mht_buckets[idx]; mhi != NULL; mhi = next)
{
next = mhi->mhi_next;
vim_free(mhi);
}
mf_hash_free(mht);
}
/*
* Find "key" in hashtable "mht".
* Returns a pointer to a mf_hashitem_T or NULL if the item was not found.
*/
static mf_hashitem_T *
mf_hash_find(mht, key)
mf_hashtab_T *mht;
blocknr_T key;
{
mf_hashitem_T *mhi;
mhi = mht->mht_buckets[key & mht->mht_mask];
while (mhi != NULL && mhi->mhi_key != key)
mhi = mhi->mhi_next;
return mhi;
}
/*
* Add item "mhi" to hashtable "mht".
* "mhi" must not be NULL.
*/
static void
mf_hash_add_item(mht, mhi)
mf_hashtab_T *mht;
mf_hashitem_T *mhi;
{
long_u idx;
idx = mhi->mhi_key & mht->mht_mask;
mhi->mhi_next = mht->mht_buckets[idx];
mhi->mhi_prev = NULL;
if (mhi->mhi_next != NULL)
mhi->mhi_next->mhi_prev = mhi;
mht->mht_buckets[idx] = mhi;
mht->mht_count++;
/*
* Grow hashtable when we have more thank 2^MHT_LOG_LOAD_FACTOR
* items per bucket on average
*/
if (mht->mht_fixed == 0
&& (mht->mht_count >> MHT_LOG_LOAD_FACTOR) > mht->mht_mask)
{
if (mf_hash_grow(mht) == FAIL)
{
/* stop trying to grow after first failure to allocate memory */
mht->mht_fixed = 1;
}
}
}
/*
* Remove item "mhi" from hashtable "mht".
* "mhi" must not be NULL and must have been inserted into "mht".
*/
static void
mf_hash_rem_item(mht, mhi)
mf_hashtab_T *mht;
mf_hashitem_T *mhi;
{
if (mhi->mhi_prev == NULL)
mht->mht_buckets[mhi->mhi_key & mht->mht_mask] = mhi->mhi_next;
else
mhi->mhi_prev->mhi_next = mhi->mhi_next;
if (mhi->mhi_next != NULL)
mhi->mhi_next->mhi_prev = mhi->mhi_prev;
mht->mht_count--;
/* We could shrink the table here, but it typically takes little memory,
* so why bother? */
}
/*
* Increase number of buckets in the hashtable by MHT_GROWTH_FACTOR and
* rehash items.
* Returns FAIL when out of memory.
*/
static int
mf_hash_grow(mht)
mf_hashtab_T *mht;
{
long_u i, j;
int shift;
mf_hashitem_T *mhi;
mf_hashitem_T *tails[MHT_GROWTH_FACTOR];
mf_hashitem_T **buckets;
size_t size;
size = (mht->mht_mask + 1) * MHT_GROWTH_FACTOR * sizeof(void *);
buckets = (mf_hashitem_T **)lalloc_clear(size, FALSE);
if (buckets == NULL)
return FAIL;
shift = 0;
while ((mht->mht_mask >> shift) != 0)
shift++;
for (i = 0; i <= mht->mht_mask; i++)
{
/*
* Traverse the items in the i-th original bucket and move them into
* MHT_GROWTH_FACTOR new buckets, preserving their relative order
* within each new bucket. Preserving the order is important because
* mf_get() tries to keep most recently used items at the front of
* each bucket.
*
* Here we strongly rely on the fact the hashes are computed modulo
* a power of two.
*/
vim_memset(tails, 0, sizeof(tails));
for (mhi = mht->mht_buckets[i]; mhi != NULL; mhi = mhi->mhi_next)
{
j = (mhi->mhi_key >> shift) & (MHT_GROWTH_FACTOR - 1);
if (tails[j] == NULL)
{
buckets[i + (j << shift)] = mhi;
tails[j] = mhi;
mhi->mhi_prev = NULL;
}
else
{
tails[j]->mhi_next = mhi;
mhi->mhi_prev = tails[j];
tails[j] = mhi;
}
}
for (j = 0; j < MHT_GROWTH_FACTOR; j++)
if (tails[j] != NULL)
tails[j]->mhi_next = NULL;
}
if (mht->mht_buckets != mht->mht_small_buckets)
vim_free(mht->mht_buckets);
mht->mht_buckets = buckets;
mht->mht_mask = (mht->mht_mask + 1) * MHT_GROWTH_FACTOR - 1;
return OK;
}

145
src/memfile_test.c Normal file
View File

@@ -0,0 +1,145 @@
/* vi:set ts=8 sts=4 sw=4:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
* See README.txt for an overview of the Vim source code.
*/
/*
* memfile_test.c: Unittests for memfile.c
* Mostly by Ivan Krasilnikov.
*/
#undef NDEBUG
#include <assert.h>
/* Must include main.c because it contains much more than just main() */
#define NO_VIM_MAIN
#include "main.c"
/* This file has to be included because the tested functions are static */
#include "memfile.c"
#define index_to_key(i) ((i) ^ 15167)
#define TEST_COUNT 50000
static void test_mf_hash __ARGS((void));
/*
* Test mf_hash_*() functions.
*/
static void
test_mf_hash()
{
mf_hashtab_T ht;
mf_hashitem_T *item;
blocknr_T key;
long_u i;
long_u num_buckets;
mf_hash_init(&ht);
/* insert some items and check invariants */
for (i = 0; i < TEST_COUNT; i++)
{
assert(ht.mht_count == i);
/* check that number of buckets is a power of 2 */
num_buckets = ht.mht_mask + 1;
assert(num_buckets > 0 && (num_buckets & (num_buckets - 1)) == 0);
/* check load factor */
assert(ht.mht_count <= (num_buckets << MHT_LOG_LOAD_FACTOR));
if (i < (MHT_INIT_SIZE << MHT_LOG_LOAD_FACTOR))
{
/* first expansion shouldn't have occurred yet */
assert(num_buckets == MHT_INIT_SIZE);
assert(ht.mht_buckets == ht.mht_small_buckets);
}
else
{
assert(num_buckets > MHT_INIT_SIZE);
assert(ht.mht_buckets != ht.mht_small_buckets);
}
key = index_to_key(i);
assert(mf_hash_find(&ht, key) == NULL);
/* allocate and add new item */
item = (mf_hashitem_T *)lalloc_clear(sizeof(mf_hashtab_T), FALSE);
assert(item != NULL);
item->mhi_key = key;
mf_hash_add_item(&ht, item);
assert(mf_hash_find(&ht, key) == item);
if (ht.mht_mask + 1 != num_buckets)
{
/* hash table was expanded */
assert(ht.mht_mask + 1 == num_buckets * MHT_GROWTH_FACTOR);
assert(i + 1 == (num_buckets << MHT_LOG_LOAD_FACTOR));
}
}
/* check presence of inserted items */
for (i = 0; i < TEST_COUNT; i++)
{
key = index_to_key(i);
item = mf_hash_find(&ht, key);
assert(item != NULL);
assert(item->mhi_key == key);
}
/* delete some items */
for (i = 0; i < TEST_COUNT; i++)
{
if (i % 100 < 70)
{
key = index_to_key(i);
item = mf_hash_find(&ht, key);
assert(item != NULL);
assert(item->mhi_key == key);
mf_hash_rem_item(&ht, item);
assert(mf_hash_find(&ht, key) == NULL);
mf_hash_add_item(&ht, item);
assert(mf_hash_find(&ht, key) == item);
mf_hash_rem_item(&ht, item);
assert(mf_hash_find(&ht, key) == NULL);
vim_free(item);
}
}
/* check again */
for (i = 0; i < TEST_COUNT; i++)
{
key = index_to_key(i);
item = mf_hash_find(&ht, key);
if (i % 100 < 70)
{
assert(item == NULL);
}
else
{
assert(item != NULL);
assert(item->mhi_key == key);
}
}
/* free hash table and all remaining items */
mf_hash_free_all(&ht);
}
int
main()
{
test_mf_hash();
return 0;
}

View File

@@ -879,16 +879,17 @@ wait_return(redraw)
if (msg_silent != 0)
return;
/*
* With the global command (and some others) we only need one return at the
* end. Adjust cmdline_row to avoid the next message overwriting the last one.
* When inside vgetc(), we can't wait for a typed character at all.
*/
/*
* When inside vgetc(), we can't wait for a typed character at all.
* With the global command (and some others) we only need one return at
* the end. Adjust cmdline_row to avoid the next message overwriting the
* last one.
*/
if (vgetc_busy > 0)
return;
need_wait_return = TRUE;
if (no_wait_return)
{
need_wait_return = TRUE;
if (!exmode_active)
cmdline_row = msg_row;
return;

View File

@@ -3116,7 +3116,7 @@ get_keystroke()
if (n == KEYLEN_REMOVED) /* key code removed */
{
if (must_redraw)
if (must_redraw != 0 && !need_wait_return && (State & CMDLINE) == 0)
{
/* Redrawing was postponed, do it now. */
update_screen(0);

View File

@@ -191,6 +191,7 @@ netbeans_close(void)
changed_window_setting();
update_screen(CLEAR);
setcursor();
cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
@@ -2248,6 +2249,7 @@ nb_do_cmd(
update_topline(); /* scroll to show the line */
update_screen(VALID);
setcursor();
cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
@@ -2642,6 +2644,7 @@ nb_do_cmd(
{
update_screen(NOT_VALID);
setcursor();
cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)
@@ -3008,6 +3011,7 @@ netbeans_open(char *params, int doabort)
changed_window_setting();
update_screen(CLEAR);
setcursor();
cursor_on();
out_flush();
#ifdef FEAT_GUI
if (gui.in_use)

View File

@@ -3148,10 +3148,9 @@ op_yank(oap, deleting, mess)
/* Copy the text from register 0 to the clipboard register. */
copy_yank_reg(&(y_regs[PLUS_REGISTER]));
/* No need to copy to * register upon 'unnamed' now - see below */
clip_own_selection(&clip_plus);
clip_gen_set_selection(&clip_plus);
if (!clip_isautosel() && !did_star)
if (!clip_isautosel() && !did_star && curr == &(y_regs[PLUS_REGISTER]))
{
copy_yank_reg(&(y_regs[STAR_REGISTER]));
clip_own_selection(&clip_star);

View File

@@ -4352,7 +4352,7 @@ do_set(arg, opt_flags)
p = find_termcode(key_name);
if (p == NULL)
{
errmsg = (char_u *)N_("E518: Unknown option");
errmsg = (char_u *)N_("E846: Key code not set");
goto skip;
}
else
@@ -4700,8 +4700,8 @@ do_set(arg, opt_flags)
|| s[i] == ','
|| s[i] == NUL))
break;
/* Count backspaces. Only a comma with an
* even number of backspaces before it is
/* Count backslashes. Only a comma with an
* even number of backslashes before it is
* recognized as a separator */
if (s > origval && s[-1] == '\\')
++bs;

View File

@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: vim 7.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-08-09 12:53+0200\n"
"PO-Revision-Date: 2010-08-09 21:00+0200\n"
"POT-Creation-Date: 2011-03-10 11:10+0100\n"
"PO-Revision-Date: 2011-03-12 07:08+0100\n"
"Last-Translator: Vlad Sandrini <vlad.gently@gmail.com>\n"
"Language-Team: Italian"
" Antonio Colombo <azc100@gmail.com>"
@@ -201,7 +201,7 @@ msgstr "Segni per %s:"
#, c-format
msgid " line=%ld id=%d name=%s"
msgstr " linea=%ld id=%d nome=%s"
msgstr " linea=%ld id=%d, nome=%s"
#, c-format
msgid "E96: Can not diff more than %ld buffers"
@@ -303,6 +303,12 @@ msgstr " Completamento Keyword Locale (^N^P)"
msgid "Hit end of paragraph"
msgstr "Giunto alla fine del paragrafo"
msgid "E839: Completion function changed window"
msgstr "E839: La funzione di completamento ha modificato la finestra"
msgid "E840: Completion function deleted text"
msgstr "E840: La funzione di completamento ha eliminato del testo"
msgid "'dictionary' option is empty"
msgstr "l'opzione 'dictionary' non <20> impostata"
@@ -1271,6 +1277,9 @@ msgid "E183: User defined commands must start with an uppercase letter"
msgstr ""
"E183: I comandi definiti dall'utente devono iniziare con lettera maiuscola"
msgid "E841: Reserved name, cannot be used for user defined command"
msgstr "E841: Nome riservato, non usabile in un comando definito dall'utente"
#, c-format
msgid "E184: No such user-defined command: %s"
msgstr "E184: Comando definito dall'utente %s inesistente"
@@ -1395,6 +1404,9 @@ msgid "E498: no :source file name to substitute for \"<sfile>\""
msgstr ""
"E498: nessun nome di file :source trovato da sostituire per \"<sfile>\""
msgid "E842: no line number to use for \"<slnum>\""
msgstr "E842: nessun numero di riga da usare per \"<slnum>\""
#, no-c-format
msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
msgstr "E499: Un nome di file nullo per '%' o '#', va bene solo con \":p:h\""
@@ -1626,6 +1638,9 @@ msgstr "[NON convertito]"
msgid "[converted]"
msgstr "[convertito]"
msgid "[blowfish]"
msgstr "[blowfish]"
msgid "[crypted]"
msgstr "[cifrato]"
@@ -2307,7 +2322,6 @@ msgstr "Pagina %d"
msgid "No text to be printed"
msgstr "Manca testo da stampare"
#, c-format
msgid "Printing page %d (%d%%)"
msgstr "Sto stampando pagina %d (%d%%)"
@@ -2482,7 +2496,7 @@ msgid ""
" g: Find this definition\n"
" i: Find files #including this file\n"
" s: Find this C symbol\n"
" t: Find assignments to\n"
" t: Find this text string\n"
msgstr ""
"\n"
" c: Trova funzioni che chiamano questa\n"
@@ -2492,7 +2506,7 @@ msgstr ""
" g: Trova questa definizione\n"
" i: Trova file che #includono questo file\n"
" s: Trova questo simbolo C\n"
" t: Trova assegnazioni a\n"
" t: Trova questa stringa\n"
#, c-format
msgid "E625: cannot open cscope database: %s"
@@ -2608,7 +2622,7 @@ msgid "E836: This Vim cannot execute :python after using :py3"
msgstr "E836: Python: Impossibile usare :py e :py3 nella stessa sessione"
msgid "E837: This Vim cannot execute :py3 after using :python"
msgstr "E837: Python: Impossibile usare :py e :py3 nella stessa sessione"
msgstr "E837: Impossibile usare ora :py3 dopo aver usato :python"
msgid ""
"E263: Sorry, this command is disabled, the Python library could not be "
@@ -3207,12 +3221,6 @@ msgstr "-display <schermo>\tEsegui vim su <schermo>"
msgid "-iconic\t\tStart vim iconified"
msgstr "-iconic\t\tInizia vim riducendolo ad icona"
msgid "-name <name>\t\tUse resource as if vim was <name>"
msgstr "-name <nome>\t\tUsa risorsa come se vim fosse <nome>"
msgid "\t\t\t (Unimplemented)\n"
msgstr "\t\t\t (Non implementato)\n"
msgid "-background <color>\tUse <color> for the background (also: -bg)"
msgstr "-background <colore>\tUsa <colore> come sfondo (anche: -bg)"
@@ -3415,6 +3423,9 @@ msgstr "E298: Non riesco a leggere blocco numero 1?"
msgid "E298: Didn't get block nr 2?"
msgstr "E298: Non riesco a leggere blocco numero 2?"
msgid "E843: Error while updating swap file crypt"
msgstr "E843: Errore aggiornando cifratura dello swap file"
#. could not (re)open the swap file, what can we do????
msgid "E301: Oops, lost the swap file!!!"
msgstr "E301: Ahim<69>, lo swap file <20> perduto!!!"
@@ -3518,7 +3529,7 @@ msgid ""
"If you wrote the text file after changing the crypt key press enter"
msgstr ""
"\n"
"Se hai riscritto il file dopo aver cambio chiave di cifr., premi Invio"
"Se hai riscritto il file dopo aver cambiato chiave di cifr., premi Invio"
msgid ""
"\n"
@@ -3773,24 +3784,20 @@ msgstr " pi
#. * other languages.
msgid ""
"\n"
"(1) Another program may be editing the same file.\n"
" If this is the case, be careful not to end up with two\n"
" different instances of the same file when making changes.\n"
"(1) Another program may be editing the same file. If this is the case,\n"
" be careful not to end up with two different instances of the same\n"
" file when making changes."
msgstr ""
"\n"
"(1) Un altro programma pu<70> essere in edit sullo stesso file.\n"
" Se <20> cos<6F>, attenzione a non trovarti con due versioni\n"
" differenti dello stesso file a cui vengono apportate modifiche.\n"
" differenti dello stesso file a cui vengono apportate modifiche."
msgid " Quit, or continue with caution.\n"
msgstr " Esci, o continua con prudenza.\n"
msgid " Quit, or continue with caution.\n"
msgstr " Esci, o continua con prudenza.\n"
msgid ""
"\n"
"(2) An edit session for this file crashed.\n"
msgstr ""
"\n"
"(2) Una sessione di edit per questo file <20> finita male.\n"
msgid "(2) An edit session for this file crashed.\n"
msgstr "(2) Una sessione di edit per questo file <20> finita male.\n"
msgid " If this is the case, use \":recover\" or \"vim -r "
msgstr " Se <20> cos<6F>, usa \":recover\" oppure \"vim -r "
@@ -4022,7 +4029,6 @@ msgstr "Vim: preservo file...\n"
msgid "Vim: Finished.\n"
msgstr "Vim: Finito.\n"
#, c-format
msgid "ERROR: "
msgstr "ERRORE: "
@@ -4123,6 +4129,9 @@ msgstr "lettura da socket Netbeans"
msgid "E658: NetBeans connection lost for buffer %ld"
msgstr "E658: Connessione NetBeans persa per il buffer %ld"
msgid "E838: netbeans is not supported with this GUI"
msgstr "E838: netbeans non <20> supportato con questa GUI"
msgid "E511: netbeans already connected"
msgstr "E511: netbeans gi<67> connesso"
@@ -4534,7 +4543,6 @@ msgstr "Vim: Segnale doppio, esco\n"
msgid "Vim: Caught deadly signal %s\n"
msgstr "Vim: Intercettato segnale fatale %s\n"
#, c-format
msgid "Vim: Caught deadly signal\n"
msgstr "Vim: Intercettato segnale fatale\n"
@@ -4678,26 +4686,21 @@ msgstr ""
msgid "Vim Warning"
msgstr "Avviso da Vim"
#, c-format
msgid "E372: Too many %%%c in format string"
msgstr "E372: Troppi %%%c nella stringa di 'format'"
#, c-format
msgid "E373: Unexpected %%%c in format string"
msgstr "E373: %%%c imprevisto nella stringa di 'format'"
msgid "E374: Missing ] in format string"
msgstr "E374: Manca ] nella stringa di 'format'"
#, c-format
msgid "E375: Unsupported %%%c in format string"
msgstr "E375: %%%c non supportato nella stringa di 'format'"
#, c-format
msgid "E376: Invalid %%%c in format string prefix"
msgstr "E376: %%%c non valido nel prefisso della stringa di 'format'"
#, c-format
msgid "E377: Invalid %%%c in format string"
msgstr "E377: %%%c non valido nella stringa di 'format'"
@@ -4746,10 +4749,6 @@ msgstr "E681: Buffer non caricato"
msgid "E777: String or List expected"
msgstr "E777: aspettavo Stringa o Lista"
#, c-format
msgid "E369: invalid item in %s%%[]"
msgstr "E369: elemento non valido in %s%%[]"
msgid "E339: Pattern too long"
msgstr "E339: Espressione troppo lunga"
@@ -4763,7 +4762,6 @@ msgstr "E51: Troppe %s("
msgid "E52: Unmatched \\z("
msgstr "E52: Senza riscontro: \\z("
#, c-format
msgid "E53: Unmatched %s%%("
msgstr "E53: Senza riscontro: %s%%("
@@ -4810,19 +4808,15 @@ msgstr "E67: \\z1 ecc. non consentiti qui"
msgid "E68: Invalid character after \\z"
msgstr "E68: Carattere non ammesso dopo \\z"
#, c-format
msgid "E69: Missing ] after %s%%["
msgstr "E69: Manca ] dopo %s%%["
#, c-format
msgid "E70: Empty %s%%[]"
msgstr "E70: %s%%[] vuoto"
#, c-format
msgid "E678: Invalid character after %s%%[dxouU]"
msgstr "E678: Carattere non valido dopo %s%%[dxouU]"
#, c-format
msgid "E71: Invalid character after %s%%"
msgstr "E71: Carattere non ammesso dopo %s%%"
@@ -4987,6 +4981,10 @@ msgstr "Comprimo albero di parole..."
msgid "E756: Spell checking is not enabled"
msgstr "E756: Controllo ortografico non abilitato"
#, c-format
msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
msgstr "Attenzione: Non trovo lista parole \"%s_%s.spl\" o \"%s_ascii.spl\""
#, c-format
msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
msgstr "Attenzione: Non trovo lista parole \"%s.%s.spl\" o \"%s.ascii.spl\""
@@ -5212,6 +5210,9 @@ msgstr "Flag non riconosciuti in %s linea %d: %s"
msgid "Ignored %d words with non-ASCII characters"
msgstr "%d parole con caratteri non-ASCII ignorate"
msgid "E845: Insufficient memory, word list will be incomplete"
msgstr "E845: Memoria insufficiente, la lista parole sar<61> incompleta"
#, c-format
msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
msgstr "%d di %d nodi compressi; ne restano %d (%d%%)"
@@ -5389,8 +5390,8 @@ msgstr " interruzioni di linea"
msgid "E395: contains argument not accepted here"
msgstr "E395: contiene argomenti non accettati qui"
msgid "E396: containedin argument not accepted here"
msgstr "E396: argomento 'containedin' non accettato qui"
msgid "E844: invalid cchar value"
msgstr "E844: valore cchar non valido"
msgid "E393: group[t]here not accepted here"
msgstr "E393: group[t]here non ammesso qui"
@@ -5768,8 +5769,8 @@ msgstr "dopo"
msgid "Nothing to undo"
msgstr "Nessuna modifica, Undo impossibile"
msgid "number changes time saved"
msgstr "numero modif. ora salv."
msgid "number changes when saved"
msgstr "numero modif. quando salv."
#, c-format
msgid "%ld seconds ago"
@@ -6164,7 +6165,6 @@ msgstr "Differenza con Vim"
msgid "Edit with &Vim"
msgstr "Apri con &Vim"
#. Now concatenate
msgid "Edit with existing Vim - "
msgstr "Apri con Vim esistente - "

View File

@@ -5099,11 +5099,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
#ifdef FEAT_DIFF
|| filler_todo > 0
#endif
|| (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str
#ifdef FEAT_SYN_HL
&& !wp->w_p_cul
#endif
)
|| (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str)
|| (n_extra != 0 && (c_extra != NUL || *p_extra != NUL)))
)
{

View File

@@ -377,6 +377,35 @@ typedef struct block_hdr bhdr_T;
typedef struct memfile memfile_T;
typedef long blocknr_T;
/*
* mf_hashtab_T is a chained hashtable with blocknr_T key and arbitrary
* structures as items. This is an intrusive data structure: we require
* that items begin with mf_hashitem_T which contains the key and linked
* list pointers. List of items in each bucket is doubly-linked.
*/
typedef struct mf_hashitem_S mf_hashitem_T;
struct mf_hashitem_S
{
mf_hashitem_T *mhi_next;
mf_hashitem_T *mhi_prev;
blocknr_T mhi_key;
};
#define MHT_INIT_SIZE 64
typedef struct mf_hashtab_S
{
long_u mht_mask; /* mask used for hash value (nr of items
* in array is "mht_mask" + 1) */
long_u mht_count; /* nr of items inserted into hashtable */
mf_hashitem_T **mht_buckets; /* points to mht_small_buckets or
*dynamically allocated array */
mf_hashitem_T *mht_small_buckets[MHT_INIT_SIZE]; /* initial buckets */
char mht_fixed; /* non-zero value forbids growth */
} mf_hashtab_T;
/*
* for each (previously) used block in the memfile there is one block header.
*
@@ -394,11 +423,11 @@ typedef long blocknr_T;
struct block_hdr
{
mf_hashitem_T bh_hashitem; /* header for hash table and key */
#define bh_bnum bh_hashitem.mhi_key /* block number, part of bh_hashitem */
bhdr_T *bh_next; /* next block_hdr in free or used list */
bhdr_T *bh_prev; /* previous block_hdr in used list */
bhdr_T *bh_hash_next; /* next block_hdr in hash list */
bhdr_T *bh_hash_prev; /* previous block_hdr in hash list */
blocknr_T bh_bnum; /* block number */
char_u *bh_data; /* pointer to memory (for used block) */
int bh_page_count; /* number of pages in this block */
@@ -417,9 +446,9 @@ typedef struct nr_trans NR_TRANS;
struct nr_trans
{
NR_TRANS *nt_next; /* next nr_trans in hash list */
NR_TRANS *nt_prev; /* previous nr_trans in hash list */
blocknr_T nt_old_bnum; /* old, negative, number */
mf_hashitem_T nt_hashitem; /* header for hash table and key */
#define nt_old_bnum nt_hashitem.mhi_key /* old, negative, number */
blocknr_T nt_new_bnum; /* new, positive, number */
};
@@ -499,12 +528,6 @@ typedef struct
typedef struct file_buffer buf_T; /* forward declaration */
/*
* Simplistic hashing scheme to quickly locate the blocks in the used list.
* 64 blocks are found directly (64 * 4K = 256K, most files are smaller).
*/
#define MEMHASHSIZE 64
#define MEMHASH(nr) ((nr) & (MEMHASHSIZE - 1))
#define MF_SEED_LEN 8
struct memfile
@@ -517,8 +540,8 @@ struct memfile
bhdr_T *mf_used_last; /* lru block_hdr in used list */
unsigned mf_used_count; /* number of pages in used list */
unsigned mf_used_count_max; /* maximum number of pages in memory */
bhdr_T *mf_hash[MEMHASHSIZE]; /* array of hash lists */
NR_TRANS *mf_trans[MEMHASHSIZE]; /* array of trans lists */
mf_hashtab_T mf_hash; /* hash lists */
mf_hashtab_T mf_trans; /* trans lists */
blocknr_T mf_blocknr_max; /* highest positive block number + 1*/
blocknr_T mf_blocknr_min; /* lowest negative block number - 1 */
blocknr_T mf_neg_count; /* number of negative blocks numbers */

View File

@@ -219,16 +219,20 @@ typedef struct syn_cluster_S
/*
* Syntax group IDs have different types:
* 0 - 9999 normal syntax groups
* 10000 - 14999 ALLBUT indicator (current_syn_inc_tag added)
* 15000 - 19999 TOP indicator (current_syn_inc_tag added)
* 20000 - 24999 CONTAINED indicator (current_syn_inc_tag added)
* >= 25000 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
* 0 - 19999 normal syntax groups
* 20000 - 20999 ALLBUT indicator (current_syn_inc_tag added)
* 21000 - 21999 TOP indicator (current_syn_inc_tag added)
* 22000 - 22999 CONTAINED indicator (current_syn_inc_tag added)
* 23000 - 32767 cluster IDs (subtract SYNID_CLUSTER for the cluster ID)
*/
#define SYNID_ALLBUT 10000 /* syntax group ID for contains=ALLBUT */
#define SYNID_TOP 15000 /* syntax group ID for contains=TOP */
#define SYNID_CONTAINED 20000 /* syntax group ID for contains=CONTAINED */
#define SYNID_CLUSTER 25000 /* first syntax group ID for clusters */
#define SYNID_ALLBUT 20000 /* syntax group ID for contains=ALLBUT */
#define SYNID_TOP 21000 /* syntax group ID for contains=TOP */
#define SYNID_CONTAINED 22000 /* syntax group ID for contains=CONTAINED */
#define SYNID_CLUSTER 23000 /* first syntax group ID for clusters */
#define MAX_SYNID SYNID_ALLBUT
#define MAX_SYN_INC_TAG 999 /* maximum before the above overflow */
#define MAX_CLUSTER_ID (32767 - SYNID_CLUSTER)
/*
* Annoying Hack(TM): ":syn include" needs this pointer to pass to
@@ -3442,6 +3446,9 @@ syntax_clear(block)
/* free the stored states */
syn_stack_free_all(block);
invalidate_current_state();
/* Reset the counter for ":syn include" */
running_syn_inc_tag = 0;
}
/*
@@ -4661,6 +4668,8 @@ syn_cmd_include(eap, syncing)
return;
}
sgl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
if (sgl_id == 0)
return;
/* separate_nextcmd() and expand_filename() depend on this */
eap->arg = rest;
}
@@ -4689,6 +4698,11 @@ syn_cmd_include(eap, syncing)
* Save and restore the existing top-level grouplist id and ":syn
* include" tag around the actual inclusion.
*/
if (running_syn_inc_tag >= MAX_SYN_INC_TAG)
{
EMSG((char_u *)_("E847: Too many syntax includes"));
return;
}
prev_syn_inc_tag = current_syn_inc_tag;
current_syn_inc_tag = ++running_syn_inc_tag;
prev_toplvl_grp = curwin->w_s->b_syn_topgrp;
@@ -4712,7 +4726,7 @@ syn_cmd_keyword(eap, syncing)
char_u *group_name_end;
int syn_id;
char_u *rest;
char_u *keyword_copy;
char_u *keyword_copy = NULL;
char_u *p;
char_u *kw;
syn_opt_arg_T syn_opt_arg;
@@ -4724,9 +4738,9 @@ syn_cmd_keyword(eap, syncing)
if (rest != NULL)
{
syn_id = syn_check_group(arg, (int)(group_name_end - arg));
/* allocate a buffer, for removing the backslashes in the keyword */
keyword_copy = alloc((unsigned)STRLEN(rest) + 1);
if (syn_id != 0)
/* allocate a buffer, for removing backslashes in the keyword */
keyword_copy = alloc((unsigned)STRLEN(rest) + 1);
if (keyword_copy != NULL)
{
syn_opt_arg.flags = 0;
@@ -5133,7 +5147,8 @@ syn_cmd_region(eap, syncing)
(item == ITEM_SKIP) ? SPTYPE_SKIP : SPTYPE_END;
SYN_ITEMS(curwin->w_s)[idx].sp_flags |= syn_opt_arg.flags;
SYN_ITEMS(curwin->w_s)[idx].sp_syn.id = syn_id;
SYN_ITEMS(curwin->w_s)[idx].sp_syn.inc_tag = current_syn_inc_tag;
SYN_ITEMS(curwin->w_s)[idx].sp_syn.inc_tag =
current_syn_inc_tag;
SYN_ITEMS(curwin->w_s)[idx].sp_syn_match_id =
ppp->pp_matchgroup_id;
#ifdef FEAT_CONCEAL
@@ -5426,6 +5441,14 @@ syn_add_cluster(name)
curwin->w_s->b_syn_clusters.ga_growsize = 10;
}
len = curwin->w_s->b_syn_clusters.ga_len;
if (len >= MAX_CLUSTER_ID)
{
EMSG((char_u *)_("E848: Too many syntax clusters"));
vim_free(name);
return 0;
}
/*
* Make room for at least one other cluster entry.
*/
@@ -5434,7 +5457,6 @@ syn_add_cluster(name)
vim_free(name);
return 0;
}
len = curwin->w_s->b_syn_clusters.ga_len;
vim_memset(&(SYN_CLSTR(curwin->w_s)[len]), 0, sizeof(syn_cluster_T));
SYN_CLSTR(curwin->w_s)[len].scl_name = name;
@@ -5476,8 +5498,10 @@ syn_cmd_cluster(eap, syncing)
if (rest != NULL)
{
scl_id = syn_check_cluster(arg, (int)(group_name_end - arg))
- SYNID_CLUSTER;
scl_id = syn_check_cluster(arg, (int)(group_name_end - arg));
if (scl_id == 0)
return;
scl_id -= SYNID_CLUSTER;
for (;;)
{
@@ -5516,7 +5540,7 @@ syn_cmd_cluster(eap, syncing)
if (got_clstr)
{
redraw_curbuf_later(SOME_VALID);
syn_stack_free_all(curwin->w_s); /* Need to recompute all syntax. */
syn_stack_free_all(curwin->w_s); /* Need to recompute all. */
}
}
@@ -8972,6 +8996,13 @@ syn_add_group(name)
highlight_ga.ga_growsize = 10;
}
if (highlight_ga.ga_len >= MAX_SYNID)
{
EMSG(_("E849: Too many syntax groups"));
vim_free(name);
return 0;
}
/*
* Make room for at least one other syntax_highlight entry.
*/

View File

@@ -28,7 +28,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test61.out test62.out test63.out test64.out test65.out \
test66.out test67.out test68.out test69.out test70.out \
test71.out test72.out test73.out test74.out test75.out \
test76.out
test76.out test77.out
.SUFFIXES: .in .out
@@ -124,3 +124,4 @@ test73.out: test73.in
test74.out: test74.in
test75.out: test75.in
test76.out: test76.in
test77.out: test77.in

View File

@@ -28,7 +28,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
test37.out test38.out test39.out test40.out test41.out \
test42.out test52.out test65.out test66.out test67.out \
test68.out test69.out test71.out test72.out test73.out \
test74.out test75.out test76.out
test74.out test75.out test76.out test77.out
SCRIPTS32 = test50.out test70.out

View File

@@ -48,7 +48,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
test37.out test38.out test39.out test40.out test41.out \
test42.out test52.out test65.out test66.out test67.out \
test68.out test69.out test71.out test72.out test73.out \
test74.out test75.out test76.out
test74.out test75.out test76.out test77.out
SCRIPTS32 = test50.out test70.out

View File

@@ -28,7 +28,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test61.out test62.out test63.out test64.out test65.out \
test66.out test67.out test68.out test69.out test70.out \
test71.out test72.out test73.out test74.out test75.out \
test76.out
test76.out test77.out
.SUFFIXES: .in .out

View File

@@ -25,7 +25,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test59.out test60.out test61.out test62.out test63.out \
test64.out test65.out test66.out test67.out test68.out \
test69.out test70.out test71.out test72.out test73.out \
test74.out test75.out test76.out
test74.out test75.out test76.out test77.out
SCRIPTS_GUI = test16.out
@@ -71,7 +71,7 @@ test1.out: test1.in
fi \
else echo $* NO OUTPUT >>test.log; \
fi"
-rm -rf X* test.ok viminfo
# -rm -rf X* test.ok viminfo
test49.out: test49.vim

27
src/testdir/test77.in Normal file
View File

@@ -0,0 +1,27 @@
Inserts 2 million lines with consecutive integers starting from 1
(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
and writes its cksum to test.out.
We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
up the lines the checksum would differ.
cksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST
:so small.vim
:if !executable("cksum")
: e! test.ok
: w! test.out
: qa!
:endif
:set fileformat=unix undolevels=-1
ggdG
:let i = 1
:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
ggdd
:w! Xtest
:!cksum Xtest > test.out
:qa!
ENDTEST

1
src/testdir/test77.ok Normal file
View File

@@ -0,0 +1 @@
3678979763 14888896 Xtest

View File

@@ -714,6 +714,32 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
151,
/**/
150,
/**/
149,
/**/
148,
/**/
147,
/**/
146,
/**/
145,
/**/
144,
/**/
143,
/**/
142,
/**/
141,
/**/
140,
/**/
139,
/**/
138,
/**/