여러 모드를위한 하나의 yasnippet 스 니펫


13

다음 스 니펫이 있습니다.

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

그리고 그것이 모두 사용할 수있게하려면 latex-modeorg-mode. 이것이 어떻게 달성 될 수 있습니까? 나는 symlink 할 수는 있지만 더 똑똑한 방법을 찾으려고 노력하고 있습니다.


1
c-mode와 c ++-mode는 모두 cc-mode의 스 니펫을 공유하므로 어떻게 작동하는지 확인할 수 있습니다. ".yas-parents"파일이 있어야합니다.
bmag

당신은 yankpad를 시도 할 수 있습니다, 그것은 시도 가치가 있습니다! github.com/Kungsgeten/yankpad youtube.com/watch?v=xkkyE7d0Bpc&feature=youtu.be
글루

답변:


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-mode있습니다.


1
그러나 잘 이해했다면 전체 모드 만 공유 할 수 있지만 여러 모드에서 개별 스 니펫은 공유 할 수 없습니까?
Picaud Vincent
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.