Ernst de Hart | 24 Mar 20:36 2015

Make Y consistent like with D

Hello Evil users, 

The key 'D' in normal mode, deletes the line after the cursor. 

I would like to make the key 'Y' consistent with this. So I wrote a function for this, after finding out the command that's called after every key action with "C-h k". 

So, I came with this:

        (defun my-make-Y-key-working ()
            (evil-yank BEG END)

But it gives me an error on evil-yank, he don't accept BEG END as input. The evil-yank command requires parameters on the place of BEG and END, but I couldn't figure out what the input should be then. 

I found nothing in the documentation about this. 

Next to solving the issue with BEG END, what would be your suggestion in which way could I figure such problems out in the future? Thanks in advance for your reply. It's appreciated. 

implementations-list mailing list
implementations-list <at>
max6166 | 19 Mar 16:44 2015

evil-mode: How to automatically switch to insert mode after certain commands?

There are many emacs commands after which I almost always immediately want
to insert text. This often requires entering insert mode after the initial

Is there any way to instead enter insert mode automatically after certain

For example, in org-mode, a user will usually enter some text immediately
after the commands org-insert-heading or org-capture. 

Though this only requires typing <i>, the situation arises so many times in
a day that I find myself wishing I could eliminate that extra key press.

What would be the recommended way to do this? 

Incidentally, I am also using evil-org-mode. 

Óscar Fuentes | 18 Mar 21:30 2015

Gitorius repo not accessible?

For several days, communicating with the gitorius git repo fails with

$ git clone git://
Cloning into 'evil'...
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Óscar Fuentes | 18 Mar 18:54 2015

ace-jump slow when combined with somee vim commands

When I execute M-x evil-ace-jump-char-mode [CHAR] it instantaneously
highlights the candidates. However, if I do (in normal mode)

d M-x evil-ace-jump-char-mode [CHAR]

it is very slow. On a netbook I can see how each candidate is
highlighted individually, taking approx. two seconds when there are
about 20 candidates. The slowdown is observable on a workstation-class
machine too, but not as evident/annoying.

What can cause this? Any ideas for investigating the problem?
Eric S Fraga | 17 Mar 15:46 2015

slow delete operation as of today


I upgraded my emacs today.  I tend to follow the emacs snapshot on
ubuntu and I upgraded to the 201503121917 version.

Whenever I upgrade emacs, I recompile various packages and take the
opportunity to update them as well.  One of these packages is evil.  See
signature for version details.

I now find that deleting text takes an inordinate amount of time.  Using
ELP to profile, I see the following having asked to delete two lines (dd
twice in a row):

| evil-operator-range     2           3.949455058   1.974727529
| evil-motion-range       2           3.3242579269  1.6621289634
| evil-read-motion        2           0.597503132   0.298751566
| evil-keypress-parser    2           0.597473732   0.298736866
| evil-change-state       12          0.0285186659  0.0023765555
| evil-operator-state     4           0.0262815     0.006570375
| evil-refresh-cursor     26          0.0215003230  0.0008269355
| evil-set-cursor         34          0.0207609810  0.0006106170
| evil-half-cursor        2           0.0205869320  0.0102934660
| evil-delete             2           0.007644156   0.003822078

I asked to instrument both evil- and org- as this was an org document.

4 seconds to delete two lines seems rather excessive.  Deleting single
characters (x) also takes a long time.

The document *is* large (300 kB) but not that large...  and everything
was fine before the upgrades.  Moving around in the text is fine as is
jumping by line/sentence/paragraph.

Any suggestions before I downgrade both?

: Eric S Fraga, GnuPG: 0xFFFCF67D
: in Emacs + Ma Gnus v0.12 + evil-git-bdeb602
: BBDB version 3.1.2 (2014-05-06 11:45:08 -0500)
Hong Xu | 11 Mar 21:58 2015

How can I make auto completion in ex mode case insensitive?

Hi all,

Is there a way to make the file name auto completion like ":e", ":r"
case insensitive in evil?

implementations-list mailing list
implementations-list <at>
Héctor A. Abreu | 9 Mar 14:56 2015

Error when downloading, error when installing


I am following instructions from  on a fresh Raspian install, Raspberry Pi w/ Debian Wheezy, GNU Emacs 23.4.1 that comes with the distro. I am getting the following error when downloading:

pi <at> raspberrypi ~ $ sudo git clone git://
Cloning into 'evil'...
fatal: The remote end hung up unexpectedly

So I managed to download the alternative tarball of master (.tar.gz) but now I get the following error when I start emacs, not sure if it's because my machine is set to es_US-UTF8:

Warning (initialization): An error occurred while loading `/home/pi/.emacs':

Symbol's value as variable is void: deactivate-current-input-method-function

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.

Also when I run emacs --debug-init I get the following message below, please help. Thank you in advance.

Debugger entered--Lisp error: (void-variable
  (if deactivate-current-input-method-function (deactivate-input-method))
  (if (quote nil) (activate-input-method evil-input-method) (if
deactivate-current-input-method-function (deactivate-input-method)))
  (let ((evil-state ...)) (evil-normalize-keymaps) (if (quote nil)
(activate-input-method evil-input-method) (if
deactivate-current-input-method-function ...)) (unless evil-no-display
(evil-refresh-cursor ...) (evil-refresh-mode-line ...) (when ... ...))
(cond (... ...) (t ...)) (run-hooks (quote
evil-normal-state-entry-hook)) (when (and evil-echo-state arg ...
evil-normal-state-message) (if ... ... ...)))
  (let ((evil-next-state ...) input-method-activate-hook
input-method-deactivate-hook) (evil-change-state nil) (setq evil-state
(quote normal)) (evil-add-to-alist (quote evil-previous-state-alist)
(quote normal) evil-previous-state) (let (...)
(evil-normalize-keymaps) (if ... ... ...) (unless evil-no-display ...
... ...) (cond ... ...) (run-hooks ...) (when ... ...)))
  (cond ((and ... ...) (setq evil-previous-state evil-state evil-state
nil) (let ... ... ... ... ...)) (t (unless evil-local-mode ...) (let
... ... ... ... ...)))
  funcall(evil-normal-state nil)
  (progn (funcall func (if state ... -1)))
  (if (and (functionp func) (or message ...)) (progn (funcall func ...)))
  (when (and (functionp func) (or message ...)) (funcall func (if
state ... -1)))
  (let ((func ...)) (when (and ... ...) (funcall func ...)))
  evil-change-state(normal nil)
  (progn (evil-change-state (evil-initial-state-for-buffer buffer ...) message))
  (if evil-local-mode (progn (evil-change-state ... message)))
  (when evil-local-mode (evil-change-state
(evil-initial-state-for-buffer buffer ...) message))
  (save-current-buffer (set-buffer (or buffer ...)) (when
evil-local-mode (evil-change-state ... message)))
  (with-current-buffer (or buffer (current-buffer)) (when
evil-local-mode (evil-change-state ... message)))
  (if state (evil-change-state state) (evil-change-to-initial-state buffer))
  (save-current-buffer (set-buffer (or buffer ...)) (if state
(evil-change-state state) (evil-change-to-initial-state buffer)))
  (with-current-buffer (or buffer (current-buffer)) (if state
(evil-change-state state) (evil-change-to-initial-state buffer)))
  (if evil-state nil (evil-initialize-state))
  (unless evil-state (evil-initialize-state))
  (cond ((evil-disabled-buffer-p)) (evil-local-mode (setq
emulation-mode-map-alists ...) (evil-initialize-local-keymaps) (when
... ...) (unless evil-state ...) (add-hook ... ... t t) (add-hook ...
... t t) (add-hook ... ... nil t) (add-hook ... ...) (add-hook ... ...
nil t) (add-hook ... ...)) (t (evil-refresh-mode-line) (remove-hook
... ... t) (remove-hook ... ... t) (remove-hook ... ... t)
(remove-hook ... ... t) (evil-change-state nil)))
  (let ((last-message ...)) (setq evil-local-mode (cond ... ... ...))
(cond (...) (evil-local-mode ... ... ... ... ... ... ... ... ... ...)
(t ... ... ... ... ... ...)) (run-hooks (quote evil-local-mode-hook)
(if evil-local-mode ... ...)) (if (called-interactively-p ...) (progn
nil ...)))
  (if (minibufferp) nil (evil-local-mode 1) (evil-initialize-state))
  (unless (minibufferp) (evil-local-mode 1) (evil-initialize-state))
  (if evil-mode (evil-initialize) (when evil-local-mode (evil-local-mode -1)))
  (save-current-buffer (set-buffer buf) (if evil-mode
(evil-initialize) (when evil-local-mode ...)))
  (with-current-buffer buf (if evil-mode (evil-initialize) (when
evil-local-mode ...)))
  (while --cl-dolist-temp-- (setq buf (car --cl-dolist-temp--))
(with-current-buffer buf (if evil-mode ... ...)) (setq
--cl-dolist-temp-- (cdr --cl-dolist-temp--)))
  (let ((--cl-dolist-temp-- ...) buf) (while --cl-dolist-temp-- (setq
buf ...) (with-current-buffer buf ...) (setq --cl-dolist-temp-- ...))
  (catch (quote --cl-block-nil--) (let (... buf) (while
--cl-dolist-temp-- ... ... ...) nil))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil)))
  (block nil (let (... buf) (while --cl-dolist-temp-- ... ... ...) nil))
  (dolist (buf (buffer-list)) (with-current-buffer buf (if evil-mode ... ...)))
  (let ((last-message ...)) (setq evil-mode (cond ... ... ...)) (if
evil-mode (progn ... ... ...) (remove-hook ... ...) (remove-hook ...
...) (remove-hook ... ...)) (dolist (buf ...) (with-current-buffer buf
...)) (run-hooks (quote evil-mode-hook) (if evil-mode ... ...)) (if
(called-interactively-p ...) (progn ... ...)))
  (setq ad-return-value (ad-Orig-evil-mode arg))
  (let (ad-return-value) (setq ad-return-value (ad-Orig-evil-mode
arg)) (if evil-mode (progn ... ... ... ...) (when ... ...)
(ad-disable-regexp "^evil") (ad-update-regexp "^evil")
(with-no-warnings ...)) ad-return-value)
  eval-buffer(#<buffer  *load*> nil "/home/pi/.emacs" nil t)  ;
Reading at buffer position 73
  load-with-code-conversion("/home/pi/.emacs" "/home/pi/.emacs" t t)
  load("~/.emacs" t t)
  #[nil " \205\264

Héctor A. Abreu
Founder & CEO
Spanish Connector L.L.C.
Atlanta, GA. USA
Phone: 404-480-9188 Ext. 8010
Skype ID: spanishconnector
implementations-list mailing list
implementations-list <at>
gmail | 4 Mar 01:53 2015

when in html-mode, annoying auto jump when typing '<'

Sent with Airmail
implementations-list mailing list
implementations-list <at>
Nikolai Weibull | 1 Mar 16:06 2015

Input-method during isearch


I’m trying to get input-method to work during isearch.  It works if,
for example, isearch-forward-regexp is started in insert mode, as evil
doesn’t disable input-method then.  However, when started in normal
mode, it won’t work, as evil disables input-method in that state.
I’ve tried

(defun now-evil--isearch-forward-regexp-around (fn &rest args)
  (let ((s evil-state))
    (if (or (not evil-local-mode) (evil-state-property s :input-method))
        (apply fn args)
      (evil-change-state 'insert)
          (apply fn args)
        (evil-change-state s)))))
(advice-add 'isearch-forward-regexp :around

to get around this limitation, but it doesn’t work.  It seems that
evil is entering normal state somewhere between here and when isearch
is started.

What am I doing wrong?


implementations-list mailing list
implementations-list <at>
Aneesh Kumar | 1 Mar 07:22 2015

How to override evil-mode normal state binding

I am trying to override binding for 'q' for a minor mode. What is the right way to do it ? Using evil-define-key  doesn't seem to work.  For example i tried
 (evil-define-key 'normal magit-blame-mode "q" 'magit-blame-quit) and that doesn't seem to work. Even adding a new binding like 
 (evil-define-key 'normal magit-blame-mode "Q" 'magit-blame-quit) is not working.

I am using evil-mode from melpa 

implementations-list mailing list
implementations-list <at>
Nikolai Weibull | 16 Feb 11:05 2015

Stable release


Evil hasn’t been updated in Marmalade Repo since forever.  Will we be
seeing a stable release soon that can be included there?

If not, how does versioning work in Melpa?  I don’t particularly need
the bleeding edge that Melpa seems to promote, but perhaps Evil is
being versioned responsibly there?


implementations-list mailing list
implementations-list <at>