When I switched to Emacs from Vim, I really loved the extensibility of Emacs. But compared with Vim, Emacs still feels somewhat sluggish. Especially when I moved my pointer/cursor around, and typing something.It's still my biggest issue with Emacs. Every time when I try Vim again, then I know again why I like to be inside Vim. It feels so snappy.

Now it seems there is a proof about my experiences with Emacs as not being so snappy:


I assume the latency has something to do with the font locking and Elisp in Emacs? This is a general question, not to be specific to a culprit. Emacs in overall feels less 'snappier' than Vim.

Is there any suitable approach to make Emacs more 'snappier'? Like if we could compile our extensive dot-Emacs into a compiled version of personal customized emacs in binary code? Would that make Emacs feel snappy? Or are there another ways to make Emacs feeling more 'snappy' like with Vim?

I use Xubuntu 16.04 on SSD with GUI Emacs version 25.1

  • 9
    The question is too broad. Are you using a VI/VIM emulation in Emacs? What else are you using? Can you provide a recipe, starting from emacs -Q? There are a zillion things that make Emacs slower or faster. You tagged font-lock - does that mean that if you turn off font-lock-mode then your problem disappears? What's the relation of font locking to your problem? Please make your question narrow and self-contained - it should not be a quest for general performance improvements, and it should not require analysis of a blog.
    – Drew
    Apr 25 '16 at 18:06
  • 3
    Viewed another way, without an objective way to define "snappiness" it's pretty difficult to determine what you're asking. I personally consider Emacs to be very snappy. What, exactly, are you not happy with?
    – PythonNut
    Apr 25 '16 at 20:04
  • 4
    I think that you can narrow down the question by figuring out which major modes bother you with the lack of snappiness. In this case, it looks like PHP-mode. I don't code in PHP, so I cannot comment on the presence or lack of snappiness. But then to help corroborate your observation, post something that can be reproduced by others: post an example file + post a minimum emacs configuration with which you start seeing the issue. Apr 25 '16 at 20:43
  • 1
    There are certainly ways to make Emacs less snappy and hence, reversing any of them makes it snappier. So, like other said before, it really depends on your setup. If "snappiness" is more important to you than functionality, you should start by getting rid of any package that tinkers with your input on the fly (e.g. fill mode, babel mode, ...) and activate them manually Apr 26 '16 at 3:19
  • 1
    This a very specific question, contrary to opinion of others. The answer is to use profiling in Emacs, that should pinpoint the issue and eventually lead to solution: gnu.org/software/emacs/manual/html_node/elisp/Profiling.html More info does not fit in this box, sadly. Apr 27 '16 at 14:52