Answers:
您可以使用1来方便地在中插入标记字符。将以下代码添加到您的init文件中:electric-pair-mode
org-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此模式是内置的;无需安装任何第三方软件包即可使用它。
*
,/
通常在典型的组织模式文档中使用,例如,*
开始标题。同样,如果您在长格式文本中输入斜杠,例如,您需要每次都删除一个多余的斜杠。
您可以使用该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
)。邪恶的用户可以采用邪恶包围的次要模式来处理各种标记。您可以使用S
(默认情况下)将标记添加到可视选择中,也可以使用来将标记添加到普通模式下的文本对象中ys
。
您也可以更改或删除一些标记。但是,要更改或删除默认情况下邪恶环绕未知的标记,您需要将它们作为文本对象添加到Evil中。
electric-pair-mode
也将这对应用于所选区域。我总是将电对用于仅插入双对。