zero's a life

An extra chance.

Setting Up Emacs-like Key Bindings in MonoDevelop

| Comments

I’m playing around with Unity to try to learn how it works. Shout out to Infinite Ammo for the excellent video tutorials.

Since I don’t know much about Unity, I’m reluctantly using their included MonoDevelop IDE. While I’d heard that Emacs-like key bindings were included, in the build I installed they weren’t present.

MonoDevelop does not make it easy to import new key binding schemes (the blog post linked here suggests submitting a bug report to propose new key bindings…). So, I did a little digging around on github and found the default emacs key binding scheme that I imagine should have been included in the MonoDevelop build I installed.

There was no way to add this key binding scheme to my available key bindings in MonoDevelop, so I hacked my Custom key binding file located at ~/Library/MonoDevelop-Unity-4.0/KeyBindings/Custom.mac-kb.xml.

I started with some simple copypasta. But then I found some useful navigation features were lacking. So, I added key binds that immediately came to mind, like Alt-f for moving forward one word and Alt-b for backward word. Yes, I know these are M-f in Emacs, but I’m using MonoDevelop’s syntax here.

My key bindings are available in the gist below. I’ll update this gist when I add key bindings, to keep a current working version available.