Doom-emacs: [BUG] "SPC + SPC" -Bindung fĂŒr + evil / easymotion gibt einen PrĂ€fixfehler aus

Erstellt am 14. Aug. 2019  Â·  3Kommentare  Â·  Quelle: hlissner/doom-emacs

Beschreibe das Problem
Der Versuch, SPC SPC +evil/easymotion zuzuordnen, schlĂ€gt mit dem Fehler "SPC ohne PrĂ€fixschlĂŒssel" fehl. Andere Funktionen sind in Ordnung.

Der fehlerhafte Code sieht folgendermaßen aus:

(map! (:map doom-leader-map
        "SPC" #'+evil/easymotion))

Beide funktionieren jedoch einwandfrei:

  (map! (:map doom-leader-map
          "SPC" evilem-map))

  (map! (:map doom-leader-map
          "SPC" #'find-file))

Dies deutet darauf hin, dass die Interna von +evil/easymotion nicht gerne einem PrĂ€fixschlĂŒssel zugeordnet werden ... was seltsam ist, da fĂŒr die Standardzuordnung von g s g as verwendet wird ein PrĂ€fix, das auch andere SchlĂŒssel hat.


Debugger eingegeben - Lisp-Fehler: (Fehler "SchlĂŒsselsequenz SPC SPC beginnt mit Nicht-PrĂ€fix-SchlĂŒssel SPC")
Define-Key ((Keymap (Keymap neu zuordnen) (Avy-Goto-Wort-oder-Unterwort-1. Böse-Avy-Goto-Wort-oder-Unterwort-1) (Avy-Goto-Wort-1-unten. Böse-Avy -Goto-Wort-1-unten) (Avy-Goto-Wort-1-oben. Böse-Avy-Goto-Wort-1-oben) (Avy-Goto-Wort-1-oben) (Avy-Goto-Wort-1. Böse-Avy-Goto-Wort-1 ) (Avy-Goto-Wort-0. Böse-Avy-Goto-Wort-0) (Avy-Goto-Symbol-1-unten. Böse-Avy-Goto-Symbol-1-unten) (Avy-Goto-Symbol-1) 1-oben. Böses-avy-goto-symbol-1-oben) (avy-goto-symbol-1. Böses-avy-goto-symbol-1) (avy-goto-subword-1. Böses-avy-goto- Unterwort-1) (Avy-Goto-Unterwort-0. Böse-Avy-Goto-Unterwort-0) (Avy-Goto-Zeile-unten . böse-avy-goto-linie-oben) (avy-goto-linie. böse-avy-goto-linie) (avy-goto-char-timer. böse-avy-goto-char-timer) (avy-goto- char-in-line. böse-avy-goto-char-in-line) (avy-goto-char-2-unten. böse-avy-goto-char-2-unten) (avy-goto-char-2- oben. böse-avy-goto-char-2-oben) (avy-goto-char-2. böse-avy-goto-char-2) (avy-goto-char. böse-avy-goto-char) (Ass -Jump-Word-Modus. Evil-Ace-Jump-Word-m ode) (Ass-Sprung-Linien-Modus. Evil-Ace-Jump-Line-Modus) (Ace-Jump-Char-Modus. Evil-Ace-Jump-Char-Modus)) (33. Evil-Shell-Befehl) (58. Evil-Ex) (Down-Mouse) -1. Evil-Mouse-Drag-Region) (4. Evil-Scroll-Down) (21. Evil-Scroll-Up) (9. Evil-Jump-Forward) (26. Evil-Emacs-State) (Down. böse-nĂ€chste-Zeile) (up. böse-vorherige-Zeile) (rechts. böse-vorwĂ€rts-char) (links. böse-rĂŒckwĂ€rts-char) (30. böse-Puffer) (22. böse-visuelle-Block) ( 86. böse-visuelle-Linie) (118. böse-visuelle-Zeichen) (122 Keymap (69. vimish-fold-delete-all) (100. vimish-fold-delete) (70. böse-vimish-fold / create -line) (102. böse-vimish-falten / erstellen) (107. + falten / vorher) (106. + falten / nĂ€chste) (72. böse-scroll-links) (76. böse-scroll-rechts) (links . "zh") (104. böse Schriftrolle-Spalte-links) (rechts. "zl") (108. böse-Schriftrolle-Spalte-rechts) (45. "zb ^") (98. böse-Schriftrolle-Zeile -to-bottom) (46. "zz ^") (122. böse-Scroll-Linie-zu-Mitte) (13. [122 return]) (return. "zt ^") (116. böse-scroll-Linie -to-top) (43. böse Schriftrolle-unterste Zeile nach oben) (94. böse Schriftrolle-obere Zeile nach oben) unten)) (92. Evil-Execute-In-Emacs-State) (13. Evil-Ret) (25. Evil-Scroll-Line-Up) (15. Evil-Jump-Backward) (6. Evil-Scroll-Page-Down) (5 . Evil-Scroll-Line-Down) (2. Evil-Scroll-Page-Up) (29. Evil-Jump-to-Tag) (67108918. Evil-Switch-to-Windows-Last-Buffer) (23. Evil -window-map) (45. böse-vorherige-Zeile-erste-nicht-leer) (95. böse-nĂ€chste-Zeile-1-erste-nicht-leer) (43. böse-nĂ€chste-Zeile-erste-nicht-leer) leer) (94. böse-zuerst-nicht-leer) (124. böse-gehe-Spalte) (63. böse-ex-Suche-rĂŒckwĂ€rts) (59. böse-wiederholen-finden-char) (47. böse-ex -search-forward) (44. Evil-Repeat-Find-Char-Reverse) (42. Evil-Ex-Search-Word-Forward) (91 Keymap (100. Git-Gosse: Pre-Hunk) (116. Hl- todo-previous) (104. Umriss-vorherige-sichtbare-Überschrift) (101. vorherige-Fehler) (97. böse-rĂŒckwĂ€rts-arg) (121. + böse: c-String-Dekodierung) (117. + böse: URL -decode) (92. + böse / vorheriger-Kommentar) (42. + böse / vorheriger-Kommentar) (35. + böse / vorheriger-PrĂ€proc-Direktive) (77. + böse / vorheriges-Ende-der-Methode) ( 109. + böse / vorheriger Beginn der Methode ) (115. böser-vorheriger-Fliegenzauber-Fehler) (123. böser-vorheriger-offener-Klammer) (40. böser-vorheriger-offener-Paren) (93. böser-vorheriger-Abschnitt-Ende) (91. böser-rĂŒckwĂ€rts-Abschnitt-Ende) (91. böser-rĂŒckwĂ€rts-Abschnitt- begin)) (93 Keymap (100. Git-Rinne: Next-Hunk) (116. Hl-ToDo-Next) (104. Gliederung-Next-Visible-Überschrift) (101. Next-Error) (97. Evil-Forward) -arg) (121. + böse: c-string-encode) (117. + böse: url-encode) (92. + böse / nĂ€chster Kommentar) (42. + böse / nĂ€chster Kommentar) (35. + böse / next-preproc-Direktive) (77. + böse / nĂ€chstes-Ende-der-Methode) (109. + böse / nĂ€chster-Anfang-der-Methode) (115. böse-nĂ€chste-Flugzauberfehler) (125. böse -next-close-brace) (41. böses-nĂ€chstes-nahes-paren) (91. böses-vorwĂ€rts-abschnittsende) (93. böses-vorwĂ€rts-abschnittsende)) (41. böses-vorwĂ€rts-abschnittsanfang)) (41. böses-vorwĂ€rts-satz-) begin) (40. böse-rĂŒckwĂ€rts-satz-beginnen) (39. böse-goto-mark-linie) (96. böse-goto-mark-linie) (37. böse-springen-mark) (36. böses-springen-artikel) (36. böses-ende-von -line) (35. böses-ex-Suchwort-rĂŒckwĂ€rts) (125. böser-vorwĂ€rts-Absatz) (123. böser-rĂŒckwĂ€rts-Absatz) (103 Keymap (115 Keymap (47. avy-goto-char-timer) ) (32 Closur e (t) nil (interaktiv) (let ((aktuelles PrĂ€fix-arg t)) (interaktiv aufrufen (Funktion avy-goto-char-timer)))) (83. böse-easymotion-snipe-rĂŒckwĂ€rts) (115. böse-easymotion-snipe-vorwĂ€rts) (65. evilem - bewegungsfunktion-böse-rĂŒckwĂ€rts-arg) (97. evilem - bewegungsfunktion-böse-vorwĂ€rts-arg ) (43. böse Bewegung-nĂ€chste-Zeile-erste-nicht-leer) (45. böse-Bewegung-vorherige-Zeile-erste-nicht-leer) (35. böse Bewegung-Suchwort rĂŒckwĂ€rts) (42 . evilem-motion-search-word-forward) (78. evilem-motion-search-previous) (110. evilem-motion-search-next) (41. evilem-motion-forward-satz-begin) (40. evilem -Motion-Backward-Satz-Beginn) (93 Keymap (91. Evemem-Motion-Forward-Section-End) (93. Evilem-Motion-Forward-Section-Beginn)) (91 Keymap (93. Evilem-Motion-Backward) -section-end) (91. evilem-motion-backward-section-begin)) (70. evilem-motion-find-char-backward) (102. evilem-motion-find-char) (84. evilem-motion- find-char-to-backward) (116. evilem-motion-find-char-to) (107. evilem-motion-previous-line) (106. evilem-motion-next-line) (103 Keymap (107. evilem) -motion-previous-visual-line) (106. evilem-motion-next -visual-line) (69. evilem-motion-backward-WORD-end) (101. evilem-motion-backward-word-end)) (66. evilem-motion-backward-WORD-begin) (98. evilem-motion-backward-word-begin) (69. evilem-motion-forward-WORD-end) (101. evilem-motion-forward-word-end) (87. evilem-motion-forward-WORD-begin) (119. evilem-motion-forward-word- end) begin)) (78. böse-vorherige-Übereinstimmung) (110. böse-nĂ€chste-Übereinstimmung) (118. böse-visuelle-Wiederherstellung) (42. böse-ex-Suche-unbegrenzte-Wort-vorwĂ€rts) (35. böse- Ex-Suche-unbegrenztes-Wort-rĂŒckwĂ€rts) (29. böser Sprung zum Tag) (36. böses Ende der visuellen Linie) (109. böse Mitte der visuellen Linie) (94. böse-erste-nicht-leere-der-visuellen-Linie) (95. böse-letzte-nicht-leere) (48. böse-Anfang-der-visuellen-Linie) (107. böse-vorherige-visuelle-Linie) ( 106. böse-nĂ€chste-visuelle-Linie) (103. böse-gehe-erste-Linie) (69. böse-rĂŒckwĂ€rts-WORT-Ende) (101. böse-rĂŒckwĂ€rts-Wort-Ende) (100. böse-goto- Definition)) ...) "" null)
böse-definieren-SchlĂŒssel (Bewegung global "" null)(let ((PrĂ€fix (diese Befehlstasten))) (böser DefinitionsschlĂŒssel (AnfĂŒhrungszeichenbewegung) (AnfĂŒhrungszeichen global) PrĂ€fix nil) (böses Standard-Tastenkombinationen (SchlĂŒsselbeschreibungsprĂ€fix)) (setq PrĂ€fix-Argument aktuell -prefix-arg ungelesene Befehlsereignisse (mapcar (Funktion (Lambda (e) (cons te))) (vconcat (wenn böse-dieser-Operator (Prognose (wo-ist-intern böse-dieser-Operator böse-normal-) Zustandskarte t))) PrĂ€fix))))
+ böse / easymotion ()
funcall-interaktiv (+ böse / easymotion)
Anruf-interaktiv (+ böse / easymotion nil nil)
Befehl ausfĂŒhren (+ böse / easymotion)

