Eu li o manual do modo organizacional, mas não encontrei um atalho para inserir:
#+BEGIN_SRC
#+END_SRC
Eu acho que preciso criar uma configuração em ~ / .emacs para definir um atalho? Ou existe um atalho, mas eu não sabia?
Eu uso muito R no emacs. Existe uma maneira de criar um atalho separado para criar isso?
#+BEGIN_SRC R
#+END_SRC
(require 'org-tempo)
adicionado ao seu.emacs
. Além disso, aqui está um link atualizado para Easy Templates -> orgmode.org/manual/Easy-templates.html, i b
dentrospacemacs
?[Este é um complemento / esclarecimento às respostas de @glucas e @manandearth - ele não se sustenta por si só.]
Observe que nas versões recentes de desenvolvimento (> = 9.2) do modo org (e, portanto, a menos que as coisas mudem, nas futuras versões estáveis),
org-structure-template-alist
mudou seu tipo. O mecanismo embutido de modelos fáceis foi abandonado em favor de um mecanismo mais genérico baseado notempo
pacote. Infelizmente, o novo mecanismo só permite abreviações de um único caractere após o<
, então<s
será expandido para a#+BEGIN_SRC...#+END_SRC
sequência solicitada pelo OP, mas coisas como<el
na resposta do @ manandearth NÃO funcionarão. Ainda é um trabalho em andamento, portanto, as coisas podem mudar, mas se você usar<XXX
abreviações com várias letras , esteja preparado para que elas quebrem ao atualizar o modo organizacional para essa versão.Há também outro mecanismo:
C-c C-,
é vinculado aoorg-insert-structure-template
que solicita o tipo de bloco que você deseja inserir (com um menu que lista todos os blocos disponíveis e permite escolher com um único toque de tecla). Sua vantagem é que ele envolverá abegin/end
região, portanto, se você já digitou várias coisas e deseja agrupá-las em um bloco, tudo o que você precisa fazer é selecioná-las como região e tipo,C-c C-.
seguido por um único caractere para escolher o tipo de bloco.Veja esta nota [fn: 1], a sequência de documentos da (nova) função
org-insert-structure-template
e o arquivoorg-tempo.el
.[fn: 1] O link pode estar impreciso porque aponta para um número de linha fixo em um arquivo que pode (não, vai!) mudar. Se o link não o levar ao lugar certo, procure a sequência "expansão do modelo de estrutura" - e fique à vontade para editar esta resposta e fixar o número da linha - obrigado!
fonte
O comportamento do bloco de origem foi alterado na Org 9.2 . A abreviação
<s
não funciona mais por padrão. Em vez disso, você usaC-c C-,
quais chamadasorg-insert-structure-template
.Pressionar
C-c C-,
exibe uma caixa de diálogo. PressioneTAB
e depois digitesrc R
. Isso insere um bloco de origem e coloca o cursor no início da segunda linha (|
seja o ponto ):Para editar dentro do bloco, pressione
C-o
para abrir uma nova linha.Você pode salvar um modelo adicionando uma entrada ao
org-structure-template-alist
. Coloque o seguinte em algum lugarinit.el
ou execute-o usandoC-x C-e
:Agora, quando você
C-c C-,
verá uma entradar
na lista. Você pode seguir a mesma abordagem em outros idiomas, como Python, Ruby, etc. Simplesmente substitua o cdr no par pontilhado acima (a parte "src R").Além disso, para inserir uma linha entre os delimitadores do bloco de origem, você pode inserir um caractere de nova linha usando
C-q C-j
. Ou seja, digitesrc
R
C-q C-j
o cdr do par pontilhado acima. O resultado será semelhante a:Agora, quando você pressiona
R
, o Emacs insere o bloco de origem e coloca o cursor entre eles em uma nova linha (|
seja o ponto ):fonte
<s
ligação ainda existe, você só precisa incluir(require org-temp)
no seu init para habilitá-la.(require 'org-tempo)
para ligações de teclas para blocos de código,
babel-org
tente o seguinte para ligar<r
seguido por um<tab>
:Você também pode modificar a fonte para o ESS.
Para ligar
<p
seguido de a<tab>
a um código de bloco python, por exemplo:um emacs-lisp definido como
<el
seguido por a<tab>
será:outras ligações úteis
org-mode
são:fonte
ein
que também deve apoiar a I.(add-to-list 'org-structure-template-alist '("p" . "src python"))
Dê uma olhada no pacote YASnippet Emacs. Ele permite que você adicione trechos de código com algumas palavras-chave e TAB depois. É muito mais simples e útil tanto no modo organizacional quanto nos scripts R. Você deve ter uma pasta em .emacs.d / snippets / ess-mode (e uma para o modo organizacional) onde salve arquivos como este:
Quando você digita TAB, ele fica em% em%, da mesma forma:
https://www.emacswiki.org/emacs/Yasnippet
https://joaotavora.github.io/yasnippet/snippet-development.html
fonte
Para adicionar uma nova combinação de teclas ao modo organizacional, você pode usar
Isso inserirá a sequência se você pressionar C-cs.
fonte