「已解决」为什么设置的键绑定不起作用?

想试试 chinese-pyim, 加上 chinese layer 后在 dotspacemacs/user-config 里面设置了键绑定如下: (global-set-key (kbd "C-\\") 'toggle-input-method) 但是不知道为什么按 C-\ 不能切换输入法,在 M-x 里面能够使用 toggle-input-method 切换,而且显示已经绑定了键 C-\ ,为什么直接使用 C-\ 不能工作?

检查一下是否被其它快捷键覆盖了

可以确定没有其他键覆盖

不过我发现好像是我的 spacemacs 不识别 C-\ 这个键,在下面这个 Describe key 和 界面中,按 C-\ 都不起作用,但是像 C-/ 或者C-S-\ 都是可以的,难道 spacemacs 的 C-\ 的按法不是按着 Ctrl 不放再按 \ 吗?

我也有类似的问题:C_i 明明已经设置了,但是执行的还是TAB的内容。

你直接使用 M-x toggle-input-method 也不能工作么? 如果也不能工作,那就不是快捷键绑定的问题了,你要检查一下其它的地方。

我也有类似问题,所以我把toggle-input-method一部分拿过来改了用。目测是default-input-method这个变量出了问题。

查一下是哪个major/minor mode覆盖了键位,然后define-key '**-map (kbd "a") nil,另外注意比如tab和ret这种,要把(kbd "tab")(kbd "<TAB>")都解绑,我被坑了好几回。。(可以SPC h d K看下这个keymap里两个tab是不是都解绑了)

不只是“执行的是tab的内容”的问题啊,如果键位被覆盖了那只是C-i被绑定到了非evil-jump-backward的命令上,但是恐怖之处在于C-h k C-i,它会告诉你你输入了一个tab。。
我为了找evil-jump-backward搜了一下配置文件(/C-i),发现spacemacs是提供这个配置的,并不是一个惊天大bug:dotspacemacs-distinguish-gui-tab:sweat::sweat::sweat:

看看是不是快捷键被其它软件占用了。比如windows下QQ就会占用alt+w,非常霸道,其它任何软件都无法再使用alt+w键了

直接M-x toggle-input-method 是可以工作的,我现在把键绑定改成了 C-S-\ 也可以正常工作了,就是还是不知道 C-\ 被什么覆盖了,到处看的都是 toggle-input-method。

找到原因了,KeePass 把 C-| 设置成自动填写了