Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
November 12, 2019 20:34
December 16, 2012 18:20
December 16, 2012 18:20


You know Readline key bindings? Of course you do, they're in your shell, your REPL, and perhaps even the GUI for your OS. They're similar to Emacs key bindings (C-a for home), but with several concessions for UNIX (C-w for delete word).

With rsi.vim, I've taken that same concession philosophy and extended it to Vim. Get the most useful of the ubiquitous key bindings without blindly overriding built-in Vim functionality.


  • Readline mappings are provided in insert mode and command line mode. Normal mode is deliberately omitted.
  • Important Vim key bindings (like insert mode's C-n and C-p completion) are not overridden.
  • Meta key bindings are provided in a way that works in the terminal without the perils of remapping escape.
  • C-d, C-e, and C-f are mapped such that they perform the Readline behavior in the middle of the line and the Vim behavior at the end. (Think about it.)


If you don't have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:

cd ~/.vim/bundle
git clone git://

Once help tags have been generated, you can view the manual with :help rsi.


See the contribution guidelines for pathogen.vim.


Like rsi.vim? Follow the repository on GitHub and vote for it on And if you're feeling especially charitable, follow tpope on Twitter and GitHub.


Copyright © Tim Pope. Distributed under the same terms as Vim itself. See :help license.