;; 適当なキーにアサイン
(define-key global-map "\C-cc" 'exchange-char)
(defvar exchange-chars '((?ア . ?ァ)
(?イ . ?ィ)
(?ウ . ?ゥ)
(?エ . ?ェ)
(?オ . ?ォ)
(?ヤ . ?ャ)
(?ユ . ?ュ)
(?ヨ . ?ョ)
(?ァ . ?ア)
(?ィ . ?イ)
(?ゥ . ?ウ)
(?ェ . ?エ)
(?ォ . ?オ)
(?ャ . ?ヤ)
(?ュ . ?ユ)
(?ョ . ?ヨ))
"*置き換える文字の組合わせの alist")
(defun exchange-char ()
"カーソルの次の文字を exchange-chars に則って変更する"
(interactive)
(let* ((char (char-after))
(repl (cdr (assq char exchange-chars))))
(cond
(repl
(delete-char 1)
(insert-char repl 1))
(char
(ding)
(message "`%c' は置換対象ではありません" char))
(t
(message "次の文字がありません")))))
(defvar exchange-chars '((?ア . ?ァ)
(?イ . ?ィ)
(?ウ . ?ゥ)
(?エ . ?ェ)
(?オ . ?ォ)
(?ヤ . ?ャ)
(?ユ . ?ュ)
(?ヨ . ?ョ))
"*置き換える文字の組合わせの alist")
(defun exchange-char ()
"カーソルの次の文字を exchange-chars に則って変更する"
(interactive)
(let* ((char (char-after))
(repl (or (cdr (assq char exchange-chars))
(car (rassq char exchange-chars)))))
(cond
(repl
(delete-char 1)
(insert-char repl 1))
(char
(ding)
(message "`%c' は置換対象ではありません" char))
(t
(message "次の文字がありません")))))
完璧です!!!<br>ありがとうございます!!<br>2番目のめちゃ便利です!!<br>金不要って恐縮です。ぱんださんのことは忘れません。<br>ありがとうございました!