bind <tab> to vimpulse-abbrev-expand-before in insert mode

Vegard Øye vegard_oye at
Sat Dec 18 17:31:55 CET 2010

On 2010-12-17 18:23, Titus von der Malsburg wrote:

>>>   (vimpulse-imap [(tab)] 'vimpulse-abbrev-expand-before)
>>> But when I press tab in insert mode after evaluating this nothing
>>> happens.  I'm was running emacs -nw.   The strange thing is that it
>>> does work when I run emacs with the graphical user interface (GNU
>>> Emacs 23.1.1 from Ubuntu lucid).

Hi Titus, welcome to the list!

In the terminal, C-i and <tab> are the same key, and any binding for
the former has precedence over the latter -- regardless of keymap
order. Since indent.el binds `indent-for-tab-command' to C-i, any
binding you make for <tab> is overridden. This should work:

    (vimpulse-imap "\C-i" 'vimpulse-abbrev-expand-before)

>>> The other problem I'm having is that C-v does not activate block
>>> selection but inserts text.  I'd be happy about any suggestion!
> C-h c C-v says "C-v runs the command cua-paste"

It seems that Cua-mode and Vimpulse fight over priority in `
`emulation-mode-map-alists'. This should be fixed in commit d21311d.

>>> Here's my init.el, not much going on there:
>>>   (load "~/.emacs.d/vimpulse.el")

To get the latest bugfixes, you should upgrade to the Git version.
In the ~/.emacs.d/ directory, do

    git clone git://

(If Git isn't installed, do "sudo aptitude install git-all" first.
Later on, you can grab updates by cd-ing into ~/.emacs.d/vimpulse/
and entering "git pull".) Also, add ~/.emacs.d/vimpulse/ to
`load-path' by placing this line in your .emacs:

    (add-to-list 'load-path "~/.emacs.d/vimpulse")

Then, for good measure, nail the old vimpulse.el to a frisbee and
fling it over a rainbow.


More information about the implementations-list mailing list