forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 30.04.2021, 21:48
Roman Lagunov
Guest
 
Сообщений: n/a
По умолчанию Вопрос про рус<->лат в 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  
Старый 30.04.2021, 21:56
Evgenij M. Baldin
Guest
 
Сообщений: n/a
По умолчанию Вопрос про рус<->лат в 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  
Старый 30.04.2021, 21:56
Aleksandr Skobelev
Guest
 
Сообщений: n/a
По умолчанию 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  
Старый 30.04.2021, 21:58
Evgenij M. Baldin
Guest
 
Сообщений: n/a
По умолчанию 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
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 09:30. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot