LINUX.ORG.RU

Несколько несложных вопросов по Емакс...


0

0

Пользуюсь ГНУ Емакс.
Как набрать комбинацию клавишъ "M-"?(проблема: в ней нет буквы поле тире;комб-я взята из доки)

Посоветуйте, где взять список незанятых комбинаций клавиш(может, в Емакс есть???). Что не возьму, то уже используеться...

Если Вам не трудно, помогите, пожалуйста:(код чужой, тоже для ГНУ Емакс) при запуске клиента Емакс должен открываться новый фрейм(окно),  но не открываеться...

(server-start)
(setq oldframe (selected-frame))
(defun my-client-start-hook ()
  (let* (
        (wd (- (frame-parameter nil 'width) 10))
        (hg (- (frame-parameter nil 'height) 5))
        (fn (frame-parameter nil 'font))
        (newframe (make-frame 
                   `((width . ,wd) 
                     (height . ,hg) 
                     (font . ,fn)))))
    (setq oldframe (selected-frame))
    (select-frame newframe)
    (setq server-window newframe))
  )

(defun my-client-done-hook ()
    (delete-frame (selected-frame))
    (select-frame oldframe)
    (setq server-window oldframe)
  )


anonymous

Re: Несколько несложных вопросов по Емакс...

> Как набрать комбинацию клавишъ "M-"?(проблема: в ней нет буквы поле тире;комб-я взята из доки)

Ссылку на доку, не может быть такой комбинации. Опечатались.

> Посоветуйте, где взять список незанятых комбинаций клавиш(может, в Емакс есть???). Что не возьму, то уже используеться...

Смотри в info emacs раздел Key Index -- там есть список всех комклавов. Так же, не забывай, что комклавы бывают локальными и глобальными, так что если клавиша свободна в каком-то одном режиме не означает, что она свободна в другом.

Выход -- определи свою префиксную комбинацию и исползуй ее. Еще можно использовать функциональные клавиши -- они по умолчанию также не заняты. Также, если функция специфична для определенного режима не следует вешать ее на глобальный комклав.

> Если Вам не трудно, помогите, пожалуйста

Ты определил хуки, но не добавил их куда надо.

(add-hook 'server-visit-hook 'my-client-start-hook)

(add-hook 'server-done-hook 'my-my-client-done-hook)

nsav-ng ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.