Einfache Dokumenthervorhebung in Vim

615
Ярослав Рахматуллин

Ich suche nach einem Dateityp = Argument, das Dokumentkonstrukte wie Listen, Header und Unterüberschriften formatiert oder farblich markiert.

Insbesondere möchte ich, dass das Filetype-Plugin (oder das Syntax-Plugin) diese Formate interpretiert:

Header ======  Sub ---  Sub2 ----   [*] Moo [*] foo [*] Bar 
1
Ist dies ein Format, das Sie erstellt haben, oder ein bereits vorhandenes Format? Wenn es ein vorhandenes ist, hat es wahrscheinlich bereits ein Plugin für Vim; Suchen Sie einfach in http://www.vim.org/scripts/index.php nach dem Namen der Auszeichnungssprache. Wenn nicht, können Sie wahrscheinlich eine vorhandene Sprache (z. B. Markdown) verwenden und das Plugin relativ leicht anpassen. echristopherson vor 12 Jahren 1
Ich suche nach "Abschlag". Vielen Dank. Ярослав Рахматуллин vor 12 Jahren 0
Dann können Sie einfach `: ft = markdown 'setzen. `[*]` Ist jedoch nicht Teil von Markdown. Sie können "+" oder "-" oder "*" verwenden. echristopherson vor 12 Jahren 0

2 Antworten auf die Frage

1
Ярослав Рахматуллин

Markdown is sufficient enough or applying basic styles and formatting to plain-text documents.

-1
embedded.kyle

Sie möchten wahrscheinlich die Syntax-Hervorhebung verwenden .

Überprüfen Sie die aus vbnet.vim Plugin ein komplexeres sehen Beispiel einer Syntaxdatei als in der Anleitung gezeigt. Sie müssen eine eigene Syntaxdatei erstellen, um die benutzerdefinierten Formate zu verarbeiten, die Sie in Ihrer Frage anzeigen. Sie würden dies tun, indem verschiedene Einrichtung keyword, match, cluster, und regionGruppen zu bekommen, was Sie wollen. Beispiele für das Einrichten dieser Gruppen finden Sie im Plugin vbnet.vim.

Wenn Sie Ihre eigene benutzerdefinierte Syntaxdatei geschrieben haben, weisen Sie diesen Syntaxgruppen einen Namen zu, wie er in der letzten Zeile von vbnet.vim angezeigt wird:

let b:current_syntax = "vbnet" 

Und in .vimrc verwenden Sie ein autocmd, um diese bestimmte Syntaxhervorhebung für eine bestimmte Dateierweiterung zu aktivieren:

autocmd BufNewFile,BufRead *.vb set ft=vbnet 

Passen Sie die Hervorhebung verschiedener Gruppen in Ihrer Farbschemadatei an.

Ist nicht alles .net Zeug C #? Warum kann ich nicht einfach eine C # -Syntaxdatei verwenden und folgende Syntax verwenden: set syntax = c # (oder sogar automatisch erkennen lassen)? Ich weiß, dass ich Syntax-Hervorhebungen verwenden möchte, aber nicht für Visual Basic, da ich vermute, dass sie keine Header und Listen verwenden, wie ich sie in der Frage benutze. Alles, was ich wollte, war ein Name für ein Format. Ярослав Рахматуллин vor 12 Jahren 0
Ich denke, die Idee war, einfach vbnet.vim zu verwenden, um eine neue Syntaxdatei zu erstellen. echristopherson vor 12 Jahren 1
@ Ярослав Рахматуллин .NET ist ein Framework, das sprachunabhängig ist. Aber das ist weder hier noch dort. Die Beispielformate, die Sie in Ihrer Frage angegeben haben, sind nicht Teil eines Standard-Dateityps. Was ich zur Verfügung gestellt habe, war ein Tutorial zum Einrichten von _custom_-Syntax-Highlighting und ein _example_ einer komplexeren Syntaxdatei, um ein Gefühl dafür zu bekommen, wie man eigene schreibt. Echristopherson ist richtig, es war nur als Ausgangspunkt gedacht. Entschuldigung, wenn das nicht klar war. embedded.kyle vor 12 Jahren 0
Markdown ist Teil des vim-Pakets meiner Distribution. Ich kenne die Syntax nicht, daher die falschen [*] Listenelemente. Header sind richtig, zäh. Danke für deine Antwort. Ярослав Рахматуллин vor 12 Jahren 0