Guido Van Hoecke | 27 Jan 20:37 2016

Trying to write elisp code to select inner WORD as achieved by viW normal mode keystrokes


I frequently use this key sequence: 'viW*' (without the quotes)

I'd like to write a short function that achieves this so that I can map it to a single key in evil-normal-state-map, something like

  (defun guivho-viW-star()
    "Visual select inner WORD and search for it"

I've looked up what is called by 'v', and it claims to be defined in evil-states-el, but I don't find it there. It claims to be defined as

(evil-visual-char &optional MARK POINT TYPE MESSAGE)

but I don/t know how to express the 'iW' part in that signature.

Please advise,



implementations-list mailing list
implementations-list <at>
Shiyao Ma | 25 Jan 07:30 2016

Prefer evil-normal-state-local-map or evil-define-key evil-normal-state-map ?


I've read the comments at evil-core.el.

I'd like to add my custom key bindings when inside org-mode.
Two possible methods are:
1. use evil-normal-state-map

2. evil-define-key evil-normal-state-map

I see many people use method 2, but I think method 1 is more semantically preferrable.

So my question is, regarding my purpose, which method is better (not functionality-wise, but just best practice) ?



implementations-list mailing list
implementations-list <at>
York Zhao | 9 Nov 02:05 2015

Git repository

Hi list,

I've been waiting for a long time since Gitorious went die, but Evil's Git
repository never comes back. I'm aware that there's a hg repository at Bitbucket
maintained by Frank, is that the official repository now? I would hope that's
not because I don't really want to learn hg.

Personally, I think moving to GitHub would be nice. However, if switching to hg
has been the decision, can Frank or anyone please share some information about
using git locally with remote hg repository?


implementations-list mailing list
implementations-list <at>
William Xu | 19 Sep 21:00 2015

rebind keys to *-visual-line if visual-line-mode is enabled


When visual-line-mode is enabled, those emacs movement/deletions/.. keys will
operate on visual line automatically.  e.g, C-a to the beginning of visual line;
C-k will kill current visual line.

In evil-mode, why do we need additional keys to do that?  Like g0, and dd will
still kill the logical line, not visual line.  Can we have the same behavior as
emacs keys?
Alexander Shukaev | 20 Jul 17:09 2015

Deny keymap changes made by `evil-integration'


`evil-integration' has quite some forms like

(eval-after-load 'dired
     ;; use the standard Dired bindings as a base
     (defvar dired-mode-map)
     (evil-make-overriding-map dired-mode-map 'normal)
     (evil-add-hjkl-bindings dired-mode-map 'normal
       "J" 'dired-goto-file                   ; "j"
       "K" 'dired-do-kill-lines               ; "k"
       "r" 'dired-do-redisplay                ; "l"
       ;; ":d", ":v", ":s", ":e"
       ";" (lookup-key dired-mode-map ":"))))

for various packages.  I would like to learn how to either revert
these changes back to the default state (i.e. `dired-mode-map' should
be crystal clean as it was before loading `evil') or, even better,
prevent `evil-integration' from doing such changes.  For instance,
I've tried

(let ((dired-mode-map))
  (require 'evil)

and it didn't work.  Any ideas?

P.S.: My personal opinion is that such intrusive (and silent) changes
to the default settings should be avoided by default.  In other words,
I have nothing against having an option to turn these on, but there
surely must be a simple Boolean option to turn such default
modifications off.

Kind regards,
RW. S | 28 Jun 15:45 2015

evil-cross-lines act like evil-find-skip-newlines

Not that it's necessarily related to the question but context is that
I'm new to emacs (and therefore also evil-mode), but not too new to
vim (a few years).

Question is, is there a way to get f, F, t, T to skip newlines to find
a character, but without making h and l to cross lines?
`evil-cross-lines` does both (i.e. it *does* make h and l cross
lines), but I only want the former, without the latter. I suppose
`evil-find-skip-newlines` as I read in the documentation is what I
want (and why I hope it's possible), but the option seems to be taken
away now.


Also try contacting on twitter  <at> xd1le if no response.
jenia.ivlev | 3 Jun 06:40 2015

add marker to evil-jump-list before executing arbitrary function


I want to be able to jump back, using C-o, to the position where I execute
I have wrote this small program:

  (defun ggtags-go-to-definition ()
    (let ((current-pos (make-marker)))
      (add-to-list 'evil-jump-list current-pos)
      (ggtags-find-tag-dwim (thing-at-point 'symbol))))

But it gives me the error "Marker does not point anywhere".

Can someone please tell me, how do I write this program correctly? That
is, I want to store the position before executing `ggtags...` and then
be able to jump back (using "C-o" a.k.a "evil-jump-back").

Thanks in advance for your kind help.
LiuXiaogang | 24 May 04:35 2015

Last matching text was not replaced by %s


I isntalled evil-mode version 20150511.146 from melpa yesterday. I tried the following command line


As you can see from the attached picture, the last match was not highlighted (and not replaced when I hit Enter). I have haskell-mode installed and was editing a simple haskell file. Below is the source code. The green text was the one missed by the command.

getLines :: (Num a) => [String] -> a -> [String]
getLines [] n = []
getLines xs <at> (x:_) n
  | length xs < n = [] -- Ignore remainder
  | otherwise     = (get-line (take n xs)) : (getLines (drop n xs))

get-line :: [String] -> String
get-line [] = "\n"
get-line (x:xs) = (show x) + "," + (get-line xs)

Best regards,

implementations-list mailing list
implementations-list <at>
William Hatch | 28 Apr 05:26 2015

weird behavior with evil visual

Hello, I hope this is the right list for this.

I just made an emacs plugin to repeat motions -- I just wrap motion 
functions into a new repeatable version.  Upon initial testing it worked 
great, but when used in evil-mode with operators or in visual state I get 
weird one-off behavior.  For example, in normal state my 
repeatable-evil-find-char goes to the desired character, but in 
operator-pending state or visual state it goes to one character before 
that.  My repeatable-evil-find-char-to goes to the character before the 
target character in normal state, but two characters before it in visual or 
operator state.  Also my repeatable-evil-next-line doesn't work at all in 
visual line state.  Can anyone point me to why this might be happening?  
I'm aware that there is a macro in evil called evil-define-motion, but I 
haven't had time to read through and understand it all, so I thought a 
quick probe on a mailing list might save me a lot of time if I were barking 
up the wrong tree.

The source of my plugin is here:

Thanks is advance for any advice.
Nancy Polar | 14 Apr 11:10 2015

Spam: Re: Finance Your Project

Att: Sir/Madam,
We are private investors specializing in  Joint Venture Partnership/Equity contributions/loans for project of various types to help individuals and organization reach their financial objectives. We customize structured financial solutions for a select group of clientele and investors. Our commitment to client services and innovative approach to financial problem solving.
If you are interested in our services, kindly provide us with the following information:
    * Name of Applicant: ..........
    * Company name: ...............
    * Address/Location: ...........
    * Tel: ........................
    * Amount Requested: ...........(If JV/Loan)
    * Finance Duration: ...........
    * Project name: ...............
Nancy Polar
Secretary to Adam Golding (Private Investor)
This email is intended for the addressee(s) only, and may contain confidential or privileged information. Unauthorised use of this information, or distribution, copying or other dissemination is strictly prohibited. If you have received this email in error, please delete it immediately.

implementations-list mailing list
implementations-list <at>
Frank Fischer | 8 Apr 23:29 2015

[ANN] Evil version 1.1.0 released

Evil version 1.1.0 has been released.

This is the long waited new stable release of Evil, which is just the
current development (master) branch. The new release contains many
changes and bug fixes that accumulated over the past few months. Because
most users have been using the development branch anyway it should be
reasonably stable (plus it is probably the better choice for Emacs 24.3
and above due to some nasty bugs on the old stable release).

The stable version can be installed from MELPA stable [1].
The latest development version is available from MELPA [2].

Enjoy, the Evil developers.