Emmet and Autocomplete tab expansive problems


When I hit tab on div.menu, it expands html elements instead of emmet expansions…

I’ve tried these fixes I’ve seen all over the internet about editing the keymap.cson, but that doesn’t work.
I also have ‘emmet-snippets-compatibility’ package but it doesn’t help this issue.

Could someone explain to me why emmet and autocomplete works so seamlessly in Sublime Text but has all these issues in Atom? What’s different in Atom? (I’m new and still learning the ropes). Please let me know how I can fix this little annoying issue. Thanks!


emmet seems to have multiple keybindings for expanding abbreviations. Try ctrl-e and see if it does what you want. You can also look at the Keybinding Resolver (Packages -> Keybinding Resolver -> Toggle) when you press a key and it will show you all of the commands found for that key as well as the order of priority.

I just turned on emmet and tested. When I type div.menu and press tab, the result is <div class="menu"></div>.

If you share your keymap as well as the output from the Keybinding Resolver package when you try to use the new keybinding, we can help you troubleshoot this.

Could someone explain to me why emmet and autocomplete works so seamlessly in Sublime Text but has all these issues in Atom? What’s different in Atom?

I don’t yet know why emmet isn’t behaving for you (especially since it does for me), but this set of questions is relevant generally. Atom is a free and open-source piece of software, while Sublime Text is a product you have to pay for. It’s great that GitHub is putting as much effort as they are into giving us this program to use, but working on Atom is not how the developers pay the bills, so they have to limit their time to the parts most central to the goal of the project. The rest of Atom’s functionality is provided by the community, and a lot of packages are very high-quality, but you’re going to have things like functionality conflicts and weird side-effects that will need troubleshooting.


So, ctrl-e works, but tab still expands and not the div with the class on menu, I’m super confused why tab would be working with your emmet and not mine :confused: But, I guess if I’m using generic class names I’ll just use ctrl-e! Not too big of a deal…

I don’t have any custom keymap on… I tried the random fixes I saw on the internet that but when they never worked I just removed them from the keymap. So my cson file is untouched.

Thanks for the info! I’ll just let this one go I guess.


And one of the most common reasons why a CSON entry is reported as not working is that it was entered incorrectly, hence my wanting to see the file itself instead of being told about what’s in it.

The results of the Keybinding Resolver might also tell us something we don’t know.


I figured it out. I have a package called “emmet-snippets-compatibility”. Because when I was trying to use my “go” snippet, it would literally just make < go > < /go >, instead of my HTML boilerplate snippet.

This package fixed that, but now it’s getting in the way when I actually need to use useful snippets -.-, go figure!

Can you offer some insights as to what I could do from here? Or should I except my fate and learn to live with it. What do you do to get around snippers not working with emmet that doesn’t effect anything else?

I appreciate your help!

PS, this is the keybinding resolver for ‘tab’, this is with emmet-snippet-compatibility enabled.


Atom gives packages very broad leeway. They can conflict with one another, and it’s up to the user to mediate and decide which packages they want.

In general, if you have two packages you want to use and their keybindings conflict with each other, you should consider rearranging the keybindings.