Visual Studio and .NET Framework Home
Emacs keyboard mapping scheme not working in Visual Studio 2010 Beta 1.
as Won't Fix
6/9/2009 3:42:44 PM
User(s) can reproduce this bug
I set the keyboard mapping scheme to "Emacs" and clicked "OK" and none of the keyboard shortcuts seem to work.
The default functionality of the shorcuts does seem to be disabled.
With the Emacs keyboard mapping scheme Ctrl+P should move to the previous line;
With the default keyboard mapping scheme Ctrl+P opens the print dialog.
The observed behavior is that with the Emacs keyboard mapping scheme, Ctrl+P doesn't do anything.
Visual Studio Team System 2010 Beta 1
Operating System Language
Steps to Reproduce
1. Open a document in the text editor (observed with .cs files).
2. Use the keyboard shortcut Ctrl+P to see that the print dialog opens.
3. Cancel the print dialog.
4. In Tools > Options > Environment > Keyboard, change the drop-down list under the label "Apply the following additional keyboard mapping scheme:" to the option "Emacs".
5. Click the "OK" button.
6. Use the keyboard shortcut Ctrl+P.
The cursor moves to the line above the line I am currently editing.
TAP Code (if applicable)
You can indicate your satisfaction with how Microsoft handled this issue by completing this quick
3 question survey
to post a comment.
Please enter a comment.
on 9/1/2010 at 11:29 AM
Thanks for your feedback about the absence of Emacs emulations from Visual Studio 2010. I'm writing to let you know that although emulations aren't built into VS 2010, we just released a free Emacs Emulation extension today. It should re-enable the keybindings you're familiar with from earlier versions of Visual Studio.
More details about the extension and its functionality are available on the Visual Studio Blog at http://blogs.msdn.com/b/visualstudio/archive/2010/09/01/emacs-emulation-extension-now-available.aspx. You can also download the Emacs Emulation extension directly from the Visual Studio Gallery at http://visualstudiogallery.msdn.microsoft.com/en-us/09dc58c4-6f47-413a-9176-742be7463f92.
Once again, thank you for your feedback. In fact, this extension was created largely in response to reports like this. If you have general questions or comments about Emacs Emulation, feel free to post them here or in the comments section of the VS Blog post listed above. If you find a specific bug in Emacs Emulation, please *file a new Connect bug* so we can investigate in more detail.
Thank you again,
Program Manager, Visual Studio Editor
on 6/23/2010 at 12:12 AM
I appreciate MS's reply, and understand that in this case, the UI was not sufficiently isolated to provide easy porting of previous code. However, I suggest that Emacs emulation should have been a priority when the new design was proposed, and should have been part of the effort from that start rather than an afterthought. As has been pointed out already, many -experienced- programmers have put in years of programming on various platforms, and Emacs is the common denominator for editor key mapping. Keystrokes are committed to reflex.
If MS had available key mapping that allowed quick touch typing without requiring a change of hand position to cursor keys, that would at least have helped to bridge the gap. But that's not the case. Why have control key combos for doing things like file save, but not for simple cursor moves and character deletes?
The point made by another experienced programmer is also relevant: You're abandoning a feature based on a very misleading stat. If every feature not used by a majority were cut, there would be very little left (how many programmers -needed- the port to WPF?). But in this case, it's a feature used primarily by productive programmers who are helping to develop products for MS platforms.
Last: The reply from Microsoft indicates that this will be reincorporated in a future rev. However, the status of this post is "Closed: Will not fix." Which is it?
on 4/23/2010 at 8:50 AM
I agree wholeheartedly with JohnJCodewriter - As a very heavy VS user this is going to be very painful without Emacs bindings. One issue I'm finding with the release version is that the END key switches tabs instead of bringing my to the end of a line. Again the keybinding is possible the most important feature for me being productive, I can do without a lot of the more automatic features if my bindings were simply kept.
on 3/19/2010 at 8:59 AM
I gotta agree with everyone here Brief and Emacs support is very important to the hard core users.
If it's not there you will lose people.
This is one of my biggest beefs with XCode on the mac, apple thinks they know how you like to interact with a computer so they only give you one option. In the world of power users, especially coders options are king.
on 3/7/2010 at 5:56 AM
I use Emacs key binding everyday.Please bring it back as soon as possible.I can't live without it.As I know,the guys who use Emacs key binding are all senior developers.This is a VERY VERY IMPORTANT feature for them!
on 2/27/2010 at 7:51 AM
On MSDN forums Microsoft says Emacs emulation has relatively small user base (usage data suggests <5% of VS users).
I had to comment about this. All programmers are not created equal. A lot of VS users are beginners dabbling in Visual Basic -- Morts. Do they care if Emacs emulation is no longer supported? Probably not. Then there are hard-core programmers, the Einsteins. These are the programmers that create dazzling software and keep Windows relevant in the face of competition from Mac OS X, Linux etc. From the point of view of overall Visual Studio unit sales Morts and Einsteins are equal, but from the point of view of Windows platform the Einsteins are waaaay more important than the Morts. You need to keep the Einsteins happy or else they will switch to developing iPhone apps. And among Einsteins you'll see that Emacs emulation usage is probably closer to 30% to 40% instead of 5%.
If you care about Einsteins don't dumb down Visual Studio. Bring back Emacs emulation. If you care about Windows platform and not just VS unit sales then bring back Emacs emulation.
on 2/24/2010 at 7:51 AM
I'm having problems writing this without gratuitous amounts of french. The keyboard scheme for Emacs is really deep in my muscle memory, please bring it back. I'd gladly pay for it!
on 2/18/2010 at 8:22 AM
So the editor has been completely rewritten in WPF. As a user how did I benefit from that? Visual Studio got an Avatar-esque blue colored skin. That's not a feature I care about. Now count how many ways I lose as a user. My beautiful, hand-tuned bitmapped font no longer works. I can almost live with that. But lose Emacs key binding? I can't live with that. You have essentially turned Visual Studio into Notepad. Please bring back Emacs key binding, or make it possible to use .NET 4.0 in Visual Studio 2008.
on 1/25/2010 at 1:17 PM
Thanks to everyone who has commented on this or voted for it. Regarding Stringtheory's question about code reusability within Visual Studio, we typically can and do reuse code across versions of Visual Studio, as you'd expect. However, when multiple core components of the product are rewritten (for VS 2010, this includes the editor and the shell), not everything from previous versions will continue to work. Keyboard emulations were one of the areas that couldn't be ported forward in the time available.
The fact unfortunately remains that we won't be able to squeeze this in before VS 2010 RTM. However, we do understand that many of you use either/both the Emacs and Brief emulations, and we're looking into options for bringing back this functionality. As mentioned in my previous reply, these options could include releasing an add-on or extension, partnering with third parties to provide these emulations, or reimplementing them for a future release.
on 1/20/2010 at 9:34 AM
It is disappointing to see that Emacs bindings are gone once again. Something like this seems to happen with most new revs.
Isn't there a goal of code reusability within the code for the dev tools themselves? Why would Emacs bindings present such a problem that the option would need to be removed due to change to WPF?
Many of us are looking for this to be fixed as soon as possible.
on 1/14/2010 at 10:18 PM
I also use the emacs key bindings daily and am finding it difficult to navigate without them. Please add them as soon as possible. Thanks!
on 12/20/2009 at 10:04 PM
The Brief emulation is gone as well. Please bring back Emacs AND Brief keyboard emulation!
on 12/10/2009 at 5:56 PM
Please bring emacs keybindings back as soon as possible. Lack of them renders Visual Studio 2010 impossible to use for me.
on 6/21/2009 at 12:43 PM
on 6/17/2009 at 12:24 AM
The short answer is that Emacs emulation is not available for VS 2010, and the keyboard option you mention should not be there. We have an existing bug tracking the removal of that option.
The longer, more official answer: As you likely know, the Visual Studio editor has been completely rewritten in WPF for VS 2010. Our goal with rebuilding the editor is to deliver an even better user experience by modernizing the IDE, extending it to encompass the most requested new features, and making extensibility simpler and more powerful. Unfortunately, the current release schedule is tight, and we will not have time to implement Emacs emulation support in this product cycle. In many cases we’re going to release add-ons to Visual Studio that provide functionality not available out of the box, in others we’re partnering closely with third-party companies to deliver more features, and in some we’re planning to provide them in later releases. We want the Visual Studio experience to be outstanding, but given where we are in the product cycle, I can’t give any more details on the exact plans for emulation support.
Thanks for trying VS 2010 Beta1 and sending your feedback.
Program Manager, VS Platform
on 6/12/2009 at 2:51 AM
Thanks for your feedback. We are escalating this bug to the product unit who works on that specific feature area. The team will review this issue and make a decision on whether they will fix it or not for the next release.
Visual Studio Product Team
to post a workaround.
Please enter a workaround.
on 9/1/2010 at 12:52 PM
I just got an e-mail from Microsoft Connect that says they have released a free extension that will add Emacs Emulation!
Here is the blog post:
and here is the download link:
on 5/20/2010 at 9:16 AM
A lot of the keys you can simply reassign, for example set Edit.CharLeft to "C-b" and Edit.CharRight to "C-f", rather than using Edit.EmacsCharLeft and Edit.EmacsCharRight, which are still present but unused (or don't seem to work even if you manually set them in the Keyboard options.
on 3/11/2010 at 8:09 AM
What I do is use XKeymacs to emulate Emacs Keybindings. It is a little tedious to set up but it works in other applications as well.
© 2013 Microsoft