括号在Emacs中选择文本

时间:2012-03-14 20:28:35

标签: emacs

我想将Emacs用于简单的文本注释。是否有一个命令用括号或其他字符围绕选定的文本区域?

2 个答案:

答案 0 :(得分:4)

最有条理和最灵活的方法是使用autopair。一世 会说它已成为插入成对分隔符的规范解决方案 并将内容包装在成对的分隔符中。

Joao(autopair的作者)也写了yasnippet,这是非常的 Emacs中流行的模板库。 yasnippet可用于包装 任意文本中的区域。

这两个库都在Textmate上模拟他们的行为。

答案 1 :(得分:2)

我不知道是否有标准的emacs命令来执行此操作,但是这个应该可以解决这个问题:

(defun surround-brackets ()
  "Surround current region with brackets"
  (interactive)
  (when (use-region-p)
    (save-excursion
      (let ((beg (region-beginning))
            (end (region-end)))
        (goto-char end)
        (insert "]")
        (goto-char beg)
        (insert "[")))))

编辑如评论中所述,this question提出了以下解决方案,该解决方案要简单得多,但要求您使用以[结尾的密钥绑定

(global-set-key (kbd "M-[") 'insert-pair)