Org anweisen, Blockzitate als besondere Umgebung zu behandeln?

7

Im org-Modus verwende ich Anführungszeichen .

#+BEGIN_QUOTE
Foo.
#+END_QUOTE

Wenn ich jedoch org-edit-specialinnerhalb eines Blockzitats mache , bekomme ich No special environment to edit here. Wie kann ich den Organisationsmodus anweisen, Blockzitate (und Verszitate usw.) als spezielle Umgebungen zu behandeln, damit C-c 'ich das Zitat in seinem eigenen Puffer genauso bearbeiten kann wie mit anderen Codeblöcken?

Glühlampenmann
quelle
2
Nur aus Neugier, warum willst du dieses Verhalten? Möchten Sie Bearbeitungsbefehle verwenden, die für einen bestimmten Modus in diesem Block spezifisch sind, oder möchten Sie sie nur in einem isolierten Puffer anzeigen?
Elethan
Ich mag den Block Zitat in seinem eigenen Puffer , damit ich Befehle wie verwenden kann beginning-of-buffer, end-of-bufferund mark-whole-buffer.
Glühlampen
2
Es gibt keine Möglichkeit, das Verhalten von org-edit-special zu ändern. Wenn Sie den Block nur als Puffer behandeln möchten, wählen Sie ihn aus und schränken Sie den Bereich mit ein C-x n n.
user2699

Antworten:

4

Nachdem Sie die Kommentare gelesen haben, scheinen Sie wirklich danach zu suchen:

  • org-narrow-to-block um den Puffer auf den aktuellen Block zu beschränken

    1. Platzieren Sie den Cursor innerhalb der Grenze eines Blocks, z. B. Anführungszeichenblock

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

      Der Puffer wird nur auf den Anführungszeichenblock beschränkt.

      #+BEGIN_QUOTE
      Quote Block
      #+END_QUOTE
      

      Hinweis: Wenn Sie Ihren Puffer wollen mehr aussehen org-edit-special,
      dann geben Sie C-x n estattdessen.

      Der Puffer sieht ähnlich aus wie im folgenden Beispiel:

       Quote Block
      
  • widen Verengung aus dem aktuellen Puffer entfernen

    1. Art C-x n w

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

Diese Antwort wurde mit getestet

GNU Emacs 24.5.1 (x86_64-unknown-cygwin, GTK + Version 3.14.13)
org-mode version: 9.0

Melioratus
quelle
1
Die Verknüpfung sollte Cx n b sein.
user2699
@ user2699 Danke, dass du Tippfehler erwischt hast! Ich werde es reparieren!
Melioratus
Ja das ist es! Gibt es eine Möglichkeit, eine org-edit-special-or-narrrow-to-blocksolche Funktion zu definieren , die erkennt, welche geeignet ist, und die eine oder andere ausführt? Auf diese Weise könnte ich für beide dieselbe Schlüsselbindung verwenden, da es meiner Meinung nach dieselbe Operation ist, auch wenn dies nicht für Emacs gilt.
Glühlampen
1
@incandescentman - Ich glaube schon, aber ich habe noch nicht die Elisp-Fähigkeiten, um es zu tun. Ich kann mir vorstellen könnte die Implementierung ähnlich sein org-metaup, org-metadownoder org-ctrl-c-ctrl-c.
Melioratus
-3

Verwenden Sie stattdessen:

#+begin_example
  Foo.
#+end_example

Dann könnten Sie org-edit-specialinnerhalb des Blocks tun .

Feiming Chen
quelle