Emacsでカーソルの位置から左方向に特定の文字を検索して置換する
中国語のピンインをEmacs上で打ちたくLispを書こうとしてるのですが、キーバインディングの変更程度しか書いたことがなく躓いています。
(defun make-tone-2 ()
(interactive)
(insert "foo"))
(define-minor-mode pinyin-mode
"Input pinyin"
:lighter " PinYin"
:keymap (let ((map (make-sparse-keymap)))
(define-key map (kbd "2") 'make-tone-2)
map))
とりあえずこのように minor-mode の定義を行い、make-tone-2
で現在のカーソルの左方向にあるスペース以外の英文字を取得して auoi があれば、それぞれáúóí に置換しようと考えています。(ただしカーソルに一番近い文字のみ)
どの関数を使えばよいかも全くわからない状態で、どのように実装すれば良いかヒントを頂けないでしょうか。