组织模式:如何创建“组织模式标记”键绑定?


11

我知道我可以使用*bold*/italic/_underline_=verbatim=~code~,和+strike-through+标记适用于文本org-mode。但是,如何创建按键绑定以将这些更改应用于文本区域?例如,如果我想将某些文本加粗,是否有比这更简单的方法?

  1. 导航到文本的开头
  2. 给它加上前缀 *
  3. 导航到文本结尾
  4. 追加一个*

我似乎找不到任何“加粗”一段文本的命令,例如org-make-region-bold。有这样的命令吗?

Answers:


12
  1. 标记您的区域
  2. 单击C-c C-x C-f *粗体显示C-c C-x C-f /斜体显示等。

org-emphasize是在org.el中的一个交互式编译的Lisp函数。

(组织强调和可选的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也将这对应用于所选区域。我总是将电对用于仅插入双对。
伊夫史密斯

2
这种方法的问题在于*/通常在典型的组织模式文档中使用,例如,*开始标题。同样,如果您在长格式文本中输入斜杠,例如,您需要每次都删除一个多余的斜杠。
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软件包很好地补充了此软件包(也可在Melpa中获得)。

用法

  • 您可以使用为选择的键绑定选择单词或短语er/expand-region
  • 点击*以强调该区域为粗体(org-mode)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.