vimhelp-de 6.4 - en to de translation catalogue (135 entries)

en: *usr_44.txt*	For Vim version 6.4.  Last change: 2002 Oct 10
de: *usr_44.txt*	Für Vim Version 6.4.  Letzte Änderung: 2002-Okt-10

en: 		     VIM USER MANUAL - by Bram Moolenaar
de: 		     VIM BENUTZERHANDBUCH - von Bram Moolenaar

en: 			 Your own syntax highlighted
de: 			 Eigene Syntax-Hervorhebungen

en: Vim comes with highlighting for a couple of hundred different file types.  If the file you are editing isn't included, read this chapter to find out how to get this type of file highlighted.  Also see |:syn-define| in the reference manual.
de: Vim wird mit Hervorhebungen für ein paar hundert verschiedener Dateitypen ausgeliefert.  Falls die Datei, die Sie editieren, nicht enthalten ist, lesen Sie dieses Kapitel, um herauszufinden, wie Sie für diesen Dateityp Hervorhebung bekommen.  Siehe auch |:syn-define| im Referenzhandbuch.

en: |44.1|	Basic syntax commands |44.2|	Keywords |44.3|	Matches |44.4|	Regions |44.5|	Nested items |44.6|	Following groups |44.7|	Other arguments |44.8|	Clusters |44.9|	Including another syntax file |44.10|	Synchronizing |44.11|	Installing a syntax file |44.12|	Portable syntax file layout
de: |44.1|	Grundlegende Syntax-Befehle
    |44.2|	Schlüsselwörter
    |44.3|	Übereinstimmungen
    |44.4|	Regionen
    |44.5|	Verschachtelte Elemente
    |44.6|	Folgende Gruppen
    |44.7|	Andere Argumente
    |44.8|	Cluster-Gruppen
    |44.9|	Eine andere Syntax-Datei einlesen
    |44.10|	Synchronisieren
    |44.11|	Eine Syntax-Datei installieren
    |44.12|	Portables Layout für Syntax-Dateien

en:      Next chapter: |usr_45.txt|  Select your language
     Previous chapter: |usr_43.txt|  Using filetypes
    Table of contents: |usr_toc.txt|
de: Nächstes Kapitel: |usr_45.txt|  Die Sprache wählen
     Voriges Kapitel: |usr_43.txt|  Dateitypen (filetypes) benutzen
    Inhaltsübersicht: |usr_toc.txt|

en: *44.1*	Basic syntax commands
de: *44.1*	Grundlegende Syntax-Befehle

en: Using an existing syntax file to start with will save you a lot of time.  Try finding a syntax file in $VIMRUNTIME/syntax for a language that is similar.  These files will also show you the normal layout of a syntax file.  To understand it, you need to read the following.
de: Für den Beginn eine bestehende Syntax-Datei benutzen spart Ihnen eine Menge Zeit.  Versuchen Sie in $VIMRUNTIME/syntax eine Syntax-Datei für eine ähnliche Sprache zu finden.  Diese Dateien zeigen Ihnen auch das normale Layout einer Syntax-Datei.  Um sie zu verstehen, müssen Sie das folgende lesen.

en: Let's start with the basic arguments.  Before we start defining any new syntax, we need to clear out any old definitions: >
de: Lassen Sie uns mit den grundlegenden Argumenten beginnen.  Bevor wir beginnen, irgendeine neue Syntax zu definieren, müssen wir alle alten Definitionen entfernen: >

en: This isn't required in the final syntax file, but very useful when experimenting.
de: Dies ist in der entgültigen Syntax-Datei nicht erforderlich, aber sehr nützlich, wenn wir experimentieren.

en: There are more simplifications in this chapter.  If you are writing a syntax file to be used by others, read all the way through the end to find out the details.
de: Es gibt in diesem Kapitel weitere Vereinfachungen.  Falls Sie eine Syntax-Datei schreiben, die von anderen benutzt werden soll, lesen Sie alles bis zum Ende, um die Details herauszufinden.

en: LISTING DEFINED ITEMS
de: DEFINIERTE ELEMENTE AUFLISTEN

en: To check which syntax items are currently defined, use this command: >
de: Benutzen Sie diesen Befehl, um zu prüfen, welche Syntax-Elemente aktuell definiert sind: >

en: You can use this to check which items have actually been defined.  Quite
    useful when you are experimenting with a new syntax file.  It also shows the
    colors used for each item, which helps to find out what is what.
       To list the items in a specific syntax group use: >
de: Sie können dies benutzen, um zu prüfen, welche Elemente tatsächlich definiert
    wurden.  Ziemlich nützlich, wenn Sie mit einer neuen Syntax-Datei
    experimentieren.  Es zeigt auch die für jedes Element benutzten Farben, was
    hilft, herauszufinden, was was ist.
       Um die Elemente in einer bestimmten Syntax-Gruppe aufzulisten, benutzen
    Sie: >

en: 	:syntax list {group-name}
de: 	:syntax list {Gruppenname}

