Исправление Evgueni, (текущая версия) :
В начале тоже так было, но в какой-то момент привык и перестал искать другие решения. И ещё у меня в .emacs есть следующие функции (подсказанные на LOR):
(defun lat<->rus (beg end &optional arg)
"Recode region that contains russain text typed in english into russian.
With ARG given recode region in the other direction."
(interactive "*r\nP")
(save-excursion
(goto-char beg)
(do () ((>= (point) end))
(let* ((en-char (char-after (point)))
(ru-char (if arg
(car (rassoc en-char usr:*en/ru-table*))
(cdr (assoc en-char usr:*en/ru-table*)))))
(delete-char 1)
(insert (if ru-char ru-char en-char))))))
(defun rus<->lat (beg end &optional arg)
"Recode region that contains russain text typed in english into russian.
With ARG given recode region in the other direction."
(interactive "*r\nP")
(save-excursion
(goto-char beg)
(do () ((>= (point) end))
(let* ((en-char (char-after (point)))
(ru-char (if arg
(cdr (assoc en-char usr:*en/ru-table*))
(car (rassoc en-char usr:*en/ru-table*)))))
(delete-char 1)
(insert (if ru-char ru-char en-char))))))
Исходная версия Evgueni, :
В начале тоже так было, но в какой-то момент привык и перестал искать другие решения.