2012-06-23 3 views
1

안녕하세요, 저는 최근에 메타 키에 명령을 바인딩 할 때 이상한 문제가 발생했습니다. 이것은 오늘 일어나기 시작했고 나는 정말로 혼란 스럽습니다.메타 키에 단서를 바인딩 하시겠습니까?

제 바인딩 목록에 (define-key map (kbd "M-f") 'forward-char)과 같은 정의가 있고 Ctrl과 Hyper도 있지만 메타 결합으로 바인딩하려고하면 어떤 이유로 인해 실패합니다.

예를 들어 (define-key map (kbd "C-M-f") 'forward-word)은 다음과 같은 오류 메시지를 표시합니다.

Warning (initialization): An error occurred while loading '/home/flood/.emacs.d/init.el': error: Key sequence C-M-f starts with non-prefix key To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the '--debug-init' option to view a complete error backtrace.

로 시작하는 경우 --debug-init를 것이 도움이 아무것도 표시되지 않습니다. 누구나 이것이 정말 실망 스럽다는 생각을 갖고 있습니까?

답변

1

그래서 하루 몇 시간을 낭비하고 마침내 문제가 해결되었습니다. 그것은 이맥스 (emacs)와 관련된 버그 인 것 같습니다. 그러나 나중에 나는 더 이상의 테스트를하지 않을 것입니다.

이전에 C-[ 조합을 사용하는 명령을 포함했는데이 명령 뒤에는 메타가 포함 된 이후에 어떤 명령이든 C-M 또는 H-M이 유효하지 않다고 선언되었습니다. 오류가 나타날 때까지 명령을 옮겨야했습니다. 각각 또는 그 이전인지 여부에 관계없이 사라집니다.

누구든지 emacs 프로젝트에서 작업하고 있다면 이것을 조사하고 싶습니다. 시도해보십시오. 버그를 재현 할 수 없다면 저에게 문제가되는 샘플을 전달할 수 있습니다. 장래에 다른 사람을 돕기 위해 게시하는 주된 이유는 동일한 좌절감을 경험할 수 있습니다.

+5

혼란 스러울 지 모르지만 나는 이것이 버그라고 생각하지 않습니다. 'C- ['ASCII는'ESC'와 같은 문자이고, Emacs 매뉴얼은'ESC'를 접두어 키로 사용하여 메타 키 조합의 대체물로 사용할 수 있습니다. 이것은 ASCII 문자 이외의 키 이벤트를 보내지 않는 텍스트 전용 터미널에서 Emacs를 사용할 수있게합니다. Info 매뉴얼에서'(emacs) User Input'을 보라. –

+0

나는 그것을 보았다. :) 감사합니다. – rflood89