en: This also can be used to list clusters (explained in |44.8|).  Just include the @ in the name.
de: Dies kann auch benutzt werden, um Cluster-Gruppen aufzulisten (erklärt in |44.8|.  Setzen Sie einfach das »@« in den Namen.

en: MATCHING CASE
de: ÜBEREINSTIMMUNG AUF GROß-/KLEINSCHREIBUNG

en: Some languages are not case sensitive, such as Pascal.  Others, such as C, are
    case sensitive.  You need to tell which type you have with the following
    commands: >
    	:syntax case match
    	:syntax case ignore
de: Manche Sprachen sind nicht sensitiv bezüglich Groß-/Kleinschreibung, so wie
    Pascal.  Andere, so wie C, sind hier sensitiv.  Sie müssen Vim sagen mit den
    folgenden Befehlen sagen, was für einen Typ Sie haben: >
    	:syntax case match
    	:syntax case ignore

en: The "match" argument means that Vim will match the case of syntax elements.
    Therefore, "int" differs from "Int" and "INT".  If the "ignore" argument is
    used, the following are equivalent: "Procedure", "PROCEDURE" and "procedure".
       The ":syntax case" commands can appear anywhere in a syntax file and affect
    the syntax definitions that follow.  In most cases, you have only one ":syntax
    case" command in your syntax file; if you work with an unusual language that
    contains both case-sensitive and non-case-sensitive elements, however, you can
    scatter the ":syntax case" command throughout the file.
de: Das Argument »match« bedeutet, das Vim auf Übereinstimmung in Groß-/
    Kleinschreibung von Syntax-Elementen achtet.  Daher unterscheidet sich »int«
    von »Int« oder »INT«.  Falls das Argument »ignore« benutzt wird, werden die
    folgenden gleich behandelt: »Procedure«, »PROCEDURE« und »procedure«.
       Die Befehle »:syntax case« können beliebig in einer Syntax-Datei auftauchen
    und beeinflussen die Syntax-Definitionen, welche folgen.  In den meisten
    Fällen haben Sie nur einen Befehl »:syntax case« in Ihrer Syntax-Datei; falls
    Sie aber mit einer ungewöhnlichen Sprache arbeiten, die sowohl
    schreibungssensitive wie nicht-schreibungssensitive Elemente enthält, können
    Sie die Befehle »:syntax case« durch die Datei hindurch verstreuen.

en: *44.2*	Keywords
de: *44.2*	Schlüsselwörter

en: The most basic syntax elements are keywords.  To define a keyword, use the following form: >
de: Die grundlegendensten Syntax-Elemente sind Schlüsselwörter.  Um ein Schlüsselwort zu definieren, benutzen Sie die folgende Form: >

en: 	:syntax keyword {group} {keyword} ...
de: 	:syntax keyword {Gruppe} {Schlüsselwort} ...

en: The {group} is the name of a syntax group.  With the ":highlight" command you can assign colors to a {group}.  The {keyword} argument is an actual keyword.  Here are a few examples: >
de: {Gruppe} ist der Name einer Syntax-Gruppe.  Mit dem Befehl »:highlight« können Sie einer {Gruppe} Farben zuweisen.  Das Argument {Schlüsselwort} ist ein tatsächliches Schlüsselwort.  Hier sind ein Paar Beispiele: >

en: This example uses the group names "xType" and "xStatement".  By convention,
    each group name is prefixed by the filetype for the language being defined.
    This example defines syntax for the x language (eXample language without an
    interesting name).  In a syntax file for "csh" scripts the name "cshType"
    would be used.  Thus the prefix is equal to the value of 'filetype'.
       These commands cause the words "int", "long" and "char" to be highlighted
    one way and the words "if", "then", "else" and "endif" to be highlighted
    another way.  Now you need to connect the x group names to standard Vim
    names.  You do this with the following commands: >
de: Dieses Beispiel benutzt die Gruppennamen »xType« und »xStatement«.  Nach
    Konvention wird jedem Gruppenname der Dateityp der definierten Sprache
    vorangestellt.  Dieses Beispiel definiert eine Syntax für die Sprache X
    (Beispielsprache eXample ohne einen interessanten Namen).  In einer
    Syntax-Datei für Skripte der »csh« würde der Name »cshType« verwendet.  Also
    ist das Präfix gleich dem Wert von 'filetype'.
       Diese Befehle veranlassen, dass die Wörter »int«, »long« und »char« auf die
    eine Weise hervorgehoben werden, und die Wörte »if«, »then«, »else« und
    »endif« auf eine andere.  Nun müssen Sie die Gruppenname für die Sprache X mit
    Vims Standardnamen verbinden.  Dies macht man mit den folgenden Befehlen: >

en: This tells Vim to highlight "xType" like "Type" and "xStatement" like "Statement".  See |group-name| for the standard names.
de: Dies sagt Vim, dass er »xType« wie »Type« und »xStatement« wie »Statement« hervorheben soll.  Siehe |group-name| für die Standardnamen.

en: UNUSUAL KEYWORDS
de: UNGEWÖHNLICHE SCHLÜSSELWÖRTER

en: The characters used in a keyword must be in the 'iskeyword' option.  If you
    use another character, the word will never match.  Vim doesn't give a warning
    message for this.
       The x language uses the '-' character in keywords.  This is how it's done:
    >
    	:setlocal iskeyword+=-
    	:syntax keyword xStatement when-not
de: Die in einem Schlüsselwort verwendeten Zeichen müssen in der Option
    'iskeyword' enthalten sein.  Falls Sie andere Zeichen verwenden, wird für das
    Wort niemals eine Übereinstimmung gefunden.  Vim gibt hierfür keine
    Warnmeldung aus.
       Die Sprache X benutzt das Zeichen »-« in Schlüsselwörtern.  So wird es
    gemacht:
    >
    	:setlocal iskeyword+=-
    	:syntax keyword xStatement when-not

en: The ":setlocal" command is used to change 'iskeyword' only for the current buffer.  Still it does change the behavior of commands like "w" and "*".  If that is not wanted, don't define a keyword but use a match (explained in the next section).
de: Der Befehl »:setlocal« wird verwendet, um 'iskeyword' nur für den aktuellen Puffer zu ändern.  Immernoch verändert er das Verhalten von Befehlen wie »w« und »*«.  Falls das nicht gewollt ist, definieren Sie kein Schlüsselwort, sondern verwenden Sie eine Übereinstimmung (erklärt im nächsten Abschnitt).

en: The x language allows for abbreviations.  For example, "next" can be
    abbreviated to "n", "ne" or "nex".  You can define them by using this command:
    >
    	:syntax keyword xStatement n[ext]
de: Die Sprache X erlaubt Abkürzungen.  Zum Beispiel kann »next« als »n«, »ne«,
    oder »nex« abgekürzt werden.  Sie können dies mit dem folgenden Befehl
    definieren:
    >
    	:syntax keyword xStatement n[ext]

en: This doesn't match "nextone", keywords always match whole words only.
de: Dies trifft nicht auf »nextone«, Schlüsselwörter treffen immer nur ganze Wörter.

en: *44.3*	Matches
de: *44.3*	Übereinstimmungen

en: Consider defining something a bit more complex.  You want to match ordinary identifiers.  To do this, you define a match syntax item.  This one matches any word consisting of only lowercase letters: >
de: Bedenken Sie, etwas ein wenig komplexeres zu definieren.  Sie wollen gewöhnliche Identifikatoren finden.  Um dies zu tun, definieren Sie ein Syntaxelement zur Übereinstimmung.  Das folgende findet jedes Wort, das nur aus Kleinbuchstaben besteht: >

en: 	:syntax match xIdentifier /\<\l\+\>/
    <
    	Note:
    	Keywords overrule any other syntax item.  Thus the keywords "if",
    	"then", etc., will be keywords, as defined with the ":syntax keyword"
    	commands above, even though they also match the pattern for
    	xIdentifier.
de: 	:syntax match xIdentifier /\<\l\+\>/
    <
    	Anmerkung:
    	Schlüsselwörter (keywords) überstimmen jedes andere Syntax-Element.
    	Also werden die Schlüsselwörter »if«, »then«, usw. Schlüsselwörter,
    	wie oben mit den Befehlen »:syntax keyword« definiert, sein, selbst
    	wenn Sie auch mit dem Muster für »xIdentifier« übereinstimmen.

en: The part at the end is a pattern, like it's used for searching.  The // is used to surround the pattern (like how it's done in a ":substitute" command).  You can use any other character, like a plus or a quote.
de: Der Teil am Ende ist ein Muster, wie es zur Suche benutzt wird.  Die Zeichen »//« werden benutzt, um das Muster einzuschließen (wie es beim Befehl »:substitude« geschieht).  Sie können jedes andere Zeichen benutzen, wie ein Plus- oder Anführungs-Zeichen.

en: Now define a match for a comment.  In the x language it is anything from # to the end of a line: >
de: Definieren Sie nun eine Übereinstimmung für einen Kommentar.  In der Sprache X ist dies alles von einem Rautezeichen »#« bis zum Zeilenende: >

en: Since you can use any search pattern, you can highlight very complex things with a match item.  See |pattern| for help on search patterns.
de: Weil Sie jedes Suchmuster verwenden können, können Sie mit einem Übereinstimmungs-Element sehr komplexe Dinge hervorheben.  Siehe |pattern| für Hilfe zu Suchmustern.

en: *44.4*	Regions
de: *44.4*	Regionen

en: In the example x language, strings are enclosed in double quotation marks (").  To highlight strings you define a region.  You need a region start (double quote) and a region end (double quote).  The definition is as follows: >
de: In der Bespielsprache X werden Zeichenketten in doppelte Anführungszeichen eingeschlossen (").  Um Zeichenketten hervorzuheben, definieren Sie eine Region.  Sie benötigen für die Region einen Start (doppeltes Anführungszeichen) und ein Ende (doppeltes Anführungszeichen).  Die Definition ist wie folgt: >

en: The "start" and "end" directives define the patterns used to find the start and end of the region.  But what about strings that look like this?
de: Die Direktiven »start« und »end« definieren die zu benutzenden Muster, um Anfang und Ende der Region zu finden.  Aber was ist mit Zeichenketten, die wie diese aussehen?

en: 	"A string with a double quote (\") in it" ~
de: 	"Zeichenkette, die doppeltes Anführungszeichen (\") enthält." ~

en: This creates a problem: The double quotation marks in the middle of the string will end the region.  You need to tell Vim to skip over any escaped double quotes in the string.  Do this with the skip keyword: >
de: Dies erzeugt ein Problem: Das Gänsefüßchen in der Mitte der Zeichenende beendet die Region.  Sie müssen Vim sagen, dass er alle fluchtzeichenmarkierte doppelte Anführungszeichen überspringen soll.  Tun Sie dies mit dem Schlüsselwort »skip«: >

en: The double backslash matches a single backslash, since the backslash is a special character in search patterns.
de: Der doppelte Backslash (\\) findet einen einfachen Backslash, da der Backslash in Suchmustern ein Sonderzeichen ist.

en: When to use a region instead of a match? The main difference is that a match item is a single pattern, which must match as a whole.  A region starts as soon as the "start" pattern matches.  Whether the "end" pattern is found or not doesn't matter.  Thus when the item depends on the "end" pattern to match, you cannot use a region.  Otherwise, regions are often simpler to define.  And it is easier to use nested items, as is explained in the next section.
de: Wann benutzt man statt einer Übereinstimmung (match) eine Region.  Der Hauptunterschied ist, dass eine Übereinstimmung ein einzelnes Muster ist, das als ganzes gefunden werden muss.  Eine Region beginnt, sobald das Muster »start« passt.  Ob das Muster »end« gefunden wird, oder nicht, ist nicht entscheidend.  Wenn also das Element von dem Muster »end« abhängt, können Sie eine Region nicht benutzen.  Andererseits sind Regionen häufig einfacher zu definieren.  Und es ist einfacher verschachtelte Elemente zu benutzen, wie es im nächsten Abschnitt erklärt wird.

en: *44.5*	Nested items
de: *44.5*	Verschachtelte Elemente

en: Take a look at this comment:
de: Betrachten Sie diesen Kommentar:

en: 	%Get input  TODO: Skip white space ~
de: 	%Eingabe holen  TODO: Leerraum überspringen ~

en: You want to highlight TODO in big yellow letters, even though it is in a comment that is highlighted blue.  To let Vim know about this, you define the following syntax groups: >
de: Sie wollen »TODO« in fetten gelben Lettern hervorheben, selbst obgleich es in einem Kommentar steht, der blau hervorgehoben wird.  Um Vim dies wissen zu lassen, definieren Sie die folgende Syntax-Gruppe: >

en: In the first line, the "contained" argument tells Vim that this keyword can exist only inside another syntax item.  The next line has "contains=xTodo".  This indicates that the xTodo syntax element is inside it.  The result is that the comment line as a whole is matched with "xComment" and made blue.  The word TODO inside it is matched by xTodo and highlighted yellow (highlighting for xTodo was setup for this).
de: In der ersten Zeile sagt das Argument »contained« Vim, dass dieses Schlüsselwort nur in einem anderen Syntax-Element stehen kann.  Die nächste Zeile hat »contains=xTodo«.  Dies zeigt an, dass das Syntax-Element »xTodo« darin sein kann.  Als Ergebnis stimmt die Kommentarzeile als Ganzes mit »xComment« überein und wird blau gemacht.  Das Wort »TODO« darin stimmt mit »xTodo« überein und wird gelb hervorgehoben (Hervorhebung für »xTodo« wurde hierfür eingerichtet).

en: RECURSIVE NESTING
de: REKURSIVE VERSCHACHTELUNG

en: The x language defines code blocks in curly braces.  And a code block may contain other code blocks.  This can be defined this way: >
de: Die Sprache X definiert Code-Blöcke in geschwungenen Klammern.  Und ein Code-Block darf andere Code-Blöcke enthalten.  Dies kann so definiert werden: >

en: Suppose you have this text:
de: Nehmen Sie an, Sie haben diesen Text:

en: First a xBlock starts at the { in the first line.  In the second line another { is found.  Since we are inside a xBlock item, and it contains itself, a nested xBlock item will start here.  Thus the "b = c" line is inside the second level xBlock region.  Then a } is found in the next line, which matches with the end pattern of the region.  This ends the nested xBlock.  Because the } is included in the nested region, it is hidden from the first xBlock region.  Then at the last } the first xBlock region ends.
de: Zuerst beginnt bei der »{« in der ersten Zeile ein »xBlock«.  In der zweiten Zeile wird eine weitere »{« gefunden.  Weil wir innerhalb eines »xBlock«-Elements sind, und es sich selbst enthält, beginnt hier ein eingeschachteltes »xBlock«-Element.  Dann wird in der nächsten Zeile eine »}« gefunden, die dem End-Muster der Region entspricht.  Dies beendet das eingeschachtelte »xBlock«.  Weil diese »}« in der eingeschachtelten Region enthalten ist, wird sie vor der ersten »xBlock«-Region versteckt.  Dann endet die erste »xBlock«-Region an der letzten »}«.

en: KEEPING THE END
de: DAS ENDE BEHALTEN

en: Consider the following two syntax items: >
de: Nehmen wir die folgenden zwei Syntax-Elemente an: >

en: You define a comment as anything from % to the end of the line.  A preprocessor directive is anything from # to the end of the line.  Because you can have a comment on a preprocessor line, the preprocessor definition includes a "contains=xComment" argument.  Now look what happens with this text:
de: Sie definieren einen Kommentar als alles von einem »%« bis zum Zeilenende.  Eine Präprozessor-Direktive ist alles von einem »#« bis zum Zeilenende.  Weil man einen Kommentar auf einer Präprozessor-Zeile haben kann, enthält die Präprozessor-Definition das Argument »contains=xComment«.  Sehen wir, was mit diesem Text passiert:

en: 	#define X = Y  % Comment text ~
    	int foo = 1; ~
de: 	#define X = Y  % Kommentartext ~
    	int foo = 1; ~

en: What you see is that the second line is also highlighted as xPreProc.  The
    preprocessor directive should end at the end of the line.  That is why
    you have used "end=/$/".  So what is going wrong?
       The problem is the contained comment.  The comment starts with % and ends
    at the end of the line.  After the comment ends, the preprocessor syntax
    continues.  This is after the end of the line has been seen, so the next
    line is included as well.
       To avoid this problem and to avoid a contained syntax item eating a needed
    end of line, use the "keepend" argument.  This takes care of
    the double end-of-line matching: >
