当前位置:  开发笔记 > 编程语言 > 正文

像TextMate一样打开/关闭标签中的换行选择?

如何解决《像TextMate一样打开/关闭标签中的换行选择?》经验,为你挑选了2个好方法。

在TextMate中,可以使用ctrl-shift-w将文本包装在Open/Close标记中,使用ctrl-shift-cmd -w将每行包装在Open/Close标记的区域中.如何使用emacs lisp在Emacs中实现相同的功能?

emacs

becomes

emacs

而......

emacs
textmate
vi

becomes

  • emacs
  • textmate
  • vi
  • Trey Jackson.. 7

    这个答案为您提供了包裹区域的解决方案(一旦您修改它以使用尖括号).

    此例程将提示您使用该标记,并应使用该类型的打开/关闭标记标记该区域中的每一行:

    (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 "" tag))
            (forward-line 1)))))
    

    *注意:*如果您希望tag始终如此li,则删除tag参数,\nMTag for line:从对Interactive的调用中删除文本,并更新插入调用以仅""按预期插入.



    1> Trey Jackson..:

    这个答案为您提供了包裹区域的解决方案(一旦您修改它以使用尖括号).

    此例程将提示您使用该标记,并应使用该类型的打开/关闭标记标记该区域中的每一行:

    (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 "" tag))
            (forward-line 1)))))
    

    *注意:*如果您希望tag始终如此li,则删除tag参数,\nMTag for line:从对Interactive的调用中删除文本,并更新插入调用以仅""按预期插入.



    2> Török Gábor..:

    对于sgml-modederatives,标记区域以标记,键入M-x sgml-tag和键入您要使用的标记名称(按下TAB以获取可用HTML元素的列表).尽管如此,此方法不允许您标记区域中的每一行,您可以通过录制键盘宏来解决此问题.

    推荐阅读
    TXCWB_523
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有