2013-04-07 11 views
6

Powiedz, że mam jakąś funkcję interaktywną w Emacs my-function, w jaki sposób mogę powiązać ją z Ctrl + RET?Powiąż polecenie C-RET w Emacs

Próbowałem z:

(global-set-key (kbd "C-RET") 'my-function) 

i

(global-set-key (kbd "C-return") 'my-function) 

ale żaden z nich nie wydają się działać. czy to w ogóle możliwe?

Odpowiedz

15

Zawsze należy pamiętać, że kbd bardzo dogodnie przyjmuje dokładnie taką samą składnię, że Emacs daje Ci kiedy pytasz go o sekwencji klawiszy, dzięki czemu nigdy nie trzeba odgadnąć.

ChkC-RET mówi mi:

<C-return> 

więc użyłbym (kbd "<C-return>")

OTOH, gdy uruchomiony Emacs w moim terminalu ChkC-RET mówi mi:

C-j 

ponieważ C-RET nie jest prawidłowy znak kontrolny w terminalu, a więc Emacs nie odbiera to samo wejście, że robi się w trybie graficznym (więc nie będzie w stanie wykorzystać, że wiązanie w moim terminal).

+0

Dziękuję za wyjaśnienie. Metoda ogólnie pomogła mi wymyślić skomplikowaną składnię. –

1

To powinno działać:

(global-set-key [(control return)] 'my-function) 

To działa dla mnie, ale może nie w terminalu, jak na odpowiedź @ phils męska.