5

说我想重新绑定C-x 8 xξ. 所以我这样做:

(global-set-key (kbd "C-x 8 x") (lambda () (interactive) (insert "ξ")))

但它不起作用:它仍然插入默认的 x 符号。然后我尝试了两个:

(global-unset-key (kbd "C-x 8 x"))
(global-set-key (kbd "C-x 8 x") nil)

没有任何效果。

编辑

这是我现在为希腊人使用的:

(define-key 'iso-transl-ctl-x-8-map "a" [?α])
(define-key 'iso-transl-ctl-x-8-map "b" [?β])
(define-key 'iso-transl-ctl-x-8-map "g" [?γ])
(define-key 'iso-transl-ctl-x-8-map "d" [?δ])
(define-key 'iso-transl-ctl-x-8-map "e" [?ε])
(define-key 'iso-transl-ctl-x-8-map "z" [?ζ])
(define-key 'iso-transl-ctl-x-8-map "h" [?η])
(define-key 'iso-transl-ctl-x-8-map "o" [?θ])
(define-key 'iso-transl-ctl-x-8-map "i" [?ι])
(define-key 'iso-transl-ctl-x-8-map "k" [?κ])
(define-key 'iso-transl-ctl-x-8-map "l" [?λ])
(define-key 'iso-transl-ctl-x-8-map "m" [?μ])
(define-key 'iso-transl-ctl-x-8-map "n" [?ν])
(define-key 'iso-transl-ctl-x-8-map "x" [?ξ])
(define-key 'iso-transl-ctl-x-8-map "p" [?π])
(define-key 'iso-transl-ctl-x-8-map "r" [?ρ])
(define-key 'iso-transl-ctl-x-8-map "s" [?σ])
(define-key 'iso-transl-ctl-x-8-map (kbd "M-s") [?ς])
(define-key 'iso-transl-ctl-x-8-map "x" [?ξ])
(define-key 'iso-transl-ctl-x-8-map "t" [?τ])
(define-key 'iso-transl-ctl-x-8-map "y" [?υ])
(define-key 'iso-transl-ctl-x-8-map "f" [?φ])
(define-key 'iso-transl-ctl-x-8-map "v" [?χ])
(define-key 'iso-transl-ctl-x-8-map "j" [?ψ])
(define-key 'iso-transl-ctl-x-8-map "w" [?ω])
(define-key 'iso-transl-ctl-x-8-map "A" [?Α])
(define-key 'iso-transl-ctl-x-8-map "B" [?Β])
(define-key 'iso-transl-ctl-x-8-map "G" [?Γ])
(define-key 'iso-transl-ctl-x-8-map "D" [?Δ])
(define-key 'iso-transl-ctl-x-8-map "E" [?Ε])
(define-key 'iso-transl-ctl-x-8-map "Z" [?Ζ])
(define-key 'iso-transl-ctl-x-8-map "H" [?Η])
(define-key 'iso-transl-ctl-x-8-map "O" [?Θ])
(define-key 'iso-transl-ctl-x-8-map "I" [?Ι])
(define-key 'iso-transl-ctl-x-8-map "K" [?Κ])
(define-key 'iso-transl-ctl-x-8-map "L" [?Λ])
(define-key 'iso-transl-ctl-x-8-map "M" [?Μ])
(define-key 'iso-transl-ctl-x-8-map "N" [?Ν])
(define-key 'iso-transl-ctl-x-8-map "X" [?Ξ])
(define-key 'iso-transl-ctl-x-8-map "P" [?Π])
(define-key 'iso-transl-ctl-x-8-map "R" [?Ρ])
(define-key 'iso-transl-ctl-x-8-map "S" [?Σ])
(define-key 'iso-transl-ctl-x-8-map "T" [?Τ])
(define-key 'iso-transl-ctl-x-8-map "Y" [?Υ])
(define-key 'iso-transl-ctl-x-8-map "F" [?Φ])
(define-key 'iso-transl-ctl-x-8-map "V" [?Χ])
(define-key 'iso-transl-ctl-x-8-map "J" [?Ψ])
(define-key 'iso-transl-ctl-x-8-map "W" [?Ω])
4

2 回答 2

5

您必须将密钥设置为iso-transl-ctl-x-8-map. 如:

(eval-after-load 'iso-transl
  '(define-key iso-transl-ctl-x-8-map "x" "ξ"))

那是因为C-x 8实际上是在 中定义的key-translation-map,它覆盖了全局映射。

于 2012-09-08T15:24:17.460 回答
0

哦,我找到了另一种方法:

(define-key 'iso-transl-ctl-x-8-map "x" [?ξ])

参考

于 2012-09-08T16:36:15.630 回答