Doom-emacs: [BUG] Pengikatan "SPC + SPC" untuk + evil / easymotion memberikan kesalahan awalan

Dibuat pada 14 Agu 2019  ·  3Komentar  ·  Sumber: hlissner/doom-emacs

Jelaskan masalahnya
Mencoba memetakan SPC SPC ke +evil/easymotion gagal dengan kesalahan "non-prefix key SPC". Fungsi lain memetakan dengan baik.

Kode yang gagal terlihat seperti ini:

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

Namun, keduanya berfungsi dengan baik:

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

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

Ini menunjukkan bahwa ada sesuatu tentang internal +evil/easymotion yang tidak suka dipetakan ke kunci awalan ... yang aneh karena pemetaan default g s menggunakan g sebagai sebuah awalan, yang juga memiliki kunci lain.


Debugger dimasukkan - Kesalahan Lisp: (kesalahan "Urutan kunci SPC SPC dimulai dengan kunci non-prefiks SPC")
define-key ((peta kunci (peta ulang keymap (avy-goto-word-or-subword-1. evil-avy-goto-word-or-subword-1) (avy-goto-word-1-below. evil-avy -goto-kata-1-di bawah) (avy-goto-kata-1-di atas. kejahatan-avy-goto-kata-1-di atas) (avy-goto-kata-1. kejahatan-avy-goto-kata-1 ) (avy-goto-word-0. evil-avy-goto-word-0) (avy-goto-symbol-1-below. evil-avy-goto-symbol-1-below) (avy-goto-symbol- 1-di atas. Evil-avy-goto-symbol-1-above) (avy-goto-symbol-1. Evil-avy-goto-symbol-1) (avy-goto-subword-1. Evil-avy-goto- sub kata-1) (avy-goto-subword-0. evil-avy-goto-subword-0) (avy-goto-line-below. evil-avy-goto-line-below) (avy-goto-line-above . evil-avy-goto-line-above) (avy-goto-line. evil-avy-goto-line) (avy-goto-char-timer. evil-avy-goto-char-timer) (avy-goto- char-in-line. evil-avy-goto-char-in-line) (avy-goto-char-2-below. evil-avy-goto-char-2-below) (avy-goto-char-2- di atas. evil-avy-goto-char-2-above) (avy-goto-char-2. evil-avy-goto-char-2) (avy-goto-char. evil-avy-goto-char) (ace -jump-word-mode. evil-ace-jump-word-m ode) (ace-jump-line-mode. Evil-ace-jump-line-mode) (ace-jump-char-mode. evil-ace-jump-char-mode)) (33. evil-shell-command) (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) (bawah. evil-next-line) (up. evil-sebelumnya-line) (kanan. evil-forward-char) (kiri. evil-backward-char) (30. evil-buffer) (22. evil-visual-block) ( 86. Evil-visual-line) (118. Evil-visual-char) (122 keymap (69. Vimish-fold-delete-all) (100. Vimish-fold-delete) (70. Evil-vimish-fold / create -line) (102. evil-vimish-fold / create) (107. + fold / sebelumnya) (106. + fold / next) (72. evil-scroll-left) (76. evil-scroll-right) (kiri . "zh") (104. evil-scroll-column-left) (kanan. "zl") (108. evil-scroll-column-right) (45. "zb ^") (98. evil-scroll-line -ke-bawah) (46. "zz ^") (122. evil-scroll-line-to-center) (13. [122 return]) (return. "zt ^") (116. evil-scroll-line -ke-atas) (43. evil-scroll-bottom-line-to-top) (94. evil-scroll-top-line-to- bawah)) (92. Evil-execution-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. kejahatan-sebelumnya-baris-pertama-non-kosong) (95. kejahatan-baris-berikutnya-1-pertama-tidak-kosong) (43. kejahatan-berikutnya-baris-pertama-non- kosong) (94. evil-first-non-blank) (124. evil-goto-column) (63. evil-ex-search-backward) (59. evil-repeat-find-char) (47. evil-ex -search-forward) (44. evil-repeat-find-char-reverse) (42. evil-ex-search-word-forward) (91 keymap (100. git-gutter: before-hunk) (116. hl- todo-before) (104. outline-before-visible-heading) (101. before-error) (97. evil-backward-arg) (121. + evil: c-string-decode) (117. + evil: url -decode) (92. + jahat / komentar-sebelumnya) (42. + jahat / komentar-sebelumnya) (35. + direktif-jahat / sebelumnya) (77. + kejahatan / metode-akhir-sebelumnya) ( 109. + kejahatan / metode-permulaan-sebelumnya ) (115. evil-prev-flyspell-error) (123. evil-before-open-brace) (40. evil-before-open-paren) (93. evil-backward-section-end) (91. evil-backward-section- begin)) (93 keymap (100. git-gutter: next-hunk) (116. hl-todo-next) (104. outline-next-visible-heading) (101. next-error) (97. evil-forward -arg) (121. + evil: c-string-encode) (117. + evil: url-encode) (92. + evil / next-comment) (42. + evil / next-comment) (35. + evil / next-preproc-directive) (77. + evil / next-end-of-method) (109. + evil / next-start-of-method) (115. evil-next-flyspell-error) (125. evil -next-close-brace) (41. evil-next-close-paren) (91. evil-forward-section-end) (93. evil-forward-section-begin)) (41. evil-forward-kalimat- mulai) (40. evil-backward-kalimat-begin) (39. evil-goto-mark-line) (96. evil-goto-mark) (37. evil-jump-item) (36. evil-end-of -line) (35. evil-ex-search-word-backward) (125. evil-forward-paragraph) (123. evil-backward-paragraf) (103 keymap (115 keymap (47. avy-goto-char-timer ) (32 penutupan e (t) nil (interaktif) (let ((current-prefix-arg t)) (call-interactive (function avy-goto-char-timer)))) (83. evil-easymotion-snipe-backward) (115. evil-easymotion-snipe-forward) (65. evilem - fungsi-gerak-kejahatan-mundur-arg) (97. evilem - gerak-fungsi-kejahatan-maju-arg ) (43. Evilem-motion-next-line-first-non-blank) (45. Evilem-motion-sebelumnya-line-first-non-blank) (35. Evilem-motion-search-word-backward) (42. . evilem-motion-search-word-forward) (78. evilem-motion-search-before) (110. evilem-motion-search-next) (41. evilem-motion-forward-kalimat-mulai) (40. evilem -mosi-mundur-kalimat-mulai) (93 peta kunci (91. evilem-motion-forward-section-end) (93. evilem-motion-forward-section-begin)) (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-before-line) (106. evilem-motion-next-line) (103 peta kunci (107. evilem -mosi-sebelumnya-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- mulai)) (78. kejahatan-sebelumnya-pertandingan) (110. kejahatan-berikutnya-pertandingan) (118. kejahatan-visual-restore) (42. kejahatan-ex-pencarian-tak terbatas-kata-maju) (35. kejahatan- ex-search-unbounded-word-backward) (29. evil-jump-to-tag) (36. evil-end-of-visual-line) (109. evil-middle-of-visual-line) (94. kejahatan-pertama-non-blank-of-visual-line) (95. evil-last-non-blank) (48. evil-start-of-visual-line) (107. evil-before-visual-line) ( 106. evil-next-visual-line) (103. Evil-goto-first-line) (69. Evil-backward-WORD-end) (101. Evil-backward-word-end) (100. Evil-goto- definisi)) ...) "" nihil)
evil-define-key (gerakan global "" nil)(let ((prefix (this-command-keys))) (evil-define-key (quote motion) (quote global) prefix nil) (evilem-default-keybindings (key-description prefix)) (setq prefix-arg saat ini -prefix-arg unread-command-events (mapcar (function (lambda (e) (cons te)))) (vconcat (jika jahat-operator-ini (progn (di mana-adalah-internal jahat-operator-ini-jahat-normal- negara-peta t))) awalan))))
+ jahat / easymotion ()
funcall-interaktif (+ evil / easymotion)
panggilan-interaktif (+ evil / easymotion nihil)
eksekusi perintah (+ evil / easymotion)

