Org-Modus: Wie erstelle ich eine "Org Mode Markup" -Schlüsselbindung?

11

Ich weiß , ich kann verwenden *bold*, /italic/, _underline_, =verbatim=, ~code~, und +strike-through+auf auf Text anwenden Markup in org-mode. Aber wie erstelle ich Tastenkombinationen, um diese Änderungen auf einen Textbereich anzuwenden? Wenn ich zum Beispiel Text fett machen möchte, gibt es einen einfacheren Weg als

  1. zum Anfang des Textes navigieren
  2. mit dem Präfix a *
  3. Navigieren Sie zum Ende des Textes
  4. Anhängen eines *?

Ich kann anscheinend keinen Befehl finden, der einen Textabschnitt "fett" macht, wie z org-make-region-bold. Gibt es so einen Befehl?

Modulitos
quelle

Antworten:

12
  1. Markieren Sie Ihre Region
  2. Klicken Sie C-c C-x C-f *für fett , C-c C-x C-f /für kursiv usw.

org-emph ist eine interaktive kompilierte Lisp-Funktion in `org.el '.

(org-betonen & optional CHAR)

Fügen Sie eine Betonung ein oder ändern Sie sie, dh eine Schriftart wie fett oder kursiv. Wenn eine Region aktiv ist, ändern Sie diese Region in einen neuen Schwerpunkt. Wenn keine Region vorhanden ist, fügen Sie einfach die Markierungszeichen ein und positionieren Sie den Cursor dazwischen. CHAR sollte das Markierungszeichen sein. Wenn es sich um ein Leerzeichen handelt, bedeutet dies, dass die Betonung der ausgewählten Region entfernt wird. Wenn CHAR nicht angegeben wird (z. B. in einem interaktiven Anruf), wird es dazu aufgefordert.

Rasmus
quelle
8

Sie können 1 verwenden , um das Einfügen von Markierungszeichen in zu erleichtern . Fügen Sie Ihrer Init-Datei den folgenden Code hinzu:electric-pair-modeorg-mode

(electric-pair-mode 1)

(defvar org-electric-pairs '((?\* . ?\*) (?/ . ?/) (?= . ?=)
                             (?\_ . ?\_) (?~ . ?~) (?+ . ?+)) "Electric pairs for org-mode.")

(defun org-add-electric-pairs ()
  (setq-local electric-pair-pairs (append electric-pair-pairs org-electric-pairs))
  (setq-local electric-pair-text-pairs electric-pair-pairs))

(add-hook 'org-mode-hook 'org-add-electric-pairs)

In diesen Ort, alles , was Sie tun müssen , um eine Region mit Aufschlag Zeichen zu wickeln ist drücken Sie die entsprechenden Zeichen ( *, /, =, _, ~, oder +) einmal.

Als zusätzlichen Vorteil fügt Emacs automatisch passende Paare von Markierungszeichen an der Stelle ein, an der keine Region vorhanden ist. Wenn Sie beispielsweise drücken, *wird ein **Punkt zwischen den beiden Zeichen eingefügt und belassen, sodass Sie weiter tippen können, ohne den Punkt verschieben zu müssen.


1 Dieser Modus ist integriert. Es ist nicht erforderlich, Pakete von Drittanbietern zu installieren, um sie zu verwenden.

itsjeyd
quelle
1
Vielen Dank! Ehrlich gesagt ist dies die sauberste und direkteste Antwort. Die süße Überraschung ist, dass electric-pair-modedas Paar auch auf eine ausgewählte Region angewendet wird. Ich dachte immer, dass elektrische Paare nur zum Einfügen von Paaren gedacht sind.
Ephsmith
2
Das Problem bei diesem Ansatz ist, dass *und /häufig in typischen Dokumenten im Org-Modus verwendet werden, z *. B. beginnt eine Kopfzeile. Wenn Sie einen Schrägstrich in Langtext eingeben, z. B. einen zusätzlichen Schrägstrich, den Sie jedes Mal löschen müssen.
PlagueHammer
5

Sie können das wrap-regionPaket (auch auf Melpa verfügbar) verwenden, um eine Region mit einem beliebigen Charakter Ihrer Wahl zu umschließen. Dies kann natürlich pro Hauptmodus konfiguriert werden.

(require 'wrap-region)

(add-hook 'org-mode-hook #'wrap-region-mode)

(wrap-region-add-wrapper "=" "=" nil 'org-mode) ; select region, hit = then region -> =region= in org-mode
(wrap-region-add-wrapper "*" "*" nil 'org-mode) ; select region, hit * then region -> *region* in org-mode
(wrap-region-add-wrapper "/" "/" nil 'org-mode) ; select region, hit / then region -> /region/ in org-mode
(wrap-region-add-wrapper "_" "_" nil 'org-mode) ; select region, hit _ then region -> _region_ in org-mode
(wrap-region-add-wrapper "+" "+" nil 'org-mode) ; select region, hit + then region -> +region+ in org-mode

Das expand-regionPaket ergänzt dieses Paket sehr gut (auch in Melpa erhältlich).

Verwendungszweck

  • Sie wählen das Wort oder die Phrase mit der von Ihnen ausgewählten Tastenkombination aus er/expand-region.
  • Drücken Sie *, um diese Region als fett (in org-mode) hervorzuheben .
Kaushal Modi
quelle
0

Benutzer von Evil können den Minor-Modus " Evil -Surround" verwenden , um mit verschiedenen Arten von Markups umzugehen. Sie können entweder Markup zur visuellen Auswahl mit S(standardmäßig) oder zu Textobjekten im normalen Modus mit hinzufügen ys.

Sie können auch einige Markierungen ändern oder löschen. Aber, zu ändern oder zu löschen Marker , die nicht bekannt sind , übel umgeben von Standard, werden Sie brauchen , um sie als Textobjekte Böse hinzuzufügen .

aaa
quelle