一个yasnippet片段,用于多种模式


13

我有以下片段:

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

我想这是同时适用于latex-modeorg-mode。如何做到这一点?我可以建立符号链接,但是我正在尝试寻找一种更聪明的方法。


1
c模式和c ++模式都从cc模式共享代码片段,您可以检查它们的执行方式。应该有一个“ .yas-parents”文件。
bmag 2015年

Answers:


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-modeorg-mode目录中包括一个.yas-parents包含text 的文件text-mode


1
但是,如果我很了解,您只能共享整个模式,而不能跨多个模式共享单个代码段?
Picaud Vincent
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.