2012-01-07 3 views
1

내 이맥스 환경에서 탭 키에 Meta을 다시 바인딩하려고합니다. 주변을 둘러 보았지만 command 또는 option에 바인딩하는 것 외에는 찾을 수 없었습니다. 약간 더 좋지만 여전히 이상적은 아닙니다.emacs에서 tab 키를 meta로 매핑하는 방법이 있습니까?

+0

그것을 대신 TAB 키의 ESC 키를 사용하기위한 옵션이 될 것이다 :

당신이 CONTROL_R 및 사용에 OPTION_L을 변경, 비 ASCII 문자를 삽입하는 옵션을 사용하려면

? – Thomas

+0

@ 토마스, 나는 더 자연스러운 손 위치를 찾고 있었고 탈출은 나만큼 좋지 않았다. 이 대답을 얻은 후에 나는'command' 키를 ​​사용하여 정착했다. – dave

+0

내가 물었던 이유는 TAB이 종종 이맥스의 들여 쓰기에 사용되기 때문에, 당신이 들여 쓰기에 다른 키를 사용하는 것에 만족하지 않는다면, 그것을 다시 바인딩하는 것이 좋지 않을 수도 있습니다. – Thomas

답변

2

이맥스에서만이 작업을 수행 할 수 없으므로 창 시스템 (* nux, Mac, MS Windows)에서 키맵을 수정해야합니다. Mapping Caps Lock to Control from within Emacs on Windows, elisp how to check if Shift key is pressedCan I send a keypress to Windows from Emacs? :

은 추론에 대한 비슷한 질문을 참조하십시오.

당신 당신의 윈도우 시스템의 변화를 만들 수 있습니다 - 당신이 OS X를 사용하는 경우 있지만 그게 뭔지 알고하는 것이 도움이 될 것 ...

+0

Trey, Emacs의 번역 키맵을 사용하여 해킹 할 수 있는지 궁금합니다. 이견있는 사람? – Thomas

+0

@ 토마스 당신은 아마도 'Tab'을 접두사 키로 바꾸고 묻는 사람이 원하고있는 것에 가까워 질 수 있습니다.하지만 모든 다른 모드에서 다시 매핑해야합니다. –

+0

확실하지만 당신은 가질 수 있습니다. 모드의 키맵 위로 걸어서 자동으로 모든 것을 다시 매핑하는 모드 후크. – Thomas

1

, 당신은 KeyRemap4MacBook를 설치하고이 같은 private.xml을 사용할 수 있습니다 :

<?xml version="1.0"?> 
<root> 
    <appdef> 
    <appname>EMACS</appname> 
    <equal>org.gnu.Emacs</equal> 
    </appdef> 
    <item> 
    <name>tabtometa</name> 
    <identifier>tabtometa</identifier> 
    <only>EMACS</only> 
    <autogen>__KeyOverlaidModifier__ KeyCode::TAB, KeyCode::OPTION_L, KeyCode::TAB</autogen> 
    </item> 
</root> 

누르고있을 때 탭을 옵션으로 변경하지만 눌렀을 때 탭으로 유지합니다.

(setq ns-option-modifier 'nil) 
(setq ns-right-control-modifier 'meta) 
관련 문제