[sisyphus] emacs selection in console
Sergey Bolshakov
=?iso-8859-1?q?s=2Ebolshakov_=CE=C1_belcaf=2Ecom?=
Пт Фев 15 18:41:56 MSK 2002
## On Fri, 15 Feb 2002 18:14:15 +0300
## you wrote:
SV> On Fri, 15 Feb 2002 11:07:32 +0300 (MSK)
SV> Ivan Zakharyaschev <imz на altlinux.ru> wrote:
>> On Thu, 14 Feb 2002, Vyt wrote:
>>
>> > на русской раскладке. Подскажите, пожалуйста, как включить
>> > выделение shift+стрелки, копирование и вставку по ctrl+ins,
>> > shift+ins в консольном emacs?
>>
>> У меня это осталось в TODO, сходу это сделать не получилось.
>>
>> Hint: можно пользоваться стандартными командами (и связанными с ними
>> клавишами) для работы с выделениями в консольном emacs.
>>
>> Легкому включению PC-стиля для манипуляции выделениями в консоли мешают
>> разные вещи. Во-первых, там некоторые названия клавиш другие в
>> комбинациях. Во-вторых, возможно, что раскладки из console-tools
>> недостаточно для этого приспособлены (чтобы отличать все требуемые
>> состояния клавиатуры). (Посмотреть на то, какие события получает emacs в
>> консоли при нажатии клавиш, можно по C-h k.)
SV> Однозначно не приспособлены - Shift там игнорируется. Я пробовал
SV> сделать раскладку, в которой были бы отдельные коды для
SV> Shift+стрелок, это даже частично работало. Проблема в том, что
SV> после этого такое выделение перестает работать в редакторе mc
SV> :-(__
У меня так сделано:
В .xemacs/init.el (да, у меня xemacs)
--%<--
(defmacro TTYlaunch (&rest x) (list 'if (eq (console-type) 'tty)(cons 'progn x)))
(TTYlaunch
(define-key function-key-map "\033[35~" [paste-selection])
(define-key function-key-map "\033[36~" [copy-selection])
(define-key function-key-map "\033[37~" [kill-selection])
(define-key function-key-map "\033[40~" [buffer-prev-in-group])
(define-key function-key-map "\033[41~" [buffer-prev])
(define-key function-key-map "\033[42~" [buffer-next-in-group])
(define-key function-key-map "\033[43~" [buffer-next])
(define-key function-key-map "\033[44~" [undo])
)
--%<--
Затем изобразить в консольной раскладе нечто вроде (эта часть у меня дома :):
--%<--
control keycode 111 F23 # kill-selection
string F21 "\033[37~" # kill-selection
и т.д.
--%<--
--
Трули ерз, Сергей.
"[Open Source] programming is like sex, one mistake and you have to support it
for the rest of your life." --- M. Sinz, CBM Inc.
Подробная информация о списке рассылки Sisyphus