2016-12-05 4 views
2

Мой .spacemacs файл включает в себя раздел, который выглядит следующим образом:Spacemacs не регистрирующие сочетания клавиш

(defun dotspacemacs/user-config() 
    "Configuration function for user code. 
This function is called at the very end of Spacemacs initialization after 
layers configuration. 
This is the place where most of your configurations should be done. Unless it is 
explicitly specified that a variable should be set before a package is loaded, 
you should place your code here." 

;; Keybindings 
(global-unset-key [(control z)]) ;; unbind sleep button 
(global-unset-key [(control x)(control z)]) ;; unbind sleep button 
(global-unset-key [(control e)]) 
(global-unset-key [(control k)]) ;; unbind kill line 
(global-set-key [(control z)] 'undo) ;; set Windows-style undo 
(global-set-key [(control e)] 'View-scroll-half-page-backward) ;; remap page up 

;; Setting and showing the 80-character column width 
(set-fill-column 80) 
(auto-fill-mode t) 
(toggle-fill-column-indicator) 

(custom-set-variables 
    ;; custom-set-variables was added by Custom. 
    ;; If you edit it by hand, you could mess it up, so be careful. 
    ;; Your init file should contain only one such instance. 
    ;; If there is more than one, they won't work right. 
    '(paradox-github-token t)) 
(custom-set-faces 
    ;; custom-set-faces was added by Custom. 
    ;; If you edit it by hand, you could mess it up, so be careful. 
    ;; Your init file should contain only one such instance. 
    ;; If there is more than one, they won't work right. 
) 

) 

Я следовал синтаксису из этой статьи: https://github.com/andrewfwang/dotfiles/blob/ee84ddd304d1dad7ece206062debd3e3c86e927f/.emacs.d/init.el

Однако, каждый раз, когда я перезапустить spacemacs, ни один из моих изменений зарегистрировались. Однако, если я включил или отключил пакеты в этом же файле, эти изменения регистрируются. Должны ли эти настройки привязки клавиш быть не ниже user-config?

ответ

1

Установка CTRL + Z немного сложнее, так как код spacemacs содержит функцию для переподключения, когда один переключается в режим emacs и обратно. Он делает это с помощью ссылки на злобный ключ, который по умолчанию равен CTRL + Z. Если вы измените ключ злоумышленника на что-то еще, вы можете использовать CTRL + Z для отмены.

Предложение: в .spacemacs файл

Добавьте эту строку в разделе пользовательских набора переменных-

'(evil-toggle-key "C-`") 

и этой линии в разделе dotspacemacs/пользователем конфигурации

(global-set-key (kbd "C-z") 'undo) 

В приведенной выше конфигурации я работал над версией spacemacs версии 0.200.7, emacs версии 25.1.1 под Windows и Linux

+0

кажется, что положить' '(зло-тумблер ключ "C-'")' в 'dotspacemacs/пользователь -config' в 'custom-set-variables' слишком поздно, поскольку к этому времени уже загружено зло. Однако, помещая' (setq evil-toggle-key "C- \' ")' в 'dotspacemacs/user- init() '.spacemacs, похоже, работает. – NeilenMarais

1

В моем опыте ответ moose1089 - это большая часть пути, но злая конфигурация должна быть загружена раньше, чем dotspacemacs/user-config secion в .spacemacs. Я обнаружил, что добавление (setq evil-toggle-key "C- «) in the dotspacemacs/пользователем INIT() section of .spacemacs` работает очарование.