KDE에서 emacs 23.3을 사용할 때 독일어 키보드로 입력할 수 없습니다 ^
. 이 키를 누르면 emacs는 , 및 정의되지 않았다고 말합니다.´
~
<dead-circumflex>
<dead-acute>
<dead-tilde>
Konsole, Kwrite 및 firefox와 같은 다른 응용 프로그램에서 , 를 ^
입력 할 수 ´
있고 ~
emacs에 문자를 붙여넣을 수도 있습니다.
나는 시도했다Cx ret C-\latin-1-postfix를 입력하세요., 그러나 변화는 없습니다.
누구든지 이 문제를 해결하는 방법을 말해 줄 수 있나요?
답변1
이 문제의 원인이나 해결 방법을 모르지만 대부분의 경우 해결 방법을 제공할 수 있습니다.
일반적으로 데드 키는 Lisp에서도 볼 수 없는 매우 낮은 입력 수준에서 처리됩니다. 하지만 Lisp에서는 할 수 있습니다.
이러한 키가 데드 키로 작동하도록 하려면 다음을 수행하십시오.
Lisp에는 ASCII가 아닌 문자를 입력할 수 없는 시스템의 8비트 문자 집합용으로 설계된 데드 키에 대한 제한된 메커니즘이 이미 존재합니다. C-x 8
다음에 악센트와 문자를 입력하면 해당 악센트 문자가 삽입됩니다.iso-transl
도서관. 우리는 이 메커니즘을 복제할 수 있습니다. 이것을 당신의 .emacs
:
(define-key key-translation-map [dead-grave] (lookup-key key-translation-map "\C-x8`"))
(define-key key-translation-map [dead-acute] (lookup-key key-translation-map "\C-x8'"))
(define-key key-translation-map [dead-circumflex] (lookup-key key-translation-map "\C-x8^"))
(define-key key-translation-map [dead-diaeresis] (lookup-key key-translation-map "\C-x8\""))
(define-key key-translation-map [dead-tilde] (lookup-key key-translation-map "\C-x8~"))
(define-key isearch-mode-map [dead-grave] nil)
(define-key isearch-mode-map [dead-acute] nil)
(define-key isearch-mode-map [dead-circumflex] nil)
(define-key isearch-mode-map [dead-diaeresis] nil)
(define-key isearch-mode-map [dead-tilde] nil)
지도key-translation-map
입력하는 동안 키 시퀀스를 다시 작성하므로 이는 dead ` a대부분의 목적에 동일합니다. à항목을 명시적 isearch-mode-map
으로 설정하는 nil
것이 필요합니다. 그렇지 않으면 데드 키를 누르면 번역이 시작되기 전에 isearch가 종료됩니다.
악센트 문자를 즉시 삽입하고 싶은 경우
(define-key key-translation-map [dead-grave] "`")
(define-key key-translation-map [dead-acute] "'")
(define-key key-translation-map [dead-circumflex] "^")
(define-key key-translation-map [dead-diaeresis] "\"")
(define-key key-translation-map [dead-tilde] "~")
답변2
(require 'iso-transl)
파일에 추가해 보세요 .emacs
.
또한보십시오: