12

在迁移到win7 paredit's forward slurp "C-)" 不再有效并且 "C-right arrow" 仍然有效后,将 重新绑定sexp到不同的组合(例如 C-0)也有效。
有没有人有同样的问题?

4

3 回答 3

6

Windows 7 使用 Ctrl + Shift 来切换语言,因此 Emacs 永远不会得到击键。您可以使用以下内容更改绑定:

  • 控制面板
  • 地区和语言
  • 键盘和语言
  • 更换键盘
  • 高级按键设置
  • 输入语言之间
  • 更改键序列
  • 切换键盘布局
  • 未分配。

http://www.eightforums.com/general-support/22552-cant-use-ctrl-shift-0-windows-has.html

于 2016-03-14T16:24:48.487 回答
1

如果您有不止一种输入语言,它会在 Windows 7 上发生。Ctrl-Shift-0, Ctrl-Shift-1, ... 用于快速切换输入语言。似乎无法修复,因为 Windows 会拦截某些组合键(例如 Win-E、Win-D 等)并且不会将其传递给应用程序。可能更糟的是,英特尔 GMA 驱动程序不允许您在 Win XP 上使用 Ctrl-Alt-Up/Down。

只需在 Emacs 中使用另一个快捷方式(或者您可以尝试使用 Sharpkeys 等工具重新映射键)。

于 2012-05-20T18:43:01.183 回答
1

Paredit 版本我已将 forward slurp 命令绑定到<C-right>C-). 我可以验证后一个密钥是否被操作系统使用,在我的情况下是 MS Windows 8,因此 Emacs 无法接收该密钥。因此,您可能希望改用<C-right>该键,但是由于该键(以及<C-left>绑定到另一个 paredit 命令的键)通常用于移动(在 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)
于 2014-07-16T14:15:43.447 回答