Emacs keymap

18 August 2009 #emacs #tips

В иксах для упрощения работы с Emacs часто меняют клавиши CapsLock и Ctrl местами. А что делать в обычной консоли?? Где даже переключение раскладки до сих пор висит на неудобных Ctrl или Alt или сочетаний из этих клавиш???

Что делать, что делать… Менять keymap под себя! Что я собственно и сделал сегодня.

За основу взял файл ruwin_alt-UTF-8.map, в котором переключение идет по правому альту и начал менять. В итоге CapsLock теперь работает как Ctrl, переключение раскладки перенес на свою клавишу Eject (у меня apple aluminium keyboard, на которой очень много дополнительных функциональных клавиш, одна из которых выброс дверцы CD). Клавиша находиться в верхней части клавиатуры и для переключения языка теперь нужно тянуться, случайно переключить нельзя. А когда работаешь в Emacs клавиша не мешает работать…

Краткую инструкцию я описал в заголовке файла (прочитать и изменять файл можно после его разархивации). Что менять и на какие значения. Пробовал ради эксперимента повесить переключение раскладки на CapsLock (код клавиши 58), работает замечательно! Может кому понадобиться.

То есть теперь открывается полный простор для творчества! Какие клавиши, для чего использовать и все в консоли…

А пока дорабатываю keymap для своей клавы, на которой много дополнительных клавиш и совершенно нет некоторых стандартных, типа Insert, Break и т.п.

В Archlinux для использования данного файла необходимо его поместить в /usr/share/kbd/keymaps/i386/qwerty/ и затем прописать в файл /etc/rc.conf следующее:

KEYMAP="juev_emacs"
CONSOLEFONT=ter-u16b
CONSOLEMAP=

После перезагрузки подхватиться новая раскладка, шрифт можно использовать по своему усмотрению. Для того, чтобы применить ее без перезагрузки, нужно дать команду:

$ sudo loadkeys /usr/share/kbd/keymaps/i386/qwerty/juev.emacs.map.gz

Можно загрузить и без копирования файла в систему, при этом нужно воспользоваться указанием имени файла при нахождении в каталоге с этим файлом.

Скачать файл: juev_emacs.map.gz

Пишите, какие еще функции вы хотели бы видеть в вашей консольной раскладке, а я попробую это реализовать.