dizer à organização para tratar aspas em bloco como um ambiente especial?

7

No modo organizacional, uso aspas de bloco .

#+BEGIN_QUOTE
Foo.
#+END_QUOTE

No entanto, quando eu faço org-edit-specialdentro de uma cotação em bloco, recebo No special environment to edit here. Como posso direcionar o modo organizacional para tratar aspas de bloco (e versos etc.) como ambientes especiais, para que, quando o fizer C-c ', possa editar a cotação em seu próprio buffer da mesma maneira que com outros blocos de código?

homem incandescente
fonte
2
Só por curiosidade, por que você quer esse comportamento? Deseja usar comandos de edição específicos para um determinado modo neste bloco ou apenas deseja vê-lo em um buffer isolado?
Elethan
Eu quero que o bloco de citação em seu próprio buffer para que eu possa usar comandos como beginning-of-buffer, end-of-buffer, e mark-whole-buffer.
incandescentman
2
Não há como alterar o comportamento do org-edit-special. Se você quiser apenas tratar o bloco como um buffer, selecione-o e reduza a região com C-x n n.
user2699

Respostas:

4

Depois de ler os comentários, parece que você está realmente procurando por isso:

  • org-narrow-to-block para restringir o buffer ao bloco atual

    1. Coloque o cursor dentro dos limites de um bloco, por exemplo, bloco de cotação

      #+BEGIN_VERSE
      Verse Block
      #+END_VERSE
      
      #+BEGIN_VERBATIM
      Verbatim Block
      #+END_VERBATIM
      
      #+BEGIN_QUOTE
      Quote Block
      #+END_QUOTE
      
    2. Tipo C-x n b

      O buffer será reduzido apenas para o bloco de cotação.

      #+BEGIN_QUOTE
      Quote Block
      #+END_QUOTE
      

      Nota: Se você quiser que seu buffer seja mais parecido org-edit-special,
      digite C-x n e.

      O buffer será semelhante ao exemplo abaixo:

       Quote Block
      
  • widen remover o estreitamento do buffer atual

    1. Tipo C-x n w

      #+BEGIN_VERSE
      Verse Block
      #+END_VERSE
      
      #+BEGIN_VERBATIM
      Verbatim Block
      #+END_VERBATIM
      
      #+BEGIN_QUOTE
      Quote Block
      #+END_QUOTE
      

Esta foi a resposta foi testada usando

GNU Emacs 24.5.1 (x86_64-unknown-cygwin, GTK + versão 3.14.13)
versão org-mode: 9.0

Melioratus
fonte
11
O atalho deve ser Cx n b.
usar o seguinte comando
@ user2699 Obrigado por capturar erros de digitação! Eu resolvo isso!
Melioratus
Sim é isso! Existe uma maneira de definir uma função como org-edit-special-or-narrrow-to-blockessa que detecte o que é apropriado e faça um ou outro? Dessa forma, eu poderia usar a mesma ligação de teclas para ambos, pois, na minha opinião, é a mesma operação, mesmo que não na mente do Emacs.
Incandescentman
11
@incandescentman - Acredito que sim, mas ainda não tenho as habilidades elisp para fazê-lo. Eu imagino que a implementação possa ser semelhante a org-metaup, org-metadownou org-ctrl-c-ctrl-c.
Melioratus
-3

Use em vez disso:

#+begin_example
  Foo.
#+end_example

Então você seria capaz de fazer org-edit-specialdentro do bloco.

Feiming Chen
fonte