Paredit前啜“C-”“不适用于Windows 7上的emacs

时间:2012-05-17 22:03:12

标签: emacs paredit

迁移到win7 paredit的前啜“C-”后,“不再有效”,“C右箭头”仍然有效,将sexp重新绑定到其他组合(例如C-0)也适用 有谁有同样的问题吗?

3 个答案:

答案 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)