2012-03-09 3 views
2

Я хочу, чтобы связатьEmacs: как мне привязываться к M-s?

(defun switch-to-next-frame() 
    "Select the next frame on current display, and raise it." 
    (interactive) 
    (other-frame 1) 
) 

к M-s в Emacs? Я пробовал:

(global-unset-key "\M-s") 

но не работает. Проблема в том, что M-s является префиксным ключом.

Edit 2:

Я сделал себе очень неясными. Я хотел связать с switch-to-next-frame до M-s. Я пробовал:

(global-set-key (kbd "M-s") 'switch-to-next-frame) 

это не сработало: Emacs делает M-s- когда я отжимало M-s. Я думал - проблема заключалась в том, что M-s является префиксным ключом. Я устал отвязывать его, но это не сработало. Затем я пришел сюда и задал этот вопрос. Как я узнал позже - проблема была в моем .emacs - когда я прокомментировал icicles, все началось, как и ожидалось.

Edit 3:

На самом деле Dired это действительно используя M-s ключ префикс:

M-s a   Prefix Command 
M-s f   Prefix Command 
M-s f C-s  dired-isearch-filenames 
M-s f ESC  Prefix Command 
M-s a C-s  dired-do-isearch 
M-s a ESC  Prefix Command 
M-s f C-M-s  dired-isearch-filenames-regexp 
M-s a C-M-s  dired-do-isearch-regexp 

Так связывание с М-х это действительно плохая идея.

+0

Разве это не очевидно из названия, что 'глобального незадана-key' отвязывается ключ? – suvayu

+0

FWIW Я использую 'M-t' для переключения между окнами. – kindahero

+0

Wrt [Icicles] (http://www.emacswiki.org/Icicles), все, что вам нужно сделать, это настроить параметр« icicle-search-key-prefix ». По умолчанию * это 'M-s M-s'. – Drew

ответ

1

должно работать:

(global-set-key [(meta s)] 'switch-to-next-frame) 
+1

Я думаю, что лучше использовать макрос kbd. Это гораздо более читаемо: '(глобальный-set-key (kbd« M-s ») 'switch-to-next-frame)' – Tom

+3

@ Конечно, вы шутите. Вы можете использовать для чтения формата kbd, но векторный формат более читабельен. –

+1

Часть «Ms» - это тот же формат, который печатает Emacs при использовании Ch k и т. Д., Поэтому вы можете использовать один и тот же формат в привязках клавиш, вам не нужно писать [(meta s)] – Tom

Смежные вопросы