Org-Mode: Як створити прив'язку клавіш "org mode"?


11

Я знаю , що я можу використовувати *bold*, /italic/, _underline_, =verbatim=, ~code~, і , +strike-through+щоб застосувати розмітки тексту в org-mode. Але як я можу створити ключові прив’язки для застосування цих змін до області тексту? Наприклад, якщо я хочу зробити якийсь текст жирним, чи є простіший спосіб, ніж

  1. навігація на передню частину тексту
  2. префіксація його a *
  3. навігація до кінця тексту
  4. додавання а *?

Я, здається, не можу знайти жодної команди, яка "жирить" фрагмент тексту, наприклад org-make-region-bold. Чи є така команда?

Відповіді:


12
  1. Позначте регіон
  2. Натисніть C-c C-x C-f *для напівжирних , C-c C-x C-f /для похилого і т.д.

org-focus - це інтерактивна складена функція Lisp в `org.el '.

(org-підкреслити та необов’язково CHAR)

Вставте або змініть наголос, тобто шрифт, як жирний або курсив. Якщо є активний регіон, змініть цей регіон на новий акцент. Якщо немає регіону, просто вставте символи маркера та розташуйте курсор між ними. CHAR має бути символом маркера. Якщо це пробіл, це означає прибрати наголос вибраної області. Якщо CHAR не надано (наприклад, під час інтерактивного дзвінка), вам буде запропоновано.


8

Ви можете скористатися 1, щоб полегшити вставлення символів розмітки в . Додайте такий код у свій init-файл: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)

При цьому на місці, все , що вам потрібно зробити , щоб обернути область з розміченими символами натисніть відповідний символ ( *, /, =, _, ~, або +) один раз.

В якості додаткової переваги, якщо Emacs автоматично не вставить відповідні пари знаків розмітки, якщо немає регіону. Наприклад, натискання клавіші *вставить **і залишить крапку між двома символами, щоб ви могли продовжувати вводити текст без необхідності переміщення точки.


1 Цей режим є вбудованим; для його використання не потрібно встановлювати сторонні пакети.


1
Дякую! Чесно кажучи, це найчистіша і найпростіша відповідь. Солодкий сюрприз полягає в тому, що electric-pair-modeтакож стосується пари до вибраного регіону. Я завжди хоч ці електричні пари були для вставлення пар.
ephsmith

2
Проблема з цим підходом є те , що *і /зазвичай використовується в типових документах в режимі Org наприклад , *починається з заголовком. Аналогічно, якщо ви набираєте косу рису в тексті з довгими формами, наприклад, є додаткова коса риса, яку потрібно видаляти кожен раз.
PlagueHammer

5

Ви можете використовувати wrap-regionпакет (також доступний на Melpa), щоб обернути регіон із будь-яким обраним вами символом. Це, звичайно, можна налаштувати для головного режиму.

(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

Цей expand-regionпакет дуже добре доповнює цей пакет (також доступний у Мельпі).

Використання

  • Ви вибираєте слово або фразу, використовуючи прив'язку клавіш, яку ви вибрали er/expand-region.
  • Натисніть, *щоб підкреслити цей регіон як сміливий (в org-mode).

0

Користувачі Evil можуть використовувати непридатний режим для неповнолітніх для вирішення різного роду розмітки. Ви можете додати розмітку до візуального вибору за допомогою S(за замовчуванням) або до текстових об'єктів у звичайному режимі за допомогою ys.

Ви також можете змінити або видалити деякі маркери. Але, щоб змінити або видалити маркери, які за замовчуванням не відомі злом-оточенням, вам потрібно буде додати їх до Зла як текстові об’єкти .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.