Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

keymando-vim

This Keymando plugin adds a Vim-like editing mode everywhere (with a few apps excluded). To try it out, open TextEdit and play with it.

It's still pretty rough at the moment -- most edge cases aren't handled properly. Pasting in particular is not properly working yet.

Installation

Grab it with Mercurial or Git:

hg clone http://bitbucket.org/sjl/keymando-vim "~/Library/Application Support/Keymando/Plugins/vim"
git clone http://github.org/sjl/keymando-vim.git "~/Library/Application Support/Keymando/Plugins/vim"

Reload your Keymando config. You're now in normal mode.

Current Features

Keymando-vim has several modes, each with their own bindings (just like Vim).

Note: until keymando-vim hits 1.0.0 everything is subject to change in lots of backwards-incompatible ways. Use it at your own risk.

Any Mode

<M-Esc> - Toggle keymando-vim off and on.  Requires `growlnotify` for alerts.

Insert Mode

<Esc> - Switch to normal mode.
<C-[> - Switch to normal mode.

Normal Mode

h/j/k/l - Left/down/up/right.

w - Move one word forward.
b - Move one word back.
e - Move to the next "end of word".
0 - Move to the beginning of the line.

i - Enter insert mode here.
a - Enter insert mode after the character to the right of the cursor.
A - Move to the end of the line and enter insert mode.
I - Move to the beginning of the line and enter insert mode.
o - Add a new line below this one and enter insert mode in it.
O - Add a new line above this one and enter insert mode in it.

d<text object> - Delete the given text object.
c<text object> - Delete the given text object.

dd - Delete the current line.
cc - Remove all text on the current line and enter insert mode in it.

p - Paste the cut line after the current one.
P - Paste the cut line before the current one.

u     - Undo.
<C-r> - Redo.

x - Delete the character to the right of the cursor.
s - Delete the character to the right of the cursor and enter insert mode.

Text Objects

w - From the cursor to next "word beginning".
b - From the cursor backwards to the previous "word beginning".

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.