迁移到win7
paredit
的前啜“C-”后,“不再有效”,“C右箭头”仍然有效,将sexp
重新绑定到其他组合(例如C-0)也适用
有谁有同样的问题吗?
答案 0 :(得分:5)
Windows 7使用Ctrl + Shift切换语言,因此Emacs永远不会获得击键。您可以使用以下内容更改绑定:
http://www.eightforums.com/general-support/22552-cant-use-ctrl-shift-0-windows-has.html
答案 1 :(得分:1)
如果您有多种输入语言,它会在Windows 7上发生。 Ctrl-Shift-0,Ctrl-Shift-1,...用于快速切换输入语言。似乎是不可修复的,因为Windows拦截某些键组合(例如Win-E,Win-D等)并且不会将其传递给应用程序。更糟糕的是,英特尔GMA驱动程序不允许您在Win XP上使用Ctrl-Alt-Up / Down。
只需在Emacs中使用另一个快捷方式(或者您可以尝试使用Sharpkeys等工具重新映射密钥)。
答案 2 :(得分:1)
Paredit版本我将前向slurp命令绑定到<C-right>
和C-)
。我可以验证操作系统消耗后一个密钥,在我的情况下是MS Windows 8,因此Emacs无法接收该密钥。所以你可能想要使用<C-right>
,但是因为那个键(以及绑定到另一个paredit命令的<C-left>
)通常用于移动(在paredit之外),也许你可能想要使用你自己定制的不同密钥。我使用C-*
。以下是我使用的配置,您可以选择所需的部件。
(require 'paredit)
(define-key paredit-mode-map (kbd "C-*") 'paredit-forward-slurp-sexp)
;; Make the key no longer bound to paredit-forward-barf-sexp
(define-key paredit-mode-map (kbd "<C-left>") nil)
;; Make the key no longer bound to paredit-forward-slurp-sexp
(define-key paredit-mode-map (kbd "<C-right>") nil)
(define-key paredit-mode-map (kbd "<C-backspace>") 'paredit-backward-kill-word)