我正在开发emacs中的文本注释系统,其中注释的格式是这样的.如果这是文字:
Lorem ipsem por favor
我需要像这样注释:
{latin}Lorem imsem{/latin} {spanish}por favor{/spanish}
所以我想要做的是选择一个区域,然后运行一个函数或宏来提示标签名称,并将花括号,结束/和标签名称插入到区域开头和结尾的缓冲区中.
这可能非常简单,但我总是发现emacs lisp相当混乱,因为我根本不经常使用它.
嗯,有很多方法. yasnippet
是一个,我相信一堆各种xml/html模式都有一个.
为简单起见,您可以使用以下类似的elisp:
(defun my-tag-region (b e tag) "'tag' a region" (interactive "r\nMTag for region: ") (save-excursion (goto-char e) (insert (format "{/%s}" tag)) (goto-char b) (insert (format "{%s}" tag))))