keymap – Evil: ¿asignaciones de teclas del mapa a la manera vim?

Pregunta:

Estoy tratando de hacer que la función Evil sea evil-jump-to-tag , C-] se comporte como el enlace M- de Emacs . .

El comportamiento normal está bien para buscar archivos de etiquetas, pero quiero que funcione también para slime-edit-definition , Elisps ' elisp-slime-nav-find-elisp-thing-at-point , Clojures cider-jump-to-var , etc …

Estos modos principales y muchos más han vinculado un equivalente de salto a definición a la combinación de teclas M-. .

Para obtener el mismo comportamiento para el modo Evil, ¿necesito vincular una combinación de teclas localmente para cada uno de estos modos, o es posible tomar una combinación de teclas y decirle a Emacs que siempre que se presione esta tecla, use la función vinculada a esa tecla? en modo Emacs?

Respuesta:

Lo tengo funcionando ahora, gracias a tus respuestas:

(defun my-jump-to-tag ()
  (interactive)
  (evil-emacs-state)
  (call-interactively (key-binding (kbd "M-.")))
  (evil-change-to-previous-state (other-buffer))
  (evil-change-to-previous-state (current-buffer)))

(define-key evil-normal-state-map (kbd "C-]") 'my-jump-to-tag)

Esto establecerá evil-state en "Emacs", llamará a la función vinculada a M-. Y volverá al estado anterior de emacs en el otro búfer. Lo probé con elisp, slime and go y les está funcionando a todos.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım