2011-10-24 2 views
3

나는 이맥스 (23)에 대한 설치 멀티 용어에 노력하고있어,하지만 내가 본 모든 웹 사이트가 추천하는바인딩 해제 이맥스 키는 23

(setq term-unbind-key-list '("C-z" "C-x" "C-c" "C-h" "C-y")) 

라인 바인딩 키 제거하기 충돌은 작동하지 않습니다 .- 예를 들어 맨 페이지에서 Cz을 사용할 수 없습니다. emacs 23에서 뭔가 변경 되었습니까? 어떻게 제대로 바인딩을 해제합니까?

답변

3

변수 term-unbind-key-list은 키 맵 term-raw-map의 바인딩에만 영향을줍니다. (이 정보는 변수 자체를 사용할 수없는 이유는 ... 아무 생각) 당신은 기능 multi-term-keystroke-setup에 대한 설명서를 보면 '용어 - 문자 모드'의

키 입력 설정을이를 찾을 수 있습니다.

기본적으로 term-char-mode' conflict with user's keystroke. So this function unbinds some keys with term-raw-map '및 의 키 바인딩은`term-raw-map'으로 일부 키 입력을 바인드합니다.

은 그래서 ... 아마 C-Z은 여전히 ​​이맥스는 기본적으로 무엇이다 suspend-frame B/C에 바인딩됩니다.

당신이 Cz에이 터미널 (suspend-job)에 일반적으로 무엇인지에 바인딩하려는 경우, 당신은이 작업을 수행 할 수 있습니다

바인딩 무엇을 (내가 추측하고있어)를 만드는
(require 'multi-term) 
(add-to-list 'term-bind-key-alist '("C-z" . term-stop-subjob)) 

당신은 필요.

+0

감사합니다. 이것은 매우 도움이됩니다. 'term-unbind-key-list'와'term-bind-keyalist'리스트가'character mode','line mode' 또는 둘 다에 대한 행동을 정의하는지 알고 있습니까? 내가 묻는 이유는 내가 Emacs의 터미널에있는 동안 두 개의 다른 키보드 단축키 사이를 전환 할 수있는 능력을 좋아하기 때문이다. 예를 들어, 한 모드에서'C-n '은 일반 Emacs에서와 같이 버퍼의 이전 행으로 이동하고 다른'C-n '은 터미널로 전송됩니다. 이 목록을 사용하는 다중 용어로 가능합니까? –