J'ai lu le manuel du mode org mais je n'ai pas trouvé de raccourci à insérer:
#+BEGIN_SRC
#+END_SRC
Je suppose que je dois créer une configuration dans ~ / .emacs pour définir un raccourci? Ou y a-t-il un raccourci mais je ne le savais pas?
J'utilise beaucoup R dans emacs. Existe-t-il un moyen de créer un raccourci distinct pour le créer?
#+BEGIN_SRC R
#+END_SRC
(require 'org-tempo)
ajouté à votre.emacs
. En outre, voici un lien mis à jour vers Easy Templates -> orgmode.org/manual/Easy-templates.html, i b
enspacemacs
?[Ceci est un ajout / clarification aux réponses de @glucas et @manandearth - il ne se suffit pas à lui-même.]
Notez que dans les versions de développement récentes (> = 9.2) du mode org (et donc, à moins que les choses ne changent, dans les futures versions stables),
org-structure-template-alist
a changé de type. Le mécanisme intégré de modèles simples a été abandonné au profit d'un mécanisme plus générique basé sur letempo
package. Malheureusement, le nouveau mécanisme n'autorise que les abréviations à un seul caractère après le<
, il<s
sera donc étendu à la#+BEGIN_SRC...#+END_SRC
chaîne<el
demandée par l'OP, mais des choses comme dans la réponse de @ manandearth ne fonctionneront PAS . C'est toujours un travail en cours, donc les choses peuvent changer, mais si vous optez pour des<XXX
abréviations à plusieurs lettres , préparez-vous à ce qu'elles se cassent lorsque vous mettez à niveau le mode organisationnel vers une telle version.Il existe également un autre mécanisme: il
C-c C-,
est lié à celuiorg-insert-structure-template
qui vous demande le type de bloc que vous souhaitez insérer (avec un menu qui répertorie tous les blocs disponibles et vous permet de choisir en appuyant sur une seule touche). Son avantage est qu'il enroulerabegin/end
autour d'une région, donc si vous avez déjà tapé un tas de trucs et que vous voulez l'encapsuler dans un bloc, tout ce que vous avez à faire est de le sélectionner en tant que région et typeC-c C-.
suivi d'un seul caractère pour choisir le type de bloc.Voir cette note [fn: 1], la chaîne doc de la (nouvelle) fonction
org-insert-structure-template
et le fichierorg-tempo.el
.[fn: 1] Le lien peut être inexact car il pointe vers un numéro de ligne fixe dans un fichier qui peut (non, va!) changer. Si le lien ne vous mène pas au bon endroit, recherchez la chaîne "expansion du modèle de structure" - et n'hésitez pas à modifier cette réponse et à fixer le numéro de ligne - merci!
la source
Le comportement du bloc source a changé dans Org 9.2 . L'abréviation
<s
ne fonctionne plus par défaut. Au lieu de cela, vous utilisezC-c C-,
quels appelsorg-insert-structure-template
.Appuyez sur pour
C-c C-,
afficher une boîte de dialogue. Appuyez surTAB
puis entrezsrc R
. Cela insère un bloc source et place votre curseur au début de la deuxième ligne (|
soit point ):Pour modifier ensuite à l'intérieur du bloc, appuyez sur
C-o
pour ouvrir une nouvelle ligne.Vous pouvez enregistrer un modèle en ajoutant une entrée au
org-structure-template-alist
. Mettez ce qui suit quelque part dans votreinit.el
ou exécutez-le en utilisantC-x C-e
:Maintenant, lorsque vous le ferez,
C-c C-,
vous verrez une entrée pourr
dans la liste. Vous pouvez suivre la même approche pour d'autres langages, tels que Python, Ruby, etc. Remplacez simplement le cdr dans la paire en pointillés ci-dessus (la partie "src R").De plus, pour insérer une ligne entre les délimiteurs de bloc source, vous pouvez insérer un caractère de nouvelle ligne à l'aide de
C-q C-j
. Autrement dit, tapezsrc
R
C-q C-j
le cdr de la paire en pointillés ci-dessus. Le résultat ressemblera à:Maintenant, lorsque vous appuyez sur
R
, Emacs insérera le bloc source et placera votre curseur entre eux sur une nouvelle ligne (que ce|
soit le point ):la source
<s
liaison existe toujours, il vous suffit d'inclure(require org-temp)
dans votre init pour l'activer.(require 'org-tempo)
pour les liaisons de touches pour les blocs de code,
babel-org
essayez la liaison suivante<r
suivie d'un<tab>
:Vous pouvez également modifier la source en ESS.
Pour lier
<p
suivi de a<tab>
à un code de bloc python, par exemple:un emacs-lisp réglé sur
<el
suivi d'un<tab>
sera:d'autres liaisons utiles
org-mode
sont:la source
ein
lequel devrait également supporter R.(add-to-list 'org-structure-template-alist '("p" . "src python"))
Jetez un œil au package YASnippet Emacs. Il vous permet d'ajouter des extraits de code avec certains mots clés et TAB après. Il est beaucoup plus simple et utile à la fois en mode org et avec les scripts R. Vous devriez avoir un dossier dans .emacs.d / snippets / ess-mode (et un pour org-mode) où vous enregistrez des fichiers comme celui-ci:
Lorsque vous tapez TAB, il reste en% en%, de la même manière:
https://www.emacswiki.org/emacs/Yasnippet
https://joaotavora.github.io/yasnippet/snippet-development.html
la source
Pour ajouter une nouvelle combinaison de touches au mode organisationnel, vous pouvez utiliser
Cela insérera la chaîne si vous appuyez sur C-cs.
la source