在TextMate中,可以使用ctrl-shift-w将文本包装在Open/Close标记中,使用ctrl-shift-cmd -w将每行包装在Open/Close标记的区域中.如何使用emacs lisp在Emacs中实现相同的功能?
emacs becomes <p>emacs</p>
而......
emacs textmate vi becomes <li>emacs</li> <li>textmate</li> <li>vi</li>
这个答案为您提供了包裹区域的解决方案(一旦您修改它以使用尖括号).
此例程将提示您使用该标记,并应使用该类型的打开/关闭标记标记该区域中的每一行:
(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)))))
Run Code Online (Sandbox Code Playgroud)
*注意:*如果您希望tag始终如此li,则删除tag参数,\nMTag for line:从对Interactive的调用中删除文本,并更新插入调用以仅"<li\>"按预期插入.
对于sgml-modederatives,标记区域以标记,键入M-x sgml-tag和键入您要使用的标记名称(按下TAB以获取可用HTML元素的列表).尽管如此,此方法不允许您标记区域中的每一行,您可以通过录制键盘宏来解决此问题.
| 归档时间: |
|
| 查看次数: |
2045 次 |
| 最近记录: |