2015-02-24 2 views
3

Je viens de commencer à expérimenter avec emacs. Et en tant qu'utilisateur de Vim, je ne voulais pas l'utiliser sans installer le mode maléfique en premier. Cependant, le mode maléfique semble rompre la liaison de touches emacs pour 'execute-extended-command' (M-x). Je ne me soucie pas vraiment de cette reliure, et j'ai remarqué que je peux appeler par exemple 'list-packages' du mode de commande maléfique et ça marche très bien. La seule chose qui me manque maintenant, c'est l'achèvement automatique de la TAB en mode commande, comme taper 'list-' TAB et ensuite il affichera ou itératera les commandes disponibles. Est-ce possible avec le mode maléfique?Utilisez 'execute-extended-command' depuis le mode de commande Evil (M-x est indéfini)

ou y a-t-il éventuellement un moyen facile de réparer cette reliure?

J'utilise:

  • debian jessie
  • GNU Emacs 24.4.1

EDIT:

Mon .emacs:

(require 'package) 
(push '("marmalade" . "http://marmalade-repo.org/packages/") 
    package-archives) 
(push '("melpa" . "http://melpa.milkbox.net/packages/") 
    package-archives) 

(add-to-list 'load-path "~/.emacs.d/evil") 
(require 'evil) 
(evil-mode 1) 

(define-key evil-normal-state-map [escape] 'keyboard-quit) 
(define-key evil-visual-state-map [escape] 'keyboard-quit) 
(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit) 
(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit) 
(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit) 
(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit) 
(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit) 

Je tenté d'ajouter Modificateur-x

(global-set-key (kbd "C-x") 'execute-extended-command) 

et Alt-x

(global-set-key (kbd "A-x") 'execute-extended-command) 

mais ces tentatives n'a pas résolu le raccourci clavier, donc j'ai décidé de rouler avec super-clé

(global-set-key (kbd "s-x") 'execute-extended-command) 

Répondre

0

fixations de clavier de fixation est assez facile - il suffit d'ajouter cette ligne à votre fichier .emacs (ou l'évaluer dans la mémoire tampon de zéro):

(global-set-key (kbd "< put your key combination here >") 'execute-extended-command) 

Vous pouvez utiliser reference from ErgoEmacs pour comprendre comment fournir des combinaisons de touches pour kbd fonction.

et l'OMI, il est préférable d'utiliser des moyens standards Emacs pour exécuter des commandes - utilisez votre mode commande evil-mode pour les choses liées à mal, et utiliser M-x/execute-extended-command pour travailler avec Emacs.

+0

Merci beaucoup. Je pense que votre remarque sur l'utilisation des bindings Emacs standard est pertinente ... Cependant, il doit y avoir un bug dans le mode mal parce que votre suggestion ne fonctionne que pour super-x, (global-set-key (kbd "sx") ' commande étendue) – Michelrandahl

+0

@Mitzh, vous pouvez vérifier quelle commande est liée à 'Mx' en appuyant sur' Ch k Mx' (c.-à-d. Ctrl + H, puis 'k', puis Alt + X) - peut-être, interférer avec le mal ou d'autres plugins que vous avez pu installer. – NikitaBaksalyar

+0

Merci encore. Maintenant, je crois fermement que le mode démoniaque fait que la liaison des clés est buggée ... Parce que ça rapporte heureusement que "M-x exécute la commande execute-extended-command ..".Et qu'il est lié à "s-x, ,

, M-x" – Michelrandahl