Por ejemplo, tengo un modo de organización que tiene lo siguiente
#+BEGIN_SRC emacs-lisp
#+END_SRC
¿Es posible configurar yasnippets de tal manera que todos los fragmentos emacs-lisp-mode se puedan expandir dentro de ese bloque pero no fuera de él?
C-c '
todos modos; en ese caso, el modo principal emacs-lisp tendría los fragmentos de yasnippet apropiados cargados mientras edita el bloque en su ventana separada (que también se ocupa de la sangría correcta etc.)Respuestas:
A partir de 2017, 22 de enero, si configura
org-src-tab-acts-natively
yorg-src-fontify-natively
, luego, TAB en los bloques de origen expandirá los fragmentos del idioma del bloque. Es posible que desee configuraryas-buffer-local-condition
para evitar que los fragmentos de modo de organización sigan los fragmentos del modo de bloque:Ver también https://github.com/joaotavora/yasnippet/issues/761 , https://github.com/joaotavora/yasnippet/pull/760
fuente
Yo uso dos métodos para esto. Tengo algunos fragmentos de organización para ayudarme a crear los encabezados de babel. Por ejemplo, este crea C ++ - 14 encabezados para Babel. Escribo
<s C++_
y amplío:Luego uso Cc 'que cambia al modo de idioma específico y uso los fragmentos para ese idioma. Luego use Cc 'para volver al archivo org. Funciona bien.
fuente
Como npostavs ya respondió, los fragmentos se expanden de manera diferente dependiendo de los idiomas dentro de un archivo de modo de organización.
Simplemente escriba "co" y [tab] dentro del bloque de código Python o Emacs Lisp.
fuente