System Information

  • Betriebssystem: darwin (x86_64-apple-darwin14.5.0)
  • Shell: / bin / zsh
  • Emacs: 26,2 (12. April 2019)
  • Doom: 2.0.9 (HEAD -> Entwickeln, _Upgrade / Entwickeln f754d4ff 2019-07-23 18:23:17 +0200)
  • Grafische Anzeige: t (Daemon: nil)
  • Systemfunktionen: NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS
  • Einzelheiten:
    elisp env bootstrapper: envvar-file elc count: 0 uname -a: Darwin 17.7.0 Darwin Kernel Version 17.7.0: Sun Jun 2 20:31:42 PDT 2019; root:xnu-4570.71.46~1/RELEASE_X86_64 x86_64 modules: (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) treemacs vc-gutter vi-tilde-fringe window-select workspaces :editor evil file-templates fold lispy multiple-cursors rotate-text snippets :emacs dired electric vc :term eshell :tools bibtex editorconfig eval flycheck flyspell (lookup +docsets) macos magit :lang data emacs-lisp my-ess markdown (org +ipython +pandoc) polymode python sh :config default) packages: (dtrt-indent (fill-function-arguments :recipe (fill-function-arguments :fetcher github :repo davidshepherd7/fill-function-arguments)) deadgrep pandoc-mode) exec-path: (~/.gem/bin ~/.zplug/repos/zplug/zplug/bin ~/.zplug/bin ~/.cargo/bin ~/.nix-profile/bin ~/.gem/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/TeX/texbin /opt/X11/bin ~/.config/nvim/bundle/fzf/bin ~/.local/bin /Applications/Emacs.app/Contents/MacOS/bin-x86_64-10_10 /Applications/Emacs.app/Contents/MacOS/libexec-x86_64-10_10 ~/.local/bin /Applications/Emacs.app/Contents/MacOS/libexec/)