de: Sie sehen, dass auch die zweite Zeile als xPreProc hervorgehoben wird.  Die
    Präprozessor-Direktive sollte am Zeilenende aufhören.  Deshalb haben wir
    »end=/$/« benutzt.  Was also läuft schief?
       Das Problem ist der enthaltene Kommentar.  Der Kommentar beginnt mit »%«
    und endet am Zeilenende.  Nachdem der Kommentar endet, läuft die Präprozessor-
    Syntax weiter.  Dies ist nachdem das Zeilenende gesehen wurde, also wird die
    nächste Zeile auch einbezogen.
       Um dieses Problem zu vermeiden, und um zu vermeiden, dass ein enthaltenes
    Syntax-Element ein verschachteltes Zeilenende aufisst, benutzen Sie das
    Argument »keepend«.  Dieses kümmert sich um die Doppelübereinstimmung des
    Zeilenendes: >

en: CONTAINING MANY ITEMS
de: VIELE ELEMENTE ENTHALTEN

en: You can use the contains argument to specify that everything can be contained.  For example: >
de: Sie können das Argument »contains« benutzen, um anzugeben, dass alles enthalten sein kann.  Zum Beispiel: >

en: All syntax items will be contained in this one.  It also contains itself, but
    not at the same position (that would cause an endless loop).
       You can specify that some groups are not contained.  Thus contain all
    groups but the ones that are listed:
    >
    	:syntax region xList start=/\[/ end=/\]/ contains=ALLBUT,xString
de: Alle Syntax-Elemente können in diesem enthalten sein.  Es enthält auch sich
    selbst, aber nicht an derselben Position (das würde eine Endlosschleife
    verursachen).
       Sie können angeben, dass einige Gruppen nicht enthalten sind.  Also alle
    Gruppen enthalten, außer den aufgelisteten:
    >
    	:syntax region xList start=/\[/ end=/\]/ contains=ALLBUT,xString

en: With the "TOP" item you can include all items that don't have a "contained" argument.  "CONTAINED" is used to only include items with a "contained" argument.  See |:syn-contains| for the details.
de: Mit dem Element »TOP« können Sie alle Elemente einbeziehen, die kein Argument »contained« haben.  »CONTAINED« wird benutzt, um nur Elemente einzubeziehen mit einem Argument »contained«.  Siehe für die Details |:syn-contains|.

en: *44.6*	Following groups
de: *44.6*	Folgende Gruppen

en: The x language has statements in this form:
de: Die Sprache X hat Anweisungen dieser Form:

en: You want to highlight the three items differently.  But "(condition)" and "then" might also appear in other places, where they get different highlighting.  This is how you can do this: >
de: Sie wollen diese drei Element verschieden hervorheben.  Aber »(condition)« und »then« könnten auch an anderen Stellen auftreten, wo sie eine andere Hervorhebung bekommen.  So können Sie dies lösen: >

en: The "nextgroup" argument specifies which item can come next.  This is not required.  If none of the items that are specified are found, nothing happens.  For example, in this text:
de: Das Argument »nextgroup« gibt an, welches Element als nächstes kommen kann.  Dies ist nicht erforderlich.  Falls keines der angegebenen Elemente gefunden wird, passiert nicht.  Zum Beispiel dieser Text:

en: The "if" is matched by xIf.  "not" doesn't match the specified nextgroup xIfCondition, thus only the "if" is highlighted.
de: Das »if« stimmt mit »xIf« überein.  »not« stimmt nicht mit dem als »nextgroup« spezifizierten »xIfCondition« überein, also wird nur das »if« hervorgehoben.

en: The "skipwhite" argument tells Vim that white space (spaces and tabs) may appear in between the items.  Similar arguments are "skipnl", which allows a line break in between the items, and "skipempty", which allows empty lines.  Notice that "skipnl" doesn't skip an empty line, something must match after the line break.
de: Das Argument »skipwhite« sagt Vim, dass Leerraum (Leerzeichen und Tabulatoren) zwischen den Elementen auftreten kann.  Ähnliche Argumente sind »skipnl«, was zwischen den Elementen einen Zeilenumbruch erlaubt, und »skipempty«, das Leerzeilen erlaubt.  Beachten Sie, dass »skipnl« keine Leerzeile überspringt, irgendwas muss nach dem Zeilenumbruch passen.

en: *44.7*	Other arguments
de: *44.7*	Andere Argumente

en: When you define a region, the entire region is highlighted according to the group name specified.  To highlight the text enclosed in parentheses () with the group xInside, for example, use the following command: >
de: Wenn Sie eine Region definieren, wird die gesamte Region entsprechend dem angegebenen Gruppennamen hervorgehoben.  Um zum Beispiel den in runden Klammern () eingeschlossenen Text mit der Gruppe »xInside« hervorzuheben, benutzen Sie den folgenden Befehl: >

en: Suppose, that you want to highlight the parentheses differently.  You can do this with a lot of convoluted region statements, or you can use the "matchgroup" argument.  This tells Vim to highlight the start and end of a region with a different highlight group (in this case, the xParen group): >
de: Angenommen, Sie wollen die runden Klammern anders hervorheben.  Sie können dies mit einer Menge zusammengerollter Region-Anweisungen machen, oder Sie können das Argument »matchgroup« verwenden.  Dieses veranlasst Vim, Anfang und Ende einer Region mit einer anderen Hervorhebungsgruppe hervorzuheben (in diesem Falle mit der Gruppe xParen): >

en: The "matchgroup" argument applies to the start or end match that comes after it.  In the previous example both start and end are highlighted with xParen.  To highlight the end with xParenEnd: >
de: Das Arument »matchgroup« gilt für Anfangs- oder End-Übereinstimmung, die nach ihm kommen.  Im vorigen Beispiel werden sowohl Anfang wie Ende mit »xParen« hervorgehoben.  Um das Ende mit »xParenEnd« hervorzuheben: >

en: A side effect of using "matchgroup" is that contained items will not match in the start or end of the region.  The example for "transparent" uses this.
de: Ein Seiteneffekt der Benutzung von »matchgroup« ist, dass enthaltenen Elementen nicht im Anfang oder Ende der Region übereinstimmen.  Das Beispiel für »transparent« benutzt dies.

en: In a C language file you would like to highlight the () text after a "while"
    differently from the () text after a "for".  In both of these there can be
    nested () items, which should be highlighted in the same way.  You must make
    sure the () highlighting stops at the matching ).  This is one way to do this:
    >
    	:syntax region cWhile matchgroup=cWhile start=/while\s*(/ end=/)/
    		\ contains=cCondNest
    	:syntax region cFor matchgroup=cFor start=/for\s*(/ end=/)/
    		\ contains=cCondNest
    	:syntax region cCondNest start=/(/ end=/)/ contained transparent
de: In einer C-Sprach-Datei würden Sie den Text in () nach einem »while« anders
    hervorheben wollen als nach einem »for«. In beiden dieser Fälle kann es
    verschachtelte Elemente geben, die gleich hervorgehoben werden sollten.  Sie
    müssen sicherstellen, dass das Hervorheben der () an der übereinstimmenden »)«
    endet.  Ein Weg, dies zu tun, ist dies:
    >
    	:syntax region cWhile matchgroup=cWhile start=/while\s*(/ end=/)/
    		\ contains=cCondNest
    	:syntax region cFor matchgroup=cFor start=/for\s*(/ end=/)/
    		\ contains=cCondNest
    	:syntax region cCondNest start=/(/ end=/)/ contained transparent

