Один фрагмент ясіппета для декількох режимів


13

У мене є такий фрагмент:

# -*- mode: snippet -*-
# contributor: Song Qiang <tsiangsung@gmail.com>
# key: m
# group: Math
# name: Inline math \( ... \)
# --
\\($1\\)$0

і я хочу, щоб вона була доступною і для, latex-modeі для org-mode. Як цього можна досягти? Я міг би символізувати посилання, але я намагаюся знайти розумніший спосіб.


1
c-mode і c ++ - в режимі cc використовуються фрагменти з режиму cc, ви можете перевірити, як вони це роблять. Повинен бути файл ".yas-батьків".
bmag

Ви можете спробувати yankpad, варто спробувати! github.com/Kungsgeten/yankpad youtube.com/watch?v=xkkyE7d0Bpc&feature=youtu.be
ragloo

Відповіді:


18

Документація Yasnippet пояснює, що вам потрібно буде включити .yas-parentsфайл із батьківськими режимами:

Дуже корисно, щоб певні режими ділилися фрагментами між собою. Для цього виберіть підкаталог режиму і розмістіть список, що .yas-parentsмістить розділений пробілом список інших імен режимів. Після перезавантаження цих режимів стають батьками вихідного режиму.

.
|-- 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

Отже, ви можете, наприклад, помістити фрагмент у text-modeкаталог, а потім у каталог latex-modeта org-modeкаталоги включити .yas-parentsфайл, що включає текст text-mode.


1
Однак якщо я добре зрозумів, ви можете ділитися лише цілими режимами, але не окремими фрагментами в декількох режимах?
Піко Вінсент
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.