emacs - Define key-chord key with specific mode -
how define key-chord key in specific mode, example want bind cider repl specific key in clojure-mode or cider-mode. can find example activates key globally.
thanks help.
edit:
(require 'evil) (require 'key-chord) (evil-mode 1) (key-chord-mode 1) (key-chord-define evil-insert-state-map "jk" 'evil-normal-state) (key-chord-define-global "gt" 'other-window) (key-chord-define clojure-mode-hook "gj" 'cider-jack-in) ;; error : wrong type argument: keymapp, (rainbow-delimiters-mode) (provide 'init-evil)
defining mode-specific key bindings
here example of how this:
(define-key clojure-mode-map (kbd "c-c r") 'cider-repl) ... of course have replace cider-repl specific command want bind. note quote ' before command name required.
to generalize:
(define-key <mode-map> <key-binding> '<command>) key-chord-specific instructions
you need change line you're trying set clojure-mode-specific key binding to
(add-hook 'clojure-mode-hook (lambda () (key-chord-define clojure-mode-map "gj" 'cider-jack-in))) appendix: making sure mode-maps defined before modifying them
in order modifications clojure-mode-map work properly, have make sure defined when call define-key described above.
if using emacs package manager, have line
(package-initialize) somewhere in .emacs file (which takes care of loading packages installed via package-install). make sure call define-key somewhere below line.
alternatively can add call define-key hook run when clojure-mode enabled:
(defun clojure-set-up-key-bindings () (define-key clojure-mode-map (kbd "c-c r") 'cider-repl) ;; if necessary, add more calls `define-key' here ... ) (add-hook 'clojure-mode-hook 'clojure-set-up-key-bindings)
Comments
Post a Comment