2016-06-30 9 views
1

Я хочу изменить привязку ключа M-x slime-fuzzy-complete-symbol к M-TAB как в slime-mode, так и в slime-repl. Я посмотрел общий LISP руководство и попытался следующие предложения:привязка ключа в slime emacs

(eval-after-load 'slime                            
     `(define-key slime-prefix-map (kbd "M-TAB") 'slime-fuzzy-complete-symbol)) 

(add-hook 'slime-load-hook                           
     #'(lambda()                            
      (define-key slime-prefix-map (kbd "M-TAB") 'slime-fuzzy-complete-symbol))) 

(define-key slime-repl-mode-map (kbd "M-TAB")                       
        'slime-fuzzy-complete-symbol) 

Ни один из них не является полезным. Третье предложение даже ошибка: значение Symbol как переменная недействительна: шламовых РЕПЛ режим карты

Для справки, следующие в моем init.el относится к слизи:

(let ((default-directory "/usr/local/share/emacs/site-lisp/")) 
    (normal-top-level-add-subdirs-to-load-path)) 

;; Setup load-path, autoloads and your lisp system                     
;; Not needed if you install SLIME via MELPA                       
(add-to-list 'load-path "~/default-directory/slime") 
(require 'slime-autoloads) 
(setq inferior-lisp-program "/usr/local/opt/clozure-cl/bin/ccl64") 

;; Setup slime-repl                             
(setq slime-contribs '(slime-scratch slime-editing-commands)) 
;;(setq slime-contribs '(slime-repl)) ; repl only                      
(setq slime-contribs '(slime-fancy)) ; almost everything                    

;;Setup suto-complete                             
(add-to-list 'load-path "~/default-directory/auto-complete/") 
(require 'auto-complete-config) 
;;(add-to-list 'ac-dictionary-directories "~/default-directory/auto-complete/ac-dict")            
(ac-config-default) 

ответ

0

It будет лучше следовать документации Emacs для этого случая:

Key binding commands

в вашем случае с глобальным ключом bindoing должно работать:

(global-set-key (kbd "M-TAB") 'slime-fuzzy-complete-symbol)