Cho*_*how 26 vim emacs surround
Surround.vim是一个漂亮的vim扩展,允许你用括号,括号和几乎任意"环绕"字符环绕文本块.它支持段落和单词环绕,但我经常在可视模式下使用它.我正在玩Emacs并想知道是否有类似的东西; 让我突出显示一个区域,然后用括号,括号或标签括起来的标记区域(或矩形).
我不认为有任何内置的标签,但对于括号你可以做M-(。对于括号/大括号/引号,您可以执行以下操作:
(global-set-key (kbd "M-[") 'insert-pair)
(global-set-key (kbd "M-{") 'insert-pair)
(global-set-key (kbd "M-\"") 'insert-pair)
Run Code Online (Sandbox Code Playgroud)
请注意,如果您没有突出显示某个区域,它只会插入一对任意内容并将光标放在它们之间。也可以方便地删除匹配的内容
(global-set-key (kbd "M-)") 'delete-pair)
Run Code Online (Sandbox Code Playgroud)
如果你想插入标签对,这是一些简单的 elisp:
(defun my-insert-tags (tag)
(interactive "sTag: ")
(if (region-active-p)
(let ((beg (region-beginning)))
(save-excursion
(goto-char (region-end))
(insert "</" tag ">")
(goto-char beg)
(insert "<" tag ">")))
(insert "<" tag ">")
(save-excursion
(insert "</" tag ">"))))
Run Code Online (Sandbox Code Playgroud)