环绕地区与美元符号($)在Emacs

时间:2014-10-23 16:09:26

标签: emacs editing surround

有内置的emacs函数用于围绕带括号的区域,我在此处找到它:https://stackoverflow.com/a/2952021/1635919。是否有类似的方法用美元($)围绕一个区域?

C-h f insert-pair告诉我这个函数能够用任何字符包围sexp,那么如何在$ M-$中绑定周围环境,如链接答案?

我的Emacs:GNU Emacs 24.3.1(i686-pc-linux-gnu,GTK +版本3.10.7)

4 个答案:

答案 0 :(得分:3)

您可以复制M-(通过查看insert-parentheses函数来执行。它所做的只是使用硬编码参数调用insert-pair,因此您可以将M-$与a-m函数绑定到以下函数:

    (defun insert-dolla-dolla-bills-yall (&optional arg)
      (interactive "P")
      (insert-pair arg ?\$ ?\$))

答案 1 :(得分:2)

将变量insert-pair-alist设置为包含(?\$ ?\$)

(add-to-list 'insert-pair-alist (list ?\$ ?\$))

然后将密钥绑定到insert-pair,以执行您想要的操作:

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

答案 2 :(得分:1)

如果您使用库yasnippethttps://github.com/capitaomorte/yasnippet),它内置支持在所选区域的任一端包装带有自定义代码的环绕声区域:

注意:最新版本的yasnippet似乎已将功能名称从yas/selected-text更改为yas-selected-text。但是,似乎还有向后版本兼容的支持buit-in。

# -*- mode: snippet -*-
# name: dollar-surround
# key: dollar-surround
# binding: C-I $
# --
$`yas/selected-text`$

答案 3 :(得分:0)

有一个工具包可以与一堆相关的工具包一起提供。

它被称为ar-dollar-region-atpt

在此处获取:

https://launchpad.net/s-x-emacs-werkstatt/