xterm이 Alt 키를 emacs에 Meta로 보내도록 만드는 방법은 무엇입니까?


9

나는이 질문이 여러 요청 된 것을 본다 . 여기에 제공된 솔루션이 내 설정에 적용되지 않는 것 같습니다. 내 이야기는 다음과 같습니다.

나는 xmonad와 함께 우분투 12.0.04 LTS를 사용하고 (그놈이 아닌) xterm을 내 작업에 사용합니다. 다른 터미널이나 emacs 자체 창보다는 xterm을 사용하는 것을 선호합니다. emacs -nw를 사용하면 Alt가 인식되지 않습니다. Alt가 실제로 생성되고 있음을 xev를 사용하여 확인했습니다. 또한 rxvt를 사용하는 경우 Alt가 emacs -nw에 의해 인식되고 있음을 알 수 있습니다. 나는 악의적 인 모드 (오래 오랜 vim 사용자 및 emacs newbee)를 사용하고 있으며, 이스케이프 키를 alt (다른 스레드에서 제공된 솔루션)로 리바운드하지 않는 것이 좋습니다. 어떻게해야합니까? 도움이된다면 emacs를 실행하지 않고 xterm 창에서 Alt-x가 "ø"를 생성하거나 실행하면 emacs -nw -Q.


내가 실수하지 않으면 Alt 대신 M을 읽습니다.
Braiam

이해하지 못했습니다. 메타가 아니라 M을 의미합니까? 왜 그런 말을 해?
rahul

이맥스 메타 키. Mx를 누를 수 없습니까?
Braiam

아, 그건 내 문제 야 Alt-x가 Mx를 생성 할 것으로 예상했지만 (그래픽 모드에서와 같이) xterm에서는 그렇게하지 않습니다. 대신 (ø)
rahul을

답변:


13

Arch Wiki 에서 알 수 있듯이 Xterm이 올바른 이스케이프 된 키를 프로그램에 보내도록해야합니다.

Alt키보드 단축키에 키를 사용하는 경우 리소스 파일에이 키가 필요합니다.

XTerm*metaSendsEscape: true

그래서, 그냥하십시오 :

echo 'XTerm*metaSendsEscape: true' >> ~/.Xresources

그리고 Xterm 세션을 다시 시작하십시오.


고마워요. Alt가 지금 이스케이프를 보내면 xterm은 어떻게 이스케이프를 처리합니까? (탈출도 가능하고 이해가 필요합니다.)
rahul

@rahul "Esc"이스케이프라고 말하지 않았지만 "^ M"키를 이스케이프 처리했습니다
Braiam

4
세션을 다시 시작하는 대신 실행할 수도 있습니다xrdb -merge ~/.Xresources
Christian Fritz


1

명령 행 옵션 으로 자원 문자열을 직접 제공 하여 .Xdefaults/ .Xresources파일 을 관리하는 흥미로운 대안이 xterm있습니다.

xterm -xrm 'xterm*VT100.metaSendsEscape: true'

예를 들어 x-terminal-emulator어쨌든 사용자 지정 별칭이있는 경우 편리 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.