2009-09-09 8 views
3

私はemacsでテキスト注釈システムを開発しています。注釈のフォーマットは次のようなものです。これはテキストの場合:emacsのテキストにタグを付ける方法

Lorem ipsem por favor 

私はこのようにそれに注釈を付ける必要があります。

{latin}Lorem imsem{/latin} {spanish}por favor{/spanish} 

だから、私は何をしたい地域を選択してからの入力を要求する関数やマクロを実行でタグ名を入力し、中括弧、終了/およびタグ名を領域の先頭と最後のバッファに挿入します。

これはおそらくかなり簡単ですが、私は非常に頻繁に使用しないので、emacs lispがやや混乱していることがわかっています。

答えて

11

まあ、そこにはたくさんの方法があります。 yasnippetは1つです。さまざまなxml/htmlモードがたくさんあると確信しています。あなたが完了したら、}クロージング後であることをポイントにしたい場合は、私はこれは検索するよりも堅牢であると考え

​​
+1

素晴らしい、ありがとう!そして、save-excursion関数の後で、カーソルを最後の適切な場所に置くだけで、(search-forward "}") – singingfish

4

(defun my-tag-region (b e tag) 
    "'tag' a region" 
    (interactive "r\nMTag for region: ") 
    (let ((e (copy-marker e))) 
    (goto-char b) 
    (insert (format "{%s}" tag)) 
    (goto-char e) 
    (insert (format "{/%s}" tag)))) 

簡単にするために、あなたは次のようにいくつかのelispを使用することができます

関連する問題