en: Now you can give cWhile and cFor different highlighting.  The cCondNest item
    can appear in either of them, but take over the highlighting of the item it is
    contained in.  The "transparent" argument causes this.
       Notice that the "matchgroup" argument has the same group as the item
    itself.  Why define it then?  Well, the side effect of using a matchgroup is
    that contained items are not found in the match with the start item then.
    This avoids that the cCondNest group matches the ( just after the "while" or
    "for".  If this would happen, it would span the whole text until the matching
    ) and the region would continue after it.  Now cCondNest only matches after
    the match with the start pattern, thus after the first (.
de: Nun können Sie »cWhile« und »cFor« verschiedene Hervorhebungen geben.  Das
    Element »xCondNext« kann in beiden von ihnen auftreten, aber übernimmt die
    Hervorhebung des Elements, in dem es enthalten ist.  Dies verursacht das
    Argument »transparent«.
       Beachten Sie, dass das Argument »matchgroup« dieselbe Gruppe wie das
    Element selbst hat.  Warum es dann definieren?  Nun, der Seiteneffekt der
    Benutzung von »matchgroup« ist, dass dann enthaltene Elemente nicht in der
    Übereinstimmung mit dem Startelement gefunden werden.  Dies vermeidet, dass
    die Gruppe »cCondNest« mit der »(« gleich nach dem »while« oder »for«
    übereinstimmt.  Falls dies geschehen würde, würde sie sich über den ganzen
    Text bis zur übereinstimmenden »)« erstrecken und die Region würde nach ihr
    weitergehen.  Jetzt passt »cCondNest« nur nach der Übereinstimmung mit dem
    Startmuster, also nach der ersten »(«.

en: OFFSETS
de: VERSATZE (OFFSETS)

en: Suppose you want to define a region for the text between ( and ) after an "if".  But you don't want to include the "if" or the ( and ).  You can do this by specifying offsets for the patterns.  Example: >
de: Angenommen, Sie wollen eine Region für den Text zwischen ( und ) nach einem »if« definieren.  Aber Sie wollen weder das »if« noch die () einbeziehen.  Sie können dies machen, indem Sie Versatze für die Muster angeben.  Ein Beispiel: >

en: The offset for the start pattern is "ms=e+1".  "ms" stands for Match Start.
    This defines an offset for the start of the match.  Normally the match starts
    where the pattern matches.  "e+1" means that the match now starts at the end
    of the pattern match, and then one character further.
       The offset for the end pattern is "me=s-1".  "me" stands for Match End.
    "s-1" means the start of the pattern match and then one character back.  The
    result is that in this text:
de: Der Versatz für das Startmuster ist »ms=e+1«.  »ms« steht für »Match Start«
    (Übereinstimmungs-Beginn).  Dies definiert einen Versatz für den Beginn der
    Übereinstimmung.  Normalerweise beginnt die Übereinstimmung dort, wo das
    Muster passt.  »e+1« bedeutet, das die Übereinstimmung nun am Ende des
    passenden Musters beginnt, und dann noch ein Zeichen weiter.
       Der Versatz für das End-Muster ist »me=s-1«.  »me« steht für »Match End«
    (Übereinstimmungs-Ende) »s-1« bedeutet der Beginn des passenden Musters und
    dann noch ein Zeichen zurück.  Als Ergebnis bekommen wir in diesem Text:

en: Only the text "foo == bar" will be highlighted as xCond.
de: nur den Text »foo == bar« als xCond hervorgehoben.

en: More about offsets here: |:syn-pattern-offset|.
de: Mehr über Versatze finden Sie unter |:syn-pattern-offset|.

en: ONELINE
de: EINZEILER (ONELINE)

en: The "oneline" argument indicates that the region does not cross a line boundary.  For example: >
de: Das Argument »oneline« gibt an, dass sich die Region nicht über Zeilengrenzen erstreckt.  Zum Beispiel: >

en: This defines a region that starts at "if" and ends at "then".  But if there is no "then" after the "if", the region doesn't match.
de: Dies definiert eine Region, die bei »if« beginnt und bei »then« endet.  Aber falls es kein »then« nach dem »if« gibt, greift die Region nicht.

en: 	Note:
    	When using "oneline" the region doesn't start if the end pattern
    	doesn't match in the same line.  Without "oneline" Vim does _not_
    	check if there is a match for the end pattern.  The region starts even
    	when the end pattern doesn't match in the rest of the file.
de: 	Anmerkung:
    	Bei der Benutzung von »oneline« beginnt die Region nicht, falls das
    	End-Muster nicht auf derselben Zeile greift.  Ohne »oneline« überprüft
    	Vim _nicht_, ob es eine Übereinstimmung für das End-Muster gibt.  Die
    	Region beginnt selbst wenn das End-Muster nicht im Rest der Datei
    	greift.

en: CONTINUATION LINES AND AVOIDING THEM
de: FORTSETZUNGSZEILEN UND DIESE VERMEIDEN

en: Things now become a little more complex.  Let's define a preprocessor line.  This starts with a # in the first column and continues until the end of the line.  A line that ends with \ makes the next line a continuation line.  The way you handle this is to allow the syntax item to contain a continuation pattern: >
de: Nun werden die Dinge ein wenig komplexer.  Lassen Sie uns eine Präprozessor-Zeile definieren.  Diese beginnt mit einem »#« in der ersten Zeile und erstreckt sich bis zum Ende der Zeile.  Eine Zeile, die mit \ endet, lässt die nächste Zeile eine Fortsetzungszeile werden.  Die Weise, wie Sie damit umgehen, ist es, dem Syntax-Element zu erlauben, ein Fortsetzungs-Muster zu enthalten: >

en: In this case, although xPreProc normally matches a single line, the group contained in it (namely xLineContinue) lets it go on for more than one line.  For example, it would match both of these lines:
de: Obwohl xPreProc normalerweise auf eine einzelne Zeile passt, lässt in diesem Falle die in ihr enthaltene Gruppe (nämlich xLineContinue) sie für mehr als eine Zeile weitergehen.  Zum Beispiel würde sie mit diesen beiden Zeilen übereinstimmen:

en: 	#define SPAM  spam spam spam \ ~
    			bacon and spam ~
de: 	#define SCHINKEN  Schinken, Schinken, Schinken \ ~
    			Speck und Schinken ~

en: In this case, this is what you want.  If it is not what you want, you can call for the region to be on a single line by adding "excludenl" to the contained pattern.  For example, you want to highlight "end" in xPreProc, but only at the end of the line.  To avoid making the xPreProc continue on the next line, like xLineContinue does, use "excludenl" like this: >
de: In diesem Falle ist dies, was Sie wollen.  Falls dies nicht das ist, was Sie wollen, können Sie die Region auf einer einzelnen Zeile sein lassen, indem Sie dem enthaltenen Muster »excludenl« hinzufügen.  Zum Beispiel wollen Sie »end« in xPreProc hervorheben, aber nur am Zeilenende.  Um zu vermeiden, dass xPreProc auf der nächsten Zeile weitergeht, wie es xLineContinue tun, benutzen Sie »excludenl« wie hier: >

en: "excludenl" must be placed before the pattern.  Since "xLineContinue" doesn't have "excludenl", a match with it will extend xPreProc to the next line as before.
de: »excludenl« muss vor das Muster gesetzt werden.  Weil xLineContinue kein »excludenl« hat, erweitert eine Übereinstimmung xPreProc um die nächste Zeile wie zuvor

en: *44.8*	Clusters
de: *44.8*	Cluster-Gruppen

en: One of the things you will notice as you start to write a syntax file is that
    you wind up generating a lot of syntax groups.  Vim enables you to define a
    collection of syntax groups called a cluster.
       Suppose you have a language that contains for loops, if statements, while
    loops, and functions.  Each of them contains the same syntax elements: numbers
    and identifiers.  You define them like this: >
de: Eine der Sachen, die Sie bemerken, wenn Sie beginnen, eine Syntax-Datei zu
    schreiben, ist, dass Sie sich darin verheddern, eine große Zahl von Syntax-
    Gruppen zu erzeugen.  Vim gibt Ihnen die Möglichkeit, eine Sammlung von
    Syntax-Gruppen zu definieren, einen sogenannten Cluster.
       Nehmen wir an, Sie haben eine Sprache, die »for«-Schleifen, »if«-
    Anweisungen, »while«-Schleifen und Funktionen enthält.  Jede von ihnen enthält
    dieselben Syntax-Elemente: Zahlen und Identifikatoren.  Sie definieren sie
    so: >

en: You have to repeat the same "contains=" every time.  If you want to add
    another contained item, you have to add it three times.  Syntax clusters
    simplify these definitions by enabling you to have one cluster stand for
    several syntax groups.
       To define a cluster for the two items that the three groups contain, use
    the following command: >
de: Sie müssen dasselbe »contains=« jedes Mal wiederholen.  Falls Sie ein weiteres
    enthaltenes Element hinzufügen wollen, müssen Sie es drei Mal hinzufügen.
    Syntax-Cluster vereinfachen diese Definitionen, indem sie Ihnen ermöglichen,
    ein Cluster für mehrere Syntax-Gruppen stehen zu lassen.
       Um ein Cluster für die zwei Elemente, die die drei Gruppen enthalten,
    benutzen Sie den folgenden Befehl: >

en: Clusters are used inside other syntax items just like any syntax group.  Their names start with @.  Thus, you can define the three groups like this: >
de: Cluster werden genau wie eine Syntax-Gruppe in anderen Syntax-Elementen benutzt.  Ihre Namen beginnen mit »@«.  Also können Sie die drei Gruppen so definieren: >

en: You can add new group names to this cluster with the "add" argument: >
de: Sie können neue Gruppennamen mit dem Argument »add« zu diesem Cluster hinzufügen: >

en: You can remove syntax groups from this list as well: >
de: Sie können auch Syntax-Gruppen aus dieser Liste entfernen: >

en: *44.9*	Including another syntax file
de: *44.9*	Eine andere Syntax-Datei einlesen

en: The C++ language syntax is a superset of the C language.  Because you do not want to write two syntax files, you can have the C++ syntax file read in the one for C by using the following command: >
de: Die Syntax der Sprache C++ ist eine Übermenge der Sprache C.  Weil Sie nicht zwei Syntax-Dateien schreiben wollen, können Sie die Syntax-Datei für C++ die für C einlesen lassen, indem Sie den folgenden Befehl benutzen: >

en: The ":runtime!" command searches 'runtimepath' for all "syntax/c.vim" files.
    This makes the C syntax be defined like for C files.  If you have replaced the
    c.vim syntax file, or added items with an extra file, these will be loaded as
    well.
       After loading the C syntax items the specific C++ items can be defined.
    For example, add keywords that are not used in C: >
de: Der Befehl »:runtime!« durchsucht 'runtimepath' nach allen Dateien, die
    »syntax/c.vim« heißen.  Die lässt die Syntax für C++ so definiert sein, wie
    für C-Dateien.  Falls Sie die Syntax-Datei c.vim ersetzt haben, oder Elemente
    mit einer zusätzlichen Datei hinzugefügt haben, so werden auch diese geladen.
       Nach dem Laden der C-Syntax-Elemente können die für C++ spezifischen
    Elemente definiert werden.  Zum Beispiel Schlüsselwörter hinzufügen, die in C
    nicht verwendet werden: >

en: This works just like in any other syntax file.
de: Dies funktioniert wie in jeder anderen Syntax-Datei.

en: Now consider the Perl language.  It consists of two distinct parts: a
    documentation section in POD format, and a program written in Perl itself.
    The POD section starts with "=head" and ends with "=cut".
       You want to define the POD syntax in one file, and use it from the Perl
    syntax file.  The ":syntax include" command reads in a syntax file and stores
    the elements it defined in a syntax cluster.  For Perl, the statements are as
    follows: >
de: Nun denken Sie an die Sprache Perl.  Ein Skript besteht aus zwei
    unterschiedlichen Teilen: Ein Dokumentationsabschnitt im Format POD, und ein
    in Perl selbst geschriebenes Programm.  Der POD-Abschnitt beginnt mit »=head«
    und endet mit »=cut«.
       Sie wollen die POD-Syntax in einer Datei definieren, und diese in der
    Syntax-Datei für Perl benutzen.  Der Befehl »:syntax include« liest eine
    Syntax-Datei ein und speichert die Elemente, die sie definiert, in einem
    Syntax-Cluster.  Für Perl sind die Anweisungen wie folgt: >

en: When "=head" is found in a Perl file, the perlPOD region starts.  In this
    region the @Pod cluster is contained.  All the items defined as top-level
    items in the pod.vim syntax files will match here.  When "=cut" is found, the
    region ends and we go back to the items defined in the Perl file.
       The ":syntax include" command is clever enough to ignore a ":syntax clear"
    command in the included file.  And an argument such as "contains=ALL" will
    only contain items defined in the included file, not in the file that includes
    it.
       The "<sfile>:p:h/" part uses the name of the current file (<sfile>),
    expands it to a full path (:p) and then takes the head (:h).  This results in
    the directory name of the file.  This causes the pod.vim file in the same
    directory to be included.
de: Wenn »=head« in einer Perl-Datei gefunden wird, beginnt die Region perlPOD.
    In dieser Region ist das Cluster @Pod enthalten.  Alle Elemente, die auf
    oberster Ebene in der Syntax-Datei definiert sind, stimmen hier überein.  Wenn
    »=cut« gefunden wird, endet die Region, und wir gehen zu den Elementen zurück,
    die in der Perl-Datei definiert werden.
       Der Befehl »:syntax include« ist schlau genug, einen Befehl »:syntax clear«
    in der eingelesenen Datei zu ignorieren.  Und ein Argument wie »contains=ALL«
    enthält nur Elemente, die in der eingelesenen Datei definiert sind, nicht in
    der Datei, die sie einliest.
       Der Teil »<sfile>:p:h« benutzt den Dateinamen der aktuellen Datei
    (<sfile>), expandiert ihn zu einem vollständigen Pfad (:p), und nimmt dann den
    vorderen Teil (:h wie head).  Dies ergibt den Namen des Verzeichnisses der
    Datei.  Dies verursacht, dass die Datei pod.vim im selben Verzeichnis
    eingelesen wird.

en: *44.10*	Synchronizing
de: *44.10*	Synchronisieren

en: Compilers have it easy.  They start at the beginning of a file and parse it
    straight through.  Vim does not have it so easy.  It must start in the middle,
    where the editing is being done.  So how does it tell where it is?
       The secret is the ":syntax sync" command.  This tells Vim how to figure out
    where it is.  For example, the following command tells Vim to scan backward
    for the beginning or end of a C-style comment and begin syntax coloring from
    there: >
de: Kompiler haben es einfach.  Sie beginnen am Anfang einer Datei und analysieren
    sie direkt durch.  Vim hat es nicht so einfach.  Er muss in der Mitte
    beginnen, wo das Editieren geschieht.  Wie findet er also heraus, wo er ist?
       Das Geheimnis ist der Befehl »:syntax sync«.  Dieser sagt Vim, wie er
    herausfindet, wo er ist.  Zum Beispiel lässt der folgende Befehl Vim rückwärts
    nach dem Anfang oder Ende eines Kommentares im C-Stil suchen und die Syntax-
    Hervorhebung von dort beginnen: >

en: You can tune this processing with some arguments.  The "minlines" argument
    tells Vim the minimum number of lines to look backward, and "maxlines" tells
    the editor the maximum number of lines to scan.
       For example, the following command tells Vim to look at least 10 lines
    before the top of the screen: >
de: Sie können diese Verarbeitung mit einigen Argumenten feinsteuern.  Das
    Argument »minlines« gibt Vim die minimale Anzahl Zeilen, die zurück geschaut
    werden soll, an, und »maxlines« gibt dem Editor die maximale Anzahl Zeilen zum
    Durchsuchen an.
       Der folgende Befehl zum Beispiel lässt Vim mindestens zehn Zeilen von dem
    Beginn des Bildschirmfensters suchen: >

en: If it cannot figure out where it is in that space, it starts looking farther
    and farther back until it figures out what to do.  But it looks no farther
    back than 500 lines. (A large "maxlines" slows down processing.  A small one
    might cause synchronization to fail.)
       To make synchronizing go a bit faster, tell Vim which syntax items can be
    skipped.  Every match and region that only needs to be used when actually
    displaying text can be given the "display" argument.
       By default, the comment to be found will be colored as part of the Comment
    syntax group.  If you want to color things another way, you can specify a
    different syntax group: >
de: Falls er nicht herausfinden kann, wo es in dem Bereich ist, beginnt er weiter
    und weiter zurückzuschauen, bis er herausfindet, was zu tun ist.  Aber er geht
    nicht weiter als 500 Zeilen zurück.  (Ein großes »maxlines« verlangsamt die
    Verarbeitung.  Ein kleines kann die Synchronisation scheitern lassen.)
       Um die Synchronisation ein Bisschen schneller zu machen, sagen Sie Vim,
    welche Syntax-Elemente übersprungen werden können.  Jeder Übereinstimmung und
    jeder Region, die nur benutzt werden müssen, wenn tatsächlich Text angezeigt
    wird, kann das Argument »display« gegeben werden.
       Standardmäßig wird der zu findende Kommentar als Teil der Syntax-Gruppe
    Comment hervorgehoben.  Falls Sie Dinge anders einfärben wollen, können Sie
    eine unterschiedliche Syntax-Gruppe angeben: >

en: If your programming language does not have C-style comments in it, you can try another method of synchronization.  The simplest way is to tell Vim to space back a number of lines and try to figure out things from there.  The following command tells Vim to go back 150 lines and start parsing from there: >
de: Falls Ihre Programmiersprache keine Kommentare im C-Stil enthält, können Sie eine andere Methode der Synchronisation versuchen.  Die einfachste Weise ist Vim eine Anzahl von Zeilen zurückgehen und die Dinge von dort herausfinden zu lassen.  Der folgende Befehl lässt Vim 150 Zeilen zurück gehen und die Analyse von dort beginnen: >

en: A large "minlines" value can make Vim slower, especially when scrolling
    backwards in the file.
       Finally, you can specify a syntax group to look for by using this command:
    >
    	:syntax sync match {sync-group-name}
    		\ grouphere {group-name} {pattern}
de: Ein großer Wert für »minlines« kann Vim langsamer machen, besonders, wenn
    rückwärts in der Datei gerollt wird.
       Schließlich können Sie eine Syntax-Gruppe, nach der gesucht werden soll,
    angeben, indem Sie diesen Befehl benutzen:
    >
    	:syntax sync match {sync-gruppen-name}
    		\ grouphere {gruppen-name} {muster}

en: This tells Vim that when it sees {pattern} the syntax group named {group-name} begins just after the pattern given.  The {sync-group-name} is used to give a name to this synchronization specification.  For example, the sh scripting language begins an if statement with "if" and ends it with "fi":
de: Dies lässt Vim die Syntax-Gruppe {gruppen-name}, wenn er {Muster} sieht, gleich nach dem angegebenen Muster beginnen.  {sync-gruppen-name} wird benutzt, um dieser Synchronisations-Spezifikation einen Namen zu geben.  Zum Beispiel beginnt in der Skript-Sprache sh eine bedingte Anweisung mit »if« und endet mit »fi«:

en: 	if [ --f file.txt ] ; then ~
    		echo "File exists" ~
    	fi ~
de: 	if [ --f datei.txt ] ; then ~
    		echo "Datei existiert." ~
    	fi ~

en: To define a "grouphere" directive for this syntax, you use the following command: >
de: Um für diese Syntax eine Direktive »grouphere« zu definieren, benutzen Sie den folgenden Befehl: >

en: The "groupthere" argument tells Vim that the pattern ends a group.  For example, the end of the if/fi group is as follows: >
de: Das Argument »groupthere« sagt Vim, dass das Muster eine Gruppe beendet.  Zum Beispiel wird das Ende der Gruppe if/fi wie folgt gegeben: >

en: In this example, the NONE tells Vim that you are not in any special syntax region.  In particular, you are not inside an if block.
de: In diesem Beispiel sagt das NONE Vim, dass wir nicht in irgendeinem besonderen Syntax-Bereich sind; insbesondere, dass wir nicht in einem If-Block sind.

en: You also can define matches and regions that are with no "grouphere" or "groupthere" arguments.  These groups are for syntax groups skipped during synchronization.  For example, the following skips over anything inside {}, even if it would normally match another synchronization method: >
de: Sie können auch Übereinstimmungen und Bereiche ohne die Argumente »grouphere« und »groupthere« definieren.  Diese Gruppen sind für Syntax-Gruppen, die während der Synchronisation übersprungen werden.  Zum Beispiel überspringt das Folgende alles innerhalb {}, selbst wenn es normalerweise mit einer anderen Synchronisations-Methode übereinstimmen würde: >

en: More about synchronizing in the reference manual: |:syn-sync|.
de: Mehr über Synchronisation im Referenz-Handbuch: |:syn-sync|.

en: *44.11*	Installing a syntax file
de: *44.11*	Eine Syntax-Datei installieren

en: When your new syntax file is ready to be used, drop it in a "syntax" directory
    in 'runtimepath'.  For Unix that would be "~/.vim/syntax".
      The name of the syntax file must be equal to the file type, with ".vim"
    added.  Thus for the x language, the full path of the file would be:
de: Wenn Ihre neue Syntax-Datei bereit zur Benutzung ist, legen Sie sie in ein
    Verzeichnis »syntax« in Ihrem 'runtimepath'.  Für Unix wäre dies
    »~/.vim/syntax«.
      Der Name der Syntax-Datei muss gleich dem Dateityp sein, mit angehängtem
    ».vim«.  Also wäre der volle Pfad für die Datei für die Sprache X:

en: You must also make the file type be recognized.  See |43.2|.
de: Sie müssen auch dafür sorgen, dass der Datei-Typ erkannt wird.  Siehe |43.2|.

en: If your file works well, you might want to make it available to other Vim users.  First read the next section to make sure your file works well for others.  Then e-mail it to the Vim maintainer: <maintainer@vim.org>.  Also explain how the filetype can be detected.  With a bit of luck your file will be included in the next Vim version!
de: Falls Ihre Datei gut funktioniert, wollen Sie sie möglicherweise anderen Vim-Benutzern zugänglich machen.  Lesen Sie zunächst den nächsten Abschnitt, um sicherzustellen, dass Ihre Datei für andere gut funktioniert.  Dann mailen Sie sie an den Vim-Betreuer: <maintainer@vim.org>.  Erklären Sie auch, wie der Datei-Typ erkannt werden kann.  Mit ein Bisschen Glück wird Ihre Datei in die nächste Vim-Version aufgenommen.

en: ADDING TO AN EXISTING SYNTAX FILE
de: ZU EINER EXISTIERENDEN SYNTAX-DATEI HINZUFÜGEN

en: We were assuming you were adding a completely new syntax file.  When an existing
    syntax file works, but is missing some items, you can add items in a separate
    file.  That avoids changing the distributed syntax file, which will be lost
    when installing a new version of Vim.
       Write syntax commands in your file, possibly using group names from the
    existing syntax.  For example, to add new variable types to the C syntax file:
    >
    	:syntax keyword cType off_t uint
de: Wir haben angenommen, dass Sie eine komplett neue Syntax-Datei hinzufügen.
    Wenn eine existierende Syntax-Datei funktioniert, ihr aber einige Elemente
    fehlen, können Sie Elemente mit einer getrennten Datei hinzufügen.  Dies
    vermeidet das Ändern der verteilten Syntax-Datei, die verloren geht, wenn eine
    neue Version von Vim installiert wird.
       Schreiben Sie Syntax-Befehle in Ihre Datei, möglicherweise unter Benutzung
    von Gruppen-Namen aus der existierenden Syntax.  Um zum Beispiel der Syntax-
    Datei von C neue Variablen-Typen hinzuzufügen:
    >
    	:syntax keyword cType off_t uint

en: Write the file with the same name as the original syntax file.  In this case "c.vim".  Place it in a directory near the end of 'runtimepath'.  This makes it loaded after the original syntax file.  For Unix this would be:
de: Speichern Sie die Datei unter demselben Namen wie die bestehende Syntax-Datei.  In diesem Falle »c.vim«.  Platzieren Sie sie in ein Verzeichnis am Ende von 'runtimepath'.  Dies sorgt dafür, dass sie nach der bestehenden Syntax-Datei geladen wird.  Für Unix wäre dies:

en: *44.12*	Portable syntax file layout
de: *44.12*	Portables Layout für Syntax-Dateien

en: Wouldn't it be nice if all Vim users exchange syntax files? To make this possible, the syntax file must follow a few guidelines.
de: Wäre es nicht schön, wenn alle Vim-Benutzer Syntax-Dateien austauschen würden.  Um dies zu ermöglichen, muss die Syntax-Datei einige wenige Richtlinien erfüllen.

en: Start with a header that explains what the syntax file is for, who maintains it and when it was last updated.  Don't include too much information about changes history, not many people will read it.  Example: >
de: Beginnen Sie mit Kopfzeilen, die erklären, wofür die Syntax-Datei ist, wer sie betreut und wann sie zuletzt aktualisiert wurde.  Fügen Sie nicht zu viele Informationen über Änderungen ein, die wenigsten werden sie lesen.  Beispiel: >

en: Use the same layout as the other syntax files.  Using an existing syntax file as an example will save you a lot of time.
de: Benutzen Sie dasselbe Layout wie bei den anderen Syntax-Dateien.  Eine bestehende Syntax-Datei als Beispiel zu nehmen spart Ihnen eine Menge Zeit.

en: Choose a good, descriptive name for your syntax file.  Use lowercase letters and digits.  Don't make it too long, it is used in many places: The name of the syntax file "name.vim", 'filetype', b:current_syntax the start of each syntax group (nameType, nameStatement, nameString, etc).
de: Wählen Sie einen guten beschreibenden Namen für Ihre Syntax-Datei.  Benutzen Sie Kleinbuchstaben und Ziffern.  Machen Sie ihn nicht zu lang, er wird an vielen Stellen benutzt: Der Name der Syntax-Datei »name.vim«, 'filetype', b:current_syntax, der Beginn jeder Syntax-Gruppe (nameType, nameStatement, nameString, usw.).

en: Start with a check for "b:current_syntax".  If it is defined, some other syntax file, earlier in 'runtimepath' was already loaded.  To be compatible with Vim 5.8 use: >
de: Beginnen Sie mit einer Prüfung auf »b:current_syntax«.  Falls diese Variable definiert ist, wurde bereits eine andere Syntax-Datei, früher in 'runtimepath', geladen.  Um kompatibel mit Vim 5.8 zu sein, benutzen Sie: >

en: Set "b:current_syntax" to the name of the syntax at the end.  Don't forget that included files do this too, you might have to reset "b:current_syntax" if you include two files.
de: Setzen Sie am Ende »b:current_syntax« auf den Namen der Syntax.  Vergessen Sie nicht, dass auch eingelesene Dateien dies tun, so dass Sie möglicherweise »b:current_syntax« erneut setzen müssen, falls Sie zwei Dateien einlesen.

en: If you want your syntax file to work with Vim 5.x, add a check for v:version.  See yacc.vim for an example.
de: Falls Sie wollen, dass Ihre Datei mit Vim 5.x funktioniert, fügen Sie eine Prüfung auf v:version hinzu.  Betrachten Sie yacc.vim als ein Beispiel.

en: Do not include anything that is a user preference.  Don't set 'tabstop', 'expandtab', etc.  These belong in a filetype plugin.
de: Beziehen Sie nichts ein, was eine Benutzer-Voreinstellung ist.  Setzen Sie nicht 'tabstop', 'expandtab', usw.  Diese gehören in ein Datei-Typ-Plugin.

en: Do not include mappings or abbreviations.  Only include setting 'iskeyword' if it is really necessary for recognizing keywords.
de: Beziehen Sie keine Tastenbelegungen oder Abkürzungen ein.  Beziehen Sie das Setzen von 'iskeyword' nur ein, wenn es für die Erkennung von Schlüsselwörtern wirklich notwendig ist.

en: Avoid using specific colors.  Link to the standard highlight groups whenever possible.  Don't forget that some people use a different background color, or have only eight colors available.  For backwards compatibility with Vim 5.8 this construction is used: >
de: Vermeiden Sie, bestimmte Farben zu benutzen.  Verbinden Sie mit den Standard-Hervorhebungs-Gruppen wann immer möglich.  Vergessen Sie nicht, dass einige Leute eine andere Hintergrundfarbe benutzen, oder nur acht Farben zur Verfügung haben.  Für Rückwärtskompatibilität mit Vim 5.8 wird diese Konstrunktruktion benutzt: >

en: Add the "display" argument to items that are not used when syncing, to speed up scrolling backwards and CTRL-L.
de: Fügen Sie das Argument »display« Elementen hinzu, die beim Synchronisieren nicht benutzt werden, um das Rückwärtsrollen und CTRL-L zu beschleunigen.

en: Next chapter: |usr_45.txt| Select your language
de: Nächstes Kapitel: |usr_45.txt| Die Sprache wählen

en: Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
de: Copyright: siehe |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
