[sisyphus] емакс

Ivan Zakharyaschev =?iso-8859-1?q?imz_=CE=C1_altlinux=2Eru?=
Ср Апр 17 22:12:46 MSD 2002


	Hello!

On Wed, 17 Apr 2002, Max A Mazin wrote:

> В Мастере стоит емакс 21, и это хорошо, но стандартные "шорткаты" на
> часто
> используемые действия почему-то не работают, а это плохо. В частности

Надеюсь, сделанное Вами обобщение всё-таки неверно.

> не
> работают Ctrl-space -> Ctrl-w | Meta-w. Что самое интересное, в

Согласен, это плохо. Этот случай частный. Объясняется это, во-первых,
плохой совместимостью в принципе pc-selection-mode и обычного для Emacs
режима работы с выделенными областями, а во-вторых, кривизной реализации
pc-selection-mode (это уже исправляется в CVS GNU Emacs). Несмотря на
это, pc-selection-mode у нас включен по умолчанию -- согласитесь, многим
он привычнее и позволит им несильно пугаться Emacs при первой встрече.

> "неиксовой"
> версии все очень даже хорошо работает.

mark-even-if-inactive отключается в
/etc/emacs/site-start.d/10selection.el только для X.

> Кто-нибудь может посоветовать как быть и что делать? Ибо это одни из
> самых
> активно используемых в работе шорткатов.

Можно включить mark-even-if-inactive (это решение, но оно имеет
недостаток, заключающийся в том, что вопреки включенному
transient-mark-mode, выделяемая область не будет подсвечена). Можно не
включать pc-selection-mode (из-за упомянутой кривизны, лучше убрать его
из /etc/emacs/site-start.d/10selection.el). Можно пользоваться
комбинациями pc-selection-mode.


В будущих сборках emacs надо попытаться разрешить противоречие между
pc-selection-mode и традиционными режимом лучшим образом, чем это
сделано сейчас. (Противоречие таоке: с одной стороны, желательно, чтобы
комбинации из pc-selection-mode работали только с выделенной и в данный
момент подсвеченной областью -- поэтому сейчас и выключено
mark-even-if-inactive -- и чтобы выделение и подсветка снималось
простыми передвижениями курсора без Shift, а, с другой стороны, для
традиционных комбинаций надо, чтобы отметка не деактивировалась простыми
передвижениями.)

Первым шагом будет обновление pc-select.el -- тогда каждый сможет
отключить pc-selection-mode локально (в .emacs или в отдельной сессии
или буфере). Вторым шагом могло бы быть навешивание на C-space особого
действия, которое бы отключало pc-selection-поведение до следующего
действия с выделенной областью (типа kill) либо (??) на всю оставшуюся
сессию редактирования (раз человек стал пользоваться C-space -- то ему
не нужен pc-selection-mode). Стоит ли делать второй шаг? Может, хватит
возможности отключить в .emacs?

Best regards,
Ivan Z.





Подробная информация о списке рассылки Sisyphus