Sistem Informasi

  • OS: darwin (x86_64-apple-darwin14.5.0)
  • Shell: / bin / zsh
  • Emacs: 26,2 (Apr 12, 2019)
  • Doom: 2.0.9 (HEAD -> develop, _upgrade / develop f754d4ff 2019-07-23 18:23:17 +0200)
  • Tampilan grafis: t (daemon: nil)
  • Fitur sistem: PEMBERITAHUAN ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS
  • Rincian:
    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

Komentar yang paling membantu

Mulai 27cabea, Anda dapat mengikat +evil/easymotion mana pun Anda suka. Saya telah menemukan cara untuk mengatasi keterbatasan teknis yang disebutkan sebelumnya.

Semua 3 komentar

Anda tidak dapat mengikat + evil / easymotion di tempat lain kecuali pada evil-motion-state-map , karena secara default:

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

Itu tidak dirancang untuk terikat di mana pun (dan tidak dapat - tidak dapat diandalkan). Ini adalah trik untuk memuat secara malas evil-easymotion dan kemudian mengikat evilem-map ke urutan kunci yang memicunya, tanpa mengorbankan integrasi kunci mana dan tanpa harus menduplikasi ikatan kunci bawaan di peta-evil. Tidak ada mekanisme yang dapat diandalkan untuk menentukan melalui peta kunci apa sebuah perintah dipanggil, jadi tidak ada solusi sederhana untuk masalah ini. Karena ini dimaksudkan sebagai tombol gerak "tambahan" untuk memulai, ini tampak seperti kompromi yang dapat diterima.

Pada catatan yang tidak terkait, Anda harus menggunakan :leader alih-alih :map doom-leader-map . Mereka setara.

Saya akan berasumsi bahwa masalah telah diselesaikan dengan memadai, tetapi tandai sebagai wontfix karena masalah yang mendasarinya tidak dapat diatasi. Terima kasih telah memberitahukannya kepada saya!

Mulai 27cabea, Anda dapat mengikat +evil/easymotion mana pun Anda suka. Saya telah menemukan cara untuk mengatasi keterbatasan teknis yang disebutkan sebelumnya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat