Một đoạn yasnippet cho nhiều chế độ


13

Tôi có đoạn trích sau:

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

và tôi muốn nó có sẵn cho cả hai latex-modeorg-mode. Làm thế nào điều này có thể đạt được? Tôi có thể symlink, nhưng tôi đang cố gắng tìm một cách thông minh hơn.


1
c-mode và c ++ - chế độ đều chia sẻ đoạn trích từ chế độ cc, bạn có thể kiểm tra cách chúng thực hiện. Cần có một tập tin ".yas-cha mẹ".
bmag

Bạn có thể thử yankpad, nó đáng để thử! github.com/Kungsgeten/yankpad youtube.com/watch?v=xkkyE7d0Bpc&feature=youtu.be
ragloo

Câu trả lời:


18

Các tài liệu Yasnippet giải thích rằng bạn sẽ cần phải bao gồm một .yas-parentstập tin với các phương thức cha mẹ:

Rất hữu ích khi có một số chế độ chia sẻ đoạn trích giữa chúng. Để thực hiện việc này, chọn thư mục con chế độ và đặt .yas-parentsdanh sách chứa các tên chế độ khác được phân tách bằng khoảng trắng. Khi bạn tải lại các chế độ đó trở thành cha mẹ của chế độ ban đầu.

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

Do đó, ví dụ, bạn có thể đặt đoạn mã của mình vào một text-modethư mục và sau đó, trong các thư mục latex-modeorg-mode, bao gồm một .yas-parentstệp có chứa văn bản text-mode.


1
Tuy nhiên, nếu tôi đã hiểu rõ, bạn chỉ có thể chia sẻ toàn bộ chế độ chứ không thể chia sẻ từng đoạn riêng lẻ qua một số chế độ?
Picaud Vincent
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.