Re: Emacs не получается три раскладки

2013-09-01 Пенетрантность Maksym Tiurin
mell...@openmailbox.org writes:

 Пытаюсь настроить в Emacs три раскладки. Переключение хочу по следующему
 принципу: англ/(рус/укр), т.е. английский/кириллица и если в кириллице,
 то две кириллиці между собой.

У меня используется cyrillic-ruskrainian input method.
Взят из пакета emacs в ALTLinux.

Это его описание
метод ввода `cyrillic-ruskrainian' предназначен для обладателей
русских клавиатур.  он совпадает с русским `ЙЦУКЕНГ', но в нем также
можно вводить украинские буквы, набирая после русской буквы еще один
знак, вот таким образом:

г ' - ╜
и ' - ╕
и  - ╖
э / - ╓

набрав постфикс еще раз, вы получите русскую букву + постфикс,
например, Э / / дает `Э/'.

Мне очень удобно.
-- 

With Best Regards, Maksym Tiurin
JID:mrko...@jabber.pibhe.com


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/m3mwnwc1m9@comp.bungarus.info



Re: Emacs не получается три раскладки

2013-09-01 Пенетрантность Andrey Rahmatullin
On Sun, Sep 01, 2013 at 12:50:06PM +0300, Maksym Tiurin wrote:
 можно вводить украинские буквы, набирая после русской буквы еще один
 знак, вот таким образом:
 
   г ' - ╜
   и ' - ╕
   и  - ╖
   э / - ╓
Так вот они какие, украинские буквы.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Emacs не получается три раскладки

2013-09-01 Пенетрантность Melleus
Andrey Rahmatullin w...@wrar.name writes:

 Так вот они какие, украинские буквы.

Та и я как-то к другим контурам привык: ҐґЄєІіЇї'.

Maksym Tiurin mrko...@bungarus.info writes:
 можно вводить украинские буквы, набирая после русской буквы еще один
 знак
Это неплохо, конечно, особенно - если нет других вариантов. Но когда
основной рабочий язык - украинский, как-то не очень удобно.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/8738pohai6.fsf@hornet.workgroup



Emacs не получается три раскладки

2013-08-27 Пенетрантность Melleus
Пытаюсь настроить в Emacs три раскладки. Переключение хочу по следующему
принципу: англ/(рус/укр), т.е. английский/кириллица и если в кириллице,
то две кириллиці между собой.
Придумал и поместил в .emacs такаую конструкцию:

(defun toggle-alternative-input-method()
Toggles between russian and ukrainian input methods
(interactive)
  (if (eq current-input-method 'ukrainian-computer)
  (activate-input-method 'russian-computer)
(if (eq current-input-method 'russian-computer)
(activate-input-method 'ukrainian-computer)) 
 ))
(global-set-key \C-x\\ 'toggle-alternative-input-method)

Не работает. Лисп я еще не изучил, думаю что что-то сделал не так. Что?
Спасибо заранее.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87zjs3ty7i.fsf@hornet.workgroup



Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Evgeny M. Zubok
Melleus mell...@openmailbox.org writes:

 (defun toggle-alternative-input-method()
 Toggles between russian and ukrainian input methods
 (interactive)
   (if (eq current-input-method 'ukrainian-computer)
 (activate-input-method 'russian-computer)
   (if (eq current-input-method 'russian-computer)
   (activate-input-method 'ukrainian-computer)) 
  ))
 (global-set-key \C-x\\ 'toggle-alternative-input-method)

Так надо:

(if (equal current-input-method ukrainian-computer)

(if (equal current-input-method russian-computer)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87txibdmqy@tochka.ru



Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Melleus
То что доктор прописал! Все заработало именно так как
задумано. Огромное спасибо! Вот уж не думал, что когда-нибудь Лисп мне
прийдется осваивать.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87vc2rdl8i.fsf@hornet.workgroup



Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Dmitry Statyvka
 Melleus  writes:

 M Пытаюсь настроить в Emacs три раскладки. Переключение хочу по
 M следующему принципу: англ/(рус/укр), т.е. английский/кириллица и
 M если в кириллице, то две кириллиці между собой.

 M Придумал и поместил в .emacs такаую конструкцию:

 M (defun toggle-alternative-input-method()
 M Toggles between russian and ukrainian input methods
 M (interactive)
 M   (if (eq current-input-method 'ukrainian-computer)
 M   (activate-input-method 'russian-computer)
 M (if (eq current-input-method 'russian-computer)
 M (activate-input-method 'ukrainian-computer)) 
 M  ))
 M (global-set-key \C-x\\ 'toggle-alternative-input-method)

 M Не работает.

current-input-method имеет значением строку, поэтому сравнение с помощью
EQ с символом всегда будет ложно.  Следует заменить выражения вида
 (eq current-input-method 'ukrainian-computer)
на
 (string= current-input-method ukrainian-computer)

ну, и если поправить ошибки в логике, то требуемого можно достичь,
например таким образом:

 (defun toggle-alternative-input-method()
   Toggles between russian and ukrainian input methods
   (interactive)
   (cond
((or (null current-input-method)
   (string= current-input-method ukrainian-computer))
 (activate-input-method 'russian-computer))
((string= current-input-method russian-computer)
 (activate-input-method 'ukrainian-computer

Хочу только заметить, что деактивирован input-method такой функцией быть
не может.  т.е. из группы (рус/укр) в англ не переключиться никак.

Тоже пользуюсь емаксовой переключалкой, привык к переключению по C-\ и
C-u C-\ в случаях, когда нужно выбрать другой, отличный от
использованного последним input-method.

-- 
Dmitry Statyvka


Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Andrey Rahmatullin
On Tue, Aug 27, 2013 at 09:47:25PM +0300, Melleus wrote:
 Вот уж не думал, что когда-нибудь Лисп мне прийдется осваивать.
Вы ж емакс поставили.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Evgeny M. Zubok
Dmitry Statyvka dmi...@statyvka.org.ua writes:

 (defun toggle-alternative-input-method()
   Toggles between russian and ukrainian input methods
   (interactive)
   (cond
((or (null current-input-method)
  (string= current-input-method ukrainian-computer))
 (activate-input-method 'russian-computer))
((string= current-input-method russian-computer)
 (activate-input-method 'ukrainian-computer

 Хочу только заметить, что деактивирован input-method такой функцией быть
 не может.  т.е. из группы (рус/укр) в англ не переключиться никак.

C-\ - переключение из ENG в последнюю кириллистическую и обратно.
С-x \ - переключение РУС/УКР.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ppszdk94@tochka.ru



Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Melleus
Evgeny M. Zubok evgeny.zu...@tochka.ru writes:

 C-\ - переключение из ENG в последнюю кириллистическую и обратно.
 С-x \ - переключение РУС/УКР.

Именно так было задумано и могу подтвердить, что все благополучно
работает. Меньше кода - меньше вероятности ошибиться. Вон я в одной
функции сколько ошибок налепил.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ob8iewzd.fsf@hornet.workgroup



Re: Emacs не получается три раскладки

2013-08-27 Пенетрантность Dmitry Statyvka
 Melleus  writes:

 M Evgeny M. Zubok evgeny.zu...@tochka.ru writes:

[...]

 M Меньше кода - меньше вероятности ошибиться. Вон я в одной функции
 M сколько ошибок налепил.

Если меньше кода, то советую попробовать как-то так:

 (global-set-key (kbd C-0) (lambda () 
 (interactive)
 (activate-input-method nil)))
 (global-set-key (kbd C-9) (lambda ()
 (interactive)
 (activate-input-method 'russian-computer)))
 (global-set-key (kbd C-8) (lambda ()
 (interactive)
 (activate-input-method 'ukrainian-computer)))

Заодно без режимов.  Только сочетания клавиш удобные подобрать надо.

-- 
Dmitry Statyvka


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87li3mkhc9@black.statyvka.org.ua