swizard (swizard) wrote,
swizard
swizard

Categories:

Emacs на nokia n900 tutorial

Сабжу весьма благоприятствуют два факта:
  1. maemo является полноценным линуксом
  2. n900 оснащается хардварной клавиатурой-слайдером

Разумеется, самое главное во втором пункте -- это наличие железной кнопки Ctrl =)

Итак, воспользуемся следующим туториалом одного нашего японского друга: link.

Продублирую его (на всякий случай) на русском.

  1. Скачиваем пакет на устройство отсюда или с моего зеркала.
  2. Под рутом выполняем dpkg -i emacs_23.1.1_armel.deb.
  3. Обновляем apt и доставляем недостающие пакеты: apt-get -f install

Далее, нам предстоит решить такую проблему: на клавиатуре телефона отсутствуют очень полезные для емакса кнопки Meta (Esc) и Tab. Наш верный японский соратник предлагает такую клавиатурную карту для English US: link или mirror.

На стандартном английском макете Meta в этой карте работает через Fn+left, а Tab через Fn+right. Лично для меня табуляция вышла очень удачной (не знаю даже, почему), а мета -- ну так, сойдет.

Инсталлируем карту так:

cp /usr/share/X11/xkb/symbols/nokia_vndr/rx-51 /usr/share/X11/xkb/symbols/nokia_vndr/rx-51.orig
cp rx-51.qole /usr/share/X11/xkb/symbols/nokia_nvdr/rx-51
setxkbmap

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

Японец предлагает поставить специальный мод maxframe.el (здесь mirror). С ним чето мутновато: сначала он у меня не сработал, а после порта моих .emacs.d и .emacs с десктопа, неожиданно заработал. Ладно, пусть его.

В .emacs maxframe.el активируется так:
(add-to-list 'load-path "/path/to/maxframe")
(require 'maxframe)
(add-hook 'window-setup-hook 'maximize-frame t)
(maximize-frame)

Теоретически, можно тащить настройки и все остальное с десктопа и использовать.

Но для моих нужд (у меня там схемка guile) мне потребовалось кое-что подпилить напильником.

Во-первых, на десктопе я олдфажно использую ctrl+ins / shift+ins для копипаста. На n900 таких кнопок нет, поэтому пришлось перевесить:

(global-set-key (kbd "C-c c") 'clipboard-kill-ring-save)
(global-set-key (kbd "C-c v") 'clipboard-yank)

Ничего, нормально.

Во-вторых, не вызывается экранная клавиатура и спец-клавиатура для символов (по Fn+Ctrl). По-большому счету, мне это нафиг не надо, поэтому я даже не заморачивался. Но пары символов критически не хватает: это угловые скобки < и >. Пришлось их вешать на емаксовые комбинации:

(defun insert-less-symbol ()
  (interactive)
  (insert "<"))

(defun insert-more-symbol ()
  (interactive)
  (insert ">"))

(global-set-key (kbd "C-c C-,") 'insert-less-symbol)
(global-set-key (kbd "C-c C-.") 'insert-more-symbol)


Ну и пока вроде все, IDE для scheme у меня построился отличный. Все остальное, как на десктопе: guile, quack.el и т.д.

Иногда ловлю себя на мысли, что не хватает кнопок home, end и page up/down, но пока еще нужда лень не победила.
Tags: emacs, guile, ide, lisp, maemo, n900, scheme, tutorial
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 16 comments