#1
|
|||
|
|||
Вопрос про рус<->лат в emacs, но не про переключалку :)
Roman Lagunov написал(а) к Evgenij M. Baldin в Dec 02 00:54:46 по местному времени:
Нello Evgenij. 27 Dec 02 08:58, Evgenij M. Baldin wrote to All: EB> Довольно часто что-нибудь пишешь и обнаруживаешь, что забыл EB> переключить регистр, приходится перебивать заново. EB> Лениво разбираться, потому обращаюсь ко всезнающему сообществу: EB> поделиться примером для .emacs, где есть функция, которая производит EB> преобразование выделенного фрагмента. EB> Например я написал следующее: EB> Yfghbvth z yfgbcfk cktle.ott: EB> Две вышеупомянутые фразы одно и то же, но во втором случае я не сменил EB> регистр. (defun my-latcyr-recode () "Преобразование ASDF-ФЫВА в выделенном тексте, или в слове под курсором" (interactive) (let (text (bounds (if (region-exists-p) (cons (region-beginning)(region-end)) (bounds-of-thing-at-point 'word)))) (when bounds (setq text (buffer-string (car bounds)(cdr bounds))) (delete-region (car bounds)(cdr bounds)) (insert-string (concat (mapcar (lambda (char) (or (car (quail-lookup-key (string char))) char)) text)))))) Правда, это для XEmacs. Roman ... Широко известный в узких кругах. --- GoldED+/LNX 1.1.5 |
#2
|
|||
|
|||
Вопрос про рус<->лат в emacs, но не про переключалку :)
Evgenij M. Baldin написал(а) к All в Dec 02 08:58:56 по местному времени:
From: "Evgenij M. Baldin" <baldin@Slon.inp.nsk.su> Добрый день Довольно часто что-нибудь пишешь и обнаруживаешь, что забыл переключить регистр, приходится перебивать заново. Лениво разбираться, потому обращаюсь ко всезнающему сообществу: поделиться примером для .emacs, где есть функция, которая производит преобразование выделенного фрагмента. Например я написал следующее: Yfghbvth z yfgbcfk cktle.ott: Две вышеупомянутые фразы одно и то же, но во втором случае я не сменил регистр. С уважением Евгений -- Budker Institute of Nuclear Physics e-mail: E.M.Baldin@inp.nsk.su WWW: http://www.inp.nsk.su/~baldin --- ifmail v.2.15dev5 |
#3
|
|||
|
|||
Re: Вопрос про рус<->лат в emacs, но не про переключалку :)
Aleksandr Skobelev написал(а) к Evgenij M. Baldin в Dec 02 13:38:08 по местному времени:
From: Aleksandr Skobelev <asko@spbtlg.ru> "Evgenij M. Baldin" <baldin@Slon.inp.nsk.su> writes: EMB> Добрый день EMB> Довольно часто что-нибудь пишешь и обнаруживаешь, что забыл EMB> переключить регистр, приходится перебивать заново. EMB> Лениво разбираться, потому обращаюсь ко всезнающему сообществу: EMB> поделиться примером для .emacs, где есть функция, которая производит EMB> преобразование выделенного фрагмента. EMB> Например я написал следующее: EMB> Yfghbvth z yfgbcfk cktle.ott: EMB> Две вышеупомянутые фразы одно и то же, но во втором случае я не сменил EMB> регистр. Вообще-то мне казалось, что такая функция где-то есть. Когда-то вроде в году 97 что-то такое я читал. Но когда не так давно начал её искать то так найти и не смог, потому плюнул и быстренько навалял следующее. (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 . ?Н) (?U . ?Г) (?I . ?Ш) (?O . ?Щ) (?P . ?З) (?{ . ?Х) (?} . ?Ъ) (?A . ?Ф) (?S . ?Ы) (?D . ?В) (?F . ?А) (?G . ?П) (?Н . ?Р) (?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 |
#4
|
|||
|
|||
Re: Вопрос про рус<->лат в emacs, но не про переключалку :)
Evgenij M. Baldin написал(а) к Roman Lagunov в Dec 02 14:53:40 по местному времени:
From: "Evgenij M. Baldin" <baldin@Slon.inp.nsk.su> Subject: Re: Вопрос про рус<->лат в emacs, но не про переключалку :) Добрый день Roman Lagunov <Roman.Lagunov@p101.f42.n450.z2.fidonet.org> wrote: > EB> Две вышеупомянутые фразы одно и то же, но во втором случае я не сменил > EB> регистр. Код пропущен > Правда, это для XEmacs. Для Gnu emacs не работает :( С уважением Евгений -- Budker Institute of Nuclear Physics e-mail: E.M.Baldin@inp.nsk.su WWW: http://www.inp.nsk.su/~baldin --- ifmail v.2.15dev5 |