I have been using vim for forever and I have dabbled in using emacs throughout the years. Emacs with the evil mode bindings is very comfortable, and I prefer org-mode over markdown (at least for the type of notes I do).
The main thing that stops me from using emacs though is how bloated it is. I don’t want the games, web browser, email client, etc. Is there a way to remove those features from a standard install or from source?
Edit: I guess I’ll stick with vim for now. It looks like Neovim might be more what I’m looking for instead of Emacs
The majority of those features are written as elisp libraries. They’re only loaded if you use them. Unless you’re concerned with disk space (why? Disk space is cheap), they aren’t the source of your bloat.
The features that are built-in can be changed via the configure script, assuming you don’t mind compiling Emacs.
If Emacs feels sluggish, then you’re probably loading unnecessary things in your init.el. Or you’re on Windows and your virus scanner is fighting with it (that happens to me on my work laptop with Trend Micro).
Edit: org-mode is fairly large and can take a bit to load the first time. Could that be what you’re experiencing?
@spauldo @moonsnotreal what do you say to load everything from dotemacs ? :D
I load most things I use in my init.el. I’m not worried about startup times because I rarely restart Emacs.
Edit: org-mode is fairly large and can take a bit to load the first time.
If you use native compilation, even org-mode flies.
Assuming you’re on UNIX and have relatively new hardware, sure. On my Haswell-based Xeon setup at home (built in 2014, runs a Debian variant) you get a second or two delay. On my Xeon-based Dell work laptop (bought in 2018, runs Windows with WSL1), it’s about the same. Both use native compilation.
org-mode is a beast.
It’s not a problem of emacs being slow, I just really dislike the clutter. Thanks for letting me know about the config script!
I should have clarified - the configure script is only for stuff built in to the C source code. It won’t get rid of the games and whatnot, but remove support for things like sound, graphics formats, bignums, etc.
I suppose you could try deleting stuff out of /usr/share/emacs, but I wouldn’t recommend it.
Huh. I’ll try the fork that someone else suggested then.
If you’re talking about Microemacs, it’s not a fork. It’s unrelated to GNU Emacs. The name Emacs has a long twisted history going back to PDP-10 machines so you’ll find various text editors with “Emacs” in their name.
The only active fork of GNU Emacs I know of off the top of my head is Remacs, which is a project to replace the C code in Emacs with Rust. It’s probably not what you’re looking for.
Honestly, I think you’re overestimating the impact of the “bloat” in Emacs. Emacs starts up with a very minimal set of features (compared to what is available) and doesn’t really push any of that on you. If you turn off the menu bar (which I don’t recommend), you’d have to search for it intentionally to find it.
Bear in mind that GNU Emacs is not a text editor. GNU Emacs has a text editor. It’s a platform for Lisp applications. The text editor is just what you get by default when you don’t ask for anything else.
I tried Emacs six times before liking it. The time it stuck was when I was editing some code in a language where the include/import statements almost matched the directory structure in the filesystem, but didn’t. So, in Vim, I could cursor over an include statement, type
gf
… and not quite be able to instantly open up the included file. The waygf
worked was that it was written in C as part of Vim, and to tell it where to look was a matter of configuration. But I needed a bit of code instead, to make up a couple of places in the filesystem to look on the fly, when I wanted tofind-file-at-point
(the Emacs term for Vim’sgf
functionality). Not only wasfind-file-at-point
written in Elisp, but it already had a place where you could hook some custom code in, and documentation about how to do it. The documentation was available inside the editor (as you might expect from using Vim’s :help), but it also had a link straight to the Elisp source. I was able to try out my function, change, and try again without restarting Emacs, and debug it step-by-step usingedebug
.Anyway - have fun with Neovim. I hear it’s spiffy. :)
Jasspa microemacs? No unicode support though AFAIK and no real development anymore…
Does microemacs even support org?
Ha, probably not. It has a macro language (not lisp, but Turing complete AFAIK) with language bindings, syntax highlighting & customizable indentation… to be honest I never got into emacs, so I don’t even really know what org mode is :).