2012-03-14 72 views
3

我想使用Emacs进行简单的文本注释。是否有包含括号或其他字符的选定文本区域的命令?在Emacs中包含选定的文本

+2

可能重复的[Wrap选择Emacs中的字符中的文本](http://stackoverflow.com/questions/2951797/wrapping-selecting-text-in-enclosing-characters-in-emacs) – phils 2012-03-14 21:06:32

+0

同意。我很快就会删除这个问题。谢谢你的链接。 – 2012-03-15 03:45:16

+0

我无法删除问题,因为答案存在,但我已将其标记为完全相同。 – 2012-03-18 20:29:05

回答

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) 
4

最结构化和灵活的方式绑定结束做到这一点是autopair。 I 会说它已经成为插入成对分隔符 并将内容包装在成对分隔符中的规范解决方案。

若昂(autopair的作者)也写了yasnippet,这是Emacs中流行的模板库 。 yasnippet可用于以任意文字包装 区域。

这两个库在Textmate上建模其行为。

相关问题