bug elisp keybinds resolved

Hilfreichster Kommentar

Ab 27cabea können Sie +evil/easymotion beliebige Stelle binden. Ich habe einen Weg gefunden, um die zuvor genannten technischen EinschrÀnkungen zu umgehen.

Alle 3 Kommentare

Sie können + evil / easymotion nirgendwo anders als auf evil-motion-state-map binden, da dies standardmĂ€ĂŸig der Fall ist:

(map! :leader :m "gs" #'evil/easymotion)  ; note the :m 

Es wurde nicht entworfen, um irgendwo anders gebunden zu werden (und kann nicht - nicht zuverlĂ€ssig sein). Es ist ein Trick, die böse Bewegung leicht zu laden und dann die böse Karte an die SchlĂŒsselsequenz zu binden, die sie ausgelöst hat, ohne die Integration der SchlĂŒssel zu beeintrĂ€chtigen und ohne die integrierten Tastenkombinationen auf der bösen Karte zu duplizieren. Es gibt keinen zuverlĂ€ssigen Mechanismus, um zu bestimmen, ĂŒber welche Keymap ein Befehl aufgerufen wurde, daher gibt es keine einfache Lösung fĂŒr dieses Problem. Da dies zunĂ€chst "erweiterte" Bewegungstasten sein sollten, schien dies ein akzeptabler Kompromiss zu sein.

In einem anderen Zusammenhang sollten Sie :leader anstelle von :map doom-leader-map . Sie sind gleichwertig.

Ich gehe davon aus, dass das Problem ausreichend behoben wurde, markiere es jedoch als wontfix da das zugrunde liegende Problem nicht behoben werden kann. Vielen Dank, dass Sie mich darauf aufmerksam gemacht haben!

Ab 27cabea können Sie +evil/easymotion beliebige Stelle binden. Ich habe einen Weg gefunden, um die zuvor genannten technischen EinschrÀnkungen zu umgehen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen