Ein yasnippet-Snippet für mehrere Modi

13

Ich habe den folgenden Ausschnitt:

# -*- mode: snippet -*-
# contributor: Song Qiang <[email protected]>
# key: m
# group: Math
# name: Inline math \( ... \)
# --
\\($1\\)$0

und ich möchte, dass es für beide latex-modeund zur Verfügung steht org-mode. Wie kann das erreicht werden? Ich könnte symlinken, aber ich versuche einen intelligenteren Weg zu finden.

Dror Atariah
quelle
1
c-mode und c ++ - mode teilen sich Snippets aus dem cc-mode. Sie können überprüfen, wie sie das machen. Es sollte eine ".yas-parent" -Datei geben.
bmag
Sie können yankpad versuchen, es ist einen Versuch wert! github.com/Kungsgeten/yankpad youtube.com/watch?v=xkkyE7d0Bpc&feature=youtu.be
ragloo

Antworten:

18

In der Yasnippet-Dokumentation wird erklärt, dass Sie eine .yas-parentsDatei mit den übergeordneten Modi einschließen müssen :

Es ist sehr nützlich, dass bestimmte Modi Ausschnitte untereinander teilen. Wählen Sie dazu ein Modus-Unterverzeichnis und platzieren Sie ein, .yas-parentsdas eine durch Leerzeichen getrennte Liste anderer Modusnamen enthält. Wenn Sie diese Modi neu laden, werden Sie Eltern des ursprünglichen Modus.

.
|-- c-mode
|   |-- .yas-parents    # contains "cc-mode text-mode"
|   `-- printf
|-- cc-mode
|   |-- for
|   `-- while
|-- java-mode
|   |-- .yas-parents    # contains "cc-mode text-mode"
|   `-- println
`-- text-mode
    |-- email
    `-- time

Daher könnten Sie zum Beispiel, setzen Sie Ihre Schnipsel in einem text-modeVerzeichnis, und dann, in der latex-modeund org-modeVerzeichnissen, eine umfassen - .yas-parentsDatei , die den Text enthalten text-mode.

Dan
quelle
1
Wenn ich es jedoch gut verstanden habe, können Sie nur ganze Modi, aber nicht einzelne Ausschnitte über mehrere Modi hinweg teilen ?
Picaud Vincent