gabesoft / evil-mc

Multiple cursors implementation for evil-mode
MIT License
387 stars 36 forks source link

Cursors stop moving #7

Closed halbtuerke closed 8 years ago

halbtuerke commented 8 years ago

Hi,

I just installed evil-mc and it's not working as expected. When I move the cursor the other cursors don't follow (see GIF animation). Anything I have to configure to make this work?

evil-mc-not-working

I'm using GNU Emacs 25.0.50.1 2015-08-15 on OS X.

Here's the debug log:

evil-mc Created 3 cursors matching "\_<some\_>"
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0) nil undo-tree-canary) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0) nil undo-tree-canary) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
gabesoft commented 8 years ago

Are you using evil-local-mode, if so this could be the same problem as #5. I think it's fixed in the latest version (not on melpa yet).

halbtuerke commented 8 years ago

No, I'm activating evil-mode via (evil-mode t) in my config, so it should not be using evil-local-mode.

gabesoft commented 8 years ago

I see. It could still be related though. I think it's some loading issue. I'm still working on it. But, just to get going if you do a C-h f evil-mc-execute-for and then in open the file that you see in the doc evil-mc-command-execute.el and eval it, then the cursors should start working.

halbtuerke commented 8 years ago

Yes, this makes all the cursors move.

What does not seem to work is highlighting and then deleting something with d. Also highlighting and changing with c does not seem to work. dw and cw also do not work. Is this expected behavior?

gabesoft commented 8 years ago

No, there's definitely something wrong. I'm not sure what yet. It's quite strange because the tests pass. I still think it's some loading issue but I have to investigate more.

gabesoft commented 8 years ago

I think this is fixed on master. At least it was working fine for me in a sandbox. But melpa hasn't been updated for a while so you should try the github version if possible. .

gabesoft commented 8 years ago

This is still not fixed. The cursors work fine when loading the files directly, but not when using the compiled version from melpa.

halbtuerke commented 8 years ago

I'm using the following code snippet to load and configure evil-mc and the cursor movement works:

(use-package evil-mc
    :load-path "~/.emacs.d/non-elpa/evil-mc"
    :config
    (global-evil-mc-mode 1))

What still does not work e.g. is using d or something likedw.

The use-package macro expands to the following:

(progn
    (eval-and-compile
      (push "~/.emacs.d/non-elpa/evil-mc" load-path))
    (if
        (not
         (require 'evil-mc nil 'noerror))
        (ignore
         (message
          (format "Could not load %s" 'evil-mc)))
      (condition-case-unless-debug err
          (global-evil-mc-mode 1)
        (error
         (ignore
          (display-warning 'use-package
                           (format "%s %s: %s" "evil-mc" ":config"
                                   (error-message-string err))
                           :error))))
      t))
gabesoft commented 8 years ago

Ok, so if you load it that way it should work. That's how I load it. It's strange that delete doesn't work. Do you get any errors at all?

halbtuerke commented 8 years ago

No, there aren't any errors. Here's a log:

evil-mc Created 3 cursors matching "\_<some\_>"
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0)) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-backward-word-begin b
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0)) (:keys-post-raw . [98]) (:keys-post . [98]) (:last-input . 98) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-backward-word-begin [98] nil) (:keys-pre . [98]) (:name . evil-backward-word-begin)) evil-backward-word-begin
evil-mc Record-done evil-backward-word-begin pre b post b keys-motion  keys-operator  count nil keys b
evil-mc Execute evil-backward-word-begin for all cursors
evil-mc Execute evil-backward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-forward-word-begin w
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0)) (:keys-post-raw . [119]) (:keys-post . [119]) (:last-input . 119) (:evil-state-end . normal) (:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-forward-word-begin [119] nil) (:keys-pre . [119]) (:name . evil-forward-word-begin)) evil-forward-word-begin
evil-mc Record-done evil-forward-word-begin pre w post w keys-motion  keys-operator  count nil keys w
evil-mc Execute evil-forward-word-begin for all cursors
evil-mc Execute evil-forward-word-begin with evil-mc-execute-default-call-with-count [2 times]
evil-mc Command evil-visual-char v
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-visual-char [118] nil) (:keys-pre . [118]) (:name . evil-visual-char))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0)) (:keys-post-raw . [118]) (:keys-post . [118]) (:last-input . 118) (:evil-state-end . visual) (:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . normal) (:keys-pre-with-count nil evil-visual-char [118] nil) (:keys-pre . [118]) (:name . evil-visual-char)) evil-visual-char
evil-mc Record-done evil-visual-char pre v post v keys-motion  keys-operator  count nil keys v
evil-mc Execute evil-visual-char for all cursors
evil-mc Execute evil-visual-char with evil-mc-execute-visual-char [2 times]
evil-mc Command evil-forward-word-end e
evil-mc Record-begin ((:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . visual) (:keys-pre-with-count nil evil-forward-word-end [101] nil) (:keys-pre . [101]) (:name . evil-forward-word-end))
evil-mc Record-finish ((:undo-list-pointer-post nil (1 . 78) (t . 0)) (:keys-post-raw . [101]) (:keys-post . [101]) (:last-input . 101) (:evil-state-end . visual) (:undo-list-pointer-pre nil (1 . 78) (t . 0)) (:evil-state-begin . visual) (:keys-pre-with-count nil evil-forward-word-end [101] nil) (:keys-pre . [101]) (:name . evil-forward-word-end)) evil-forward-word-end
evil-mc Record-done evil-forward-word-end pre e post e keys-motion  keys-operator  count nil keys e
evil-mc Execute evil-forward-word-end for all cursors
evil-mc Execute evil-forward-word-end with evil-mc-execute-visual-call-with-count [2 times]
evil-mc Command evil-cp-delete d [2 times]

I have 3 cursors but after pressing d only the selection of the "main" cursor gets deleted.

gabesoft commented 8 years ago

I think it's because when pressing d it's trying to run evil-cp-delete which I think it's coming from evil-cleverparens. Try disabling that mode temporarily just to see if that fixes it.

halbtuerke commented 8 years ago

:+1:

That's it. Disabling evil-cleverparens solved the issue.

gabesoft commented 8 years ago

OK, I'll probably add evil-cleverparens to the incompatible modes so that it gets disabled automatically whenever there are active cursors.

bmag commented 8 years ago

@gabesoft I'd like to use evil-cleverparens together with evil-mc. What will it take to make them work together, and how can I help? Basically evil-cleverparens replaces some evil commands with evil-cp commands, e.g. evil-cp-delete replaces evil-delete, so would using for evil-cp the same handler for the equivalent original evil command be enough? (e.g. using evil-mc-execute-default-evil-delete handler for evil-cp-delete)

gabesoft commented 8 years ago

Yes I think adding all relevant evil-cp commands to evil-mc-known-commands should be enough to make evil-cleverparens compatible with evil-mc. The handlers used for the default evil commands should work in theory.

bmag commented 8 years ago

Looks like it works in practice too :smile: at least for casual use, I haven't done comprehensive testing. I've started the work at #14 and will continue when I have some more free time. Meanwhile I've encountered #13 too.