在 TextMate , 可以使用 ctrl-shift-w将文本包装在打开/关闭标签中,并 ctrl-shift-cmd-w 将每一行包装在打开/关闭标签中的区域中。如何使用 emacs lisp 在 Emacs 中实现相同的功能?
电子书
变成
emacs
和 ...
电子书
文友
六
变成
最佳答案
This answer为您提供了一个环绕区域的解决方案(一旦您修改它以使用尖括号)。
此例程将提示您输入要使用的标签,并应使用该类型的打开/关闭标签标记区域中的每一行:
(defun my-tag-lines (b e tag)
"'tag' every line in the region with a tag"
(interactive "r\nMTag for line: ")
(save-restriction
(narrow-to-region b e)
(save-excursion
(goto-char (point-min))
(while (< (point) (point-max))
(beginning-of-line)
(insert (format "<%s>" tag))
(end-of-line)
(insert (format "</%s>" tag))
(forward-line 1)))))
*注意:*如果您想要
tag
永远是 li
,然后删除标签参数,删除文本 \nMTag for line:
从调用到交互,并更新插入调用以仅插入 "<li\>"
正如你所期望的那样。
关于emacs - 像TextMate一样在打开/关闭标签中包装选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1558178/