Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 29 Apr 24 03:15:24, всего сообщений: 8279
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 7101 из 8279 ========================================= RU.LINUX =
От   : Aleksandr Skobelev               2:5020/400         27 Dec 02 13:38:08
Кому : Evgenij M. Baldin                                   27 Dec 02 13:38:08
Тема : Re: Вопрос  про  рус<->лат  в emacs, но  не  про  переключалку :)
FGHI : area://RU.LINUX?msgid=spbtlg.ru+b9bb0dbf
На   : area://RU.LINUX?msgid=sky.inp.nsk.su+d2d565ed
= Кодировка сообщения определена как: IBM866 =================================
Ответ: area://RU.LINUX?msgid=sky.inp.nsk.su+41c46e53
==============================================================================
From: Aleksandr Skobelev <asko@spbtlg.ru>

"Evgenij M. Baldin" <baldin@Slon.inp.nsk.su> writes:

EMB> Добрый день

EMB>  Довольно часто что-нибудь пишешь и обнаруживаешь, что забыл
EMB> переключить регистр, приходится перебивать заново.

EMB>  Лениво разбираться, потому обращаюсь ко всезнающему сообществу:
EMB> поделиться примером для .emacs, где есть функция, которая производит
EMB> преобразование выделенного фрагмента.

EMB> Hапример я написал следующее:

EMB> Yfghbvth z yfgbcfk cktle.ott:

EMB> Две вышеупомянутые фразы одно и то же, но во втором случае я не сменил
EMB> регистр.

Вообще-то мне казалось, что такая функция где-то есть. Когда-то вроде в
году 97 что-то такое я читал. Hо когда не так давно начал её искать то
так найти и не смог, потому плюнул и быстренько навалял следующее.


(defvar usr:*en/ru-table*
  '((?q . ?й) (?w . ?ц) (?e . ?у) (?r . ?к)
    (?t . ?е) (?y . ?н) (?u . ?г) (?i . ?ш)
    (?o . ?щ) (?p . ?з) (?\[ . ?х) (?\] . ?ъ)
    (?a . ?ф) (?s . ?ы) (?d . ?в) (?f . ?а)
    (?g . ?п) (?h . ?р) (?j . ?о) (?k . ?л)
    (?l . ?д) (?\; . ?ж) (?' . ?э) (?z . ?я)
    (?x . ?ч) (?c . ?с) (?v . ?м) (?b . ?и)
    (?n . ?т) (?m . ?ь) (?, . ?б) (?. . ?ю)
    (?Q . ?Й) (?W . ?Ц) (?E . ?У) (?R . ?К)
    (?T . ?Е) (?Y . ?H) (?U . ?Г) (?I . ?Ш)
    (?O . ?Щ) (?P . ?З) (?{ . ?Х) (?} . ?Ъ)
    (?A . ?Ф) (?S . ?Ы) (?D . ?В) (?F . ?А)
    (?G . ?П) (?H . ?Р) (?J . ?О) (?K . ?Л)
    (?L . ?Д) (?: . ?Ж) (?\" . ?Э) (?Z . ?Я)
    (?X . ?Ч) (?C . ?С) (?V . ?М) (?B . ?И)
    (?N . ?Т) (?M . ?Ь) (?< . ?Б) (?> . ?Ю)
    (?` . ?ё) (?~ . ?Ё) (?@ . ?\") (?# . ?\')
    (?$ . ?*) (?% . ?:) (?^ . ?,) (?& . ?.)
    (?* . ?\;)))
 
(defun usr:en/ru-recode-region (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))))))
--- ifmail v.2.15dev5
* Origin: Sometimes Thinking Organized Matter Offline (2:5020/400)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.051056 секунды