Org-Mode:「組織モードのマークアップ」キーバインドを作成するには?


11

私は、私が使用することができます知っている*bold*/italic/_underline_=verbatim=~code~、と+strike-through+するテキストにマークアップ適用org-mode。しかし、これらの変更をテキストの領域に適用するためのキーバインディングをどのように作成しますか?たとえば、テキストを太字にしたい場合は、より簡単な方法がありますか

  1. テキストの前に移動する
  2. 接頭辞として *
  3. テキストの最後に移動する
  4. *?を追加する

など、一連のテキストを「太字」にするコマンドを見つけることができないようですorg-make-region-bold。そのようなコマンドはありますか?

回答:


12
  1. 地域をマーク
  2. クリックC-c C-x C-f *のために大胆なC-c C-x C-f /のためにイタリックなど

org-emphasizeは、 `org.el '内のインタラクティブにコンパイルされたLisp関数です。

(org-emphasize&optional CHAR)

強調、つまり太字や斜体などのフォントを挿入または変更します。アクティブなリージョンがある場合は、そのリージョンを新しい重点に変更します。リージョンがない場合は、マーカー文字を挿入して、その間にカーソルを置きます。CHARはマーカー文字でなければなりません。スペースの場合は、選択した領域の強調を解除することを意味します。CHARが指定されていない場合(たとえば、対話式呼び出しで)、プロンプトが出されます。


8

1を使用して、でのマークアップ文字の挿入を容易にすることができます。次のコードをinit-fileに追加します。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)

プレスは、対応する文字の場所でこれを使用すると、あなたがする必要があるすべては、マークアップ文字で地域をラップすることです(*/=_~、または+)を1回。

追加の利点として、リージョンがない場合、Emacsはポイントに一致するマークアップ文字のペアを自動的に挿入します。たとえば、を押す***、2つの文字の間にポイントが挿入されて離れるので、ポイントを移動しなくても入力を続けることができます。


1このモードは組み込みです。それを使用するためにサードパーティのパッケージをインストールする必要はありません。


1
ありがとうございました!正直なところ、これは最もクリーンで最も簡単な答えです。甘い驚きはelectric-pair-mode、ペアを選択した地域にも適用することです。私はいつもその電気ペアはペアのみを挿入するためのものでした。
エフスミス2018年

2
このアプローチの問題点は、ということである*/一般的に例えば、典型的な組織モードの文書で使用されている*ヘッダを開始します。同様に、長いテキストにスラッシュを入力している場合など、毎回削除する必要がある余分なスラッシュがある場合。
PlagueHammer 2018

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パッケージは、(Melpaでも利用可能)非常によく、このパッケージを補完します。

使用法

  • で選択したキー割り当てを使用して、単語またはフレーズを選択しer/expand-regionます。
  • を押し*て、その領域を太字で強調します(内org-mode)。

0

Evilのユーザーは、evil-surroundのマイナーモードを使用してさまざまな種類のマークアップを処理できます。S(デフォルトでは)を使用してビジュアル選択にマークアップを追加するか、を使用して通常モードのテキストオブジェクトにマークアップを追加できますys

一部のマーカーを変更または削除することもできます。ただし、デフォルトでevil-surroundに認識されていないマーカーを変更または削除するには、それらをEvilにテキストオブジェクトとして追加する必要があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.