2012-10-17 3 views
1

GUI 모드에서 작동하는 일부 emacs 키보드 바인딩은 터미널 모드 because the terminal only knows how to send ASCII control codes에서 작동하지 않습니다. 내가 비 ASCII 컨트롤 코드에 키를 바인딩 할 때 이맥스가 불만을 토로 할 수있는 방법이 있습니까? 나는 가끔 단말에서 이맥을 만난다. 보통은 멀리 떨어져있을 뿐이다. 보통 무언가가 깨 졌기 때문에, 최악의시기에이 suckiness를 발견하게된다.emacs에서 터미널 모드로 작동하지 않는 블록 바인딩?

리모컨을 사용할 때, 특히 수정 자 키도 다시 매핑되는 경우 (예 : Solaris -> Linux)에는 리모컨을 사용할 때 경험이있었습니다 (esc < -> ctrl이 바뀌거나 right alt가 작동하지만 left alt doesn '티). 이 상황이 발생했을 때이를 감지하고 내 키보드 바인딩을 적절히 바꿀 수있는 방법이 있습니까?

기본적으로, 터미널에서 원격으로 이맥스를 사용할 때마다 GUI와 일관성없는 경험이 생기고, 이맥스 사용을 어떻게 막을 수 있는지 생각하면 안됩니다.

답변

1

좋은 방법은 모르겠다. 하나는 터미널에서 이스케이프 시퀀스를 통해 거의 모든 것을 인코딩 할 수 있기 때문에 터미널이 ASCII 제어 코드 만 보낼 수 있다는 사실이 아니다 (예 : xterm이 특수 이스케이프 예를 들어, CM-up을위한 시퀀스, Emacs가 인식 할 수있는 시퀀스). 따라서 터미널이 Emacs로 보낼 수있는 이벤트 세트 (그리고 Emacs가 인식 할 수있는 이벤트)에 따라 터미널에 따라 다릅니다.

정말로 안전하고 싶다면 키 시퀀스가 ​​문자열 (ASCII가 아닌 문자가 아닌 벡터가 아닌 kbd이 아닌)로 표시되는 바인딩으로 제한 할 수 있습니다. 기본적으로 ASCII 문자 (컨트롤 시퀀스 포함)와 결합 된 메타.

+0

원격으로 로그인하고 termal에서 emacs를 실행할 때 지원되는 기능과 지원되지 않는 기능을 파악할 수있는 방법이 있는지 알고 계십니까? 내가 원격 C -/예를 들어 작동하지 않습니다 (그것은 C와 동등한 것으로 간주 _ _)하지만 모든 내 지름길의 시행 착오 이외의 앞면을 감지하는 방법을 모르겠어요 그리고 만약 거기에 다시 매핑해야하는 바로 가기의 전체 목록을 찾으려면 적어도 필자의 원격 작업 설정을 위해 수정할 수 있습니다. –

+0

작동 여부를 확인하려면 사용중인 터미널 에뮬레이터를 알아 내고 설명서, 사용자 정의 및/또는 소스 코드를 확인해야합니다. 'C- /'는'M- : "\ C- /"RET "으로 위험하다는 것을 알 수 있습니다.이 문자열은 유효한 문자열이 아니며, ASCII 제어 키가 아닙니다. – Stefan

+0

아,이 문제를 해결할 수있는 emacs lisp + termcap 마법의 조합을 발견하기를 희망합니다. 내 자신을 굴릴 수도 있지만 현재 termcap에 대한 잭을 알고 있으므로 잠시 시간이 걸릴 것입니다. –

관련 문제