2017-02-12 2 views
1

Ich arbeite an System, das auf Dateien mit Multi-Syntax arbeiten muss: jede Datei kann aus C++ Python JavaScript und einige Dokumentation Markup-Text in einer Datei (etwas wie mehrsprachige alphabetische Programmierung).Wie macht man Multisyntax in vim mit Text-Triggern hervorheben?

Ist es möglich, vim Syntax-Hervorhebung (Dateityp) Mitte des Puffers durch eine auslösende Schlüsselwort in Text selbst im laufenden Betrieb, wie

.doc Let's view our data object as AST tree: 
.py 
class AST: 
    tag = 'sym' .doc here we set 'sym'bolic unversal data type .py 
    def __init__(self,V): self.val = V .doc \emph{any data can be represented as string} .py 
... 

.doc 
Now we need ... 

auslösen kann zwischen filetype=latex Ende filetype=python auf .doc und .py Auslösern vim ?

+4

Diese Vim Spitze scheint mit der gleichen Art der Sache zu tun haben - http://vim.wikia.com/wiki/Different_syntax_highlighting_within_regions_of_a_file – Lix

Antwort

0

Ja, zusätzliche Syntaxen können in die aktuelle eingefügt werden, vgl. :help :syn-include. Die Einrichtung ist allerdings etwas komplex. Mein SyntaxRange plugin hilft dabei. Für Ihr Beispiel werden die folgenden Aufrufe funktionieren:

:call SyntaxRange#Include('^\.doc', '\n\.\@=', 'tex') 
:call SyntaxRange#Include('^\.py', '\n\.\@=', 'python') 
Verwandte Themen