2012-02-05 5 views
10

현재 새 키보드 레이아웃 인 bépo, 즉 dvorak에 해당하는 거의 모든 Emacs 바인딩을 리 바인드하고 있습니다."^"와 같은 데드 키 매핑

^ 키 매핑에 문제가 있습니다. ^ 키는 죽은 키이지만 중요한 수준이 아닙니다.

C-^으로 매핑하고 싶지만 현재 작동하지 않습니다. "dead-circumflex"와 "circumflex"는 두 개의 다른 키이기 때문입니다.

내가 할 경우

<C-dead-circumflex> is undefined 

우리는 증거 이맥스 죽은-회선을 볼 수 있습니다

(global-set-key "C-^" 'next-line) 

그런 다음, "^"키와 컨트롤 키를 누르면 다음을 수행합니다. 하지만 여전히지도를 관리 할 수는 없습니다.

은 내가

(global-set-key "^" 'next-line) 

을 할 수 있다는 것을 알고, 그것을 두 번 ^을 눌러 작동합니다,하지만 내가 찾고 있어요 해결 방법이 아니다.

+0

사용중인 OS 및 GUI는 무엇입니까? (예 : Windows 7, OSX/Aqua, FreeBSD/KDE 등) – Gilles

+0

gnome 2. Linux Mint 11을 사용하고 있습니다. Emacs 23.2.1을 사용합니다. –

답변

2

오류 메시지는 Emacs가 키에 사용하는 이름을 알려줍니다. 해당 문자열을 kbd 함수에 전달하여 바인딩 할 수 있습니다.

(global-set-key (kbd "<C-dead-circumflex>") 'next-line) 
+0

그런데 각 죽은 키를 수동으로 찾아 바인딩해야합니다. Lars의 솔루션은 자동으로 모든 것을 한 줄로 설정합니다. –

3

나는 단지 터미널에서가 아니라 이맥스 GUI를 사용할 때만 동일한 성가신 오류가있었습니다. 제안 된 솔루션의 문제점은 ^가 작동하지 않는 유일한 문자가 아니라는 것입니다. 나를 위해서 그것은 적어도 "and"이었다.

이 스레드에서 : https://bugzilla.redhat.com/show_bug.cgi?id=918740 "@ im = ibus"에서 XMODIFIERS를 변경하면 문제가 해결 된 것으로 나타났습니다. 검색하는 동안 어디 세트가 나는 다음과 같은 문제를 통해 stubled XMODIFIERS : https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944 그것은 밝혀 그 제거하여 ~ /의 .config/ibus이 문제가 아니라 죽은 키

rm -rf ~/.config/ibus/bus 
3

추가로 이맥스에서 문제를 해결 해결/버스 당신의 ~/.emacs에 다음

(require 'iso-transl) 

이 정의되지 않은 dead keys와 함께 문제의 처리합니다.

+0

이것은 나에게 감사했다! (이것은 관리자 권한이없는 우분투 16.04에서 Emacs 24.5.1과 함께 사용됩니다) – jfbu