mirror of
https://github.com/zoriya/vim.git
synced 2026-01-09 00:06:25 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
337ae06ff9 | ||
|
|
27b6056d85 | ||
|
|
96bcc5e6cd | ||
|
|
42431a7aa0 | ||
|
|
316dca03ca | ||
|
|
4228bec0ae | ||
|
|
30fec7bc7f | ||
|
|
21377c8d5f | ||
|
|
b3c5284c5b | ||
|
|
b05b10a3c0 | ||
|
|
cab49dff91 | ||
|
|
a29a37d533 | ||
|
|
0b2f94db23 | ||
|
|
662db673f9 | ||
|
|
e9d4b58dda | ||
|
|
fd30cd41dc |
3
Filelist
3
Filelist
@@ -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 \
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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|.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 *
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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>*
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
19
runtime/ftplugin/treetop.vim
Normal file
19
runtime/ftplugin/treetop.vim
Normal 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
|
||||
38
runtime/indent/treetop.vim
Normal file
38
runtime/indent/treetop.vim
Normal 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
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
110
runtime/syntax/treetop.vim
Normal 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
112
runtime/syntax/upstart.vim
Normal 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"
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
75
src/Makefile
75
src/Makefile
@@ -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
|
||||
|
||||
144
src/eval.c
144
src/eval.c
@@ -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".
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
85
src/main.c
85
src/main.c
@@ -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.
|
||||
|
||||
281
src/memfile.c
281
src/memfile.c
@@ -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
145
src/memfile_test.c
Normal 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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
94
src/po/it.po
94
src/po/it.po
@@ -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 - "
|
||||
|
||||
|
||||
@@ -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)))
|
||||
)
|
||||
{
|
||||
|
||||
@@ -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 */
|
||||
|
||||
67
src/syntax.c
67
src/syntax.c
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
27
src/testdir/test77.in
Normal 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
1
src/testdir/test77.ok
Normal file
@@ -0,0 +1 @@
|
||||
3678979763 14888896 Xtest
|
||||
@@ -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,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user