Por exemplo, eu tenho um modo organizacional que possui o seguinte
#+BEGIN_SRC emacs-lisp
#+END_SRC
É possível configurar o yasnippets de tal maneira que todos os snippets do modo emacs-lisp possam ser expandidos dentro desse bloco, mas não fora dele?
C-c '
qualquer maneira - nesse caso, o modo principal do emacs-lisp teria os trechos de yasnippet apropriados carregados ao editar o bloco em sua janela separada (que também cuida da indentação correta etc)Respostas:
A partir de 2017, 22 de janeiro, se você definir
org-src-tab-acts-natively
eorg-src-fontify-natively
, em seguida, a TAB nos blocos de origem expandirá trechos do idioma do bloco. Convém definiryas-buffer-local-condition
para impedir que os snipppets do modo organizacional ocultem os snippets do modo de bloco:Consulte também https://github.com/joaotavora/yasnippet/issues/761 , https://github.com/joaotavora/yasnippet/pull/760
fonte
Eu uso dois métodos para isso. Tenho alguns trechos da organização para me ajudar a criar os cabeçalhos de babel. Por exemplo, este cria cabeçalhos C ++ - 14 para Babel. Digito
<s C++_
e expiro:Então eu uso Cc ', que alterna para o modo de idioma específico e usa os trechos para esse idioma. Em seguida, use Cc 'para voltar ao arquivo organizacional. Isso funciona bem.
fonte
Como os npostavs já responderam, os snippets são expandidos de maneira diferente, dependendo dos idiomas em um arquivo de modo organizacional.
Basta digitar "co" e [tab] no bloco de código Python ou Emacs Lisp.
fonte